@simple-reporting/base 1.0.6 → 1.0.7
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/dev/package.json
CHANGED
package/package.json
CHANGED
package/scripts/ldd/mapLdd.js
CHANGED
|
@@ -167,10 +167,11 @@ async function mapComponents(lddJson) {
|
|
|
167
167
|
const vueFiles = globSync(join(groupPath, component, '*.vue'));
|
|
168
168
|
if (vueFiles.length) {
|
|
169
169
|
vueFiles.forEach( c => {
|
|
170
|
-
const
|
|
170
|
+
const vueFile = c.split('/').pop();
|
|
171
|
+
const vueName = toUpperCamelCase(vueFile.substring(0, vueFile.length - 4));
|
|
171
172
|
vueComponents.push({
|
|
172
|
-
name: `SrlLd${
|
|
173
|
-
path: join('#ld', group, component,
|
|
173
|
+
name: `SrlLd${vueName}`,
|
|
174
|
+
path: join('#ld', group, component, vueFile),
|
|
174
175
|
});
|
|
175
176
|
})
|
|
176
177
|
}
|
|
@@ -5,6 +5,25 @@ import MenuList from './List.vue';
|
|
|
5
5
|
import type { RouterLink } from 'vue-router';
|
|
6
6
|
import { isExternalPath } from '#utils/uri';
|
|
7
7
|
|
|
8
|
+
type BackButtonItem = {
|
|
9
|
+
title?: string;
|
|
10
|
+
img?: {
|
|
11
|
+
src: string;
|
|
12
|
+
alt?: string;
|
|
13
|
+
};
|
|
14
|
+
imgBefore?: {
|
|
15
|
+
src: string;
|
|
16
|
+
alt?: string;
|
|
17
|
+
};
|
|
18
|
+
imgAfter?: {
|
|
19
|
+
src: string;
|
|
20
|
+
alt?: string;
|
|
21
|
+
};
|
|
22
|
+
attributes?: {
|
|
23
|
+
[key: string]: string;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
|
|
8
27
|
const props = defineProps<{
|
|
9
28
|
name: string;
|
|
10
29
|
item: NsWowNavigationItem;
|
|
@@ -13,6 +32,9 @@ const props = defineProps<{
|
|
|
13
32
|
disableTabIndex: boolean;
|
|
14
33
|
initOpen: number;
|
|
15
34
|
depth: number;
|
|
35
|
+
backButonEnabled?: boolean;
|
|
36
|
+
backButtonLabel?: string;
|
|
37
|
+
backButtonItem: BackButtonItem
|
|
16
38
|
}>();
|
|
17
39
|
|
|
18
40
|
const emit = defineEmits([
|
|
@@ -198,6 +220,9 @@ const dynamicAttributes = computed(() => {
|
|
|
198
220
|
:disableTab="props.disableTab"
|
|
199
221
|
:initOpen="props.initOpen"
|
|
200
222
|
:depth="props.depth + 1"
|
|
223
|
+
:backButonEnabled="props.backButonEnabled"
|
|
224
|
+
:backButtonLabel="props.backButonEnabled ? props.item.label : undefined"
|
|
225
|
+
:backButtonItem="props.backButtonItem"
|
|
201
226
|
v-model:opened="opened"
|
|
202
227
|
@link="link"
|
|
203
228
|
@routerChange="emit('routerChange')"
|
|
@@ -50,18 +50,41 @@
|
|
|
50
50
|
* @link="handleNavigation"
|
|
51
51
|
* />
|
|
52
52
|
*/
|
|
53
|
-
import { ref } from 'vue'
|
|
53
|
+
import { computed, ref } from 'vue'
|
|
54
54
|
import MenuItem from './Item.vue';
|
|
55
55
|
|
|
56
|
+
type BackButtonItem = {
|
|
57
|
+
title?: string;
|
|
58
|
+
img?: {
|
|
59
|
+
src: string;
|
|
60
|
+
alt?: string;
|
|
61
|
+
};
|
|
62
|
+
imgBefore?: {
|
|
63
|
+
src: string;
|
|
64
|
+
alt?: string;
|
|
65
|
+
};
|
|
66
|
+
imgAfter?: {
|
|
67
|
+
src: string;
|
|
68
|
+
alt?: string;
|
|
69
|
+
};
|
|
70
|
+
attributes?: {
|
|
71
|
+
[key: string]: string;
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
|
|
56
75
|
const props = withDefaults(
|
|
57
76
|
defineProps<{
|
|
58
77
|
name: string;
|
|
59
78
|
menu: NsWowNavigationItem[];
|
|
79
|
+
id?: string;
|
|
60
80
|
disableTab?: boolean;
|
|
61
81
|
disableTabIndex?: boolean;
|
|
62
82
|
initOpen?: number;
|
|
63
83
|
singleOpen?: boolean;
|
|
64
84
|
depth?: number;
|
|
85
|
+
backButonEnabled?: boolean;
|
|
86
|
+
backButtonItem?: BackButtonItem;
|
|
87
|
+
backButtonLabel?: string;
|
|
65
88
|
}>(),
|
|
66
89
|
{
|
|
67
90
|
disableTab: false,
|
|
@@ -69,6 +92,7 @@ const props = withDefaults(
|
|
|
69
92
|
initOpen: 0,
|
|
70
93
|
singleOpen: true,
|
|
71
94
|
depth: 0,
|
|
95
|
+
backButtonItem: {}
|
|
72
96
|
},
|
|
73
97
|
);
|
|
74
98
|
|
|
@@ -149,6 +173,34 @@ function closeAll(keep?: number | string) {
|
|
|
149
173
|
|
|
150
174
|
const $el = ref<HTMLUListElement>();
|
|
151
175
|
|
|
176
|
+
const menuItems = computed<NsWowNavigationItem[]>(() => {
|
|
177
|
+
return props.backButonEnabled && props.depth ? [
|
|
178
|
+
{
|
|
179
|
+
label: props.backButtonLabel,
|
|
180
|
+
title: props.backButtonItem.title,
|
|
181
|
+
img: props.backButtonItem.img,
|
|
182
|
+
imgBefore: props.backButtonItem.imgBefore,
|
|
183
|
+
imgAfter: props.backButtonItem.imgAfter,
|
|
184
|
+
attributes: props.backButtonItem.attributes ?
|
|
185
|
+
Object.assign(props.backButtonItem.attributes,
|
|
186
|
+
{
|
|
187
|
+
'aria-controls': props.id,
|
|
188
|
+
'aria-expanded': opened.value
|
|
189
|
+
}
|
|
190
|
+
):
|
|
191
|
+
{
|
|
192
|
+
'aria-controls': props.id,
|
|
193
|
+
'aria-expanded': opened.value
|
|
194
|
+
},
|
|
195
|
+
callback: () => {
|
|
196
|
+
opened.value = false
|
|
197
|
+
emit('back')
|
|
198
|
+
},
|
|
199
|
+
},
|
|
200
|
+
...props.menu,
|
|
201
|
+
] : props.menu
|
|
202
|
+
});
|
|
203
|
+
|
|
152
204
|
defineExpose({
|
|
153
205
|
closeAll,
|
|
154
206
|
$el,
|
|
@@ -157,8 +209,8 @@ defineExpose({
|
|
|
157
209
|
</script>
|
|
158
210
|
|
|
159
211
|
<template>
|
|
160
|
-
<ul ref="$el" :hidden="!opened">
|
|
161
|
-
<template v-for="(item, index) in
|
|
212
|
+
<ul ref="$el" :id="props.id" :hidden="!opened">
|
|
213
|
+
<template v-for="(item, index) in menuItems" :key="index">
|
|
162
214
|
<MenuItem
|
|
163
215
|
ref="items"
|
|
164
216
|
:item="item"
|
|
@@ -168,6 +220,9 @@ defineExpose({
|
|
|
168
220
|
:disableTabIndex="props.disableTabIndex"
|
|
169
221
|
:initOpen="props.initOpen"
|
|
170
222
|
:depth="props.depth"
|
|
223
|
+
:backButonEnabled="props.backButonEnabled"
|
|
224
|
+
:backButtonLabel="props.backButtonLabel"
|
|
225
|
+
:backButtonItem="props.backButtonItem"
|
|
171
226
|
@open="open"
|
|
172
227
|
@close="close"
|
|
173
228
|
@next="next"
|