@vc-shell/framework 1.0.202 → 1.0.204

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.
@@ -1 +1 @@
1
- {"version":3,"file":"vc-blade-view.d.ts","sourceRoot":"","sources":["../../../../../../shared/components/blade-navigation/components/vc-blade-view/vc-blade-view.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0C,KAAK,EAAE,QAAQ,EAA8B,MAAM,KAAK,CAAC;AAE1G,OAAO,EAAE,UAAU,EAAoB,MAAM,aAAa,CAAC;AAG3D,eAAO,MAAM,WAAW;;;;;;;;;;;;YAoFtB,CAAC"}
1
+ {"version":3,"file":"vc-blade-view.d.ts","sourceRoot":"","sources":["../../../../../../shared/components/blade-navigation/components/vc-blade-view/vc-blade-view.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0C,KAAK,EAAE,QAAQ,EAAuB,MAAM,KAAK,CAAC;AAEnG,OAAO,EAAE,UAAU,EAAoB,MAAM,aAAa,CAAC;AAG3D,eAAO,MAAM,WAAW;;;;;;;;;;;;YAqFtB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../shared/components/blade-navigation/composables/useBladeNavigation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8C,SAAS,EAA0B,WAAW,EAAS,MAAM,KAAK,CAAC;AAIxH,OAAO,EACL,uBAAuB,EAEvB,iBAAiB,EACjB,eAAe,EACf,WAAW,EAGZ,MAAM,YAAY,CAAC;AAEpB,OAAO,EAGL,UAAU,EACV,WAAW,EACX,eAAe,EACf,wBAAwB,EAGzB,MAAM,aAAa,CAAC;AAIrB,OAAO,gCAAgC,CAAC;AACxC,OAAO,sCAAsC,CAAC;AAG9C,UAAU,mBAAmB;IAC3B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC;IAC3C,QAAQ,CAAC,0BAA0B,EAAE,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;IACpF,SAAS,EAAE,CAAC,KAAK,SAAS,SAAS,EACjC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,WAAW,CAAC,KAAK,CAAC,EAC9D,WAAW,CAAC,EAAE,OAAO,KAClB,OAAO,CAAC,IAAI,GAAG,iBAAiB,CAAC,CAAC;IACvC,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,YAAY,EAAE,CAAC,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;IACzF,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,KAAK,IAAI,CAAC;IAChE,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,wBAAwB,CAAC;IAC/D,aAAa,EAAE,CAAC,EAAE,EAAE,uBAAuB,KACvC,OAAO,CACH;QACE,IAAI,EAAE,eAAe,GAAG,SAAS,CAAC;QAClC,MAAM,EAAE,WAAW,CAAC;KACrB,GACD,SAAS,CACZ,GACD,SAAS,CAAC;IACd,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC;IACrE,kBAAkB,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,SAAS,CAAC;CACvE;AA+MD,wBAAgB,kBAAkB,IAAI,mBAAmB,CA6TxD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../shared/components/blade-navigation/composables/useBladeNavigation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8C,SAAS,EAA0B,WAAW,EAAS,MAAM,KAAK,CAAC;AAIxH,OAAO,EACL,uBAAuB,EAEvB,iBAAiB,EACjB,eAAe,EACf,WAAW,EAGZ,MAAM,YAAY,CAAC;AAEpB,OAAO,EAGL,UAAU,EACV,WAAW,EACX,eAAe,EACf,wBAAwB,EAGzB,MAAM,aAAa,CAAC;AAIrB,OAAO,gCAAgC,CAAC;AACxC,OAAO,sCAAsC,CAAC;AAG9C,UAAU,mBAAmB;IAC3B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC;IAC3C,QAAQ,CAAC,0BAA0B,EAAE,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;IACpF,SAAS,EAAE,CAAC,KAAK,SAAS,SAAS,EACjC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,WAAW,CAAC,KAAK,CAAC,EAC9D,WAAW,CAAC,EAAE,OAAO,KAClB,OAAO,CAAC,IAAI,GAAG,iBAAiB,CAAC,CAAC;IACvC,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,YAAY,EAAE,CAAC,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;IACzF,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,KAAK,IAAI,CAAC;IAChE,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,wBAAwB,CAAC;IAC/D,aAAa,EAAE,CAAC,EAAE,EAAE,uBAAuB,KACvC,OAAO,CACH;QACE,IAAI,EAAE,eAAe,GAAG,SAAS,CAAC;QAClC,MAAM,EAAE,WAAW,CAAC;KACrB,GACD,SAAS,CACZ,GACD,SAAS,CAAC;IACd,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC;IACrE,kBAAkB,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,SAAS,CAAC;CACvE;AAiND,wBAAgB,kBAAkB,IAAI,mBAAmB,CAkUxD"}
@@ -1 +1 @@
1
- {"version":3,"file":"dynamic-blade-list.vue.d.ts","sourceRoot":"","sources":["../../../../../shared/modules/dynamic/pages/dynamic-blade-list.vue.ts"],"names":[],"mappings":"AAGA,OAAO,EASL,WAAW,EAKZ,MAAM,KAAK,CAAC;AAEb,OAAO,EAAE,iBAAiB,EAAqC,MAAM,UAAU,CAAC;AAOhF,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAKjD,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IACtE,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,KAAK;IACpB,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,eAAe,GAAG,IAAI,CAAC;IACpD,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;IAC7B,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAChC,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAAC;IAC9B,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAChC,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,GAAG,IAAI,CAAC;IACjE,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACtB;AAyZD,iBAAS,uBAAuB,SAI/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4cD,wBAAwG;AACxG,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACjE,KAAK,6BAA6B,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAAE,CAAC;AAC9M,KAAK,kBAAkB,CAAC,CAAC,EAAE,CAAC,IAAI;KAE1B,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;QACxE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;KACb,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACT,CAAC;AACN,KAAK,cAAc,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG,EAAE,CAAC;AACxD,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAAE,QAAO;QAClD,MAAM,EAAE,CAAC,CAAC;KACT,CAAA;CAAE,CAAC"}
1
+ {"version":3,"file":"dynamic-blade-list.vue.d.ts","sourceRoot":"","sources":["../../../../../shared/modules/dynamic/pages/dynamic-blade-list.vue.ts"],"names":[],"mappings":"AAGA,OAAO,EASL,WAAW,EAKZ,MAAM,KAAK,CAAC;AAEb,OAAO,EAAE,iBAAiB,EAAqC,MAAM,UAAU,CAAC;AAOhF,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAKjD,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IACtE,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,KAAK;IACpB,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,eAAe,GAAG,IAAI,CAAC;IACpD,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;IAC7B,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAChC,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAAC;IAC9B,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAChC,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,GAAG,IAAI,CAAC;IACjE,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACtB;AA4ZD,iBAAS,uBAAuB,SAI/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4cD,wBAAwG;AACxG,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACjE,KAAK,6BAA6B,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAAE,CAAC;AAC9M,KAAK,kBAAkB,CAAC,CAAC,EAAE,CAAC,IAAI;KAE1B,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;QACxE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;KACb,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACT,CAAC;AACN,KAAK,cAAc,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG,EAAE,CAAC;AACxD,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAAE,QAAO;QAClD,MAAM,EAAE,CAAC,CAAC;KACT,CAAA;CAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vc-shell/framework",
3
- "version": "1.0.202",
3
+ "version": "1.0.204",
4
4
  "type": "module",
5
5
  "main": "./dist/framework.js",
6
6
  "types": "./dist/index.d.ts",
@@ -59,9 +59,9 @@
59
59
  "devDependencies": {
60
60
  "@types/dompurify": "^3.0.5",
61
61
  "@types/quill": "^2.0.14",
62
- "@vc-shell/api-client-generator": "^1.0.202",
63
- "@vc-shell/config-generator": "^1.0.202",
64
- "@vc-shell/ts-config": "^1.0.202",
62
+ "@vc-shell/api-client-generator": "^1.0.204",
63
+ "@vc-shell/config-generator": "^1.0.204",
64
+ "@vc-shell/ts-config": "^1.0.204",
65
65
  "@vitejs/plugin-vue": "^5.0.3",
66
66
  "sass": "^1.69.6",
67
67
  "shx": "^0.3.4",
@@ -1,7 +1,7 @@
1
- import { Slot, defineComponent, h, provide, ref, VNode, PropType, Component, watch, reactive } from "vue";
1
+ import { Slot, defineComponent, h, provide, ref, VNode, PropType, Component, reactive } from "vue";
2
2
  import { navigationViewLocation } from "./../../injectionKeys";
3
3
  import { BladeVNode, CoreBladeExposed } from "../../types";
4
- import { toRef } from "@vueuse/core";
4
+ import { toRef, watchTriggerable } from "@vueuse/core";
5
5
 
6
6
  export const VcBladeView = defineComponent({
7
7
  name: "BladeView",
@@ -16,7 +16,7 @@ export const VcBladeView = defineComponent({
16
16
 
17
17
  const bl = toRef(props.blade);
18
18
 
19
- watch(
19
+ const { trigger } = watchTriggerable(
20
20
  () => [viewRef.value, bl.value] as const,
21
21
  ([instance, blade]) => {
22
22
  if (instance && blade && blade.props?.navigation) {
@@ -53,6 +53,7 @@ export const VcBladeView = defineComponent({
53
53
  */
54
54
  const onVnodeMounted: BladeVNode["props"]["onVnodeMounted"] = (vnode) => {
55
55
  if (vnode.component?.isMounted) {
56
+ trigger();
56
57
  if (typeof vnode.props?.navigation?.onOpen === "function") {
57
58
  vnode.props?.navigation.onOpen();
58
59
  }
@@ -58,14 +58,15 @@ const mainRouteBaseParamURL = shallowRef<string>();
58
58
 
59
59
  const utils = (router: Router) => {
60
60
  const route = useRoute();
61
+ const routes = router.getRoutes();
61
62
 
62
63
  function parseUrl(url: string) {
63
64
  // remove parts of url that does not contain workspace, blade or param - everything before workspace
64
65
  const parts = url.split("/");
65
66
  const workspaceIndex = parts.findIndex((part) => {
66
- const route = router
67
- .getRoutes()
68
- .find((r) => r.path.endsWith("/" + part) && (r.components?.default as BladeVNode).type.isWorkspace);
67
+ const route = routes.find(
68
+ (r) => r.path.endsWith("/" + part) && (r.components?.default as BladeVNode)?.type?.isWorkspace,
69
+ );
69
70
 
70
71
  return route !== undefined;
71
72
  });
@@ -116,6 +117,7 @@ const utils = (router: Router) => {
116
117
  parseUrl,
117
118
  parseWorkspaceUrl,
118
119
  getURLQuery,
120
+ routes,
119
121
  };
120
122
  };
121
123
 
@@ -266,8 +268,7 @@ export function useBladeNavigation(): IUseBladeNavigation {
266
268
  const instance: BladeComponentInternalInstance = getCurrentInstance() as BladeComponentInternalInstance;
267
269
 
268
270
  const { router, route, navigationInstance, closeBlade } = useBladeNavigationSingleton();
269
- const { parseUrl, getURLQuery } = utils(router);
270
- const routerRoutes = router.getRoutes();
271
+ const { parseUrl, getURLQuery, routes: routerRoutes } = utils(router);
271
272
  const mainRoute = routerRoutes.find((r) => r.meta?.root)!;
272
273
 
273
274
  async function openWorkspace<Blade extends Component>(
@@ -289,6 +290,12 @@ export function useBladeNavigation(): IUseBladeNavigation {
289
290
 
290
291
  if (!isPrevented && createdComponent.type?.url) {
291
292
  if (hasAccess(blade.permissions)) {
293
+ // If the blade is the same as the one we want to open, do nothing. It prevents the loose of the instance state
294
+ if (navigationInstance.blades.value.length > 0) {
295
+ if (navigationInstance.blades.value[0].type.url === createdComponent.type.url) {
296
+ return;
297
+ }
298
+ }
292
299
  navigationInstance.blades.value = [createdComponent];
293
300
  // Find the route with the matching URL and update the components.default property with the new component
294
301
  const wsroute = routerRoutes.find((r) => r.path.endsWith(createdComponent.type?.url as string));
@@ -54,8 +54,8 @@ export const useToolbarReducer = (args: {
54
54
  }, [] as IBladeToolbar[]);
55
55
  }
56
56
 
57
- if (args.scope && toValue(toValue(args.scope).toolbarOverrides)) {
58
- const toolbarOverrides: BaseBladeScope["toolbarOverrides"] = toValue(toValue(args.scope).toolbarOverrides);
57
+ if (args.scope && toValue(toValue(args.scope)?.toolbarOverrides)) {
58
+ const toolbarOverrides: BaseBladeScope["toolbarOverrides"] = toValue(toValue(args.scope)?.toolbarOverrides);
59
59
 
60
60
  if (Array.isArray(toolbarOverrides)) {
61
61
  return toolbarOverrides;
@@ -217,7 +217,7 @@ const bladeStatus = computed(() => {
217
217
  });
218
218
 
219
219
  const bladeMultilanguage = reactiveComputed(() => {
220
- if (scope && "multilanguage" in toValue(scope) && toValue(scope).multilanguage) {
220
+ if (scope && toValue(scope) && "multilanguage" in toValue(scope) && toValue(scope).multilanguage) {
221
221
  return {
222
222
  component: () => {
223
223
  return h(VcSelect as Component, {
@@ -480,16 +480,19 @@ const onSelectionChanged = (i: UnwrapRef<typeof items>) => {
480
480
  async function removeItems() {
481
481
  if (
482
482
  await showConfirmation(
483
- t(`${settings.value?.localizationPrefix.trim().toUpperCase()}.PAGES.LIST.DELETE_SELECTED_CONFIRMATION.MESSAGE`, {
484
- count: allSelected.value
485
- ? t(
486
- `${settings.value?.localizationPrefix.trim().toUpperCase()}.PAGES.LIST.DELETE_SELECTED_CONFIRMATION.ALL`,
487
- {
488
- totalCount: pagination.value.totalCount,
489
- },
490
- )
491
- : selectedIds.value.length,
492
- }),
483
+ t(
484
+ `${settings.value?.localizationPrefix.trim().toUpperCase()}.PAGES.ALERTS.DELETE_SELECTED_CONFIRMATION.MESSAGE`,
485
+ {
486
+ count: allSelected.value
487
+ ? t(
488
+ `${settings.value?.localizationPrefix.trim().toUpperCase()}.PAGES.ALERTS.DELETE_SELECTED_CONFIRMATION.ALL`,
489
+ {
490
+ totalCount: pagination.value.totalCount,
491
+ },
492
+ )
493
+ : selectedIds.value.length,
494
+ },
495
+ ),
493
496
  )
494
497
  ) {
495
498
  emit("close:children");
@@ -155,10 +155,10 @@ const { appsList, switchApp, getApps } = useAppSwitcher();
155
155
  const { loadFromHistory } = useNotifications();
156
156
  const route = useRoute();
157
157
  const { isAuthenticated } = useUser();
158
+ const routes = router.getRoutes();
158
159
 
159
160
  const onMenuItemClick = function (item: MenuItem) {
160
161
  console.debug(`vc-app#onMenuItemClick() called.`);
161
-
162
162
  if (item.routeId) {
163
163
  openBlade(
164
164
  {
@@ -167,7 +167,7 @@ const onMenuItemClick = function (item: MenuItem) {
167
167
  true,
168
168
  );
169
169
  } else if (!item.routeId && item.url) {
170
- const menuRoute = router.getRoutes().find((r) => {
170
+ const menuRoute = routes.find((r) => {
171
171
  return "/" + r.path.split("/").filter((part) => part !== "")[1] === item.url || r.path === item.url;
172
172
  });
173
173
  if (typeof menuRoute === "undefined") {
@@ -182,8 +182,8 @@ const openRoot = async () => {
182
182
  const isPrevented = await closeBlade(1);
183
183
 
184
184
  if (!isPrevented) {
185
- const mainRoute = router.getRoutes().find((route) => route.meta?.root);
186
- const mainRouteAlias = router.getRoutes().find((route) => route.aliasOf?.path === mainRoute?.path) ?? mainRoute;
185
+ const mainRoute = routes.find((route) => route.meta?.root);
186
+ const mainRouteAlias = routes.find((route) => route.aliasOf?.path === mainRoute?.path) ?? mainRoute;
187
187
 
188
188
  router.replace({ name: mainRouteAlias?.name, params: route.params });
189
189
  }