@vc-shell/framework 1.1.55 → 1.1.57
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 +25 -0
- package/core/services/widget-service.ts +38 -8
- package/dist/core/services/widget-service.d.ts +13 -2
- package/dist/core/services/widget-service.d.ts.map +1 -1
- package/dist/framework.js +3396 -3417
- package/dist/index.css +1 -1
- package/dist/shared/composables/index.d.ts +0 -1
- package/dist/shared/composables/index.d.ts.map +1 -1
- package/dist/shared/composables/useExternalWidgets.d.ts +1 -6
- package/dist/shared/composables/useExternalWidgets.d.ts.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/ui/components/molecules/vc-editor/vc-editor.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-select/vc-select.vue.d.ts +4 -4
- package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-widget-container/_internal/vc-widget-container-desktop.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-widget-container/vc-widget-container.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-table/_internal/vc-table-header/vc-table-header.vue.d.ts +1 -1
- package/dist/ui/components/organisms/vc-table/_internal/vc-table-header/vc-table-header.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-table/types.d.ts +1 -1
- package/dist/ui/components/organisms/vc-table/types.d.ts.map +1 -1
- package/dist/{vendor-tiptap-core-BRY37Sb2.js → vendor-tiptap-core-CczYXVC4.js} +1 -1
- package/dist/{vendor-tiptap-extension-blockquote-CPd5qv-9.js → vendor-tiptap-extension-blockquote-Dm7YbSqy.js} +1 -1
- package/dist/{vendor-tiptap-extension-bold-B0GwBNks.js → vendor-tiptap-extension-bold-YKANgJQB.js} +1 -1
- package/dist/{vendor-tiptap-extension-bubble-menu-B0sZZld7.js → vendor-tiptap-extension-bubble-menu-gh-OpViI.js} +2 -2
- package/dist/{vendor-tiptap-extension-bullet-list-CQm4ReOu.js → vendor-tiptap-extension-bullet-list-CZWmGEbV.js} +1 -1
- package/dist/{vendor-tiptap-extension-code-C8cy6bRj.js → vendor-tiptap-extension-code-Bg0UZ8tC.js} +1 -1
- package/dist/{vendor-tiptap-extension-code-block-BqTchNEf.js → vendor-tiptap-extension-code-block-DQJ_tCBi.js} +1 -1
- package/dist/{vendor-tiptap-extension-document-Dka1Uu0g.js → vendor-tiptap-extension-document-CpCZXWQI.js} +1 -1
- package/dist/{vendor-tiptap-extension-dropcursor-CFSh-BuE.js → vendor-tiptap-extension-dropcursor-BVniwBbO.js} +1 -1
- package/dist/{vendor-tiptap-extension-floating-menu-H8PB4zeI.js → vendor-tiptap-extension-floating-menu-FkBnPfW6.js} +2 -2
- package/dist/{vendor-tiptap-extension-gapcursor-CzwfD_IT.js → vendor-tiptap-extension-gapcursor-XdrpVWvW.js} +1 -1
- package/dist/{vendor-tiptap-extension-hard-break-Rm6aVcrK.js → vendor-tiptap-extension-hard-break-N0r28gea.js} +1 -1
- package/dist/{vendor-tiptap-extension-heading-CavI6u1v.js → vendor-tiptap-extension-heading-CY1DvT1I.js} +1 -1
- package/dist/{vendor-tiptap-extension-history-WEN1_74D.js → vendor-tiptap-extension-history-BUL3NsZ9.js} +1 -1
- package/dist/{vendor-tiptap-extension-horizontal-rule-DZkUEL6s.js → vendor-tiptap-extension-horizontal-rule-D27m_G1b.js} +1 -1
- package/dist/{vendor-tiptap-extension-image-B67_mxGM.js → vendor-tiptap-extension-image-CbjGZU8i.js} +1 -1
- package/dist/{vendor-tiptap-extension-italic-BshxBFou.js → vendor-tiptap-extension-italic-zyDDu_SW.js} +1 -1
- package/dist/{vendor-tiptap-extension-link-CJAQIgui.js → vendor-tiptap-extension-link-Bcv4UeMa.js} +55 -47
- package/dist/{vendor-tiptap-extension-list-item-DF-iMpqO.js → vendor-tiptap-extension-list-item-DZU6bwbc.js} +1 -1
- package/dist/{vendor-tiptap-extension-ordered-list-CN8MF-kN.js → vendor-tiptap-extension-ordered-list-BXSeGf29.js} +1 -1
- package/dist/{vendor-tiptap-extension-paragraph-DI577lM5.js → vendor-tiptap-extension-paragraph-PDX7FACk.js} +1 -1
- package/dist/{vendor-tiptap-extension-placeholder-DwAtlfAF.js → vendor-tiptap-extension-placeholder-Ue_ElAEg.js} +1 -1
- package/dist/{vendor-tiptap-extension-strike-CIty09KN.js → vendor-tiptap-extension-strike-rl2UQZzW.js} +1 -1
- package/dist/{vendor-tiptap-extension-table-C5nv-GUb.js → vendor-tiptap-extension-table-B59LhE4D.js} +1 -1
- package/dist/{vendor-tiptap-extension-table-cell-DXbBhJW3.js → vendor-tiptap-extension-table-cell-9N0NKfpg.js} +1 -1
- package/dist/{vendor-tiptap-extension-table-header-rtggsYXA.js → vendor-tiptap-extension-table-header-DJTZtK2Z.js} +1 -1
- package/dist/{vendor-tiptap-extension-table-row-67khjMDt.js → vendor-tiptap-extension-table-row-D7Upcsrg.js} +1 -1
- package/dist/{vendor-tiptap-extension-text-D1OHb_a1.js → vendor-tiptap-extension-text-Buc1GYNc.js} +1 -1
- package/dist/{vendor-tiptap-extension-underline-IqWixw3m.js → vendor-tiptap-extension-underline-COmEda96.js} +1 -1
- package/dist/{vendor-tiptap-markdown-DVxB1hbO.js → vendor-tiptap-markdown-QcGJtrvN.js} +1 -1
- package/dist/{vendor-tiptap-starter-kit-CPH9gu2X.js → vendor-tiptap-starter-kit-rn_ARLXy.js} +19 -19
- package/dist/{vendor-tiptap-vue-3-CkBe4_xM.js → vendor-tiptap-vue-3-KDP_yBZF.js} +3 -3
- package/package.json +12 -12
- package/shared/composables/index.ts +0 -1
- package/shared/composables/useExternalWidgets.ts +36 -44
- package/ui/components/molecules/vc-editor/vc-editor.vue +11 -2
- package/ui/components/molecules/vc-select/vc-select.vue +1 -1
- package/ui/components/organisms/vc-blade/_internal/vc-blade-widget-container/_internal/vc-widget-container-desktop.vue +1 -0
- package/ui/components/organisms/vc-blade/_internal/vc-blade-widget-container/vc-widget-container.vue +31 -13
- package/ui/components/organisms/vc-table/_internal/vc-table-header/vc-table-header.vue +1 -1
- package/ui/components/organisms/vc-table/types.ts +1 -1
- package/dist/shared/composables/useBladeMultilanguage.d.ts +0 -28
- package/dist/shared/composables/useBladeMultilanguage.d.ts.map +0 -1
- package/shared/composables/useBladeMultilanguage.ts +0 -75
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,28 @@
|
|
|
1
|
+
## [1.1.57](https://github.com/VirtoCommerce/vc-shell/compare/v1.1.56...v1.1.57) (2025-07-10)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* **vc-editor:** update disabled text and background colors ([0ee79c5](https://github.com/VirtoCommerce/vc-shell/commit/0ee79c59bcc631ae5ee8868032dc626ec8fca890))
|
|
7
|
+
* **vc-select:** update modelValue type to support multiple option formats ([1f163a8](https://github.com/VirtoCommerce/vc-shell/commit/1f163a8cc7679d2aa5f5a94db49d79b3f98fe247))
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
### Features
|
|
11
|
+
|
|
12
|
+
* **vc-widget-container:** add click event to toggle toolbar visibility on click ([007931f](https://github.com/VirtoCommerce/vc-shell/commit/007931f8c86b224a5b03a1ad321f633eace715ec))
|
|
13
|
+
* **widget-service:** add methods to retrieve all external widgets and clone widgets for improved widget management ([2806152](https://github.com/VirtoCommerce/vc-shell/commit/2806152873d85bbee9877ef2ead9d2ceabcca0a6))
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## [1.1.56](https://github.com/VirtoCommerce/vc-shell/compare/v1.1.55...v1.1.56) (2025-07-08)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Bug Fixes
|
|
21
|
+
|
|
22
|
+
* **vc-editor:** update list styles for unordered and ordered lists in the editor component ([2dd3fc2](https://github.com/VirtoCommerce/vc-shell/commit/2dd3fc22e9fef098c800ebe93c5e3e5f5e760333))
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
1
26
|
## [1.1.55](https://github.com/VirtoCommerce/vc-shell/compare/v1.1.54...v1.1.55) (2025-07-07)
|
|
2
27
|
|
|
3
28
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Component, reactive, ref, ComponentInternalInstance, ComputedRef, Ref, getCurrentInstance } from "vue";
|
|
2
2
|
import { IBladeInstance } from "../../shared/components/blade-navigation/types";
|
|
3
|
+
import { cloneDeep } from "lodash-es";
|
|
3
4
|
|
|
4
5
|
export type WidgetEventHandler = (...args: unknown[]) => void;
|
|
5
6
|
|
|
@@ -61,7 +62,9 @@ export interface IWidgetService {
|
|
|
61
62
|
isWidgetRegistered: (id: string) => boolean;
|
|
62
63
|
updateWidget: ({ id, bladeId, widget }: { id: string; bladeId: string; widget: Partial<IWidget> }) => void;
|
|
63
64
|
resolveWidgetProps: (widget: IWidget, bladeData: Record<string, unknown>) => Record<string, unknown>;
|
|
64
|
-
getExternalWidgetsForBlade: (
|
|
65
|
+
getExternalWidgetsForBlade: (bladeId: string) => IExternalWidgetRegistration[];
|
|
66
|
+
getAllExternalWidgets: () => IExternalWidgetRegistration[];
|
|
67
|
+
cloneWidget: <T extends IWidget | IExternalWidgetRegistration>(widget: T) => T;
|
|
65
68
|
}
|
|
66
69
|
|
|
67
70
|
// Global state for pre-registering widgets
|
|
@@ -90,8 +93,24 @@ export function registerExternalWidget(widget: IExternalWidgetRegistration): voi
|
|
|
90
93
|
/**
|
|
91
94
|
* Gets list of external widgets for a specific blade type
|
|
92
95
|
*/
|
|
93
|
-
export function getExternalWidgetsForBlade(
|
|
94
|
-
return externalWidgets.filter((widget) => !widget.targetBlades || widget.targetBlades.includes(
|
|
96
|
+
export function getExternalWidgetsForBlade(bladeId: string): IExternalWidgetRegistration[] {
|
|
97
|
+
return externalWidgets.filter((widget) => !widget.targetBlades || widget.targetBlades.includes(bladeId));
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Gets all external widgets
|
|
102
|
+
*/
|
|
103
|
+
export function getAllExternalWidgets(): IExternalWidgetRegistration[] {
|
|
104
|
+
return externalWidgets;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Deep clones a widget to avoid modifying the original registered widget
|
|
109
|
+
* For now, this is a structured clone, but we can make it more robust if needed
|
|
110
|
+
*/
|
|
111
|
+
export function cloneWidget<T extends IWidget | IExternalWidgetRegistration>(widget: T): T {
|
|
112
|
+
// Using structuredClone for a deep copy
|
|
113
|
+
return cloneDeep(widget);
|
|
95
114
|
}
|
|
96
115
|
|
|
97
116
|
export function createWidgetService(): IWidgetService {
|
|
@@ -122,17 +141,22 @@ export function createWidgetService(): IWidgetService {
|
|
|
122
141
|
return widget.props || {};
|
|
123
142
|
}
|
|
124
143
|
|
|
125
|
-
let resolvedProps: Record<string, unknown> = {
|
|
144
|
+
let resolvedProps: Record<string, unknown> = {};
|
|
126
145
|
|
|
127
146
|
// If there is a custom resolver
|
|
128
147
|
if (widget.config.propsResolver) {
|
|
129
148
|
try {
|
|
130
149
|
const customProps = widget.config.propsResolver(bladeData);
|
|
131
|
-
resolvedProps = { ...
|
|
150
|
+
resolvedProps = { ...widget.props, ...customProps };
|
|
132
151
|
} catch (error) {
|
|
133
152
|
console.error(`Error in propsResolver for widget '${widget.id}':`, error);
|
|
153
|
+
// Fallback to existing props if resolver fails
|
|
154
|
+
resolvedProps = { ...widget.props };
|
|
134
155
|
}
|
|
135
156
|
} else {
|
|
157
|
+
// Start with existing props as base
|
|
158
|
+
resolvedProps = { ...widget.props };
|
|
159
|
+
|
|
136
160
|
// Standard logic for resolving props
|
|
137
161
|
const { requiredData = [], optionalData = [], fieldMapping = {} } = widget.config;
|
|
138
162
|
|
|
@@ -164,7 +188,11 @@ export function createWidgetService(): IWidgetService {
|
|
|
164
188
|
if (widgetRegistry[normalizedBladeId]) {
|
|
165
189
|
const index = widgetRegistry[normalizedBladeId].findIndex((w) => w.id === id);
|
|
166
190
|
if (index !== -1) {
|
|
167
|
-
|
|
191
|
+
// Preserve reactivity by updating properties instead of replacing the entire object
|
|
192
|
+
const existingWidget = widgetRegistry[normalizedBladeId][index];
|
|
193
|
+
|
|
194
|
+
// Update properties using Object.assign to maintain reactivity
|
|
195
|
+
Object.assign(existingWidget, widget);
|
|
168
196
|
}
|
|
169
197
|
}
|
|
170
198
|
};
|
|
@@ -255,8 +283,8 @@ export function createWidgetService(): IWidgetService {
|
|
|
255
283
|
return activeWidget.value?.widgetId === id;
|
|
256
284
|
};
|
|
257
285
|
|
|
258
|
-
const getExternalWidgetsForBladeLocal = (
|
|
259
|
-
return getExternalWidgetsForBlade(
|
|
286
|
+
const getExternalWidgetsForBladeLocal = (bladeId: string): IExternalWidgetRegistration[] => {
|
|
287
|
+
return getExternalWidgetsForBlade(bladeId.toLowerCase());
|
|
260
288
|
};
|
|
261
289
|
|
|
262
290
|
preregisteredWidgets.forEach((widget) => {
|
|
@@ -280,5 +308,7 @@ export function createWidgetService(): IWidgetService {
|
|
|
280
308
|
updateWidget,
|
|
281
309
|
resolveWidgetProps,
|
|
282
310
|
getExternalWidgetsForBlade: getExternalWidgetsForBladeLocal,
|
|
311
|
+
getAllExternalWidgets,
|
|
312
|
+
cloneWidget,
|
|
283
313
|
};
|
|
284
314
|
}
|
|
@@ -56,7 +56,9 @@ export interface IWidgetService {
|
|
|
56
56
|
widget: Partial<IWidget>;
|
|
57
57
|
}) => void;
|
|
58
58
|
resolveWidgetProps: (widget: IWidget, bladeData: Record<string, unknown>) => Record<string, unknown>;
|
|
59
|
-
getExternalWidgetsForBlade: (
|
|
59
|
+
getExternalWidgetsForBlade: (bladeId: string) => IExternalWidgetRegistration[];
|
|
60
|
+
getAllExternalWidgets: () => IExternalWidgetRegistration[];
|
|
61
|
+
cloneWidget: <T extends IWidget | IExternalWidgetRegistration>(widget: T) => T;
|
|
60
62
|
}
|
|
61
63
|
/**
|
|
62
64
|
* Registers a widget before the service is initialized
|
|
@@ -69,6 +71,15 @@ export declare function registerExternalWidget(widget: IExternalWidgetRegistrati
|
|
|
69
71
|
/**
|
|
70
72
|
* Gets list of external widgets for a specific blade type
|
|
71
73
|
*/
|
|
72
|
-
export declare function getExternalWidgetsForBlade(
|
|
74
|
+
export declare function getExternalWidgetsForBlade(bladeId: string): IExternalWidgetRegistration[];
|
|
75
|
+
/**
|
|
76
|
+
* Gets all external widgets
|
|
77
|
+
*/
|
|
78
|
+
export declare function getAllExternalWidgets(): IExternalWidgetRegistration[];
|
|
79
|
+
/**
|
|
80
|
+
* Deep clones a widget to avoid modifying the original registered widget
|
|
81
|
+
* For now, this is a structured clone, but we can make it more robust if needed
|
|
82
|
+
*/
|
|
83
|
+
export declare function cloneWidget<T extends IWidget | IExternalWidgetRegistration>(widget: T): T;
|
|
73
84
|
export declare function createWidgetService(): IWidgetService;
|
|
74
85
|
//# sourceMappingURL=widget-service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"widget-service.d.ts","sourceRoot":"","sources":["../../../core/services/widget-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAiB,yBAAyB,EAAE,WAAW,EAAE,GAAG,EAAsB,MAAM,KAAK,CAAC;AAChH,OAAO,EAAE,cAAc,EAAE,MAAM,gDAAgD,CAAC;
|
|
1
|
+
{"version":3,"file":"widget-service.d.ts","sourceRoot":"","sources":["../../../core/services/widget-service.ts"],"names":[],"mappings":"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"}
|