@vc-shell/framework 1.0.148 → 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.
- package/CHANGELOG.md +17 -0
- package/core/composables/index.ts +1 -1
- package/core/composables/useLanguages/index.ts +52 -0
- package/core/plugins/i18n/index.ts +1 -1
- package/core/plugins/modularity/index.ts +10 -1
- package/core/plugins/validation/index.ts +0 -11
- package/core/plugins/validation/rules.ts +7 -6
- package/dist/core/composables/index.d.ts +1 -1
- package/dist/core/composables/index.d.ts.map +1 -1
- package/dist/core/composables/useLanguages/index.d.ts +12 -0
- package/dist/core/composables/useLanguages/index.d.ts.map +1 -0
- package/dist/core/plugins/modularity/index.d.ts.map +1 -1
- package/dist/core/plugins/validation/index.d.ts +0 -3
- package/dist/core/plugins/validation/index.d.ts.map +1 -1
- package/dist/core/plugins/validation/rules.d.ts +1 -1
- package/dist/core/plugins/validation/rules.d.ts.map +1 -1
- package/dist/framework.js +11732 -10993
- package/dist/index.css +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/shared/components/app-switcher/composables/useAppSwitcher/index.d.ts.map +1 -1
- package/dist/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue.d.ts.map +1 -1
- package/dist/shared/components/blade-navigation/components/vc-blade-view/vc-blade-view.d.ts +0 -12
- package/dist/shared/components/blade-navigation/components/vc-blade-view/vc-blade-view.d.ts.map +1 -1
- package/dist/shared/components/blade-navigation/composables/useBladeNavigation/index.d.ts +6 -3
- package/dist/shared/components/blade-navigation/composables/useBladeNavigation/index.d.ts.map +1 -1
- package/dist/shared/components/blade-navigation/plugin.d.ts.map +1 -1
- package/dist/shared/components/blade-navigation/types/index.d.ts +6 -8
- package/dist/shared/components/blade-navigation/types/index.d.ts.map +1 -1
- package/dist/shared/components/language-selector/language-selector.vue.d.ts.map +1 -1
- package/dist/shared/components/user-dropdown-button/user-dropdown-button.vue.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/SchemaRender.d.ts +3 -3
- package/dist/shared/modules/dynamic/components/fields/Button.d.ts +1 -1
- package/dist/shared/modules/dynamic/components/fields/Card.d.ts +1 -1
- package/dist/shared/modules/dynamic/components/fields/Checkbox.d.ts +1 -1
- package/dist/shared/modules/dynamic/components/fields/ContentField.d.ts +1 -1
- package/dist/shared/modules/dynamic/components/fields/DynamicProperty.d.ts +1 -1
- package/dist/shared/modules/dynamic/components/fields/EditorField.d.ts +1 -1
- package/dist/shared/modules/dynamic/components/fields/Fieldset.d.ts +1 -1
- package/dist/shared/modules/dynamic/components/fields/GalleryField.d.ts +1 -1
- package/dist/shared/modules/dynamic/components/fields/ImageField.d.ts +1 -1
- package/dist/shared/modules/dynamic/components/fields/InputCurrency.d.ts +1 -1
- package/dist/shared/modules/dynamic/components/fields/InputField.d.ts +1 -1
- package/dist/shared/modules/dynamic/components/fields/MultivalueField.d.ts +1 -1
- package/dist/shared/modules/dynamic/components/fields/SelectField.d.ts +1 -1
- package/dist/shared/modules/dynamic/components/fields/StatusField.d.ts +1 -1
- package/dist/shared/modules/dynamic/components/fields/TextareaField.d.ts +1 -1
- package/dist/shared/modules/dynamic/components/fields/VideoField.d.ts +1 -1
- package/dist/shared/modules/dynamic/components/fields/props.d.ts +1 -1
- package/dist/shared/modules/dynamic/factories/types/index.d.ts +1 -1
- package/dist/shared/modules/dynamic/factories/types/index.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/helpers/nodeBuilder.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/helpers/override.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/index.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/pages/dynamic-blade-form.vue.d.ts +3 -1
- package/dist/shared/modules/dynamic/pages/dynamic-blade-form.vue.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/pages/dynamic-blade-list.vue.d.ts +2 -0
- package/dist/shared/modules/dynamic/pages/dynamic-blade-list.vue.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/types/index.d.ts +13 -4
- package/dist/shared/modules/dynamic/types/index.d.ts.map +1 -1
- package/dist/tsconfig.tsbuildinfo +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/package.json +6 -5
- package/shared/components/app-switcher/composables/useAppSwitcher/index.ts +2 -1
- package/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue +12 -26
- package/shared/components/blade-navigation/components/vc-blade-view/vc-blade-view.ts +18 -11
- package/shared/components/blade-navigation/composables/useBladeNavigation/index.ts +231 -337
- package/shared/components/blade-navigation/plugin.ts +2 -1
- package/shared/components/blade-navigation/types/index.ts +5 -11
- package/shared/components/language-selector/language-selector.vue +12 -10
- package/shared/components/notification-dropdown/notification-dropdown.vue +1 -1
- package/shared/components/user-dropdown-button/user-dropdown-button.vue +55 -40
- package/shared/modules/dynamic/factories/types/index.ts +1 -1
- package/shared/modules/dynamic/helpers/nodeBuilder.ts +6 -3
- package/shared/modules/dynamic/helpers/override.ts +29 -11
- package/shared/modules/dynamic/index.ts +1 -0
- package/shared/modules/dynamic/pages/dynamic-blade-form.vue +47 -17
- package/shared/modules/dynamic/pages/dynamic-blade-list.vue +11 -1
- package/shared/modules/dynamic/types/index.ts +13 -4
- package/ui/components/atoms/vc-label/vc-label.vue +18 -19
- package/ui/components/molecules/vc-multivalue/vc-multivalue.vue +1 -0
- package/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue +5 -19
- package/ui/components/organisms/vc-app/_internal/vc-app-menu/vc-app-menu.vue +1 -1
- package/ui/components/organisms/vc-app/vc-app.vue +2 -8
- package/core/composables/useI18n/index.ts +0 -7
- package/dist/core/composables/useI18n/index.d.ts +0 -3
- 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 ||
|
|
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="
|
|
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
|
-
{{
|
|
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="
|
|
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 {
|
|
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(
|
|
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
|
-
|
|
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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../core/composables/useI18n/index.ts"],"names":[],"mappings":"AAEA,iFAAiF;AACjF,wBAAgB,OAAO,mEAGtB"}
|