@vc-shell/framework 1.0.147 → 1.0.149

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.
Files changed (88) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/core/composables/index.ts +1 -1
  3. package/core/composables/useLanguages/index.ts +52 -0
  4. package/core/plugins/i18n/index.ts +1 -1
  5. package/core/plugins/modularity/index.ts +10 -1
  6. package/core/plugins/validation/index.ts +0 -11
  7. package/core/plugins/validation/rules.ts +7 -6
  8. package/dist/core/composables/index.d.ts +1 -1
  9. package/dist/core/composables/index.d.ts.map +1 -1
  10. package/dist/core/composables/useLanguages/index.d.ts +12 -0
  11. package/dist/core/composables/useLanguages/index.d.ts.map +1 -0
  12. package/dist/core/plugins/modularity/index.d.ts.map +1 -1
  13. package/dist/core/plugins/validation/index.d.ts +0 -3
  14. package/dist/core/plugins/validation/index.d.ts.map +1 -1
  15. package/dist/core/plugins/validation/rules.d.ts +1 -1
  16. package/dist/core/plugins/validation/rules.d.ts.map +1 -1
  17. package/dist/framework.js +11732 -10993
  18. package/dist/index.css +1 -1
  19. package/dist/index.d.ts +5 -0
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/shared/components/app-switcher/composables/useAppSwitcher/index.d.ts.map +1 -1
  22. package/dist/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue.d.ts.map +1 -1
  23. package/dist/shared/components/blade-navigation/components/vc-blade-view/vc-blade-view.d.ts +0 -12
  24. package/dist/shared/components/blade-navigation/components/vc-blade-view/vc-blade-view.d.ts.map +1 -1
  25. package/dist/shared/components/blade-navigation/composables/useBladeNavigation/index.d.ts +6 -3
  26. package/dist/shared/components/blade-navigation/composables/useBladeNavigation/index.d.ts.map +1 -1
  27. package/dist/shared/components/blade-navigation/plugin.d.ts.map +1 -1
  28. package/dist/shared/components/blade-navigation/types/index.d.ts +6 -8
  29. package/dist/shared/components/blade-navigation/types/index.d.ts.map +1 -1
  30. package/dist/shared/components/language-selector/language-selector.vue.d.ts.map +1 -1
  31. package/dist/shared/components/user-dropdown-button/user-dropdown-button.vue.d.ts.map +1 -1
  32. package/dist/shared/modules/dynamic/components/SchemaRender.d.ts +3 -3
  33. package/dist/shared/modules/dynamic/components/fields/Button.d.ts +1 -1
  34. package/dist/shared/modules/dynamic/components/fields/Card.d.ts +1 -1
  35. package/dist/shared/modules/dynamic/components/fields/Checkbox.d.ts +1 -1
  36. package/dist/shared/modules/dynamic/components/fields/ContentField.d.ts +1 -1
  37. package/dist/shared/modules/dynamic/components/fields/DynamicProperty.d.ts +1 -1
  38. package/dist/shared/modules/dynamic/components/fields/EditorField.d.ts +1 -1
  39. package/dist/shared/modules/dynamic/components/fields/Fieldset.d.ts +1 -1
  40. package/dist/shared/modules/dynamic/components/fields/GalleryField.d.ts +1 -1
  41. package/dist/shared/modules/dynamic/components/fields/ImageField.d.ts +1 -1
  42. package/dist/shared/modules/dynamic/components/fields/InputCurrency.d.ts +1 -1
  43. package/dist/shared/modules/dynamic/components/fields/InputField.d.ts +1 -1
  44. package/dist/shared/modules/dynamic/components/fields/MultivalueField.d.ts +1 -1
  45. package/dist/shared/modules/dynamic/components/fields/SelectField.d.ts +1 -1
  46. package/dist/shared/modules/dynamic/components/fields/StatusField.d.ts +1 -1
  47. package/dist/shared/modules/dynamic/components/fields/TextareaField.d.ts +1 -1
  48. package/dist/shared/modules/dynamic/components/fields/VideoField.d.ts +1 -1
  49. package/dist/shared/modules/dynamic/components/fields/props.d.ts +1 -1
  50. package/dist/shared/modules/dynamic/factories/types/index.d.ts +1 -1
  51. package/dist/shared/modules/dynamic/factories/types/index.d.ts.map +1 -1
  52. package/dist/shared/modules/dynamic/helpers/nodeBuilder.d.ts.map +1 -1
  53. package/dist/shared/modules/dynamic/helpers/override.d.ts.map +1 -1
  54. package/dist/shared/modules/dynamic/index.d.ts.map +1 -1
  55. package/dist/shared/modules/dynamic/pages/dynamic-blade-form.vue.d.ts +3 -1
  56. package/dist/shared/modules/dynamic/pages/dynamic-blade-form.vue.d.ts.map +1 -1
  57. package/dist/shared/modules/dynamic/pages/dynamic-blade-list.vue.d.ts +2 -0
  58. package/dist/shared/modules/dynamic/pages/dynamic-blade-list.vue.d.ts.map +1 -1
  59. package/dist/shared/modules/dynamic/types/index.d.ts +13 -4
  60. package/dist/shared/modules/dynamic/types/index.d.ts.map +1 -1
  61. package/dist/tsconfig.tsbuildinfo +1 -1
  62. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue.d.ts.map +1 -1
  63. package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts.map +1 -1
  64. package/package.json +6 -5
  65. package/shared/components/app-switcher/composables/useAppSwitcher/index.ts +2 -1
  66. package/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue +12 -26
  67. package/shared/components/blade-navigation/components/vc-blade-view/vc-blade-view.ts +18 -11
  68. package/shared/components/blade-navigation/composables/useBladeNavigation/index.ts +231 -337
  69. package/shared/components/blade-navigation/plugin.ts +2 -1
  70. package/shared/components/blade-navigation/types/index.ts +5 -11
  71. package/shared/components/language-selector/language-selector.vue +12 -10
  72. package/shared/components/notification-dropdown/notification-dropdown.vue +1 -1
  73. package/shared/components/user-dropdown-button/user-dropdown-button.vue +55 -40
  74. package/shared/modules/dynamic/factories/types/index.ts +1 -1
  75. package/shared/modules/dynamic/helpers/nodeBuilder.ts +6 -3
  76. package/shared/modules/dynamic/helpers/override.ts +29 -11
  77. package/shared/modules/dynamic/index.ts +1 -0
  78. package/shared/modules/dynamic/pages/dynamic-blade-form.vue +47 -17
  79. package/shared/modules/dynamic/pages/dynamic-blade-list.vue +11 -1
  80. package/shared/modules/dynamic/types/index.ts +13 -4
  81. package/ui/components/atoms/vc-label/vc-label.vue +18 -19
  82. package/ui/components/molecules/vc-multivalue/vc-multivalue.vue +1 -0
  83. package/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue +5 -19
  84. package/ui/components/organisms/vc-app/_internal/vc-app-menu/vc-app-menu.vue +1 -1
  85. package/ui/components/organisms/vc-app/vc-app.vue +2 -8
  86. package/core/composables/useI18n/index.ts +0 -7
  87. package/dist/core/composables/useI18n/index.d.ts +0 -3
  88. package/dist/core/composables/useI18n/index.d.ts.map +0 -1
@@ -5,7 +5,7 @@
5
5
  >
6
6
  <slot name="app-switcher"></slot>
7
7
 
8
- <template v-if="!$isMobile.value || quantity === 0">
8
+ <template v-if="!$isMobile.value || blades.length === 0">
9
9
  <!-- Logo -->
10
10
  <img
11
11
  class="tw-h-1/2 tw-cursor-pointer tw-mx-3"
@@ -26,15 +26,15 @@
26
26
  <template v-if="$isMobile.value">
27
27
  <!-- Show blades name when at least one blade is opened -->
28
28
  <div
29
- v-if="quantity === 1"
29
+ v-if="blades.length === 1"
30
30
  class="tw-overflow-ellipsis tw-overflow-hidden tw-whitespace-nowrap tw-text-2xl tw-leading-header tw-ml-2"
31
31
  >
32
- {{ viewTitle || "" }}
32
+ {{ toValue(blades[blades.length - 1]?.props?.navigation?.instance)?.title || "" }}
33
33
  </div>
34
34
 
35
35
  <!-- Show back link when more than one blade is opened -->
36
36
  <VcLink
37
- v-else-if="quantity > 1"
37
+ v-else-if="blades.length > 1"
38
38
  class="tw-ml-3"
39
39
  @click="$emit('backlink:click')"
40
40
  >
@@ -70,7 +70,7 @@ import { useI18n } from "vue-i18n";
70
70
  import { VcIcon, VcLink } from "./../../../../";
71
71
  import { IBladeToolbar } from "./../../../../../../core/types";
72
72
  import { useBladeNavigation } from "./../../../../../../shared";
73
- import { ref, watch, nextTick } from "vue";
73
+ import { toValue } from "vue";
74
74
 
75
75
  export interface Props {
76
76
  logo?: string;
@@ -91,20 +91,6 @@ defineEmits<Emits>();
91
91
  const { t } = useI18n({ useScope: "global" });
92
92
 
93
93
  const { blades } = useBladeNavigation();
94
-
95
- const viewTitle = ref();
96
- const quantity = ref();
97
-
98
- watch(
99
- () => blades,
100
- async (newVal) => {
101
- await nextTick(() => {
102
- viewTitle.value = Object.values(newVal.value?.instances || {})[0]?.title;
103
- quantity.value = Object.values(newVal.value?.components || {}).length;
104
- });
105
- },
106
- { deep: true, immediate: true, flush: "post" },
107
- );
108
94
  </script>
109
95
 
110
96
  <style lang="scss">
@@ -18,7 +18,7 @@
18
18
  <!-- Show menu close handler on mobile devices -->
19
19
  <div
20
20
  v-if="$isMobile.value"
21
- class="tw-text-[#319ed4] tw-flex tw-justify-end tw-items-center tw-p-4"
21
+ class="tw-text-[#319ed4] tw-flex tw-justify-end tw-items-center tw-p-4 tw-cursor-pointer"
22
22
  >
23
23
  <VcIcon
24
24
  icon="fas fa-times"
@@ -22,7 +22,7 @@
22
22
  :logo="logo"
23
23
  :title="title"
24
24
  @menubutton:click="($refs.menu as Record<'isMobileVisible', boolean>).isMobileVisible = true"
25
- @backlink:click="closeBlade(Object.keys(blades?.components || {}).length - 1)"
25
+ @backlink:click="closeBlade(blades.length - 1)"
26
26
  @logo:click="openRoot"
27
27
  >
28
28
  <template #app-switcher>
@@ -107,7 +107,6 @@ import {
107
107
  NotificationDropdown,
108
108
  BladeRoutesRecord,
109
109
  } from "./../../../../shared/components";
110
- import { useI18n } from "vue-i18n";
111
110
  import { useNotifications, useUser } from "../../../../core/composables";
112
111
  import { useRoute, useRouter } from "vue-router";
113
112
  import { watchOnce } from "@vueuse/core";
@@ -145,7 +144,7 @@ const router = useRouter();
145
144
 
146
145
  const { openBlade, closeBlade, resolveBladeByName, blades } = useBladeNavigation();
147
146
  const { appsList, switchApp, getApps } = useAppSwitcher();
148
- const { locale: currentLocale } = useI18n({ useScope: "global" });
147
+
149
148
  const { loadFromHistory } = useNotifications();
150
149
  const route = useRoute();
151
150
  const { isAuthenticated } = useUser();
@@ -165,10 +164,6 @@ const onMenuItemClick = function (item: MenuItem) {
165
164
  }
166
165
  };
167
166
 
168
- function langInit() {
169
- currentLocale.value = localStorage.getItem("VC_LANGUAGE_SETTINGS") ?? "en";
170
- }
171
-
172
167
  const openRoot = async () => {
173
168
  router.push("/");
174
169
  };
@@ -177,7 +172,6 @@ watchOnce(
177
172
  () => props.isReady,
178
173
  async (newVal) => {
179
174
  if (isAuthenticated.value && newVal) {
180
- langInit();
181
175
  await loadFromHistory();
182
176
  await getApps();
183
177
  }
@@ -1,7 +0,0 @@
1
- import { useI18n as VueUseI18n } from "vue-i18n";
2
-
3
- /** @deprecated use `useI18n({ useScope: "global" })` directly from `vue-i18n` */
4
- export function useI18n() {
5
- console.debug(`[@vc-shell/framework#useI18n] - Entry point`);
6
- return VueUseI18n({ useScope: "global" });
7
- }
@@ -1,3 +0,0 @@
1
- /** @deprecated use `useI18n({ useScope: "global" })` directly from `vue-i18n` */
2
- export declare function useI18n(): import("vue-i18n").Composer<{}, {}, {}, string, never, string>;
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../core/composables/useI18n/index.ts"],"names":[],"mappings":"AAEA,iFAAiF;AACjF,wBAAgB,OAAO,mEAGtB"}