@tekkare/romulus 0.1.233 → 0.1.234
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/module.json
CHANGED
|
@@ -59,6 +59,13 @@ const props = withDefaults(defineProps<{
|
|
|
59
59
|
open?: boolean
|
|
60
60
|
collapseLabel?: string
|
|
61
61
|
expandLabel?: string
|
|
62
|
+
/**
|
|
63
|
+
* true : toutes les sections repliables arrivent deployees, et restent
|
|
64
|
+
* repliables au clic. Pour une app dont la navigation est courte, ou le
|
|
65
|
+
* lecteur veut voir d'emblee tout ce qui est offert sans deplier groupe par
|
|
66
|
+
* groupe.
|
|
67
|
+
*/
|
|
68
|
+
defaultOpen?: boolean
|
|
62
69
|
}>(), {
|
|
63
70
|
flag: undefined,
|
|
64
71
|
titleTo: undefined,
|
|
@@ -67,6 +74,7 @@ const props = withDefaults(defineProps<{
|
|
|
67
74
|
open: false,
|
|
68
75
|
collapseLabel: 'Replier la barre latérale',
|
|
69
76
|
expandLabel: 'Déplier la barre latérale',
|
|
77
|
+
defaultOpen: false,
|
|
70
78
|
})
|
|
71
79
|
|
|
72
80
|
const emit = defineEmits<{
|
|
@@ -128,6 +136,19 @@ watch(() => sectionOf(props.activePath), (key) => {
|
|
|
128
136
|
if (key && !openSections.value.has(key)) openSections.value.add(key)
|
|
129
137
|
})
|
|
130
138
|
|
|
139
|
+
// `defaultOpen` : chaque section deployee a sa premiere apparition, y compris
|
|
140
|
+
// celles que les droits d'acces ajoutent en cours de route. Une section deja
|
|
141
|
+
// vue garde l'etat que le lecteur lui a donne.
|
|
142
|
+
const seenSections = new Set<string>()
|
|
143
|
+
watch(() => collapsibles.value.map(s => s.key), (keys) => {
|
|
144
|
+
if (!props.defaultOpen) return
|
|
145
|
+
for (const key of keys) {
|
|
146
|
+
if (seenSections.has(key)) continue
|
|
147
|
+
seenSections.add(key)
|
|
148
|
+
openSections.value.add(key)
|
|
149
|
+
}
|
|
150
|
+
}, { immediate: true })
|
|
151
|
+
|
|
131
152
|
function toggleSection(key: string) {
|
|
132
153
|
if (openSections.value.has(key)) openSections.value.delete(key)
|
|
133
154
|
else openSections.value.add(key)
|