@vc-shell/framework 1.0.86 → 1.0.88
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 +19 -0
- package/core/composables/useUser/index.ts +2 -2
- package/dist/core/composables/useUser/index.d.ts.map +1 -1
- package/dist/framework.mjs +15863 -15721
- package/dist/shared/components/blade-navigation/components/vc-blade-navigation/index.d.ts +1 -0
- package/dist/shared/components/blade-navigation/components/vc-blade-navigation/index.d.ts.map +1 -1
- package/dist/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue.d.ts +1 -0
- 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/composables/useBladeNavigation/index.d.ts +1 -0
- package/dist/shared/components/blade-navigation/composables/useBladeNavigation/index.d.ts.map +1 -1
- package/dist/shared/components/blade-navigation/types/index.d.ts +1 -0
- package/dist/shared/components/blade-navigation/types/index.d.ts.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-item/vc-gallery-item.vue.d.ts +2 -2
- package/package.json +3 -3
- package/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue +30 -1
- package/shared/components/blade-navigation/composables/useBladeNavigation/index.ts +30 -24
- package/shared/components/blade-navigation/types/index.ts +1 -0
- package/ui/components/molecules/vc-select/vc-select.vue +1 -1
package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-item/vc-gallery-item.vue.d.ts
CHANGED
|
@@ -19,7 +19,7 @@ declare const _default: import("vue").DefineComponent<__VLS_WithDefaults<__VLS_T
|
|
|
19
19
|
remove: any;
|
|
20
20
|
};
|
|
21
21
|
disableDrag: boolean;
|
|
22
|
-
}>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("
|
|
22
|
+
}>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("remove" | "preview" | "edit")[], "remove" | "preview" | "edit", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<Props>, {
|
|
23
23
|
readonly: boolean;
|
|
24
24
|
actions: () => {
|
|
25
25
|
name: any;
|
|
@@ -30,8 +30,8 @@ declare const _default: import("vue").DefineComponent<__VLS_WithDefaults<__VLS_T
|
|
|
30
30
|
disableDrag: boolean;
|
|
31
31
|
}>>> & {
|
|
32
32
|
onEdit?: (...args: any[]) => any;
|
|
33
|
-
onPreview?: (...args: any[]) => any;
|
|
34
33
|
onRemove?: (...args: any[]) => any;
|
|
34
|
+
onPreview?: (...args: any[]) => any;
|
|
35
35
|
}, {
|
|
36
36
|
disableDrag: boolean;
|
|
37
37
|
actions: {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vc-shell/framework",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.88",
|
|
4
4
|
"main": "./dist/framework.mjs",
|
|
5
5
|
"module": "./dist/framework.mjs",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -55,8 +55,8 @@
|
|
|
55
55
|
"whatwg-fetch": "^3.6.2"
|
|
56
56
|
},
|
|
57
57
|
"devDependencies": {
|
|
58
|
-
"@vc-shell/api-client-generator": "^1.0.
|
|
59
|
-
"@vc-shell/config-generator": "^1.0.
|
|
58
|
+
"@vc-shell/api-client-generator": "^1.0.88",
|
|
59
|
+
"@vc-shell/config-generator": "^1.0.88",
|
|
60
60
|
"@vitejs/plugin-vue": "^4.2.3",
|
|
61
61
|
"sass": "^1.62.1",
|
|
62
62
|
"typescript": "~5.0.4",
|
package/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue
CHANGED
|
@@ -13,6 +13,11 @@
|
|
|
13
13
|
v-show="$isMobile.value ? !blades.length : blades.length <= 1"
|
|
14
14
|
:key="route.path"
|
|
15
15
|
:ref="(el: CoreBladeExposed) => setParentRef(el, Component)"
|
|
16
|
+
v-element-hover="
|
|
17
|
+
(state) => {
|
|
18
|
+
setActiveBlade(state, Component.type as Component);
|
|
19
|
+
}
|
|
20
|
+
"
|
|
16
21
|
:closable="false"
|
|
17
22
|
:options="workspaceOptions"
|
|
18
23
|
:expanded="blades.length === 0"
|
|
@@ -39,6 +44,11 @@
|
|
|
39
44
|
:is="blade.blade"
|
|
40
45
|
v-show="i >= blades.length - ($isMobile.value ? 1 : 2)"
|
|
41
46
|
:ref="(el: CoreBladeExposed) => setBladesRef(el, blade)"
|
|
47
|
+
v-element-hover="
|
|
48
|
+
(state) => {
|
|
49
|
+
setActiveBlade(state, blade.blade);
|
|
50
|
+
}
|
|
51
|
+
"
|
|
42
52
|
:param="blade.param"
|
|
43
53
|
:closable="i >= 0"
|
|
44
54
|
:expanded="i === blades.length - 1"
|
|
@@ -59,6 +69,7 @@
|
|
|
59
69
|
|
|
60
70
|
<script lang="ts" setup>
|
|
61
71
|
import { computed, ref, VNode } from "vue";
|
|
72
|
+
import type { Component } from "vue";
|
|
62
73
|
import { useRoute } from "vue-router";
|
|
63
74
|
import {
|
|
64
75
|
IBladeContainer,
|
|
@@ -69,6 +80,8 @@ import {
|
|
|
69
80
|
BladeConstructor,
|
|
70
81
|
} from "./../../../../../shared";
|
|
71
82
|
import { ErrorInterceptor } from "./../../../error-interceptor";
|
|
83
|
+
import { vElementHover } from "@vueuse/components";
|
|
84
|
+
import * as _ from "lodash-es";
|
|
72
85
|
|
|
73
86
|
export interface Props {
|
|
74
87
|
blades: IBladeContainer[];
|
|
@@ -82,6 +95,8 @@ export interface Emits {
|
|
|
82
95
|
(event: "onParentCall", args: { id: number; args: IParentCallArgs }): void;
|
|
83
96
|
}
|
|
84
97
|
|
|
98
|
+
const activeBlade = ref();
|
|
99
|
+
|
|
85
100
|
const emit = defineEmits<Emits>();
|
|
86
101
|
|
|
87
102
|
withDefaults(defineProps<Props>(), {
|
|
@@ -95,6 +110,19 @@ const state = ref<IBladeRef[]>([]);
|
|
|
95
110
|
|
|
96
111
|
const visibleBlades = computed(() => bladesRefs.value.slice(-2));
|
|
97
112
|
|
|
113
|
+
const setActiveBlade = (state: boolean, el: Component) => {
|
|
114
|
+
const blade = bladesRefs.value.find((item) => _.isEqual(item.blade.blade, el));
|
|
115
|
+
if (blade) {
|
|
116
|
+
if (state) {
|
|
117
|
+
activeBlade.value = el;
|
|
118
|
+
Object.assign(blade, { active: true });
|
|
119
|
+
} else {
|
|
120
|
+
activeBlade.value = undefined;
|
|
121
|
+
Object.assign(blade, { active: false });
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
|
|
98
126
|
function handleMaximizeBlade(id: number, expand: boolean) {
|
|
99
127
|
state.value = visibleBlades.value?.map((x: IBladeRef) => {
|
|
100
128
|
if (x.blade.idx === id) {
|
|
@@ -112,6 +140,7 @@ function setParentRef(el: CoreBladeExposed, bladeNode: VNode) {
|
|
|
112
140
|
if (el && bladeNode) {
|
|
113
141
|
bladesRefs.value = [
|
|
114
142
|
{
|
|
143
|
+
active: _.isEqual(activeBlade.value, bladeNode.type),
|
|
115
144
|
exposed: el,
|
|
116
145
|
blade: {
|
|
117
146
|
blade: bladeNode.type as BladeConstructor,
|
|
@@ -127,7 +156,7 @@ function setBladesRef(el: CoreBladeExposed, blade: IBladeContainer) {
|
|
|
127
156
|
if (el && el !== null && blade) {
|
|
128
157
|
const isExists = bladesRefs.value.some((item) => item.blade.idx === blade.idx);
|
|
129
158
|
if (!isExists) {
|
|
130
|
-
bladesRefs.value.push({ exposed: el, blade });
|
|
159
|
+
bladesRefs.value.push({ active: _.isEqual(activeBlade.value, blade), exposed: el, blade });
|
|
131
160
|
}
|
|
132
161
|
}
|
|
133
162
|
}
|
|
@@ -39,6 +39,7 @@ interface IUseBladeNavigation {
|
|
|
39
39
|
readonly workspaceParam: Ref<string>;
|
|
40
40
|
readonly lastBladeData: Ref<BladeData>;
|
|
41
41
|
bladesRefs: Ref<IBladeRef[]>;
|
|
42
|
+
activeBlade: Ref<IBladeContainer>;
|
|
42
43
|
openBlade: <Blade extends ComponentPublicInstance = ComponentPublicInstance>(
|
|
43
44
|
{ blade, param, options, onOpen, onClose }: IBladeEvent<Blade>,
|
|
44
45
|
isWorkspace?: boolean
|
|
@@ -59,7 +60,7 @@ interface IUseBladeNavigation {
|
|
|
59
60
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
60
61
|
const workspaceOptions: Ref<Record<string, any>> = ref();
|
|
61
62
|
const workspaceParam: Ref<string> = ref();
|
|
62
|
-
|
|
63
|
+
const activeBlade = ref();
|
|
63
64
|
const lastBladeData = useLocalStorage<BladeData>("VC_BLADE_DATA", {});
|
|
64
65
|
|
|
65
66
|
export function useBladeNavigation(): IUseBladeNavigation {
|
|
@@ -124,34 +125,38 @@ export function useBladeNavigation(): IUseBladeNavigation {
|
|
|
124
125
|
return;
|
|
125
126
|
}
|
|
126
127
|
|
|
127
|
-
// caller blade component
|
|
128
|
-
const instanceComponent =
|
|
128
|
+
// caller blade component
|
|
129
|
+
const instanceComponent =
|
|
130
|
+
navigationInstance.bladesRefs.value.find((item) => item.active)?.blade?.blade ??
|
|
131
|
+
(instance && instance.vnode.type);
|
|
129
132
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
133
|
+
if (instanceComponent) {
|
|
134
|
+
// Caller blade index in blades array
|
|
135
|
+
const callerIndex = navigationInstance.bladesRefs.value.findIndex((item) => {
|
|
136
|
+
return _.isEqual(item.blade.blade, instanceComponent);
|
|
137
|
+
});
|
|
134
138
|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
139
|
+
// Trying to determine if the calling blade already has a child in order to replace it
|
|
140
|
+
const isBladeAlreadyExist =
|
|
141
|
+
callerIndex >= 0 ? navigationInstance.bladesRefs.value[callerIndex + 1]?.blade.blade : undefined;
|
|
138
142
|
|
|
139
|
-
|
|
140
|
-
|
|
143
|
+
// Blade we want to open
|
|
144
|
+
const bladeComponent = unref(blade);
|
|
141
145
|
|
|
142
|
-
|
|
143
|
-
|
|
146
|
+
// Check if caller blade has idx
|
|
147
|
+
const index = instanceComponent?.idx ? instanceComponent.idx : 0;
|
|
144
148
|
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
149
|
+
if (isBladeAlreadyExist === undefined) {
|
|
150
|
+
bladeComponent.idx = index ? index + 1 : 1;
|
|
151
|
+
} else if (isBladeAlreadyExist) {
|
|
152
|
+
await closeBlade(
|
|
153
|
+
navigationInstance.blades.value.findIndex((x: IBladeContainer) => x.idx === isBladeAlreadyExist.idx)
|
|
154
|
+
);
|
|
155
|
+
bladeComponent.idx = isBladeAlreadyExist.idx;
|
|
156
|
+
}
|
|
157
|
+
if (!isPrevented.value) {
|
|
158
|
+
await addBlade(bladeComponent, param, options, onOpen, onClose, index);
|
|
159
|
+
}
|
|
155
160
|
}
|
|
156
161
|
}
|
|
157
162
|
|
|
@@ -296,6 +301,7 @@ export function useBladeNavigation(): IUseBladeNavigation {
|
|
|
296
301
|
workspaceOptions: computed(() => workspaceOptions.value),
|
|
297
302
|
workspaceParam: computed(() => workspaceParam.value),
|
|
298
303
|
lastBladeData: computed(() => lastBladeData.value),
|
|
304
|
+
activeBlade,
|
|
299
305
|
bladesRefs: navigationInstance.bladesRefs,
|
|
300
306
|
openBlade,
|
|
301
307
|
closeBlade,
|
|
@@ -870,7 +870,7 @@ async function onSearch(value: string) {
|
|
|
870
870
|
}
|
|
871
871
|
} else {
|
|
872
872
|
optionsTemp.value = optionsList.value.filter((x) => {
|
|
873
|
-
return x[
|
|
873
|
+
return x[props.optionLabel as string].toLowerCase().includes(filterString.value.toLowerCase());
|
|
874
874
|
});
|
|
875
875
|
}
|
|
876
876
|
}
|