@ibiz-template/vue3-components 0.7.41-alpha.122 → 0.7.41-alpha.124
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/dist/chart-D8ak71ob.js +1 -0
- package/dist/index-BApiCD3N.js +339 -0
- package/dist/{index.es-i_3v13Rd.js → index.es-16xILT5D.js} +1 -1
- package/dist/index.min.css +1 -1
- package/dist/index.system.min.js +1 -1
- package/dist/{wang-editor-CgYOgqC_.js → wang-editor-BjVpWCI4.js} +1 -1
- package/dist/{xlsx-util-B2yu2RZe.js → xlsx-util-BJgXbQ94.js} +1 -1
- package/es/common/data-import/data-import.mjs +1 -1
- package/es/control/chart/chart.mjs +30 -20
- package/es/control/data-view/data-view.mjs +27 -12
- package/es/control/data-view/data-view.util.mjs +43 -0
- package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid/repeater-grid.mjs +2 -1
- package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid2/repeater-grid2.mjs +2 -1
- package/es/control/grid/grid/grid-control.util.mjs +8 -7
- package/es/control/grid/grid/grid.mjs +32 -30
- package/es/control/list/list.mjs +10 -2
- package/es/control/tree/tree.mjs +12 -3
- package/es/control/tree-grid/tree-grid.mjs +33 -29
- package/es/control/tree-grid-ex/tree-grid-ex.mjs +32 -27
- package/es/editor/autocomplete/autocomplete-editor.controller.mjs +1 -2
- package/es/editor/data-picker/picker-editor.controller.mjs +1 -2
- package/es/editor/list-box/list-box-picker-editor.controller.mjs +2 -5
- package/es/editor/map-picker/map-picker-editor.controller.mjs +1 -1
- package/es/editor/text-box/input/input.mjs +1 -1
- package/es/panel-component/auth-userinfo/auth-userinfo.mjs +1 -1
- package/es/panel-component/global-search/global-search.controller.mjs +1 -4
- package/es/panel-component/user-action/user-action.mjs +3 -3
- package/es/panel-component/user-message/user-message.mjs +1 -1
- package/es/util/ai-chat-util/ai-chat-util.mjs +11 -0
- package/es/view/403-view/403-view.mjs +1 -1
- package/es/view/404-view/404-view.mjs +1 -1
- package/es/view/login-view/login-view.mjs +2 -3
- package/es/view/share-view/share-view.mjs +1 -1
- package/es/view/unauthorized-view/unauthorized-view.mjs +1 -1
- package/es/web-app/guard/auth-guard/auth-guard.mjs +3 -1
- package/es/web-app/guard/auth-guard/dyna-auth-guard.mjs +7 -1
- package/lib/common/data-import/data-import.cjs +1 -1
- package/lib/control/chart/chart.cjs +29 -19
- package/lib/control/data-view/data-view.cjs +25 -10
- package/lib/control/data-view/data-view.util.cjs +45 -0
- package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid/repeater-grid.cjs +2 -1
- package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid2/repeater-grid2.cjs +2 -1
- package/lib/control/grid/grid/grid-control.util.cjs +8 -7
- package/lib/control/grid/grid/grid.cjs +32 -30
- package/lib/control/list/list.cjs +8 -0
- package/lib/control/tree/tree.cjs +11 -2
- package/lib/control/tree-grid/tree-grid.cjs +32 -28
- package/lib/control/tree-grid-ex/tree-grid-ex.cjs +31 -26
- package/lib/editor/autocomplete/autocomplete-editor.controller.cjs +1 -2
- package/lib/editor/data-picker/picker-editor.controller.cjs +1 -2
- package/lib/editor/list-box/list-box-picker-editor.controller.cjs +2 -5
- package/lib/editor/map-picker/map-picker-editor.controller.cjs +1 -1
- package/lib/editor/text-box/input/input.cjs +1 -1
- package/lib/panel-component/auth-userinfo/auth-userinfo.cjs +1 -1
- package/lib/panel-component/global-search/global-search.controller.cjs +1 -4
- package/lib/panel-component/user-action/user-action.cjs +3 -3
- package/lib/panel-component/user-message/user-message.cjs +1 -1
- package/lib/util/ai-chat-util/ai-chat-util.cjs +11 -0
- package/lib/view/403-view/403-view.cjs +1 -1
- package/lib/view/404-view/404-view.cjs +1 -1
- package/lib/view/login-view/login-view.cjs +2 -3
- package/lib/view/share-view/share-view.cjs +1 -1
- package/lib/view/unauthorized-view/unauthorized-view.cjs +1 -1
- package/lib/web-app/guard/auth-guard/auth-guard.cjs +3 -1
- package/lib/web-app/guard/auth-guard/dyna-auth-guard.cjs +7 -1
- package/package.json +5 -5
- package/src/common/data-import/data-import.tsx +1 -1
- package/src/control/chart/chart.tsx +42 -36
- package/src/control/data-view/data-view.tsx +32 -15
- package/src/control/data-view/data-view.util.ts +68 -0
- package/src/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid/repeater-grid.tsx +3 -1
- package/src/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid2/repeater-grid2.tsx +3 -0
- package/src/control/grid/grid/grid-control.util.ts +12 -11
- package/src/control/grid/grid/grid.tsx +46 -35
- package/src/control/list/list.tsx +20 -1
- package/src/control/tree/tree.tsx +18 -4
- package/src/control/tree-grid/tree-grid.tsx +46 -33
- package/src/control/tree-grid-ex/tree-grid-ex.tsx +45 -25
- package/src/editor/autocomplete/autocomplete-editor.controller.ts +1 -2
- package/src/editor/data-picker/picker-editor.controller.ts +1 -2
- package/src/editor/list-box/list-box-picker-editor.controller.ts +2 -6
- package/src/editor/map-picker/map-picker-editor.controller.ts +1 -1
- package/src/editor/text-box/input/input.tsx +1 -1
- package/src/panel-component/auth-userinfo/auth-userinfo.tsx +1 -1
- package/src/panel-component/global-search/global-search.controller.ts +1 -5
- package/src/panel-component/user-action/user-action.tsx +3 -3
- package/src/panel-component/user-message/user-message.tsx +1 -1
- package/src/util/ai-chat-util/ai-chat-util.ts +17 -0
- package/src/view/403-view/403-view.tsx +1 -1
- package/src/view/404-view/404-view.tsx +1 -4
- package/src/view/login-view/login-view.tsx +3 -3
- package/src/view/share-view/share-view.tsx +1 -1
- package/src/view/unauthorized-view/unauthorized-view.tsx +1 -4
- package/src/web-app/guard/auth-guard/auth-guard.ts +3 -4
- package/src/web-app/guard/auth-guard/dyna-auth-guard.ts +18 -1
- package/dist/chart-De-66DWN.js +0 -1
- package/dist/index-BXO4Omap.js +0 -339
|
@@ -112,6 +112,32 @@ const TreeGridControl = /* @__PURE__ */ vue.defineComponent({
|
|
|
112
112
|
semanticClass,
|
|
113
113
|
semanticStyle
|
|
114
114
|
} = vue3Util.useSemanticNode(c);
|
|
115
|
+
const childClass = [{
|
|
116
|
+
class: semanticClass("body.row"),
|
|
117
|
+
selector: ".el-table__row"
|
|
118
|
+
}, {
|
|
119
|
+
class: semanticClass("header.row"),
|
|
120
|
+
selector: ".el-table__header tr"
|
|
121
|
+
}, {
|
|
122
|
+
class: semanticClass("body.cell"),
|
|
123
|
+
selector: ".el-table__body .el-table__cell"
|
|
124
|
+
}, {
|
|
125
|
+
class: semanticClass("header.cell"),
|
|
126
|
+
selector: ".el-table__header .el-table__cell"
|
|
127
|
+
}];
|
|
128
|
+
const childStyle = [{
|
|
129
|
+
class: semanticStyle("body.row"),
|
|
130
|
+
selector: ".el-table__row"
|
|
131
|
+
}, {
|
|
132
|
+
class: semanticStyle("header.row"),
|
|
133
|
+
selector: ".el-table__header tr"
|
|
134
|
+
}, {
|
|
135
|
+
class: semanticStyle("body.cell"),
|
|
136
|
+
selector: ".el-table__body .el-table__cell"
|
|
137
|
+
}, {
|
|
138
|
+
class: semanticStyle("header.cell"),
|
|
139
|
+
selector: ".el-table__header .el-table__cell"
|
|
140
|
+
}];
|
|
115
141
|
const {
|
|
116
142
|
tableRef,
|
|
117
143
|
onRowClick,
|
|
@@ -283,6 +309,8 @@ const TreeGridControl = /* @__PURE__ */ vue.defineComponent({
|
|
|
283
309
|
semanticClass,
|
|
284
310
|
semanticStyle,
|
|
285
311
|
pageSemantic,
|
|
312
|
+
childClass,
|
|
313
|
+
childStyle,
|
|
286
314
|
loadData,
|
|
287
315
|
onRowClick,
|
|
288
316
|
renderColumn,
|
|
@@ -317,7 +345,7 @@ const TreeGridControl = /* @__PURE__ */ vue.defineComponent({
|
|
|
317
345
|
}, {
|
|
318
346
|
default: () => {
|
|
319
347
|
var _a;
|
|
320
|
-
return [this.c.state.isLoaded && vue.createVNode(vue.resolveComponent("el-table"), vue.mergeProps({
|
|
348
|
+
return [this.c.state.isLoaded && vue.withDirectives(vue.createVNode(vue.resolveComponent("el-table"), vue.mergeProps({
|
|
321
349
|
"lazy": true,
|
|
322
350
|
"border": true,
|
|
323
351
|
"ref": "tableRef",
|
|
@@ -338,32 +366,8 @@ const TreeGridControl = /* @__PURE__ */ vue.defineComponent({
|
|
|
338
366
|
"onSelectionChange": this.onSelectionChange,
|
|
339
367
|
"highlight-current-row": state.singleSelect,
|
|
340
368
|
"onExpandChange": (row, expanded) => this.c.expandChange(row, expanded),
|
|
341
|
-
"row-class-name":
|
|
342
|
-
|
|
343
|
-
event
|
|
344
|
-
})].join(" ");
|
|
345
|
-
},
|
|
346
|
-
"header-row-class-name": (...args) => this.semanticClass("header.row", {
|
|
347
|
-
args
|
|
348
|
-
}),
|
|
349
|
-
"row-style": (...args) => this.semanticStyle("body.row", {
|
|
350
|
-
args
|
|
351
|
-
}),
|
|
352
|
-
"header-row-style": (...args) => this.semanticStyle("header.row", {
|
|
353
|
-
args
|
|
354
|
-
}),
|
|
355
|
-
"cell-class-name": (...args) => this.semanticClass("body.cell", {
|
|
356
|
-
args
|
|
357
|
-
}),
|
|
358
|
-
"header-cell-class-name": (data) => {
|
|
359
|
-
return [this.handleHeaderCellClassName(data), this.semanticClass("header.cell", {
|
|
360
|
-
event: data
|
|
361
|
-
})].join(" ");
|
|
362
|
-
},
|
|
363
|
-
"cell-style": (...args) => this.semanticStyle("body.cell", {
|
|
364
|
-
args
|
|
365
|
-
}),
|
|
366
|
-
"header-cell-style": this.semanticStyle("header.cell"),
|
|
369
|
+
"row-class-name": this.handleRowClassName,
|
|
370
|
+
"header-cell-class-name": this.handleHeaderCellClassName,
|
|
367
371
|
"tree-props": {
|
|
368
372
|
children: "children",
|
|
369
373
|
hasChildren: "hasChildren"
|
|
@@ -387,7 +391,7 @@ const TreeGridControl = /* @__PURE__ */ vue.defineComponent({
|
|
|
387
391
|
append: () => {
|
|
388
392
|
return this.renderPopover();
|
|
389
393
|
}
|
|
390
|
-
}), enablePagingBar && vue.createVNode(vue.resolveComponent("iBizPagination"), {
|
|
394
|
+
}), [[vue.resolveDirective("child-class"), this.childClass], [vue.resolveDirective("child-style"), this.childStyle]]), enablePagingBar && vue.createVNode(vue.resolveComponent("iBizPagination"), {
|
|
391
395
|
"class": this.semanticClass("pagination"),
|
|
392
396
|
"style": this.semanticStyle("pagination"),
|
|
393
397
|
"semantic": this.pageSemantic,
|
|
@@ -63,6 +63,32 @@ const TreeGridExControl = /* @__PURE__ */ vue.defineComponent({
|
|
|
63
63
|
semanticClass,
|
|
64
64
|
semanticStyle
|
|
65
65
|
} = vue3Util.useSemanticNode(c);
|
|
66
|
+
const childClass = [{
|
|
67
|
+
class: semanticClass("body.row"),
|
|
68
|
+
selector: ".el-table__row"
|
|
69
|
+
}, {
|
|
70
|
+
class: semanticClass("header.row"),
|
|
71
|
+
selector: ".el-table__header tr"
|
|
72
|
+
}, {
|
|
73
|
+
class: semanticClass("body.cell"),
|
|
74
|
+
selector: ".el-table__body .el-table__cell"
|
|
75
|
+
}, {
|
|
76
|
+
class: semanticClass("header.cell"),
|
|
77
|
+
selector: ".el-table__header .el-table__cell"
|
|
78
|
+
}];
|
|
79
|
+
const childStyle = [{
|
|
80
|
+
class: semanticStyle("body.row"),
|
|
81
|
+
selector: ".el-table__row"
|
|
82
|
+
}, {
|
|
83
|
+
class: semanticStyle("header.row"),
|
|
84
|
+
selector: ".el-table__header tr"
|
|
85
|
+
}, {
|
|
86
|
+
class: semanticStyle("body.cell"),
|
|
87
|
+
selector: ".el-table__body .el-table__cell"
|
|
88
|
+
}, {
|
|
89
|
+
class: semanticStyle("header.cell"),
|
|
90
|
+
selector: ".el-table__header .el-table__cell"
|
|
91
|
+
}];
|
|
66
92
|
const renderNoData = () => {
|
|
67
93
|
const {
|
|
68
94
|
isLoaded
|
|
@@ -215,6 +241,8 @@ const TreeGridExControl = /* @__PURE__ */ vue.defineComponent({
|
|
|
215
241
|
tableRefreshKey,
|
|
216
242
|
semanticClass,
|
|
217
243
|
semanticStyle,
|
|
244
|
+
childClass,
|
|
245
|
+
childStyle,
|
|
218
246
|
loadData,
|
|
219
247
|
onRowClick,
|
|
220
248
|
renderNoData,
|
|
@@ -295,7 +323,7 @@ const TreeGridExControl = /* @__PURE__ */ vue.defineComponent({
|
|
|
295
323
|
"class": [this.ns.b(), this.semanticClass("root")],
|
|
296
324
|
"style": this.semanticStyle("root")
|
|
297
325
|
}, {
|
|
298
|
-
default: () => [this.c.state.isLoaded && vue.createVNode(vue.resolveComponent("el-table"), vue.mergeProps({
|
|
326
|
+
default: () => [this.c.state.isLoaded && vue.withDirectives(vue.createVNode(vue.resolveComponent("el-table"), vue.mergeProps({
|
|
299
327
|
"ref": "tableRef",
|
|
300
328
|
"key": this.tableRefreshKey,
|
|
301
329
|
"class": [this.ns.e("table"), this.semanticClass("content")],
|
|
@@ -310,30 +338,7 @@ const TreeGridExControl = /* @__PURE__ */ vue.defineComponent({
|
|
|
310
338
|
"lazy": true,
|
|
311
339
|
"onRowClick": this.onRowClick,
|
|
312
340
|
"onExpandChange": this.onExpandChange,
|
|
313
|
-
"row-class-name":
|
|
314
|
-
return [this.handleRowClassName(event), this.semanticClass("body.row", {
|
|
315
|
-
event
|
|
316
|
-
})].join(" ");
|
|
317
|
-
},
|
|
318
|
-
"header-row-class-name": (...args) => this.semanticClass("header.row", {
|
|
319
|
-
args
|
|
320
|
-
}),
|
|
321
|
-
"row-style": (...args) => this.semanticStyle("body.row", {
|
|
322
|
-
args
|
|
323
|
-
}),
|
|
324
|
-
"header-row-style": (...args) => this.semanticStyle("header.row", {
|
|
325
|
-
args
|
|
326
|
-
}),
|
|
327
|
-
"cell-class-name": (...args) => this.semanticClass("body.cell", {
|
|
328
|
-
args
|
|
329
|
-
}),
|
|
330
|
-
"header-cell-class-name": (...args) => this.semanticClass("header.cell", {
|
|
331
|
-
args
|
|
332
|
-
}),
|
|
333
|
-
"cell-style": (...args) => this.semanticStyle("body.cell", {
|
|
334
|
-
args
|
|
335
|
-
}),
|
|
336
|
-
"header-cell-style": this.semanticStyle("header.cell"),
|
|
341
|
+
"row-class-name": this.handleRowClassName,
|
|
337
342
|
"load": this.loadData
|
|
338
343
|
}, renderAttrs(this.c.model, {
|
|
339
344
|
...this.c.getEventArgs()
|
|
@@ -347,7 +352,7 @@ const TreeGridExControl = /* @__PURE__ */ vue.defineComponent({
|
|
|
347
352
|
append: () => {
|
|
348
353
|
return this.renderPopover();
|
|
349
354
|
}
|
|
350
|
-
})]
|
|
355
|
+
}), [[vue.resolveDirective("child-class"), this.childClass], [vue.resolveDirective("child-style"), this.childStyle]])]
|
|
351
356
|
})]
|
|
352
357
|
});
|
|
353
358
|
}
|
|
@@ -188,9 +188,8 @@ class PickerEditorController extends runtime.EditorController {
|
|
|
188
188
|
}
|
|
189
189
|
);
|
|
190
190
|
}
|
|
191
|
-
if (this.deACMode
|
|
191
|
+
if (this.deACMode)
|
|
192
192
|
this.acItemProvider = await runtime.getAcItemProvider(this.deACMode);
|
|
193
|
-
}
|
|
194
193
|
}
|
|
195
194
|
}
|
|
196
195
|
}
|
|
@@ -66,11 +66,8 @@ class ListBoxPickerEditorController extends runtime.EditorController {
|
|
|
66
66
|
this.model.appDataEntityId,
|
|
67
67
|
this.context.srfappid
|
|
68
68
|
);
|
|
69
|
-
if (this.deACMode)
|
|
70
|
-
|
|
71
|
-
this.acItemProvider = await runtime.getAcItemProvider(this.deACMode);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
69
|
+
if (this.deACMode)
|
|
70
|
+
this.acItemProvider = await runtime.getAcItemProvider(this.deACMode);
|
|
74
71
|
}
|
|
75
72
|
}
|
|
76
73
|
}
|
|
@@ -24,7 +24,7 @@ class MapPickerEditorController extends runtime.EditorController {
|
|
|
24
24
|
* @type {string}
|
|
25
25
|
* @memberof MapPickerEditorController
|
|
26
26
|
*/
|
|
27
|
-
__publicField(this, "markerIcon",
|
|
27
|
+
__publicField(this, "markerIcon", ibiz.config.imageAssets.poiMarker);
|
|
28
28
|
/**
|
|
29
29
|
* @description 默认中心点坐标
|
|
30
30
|
* @memberof MapPickerEditorController
|
|
@@ -410,7 +410,7 @@ const IBizInput = /* @__PURE__ */ vue.defineComponent({
|
|
|
410
410
|
"title": ibiz.i18n.t("editor.textBox.openAiChat"),
|
|
411
411
|
"onClick": this.onClick
|
|
412
412
|
}, [vue.createVNode("ion-icon", {
|
|
413
|
-
"src":
|
|
413
|
+
"src": ibiz.config.imageAssets.chat
|
|
414
414
|
}, null)]) : null]);
|
|
415
415
|
}
|
|
416
416
|
});
|
|
@@ -92,7 +92,7 @@ const AuthUserinfo = /* @__PURE__ */ vue.defineComponent({
|
|
|
92
92
|
}, [vue.createVNode(vue.resolveComponent("el-avatar"), {
|
|
93
93
|
"class": [this.ns.b("avatar"), this.semanticClass("avatar")],
|
|
94
94
|
"style": this.semanticStyle("avatar"),
|
|
95
|
-
"src":
|
|
95
|
+
"src": ibiz.config.imageAssets.userAvatar
|
|
96
96
|
}, null), vue.createVNode("div", {
|
|
97
97
|
"class": [this.ns.b("name"), this.ns.is("collapse", this.isCollapse), this.semanticClass("name")],
|
|
98
98
|
"style": this.semanticStyle("name")
|
|
@@ -181,10 +181,7 @@ class GlobalSearchController extends runtime.PanelItemController {
|
|
|
181
181
|
func.appId
|
|
182
182
|
);
|
|
183
183
|
if (deACMode) {
|
|
184
|
-
|
|
185
|
-
if (deACMode.itemSysPFPluginId) {
|
|
186
|
-
acItemProvider = await runtime.getAcItemProvider(deACMode);
|
|
187
|
-
}
|
|
184
|
+
const acItemProvider = await runtime.getAcItemProvider(deACMode);
|
|
188
185
|
this.state.items.push({
|
|
189
186
|
deACMode,
|
|
190
187
|
acItemProvider,
|
|
@@ -35,13 +35,13 @@ const UserAction = /* @__PURE__ */ vue.defineComponent({
|
|
|
35
35
|
} = vue3Util.useSemanticNode(props.controller);
|
|
36
36
|
const imgConfig = {
|
|
37
37
|
SETTING: {
|
|
38
|
-
imagePath:
|
|
38
|
+
imagePath: ibiz.config.imageAssets.setting
|
|
39
39
|
},
|
|
40
40
|
HELPER: {
|
|
41
|
-
imagePath:
|
|
41
|
+
imagePath: ibiz.config.imageAssets.helper
|
|
42
42
|
},
|
|
43
43
|
CUSTOM: {
|
|
44
|
-
imagePath:
|
|
44
|
+
imagePath: ibiz.config.imageAssets.customWorkbench
|
|
45
45
|
}
|
|
46
46
|
};
|
|
47
47
|
let sysImage = props.modelData.sysImage;
|
|
@@ -45,7 +45,7 @@ const UserMessage = /* @__PURE__ */ vue.defineComponent({
|
|
|
45
45
|
noticeController.internalMessage.provider = new internalMessageDefault_provider.InternalMessageDefaultProvider();
|
|
46
46
|
const currentTab = vue.ref("notification");
|
|
47
47
|
const sysImage = props.modelData.sysImage || {
|
|
48
|
-
imagePath:
|
|
48
|
+
imagePath: ibiz.config.imageAssets.message
|
|
49
49
|
};
|
|
50
50
|
const popoverRef = vue.ref();
|
|
51
51
|
const hiddenPopover = () => {
|
|
@@ -182,6 +182,11 @@ class AIChatUtil {
|
|
|
182
182
|
} else {
|
|
183
183
|
chatOptions.chunkEntity = ibiz.config.common.aiChunkEntity;
|
|
184
184
|
}
|
|
185
|
+
if (editorParams.topiccaptioncomputedmode) {
|
|
186
|
+
chatOptions.captionComputedMode = editorParams.topiccaptioncomputedmode;
|
|
187
|
+
} else {
|
|
188
|
+
chatOptions.captionComputedMode = ibiz.config.common.aiChatTopicCaptionComputedMode;
|
|
189
|
+
}
|
|
185
190
|
chatOptions.fetchAgentList = (query) => {
|
|
186
191
|
return this.getAIAgentList(context, { ...params, query }, editorParams);
|
|
187
192
|
};
|
|
@@ -769,6 +774,12 @@ class AIChatUtil {
|
|
|
769
774
|
} else {
|
|
770
775
|
chatOptions.chunkEntity = ibiz.config.common.aiChunkEntity;
|
|
771
776
|
}
|
|
777
|
+
if (params.hasOwnProperty("topiccaptioncomputedmode")) {
|
|
778
|
+
chatOptions.captionComputedMode = params.topiccaptioncomputedmode;
|
|
779
|
+
delete params.topiccaptioncomputedmode;
|
|
780
|
+
} else {
|
|
781
|
+
chatOptions.captionComputedMode = ibiz.config.common.aiChatTopicCaptionComputedMode;
|
|
782
|
+
}
|
|
772
783
|
chatOptions.fetchAgentList = (query) => {
|
|
773
784
|
return this.getAIAgentList(context, { ...params, query });
|
|
774
785
|
};
|
|
@@ -31,7 +31,7 @@ const View403 = /* @__PURE__ */ vue.defineComponent({
|
|
|
31
31
|
"class": [this.ns.b(), this.ns.is("top", this.isTop)]
|
|
32
32
|
}, [vue.createVNode("img", {
|
|
33
33
|
"class": this.ns.b("img"),
|
|
34
|
-
"src":
|
|
34
|
+
"src": ibiz.config.imageAssets.noPermission
|
|
35
35
|
}, null), vue.createVNode("div", {
|
|
36
36
|
"class": this.ns.b("text")
|
|
37
37
|
}, [vue.createVNode("div", {
|
|
@@ -31,7 +31,7 @@ const View404 = /* @__PURE__ */ vue.defineComponent({
|
|
|
31
31
|
"class": [this.ns.b(), this.ns.is("top", this.isTop)]
|
|
32
32
|
}, [vue.createVNode("img", {
|
|
33
33
|
"class": this.ns.b("img"),
|
|
34
|
-
"src":
|
|
34
|
+
"src": ibiz.config.imageAssets.noFind
|
|
35
35
|
}, null), vue.createVNode("div", {
|
|
36
36
|
"class": this.ns.b("text")
|
|
37
37
|
}, [vue.createVNode("div", {
|
|
@@ -116,7 +116,6 @@ const LoginView = /* @__PURE__ */ vue.defineComponent({
|
|
|
116
116
|
const loginViewConfig = await ibiz.hub.config.view.get("AppLoginView");
|
|
117
117
|
if (loginViewConfig) {
|
|
118
118
|
loginView.value = loginViewConfig;
|
|
119
|
-
hasLoginView.value = true;
|
|
120
119
|
}
|
|
121
120
|
} catch (err) {
|
|
122
121
|
ibiz.log.warn(err);
|
|
@@ -143,14 +142,14 @@ const LoginView = /* @__PURE__ */ vue.defineComponent({
|
|
|
143
142
|
}, [vue.createVNode("header", {
|
|
144
143
|
"class": ns.b("box-header")
|
|
145
144
|
}, [vue.createVNode("img", {
|
|
146
|
-
"src":
|
|
145
|
+
"src": ibiz.config.imageAssets.loginHeader
|
|
147
146
|
}, null), vue.createVNode("span", {
|
|
148
147
|
"class": ns.b("box-header-title")
|
|
149
148
|
}, [appTitle])]), vue.createVNode("main", {
|
|
150
149
|
"class": ns.b("box-main")
|
|
151
150
|
}, [vue.createVNode("img", {
|
|
152
151
|
"class": ns.be("box-main", "avatar"),
|
|
153
|
-
"src":
|
|
152
|
+
"src": ibiz.config.imageAssets.loginAvatar
|
|
154
153
|
}, null), vue.createVNode("div", {
|
|
155
154
|
"class": ns.b("box-main-content")
|
|
156
155
|
}, [vue.createVNode(vue.resolveComponent("el-form"), {
|
|
@@ -64,7 +64,7 @@ const ShareView = /* @__PURE__ */ vue.defineComponent({
|
|
|
64
64
|
}, [vue.createVNode("header", {
|
|
65
65
|
"class": this.ns.b("box-header")
|
|
66
66
|
}, [vue.createVNode("img", {
|
|
67
|
-
"src":
|
|
67
|
+
"src": ibiz.config.imageAssets.loginHeader
|
|
68
68
|
}, null), vue.createVNode("div", {
|
|
69
69
|
"class": this.ns.b("box-header-title")
|
|
70
70
|
}, [vue.createVNode("div", null, [this.shareUser.userName]), ibiz.i18n.t("view.shareView.inviting")])]), vue.createVNode("main", {
|
|
@@ -43,7 +43,7 @@ const UnauthorizedView = /* @__PURE__ */ vue.defineComponent({
|
|
|
43
43
|
"class": ns.b()
|
|
44
44
|
}, [vue.createVNode("img", {
|
|
45
45
|
"class": ns.e("img"),
|
|
46
|
-
"src":
|
|
46
|
+
"src": ibiz.config.imageAssets.noFind
|
|
47
47
|
}, null), vue.createVNode("div", {
|
|
48
48
|
"class": ns.e("tips")
|
|
49
49
|
}, [ibiz.i18n.t("view.noResourcesView.noResourcePrompt"), vue.createVNode("br", null, null), ibiz.i18n.t("view.noResourcesView.noExistPrompt", {
|
|
@@ -270,7 +270,9 @@ class AuthGuard {
|
|
|
270
270
|
const uiThemes = app.model.appUIThemes || [];
|
|
271
271
|
if (uiThemes.length > 0) {
|
|
272
272
|
const colorThemes = uiThemes.filter((uiTheme) => {
|
|
273
|
-
|
|
273
|
+
var _a;
|
|
274
|
+
const isIconTheme = ((_a = uiTheme.themeParams) == null ? void 0 : _a["icon-theme"]) === "true";
|
|
275
|
+
return !isIconTheme && Boolean(uiTheme.cssStyle || uiTheme.themeParams);
|
|
274
276
|
});
|
|
275
277
|
if (colorThemes.length > 0) {
|
|
276
278
|
for (let index = 0; index < colorThemes.length; index++) {
|
|
@@ -11,6 +11,7 @@ var __publicField = (obj, key, value) => {
|
|
|
11
11
|
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
12
12
|
return value;
|
|
13
13
|
};
|
|
14
|
+
const PREDEFINED_THEMES = ["light", "dark", "blue"];
|
|
14
15
|
class DynaAuthGuard extends authGuard.AuthGuard {
|
|
15
16
|
constructor() {
|
|
16
17
|
super(...arguments);
|
|
@@ -43,10 +44,15 @@ class DynaAuthGuard extends authGuard.AuthGuard {
|
|
|
43
44
|
const module = await import('@ibiz-template/web-theme');
|
|
44
45
|
const theme = module.default || module;
|
|
45
46
|
vue3Util.AppHooks.useComponent.callSync(null, theme);
|
|
46
|
-
if (ibiz.config.theme)
|
|
47
|
+
if (ibiz.config.theme && PREDEFINED_THEMES.includes(ibiz.config.theme)) {
|
|
47
48
|
ibiz.util.theme.setTheme(ibiz.config.theme);
|
|
49
|
+
}
|
|
48
50
|
if (appModel.appUIThemes) {
|
|
49
51
|
await this.loadTheme();
|
|
52
|
+
const themeTags = appModel.appUIThemes.map((uiTheme) => uiTheme.themeTag).filter((tag) => !!tag);
|
|
53
|
+
if (ibiz.config.theme && (PREDEFINED_THEMES.includes(ibiz.config.theme) || themeTags.includes(ibiz.config.theme))) {
|
|
54
|
+
ibiz.util.theme.setTheme(ibiz.config.theme);
|
|
55
|
+
}
|
|
50
56
|
}
|
|
51
57
|
if (app.model.title) {
|
|
52
58
|
ibiz.util.setBrowserTitle("");
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ibiz-template/vue3-components",
|
|
3
|
-
"version": "0.7.41-alpha.
|
|
3
|
+
"version": "0.7.41-alpha.124",
|
|
4
4
|
"description": "web端组件库(vue3)",
|
|
5
5
|
"main": "lib/index.cjs",
|
|
6
6
|
"module": "es/index.mjs",
|
|
@@ -31,16 +31,16 @@
|
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"@amap/amap-jsapi-loader": "^1.0.1",
|
|
33
33
|
"@floating-ui/dom": "^1.5.3",
|
|
34
|
-
"@ibiz-template-plugin/ai-chat": "^0.0.
|
|
34
|
+
"@ibiz-template-plugin/ai-chat": "^0.0.95",
|
|
35
35
|
"@ibiz-template-plugin/gantt": "0.1.8-alpha.468",
|
|
36
36
|
"@ibiz-template-plugin/bi-report": "0.0.32",
|
|
37
37
|
"@ibiz-template-plugin/data-view": "0.0.8",
|
|
38
38
|
"@ibiz-template/core": "0.7.41-alpha.119",
|
|
39
39
|
"@ibiz-template/devtool": "0.0.16",
|
|
40
|
-
"@ibiz-template/model-helper": "0.7.41-alpha.
|
|
41
|
-
"@ibiz-template/runtime": "0.7.41-alpha.
|
|
40
|
+
"@ibiz-template/model-helper": "0.7.41-alpha.130",
|
|
41
|
+
"@ibiz-template/runtime": "0.7.41-alpha.130",
|
|
42
42
|
"@ibiz-template/theme": "0.7.39",
|
|
43
|
-
"@ibiz-template/vue3-util": "0.7.41-alpha.
|
|
43
|
+
"@ibiz-template/vue3-util": "0.7.41-alpha.130",
|
|
44
44
|
"@ibiz-template/web-theme": "3.16.0",
|
|
45
45
|
"@ibiz/model-core": "^0.1.89",
|
|
46
46
|
"@imengyu/vue3-context-menu": "^1.3.5",
|
|
@@ -171,7 +171,7 @@ export const DataImport = defineComponent({
|
|
|
171
171
|
<div class={this.ns.b('upload')} onClick={this.selectFile}>
|
|
172
172
|
<img
|
|
173
173
|
class={this.ns.be('upload', 'img')}
|
|
174
|
-
src=
|
|
174
|
+
src={ibiz.config.imageAssets.iconImport}
|
|
175
175
|
></img>
|
|
176
176
|
<span class={this.ns.be('upload', 'text')}>
|
|
177
177
|
{ibiz.i18n.t('component.dataImport.clickToUpload')}
|
|
@@ -76,6 +76,46 @@ const ChartControl = defineComponent({
|
|
|
76
76
|
const drillDetailRef = ref(); // 数据反查框
|
|
77
77
|
let tempParams: IData; // 点击的图表回调事件参数
|
|
78
78
|
|
|
79
|
+
// 子类类名透传
|
|
80
|
+
const childClass = [
|
|
81
|
+
{
|
|
82
|
+
class: `${ns.em('grid', 'body-row')} ${semanticClass('table.body.row')}`,
|
|
83
|
+
selector: '.el-table__row',
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
class: `${ns.em('grid', 'header-row')} ${semanticClass('table.header.row')}`,
|
|
87
|
+
selector: '.el-table__header tr',
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
class: `${ns.em('grid', 'body-cell')} ${semanticClass('table.body.cell')}`,
|
|
91
|
+
selector: '.el-table__body .el-table__cell',
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
class: `${ns.em('grid', 'header-cell')} ${semanticClass('table.header.cell')}`,
|
|
95
|
+
selector: '.el-table__header .el-table__cell',
|
|
96
|
+
},
|
|
97
|
+
];
|
|
98
|
+
|
|
99
|
+
// 子类样式透传
|
|
100
|
+
const childStyle = [
|
|
101
|
+
{
|
|
102
|
+
class: semanticStyle('table.body.row'),
|
|
103
|
+
selector: '.el-table__row',
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
class: semanticStyle('table.header.row'),
|
|
107
|
+
selector: '.el-table__header tr',
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
class: semanticStyle('table.body.cell'),
|
|
111
|
+
selector: '.el-table__body .el-table__cell',
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
class: semanticStyle('table.header.cell'),
|
|
115
|
+
selector: '.el-table__header .el-table__cell',
|
|
116
|
+
},
|
|
117
|
+
];
|
|
118
|
+
|
|
79
119
|
// 本地数据模式
|
|
80
120
|
const initSimpleData = (): void => {
|
|
81
121
|
if (!props.data) {
|
|
@@ -248,42 +288,8 @@ const ChartControl = defineComponent({
|
|
|
248
288
|
style={{ width: '100%' }}
|
|
249
289
|
max-height={maxHeight.value}
|
|
250
290
|
span-method={c.spanMethod.bind(c)}
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
}
|
|
254
|
-
header-row-class-name={(...args: IData[]) => {
|
|
255
|
-
return [
|
|
256
|
-
ns.em('grid', 'header-row'),
|
|
257
|
-
semanticClass('table.header.row', args),
|
|
258
|
-
].join(' ');
|
|
259
|
-
}}
|
|
260
|
-
header-cell-style={(...args: IData[]) =>
|
|
261
|
-
semanticStyle('table.header.cell', args)
|
|
262
|
-
}
|
|
263
|
-
header-cell-class-name={(...args: IData[]) => {
|
|
264
|
-
return [
|
|
265
|
-
ns.em('grid', 'header-cell'),
|
|
266
|
-
semanticClass('table.header.cell', args),
|
|
267
|
-
].join(' ');
|
|
268
|
-
}}
|
|
269
|
-
row-style={(...args: IData[]) =>
|
|
270
|
-
semanticStyle('table.body.row', args)
|
|
271
|
-
}
|
|
272
|
-
row-class-name={(...args: IData[]) => {
|
|
273
|
-
return [
|
|
274
|
-
ns.em('grid', 'body-row'),
|
|
275
|
-
semanticClass('table.body.row', args),
|
|
276
|
-
].join(' ');
|
|
277
|
-
}}
|
|
278
|
-
cell-style={(...args: IData[]) =>
|
|
279
|
-
semanticStyle('table.body.cell', args)
|
|
280
|
-
}
|
|
281
|
-
cell-class-name={(...args: IData[]) => {
|
|
282
|
-
return [
|
|
283
|
-
ns.em('grid', 'body-cell'),
|
|
284
|
-
semanticClass('table.body.cell', args),
|
|
285
|
-
].join(' ');
|
|
286
|
-
}}
|
|
291
|
+
v-child-class={childClass}
|
|
292
|
+
v-child-style={childStyle}
|
|
287
293
|
>
|
|
288
294
|
{c.state.gridHeaders.map((column: IData) => {
|
|
289
295
|
return (
|
|
@@ -30,10 +30,12 @@ import {
|
|
|
30
30
|
IControlProvider,
|
|
31
31
|
IMDControlGroupState,
|
|
32
32
|
DataViewControlController,
|
|
33
|
+
getMDCtrlItemProvider,
|
|
33
34
|
} from '@ibiz-template/runtime';
|
|
34
35
|
import { createUUID } from 'qx-util';
|
|
35
36
|
import draggable from 'vuedraggable';
|
|
36
37
|
import { usePagination } from '../../util';
|
|
38
|
+
import { useDataViewSkeleton } from './data-view.util';
|
|
37
39
|
import './data-view.scss';
|
|
38
40
|
|
|
39
41
|
export const DataViewControl = defineComponent({
|
|
@@ -353,6 +355,17 @@ export const DataViewControl = defineComponent({
|
|
|
353
355
|
|
|
354
356
|
// 绘制卡片
|
|
355
357
|
const renderCard = (item: IData): VNode => {
|
|
358
|
+
// 多数据部件项绘制器
|
|
359
|
+
const provider = getMDCtrlItemProvider(c.model);
|
|
360
|
+
if (provider)
|
|
361
|
+
return h(resolveComponent(provider.component), {
|
|
362
|
+
data: item,
|
|
363
|
+
controller: c,
|
|
364
|
+
onClick: (event: MouseEvent): Promise<void> =>
|
|
365
|
+
onRowClick(item, event),
|
|
366
|
+
onDblclick: (event: MouseEvent): Promise<void> =>
|
|
367
|
+
onDbRowClick(item, event),
|
|
368
|
+
});
|
|
356
369
|
const itemStyle = ns.cssVarBlock({
|
|
357
370
|
'item-bg-color': `${item.bgcolor || ''}`,
|
|
358
371
|
'text-color': `${item.fontcolor || ''}`,
|
|
@@ -781,6 +794,12 @@ export const DataViewControl = defineComponent({
|
|
|
781
794
|
|
|
782
795
|
// 单行高度
|
|
783
796
|
const ITEM_HEIGHT: number = 24;
|
|
797
|
+
|
|
798
|
+
// 骨架屏:按容器宽度计算单行最大卡片数
|
|
799
|
+
const { setSkeletonContentRef, calcSkeletonCount } = useDataViewSkeleton({
|
|
800
|
+
model: c.model,
|
|
801
|
+
});
|
|
802
|
+
|
|
784
803
|
// 计算骨架屏行数
|
|
785
804
|
const calcSkeletonRows = (): number => {
|
|
786
805
|
const { cardHeight } = c.model;
|
|
@@ -850,25 +869,23 @@ export const DataViewControl = defineComponent({
|
|
|
850
869
|
// 绘制分组骨架屏
|
|
851
870
|
const renderGroupSkeleton = (): VNode => {
|
|
852
871
|
return (
|
|
853
|
-
<div class={ns.b('
|
|
872
|
+
<div class={[ns.e('content'), ns.b('group-content')]}>
|
|
854
873
|
{Array.from({ length: 3 }, () => (
|
|
855
|
-
<div class={ns.
|
|
856
|
-
<div class={ns.be('
|
|
874
|
+
<div class={ns.be('group-content', 'item')}>
|
|
875
|
+
<div class={ns.be('group-content', 'item-header')}>
|
|
857
876
|
<el-skeleton animated rows={1}>
|
|
858
877
|
{{
|
|
859
878
|
template: () => (
|
|
860
|
-
<el-skeleton-item
|
|
879
|
+
<el-skeleton-item
|
|
880
|
+
variant='rect'
|
|
881
|
+
style='width: 15%;height: 24px;'
|
|
882
|
+
/>
|
|
861
883
|
),
|
|
862
884
|
}}
|
|
863
885
|
</el-skeleton>
|
|
864
886
|
</div>
|
|
865
|
-
<div
|
|
866
|
-
|
|
867
|
-
ns.be('skeleton', 'content'),
|
|
868
|
-
ns.be('skeleton-group', 'content'),
|
|
869
|
-
]}
|
|
870
|
-
>
|
|
871
|
-
{renderSkeletonCardLayout(3)}
|
|
887
|
+
<div ref={setSkeletonContentRef}>
|
|
888
|
+
{renderSkeletonCardLayout(calcSkeletonCount(3))}
|
|
872
889
|
</div>
|
|
873
890
|
</div>
|
|
874
891
|
))}
|
|
@@ -881,10 +898,10 @@ export const DataViewControl = defineComponent({
|
|
|
881
898
|
if (c.state.enableGroup) {
|
|
882
899
|
return renderGroupSkeleton();
|
|
883
900
|
}
|
|
884
|
-
const count = c.state.size || 6;
|
|
901
|
+
const count = c.state.size || calcSkeletonCount(6);
|
|
885
902
|
return (
|
|
886
|
-
<div class={ns.
|
|
887
|
-
<div
|
|
903
|
+
<div class={ns.e('content')}>
|
|
904
|
+
<div ref={setSkeletonContentRef}>
|
|
888
905
|
{renderSkeletonCardLayout(Math.min(count, 20))}
|
|
889
906
|
</div>
|
|
890
907
|
</div>
|
|
@@ -996,7 +1013,7 @@ export const DataViewControl = defineComponent({
|
|
|
996
1013
|
const provider = c.view.providers[id];
|
|
997
1014
|
return h(resolveComponent(provider?.component || 'IBizControlShell'), {
|
|
998
1015
|
class: [ns.e('searchbar'), semanticClass('searchbar')],
|
|
999
|
-
style: semanticStyle(searchbar),
|
|
1016
|
+
style: semanticStyle('searchbar'),
|
|
1000
1017
|
context: c.view.context,
|
|
1001
1018
|
params: c.view.params,
|
|
1002
1019
|
modelData: searchbar,
|