@vc-shell/framework 1.0.211 → 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 +24 -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 +2 -2
- 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 +4 -4
- 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 +12 -10
- package/shared/modules/dynamic/pages/dynamic-blade-list.vue +18 -9
- 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>;
|
|
@@ -81,7 +81,6 @@ import {
|
|
|
81
81
|
toRefs,
|
|
82
82
|
provide,
|
|
83
83
|
toRef,
|
|
84
|
-
MaybeRef,
|
|
85
84
|
} from "vue";
|
|
86
85
|
import { DynamicDetailsSchema, FormContentSchema, SettingsSchema } from "../types";
|
|
87
86
|
import { reactiveComputed, toReactive, useMounted, useTemplateRefsList } from "@vueuse/core";
|
|
@@ -105,7 +104,7 @@ import { notification } from "../../../components";
|
|
|
105
104
|
interface Props {
|
|
106
105
|
expanded?: boolean;
|
|
107
106
|
closable?: boolean;
|
|
108
|
-
param?:
|
|
107
|
+
param?: string;
|
|
109
108
|
model?: DynamicDetailsSchema;
|
|
110
109
|
options?: {
|
|
111
110
|
[x: string]: unknown;
|
|
@@ -289,15 +288,18 @@ const toolbarComputed =
|
|
|
289
288
|
) {
|
|
290
289
|
if (props.param) {
|
|
291
290
|
await remove?.({ id: unref(props.param) });
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
});
|
|
295
|
-
emit("parent:call", {
|
|
296
|
-
method: "updateActiveWidgetCount",
|
|
297
|
-
});
|
|
298
|
-
|
|
299
|
-
emit("close:blade");
|
|
291
|
+
} else {
|
|
292
|
+
await remove?.({ item: item.value });
|
|
300
293
|
}
|
|
294
|
+
|
|
295
|
+
emit("parent:call", {
|
|
296
|
+
method: "reload",
|
|
297
|
+
});
|
|
298
|
+
emit("parent:call", {
|
|
299
|
+
method: "updateActiveWidgetCount",
|
|
300
|
+
});
|
|
301
|
+
|
|
302
|
+
emit("close:blade");
|
|
301
303
|
}
|
|
302
304
|
},
|
|
303
305
|
disabled: computed(() => toValue(scope)?.disabled),
|
|
@@ -162,7 +162,7 @@ import {
|
|
|
162
162
|
toRefs,
|
|
163
163
|
provide,
|
|
164
164
|
isRef,
|
|
165
|
-
|
|
165
|
+
onMounted,
|
|
166
166
|
} from "vue";
|
|
167
167
|
import { useI18n } from "vue-i18n";
|
|
168
168
|
import { DynamicGridSchema, ListContentSchema, SettingsSchema } from "../types";
|
|
@@ -180,7 +180,7 @@ import { safeIn } from "../helpers/safeIn";
|
|
|
180
180
|
export interface Props {
|
|
181
181
|
expanded?: boolean;
|
|
182
182
|
closable?: boolean;
|
|
183
|
-
param?:
|
|
183
|
+
param?: string;
|
|
184
184
|
options?: unknown;
|
|
185
185
|
model?: DynamicGridSchema;
|
|
186
186
|
composables?: Record<string, (...args: any[]) => Record<string, any>>;
|
|
@@ -431,7 +431,22 @@ const openDetailsBlade = async () => {
|
|
|
431
431
|
|
|
432
432
|
const onItemClick = (item: { [x: string]: any; id?: string }) => {
|
|
433
433
|
if (!props.isWidgetView) {
|
|
434
|
-
|
|
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
|
+
) {
|
|
435
450
|
toValue(scope).openDetailsBlade?.({
|
|
436
451
|
param: item.id,
|
|
437
452
|
onOpen() {
|
|
@@ -442,12 +457,6 @@ const onItemClick = (item: { [x: string]: any; id?: string }) => {
|
|
|
442
457
|
},
|
|
443
458
|
});
|
|
444
459
|
}
|
|
445
|
-
|
|
446
|
-
if (scope && safeIn("onListItemClick", toValue(scope)) && typeof toValue(scope).onListItemClick === "function") {
|
|
447
|
-
toValue(scope).onListItemClick?.({
|
|
448
|
-
item,
|
|
449
|
-
});
|
|
450
|
-
}
|
|
451
460
|
} else {
|
|
452
461
|
emit("item-click", { param: item.id });
|
|
453
462
|
}
|