@vc-shell/framework 1.1.0-alpha.6 → 1.1.0-alpha.8
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/core/composables/useGlobalSearch/index.ts +4 -4
- package/core/constants/index.ts +2 -0
- package/core/plugins/modularity/index.ts +1 -1
- package/core/services/menu-service.ts +50 -10
- package/core/types/index.ts +22 -3
- package/dist/core/composables/useGlobalSearch/index.d.ts +2 -2
- package/dist/core/constants/index.d.ts +1 -0
- package/dist/core/constants/index.d.ts.map +1 -1
- package/dist/core/services/menu-service.d.ts.map +1 -1
- package/dist/core/types/index.d.ts +21 -2
- package/dist/core/types/index.d.ts.map +1 -1
- package/dist/framework.js +198 -197
- package/dist/{index-BXlxP2d2.js → index-0a5sSUk-.js} +1 -1
- package/dist/{index-EDF1MDtU.js → index-2uMWKqeX.js} +1 -1
- package/dist/{index-LjqdX6jw.js → index-BYSRrP1t.js} +1 -1
- package/dist/{index-CyuFXG83.js → index-BjuXtCZD.js} +1 -1
- package/dist/{index-CfyFpaKq.js → index-CE39_ef_.js} +1 -1
- package/dist/{index-DOVhosAY.js → index-CH6q9SbZ.js} +1 -1
- package/dist/{index-DZAq0B3U.js → index-CHqWKNbd.js} +13230 -13216
- package/dist/{index-D1rpRTKf.js → index-C_UCSxbP.js} +1 -1
- package/dist/{index-DtkJ7xTB.js → index-Cb_-2iIT.js} +1 -1
- package/dist/{index-DvGVm1rK.js → index-CqQMjKrC.js} +1 -1
- package/dist/{index-B-nvqNbp.js → index-D-7-uSkR.js} +1 -1
- package/dist/{index-CO_2IshF.js → index-DT87PGr4.js} +1 -1
- package/dist/{index-Ci23AX3j.js → index-DUpaX9qF.js} +1 -1
- package/dist/{index-3ySdd-mG.js → index-Do08qm6v.js} +1 -1
- package/dist/{index-DLxTAT7x.js → index-DrXDpBca.js} +1 -1
- package/dist/{index-C7P-aBjd.js → index-GWfUyLcy.js} +1 -1
- package/dist/{index-BQF2-UMe.js → index-mukpig4Q.js} +1 -1
- package/dist/index.css +1 -1
- package/dist/shared/components/blade-navigation/components/vc-blade-view/vc-blade-view.d.ts.map +1 -1
- package/dist/shared/components/notification-dropdown/notification-dropdown.vue.d.ts.map +1 -1
- package/dist/shared/components/sidebar/sidebar.vue.d.ts.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/ui/components/atoms/vc-badge/vc-badge.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/_internal/AppBarHeader.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/_internal/AppBarOverlay.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-header/vc-blade-header.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/vc-blade-toolbar.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-blade/vc-blade.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-table/_internal/vc-table-base-header/vc-table-base-header.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-columns-header/vc-table-columns-header.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-table/_internal/vc-table-filter/vc-table-filter.vue.d.ts.map +1 -1
- package/dist/ui/composables/useVisibleElements.d.ts.map +1 -1
- package/package.json +4 -4
- package/shared/components/blade-navigation/components/vc-blade-view/vc-blade-view.ts +2 -2
- package/shared/components/blade-navigation/types/index.ts +117 -117
- package/shared/components/draggable-dashboard/DraggableDashboard.vue +2 -5
- package/shared/components/draggable-dashboard/_internal/DashboardWidget.vue +16 -32
- package/shared/components/notification-dropdown/notification-dropdown.vue +11 -1
- package/shared/components/sidebar/sidebar.vue +36 -34
- package/shared/pages/LoginPage/components/login/Login.vue +0 -2
- package/ui/components/atoms/vc-badge/vc-badge.vue +26 -10
- package/ui/components/atoms/vc-tooltip/vc-tooltip.vue +2 -2
- package/ui/components/organisms/vc-app/_internal/vc-app-bar/_internal/AppBarHeader.vue +31 -2
- package/ui/components/organisms/vc-app/_internal/vc-app-bar/_internal/AppBarOverlay.vue +15 -13
- package/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue +26 -15
- package/ui/components/organisms/vc-app/vc-app.vue +14 -2
- package/ui/components/organisms/vc-blade/_internal/vc-blade-header/vc-blade-header.vue +4 -5
- package/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/_internal/vc-blade-toolbar-button/vc-blade-toolbar-circle-button.vue +2 -2
- package/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/mobile/vc-blade-toolbar-mobile.vue +1 -1
- package/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/vc-blade-toolbar.vue +0 -3
- package/ui/components/organisms/vc-blade/vc-blade.vue +7 -2
- package/ui/components/organisms/vc-login-form/vc-login-form.vue +99 -99
- package/ui/components/organisms/vc-table/_internal/vc-table-base-header/vc-table-base-header.vue +5 -5
- package/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-columns-header/vc-table-columns-header.vue +1 -0
- package/ui/components/organisms/vc-table/_internal/vc-table-filter/vc-table-filter.vue +40 -28
- package/ui/components/organisms/vc-table/_internal/vc-table-header/vc-table-header.vue +1 -1
- package/ui/components/organisms/vc-table/vc-table.vue +5 -4
- package/ui/composables/useVisibleElements.ts +2 -0
|
@@ -4,19 +4,19 @@ import { GlobalSearchKey } from "../../../injection-keys";
|
|
|
4
4
|
export interface GlobalSearchState {
|
|
5
5
|
isSearchVisible: Ref<Record<string, boolean>>;
|
|
6
6
|
searchQuery: Ref<Record<string, string>>;
|
|
7
|
-
toggleSearch: (bladeId:
|
|
8
|
-
setSearchQuery: (bladeId:
|
|
7
|
+
toggleSearch: (bladeId: string) => void;
|
|
8
|
+
setSearchQuery: (bladeId: string, query: string) => void;
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
export function createGlobalSearch() {
|
|
12
12
|
const isSearchVisible = ref<Record<string, boolean>>({});
|
|
13
13
|
const searchQuery = ref<Record<string, string>>({});
|
|
14
14
|
|
|
15
|
-
const toggleSearch = (bladeId:
|
|
15
|
+
const toggleSearch = (bladeId: string) => {
|
|
16
16
|
isSearchVisible.value[bladeId] = !isSearchVisible.value[bladeId];
|
|
17
17
|
};
|
|
18
18
|
|
|
19
|
-
const setSearchQuery = (bladeId:
|
|
19
|
+
const setSearchQuery = (bladeId: string, query: string) => {
|
|
20
20
|
searchQuery.value[bladeId] = query;
|
|
21
21
|
};
|
|
22
22
|
|
package/core/constants/index.ts
CHANGED
|
@@ -205,7 +205,7 @@ export function createAppModule(
|
|
|
205
205
|
icon: resolveComponent(page.menuItem.icon as string),
|
|
206
206
|
url: page.url,
|
|
207
207
|
routeId: routeName,
|
|
208
|
-
permissions: page.permissions,
|
|
208
|
+
permissions: page.permissions || page.menuItem.permissions,
|
|
209
209
|
});
|
|
210
210
|
}
|
|
211
211
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { computed, ComputedRef, ref, watch, type Ref } from "vue";
|
|
1
|
+
import { Component, computed, ComputedRef, ref, watch, type Ref } from "vue";
|
|
2
2
|
import * as _ from "lodash-es";
|
|
3
3
|
import { i18n } from "./../plugins/i18n";
|
|
4
4
|
import type { MenuItem } from "../types";
|
|
@@ -78,10 +78,11 @@ export function createMenuService(): MenuService {
|
|
|
78
78
|
}
|
|
79
79
|
|
|
80
80
|
/**
|
|
81
|
-
* Sorts items within a group by their inGroupPriority
|
|
81
|
+
* Sorts items within a group by their inGroupPriority / priority
|
|
82
82
|
*/
|
|
83
83
|
function sortByGroupPriority(a: MenuItem, b: MenuItem): number {
|
|
84
|
-
const getGroupPriority = (item: MenuItem): number =>
|
|
84
|
+
const getGroupPriority = (item: MenuItem): number =>
|
|
85
|
+
item.inGroupPriority ?? item.priority ?? DEFAULT_GROUP_PRIORITY;
|
|
85
86
|
return getGroupPriority(a) - getGroupPriority(b);
|
|
86
87
|
}
|
|
87
88
|
|
|
@@ -104,28 +105,67 @@ export function createMenuService(): MenuService {
|
|
|
104
105
|
* Processes a menu item that belongs to a group
|
|
105
106
|
*/
|
|
106
107
|
function processGroupItem(item: MenuItem, constructedMenu: Ref<MenuItem[]>): void {
|
|
107
|
-
if
|
|
108
|
+
// Skip if no group information provided
|
|
109
|
+
if (!item.group && !item.groupConfig) return;
|
|
110
|
+
|
|
111
|
+
let groupId: string;
|
|
112
|
+
let groupTitle: string;
|
|
113
|
+
let groupIcon: string | Component | undefined;
|
|
114
|
+
let groupPriority: number | undefined;
|
|
115
|
+
let groupPermissions: string | string[] | undefined;
|
|
116
|
+
|
|
117
|
+
// Prefer groupConfig over legacy group properties
|
|
118
|
+
if (item.groupConfig) {
|
|
119
|
+
// Use the explicit group ID from groupConfig
|
|
120
|
+
groupId = item.groupConfig.id;
|
|
121
|
+
groupTitle = item.groupConfig.title || groupId;
|
|
122
|
+
groupIcon = item.groupConfig.icon;
|
|
123
|
+
groupPriority = item.groupConfig.priority;
|
|
124
|
+
groupPermissions = item.groupConfig.permissions;
|
|
125
|
+
} else {
|
|
126
|
+
// Fallback to legacy group properties
|
|
127
|
+
groupId = "group_" + createItemId(item.group as string);
|
|
128
|
+
groupTitle = item.group as string;
|
|
129
|
+
groupIcon = item.groupIcon;
|
|
130
|
+
groupPriority = item.priority; // Use item priority as group priority for legacy
|
|
131
|
+
}
|
|
108
132
|
|
|
109
|
-
const groupId = "group_" + createItemId(item.group);
|
|
110
133
|
const existingGroup = useArrayFind(constructedMenu, (m) => m.groupId === groupId);
|
|
111
134
|
|
|
112
135
|
// Create the item to be added to the group
|
|
113
136
|
const groupItem = {
|
|
114
|
-
..._.omit(item, ["group", "groupIcon", "groupPriority"]),
|
|
137
|
+
..._.omit(item, ["group", "groupIcon", "groupPriority", "groupConfig"]),
|
|
115
138
|
title: createLocalizedTitle(item.title as string),
|
|
116
139
|
} as MenuItem;
|
|
117
140
|
|
|
118
141
|
if (existingGroup.value && existingGroup.value.children) {
|
|
119
142
|
// Add to existing group
|
|
120
143
|
upsert(existingGroup.value.children, groupItem);
|
|
144
|
+
|
|
145
|
+
// Update existing group properties if using groupConfig
|
|
146
|
+
if (item.groupConfig) {
|
|
147
|
+
if (item.groupConfig.title) {
|
|
148
|
+
existingGroup.value.title = createLocalizedTitle(item.groupConfig.title);
|
|
149
|
+
}
|
|
150
|
+
if (item.groupConfig.icon !== undefined) {
|
|
151
|
+
existingGroup.value.groupIcon = item.groupConfig.icon;
|
|
152
|
+
}
|
|
153
|
+
if (item.groupConfig.priority !== undefined) {
|
|
154
|
+
existingGroup.value.priority = item.groupConfig.priority;
|
|
155
|
+
}
|
|
156
|
+
if (item.groupConfig.permissions !== undefined) {
|
|
157
|
+
existingGroup.value.permissions = item.groupConfig.permissions;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
121
160
|
} else {
|
|
122
161
|
// Create a new group with this item
|
|
123
162
|
const group = {
|
|
124
163
|
groupId,
|
|
125
|
-
groupIcon:
|
|
126
|
-
title: createLocalizedTitle(
|
|
164
|
+
groupIcon: groupIcon ?? "",
|
|
165
|
+
title: createLocalizedTitle(groupTitle),
|
|
127
166
|
children: [groupItem],
|
|
128
|
-
priority:
|
|
167
|
+
priority: groupPriority ?? item.priority ?? DEFAULT_PRIORITY,
|
|
168
|
+
permissions: groupPermissions,
|
|
129
169
|
} as MenuItem;
|
|
130
170
|
upsert(constructedMenu.value, group);
|
|
131
171
|
}
|
|
@@ -168,7 +208,7 @@ export function createMenuService(): MenuService {
|
|
|
168
208
|
|
|
169
209
|
// Process each raw menu item
|
|
170
210
|
rawMenu.value.forEach((item) => {
|
|
171
|
-
if (item.group) {
|
|
211
|
+
if (item.group || item.groupConfig) {
|
|
172
212
|
processGroupItem(item, constructedMenu);
|
|
173
213
|
} else {
|
|
174
214
|
processStandaloneItem(item, constructedMenu);
|
package/core/types/index.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, ComputedRef, Ref, ShallowRef } from "vue";
|
|
1
|
+
import { Component, Component, ComputedRef, Ref, ShallowRef } from "vue";
|
|
2
2
|
import { BladeInstanceConstructor, CoreBladeExposed, ExtractedBladeOptions } from "../../shared";
|
|
3
3
|
import { ComponentPublicInstanceConstructor } from "../../shared/utilities/vueUtils";
|
|
4
4
|
|
|
@@ -176,7 +176,7 @@ export interface MenuItem extends Omit<MenuItemConfig, "title" | "id"> {
|
|
|
176
176
|
routeId?: string;
|
|
177
177
|
title: ComputedRef<string> | string;
|
|
178
178
|
url?: string;
|
|
179
|
-
groupIcon?: string;
|
|
179
|
+
groupIcon?: string | Component;
|
|
180
180
|
groupId?: string;
|
|
181
181
|
children?: MenuItem[];
|
|
182
182
|
permissions?: string | string[];
|
|
@@ -195,20 +195,39 @@ export interface MenuItemConfig {
|
|
|
195
195
|
icon: string | Component;
|
|
196
196
|
/**
|
|
197
197
|
* Menu group icon.
|
|
198
|
+
*
|
|
199
|
+
* @deprecated Use groupConfig.icon instead for better robustness
|
|
198
200
|
*/
|
|
199
|
-
groupIcon?: string;
|
|
201
|
+
groupIcon?: string | Component;
|
|
200
202
|
/**
|
|
201
203
|
* Menu item group. Is used to group menu items with it's provided name.
|
|
202
204
|
*
|
|
203
205
|
* If the path is not specified, the menu item is added to the root of the menu.
|
|
206
|
+
*
|
|
207
|
+
* @deprecated Use groupConfig instead for better robustness
|
|
204
208
|
*/
|
|
205
209
|
group?: string;
|
|
210
|
+
/**
|
|
211
|
+
* Group configuration for creating or updating a group when adding this menu item.
|
|
212
|
+
* This allows creating a group and adding an item to it in one step.
|
|
213
|
+
* If a group with the specified ID already exists, it will be updated with the provided properties.
|
|
214
|
+
*/
|
|
215
|
+
groupConfig?: {
|
|
216
|
+
id: string;
|
|
217
|
+
title?: string;
|
|
218
|
+
icon?: string | Component | undefined;
|
|
219
|
+
priority?: number;
|
|
220
|
+
permissions?: string | string[];
|
|
221
|
+
};
|
|
206
222
|
/**
|
|
207
223
|
* Position priority.
|
|
208
224
|
*/
|
|
209
225
|
priority: number;
|
|
210
226
|
/**
|
|
211
227
|
* Position priority in group
|
|
228
|
+
*
|
|
229
|
+
* @deprecated Use groupConfig.priority instead for better robustness
|
|
212
230
|
*/
|
|
213
231
|
inGroupPriority?: number;
|
|
232
|
+
permissions?: string | string[];
|
|
214
233
|
}
|
|
@@ -2,8 +2,8 @@ import { Ref } from "vue";
|
|
|
2
2
|
export interface GlobalSearchState {
|
|
3
3
|
isSearchVisible: Ref<Record<string, boolean>>;
|
|
4
4
|
searchQuery: Ref<Record<string, string>>;
|
|
5
|
-
toggleSearch: (bladeId:
|
|
6
|
-
setSearchQuery: (bladeId:
|
|
5
|
+
toggleSearch: (bladeId: string) => void;
|
|
6
|
+
setSearchQuery: (bladeId: string, query: string) => void;
|
|
7
7
|
}
|
|
8
8
|
export declare function createGlobalSearch(): GlobalSearchState;
|
|
9
9
|
export declare function useGlobalSearch(): GlobalSearchState;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../core/constants/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../core/constants/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AAErD,cAAc,UAAU,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu-service.d.ts","sourceRoot":"","sources":["../../../core/services/menu-service.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"menu-service.d.ts","sourceRoot":"","sources":["../../../core/services/menu-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgD,KAAK,GAAG,EAAE,MAAM,KAAK,CAAC;AAG7E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAMzC;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,CAEhD;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACtC,SAAS,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC3B,cAAc,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;CAC1C;AAUD;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,WAAW,CAwM/C"}
|
|
@@ -149,7 +149,7 @@ export interface MenuItem extends Omit<MenuItemConfig, "title" | "id"> {
|
|
|
149
149
|
routeId?: string;
|
|
150
150
|
title: ComputedRef<string> | string;
|
|
151
151
|
url?: string;
|
|
152
|
-
groupIcon?: string;
|
|
152
|
+
groupIcon?: string | Component;
|
|
153
153
|
groupId?: string;
|
|
154
154
|
children?: MenuItem[];
|
|
155
155
|
permissions?: string | string[];
|
|
@@ -167,22 +167,41 @@ export interface MenuItemConfig {
|
|
|
167
167
|
icon: string | Component;
|
|
168
168
|
/**
|
|
169
169
|
* Menu group icon.
|
|
170
|
+
*
|
|
171
|
+
* @deprecated Use groupConfig.icon instead for better robustness
|
|
170
172
|
*/
|
|
171
|
-
groupIcon?: string;
|
|
173
|
+
groupIcon?: string | Component;
|
|
172
174
|
/**
|
|
173
175
|
* Menu item group. Is used to group menu items with it's provided name.
|
|
174
176
|
*
|
|
175
177
|
* If the path is not specified, the menu item is added to the root of the menu.
|
|
178
|
+
*
|
|
179
|
+
* @deprecated Use groupConfig instead for better robustness
|
|
176
180
|
*/
|
|
177
181
|
group?: string;
|
|
182
|
+
/**
|
|
183
|
+
* Group configuration for creating or updating a group when adding this menu item.
|
|
184
|
+
* This allows creating a group and adding an item to it in one step.
|
|
185
|
+
* If a group with the specified ID already exists, it will be updated with the provided properties.
|
|
186
|
+
*/
|
|
187
|
+
groupConfig?: {
|
|
188
|
+
id: string;
|
|
189
|
+
title?: string;
|
|
190
|
+
icon?: string | Component | undefined;
|
|
191
|
+
priority?: number;
|
|
192
|
+
permissions?: string | string[];
|
|
193
|
+
};
|
|
178
194
|
/**
|
|
179
195
|
* Position priority.
|
|
180
196
|
*/
|
|
181
197
|
priority: number;
|
|
182
198
|
/**
|
|
183
199
|
* Position priority in group
|
|
200
|
+
*
|
|
201
|
+
* @deprecated Use groupConfig.priority instead for better robustness
|
|
184
202
|
*/
|
|
185
203
|
inGroupPriority?: number;
|
|
204
|
+
permissions?: string | string[];
|
|
186
205
|
}
|
|
187
206
|
export {};
|
|
188
207
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../core/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../core/types/index.ts"],"names":[],"mappings":"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"}
|