Skip to content
GitLab
Erkunden
Anmelden
Registrieren
Primärnavigation
Suchen oder aufrufen …
Projekt
Menu
Verwalten
Aktivität
Mitglieder
Labels
Planen
Tickets
12
Ticketübersichten
Meilensteine
Wiki
Code
Merge Requests
0
Repository
Branch
Commits
Tags
Repository-Diagramm
Revisionen vergleichen
Build
Pipelines
Aufgaben
Pipeline-Zeitpläne
Artefakte
Bereitstellung
Releases
Betreiben
Umgebungen
Überwachen
Vorfälle
Service-Desk
Analysieren
Wertschöpfungskettenanalyse
Mitwirkenden-Analyse
CI/CD-Analyse
Repository-Analysen
Hilfe
Hilfe
Support
GitLab-Dokumentation
GitLab-Pläne vergleichen
Community-Forum
Zu GitLab beitragen
Feedback geben
Tastenkürzel
?
Code-Schnipsel
Gruppen
Projekte
Show more breadcrumbs
QUIQQER
Menu
Commits
8c011fb7
Commit
8c011fb7
erstellt
vor 2 Jahren
von
Michael Danielczok
Dateien durchsuchen
Optionen
Downloads
Einfaches Diff
Merge branch 'dev'
Übergeordnete
4a458cbc
23d5beb1
No related branches found
No related tags found
2 Merge Requests
!19
Dev
,
!18
Feat menu manager improvement
Änderungen
2
Leerzeichenänderungen ausblenden
Inline
Nebeneinander
2 geänderte Dateien
README.md
+13
-3
13 Ergänzungen, 3 Löschungen
README.md
bin/Controls/NavTabs.js
+30
-4
30 Ergänzungen, 4 Löschungen
bin/Controls/NavTabs.js
werden angezeigt
mit
43 Ergänzungen
und
7 Löschungen
README.md
+
13
−
3
Zeige Datei @
8c011fb7
...
...
@@ -4,7 +4,7 @@
QUIQQER Menu
========
The Plugin menu provides various menu controls.
The Plugin menu provides various menu controls.
Package name:
...
...
@@ -41,9 +41,9 @@ Contribution
Support
-------
Falls Sie Fehler gefunden, Wünsche oder Verbesserungsvorschläge haben,
Falls Sie Fehler gefunden, Wünsche oder Verbesserungsvorschläge haben,
können Sie uns gern per Mail an support@pcsg.de darüber informieren.
Wir werden versuchen auf Ihre Wünsche einzugehen bzw. diese an die zuständigen Entwickler
Wir werden versuchen auf Ihre Wünsche einzugehen bzw. diese an die zuständigen Entwickler
des Projektes weiterleiten.
...
...
@@ -112,4 +112,14 @@ $Menu->appendHTML(
data-qui-options-touch=0
data-qui-options-buttonids=mobileMenu
}
```
**NavTabs and NavTabsVertical - auto open and scroll to element**
Every nav tab content has an url conform ID (title, it comes from brick entries).
You can use it to target and auto open this element. Simply place
`#open_`
before your title in the url.
The page will be scrolled to the element if it is not in viewport.
```
html
<a
href=
"www.example.com/subpage#open_myTarget"
>
Open "myTarget" element
</a>
```
\ No newline at end of file
This diff is collapsed.
Zum Erweitern klicken.
bin/Controls/NavTabs.js
+
30
−
4
Zeige Datei @
8c011fb7
/**
* Navigation tabs control
*
* Every nav tab content has an url conform ID (title, it comes from brick entries).
* You can use it to target and auto open this element. Simply place `#open_` before your title in the url.
* The page will be scrolled to the element if it is not in viewport.
*
* Example: <a href="www.example.com/subpage#open_myTarget">Open "myTarget" element</a>
*
* @module package/quiqqer/menu/bin/Controls/NavTabs
* @author www.pcsg.de (Michael Danielczok)
*/
...
...
@@ -70,12 +76,17 @@ define('package/quiqqer/menu/bin/Controls/NavTabs', [
let
queryString
=
window
.
location
.
hash
;
if
(
queryString
)
{
queryString
=
decodeURI
(
queryString
);
const
NavTabItem
=
this
.
navTab
.
querySelector
(
'
[href="
'
+
queryString
+
'
"]
'
);
const
target
=
queryString
.
substr
(
1
);
if
(
queryString
&&
queryString
.
substr
(
0
,
6
)
===
'
#open_
'
)
{
const
target
=
decodeURI
(
queryString
.
substr
(
6
));
const
NavTabItem
=
this
.
navTab
.
querySelector
(
'
[href="#
'
+
target
+
'
"]
'
);
if
(
NavTabItem
)
{
if
(
!
this
.
$isInViewport
(
Elm
))
{
new
Fx
.
Scroll
(
window
,
{
duration
:
500
}).
toElement
(
Elm
);
}
self
.
$setNavItemPos
(
NavTabItem
.
parentElement
);
self
.
toggle
(
NavTabItem
.
parentElement
,
target
);
}
...
...
@@ -302,6 +313,21 @@ define('package/quiqqer/menu/bin/Controls/NavTabs', [
marginLeft
=
window
.
getComputedStyle
(
Item
,
null
).
getPropertyValue
(
'
padding-left
'
);
new
Fx
.
Scroll
(
this
.
navTab
).
start
(
Item
.
offsetLeft
-
parseInt
(
paddingLeft
)
-
parseInt
(
marginLeft
),
0
);
},
/**
* Check if element is in viewport
* @param element
* @return {boolean}
*/
$isInViewport
:
function
(
element
)
{
const
rect
=
element
.
getBoundingClientRect
();
return
(
rect
.
top
>=
0
&&
rect
.
left
>=
0
&&
rect
.
bottom
<=
(
window
.
innerHeight
||
document
.
documentElement
.
clientHeight
)
&&
rect
.
right
<=
(
window
.
innerWidth
||
document
.
documentElement
.
clientWidth
)
);
}
});
});
\ No newline at end of file
This diff is collapsed.
Zum Erweitern klicken.
Vorschau
0%
Wiederholen
oder
Neue Datei anhängen
.
Abbrechen
You are about to add
0
people
to the discussion. Proceed with caution.
Bearbeitung dieser Nachricht zuerst beenden!
Kommentar speichern
Abbrechen
Bitte
registrieren
oder
Anmelden
zum Kommentieren