@vc-shell/framework 1.0.212 → 1.0.213
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 +15 -0
- package/dist/framework.js +11 -5
- package/dist/index.css +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/CustomComponent.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/RatingField.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/SwitchField.d.ts +1 -1
- package/dist/shared/modules/dynamic/components/fields/Table.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/components/fields/storybook/Button.stories.d.ts +3 -3
- package/dist/shared/modules/dynamic/components/fields/storybook/Card.stories.d.ts +3 -3
- package/dist/shared/modules/dynamic/components/fields/storybook/Checkbox.stories.d.ts +3 -3
- package/dist/shared/modules/dynamic/components/fields/storybook/ContentField.stories.d.ts +3 -3
- package/dist/shared/modules/dynamic/components/fields/storybook/EditorField.stories.d.ts +3 -3
- package/dist/shared/modules/dynamic/components/fields/storybook/Fieldset.stories.d.ts +3 -3
- package/dist/shared/modules/dynamic/components/fields/storybook/GalleryField.stories.d.ts +3 -3
- package/dist/shared/modules/dynamic/components/fields/storybook/ImageField.stories.d.ts +3 -3
- package/dist/shared/modules/dynamic/components/fields/storybook/InputCurrency.stories.d.ts +3 -3
- package/dist/shared/modules/dynamic/components/fields/storybook/InputField.stories.d.ts +3 -3
- package/dist/shared/modules/dynamic/components/fields/storybook/MultivalueField.stories.d.ts +3 -3
- package/dist/shared/modules/dynamic/components/fields/storybook/RatingField.stories.d.ts +3 -3
- package/dist/shared/modules/dynamic/components/fields/storybook/SelectField.stories.d.ts +3 -3
- package/dist/shared/modules/dynamic/components/fields/storybook/StatusField.stories.d.ts +3 -3
- package/dist/shared/modules/dynamic/components/fields/storybook/TextareaField.stories.d.ts +3 -3
- package/dist/shared/modules/dynamic/components/fields/storybook/VideoField.stories.d.ts +3 -3
- package/dist/shared/modules/dynamic/components/fields/storybook/pages/DynamicRender.d.ts +3 -3
- package/dist/shared/modules/dynamic/factories/base/useDetailsFactory.d.ts +3 -3
- package/dist/shared/modules/dynamic/factories/base/useDetailsFactory.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/factories/base/useListFactory.d.ts +2 -2
- package/dist/shared/modules/dynamic/factories/base/useListFactory.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/factories/types/index.d.ts +5 -2
- package/dist/shared/modules/dynamic/factories/types/index.d.ts.map +1 -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 +1 -1
- package/dist/shared/modules/dynamic/pages/dynamic-blade-list.vue.d.ts.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -4
- package/shared/modules/dynamic/factories/base/useDetailsFactory.ts +3 -3
- package/shared/modules/dynamic/factories/base/useListFactory.ts +2 -2
- package/shared/modules/dynamic/factories/types/index.ts +11 -2
- package/shared/modules/dynamic/pages/dynamic-blade-form.vue +11 -8
- package/shared/modules/dynamic/pages/dynamic-blade-list.vue +17 -7
- package/ui/components/atoms/vc-widget/vc-widget.vue +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vc-shell/framework",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.213",
|
|
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.
|
|
63
|
-
"@vc-shell/config-generator": "^1.0.
|
|
64
|
-
"@vc-shell/ts-config": "^1.0.
|
|
62
|
+
"@vc-shell/api-client-generator": "^1.0.213",
|
|
63
|
+
"@vc-shell/config-generator": "^1.0.213",
|
|
64
|
+
"@vc-shell/ts-config": "^1.0.213",
|
|
65
65
|
"@vitejs/plugin-vue": "^5.0.3",
|
|
66
66
|
"sass": "^1.69.6",
|
|
67
67
|
"shx": "^0.3.4",
|
|
@@ -6,9 +6,9 @@ import type { ItemId, IValidationState, UseDetails } from "../types";
|
|
|
6
6
|
import { createUnrefFn } from "@vueuse/core";
|
|
7
7
|
|
|
8
8
|
export interface UseDetailsFactoryParams<Item> {
|
|
9
|
-
load: (args?: ItemId) => Promise<Item | undefined
|
|
10
|
-
saveChanges?: (details: Item) => Promise<Item | void
|
|
11
|
-
remove?: (args: ItemId) => Promise<void
|
|
9
|
+
load: (args?: ItemId) => Promise<Item | undefined> | Item | undefined;
|
|
10
|
+
saveChanges?: (details: Item) => Promise<Item | void> | Item | void;
|
|
11
|
+
remove?: (args: ItemId) => Promise<void> | void;
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
export const useDetailsFactory = <Item>(factoryParams: UseDetailsFactoryParams<Item>) => {
|
|
@@ -9,8 +9,8 @@ interface ISearchResult<T> {
|
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
export interface UseListFactoryParams<Items extends Record<string, any>[], Query extends IQuery> {
|
|
12
|
-
load?: (query: Query, ...args: any[]) => Promise<ISearchResult<Items
|
|
13
|
-
remove?: (query: Query, customQuery: CustomQuery, ...args: any[]) => Promise<void
|
|
12
|
+
load?: (query: Query, ...args: any[]) => Promise<ISearchResult<Items>> | ISearchResult<Items>;
|
|
13
|
+
remove?: (query: Query, customQuery: CustomQuery, ...args: any[]) => Promise<void> | void;
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
export interface IQuery {
|
|
@@ -40,7 +40,7 @@ export type CustomQuery = { ids: string[] | null; allSelected?: boolean };
|
|
|
40
40
|
export interface UseDetails<Item, Scope extends DetailsBaseBladeScope = DetailsBaseBladeScope> {
|
|
41
41
|
load: AsyncAction<ItemId>;
|
|
42
42
|
saveChanges: AsyncAction<Item, Item | void>;
|
|
43
|
-
remove?: AsyncAction<ItemId>;
|
|
43
|
+
remove?: AsyncAction<ItemId | Item>;
|
|
44
44
|
loading: ComputedRef<boolean>;
|
|
45
45
|
item: Ref<Item | undefined>;
|
|
46
46
|
validationState: ComputedRef<IValidationState<Item>>;
|
|
@@ -76,12 +76,21 @@ export interface ListBaseBladeScope<Item = Record<string, any>, Query = Record<s
|
|
|
76
76
|
openDetailsBlade?: (
|
|
77
77
|
args?: Omit<Parameters<ReturnType<typeof useBladeNavigation>["openBlade"]>["0"], "blade">,
|
|
78
78
|
) => Promise<void> | void;
|
|
79
|
-
onListItemClick?: (
|
|
79
|
+
onListItemClick?: (
|
|
80
|
+
args: { item?: Item } & Omit<
|
|
81
|
+
Parameters<ReturnType<typeof useBladeNavigation>["openBlade"]>["0"],
|
|
82
|
+
"blade" | "param" | "options"
|
|
83
|
+
>,
|
|
84
|
+
) => void;
|
|
80
85
|
onPaginationClick?: (query: Query) => void;
|
|
81
86
|
breadcrumbs?: ComputedRef<Breadcrumbs[]>;
|
|
82
87
|
}
|
|
83
88
|
|
|
84
89
|
export type TOpenBladeArgs = Omit<Parameters<ReturnType<typeof useBladeNavigation>["openBlade"]>["0"], "blade">;
|
|
90
|
+
export type TListItemClickArgs<Item extends Record<string, any> = Record<string, any>> = Omit<
|
|
91
|
+
Parameters<ReturnType<typeof useBladeNavigation>["openBlade"]>["0"],
|
|
92
|
+
"blade" | "param" | "options"
|
|
93
|
+
> & { item?: Item | undefined };
|
|
85
94
|
|
|
86
95
|
export interface DetailsBaseBladeScope extends BaseBladeScope {
|
|
87
96
|
disabled?: ComputedRef<boolean | undefined> | Ref<boolean | undefined>;
|
|
@@ -288,15 +288,18 @@ const toolbarComputed =
|
|
|
288
288
|
) {
|
|
289
289
|
if (props.param) {
|
|
290
290
|
await remove?.({ id: unref(props.param) });
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
});
|
|
294
|
-
emit("parent:call", {
|
|
295
|
-
method: "updateActiveWidgetCount",
|
|
296
|
-
});
|
|
297
|
-
|
|
298
|
-
emit("close:blade");
|
|
291
|
+
} else {
|
|
292
|
+
await remove?.({ item: item.value });
|
|
299
293
|
}
|
|
294
|
+
|
|
295
|
+
emit("parent:call", {
|
|
296
|
+
method: "reload",
|
|
297
|
+
});
|
|
298
|
+
emit("parent:call", {
|
|
299
|
+
method: "updateActiveWidgetCount",
|
|
300
|
+
});
|
|
301
|
+
|
|
302
|
+
emit("close:blade");
|
|
300
303
|
}
|
|
301
304
|
},
|
|
302
305
|
disabled: computed(() => toValue(scope)?.disabled),
|
|
@@ -162,6 +162,7 @@ import {
|
|
|
162
162
|
toRefs,
|
|
163
163
|
provide,
|
|
164
164
|
isRef,
|
|
165
|
+
onMounted,
|
|
165
166
|
} from "vue";
|
|
166
167
|
import { useI18n } from "vue-i18n";
|
|
167
168
|
import { DynamicGridSchema, ListContentSchema, SettingsSchema } from "../types";
|
|
@@ -430,7 +431,22 @@ const openDetailsBlade = async () => {
|
|
|
430
431
|
|
|
431
432
|
const onItemClick = (item: { [x: string]: any; id?: string }) => {
|
|
432
433
|
if (!props.isWidgetView) {
|
|
433
|
-
|
|
434
|
+
// TODO Add to docs
|
|
435
|
+
if (scope && safeIn("onListItemClick", toValue(scope)) && typeof toValue(scope).onListItemClick === "function") {
|
|
436
|
+
toValue(scope).onListItemClick?.({
|
|
437
|
+
item,
|
|
438
|
+
onOpen() {
|
|
439
|
+
selectedItemId.value = item.id;
|
|
440
|
+
},
|
|
441
|
+
onClose() {
|
|
442
|
+
selectedItemId.value = undefined;
|
|
443
|
+
},
|
|
444
|
+
});
|
|
445
|
+
} else if (
|
|
446
|
+
scope &&
|
|
447
|
+
safeIn("openDetailsBlade", toValue(scope)) &&
|
|
448
|
+
typeof toValue(scope).openDetailsBlade === "function"
|
|
449
|
+
) {
|
|
434
450
|
toValue(scope).openDetailsBlade?.({
|
|
435
451
|
param: item.id,
|
|
436
452
|
onOpen() {
|
|
@@ -441,12 +457,6 @@ const onItemClick = (item: { [x: string]: any; id?: string }) => {
|
|
|
441
457
|
},
|
|
442
458
|
});
|
|
443
459
|
}
|
|
444
|
-
|
|
445
|
-
if (scope && safeIn("onListItemClick", toValue(scope)) && typeof toValue(scope).onListItemClick === "function") {
|
|
446
|
-
toValue(scope).onListItemClick?.({
|
|
447
|
-
item,
|
|
448
|
-
});
|
|
449
|
-
}
|
|
450
460
|
} else {
|
|
451
461
|
emit("item-click", { param: item.id });
|
|
452
462
|
}
|