@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
|
@@ -64,11 +64,8 @@ class ListBoxPickerEditorController extends EditorController {
|
|
|
64
64
|
this.model.appDataEntityId,
|
|
65
65
|
this.context.srfappid
|
|
66
66
|
);
|
|
67
|
-
if (this.deACMode)
|
|
68
|
-
|
|
69
|
-
this.acItemProvider = await getAcItemProvider(this.deACMode);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
67
|
+
if (this.deACMode)
|
|
68
|
+
this.acItemProvider = await getAcItemProvider(this.deACMode);
|
|
72
69
|
}
|
|
73
70
|
}
|
|
74
71
|
}
|
|
@@ -22,7 +22,7 @@ class MapPickerEditorController extends EditorController {
|
|
|
22
22
|
* @type {string}
|
|
23
23
|
* @memberof MapPickerEditorController
|
|
24
24
|
*/
|
|
25
|
-
__publicField(this, "markerIcon",
|
|
25
|
+
__publicField(this, "markerIcon", ibiz.config.imageAssets.poiMarker);
|
|
26
26
|
/**
|
|
27
27
|
* @description 默认中心点坐标
|
|
28
28
|
* @memberof MapPickerEditorController
|
|
@@ -408,7 +408,7 @@ const IBizInput = /* @__PURE__ */ defineComponent({
|
|
|
408
408
|
"title": ibiz.i18n.t("editor.textBox.openAiChat"),
|
|
409
409
|
"onClick": this.onClick
|
|
410
410
|
}, [createVNode("ion-icon", {
|
|
411
|
-
"src":
|
|
411
|
+
"src": ibiz.config.imageAssets.chat
|
|
412
412
|
}, null)]) : null]);
|
|
413
413
|
}
|
|
414
414
|
});
|
|
@@ -90,7 +90,7 @@ const AuthUserinfo = /* @__PURE__ */ defineComponent({
|
|
|
90
90
|
}, [createVNode(resolveComponent("el-avatar"), {
|
|
91
91
|
"class": [this.ns.b("avatar"), this.semanticClass("avatar")],
|
|
92
92
|
"style": this.semanticStyle("avatar"),
|
|
93
|
-
"src":
|
|
93
|
+
"src": ibiz.config.imageAssets.userAvatar
|
|
94
94
|
}, null), createVNode("div", {
|
|
95
95
|
"class": [this.ns.b("name"), this.ns.is("collapse", this.isCollapse), this.semanticClass("name")],
|
|
96
96
|
"style": this.semanticStyle("name")
|
|
@@ -179,10 +179,7 @@ class GlobalSearchController extends PanelItemController {
|
|
|
179
179
|
func.appId
|
|
180
180
|
);
|
|
181
181
|
if (deACMode) {
|
|
182
|
-
|
|
183
|
-
if (deACMode.itemSysPFPluginId) {
|
|
184
|
-
acItemProvider = await getAcItemProvider(deACMode);
|
|
185
|
-
}
|
|
182
|
+
const acItemProvider = await getAcItemProvider(deACMode);
|
|
186
183
|
this.state.items.push({
|
|
187
184
|
deACMode,
|
|
188
185
|
acItemProvider,
|
|
@@ -33,13 +33,13 @@ const UserAction = /* @__PURE__ */ defineComponent({
|
|
|
33
33
|
} = useSemanticNode(props.controller);
|
|
34
34
|
const imgConfig = {
|
|
35
35
|
SETTING: {
|
|
36
|
-
imagePath:
|
|
36
|
+
imagePath: ibiz.config.imageAssets.setting
|
|
37
37
|
},
|
|
38
38
|
HELPER: {
|
|
39
|
-
imagePath:
|
|
39
|
+
imagePath: ibiz.config.imageAssets.helper
|
|
40
40
|
},
|
|
41
41
|
CUSTOM: {
|
|
42
|
-
imagePath:
|
|
42
|
+
imagePath: ibiz.config.imageAssets.customWorkbench
|
|
43
43
|
}
|
|
44
44
|
};
|
|
45
45
|
let sysImage = props.modelData.sysImage;
|
|
@@ -43,7 +43,7 @@ const UserMessage = /* @__PURE__ */ defineComponent({
|
|
|
43
43
|
noticeController.internalMessage.provider = new InternalMessageDefaultProvider();
|
|
44
44
|
const currentTab = ref("notification");
|
|
45
45
|
const sysImage = props.modelData.sysImage || {
|
|
46
|
-
imagePath:
|
|
46
|
+
imagePath: ibiz.config.imageAssets.message
|
|
47
47
|
};
|
|
48
48
|
const popoverRef = ref();
|
|
49
49
|
const hiddenPopover = () => {
|
|
@@ -180,6 +180,11 @@ class AIChatUtil {
|
|
|
180
180
|
} else {
|
|
181
181
|
chatOptions.chunkEntity = ibiz.config.common.aiChunkEntity;
|
|
182
182
|
}
|
|
183
|
+
if (editorParams.topiccaptioncomputedmode) {
|
|
184
|
+
chatOptions.captionComputedMode = editorParams.topiccaptioncomputedmode;
|
|
185
|
+
} else {
|
|
186
|
+
chatOptions.captionComputedMode = ibiz.config.common.aiChatTopicCaptionComputedMode;
|
|
187
|
+
}
|
|
183
188
|
chatOptions.fetchAgentList = (query) => {
|
|
184
189
|
return this.getAIAgentList(context, { ...params, query }, editorParams);
|
|
185
190
|
};
|
|
@@ -767,6 +772,12 @@ class AIChatUtil {
|
|
|
767
772
|
} else {
|
|
768
773
|
chatOptions.chunkEntity = ibiz.config.common.aiChunkEntity;
|
|
769
774
|
}
|
|
775
|
+
if (params.hasOwnProperty("topiccaptioncomputedmode")) {
|
|
776
|
+
chatOptions.captionComputedMode = params.topiccaptioncomputedmode;
|
|
777
|
+
delete params.topiccaptioncomputedmode;
|
|
778
|
+
} else {
|
|
779
|
+
chatOptions.captionComputedMode = ibiz.config.common.aiChatTopicCaptionComputedMode;
|
|
780
|
+
}
|
|
770
781
|
chatOptions.fetchAgentList = (query) => {
|
|
771
782
|
return this.getAIAgentList(context, { ...params, query });
|
|
772
783
|
};
|
|
@@ -29,7 +29,7 @@ const View403 = /* @__PURE__ */ defineComponent({
|
|
|
29
29
|
"class": [this.ns.b(), this.ns.is("top", this.isTop)]
|
|
30
30
|
}, [createVNode("img", {
|
|
31
31
|
"class": this.ns.b("img"),
|
|
32
|
-
"src":
|
|
32
|
+
"src": ibiz.config.imageAssets.noPermission
|
|
33
33
|
}, null), createVNode("div", {
|
|
34
34
|
"class": this.ns.b("text")
|
|
35
35
|
}, [createVNode("div", {
|
|
@@ -29,7 +29,7 @@ const View404 = /* @__PURE__ */ defineComponent({
|
|
|
29
29
|
"class": [this.ns.b(), this.ns.is("top", this.isTop)]
|
|
30
30
|
}, [createVNode("img", {
|
|
31
31
|
"class": this.ns.b("img"),
|
|
32
|
-
"src":
|
|
32
|
+
"src": ibiz.config.imageAssets.noFind
|
|
33
33
|
}, null), createVNode("div", {
|
|
34
34
|
"class": this.ns.b("text")
|
|
35
35
|
}, [createVNode("div", {
|
|
@@ -114,7 +114,6 @@ const LoginView = /* @__PURE__ */ defineComponent({
|
|
|
114
114
|
const loginViewConfig = await ibiz.hub.config.view.get("AppLoginView");
|
|
115
115
|
if (loginViewConfig) {
|
|
116
116
|
loginView.value = loginViewConfig;
|
|
117
|
-
hasLoginView.value = true;
|
|
118
117
|
}
|
|
119
118
|
} catch (err) {
|
|
120
119
|
ibiz.log.warn(err);
|
|
@@ -141,14 +140,14 @@ const LoginView = /* @__PURE__ */ defineComponent({
|
|
|
141
140
|
}, [createVNode("header", {
|
|
142
141
|
"class": ns.b("box-header")
|
|
143
142
|
}, [createVNode("img", {
|
|
144
|
-
"src":
|
|
143
|
+
"src": ibiz.config.imageAssets.loginHeader
|
|
145
144
|
}, null), createVNode("span", {
|
|
146
145
|
"class": ns.b("box-header-title")
|
|
147
146
|
}, [appTitle])]), createVNode("main", {
|
|
148
147
|
"class": ns.b("box-main")
|
|
149
148
|
}, [createVNode("img", {
|
|
150
149
|
"class": ns.be("box-main", "avatar"),
|
|
151
|
-
"src":
|
|
150
|
+
"src": ibiz.config.imageAssets.loginAvatar
|
|
152
151
|
}, null), createVNode("div", {
|
|
153
152
|
"class": ns.b("box-main-content")
|
|
154
153
|
}, [createVNode(resolveComponent("el-form"), {
|
|
@@ -62,7 +62,7 @@ const ShareView = /* @__PURE__ */ defineComponent({
|
|
|
62
62
|
}, [createVNode("header", {
|
|
63
63
|
"class": this.ns.b("box-header")
|
|
64
64
|
}, [createVNode("img", {
|
|
65
|
-
"src":
|
|
65
|
+
"src": ibiz.config.imageAssets.loginHeader
|
|
66
66
|
}, null), createVNode("div", {
|
|
67
67
|
"class": this.ns.b("box-header-title")
|
|
68
68
|
}, [createVNode("div", null, [this.shareUser.userName]), ibiz.i18n.t("view.shareView.inviting")])]), createVNode("main", {
|
|
@@ -41,7 +41,7 @@ const UnauthorizedView = /* @__PURE__ */ defineComponent({
|
|
|
41
41
|
"class": ns.b()
|
|
42
42
|
}, [createVNode("img", {
|
|
43
43
|
"class": ns.e("img"),
|
|
44
|
-
"src":
|
|
44
|
+
"src": ibiz.config.imageAssets.noFind
|
|
45
45
|
}, null), createVNode("div", {
|
|
46
46
|
"class": ns.e("tips")
|
|
47
47
|
}, [ibiz.i18n.t("view.noResourcesView.noResourcePrompt"), createVNode("br", null, null), ibiz.i18n.t("view.noResourcesView.noExistPrompt", {
|
|
@@ -268,7 +268,9 @@ class AuthGuard {
|
|
|
268
268
|
const uiThemes = app.model.appUIThemes || [];
|
|
269
269
|
if (uiThemes.length > 0) {
|
|
270
270
|
const colorThemes = uiThemes.filter((uiTheme) => {
|
|
271
|
-
|
|
271
|
+
var _a;
|
|
272
|
+
const isIconTheme = ((_a = uiTheme.themeParams) == null ? void 0 : _a["icon-theme"]) === "true";
|
|
273
|
+
return !isIconTheme && Boolean(uiTheme.cssStyle || uiTheme.themeParams);
|
|
272
274
|
});
|
|
273
275
|
if (colorThemes.length > 0) {
|
|
274
276
|
for (let index = 0; index < colorThemes.length; index++) {
|
|
@@ -9,6 +9,7 @@ var __publicField = (obj, key, value) => {
|
|
|
9
9
|
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
10
10
|
return value;
|
|
11
11
|
};
|
|
12
|
+
const PREDEFINED_THEMES = ["light", "dark", "blue"];
|
|
12
13
|
class DynaAuthGuard extends AuthGuard {
|
|
13
14
|
constructor() {
|
|
14
15
|
super(...arguments);
|
|
@@ -41,10 +42,15 @@ class DynaAuthGuard extends AuthGuard {
|
|
|
41
42
|
const module = await import('@ibiz-template/web-theme');
|
|
42
43
|
const theme = module.default || module;
|
|
43
44
|
AppHooks.useComponent.callSync(null, theme);
|
|
44
|
-
if (ibiz.config.theme)
|
|
45
|
+
if (ibiz.config.theme && PREDEFINED_THEMES.includes(ibiz.config.theme)) {
|
|
45
46
|
ibiz.util.theme.setTheme(ibiz.config.theme);
|
|
47
|
+
}
|
|
46
48
|
if (appModel.appUIThemes) {
|
|
47
49
|
await this.loadTheme();
|
|
50
|
+
const themeTags = appModel.appUIThemes.map((uiTheme) => uiTheme.themeTag).filter((tag) => !!tag);
|
|
51
|
+
if (ibiz.config.theme && (PREDEFINED_THEMES.includes(ibiz.config.theme) || themeTags.includes(ibiz.config.theme))) {
|
|
52
|
+
ibiz.util.theme.setTheme(ibiz.config.theme);
|
|
53
|
+
}
|
|
48
54
|
}
|
|
49
55
|
if (app.model.title) {
|
|
50
56
|
ibiz.util.setBrowserTitle("");
|
|
@@ -136,7 +136,7 @@ const DataImport = /* @__PURE__ */ vue.defineComponent({
|
|
|
136
136
|
"onClick": this.selectFile
|
|
137
137
|
}, [vue.createVNode("img", {
|
|
138
138
|
"class": this.ns.be("upload", "img"),
|
|
139
|
-
"src":
|
|
139
|
+
"src": ibiz.config.imageAssets.iconImport
|
|
140
140
|
}, null), vue.createVNode("span", {
|
|
141
141
|
"class": this.ns.be("upload", "text")
|
|
142
142
|
}, [ibiz.i18n.t("component.dataImport.clickToUpload")])]) : vue.createVNode("div", {
|
|
@@ -92,6 +92,32 @@ const ChartControl = /* @__PURE__ */ vue.defineComponent({
|
|
|
92
92
|
const drillDetailPos = vue.ref({});
|
|
93
93
|
const drillDetailRef = vue.ref();
|
|
94
94
|
let tempParams;
|
|
95
|
+
const childClass = [{
|
|
96
|
+
class: "".concat(ns.em("grid", "body-row"), " ").concat(semanticClass("table.body.row")),
|
|
97
|
+
selector: ".el-table__row"
|
|
98
|
+
}, {
|
|
99
|
+
class: "".concat(ns.em("grid", "header-row"), " ").concat(semanticClass("table.header.row")),
|
|
100
|
+
selector: ".el-table__header tr"
|
|
101
|
+
}, {
|
|
102
|
+
class: "".concat(ns.em("grid", "body-cell"), " ").concat(semanticClass("table.body.cell")),
|
|
103
|
+
selector: ".el-table__body .el-table__cell"
|
|
104
|
+
}, {
|
|
105
|
+
class: "".concat(ns.em("grid", "header-cell"), " ").concat(semanticClass("table.header.cell")),
|
|
106
|
+
selector: ".el-table__header .el-table__cell"
|
|
107
|
+
}];
|
|
108
|
+
const childStyle = [{
|
|
109
|
+
class: semanticStyle("table.body.row"),
|
|
110
|
+
selector: ".el-table__row"
|
|
111
|
+
}, {
|
|
112
|
+
class: semanticStyle("table.header.row"),
|
|
113
|
+
selector: ".el-table__header tr"
|
|
114
|
+
}, {
|
|
115
|
+
class: semanticStyle("table.body.cell"),
|
|
116
|
+
selector: ".el-table__body .el-table__cell"
|
|
117
|
+
}, {
|
|
118
|
+
class: semanticStyle("table.header.cell"),
|
|
119
|
+
selector: ".el-table__header .el-table__cell"
|
|
120
|
+
}];
|
|
95
121
|
const initSimpleData = () => {
|
|
96
122
|
if (!props.data) {
|
|
97
123
|
return;
|
|
@@ -220,7 +246,7 @@ const ChartControl = /* @__PURE__ */ vue.defineComponent({
|
|
|
220
246
|
});
|
|
221
247
|
const renderGrid = () => {
|
|
222
248
|
let _slot;
|
|
223
|
-
return vue.createVNode(vue.resolveComponent("el-table"), {
|
|
249
|
+
return vue.withDirectives(vue.createVNode(vue.resolveComponent("el-table"), {
|
|
224
250
|
"ref": "tableRef",
|
|
225
251
|
"border": true,
|
|
226
252
|
"data": getGridData(),
|
|
@@ -228,23 +254,7 @@ const ChartControl = /* @__PURE__ */ vue.defineComponent({
|
|
|
228
254
|
width: "100%"
|
|
229
255
|
},
|
|
230
256
|
"max-height": maxHeight.value,
|
|
231
|
-
"span-method": c.spanMethod.bind(c)
|
|
232
|
-
"header-row-style": (...args) => semanticStyle("table.header.row", args),
|
|
233
|
-
"header-row-class-name": (...args) => {
|
|
234
|
-
return [ns.em("grid", "header-row"), semanticClass("table.header.row", args)].join(" ");
|
|
235
|
-
},
|
|
236
|
-
"header-cell-style": (...args) => semanticStyle("table.header.cell", args),
|
|
237
|
-
"header-cell-class-name": (...args) => {
|
|
238
|
-
return [ns.em("grid", "header-cell"), semanticClass("table.header.cell", args)].join(" ");
|
|
239
|
-
},
|
|
240
|
-
"row-style": (...args) => semanticStyle("table.body.row", args),
|
|
241
|
-
"row-class-name": (...args) => {
|
|
242
|
-
return [ns.em("grid", "body-row"), semanticClass("table.body.row", args)].join(" ");
|
|
243
|
-
},
|
|
244
|
-
"cell-style": (...args) => semanticStyle("table.body.cell", args),
|
|
245
|
-
"cell-class-name": (...args) => {
|
|
246
|
-
return [ns.em("grid", "body-cell"), semanticClass("table.body.cell", args)].join(" ");
|
|
247
|
-
}
|
|
257
|
+
"span-method": c.spanMethod.bind(c)
|
|
248
258
|
}, _isSlot(_slot = c.state.gridHeaders.map((column) => {
|
|
249
259
|
return vue.createVNode(vue.resolveComponent("el-table-column"), {
|
|
250
260
|
"prop": column.id,
|
|
@@ -253,7 +263,7 @@ const ChartControl = /* @__PURE__ */ vue.defineComponent({
|
|
|
253
263
|
}, null);
|
|
254
264
|
})) ? _slot : {
|
|
255
265
|
default: () => [_slot]
|
|
256
|
-
});
|
|
266
|
+
}), [[vue.resolveDirective("child-class"), childClass], [vue.resolveDirective("child-style"), childStyle]]);
|
|
257
267
|
};
|
|
258
268
|
const renderNoData = () => {
|
|
259
269
|
if (c.state.items.length === 0) {
|
|
@@ -6,6 +6,7 @@ var runtime = require('@ibiz-template/runtime');
|
|
|
6
6
|
var qxUtil = require('qx-util');
|
|
7
7
|
var draggable = require('vuedraggable');
|
|
8
8
|
require('../../util/index.cjs');
|
|
9
|
+
var dataView_util = require('./data-view.util.cjs');
|
|
9
10
|
require('./data-view.css');
|
|
10
11
|
var usePagination = require('../../util/pagination/use-pagination.cjs');
|
|
11
12
|
|
|
@@ -264,6 +265,14 @@ const DataViewControl = /* @__PURE__ */ vue.defineComponent({
|
|
|
264
265
|
}, [renderItemAction(item)]) : null]);
|
|
265
266
|
};
|
|
266
267
|
const renderCard = (item) => {
|
|
268
|
+
const provider = runtime.getMDCtrlItemProvider(c.model);
|
|
269
|
+
if (provider)
|
|
270
|
+
return vue.h(vue.resolveComponent(provider.component), {
|
|
271
|
+
data: item,
|
|
272
|
+
controller: c,
|
|
273
|
+
onClick: (event) => onRowClick(item, event),
|
|
274
|
+
onDblclick: (event) => onDbRowClick(item, event)
|
|
275
|
+
});
|
|
267
276
|
const itemStyle = ns.cssVarBlock({
|
|
268
277
|
"item-bg-color": "".concat(item.bgcolor || ""),
|
|
269
278
|
"text-color": "".concat(item.fontcolor || ""),
|
|
@@ -575,6 +584,12 @@ const DataViewControl = /* @__PURE__ */ vue.defineComponent({
|
|
|
575
584
|
return icon;
|
|
576
585
|
};
|
|
577
586
|
const ITEM_HEIGHT = 24;
|
|
587
|
+
const {
|
|
588
|
+
setSkeletonContentRef,
|
|
589
|
+
calcSkeletonCount
|
|
590
|
+
} = dataView_util.useDataViewSkeleton({
|
|
591
|
+
model: c.model
|
|
592
|
+
});
|
|
578
593
|
const calcSkeletonRows = () => {
|
|
579
594
|
const {
|
|
580
595
|
cardHeight
|
|
@@ -640,34 +655,34 @@ const DataViewControl = /* @__PURE__ */ vue.defineComponent({
|
|
|
640
655
|
};
|
|
641
656
|
const renderGroupSkeleton = () => {
|
|
642
657
|
return vue.createVNode("div", {
|
|
643
|
-
"class": ns.b("
|
|
658
|
+
"class": [ns.e("content"), ns.b("group-content")]
|
|
644
659
|
}, [Array.from({
|
|
645
660
|
length: 3
|
|
646
661
|
}, () => vue.createVNode("div", {
|
|
647
|
-
"class": ns.
|
|
662
|
+
"class": ns.be("group-content", "item")
|
|
648
663
|
}, [vue.createVNode("div", {
|
|
649
|
-
"class": ns.be("
|
|
664
|
+
"class": ns.be("group-content", "item-header")
|
|
650
665
|
}, [vue.createVNode(vue.resolveComponent("el-skeleton"), {
|
|
651
666
|
"animated": true,
|
|
652
667
|
"rows": 1
|
|
653
668
|
}, {
|
|
654
669
|
template: () => vue.createVNode(vue.resolveComponent("el-skeleton-item"), {
|
|
655
670
|
"variant": "rect",
|
|
656
|
-
"style": "width: 15
|
|
671
|
+
"style": "width: 15%;height: 24px;"
|
|
657
672
|
}, null)
|
|
658
673
|
})]), vue.createVNode("div", {
|
|
659
|
-
"
|
|
660
|
-
}, [renderSkeletonCardLayout(3)])]))]);
|
|
674
|
+
"ref": setSkeletonContentRef
|
|
675
|
+
}, [renderSkeletonCardLayout(calcSkeletonCount(3))])]))]);
|
|
661
676
|
};
|
|
662
677
|
const renderSkeleton = () => {
|
|
663
678
|
if (c.state.enableGroup) {
|
|
664
679
|
return renderGroupSkeleton();
|
|
665
680
|
}
|
|
666
|
-
const count = c.state.size || 6;
|
|
681
|
+
const count = c.state.size || calcSkeletonCount(6);
|
|
667
682
|
return vue.createVNode("div", {
|
|
668
|
-
"class": ns.
|
|
683
|
+
"class": ns.e("content")
|
|
669
684
|
}, [vue.createVNode("div", {
|
|
670
|
-
"
|
|
685
|
+
"ref": setSkeletonContentRef
|
|
671
686
|
}, [renderSkeletonCardLayout(Math.min(count, 20))])]);
|
|
672
687
|
};
|
|
673
688
|
const renderNavIcon = () => {
|
|
@@ -734,7 +749,7 @@ const DataViewControl = /* @__PURE__ */ vue.defineComponent({
|
|
|
734
749
|
const provider = c.view.providers[id];
|
|
735
750
|
return vue.h(vue.resolveComponent((provider == null ? void 0 : provider.component) || "IBizControlShell"), {
|
|
736
751
|
class: [ns.e("searchbar"), semanticClass("searchbar")],
|
|
737
|
-
style: semanticStyle(searchbar),
|
|
752
|
+
style: semanticStyle("searchbar"),
|
|
738
753
|
context: c.view.context,
|
|
739
754
|
params: c.view.params,
|
|
740
755
|
modelData: searchbar,
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var vue = require('vue');
|
|
4
|
+
|
|
5
|
+
"use strict";
|
|
6
|
+
const useDataViewSkeleton = ({
|
|
7
|
+
model
|
|
8
|
+
}) => {
|
|
9
|
+
let skeletonContentEl;
|
|
10
|
+
const skeletonContainerWidth = vue.ref(0);
|
|
11
|
+
let skeletonResizeObserver;
|
|
12
|
+
const setSkeletonContentRef = (el) => {
|
|
13
|
+
skeletonResizeObserver == null ? void 0 : skeletonResizeObserver.disconnect();
|
|
14
|
+
skeletonResizeObserver = void 0;
|
|
15
|
+
skeletonContentEl = el || void 0;
|
|
16
|
+
if (skeletonContentEl) {
|
|
17
|
+
const update = () => {
|
|
18
|
+
skeletonContainerWidth.value = skeletonContentEl.clientWidth;
|
|
19
|
+
};
|
|
20
|
+
update();
|
|
21
|
+
skeletonResizeObserver = new ResizeObserver(update);
|
|
22
|
+
skeletonResizeObserver.observe(skeletonContentEl);
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
vue.onBeforeUnmount(() => {
|
|
26
|
+
skeletonResizeObserver == null ? void 0 : skeletonResizeObserver.disconnect();
|
|
27
|
+
});
|
|
28
|
+
const calcSkeletonCount = (defaultCount) => {
|
|
29
|
+
const { cardWidth, cardColXS, cardColSM, cardColMD, cardColLG } = model;
|
|
30
|
+
if (!cardWidth || !skeletonContainerWidth.value || cardColXS || cardColSM || cardColMD || cardColLG) {
|
|
31
|
+
return defaultCount;
|
|
32
|
+
}
|
|
33
|
+
let gap = 0;
|
|
34
|
+
if (skeletonContentEl) {
|
|
35
|
+
gap = Number.parseFloat(getComputedStyle(skeletonContentEl).gap) || 0;
|
|
36
|
+
}
|
|
37
|
+
const count = Math.floor(
|
|
38
|
+
(skeletonContainerWidth.value + gap) / (cardWidth + gap)
|
|
39
|
+
);
|
|
40
|
+
return Math.max(1, count);
|
|
41
|
+
};
|
|
42
|
+
return { setSkeletonContentRef, calcSkeletonCount };
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
exports.useDataViewSkeleton = useDataViewSkeleton;
|
|
@@ -279,10 +279,11 @@ const RepeaterGrid = /* @__PURE__ */ vue.defineComponent({
|
|
|
279
279
|
"align": "center"
|
|
280
280
|
}, {
|
|
281
281
|
default: (opts) => {
|
|
282
|
+
const rowEnableDelete = this.controller.getRowEnableDelete(opts.row);
|
|
282
283
|
const {
|
|
283
284
|
$index
|
|
284
285
|
} = opts;
|
|
285
|
-
if (!this.controller.enableDelete) {
|
|
286
|
+
if (!this.controller.enableDelete || !rowEnableDelete) {
|
|
286
287
|
return vue.createVNode("span", null, [$index + 1]);
|
|
287
288
|
}
|
|
288
289
|
return [this.renderRemoveBtn($index), vue.createVNode("span", {
|
|
@@ -322,6 +322,7 @@ const RepeaterGrid2 = /* @__PURE__ */ vue.defineComponent({
|
|
|
322
322
|
"align": "center"
|
|
323
323
|
}, {
|
|
324
324
|
default: (opts) => {
|
|
325
|
+
const rowEnableDelete = this.controller.getRowEnableDelete(opts.row);
|
|
325
326
|
const {
|
|
326
327
|
$index
|
|
327
328
|
} = opts;
|
|
@@ -341,7 +342,7 @@ const RepeaterGrid2 = /* @__PURE__ */ vue.defineComponent({
|
|
|
341
342
|
"onClick": () => {
|
|
342
343
|
this.controller.create(isEmpty ? 0 : $index + 1);
|
|
343
344
|
}
|
|
344
|
-
}, null), this.controller.enableDelete && !isEmpty && this.renderRemoveBtn($index)]);
|
|
345
|
+
}, null), this.controller.enableDelete && rowEnableDelete && !isEmpty && this.renderRemoveBtn($index)]);
|
|
345
346
|
}
|
|
346
347
|
})];
|
|
347
348
|
},
|
|
@@ -74,10 +74,17 @@ function useITableEvent(c) {
|
|
|
74
74
|
}, 300);
|
|
75
75
|
}
|
|
76
76
|
const allGridColumns = [];
|
|
77
|
+
const headerCellClassNameMap = /* @__PURE__ */ new Map();
|
|
77
78
|
core.recursiveIterate(
|
|
78
79
|
c.model,
|
|
79
80
|
(column) => {
|
|
80
81
|
allGridColumns.push(column);
|
|
82
|
+
if (column.codeName && column.headerSysCss && column.headerSysCss.cssName) {
|
|
83
|
+
headerCellClassNameMap.set(
|
|
84
|
+
column.codeName,
|
|
85
|
+
column.headerSysCss.cssName
|
|
86
|
+
);
|
|
87
|
+
}
|
|
81
88
|
},
|
|
82
89
|
{ childrenFields: ["degridColumns"] }
|
|
83
90
|
);
|
|
@@ -381,13 +388,7 @@ function useITableEvent(c) {
|
|
|
381
388
|
_rowIndex,
|
|
382
389
|
_columnIndex
|
|
383
390
|
}) {
|
|
384
|
-
|
|
385
|
-
return gridColumn.codeName === column.property;
|
|
386
|
-
});
|
|
387
|
-
if (columnModel && columnModel.headerSysCss && columnModel.headerSysCss.cssName) {
|
|
388
|
-
return columnModel.headerSysCss.cssName;
|
|
389
|
-
}
|
|
390
|
-
return "";
|
|
391
|
+
return headerCellClassNameMap.get(column.property) || "";
|
|
391
392
|
}
|
|
392
393
|
vue.watch(
|
|
393
394
|
() => c.state.sortQuery,
|
|
@@ -366,6 +366,32 @@ const GridControl = /* @__PURE__ */ vue.defineComponent({
|
|
|
366
366
|
cleanup = core.NOOP,
|
|
367
367
|
setDragEvent
|
|
368
368
|
} = gridControl_util.useGridDraggable(tableRef, ns, c);
|
|
369
|
+
const childClass = [{
|
|
370
|
+
class: semanticClass("body.row"),
|
|
371
|
+
selector: ".el-table__row"
|
|
372
|
+
}, {
|
|
373
|
+
class: semanticClass("header.row"),
|
|
374
|
+
selector: ".el-table__header tr"
|
|
375
|
+
}, {
|
|
376
|
+
class: semanticClass("body.cell"),
|
|
377
|
+
selector: ".el-table__body .el-table__cell"
|
|
378
|
+
}, {
|
|
379
|
+
class: semanticClass("header.cell"),
|
|
380
|
+
selector: ".el-table__header .el-table__cell"
|
|
381
|
+
}];
|
|
382
|
+
const childStyle = [{
|
|
383
|
+
class: semanticStyle("body.row"),
|
|
384
|
+
selector: ".el-table__row"
|
|
385
|
+
}, {
|
|
386
|
+
class: semanticStyle("header.row"),
|
|
387
|
+
selector: ".el-table__header tr"
|
|
388
|
+
}, {
|
|
389
|
+
class: semanticStyle("body.cell"),
|
|
390
|
+
selector: ".el-table__body .el-table__cell"
|
|
391
|
+
}, {
|
|
392
|
+
class: semanticStyle("header.cell"),
|
|
393
|
+
selector: ".el-table__header .el-table__cell"
|
|
394
|
+
}];
|
|
369
395
|
c.evt.on("onLoadSuccess", () => {
|
|
370
396
|
if (setDragEvent) {
|
|
371
397
|
setDragEvent();
|
|
@@ -564,6 +590,8 @@ const GridControl = /* @__PURE__ */ vue.defineComponent({
|
|
|
564
590
|
isLodeMoreDisabled,
|
|
565
591
|
semanticClass,
|
|
566
592
|
semanticStyle,
|
|
593
|
+
childClass,
|
|
594
|
+
childStyle,
|
|
567
595
|
pageSemantic,
|
|
568
596
|
onRowClick,
|
|
569
597
|
spanMethod,
|
|
@@ -600,7 +628,7 @@ const GridControl = /* @__PURE__ */ vue.defineComponent({
|
|
|
600
628
|
"controller": this.c,
|
|
601
629
|
"style": [this.headerCssVars, this.semanticStyle("root")]
|
|
602
630
|
}, {
|
|
603
|
-
default: () => [vue.createVNode(vue.resolveComponent("el-table"), vue.mergeProps({
|
|
631
|
+
default: () => [vue.withDirectives(vue.createVNode(vue.resolveComponent("el-table"), vue.mergeProps({
|
|
604
632
|
"border": true,
|
|
605
633
|
"ref": "tableRef",
|
|
606
634
|
"data": this.tableData,
|
|
@@ -620,37 +648,11 @@ const GridControl = /* @__PURE__ */ vue.defineComponent({
|
|
|
620
648
|
"onHeaderDragend": this.headerDragend,
|
|
621
649
|
"default-expand-all": defaultExpandAll,
|
|
622
650
|
"show-header": !this.c.state.hideHeader,
|
|
623
|
-
"row-class-name":
|
|
624
|
-
return [this.handleRowClassName(event), this.semanticClass("body.row", {
|
|
625
|
-
event
|
|
626
|
-
})].join(" ");
|
|
627
|
-
},
|
|
628
|
-
"header-row-class-name": (...args) => this.semanticClass("header.row", {
|
|
629
|
-
args
|
|
630
|
-
}),
|
|
631
|
-
"row-style": (...args) => this.semanticStyle("body.row", {
|
|
632
|
-
args
|
|
633
|
-
}),
|
|
634
|
-
"header-row-style": (...args) => this.semanticStyle("header.row", {
|
|
635
|
-
args
|
|
636
|
-
}),
|
|
651
|
+
"row-class-name": this.handleRowClassName,
|
|
637
652
|
"highlight-current-row": state.singleSelect,
|
|
638
653
|
"expandRowKeys": this.c.state.expandRowKeys,
|
|
639
654
|
"onSelectionChange": this.onSelectionChange,
|
|
640
|
-
"cell-class-name":
|
|
641
|
-
args
|
|
642
|
-
}),
|
|
643
|
-
"header-cell-class-name": (data) => {
|
|
644
|
-
return [this.handleHeaderCellClassName(data), this.semanticClass("header.cell", {
|
|
645
|
-
event: data
|
|
646
|
-
})].join(" ");
|
|
647
|
-
},
|
|
648
|
-
"cell-style": (...args) => this.semanticStyle("body.cell", {
|
|
649
|
-
args
|
|
650
|
-
}),
|
|
651
|
-
"header-cell-style": (...args) => this.semanticStyle("header.cell", {
|
|
652
|
-
args
|
|
653
|
-
}),
|
|
655
|
+
"header-cell-class-name": this.handleHeaderCellClassName,
|
|
654
656
|
"onExpandChange": (row, expanded) => this.c.expandChange(row, expanded)
|
|
655
657
|
}, this.$attrs, renderAttrs(this.c.model, {
|
|
656
658
|
...this.c.getEventArgs()
|
|
@@ -692,7 +694,7 @@ const GridControl = /* @__PURE__ */ vue.defineComponent({
|
|
|
692
694
|
}, null), ibiz.i18n.t("app.add")]
|
|
693
695
|
}) : this.renderPopover()];
|
|
694
696
|
}
|
|
695
|
-
}), this.c.state.enablePagingBar && vue.createVNode(vue.resolveComponent("iBizPagination"), {
|
|
697
|
+
}), [[vue.resolveDirective("child-class"), this.childClass], [vue.resolveDirective("child-style"), this.childStyle]]), this.c.state.enablePagingBar && vue.createVNode(vue.resolveComponent("iBizPagination"), {
|
|
696
698
|
"class": this.semanticClass("pagination"),
|
|
697
699
|
"style": this.semanticStyle("pagination"),
|
|
698
700
|
"semantic": this.pageSemantic,
|
|
@@ -312,6 +312,14 @@ const ListControl = /* @__PURE__ */ vue.defineComponent({
|
|
|
312
312
|
}, null);
|
|
313
313
|
};
|
|
314
314
|
const renderItem = (item) => {
|
|
315
|
+
const provider = runtime.getMDCtrlItemProvider(c.model);
|
|
316
|
+
if (provider)
|
|
317
|
+
return vue.h(vue.resolveComponent(provider.component), {
|
|
318
|
+
data: item,
|
|
319
|
+
controller: c,
|
|
320
|
+
onClick: () => c.onRowClick(item),
|
|
321
|
+
onDblclick: () => c.onDbRowClick(item)
|
|
322
|
+
});
|
|
315
323
|
const cardStyle = ns.cssVarBlock({
|
|
316
324
|
"item-bg-color": "".concat(item.bgcolor || ""),
|
|
317
325
|
"text-color": "".concat(item.fontcolor || ""),
|
|
@@ -870,10 +870,19 @@ const TreeControl = /* @__PURE__ */ vue.defineComponent({
|
|
|
870
870
|
if (this.newNodeKey === data._id)
|
|
871
871
|
return this.renderNewNode();
|
|
872
872
|
const nodeData = this.findNodeData(data._uuid, this.c);
|
|
873
|
-
if (!nodeData)
|
|
873
|
+
if (!nodeData)
|
|
874
874
|
return null;
|
|
875
|
-
}
|
|
876
875
|
const nodeModel = this.c.getNodeModel(nodeData._nodeId);
|
|
876
|
+
const provider = this.c.nodeProvider[nodeData._nodeId];
|
|
877
|
+
if (provider)
|
|
878
|
+
return vue.h(vue.resolveComponent(provider.component), {
|
|
879
|
+
data: nodeData,
|
|
880
|
+
model: nodeModel,
|
|
881
|
+
controller: this.c,
|
|
882
|
+
onDblclick: (evt) => this.onNodeDbClick(nodeData, evt),
|
|
883
|
+
onClick: (evt) => this.onNodeClick(nodeData, data, evt),
|
|
884
|
+
onContextmenu: (evt) => this.onNodeContextmenu(nodeData, evt)
|
|
885
|
+
});
|
|
877
886
|
if (this.editingNodeKey === nodeData._id) {
|
|
878
887
|
return vue.createVNode("div", {
|
|
879
888
|
"class": [this.ns.b("node"), (_a = nodeModel.sysCss) == null ? void 0 : _a.cssName, nodeData._dynaClass]
|