@ibiz-template/vue3-components 0.7.4 → 0.7.6
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/index-rHXmoO9Y.js +4 -0
- package/dist/index.min.css +1 -1
- package/dist/index.system.min.js +1 -1
- package/dist/{xlsx-util-UXWgtlzc.js → xlsx-util-QjtIWX97.js} +1 -1
- package/es/common/action-toolbar/action-toolbar.mjs +1 -1
- package/es/common/rawitem/rawitem.mjs +5 -3
- package/es/common/view-message/view-message.d.ts +1 -0
- package/es/common/view-message/view-message.mjs +5 -1
- package/es/control/app-menu/app-menu.mjs +5 -3
- package/es/control/dashboard/custom-dashboard-container/custom-dashboard-container.d.ts +25 -3
- package/es/control/dashboard/custom-dashboard-container/custom-dashboard-container.mjs +19 -5
- package/es/control/dashboard/dashboard-design/dashboard-design.css +1 -1
- package/es/control/dashboard/dashboard-design/dashboard-design.mjs +18 -4
- package/es/control/dashboard/dashboard.d.ts +0 -1
- package/es/control/dashboard/dashboard.mjs +3 -11
- package/es/control/dashboard/index.d.ts +0 -1
- package/es/control/dashboard/portlet/portlet-layout/portlet-layout.mjs +3 -6
- package/es/control/drbar/drbar.controller.mjs +2 -1
- package/es/control/drbar/drbar.mjs +9 -4
- package/es/control/drtab/drtab.controller.mjs +5 -1
- package/es/control/drtab/drtab.mjs +17 -5
- package/es/control/form/form-detail/form-tab-panel/form-tab-panel.mjs +5 -4
- package/es/control/grid/grid/grid-control.util.d.ts +3 -0
- package/es/control/grid/grid/grid-control.util.mjs +97 -1
- package/es/control/grid/grid/grid.css +1 -1
- package/es/control/grid/grid/grid.d.ts +1 -0
- package/es/control/grid/grid/grid.mjs +41 -3
- package/es/control/grid/grid/index.d.ts +1 -0
- package/es/control/grid/grid/index.mjs +1 -1
- package/es/control/grid/grid-column/grid-field-column/grid-field-column.d.ts +1 -0
- package/es/control/grid/grid-column/grid-field-column/grid-field-column.mjs +14 -3
- package/es/control/grid/grid-column/grid-field-column/index.d.ts +1 -0
- package/es/control/grid/index.mjs +1 -1
- package/es/control/index.mjs +1 -1
- package/es/control/kanban/kanban.css +1 -1
- package/es/control/kanban/kanban.mjs +2 -1
- package/es/control/tree/tree.mjs +9 -4
- package/es/control/wizard-panel/wizard-panel.mjs +8 -9
- package/es/editor/autocomplete/ibiz-autocomplete/ibiz-autocomplete.mjs +1 -1
- package/es/editor/check-box-list/ibiz-checkbox-list/ibiz-checkbox-list.mjs +7 -1
- package/es/editor/code/monaco-editor/monaco-editor.mjs +13 -1
- package/es/editor/data-picker/ibiz-picker/ibiz-picker.mjs +1 -1
- package/es/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.mjs +23 -9
- package/es/editor/list-box/ibiz-list-box/ibiz-list-box.mjs +7 -1
- package/es/editor/radio-button-list/ibiz-radio/ibiz-radio.mjs +7 -1
- package/es/editor/span/span/span.mjs +7 -1
- package/es/index.mjs +1 -1
- package/es/panel-component/nav-pos-index/nav-pos-index.controller.d.ts +27 -0
- package/es/panel-component/nav-pos-index/nav-pos-index.controller.mjs +43 -0
- package/es/panel-component/nav-pos-index/nav-pos-index.mjs +3 -0
- package/es/panel-component/panel-button/panel-button.controller.mjs +2 -0
- package/es/panel-component/panel-static-carousel/panel-static-carousel.mjs +13 -5
- package/es/view-engine/wizard-view-engine.mjs +2 -2
- package/lib/common/action-toolbar/action-toolbar.cjs +1 -1
- package/lib/common/rawitem/rawitem.cjs +5 -3
- package/lib/common/view-message/view-message.cjs +5 -1
- package/lib/control/app-menu/app-menu.cjs +5 -3
- package/lib/control/dashboard/custom-dashboard-container/custom-dashboard-container.cjs +19 -5
- package/lib/control/dashboard/dashboard-design/dashboard-design.cjs +18 -4
- package/lib/control/dashboard/dashboard-design/dashboard-design.css +1 -1
- package/lib/control/dashboard/dashboard.cjs +2 -10
- package/lib/control/dashboard/portlet/portlet-layout/portlet-layout.cjs +3 -6
- package/lib/control/drbar/drbar.cjs +8 -3
- package/lib/control/drbar/drbar.controller.cjs +2 -1
- package/lib/control/drtab/drtab.cjs +16 -4
- package/lib/control/drtab/drtab.controller.cjs +5 -1
- package/lib/control/form/form-detail/form-tab-panel/form-tab-panel.cjs +5 -4
- package/lib/control/grid/grid/grid-control.util.cjs +97 -0
- package/lib/control/grid/grid/grid.cjs +40 -2
- package/lib/control/grid/grid/grid.css +1 -1
- package/lib/control/grid/grid/index.cjs +1 -0
- package/lib/control/grid/grid-column/grid-field-column/grid-field-column.cjs +13 -2
- package/lib/control/grid/index.cjs +1 -0
- package/lib/control/index.cjs +1 -0
- package/lib/control/kanban/kanban.cjs +2 -1
- package/lib/control/kanban/kanban.css +1 -1
- package/lib/control/tree/tree.cjs +8 -3
- package/lib/control/wizard-panel/wizard-panel.cjs +8 -9
- package/lib/editor/autocomplete/ibiz-autocomplete/ibiz-autocomplete.cjs +1 -1
- package/lib/editor/check-box-list/ibiz-checkbox-list/ibiz-checkbox-list.cjs +6 -0
- package/lib/editor/code/monaco-editor/monaco-editor.cjs +13 -1
- package/lib/editor/data-picker/ibiz-picker/ibiz-picker.cjs +1 -1
- package/lib/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.cjs +22 -8
- package/lib/editor/list-box/ibiz-list-box/ibiz-list-box.cjs +6 -0
- package/lib/editor/radio-button-list/ibiz-radio/ibiz-radio.cjs +6 -0
- package/lib/editor/span/span/span.cjs +6 -0
- package/lib/index.cjs +1 -0
- package/lib/panel-component/nav-pos-index/nav-pos-index.cjs +3 -0
- package/lib/panel-component/nav-pos-index/nav-pos-index.controller.cjs +43 -0
- package/lib/panel-component/panel-button/panel-button.controller.cjs +2 -0
- package/lib/panel-component/panel-static-carousel/panel-static-carousel.cjs +13 -5
- package/lib/view-engine/wizard-view-engine.cjs +2 -2
- package/package.json +6 -6
- package/dist/index-36xAWDJE.js +0 -4
|
@@ -149,7 +149,7 @@ const IBizActionToolbar = /* @__PURE__ */ defineComponent({
|
|
|
149
149
|
"class": this.ns.e("caption")
|
|
150
150
|
}, [this.caption, createVNode("ion-icon", {
|
|
151
151
|
"class": this.ns.e("caption-icon"),
|
|
152
|
-
"name": "
|
|
152
|
+
"name": "ellipsis-vertical-outline"
|
|
153
153
|
}, null)]),
|
|
154
154
|
dropdown: () => createVNode(resolveComponent("el-dropdown-menu"), null, {
|
|
155
155
|
default: () => [details.length > 0 && details.map((detail) => {
|
|
@@ -29,7 +29,7 @@ const IBizRawItem = /* @__PURE__ */ defineComponent({
|
|
|
29
29
|
}
|
|
30
30
|
const rawItemType = ref(props.type || contentType || "");
|
|
31
31
|
const rawItemContent = ref("");
|
|
32
|
-
let sysImage
|
|
32
|
+
let sysImage;
|
|
33
33
|
if (contentType === "IMAGE") {
|
|
34
34
|
sysImage = rawItem.sysImage;
|
|
35
35
|
}
|
|
@@ -69,7 +69,7 @@ const IBizRawItem = /* @__PURE__ */ defineComponent({
|
|
|
69
69
|
const rawItemText = ref("");
|
|
70
70
|
const convertValue = () => {
|
|
71
71
|
if (rawItemType.value === "IMAGE") {
|
|
72
|
-
if (typeof props.content === "string") {
|
|
72
|
+
if (props.content && typeof props.content === "string") {
|
|
73
73
|
if (isImg(props.content)) {
|
|
74
74
|
rawItemContent.value = {
|
|
75
75
|
imagePath: props.content
|
|
@@ -79,6 +79,8 @@ const IBizRawItem = /* @__PURE__ */ defineComponent({
|
|
|
79
79
|
cssClass: props.content
|
|
80
80
|
};
|
|
81
81
|
}
|
|
82
|
+
} else if (sysImage) {
|
|
83
|
+
rawItemContent.value = sysImage;
|
|
82
84
|
}
|
|
83
85
|
}
|
|
84
86
|
if (["TEXT", "HEADING1", "HEADING2", "HEADING3", "HEADING4", "HEADING5", "HEADING6", "PARAGRAPH", "HTML", "RAW"].includes(rawItemType.value)) {
|
|
@@ -122,7 +124,7 @@ const IBizRawItem = /* @__PURE__ */ defineComponent({
|
|
|
122
124
|
};
|
|
123
125
|
convertValue();
|
|
124
126
|
watch(() => props.content, (newVal, oldVal) => {
|
|
125
|
-
if (newVal !== oldVal) {
|
|
127
|
+
if (newVal && newVal !== oldVal) {
|
|
126
128
|
rawItemContent.value = newVal;
|
|
127
129
|
convertValue();
|
|
128
130
|
}
|
|
@@ -25,6 +25,7 @@ export declare const ViewMessage: import("vue").DefineComponent<{
|
|
|
25
25
|
ns: import("@ibiz-template/core").Namespace;
|
|
26
26
|
getType: (messageType?: string) => string;
|
|
27
27
|
items: import("vue").Ref<{
|
|
28
|
+
key: string;
|
|
28
29
|
position: string | undefined;
|
|
29
30
|
messageType?: string | undefined;
|
|
30
31
|
removeMode?: number | undefined;
|
|
@@ -67,11 +67,15 @@ const ViewMessage = /* @__PURE__ */ defineComponent({
|
|
|
67
67
|
});
|
|
68
68
|
const handleAlertClose = (index) => {
|
|
69
69
|
items.value[index].hidden = true;
|
|
70
|
-
const isHiddenCarouse = items.value.every((
|
|
70
|
+
const isHiddenCarouse = items.value.every((item2) => item2.hidden);
|
|
71
71
|
if (isHiddenCarouse) {
|
|
72
72
|
isHiddenContainer.value = true;
|
|
73
73
|
}
|
|
74
74
|
uuid.value = createUUID();
|
|
75
|
+
const item = items.value[index];
|
|
76
|
+
if (item.removeMode === 1) {
|
|
77
|
+
localStorage.setItem(item.key, "1");
|
|
78
|
+
}
|
|
75
79
|
};
|
|
76
80
|
const handleChange = (index) => {
|
|
77
81
|
initialIndex.value = index;
|
|
@@ -190,6 +190,9 @@ const AppMenuControl = /* @__PURE__ */ defineComponent({
|
|
|
190
190
|
defaultActive.value = activeMenu ? activeMenu.id : "";
|
|
191
191
|
}
|
|
192
192
|
});
|
|
193
|
+
const fn = (data) => {
|
|
194
|
+
counterData.value = data;
|
|
195
|
+
};
|
|
193
196
|
c.evt.on("onMounted", async () => {
|
|
194
197
|
const allItems = c.getAllItems();
|
|
195
198
|
const defaultActiveMenuItem = allItems.find((item) => {
|
|
@@ -214,13 +217,12 @@ const AppMenuControl = /* @__PURE__ */ defineComponent({
|
|
|
214
217
|
if (counterRefId) {
|
|
215
218
|
counter = c.getCounter(counterRefId);
|
|
216
219
|
if (counter) {
|
|
217
|
-
counter.onChange(
|
|
218
|
-
counterData.value = data;
|
|
219
|
-
});
|
|
220
|
+
counter.onChange(fn);
|
|
220
221
|
}
|
|
221
222
|
}
|
|
222
223
|
});
|
|
223
224
|
onUnmounted(() => {
|
|
225
|
+
counter == null ? void 0 : counter.offChange(fn);
|
|
224
226
|
counter == null ? void 0 : counter.destroy();
|
|
225
227
|
});
|
|
226
228
|
const menuMode = computed(() => {
|
|
@@ -17,6 +17,7 @@ export declare const CustomDashboardContainer: import("vue").DefineComponent<{
|
|
|
17
17
|
customModelData: IData[];
|
|
18
18
|
layoutColNum: number;
|
|
19
19
|
layoutRowH: number;
|
|
20
|
+
portletConfig: IData;
|
|
20
21
|
model: {
|
|
21
22
|
appDynaDashboardUtilId?: string | undefined;
|
|
22
23
|
enableCustomized?: boolean | undefined;
|
|
@@ -2023,13 +2024,34 @@ export declare const CustomDashboardContainer: import("vue").DefineComponent<{
|
|
|
2023
2024
|
modelId?: string | undefined;
|
|
2024
2025
|
modelType?: string | undefined;
|
|
2025
2026
|
} | undefined;
|
|
2026
|
-
}
|
|
2027
|
+
};
|
|
2027
2028
|
config: {
|
|
2028
2029
|
save: (data: IData) => Promise<boolean>;
|
|
2029
2030
|
load: () => Promise<IData>;
|
|
2031
|
+
} | undefined;
|
|
2032
|
+
util: {
|
|
2033
|
+
load: (tag: string, context: IContext, params: IParams) => Promise<IData>;
|
|
2034
|
+
save: (tag: string, context: IContext, params: IParams, data: IData) => Promise<IData>;
|
|
2035
|
+
} | undefined;
|
|
2036
|
+
context: {
|
|
2037
|
+
[x: string]: any;
|
|
2038
|
+
[x: symbol]: any;
|
|
2039
|
+
srfsessionid: string;
|
|
2040
|
+
srfappid: string;
|
|
2041
|
+
srfsimple?: boolean | undefined;
|
|
2042
|
+
srfpaginationviewid?: string | undefined;
|
|
2043
|
+
};
|
|
2044
|
+
params: {
|
|
2045
|
+
[x: string]: any;
|
|
2046
|
+
[x: symbol]: any;
|
|
2047
|
+
reset: (params?: IParams | undefined, parent?: IParams | undefined) => void;
|
|
2048
|
+
destroy: () => void;
|
|
2030
2049
|
};
|
|
2031
|
-
|
|
2032
|
-
|
|
2050
|
+
type: "data" | "public" | "personal";
|
|
2051
|
+
ownerType: string;
|
|
2052
|
+
ownerId: string;
|
|
2053
|
+
loadCustomModelData: () => Promise<IData>;
|
|
2054
|
+
saveCustomModelData: (model: IData[], config?: IData | undefined) => Promise<IData>;
|
|
2033
2055
|
};
|
|
2034
2056
|
isShowDesign: import("vue").Ref<boolean>;
|
|
2035
2057
|
isInited: import("vue").Ref<boolean>;
|
|
@@ -20,7 +20,7 @@ const CustomDashboardContainer = /* @__PURE__ */ defineComponent({
|
|
|
20
20
|
emit
|
|
21
21
|
}) {
|
|
22
22
|
const ns = useNamespace("custom-dashboard-container");
|
|
23
|
-
const customC = reactive(new CustomDashboardController(props.modelData));
|
|
23
|
+
const customC = reactive(new CustomDashboardController(props.modelData, props.dashboard));
|
|
24
24
|
const isInited = ref(false);
|
|
25
25
|
const isShowDesign = ref(false);
|
|
26
26
|
const showTypeDir = ref(false);
|
|
@@ -64,13 +64,27 @@ const CustomDashboardContainer = /* @__PURE__ */ defineComponent({
|
|
|
64
64
|
const isShowDefault = computed(() => {
|
|
65
65
|
return customC.customModelData.length === 0;
|
|
66
66
|
});
|
|
67
|
+
const handleCustomModelChange = async (args) => {
|
|
68
|
+
await props.dashboard.initPortlets(args.model);
|
|
69
|
+
await props.dashboard.initPortletsConfig(args.config);
|
|
70
|
+
};
|
|
67
71
|
onMounted(async () => {
|
|
68
|
-
const
|
|
69
|
-
const tempModelDatas = convertData(model);
|
|
70
|
-
|
|
71
|
-
model: tempModelDatas
|
|
72
|
+
const response = await customC.loadCustomModelData();
|
|
73
|
+
const tempModelDatas = convertData(response.model);
|
|
74
|
+
await handleCustomModelChange({
|
|
75
|
+
model: tempModelDatas,
|
|
76
|
+
config: response.config
|
|
72
77
|
});
|
|
73
78
|
isInited.value = true;
|
|
79
|
+
props.dashboard.evt.on("onConfigChange", async (eventArgs) => {
|
|
80
|
+
const {
|
|
81
|
+
name,
|
|
82
|
+
config
|
|
83
|
+
} = eventArgs;
|
|
84
|
+
customC.saveCustomModelData(customC.customModelData, {
|
|
85
|
+
[name]: config
|
|
86
|
+
});
|
|
87
|
+
});
|
|
74
88
|
});
|
|
75
89
|
return {
|
|
76
90
|
ns,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.ibiz-dashboard-design{width:100%;height:100%}.ibiz-dashboard-design .ibiz-dashboard-design-header{height:48px;padding:var(--ibiz-spacing-tight);display:flex;align-items:center;justify-content:space-between}.ibiz-dashboard-design .ibiz-dashboard-design-header .ibiz-dashboard-design-header-utils{display:flex;align-items:center;justify-content:flex-start}.ibiz-dashboard-design-header-utils__col-num{margin-right:var(--ibiz-spacing-tight)}.ibiz-dashboard-design-header-utils__row-h{margin-right:var(--ibiz-spacing-tight)}.ibiz-dashboard-design .ibiz-dashboard-design-content{width:100%;height:calc(100% - 48px);display:flex;align-items:flex-start;justify-content:flex-start}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-tree{min-width:300px;height:100%;overflow-y:scroll}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-tree .ibiz-dashboard-design-tree-filter{width:100%;height:32px;padding:0 var(--ibiz-spacing-tight)}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-tree .ibiz-dashboard-design-tree-content{height:calc(100% - 32px);overflow:auto}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-tree .ibiz-dashboard-design-tree-content>.el-menu{height:100%;border:none}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-tree .ibiz-dashboard-design-tree-content>.el-menu .el-menu-item{display:flex;flex-flow:flex nowrap;align-items:center;justify-content:space-between}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-tree .ibiz-dashboard-design-tree-content>.el-menu .el-menu-item>span{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-tree .ibiz-dashboard-design-tree-content>.el-menu .el-menu-item ion-icon{cursor:pointer}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-tree .ibiz-dashboard-design-tree-content>.el-menu .el-menu-item ion-icon:hover{color:var(--ibiz-color-primary)}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-scroll-box{flex-grow:1;height:100%;overflow-y:scroll;background:#efefef}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-panel{position:relative}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-panel .ibiz-dashboard-design-grid-layout-mask{position:absolute;inset:0;height:100%;min-height:1248px;background:linear-gradient(to bottom,var(--ibiz-color-primary) 10px,transparent 10px),linear-gradient(to right,var(--ibiz-color-primary) 10px,transparent 10px)}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-panel .ibiz-dashboard-design-grid-layout .ibiz-dashboard-design-grid-layout-item{width:100%;height:100%}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-panel .ibiz-dashboard-design-grid-layout .ibiz-dashboard-design-grid-layout-item .el-card__body{display:flex;flex-flow:column nowrap;height:100%;background-color:var(--ibiz-color-white)}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-panel .ibiz-dashboard-design-grid-layout .ibiz-dashboard-design-grid-layout-item .ibiz-dashboard-design-grid-layout-item-header{display:flex;align-items:center;justify-content:space-between}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-panel .ibiz-dashboard-design-grid-layout .ibiz-dashboard-design-grid-layout-item .ibiz-dashboard-design-grid-layout-item-header>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-panel .ibiz-dashboard-design-grid-layout .ibiz-dashboard-design-grid-layout-item .ibiz-dashboard-design-grid-layout-item-header ion-icon{cursor:pointer}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-panel .ibiz-dashboard-design-grid-layout .ibiz-dashboard-design-grid-layout-item .ibiz-dashboard-design-grid-layout-item-content{display:flex;align-items:center;justify-content:center;width:100%;height:100
|
|
1
|
+
.ibiz-dashboard-design{width:100%;height:100%}.ibiz-dashboard-design .ibiz-dashboard-design-header{height:48px;padding:var(--ibiz-spacing-tight);display:flex;align-items:center;justify-content:space-between}.ibiz-dashboard-design .ibiz-dashboard-design-header .ibiz-dashboard-design-header-utils{display:flex;align-items:center;justify-content:flex-start}.ibiz-dashboard-design-header-utils__col-num{margin-right:var(--ibiz-spacing-tight)}.ibiz-dashboard-design-header-utils__row-h{margin-right:var(--ibiz-spacing-tight)}.ibiz-dashboard-design .ibiz-dashboard-design-content{width:100%;height:calc(100% - 48px);display:flex;align-items:flex-start;justify-content:flex-start}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-tree{min-width:300px;height:100%;overflow-y:scroll}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-tree .ibiz-dashboard-design-tree-filter{width:100%;height:32px;padding:0 var(--ibiz-spacing-tight)}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-tree .ibiz-dashboard-design-tree-content{height:calc(100% - 32px);overflow:auto}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-tree .ibiz-dashboard-design-tree-content>.el-menu{height:100%;border:none}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-tree .ibiz-dashboard-design-tree-content>.el-menu .el-menu-item{display:flex;flex-flow:flex nowrap;align-items:center;justify-content:space-between}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-tree .ibiz-dashboard-design-tree-content>.el-menu .el-menu-item>span{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-tree .ibiz-dashboard-design-tree-content>.el-menu .el-menu-item ion-icon{cursor:pointer}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-tree .ibiz-dashboard-design-tree-content>.el-menu .el-menu-item ion-icon:hover{color:var(--ibiz-color-primary)}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-scroll-box{flex-grow:1;height:100%;overflow-y:scroll;background:#efefef}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-panel{position:relative}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-panel .ibiz-dashboard-design-grid-layout-mask{position:absolute;inset:0;height:100%;min-height:1248px;background:linear-gradient(to bottom,var(--ibiz-color-primary) 10px,transparent 10px),linear-gradient(to right,var(--ibiz-color-primary) 10px,transparent 10px)}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-panel .ibiz-dashboard-design-grid-layout .ibiz-dashboard-design-grid-layout-item{width:100%;height:100%}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-panel .ibiz-dashboard-design-grid-layout .ibiz-dashboard-design-grid-layout-item .el-card__body{display:flex;flex-flow:column nowrap;height:100%;background-color:var(--ibiz-color-white)}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-panel .ibiz-dashboard-design-grid-layout .ibiz-dashboard-design-grid-layout-item .ibiz-dashboard-design-grid-layout-item-header{display:flex;align-items:center;justify-content:space-between}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-panel .ibiz-dashboard-design-grid-layout .ibiz-dashboard-design-grid-layout-item .ibiz-dashboard-design-grid-layout-item-header>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-panel .ibiz-dashboard-design-grid-layout .ibiz-dashboard-design-grid-layout-item .ibiz-dashboard-design-grid-layout-item-header ion-icon{cursor:pointer}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-panel .ibiz-dashboard-design-grid-layout .ibiz-dashboard-design-grid-layout-item .ibiz-dashboard-design-grid-layout-item-content{display:flex;align-items:center;justify-content:center;width:100%;height:100%;pointer-events:none}
|
|
@@ -134,6 +134,7 @@ const DashboardDesign = /* @__PURE__ */ defineComponent({
|
|
|
134
134
|
const groups = ref(result.groups);
|
|
135
135
|
const filterVal = ref("");
|
|
136
136
|
const layoutModel = ref(clone(customC.customModelData));
|
|
137
|
+
const layoutConfig = ref(clone(customC.portletConfig));
|
|
137
138
|
const providers = ref({});
|
|
138
139
|
const portletControllers = ref({});
|
|
139
140
|
const designPanel = ref(null);
|
|
@@ -164,6 +165,17 @@ const DashboardDesign = /* @__PURE__ */ defineComponent({
|
|
|
164
165
|
}
|
|
165
166
|
}));
|
|
166
167
|
};
|
|
168
|
+
const initPortletsConfig = async () => {
|
|
169
|
+
const config = layoutConfig.value || {};
|
|
170
|
+
Object.keys(config).forEach((key) => {
|
|
171
|
+
const portlet = portletControllers.value[key];
|
|
172
|
+
if (portlet) {
|
|
173
|
+
portlet.config = config[key];
|
|
174
|
+
portlet.state.title = portlet.config.srftitle;
|
|
175
|
+
Object.assign(portlet.params, portlet.config);
|
|
176
|
+
}
|
|
177
|
+
});
|
|
178
|
+
};
|
|
167
179
|
const getPortletByCodeName = (codeName) => {
|
|
168
180
|
const app = ibiz.hub.getApp(ibiz.env.appId);
|
|
169
181
|
if (app.model.appPortlets) {
|
|
@@ -191,11 +203,13 @@ const DashboardDesign = /* @__PURE__ */ defineComponent({
|
|
|
191
203
|
const preparePortlet = async () => {
|
|
192
204
|
const tempModelDatas = convertData(layoutModel.value);
|
|
193
205
|
await initPortlets(tempModelDatas);
|
|
206
|
+
await initPortletsConfig();
|
|
194
207
|
};
|
|
195
208
|
watch(() => props.isShowDesign, async (newVal) => {
|
|
196
209
|
if (newVal) {
|
|
197
|
-
const
|
|
198
|
-
layoutModel.value = clone(
|
|
210
|
+
const res = await customC.loadCustomModelData();
|
|
211
|
+
layoutModel.value = clone(res.model);
|
|
212
|
+
layoutConfig.value = clone(res.config);
|
|
199
213
|
await preparePortlet();
|
|
200
214
|
}
|
|
201
215
|
}, {
|
|
@@ -209,9 +223,9 @@ const DashboardDesign = /* @__PURE__ */ defineComponent({
|
|
|
209
223
|
layoutModel.value = [];
|
|
210
224
|
};
|
|
211
225
|
const onSave = async () => {
|
|
212
|
-
const
|
|
226
|
+
const res = await customC.saveCustomModelData(layoutModel.value);
|
|
213
227
|
emit("saved", {
|
|
214
|
-
model
|
|
228
|
+
model: res.model
|
|
215
229
|
});
|
|
216
230
|
};
|
|
217
231
|
const removeItem = async (child) => {
|
|
@@ -22,7 +22,6 @@ export declare const DashboardControl: import("vue").DefineComponent<{
|
|
|
22
22
|
c: DashboardController;
|
|
23
23
|
ns: import("@ibiz-template/core").Namespace;
|
|
24
24
|
customModelDatas: import("vue").Ref<never[]>;
|
|
25
|
-
handleCustomModelChange: (args: IData) => Promise<void>;
|
|
26
25
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
27
26
|
modelData: {
|
|
28
27
|
type: PropType<IDashboard>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isVNode, createVNode, resolveComponent, h,
|
|
1
|
+
import { isVNode, createVNode, resolveComponent, h, ref, reactive, defineComponent } from 'vue';
|
|
2
2
|
import { useControlController, useNamespace } from '@ibiz-template/vue3-util';
|
|
3
3
|
import './dashboard.css';
|
|
4
4
|
import { DashboardController } from '@ibiz-template/runtime';
|
|
@@ -56,7 +56,6 @@ const DashboardControl = /* @__PURE__ */ defineComponent({
|
|
|
56
56
|
},
|
|
57
57
|
setup() {
|
|
58
58
|
const c = useControlController((...args) => new DashboardController(...args));
|
|
59
|
-
const vue = getCurrentInstance().proxy;
|
|
60
59
|
const customModelDatas = ref([]);
|
|
61
60
|
const ns = useNamespace("control-".concat(c.model.controlType.toLowerCase()));
|
|
62
61
|
c.evt.on("onCreated", () => {
|
|
@@ -64,16 +63,10 @@ const DashboardControl = /* @__PURE__ */ defineComponent({
|
|
|
64
63
|
portlet.state = reactive(portlet.state);
|
|
65
64
|
});
|
|
66
65
|
});
|
|
67
|
-
const handleCustomModelChange = async (args) => {
|
|
68
|
-
customModelDatas.value = args.model;
|
|
69
|
-
await c.initPortlets(customModelDatas.value);
|
|
70
|
-
vue.$forceUpdate();
|
|
71
|
-
};
|
|
72
66
|
return {
|
|
73
67
|
c,
|
|
74
68
|
ns,
|
|
75
|
-
customModelDatas
|
|
76
|
-
handleCustomModelChange
|
|
69
|
+
customModelDatas
|
|
77
70
|
};
|
|
78
71
|
},
|
|
79
72
|
render() {
|
|
@@ -119,8 +112,7 @@ const DashboardControl = /* @__PURE__ */ defineComponent({
|
|
|
119
112
|
}, {
|
|
120
113
|
default: () => [state.isCreated && (model.enableCustomized ? createVNode(resolveComponent("iBizCustomDashboardContainer"), {
|
|
121
114
|
"modelData": this.modelData,
|
|
122
|
-
"dashboard": this.c
|
|
123
|
-
"onChanged": this.handleCustomModelChange
|
|
115
|
+
"dashboard": this.c
|
|
124
116
|
}, _isSlot(_slot2 = renderCustomSlots()) ? _slot2 : {
|
|
125
117
|
default: () => [_slot2]
|
|
126
118
|
}) : renderDefaultContent())]
|
|
@@ -19,7 +19,6 @@ export declare const IBizDashboardControl: import("@ibiz-template/vue3-util").Ty
|
|
|
19
19
|
c: import("@ibiz-template/runtime").DashboardController;
|
|
20
20
|
ns: import("@ibiz-template/core").Namespace;
|
|
21
21
|
customModelDatas: import("vue").Ref<never[]>;
|
|
22
|
-
handleCustomModelChange: (args: IData) => Promise<void>;
|
|
23
22
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
24
23
|
modelData: {
|
|
25
24
|
type: import("vue").PropType<import("@ibiz/model-core").IDashboard>;
|
|
@@ -34,10 +34,6 @@ const PortletLayout = /* @__PURE__ */ defineComponent({
|
|
|
34
34
|
model,
|
|
35
35
|
state
|
|
36
36
|
} = this.controller;
|
|
37
|
-
let title = model.title;
|
|
38
|
-
if (model.titleLanguageRes) {
|
|
39
|
-
title = ibiz.i18n.t(model.titleLanguageRes.lanResTag, model.title);
|
|
40
|
-
}
|
|
41
37
|
return createVNode("div", {
|
|
42
38
|
"class": [this.ns.b(), this.ns.is("no-header", !this.isShowHeader)]
|
|
43
39
|
}, [this.isShowHeader && createVNode("div", {
|
|
@@ -52,13 +48,14 @@ const PortletLayout = /* @__PURE__ */ defineComponent({
|
|
|
52
48
|
"icon": model.sysImage
|
|
53
49
|
}, null), createVNode("span", {
|
|
54
50
|
"class": this.ns.e("caption-text"),
|
|
55
|
-
"title": title
|
|
56
|
-
}, [title])])]), createVNode("div", {
|
|
51
|
+
"title": state.title
|
|
52
|
+
}, [state.title])])]), createVNode("div", {
|
|
57
53
|
"class": this.ns.be("header", "right")
|
|
58
54
|
}, [model.uiactionGroup && createVNode(resolveComponent("iBizActionToolbar"), {
|
|
59
55
|
"class": this.ns.e("toolbar"),
|
|
60
56
|
"action-details": model.uiactionGroup.uiactionGroupDetails,
|
|
61
57
|
"actions-state": state.actionGroupState,
|
|
58
|
+
"mode": model.actionGroupExtractMode === "ITEMS" ? "dropdown" : "buttons",
|
|
62
59
|
"onActionClick": this.onActionClick
|
|
63
60
|
}, null)])]), createVNode("div", {
|
|
64
61
|
"key": "content",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isVNode, reactive, watch, resolveComponent, createVNode, defineComponent } from 'vue';
|
|
1
|
+
import { isVNode, reactive, onUnmounted, watch, resolveComponent, createVNode, defineComponent } from 'vue';
|
|
2
2
|
import { useControlController, useNamespace, getNestedRoutePath, route2routePath } from '@ibiz-template/vue3-util';
|
|
3
3
|
import { useRouter, useRoute } from 'vue-router';
|
|
4
4
|
import { DRBarController } from './drbar.controller.mjs';
|
|
@@ -44,13 +44,18 @@ const DRBarControl = /* @__PURE__ */ defineComponent({
|
|
|
44
44
|
const ns = useNamespace("control-".concat(c.model.controlType.toLowerCase()));
|
|
45
45
|
const router = useRouter();
|
|
46
46
|
const counterData = reactive({});
|
|
47
|
+
const fn = (counter) => {
|
|
48
|
+
Object.assign(counterData, counter);
|
|
49
|
+
};
|
|
47
50
|
c.evt.on("onCreated", () => {
|
|
48
51
|
if (c.counter) {
|
|
49
|
-
c.counter.onChange(
|
|
50
|
-
Object.assign(counterData, counter);
|
|
51
|
-
}, true);
|
|
52
|
+
c.counter.onChange(fn, true);
|
|
52
53
|
}
|
|
53
54
|
});
|
|
55
|
+
onUnmounted(() => {
|
|
56
|
+
var _a;
|
|
57
|
+
(_a = c.counter) == null ? void 0 : _a.offChange(fn);
|
|
58
|
+
});
|
|
54
59
|
c.setRouter(router);
|
|
55
60
|
const handleSelect = (key) => {
|
|
56
61
|
c.handleSelectChange(key);
|
|
@@ -168,6 +168,9 @@ class DRTabController extends ControlController {
|
|
|
168
168
|
sysImage: editItemSysImage,
|
|
169
169
|
fullPath: this.routeDepth ? getNestedRoutePath(this.router.currentRoute.value, this.routeDepth) : ""
|
|
170
170
|
});
|
|
171
|
+
this.state.defaultName = "";
|
|
172
|
+
} else {
|
|
173
|
+
this.state.defaultName = (dedrtabPages == null ? void 0 : dedrtabPages[0].id) || "";
|
|
171
174
|
}
|
|
172
175
|
dedrtabPages == null ? void 0 : dedrtabPages.forEach((item) => {
|
|
173
176
|
let itemCaption = item.caption;
|
|
@@ -302,7 +305,8 @@ class DRTabController extends ControlController {
|
|
|
302
305
|
if (appCounterRef) {
|
|
303
306
|
this.counter = await CounterService.getCounterByRef(
|
|
304
307
|
appCounterRef,
|
|
305
|
-
this.context
|
|
308
|
+
this.context,
|
|
309
|
+
{ ...this.params }
|
|
306
310
|
);
|
|
307
311
|
}
|
|
308
312
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isVNode, reactive, watch, resolveComponent, createVNode, defineComponent } from 'vue';
|
|
1
|
+
import { isVNode, reactive, onUnmounted, watch, resolveComponent, createVNode, defineComponent } from 'vue';
|
|
2
2
|
import { useControlController, useNamespace, getNestedRoutePath, route2routePath } from '@ibiz-template/vue3-util';
|
|
3
3
|
import { useRouter, useRoute } from 'vue-router';
|
|
4
4
|
import { hasSubRoute } from '@ibiz-template/runtime';
|
|
@@ -34,13 +34,18 @@ const DRTabControl = /* @__PURE__ */ defineComponent({
|
|
|
34
34
|
const ns = useNamespace("control-".concat(c.model.controlType.toLowerCase()));
|
|
35
35
|
const router = useRouter();
|
|
36
36
|
const counterData = reactive({});
|
|
37
|
+
const fn = (counter) => {
|
|
38
|
+
Object.assign(counterData, counter);
|
|
39
|
+
};
|
|
37
40
|
c.evt.on("onCreated", () => {
|
|
38
41
|
if (c.counter) {
|
|
39
|
-
c.counter.onChange(
|
|
40
|
-
Object.assign(counterData, counter);
|
|
41
|
-
}, true);
|
|
42
|
+
c.counter.onChange(fn, true);
|
|
42
43
|
}
|
|
43
44
|
});
|
|
45
|
+
onUnmounted(() => {
|
|
46
|
+
var _a;
|
|
47
|
+
(_a = c.counter) == null ? void 0 : _a.offChange(fn);
|
|
48
|
+
});
|
|
44
49
|
c.setRouter(router);
|
|
45
50
|
const handleTabChange = () => {
|
|
46
51
|
c.handleTabChange();
|
|
@@ -60,10 +65,17 @@ const DRTabControl = /* @__PURE__ */ defineComponent({
|
|
|
60
65
|
const {
|
|
61
66
|
srfnav
|
|
62
67
|
} = routePath.pathNodes[depth - 1];
|
|
68
|
+
const isRoutePushed = !!c.routeDepth && hasSubRoute(c.routeDepth);
|
|
63
69
|
if (srfnav && c.state.activeName && c.state.activeName !== srfnav) {
|
|
64
70
|
c.state.activeName = srfnav;
|
|
65
|
-
const isRoutePushed = !!c.routeDepth && hasSubRoute(c.routeDepth);
|
|
66
71
|
c.handleTabChange(isRoutePushed);
|
|
72
|
+
} else if (!srfnav) {
|
|
73
|
+
const routeNoSub = !!c.routeDepth && !hasSubRoute(c.routeDepth);
|
|
74
|
+
const doTabChange = c.state.activeName !== c.state.defaultName || routeNoSub;
|
|
75
|
+
if (doTabChange) {
|
|
76
|
+
c.state.activeName = c.state.defaultName;
|
|
77
|
+
c.handleTabChange(isRoutePushed);
|
|
78
|
+
}
|
|
67
79
|
}
|
|
68
80
|
}
|
|
69
81
|
}
|
|
@@ -34,6 +34,9 @@ const FormTabPanel = /* @__PURE__ */ defineComponent({
|
|
|
34
34
|
pageC.onClick(event);
|
|
35
35
|
}
|
|
36
36
|
};
|
|
37
|
+
const fn = (data) => {
|
|
38
|
+
counterData.value = data;
|
|
39
|
+
};
|
|
37
40
|
onMounted(() => {
|
|
38
41
|
var _a, _b;
|
|
39
42
|
const defaultSlots = ((_a = slots.default) == null ? void 0 : _a.call(slots)) || [];
|
|
@@ -48,14 +51,12 @@ const FormTabPanel = /* @__PURE__ */ defineComponent({
|
|
|
48
51
|
if (counterRefId.value) {
|
|
49
52
|
counter = props.controller.getCounter(counterRefId.value);
|
|
50
53
|
if (counter) {
|
|
51
|
-
counter.onChange(
|
|
52
|
-
counterData.value = data;
|
|
53
|
-
});
|
|
54
|
+
counter.onChange(fn);
|
|
54
55
|
}
|
|
55
56
|
}
|
|
56
57
|
});
|
|
57
58
|
onUnmounted(() => {
|
|
58
|
-
counter == null ? void 0 : counter.
|
|
59
|
+
counter == null ? void 0 : counter.offChange(fn);
|
|
59
60
|
});
|
|
60
61
|
return {
|
|
61
62
|
ns,
|
|
@@ -81,3 +81,6 @@ export declare function useAppGridBase(c: GridController, props: IGridProps): {
|
|
|
81
81
|
export declare function useGridHeaderStyle(tableRef: IData, ns: Namespace): {
|
|
82
82
|
headerCssVars: IData;
|
|
83
83
|
};
|
|
84
|
+
export declare function useGridDraggable(tableRef: IData, ns: Namespace, c: GridController): {
|
|
85
|
+
cleanup?: () => void;
|
|
86
|
+
};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { listenJSEvent } from '@ibiz-template/core';
|
|
1
2
|
import { Srfuf, ControlVO, GridRowState } from '@ibiz-template/runtime';
|
|
2
3
|
import { ref, watch, nextTick, computed, watchEffect, onUnmounted } from 'vue';
|
|
3
4
|
|
|
@@ -90,6 +91,9 @@ function useITableEvent(c) {
|
|
|
90
91
|
if (row.srfkey) {
|
|
91
92
|
activeClassName += " id-".concat(row.srfkey);
|
|
92
93
|
}
|
|
94
|
+
if (c.enableRowEditOrder) {
|
|
95
|
+
activeClassName += " enable-order";
|
|
96
|
+
}
|
|
93
97
|
return activeClassName;
|
|
94
98
|
}
|
|
95
99
|
function handleHeaderCellClassName({
|
|
@@ -291,5 +295,97 @@ function useGridHeaderStyle(tableRef, ns) {
|
|
|
291
295
|
headerCssVars
|
|
292
296
|
};
|
|
293
297
|
}
|
|
298
|
+
function useGridDraggable(tableRef, ns, c) {
|
|
299
|
+
if (!c.enableRowEditOrder || !c.model.orderValueAppDEFieldId) {
|
|
300
|
+
return {};
|
|
301
|
+
}
|
|
302
|
+
let draggingDom = null;
|
|
303
|
+
let dragIndex = 0;
|
|
304
|
+
let draggingKey = "";
|
|
305
|
+
let draggingData = null;
|
|
306
|
+
const cleanups = [];
|
|
307
|
+
const calcSrfKeyByClass = (classList) => {
|
|
308
|
+
let result = "";
|
|
309
|
+
classList.forEach((className) => {
|
|
310
|
+
if (className.startsWith("id-")) {
|
|
311
|
+
result = className.replace("id-", "");
|
|
312
|
+
}
|
|
313
|
+
});
|
|
314
|
+
return result;
|
|
315
|
+
};
|
|
316
|
+
const setRowDragEvent = (item) => {
|
|
317
|
+
item.setAttribute("draggable", "true");
|
|
318
|
+
const cleanDragStart = listenJSEvent(
|
|
319
|
+
item,
|
|
320
|
+
"dragstart",
|
|
321
|
+
(event) => {
|
|
322
|
+
if (event.target) {
|
|
323
|
+
draggingDom = event.target;
|
|
324
|
+
event.dataTransfer.effectAllowed = "move";
|
|
325
|
+
draggingKey = calcSrfKeyByClass(draggingDom.classList);
|
|
326
|
+
dragIndex = c.state.rows.findIndex(
|
|
327
|
+
(row) => row.data.srfkey === draggingKey
|
|
328
|
+
);
|
|
329
|
+
draggingData = c.state.rows[dragIndex];
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
);
|
|
333
|
+
const cleanDragEnter = listenJSEvent(
|
|
334
|
+
item,
|
|
335
|
+
"dragenter",
|
|
336
|
+
(event) => {
|
|
337
|
+
event.preventDefault();
|
|
338
|
+
const targetDom = event.currentTarget;
|
|
339
|
+
const targetKey = calcSrfKeyByClass(targetDom.classList);
|
|
340
|
+
const targetIndex = c.state.rows.findIndex(
|
|
341
|
+
(row) => row.data.srfkey === targetKey
|
|
342
|
+
);
|
|
343
|
+
if (draggingKey === targetKey || targetIndex === -1) {
|
|
344
|
+
return;
|
|
345
|
+
}
|
|
346
|
+
c.state.rows.splice(dragIndex, 1);
|
|
347
|
+
c.state.rows.splice(targetIndex, 0, draggingData);
|
|
348
|
+
dragIndex = targetIndex;
|
|
349
|
+
}
|
|
350
|
+
);
|
|
351
|
+
const cleanDragOver = listenJSEvent(
|
|
352
|
+
item,
|
|
353
|
+
"dragover",
|
|
354
|
+
(event) => {
|
|
355
|
+
event.preventDefault();
|
|
356
|
+
}
|
|
357
|
+
);
|
|
358
|
+
const cleanDragEnd = listenJSEvent(item, "dragend", (event) => {
|
|
359
|
+
event.preventDefault();
|
|
360
|
+
c.onDragChange();
|
|
361
|
+
});
|
|
362
|
+
cleanups.push(cleanDragStart);
|
|
363
|
+
cleanups.push(cleanDragEnter);
|
|
364
|
+
cleanups.push(cleanDragOver);
|
|
365
|
+
cleanups.push(cleanDragEnd);
|
|
366
|
+
};
|
|
367
|
+
watch(
|
|
368
|
+
[() => tableRef.value, () => c.state.isLoaded],
|
|
369
|
+
(table, isLoaded) => {
|
|
370
|
+
if (!isLoaded || !table) {
|
|
371
|
+
return;
|
|
372
|
+
}
|
|
373
|
+
const grid = tableRef.value.$el;
|
|
374
|
+
if (grid) {
|
|
375
|
+
const rows = grid.getElementsByClassName("el-table__row");
|
|
376
|
+
rows.forEach((item) => {
|
|
377
|
+
setRowDragEvent(item);
|
|
378
|
+
});
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
);
|
|
382
|
+
return {
|
|
383
|
+
cleanup: () => {
|
|
384
|
+
cleanups.forEach((cleanup) => {
|
|
385
|
+
cleanup();
|
|
386
|
+
});
|
|
387
|
+
}
|
|
388
|
+
};
|
|
389
|
+
}
|
|
294
390
|
|
|
295
|
-
export { useAppGridBase, useAppGridPagination, useGridHeaderStyle, useITableEvent };
|
|
391
|
+
export { useAppGridBase, useAppGridPagination, useGridDraggable, useGridHeaderStyle, useITableEvent };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.ibiz-control-grid{--ibiz-control-grid-text-color:var(--ibiz-color-text-0);--ibiz-control-grid-bg-color:transparent;--ibiz-control-grid-padding:0;--ibiz-control-grid-cell-padding:var(--ibiz-spacing-tight);--ibiz-control-grid-selection-padding:var(--ibiz-spacing-base-loose);--ibiz-control-grid-row-edit-bg-color:var(--ibiz-color-fill-2);--ibiz-control-grid-row-bg-color:var(--ibiz-color-bg-1);--ibiz-control-grid-row-bg-color-2:var(--ibiz-color-bg-0);--ibiz-control-grid-row-expand-icon-margin:0 0 0 var(--ibiz-spacing-tight);--ibiz-control-grid-now-header-height:auto;--ibiz-control-grid-header-text-color:var(--ibiz-color-text-2);--ibiz-control-grid-header-cell-padding:var(--ibiz-control-grid-cell-padding);--ibiz-control-grid-header-height:auto;--ibiz-control-grid-header-bg-color:var(--ibiz-color-tertiary-light-hover);--ibiz-control-grid-header-font-size:var(--ibiz-font-size-regular);--ibiz-control-grid-header-font-weight:var(--ibiz-font-weight-regular);--ibiz-control-grid-content-text-color:var(--ibiz-control-grid-text-color);--ibiz-control-grid-content-row-height:48px;--ibiz-control-grid-page-text-color:var(--ibiz-color-text-2);--ibiz-control-grid-page-height:50px;--ibiz-control-grid-page-padding:0 var(--ibiz-spacing-base-tight);--ibiz-control-grid-footer-text-color:var(--ibiz-color-text-2);--ibiz-control-grid-footer-bg-color:var(--ibiz-color-tertiary-light-hover);--ibiz-control-grid-footer-font-size:var(--ibiz-font-size-regular);--ibiz-control-grid-footer-font-weight:var(--ibiz-font-weight-bold);position:relative;width:100%;height:100%;padding:var(--ibiz-control-grid-padding);background-color:var(--ibiz-control-grid-bg-color)}.ibiz-control-grid .el-table{--el-table-header-bg-color:var(--ibiz-control-grid-header-bg-color);--el-table-border-color:transparent}.ibiz-control-grid.is-empty .el-scrollbar .el-scrollbar__view{height:100%}.ibiz-control-grid.is-empty .el-table__empty-text{display:inline-block;height:100%}.ibiz-control-grid .el-table--border .el-table__cell{border-right:none}.ibiz-control-grid .el-table-fixed-column--left,.ibiz-control-grid .el-table-fixed-column--right{--el-bg-color:transparent}.ibiz-control-grid .el-table thead.is-group th.el-table__cell{background:var(--ibiz-control-grid-header-bg-color)}.ibiz-control-grid.is-enable-page .ibiz-control-grid__table{height:calc(100% - var(--ibiz-control-grid-page-height))}.ibiz-control-grid.is-enable-group .el-table__indent{display:none}.ibiz-control-grid__table{width:100%;height:100%}.ibiz-control-grid__table .caret-wrapper{justify-content:center}.ibiz-control-grid__table .caret-wrapper>*+*{margin-top:3px}.ibiz-control-grid__table .sort-caret{position:initial}.ibiz-control-grid__table.el-table .el-table__cell{padding:0}.ibiz-control-grid__table.el-table .el-table__body-wrapper tr td{background:var(--ibiz-control-grid-row-bg-color)}.ibiz-control-grid__table.el-table .el-table__body-wrapper tr:nth-child(2n) td{background-color:var(--ibiz-control-grid-row-bg-color-2)}.ibiz-control-grid__table.el-table .el-table__body-wrapper tr:hover td{background-color:var(--el-table-row-hover-bg-color)}.ibiz-control-grid__table.el-table .el-table__body-wrapper tr.current-row td{background-color:var(--el-table-current-row-bg-color)}.ibiz-control-grid__table.el-table .el-table__body-wrapper tr.editing-row td{background-color:var(--ibiz-control-grid-row-edit-bg-color)}.ibiz-control-grid__table .el-table__header-wrapper .cell{height:var(--ibiz-control-grid-header-height);padding:var(--ibiz-control-grid-header-cell-padding);font-size:var(--ibiz-control-grid-header-font-size);font-weight:var(--ibiz-control-grid-header-font-weight);color:var(--ibiz-control-grid-header-text-color);word-break:break-word;white-space:pre-wrap}.ibiz-control-grid__table .el-table__header-wrapper .el-table-column--selection .cell{padding:var(--ibiz-control-grid-selection-padding)}.ibiz-control-grid__table .el-table__header-wrapper .is-sortable.el-table__cell .cell{display:flex;align-items:center;justify-content:var(--ibiz-grid-column-justify-content)}.ibiz-control-grid__table .el-table__body-wrapper{color:var(--ibiz-control-grid-content-text-color);border-bottom:.1px solid var(--ibiz-color-border)}.ibiz-control-grid__table .el-table__body-wrapper .el-table__row{height:var(--ibiz-control-grid-content-row-height);cursor:pointer}.ibiz-control-grid__table .el-table__body-wrapper .el-table__row>td{height:0;padding:0}.ibiz-control-grid__table .el-table__body-wrapper .el-table__row .el-table__expand-icon{margin:var(--ibiz-control-grid-row-expand-icon-margin)}@-moz-document url-prefix(){.ibiz-control-grid__table .el-table__body-wrapper .el-table__row>td{height:100%}}.ibiz-control-grid__table .el-table__body-wrapper .cell{display:flex;align-items:center;height:100%;padding:0}.ibiz-control-grid__table .el-table__body-wrapper .el-table-column--selection .cell{padding:var(--ibiz-control-grid-selection-padding)}.ibiz-control-grid__table .el-table__cell.is-center{--ibiz-grid-column-text-align:center;--ibiz-grid-column-justify-content:center}.ibiz-control-grid__table .el-table__cell.is-left{--ibiz-grid-column-text-align:left;--ibiz-grid-column-justify-content:flex-start}.ibiz-control-grid__table .el-table__cell.is-right{--ibiz-grid-column-text-align:right;--ibiz-grid-column-justify-content:flex-end}.ibiz-control-grid__table .el-scrollbar__wrap{position:relative}.ibiz-control-grid__table .el-table__footer-wrapper tfoot td.el-table__cell{font-size:var(--ibiz-control-grid-footer-font-size);font-weight:var(--ibiz-control-grid-footer-font-weight);color:var(--ibiz-control-grid-footer-text-color);background-color:var(--ibiz-control-grid-footer-bg-color)}.ibiz-control-grid__table .el-table__footer-wrapper tfoot td.el-table__cell:first-child>div{display:inline;vertical-align:4px}.ibiz-control-grid .el-table td.el-table__cell,.ibiz-control-grid .el-table th.el-table__cell.is-leaf{border-bottom:none}.ibiz-control-grid .ibiz-pagination{--ibiz-pagination-height:var(--ibiz-control-grid-page-height);--ibiz-pagination-text-color:var(--ibiz-control-grid-text-color);--ibiz-pagination-padding:var(--ibiz-control-grid-page-padding)}.ibiz-control-grid.is-single-select .el-table__header-wrapper .el-table__header thead>tr th:nth-child(1){padding-left:var(--ibiz-spacing-tight)}.ibiz-control-grid.is-single-select .el-table__body-wrapper .el-table__body tbody>tr td:nth-child(1){padding-left:var(--ibiz-spacing-tight)}.ibiz-control-grid.is-enable-customized .el-table__header-wrapper .el-table__header thead>tr th:last-child{padding-right:var(--ibiz-spacing-base-loose)}.ibiz-control-grid.is-enable-customized .ibiz-control-grid-setting-box{display:flex;align-items:center;justify-content:flex-start;position:absolute;top:0;right:0;z-index:1;height:var(--ibiz-control-grid-now-header-height);padding-right:var(--ibiz-spacing-extra-tight);background-color:var(--ibiz-control-grid-header-bg-color)}.ibiz-control-grid.is-enable-customized .ibiz-grid-setting{cursor:pointer}.ibiz-control-grid-quick-toolbar{justify-content:center}.ibiz-control-grid-batch-toolbar{position:absolute;top:0;left:54px;z-index:99;display:none;width:calc(100% - 54px);height:var(--ibiz-control-grid-now-header-height);font-size:var(--ibiz-font-size-regular);font-weight:var(--ibiz-font-weight-regular);background-color:var(--ibiz-control-grid-header-bg-color)}.ibiz-control-grid-batch-toolbar.is-show{display:flex;align-items:center;justify-content:flex-start}.ibiz-control-grid-batch-toolbar .ibiz-control-grid-batch-toolbar-separator{padding:0 var(--ibiz-spacing-base-tight)}.ibiz-control-grid-batch-toolbar .ibiz-control-grid-batch-toolbar-content{height:100%;display:flex;align-items:center;justify-content:flex-start}
|
|
1
|
+
.ibiz-control-grid{--ibiz-control-grid-text-color:var(--ibiz-color-text-0);--ibiz-control-grid-bg-color:transparent;--ibiz-control-grid-padding:0;--ibiz-control-grid-cell-padding:var(--ibiz-spacing-tight);--ibiz-control-grid-selection-padding:var(--ibiz-spacing-base-loose);--ibiz-control-grid-row-edit-bg-color:var(--ibiz-color-fill-2);--ibiz-control-grid-row-bg-color:var(--ibiz-color-bg-1);--ibiz-control-grid-row-bg-color-2:var(--ibiz-color-bg-0);--ibiz-control-grid-row-expand-icon-margin:0 0 0 var(--ibiz-spacing-tight);--ibiz-control-grid-now-header-height:auto;--ibiz-control-grid-header-text-color:var(--ibiz-color-text-2);--ibiz-control-grid-header-cell-padding:var(--ibiz-control-grid-cell-padding);--ibiz-control-grid-header-height:auto;--ibiz-control-grid-header-bg-color:var(--ibiz-color-tertiary-light-hover);--ibiz-control-grid-header-font-size:var(--ibiz-font-size-regular);--ibiz-control-grid-header-font-weight:var(--ibiz-font-weight-regular);--ibiz-control-grid-content-text-color:var(--ibiz-control-grid-text-color);--ibiz-control-grid-content-row-height:48px;--ibiz-control-grid-page-text-color:var(--ibiz-color-text-2);--ibiz-control-grid-page-height:50px;--ibiz-control-grid-page-padding:0 var(--ibiz-spacing-base-tight);--ibiz-control-grid-footer-text-color:var(--ibiz-color-text-2);--ibiz-control-grid-footer-bg-color:var(--ibiz-color-tertiary-light-hover);--ibiz-control-grid-footer-font-size:var(--ibiz-font-size-regular);--ibiz-control-grid-footer-font-weight:var(--ibiz-font-weight-bold);position:relative;width:100%;height:100%;padding:var(--ibiz-control-grid-padding);background-color:var(--ibiz-control-grid-bg-color)}.ibiz-control-grid .el-table{--el-table-header-bg-color:var(--ibiz-control-grid-header-bg-color);--el-table-border-color:transparent}.ibiz-control-grid.is-empty .el-scrollbar .el-scrollbar__view{height:100%}.ibiz-control-grid.is-empty .el-table__empty-text{display:inline-block;height:100%}.ibiz-control-grid .el-table--border .el-table__cell{border-right:none}.ibiz-control-grid .el-table-fixed-column--left,.ibiz-control-grid .el-table-fixed-column--right{--el-bg-color:transparent}.ibiz-control-grid .el-table thead.is-group th.el-table__cell{background:var(--ibiz-control-grid-header-bg-color)}.ibiz-control-grid.is-enable-page .ibiz-control-grid__table{height:calc(100% - var(--ibiz-control-grid-page-height))}.ibiz-control-grid.is-enable-group .el-table__indent{display:none}.ibiz-control-grid__table{width:100%;height:100%}.ibiz-control-grid__table .caret-wrapper{justify-content:center}.ibiz-control-grid__table .caret-wrapper>*+*{margin-top:3px}.ibiz-control-grid__table .sort-caret{position:initial}.ibiz-control-grid__table.el-table .el-table__cell{padding:0}.ibiz-control-grid__table.el-table .el-table__body-wrapper tr td{background:var(--ibiz-control-grid-row-bg-color)}.ibiz-control-grid__table.el-table .el-table__body-wrapper tr:nth-child(2n) td{background-color:var(--ibiz-control-grid-row-bg-color-2)}.ibiz-control-grid__table.el-table .el-table__body-wrapper tr:hover td{background-color:var(--el-table-row-hover-bg-color)}.ibiz-control-grid__table.el-table .el-table__body-wrapper tr.current-row td{background-color:var(--el-table-current-row-bg-color)}.ibiz-control-grid__table.el-table .el-table__body-wrapper tr.editing-row td{background-color:var(--ibiz-control-grid-row-edit-bg-color)}.ibiz-control-grid__table .el-table__header-wrapper .cell{height:var(--ibiz-control-grid-header-height);padding:var(--ibiz-control-grid-header-cell-padding);font-size:var(--ibiz-control-grid-header-font-size);font-weight:var(--ibiz-control-grid-header-font-weight);color:var(--ibiz-control-grid-header-text-color);word-break:break-word;white-space:pre-wrap}.ibiz-control-grid__table .el-table__header-wrapper .el-table-column--selection .cell{padding:var(--ibiz-control-grid-selection-padding)}.ibiz-control-grid__table .el-table__header-wrapper .is-sortable.el-table__cell .cell{display:flex;align-items:center;justify-content:var(--ibiz-grid-column-justify-content)}.ibiz-control-grid__table .el-table__body-wrapper{color:var(--ibiz-control-grid-content-text-color);border-bottom:.1px solid var(--ibiz-color-border)}.ibiz-control-grid__table .el-table__body-wrapper .el-table__row{height:var(--ibiz-control-grid-content-row-height);cursor:pointer}.ibiz-control-grid__table .el-table__body-wrapper .el-table__row>td{height:0;padding:0}.ibiz-control-grid__table .el-table__body-wrapper .el-table__row .el-table__expand-icon{margin:var(--ibiz-control-grid-row-expand-icon-margin)}@-moz-document url-prefix(){.ibiz-control-grid__table .el-table__body-wrapper .el-table__row>td{height:100%}}.ibiz-control-grid__table .el-table__body-wrapper .cell{display:flex;align-items:center;height:100%;padding:0}.ibiz-control-grid__table .el-table__body-wrapper .el-table-column--selection .cell{padding:var(--ibiz-control-grid-selection-padding)}.ibiz-control-grid__table .el-table__cell.is-center{--ibiz-grid-column-text-align:center;--ibiz-grid-column-justify-content:center}.ibiz-control-grid__table .el-table__cell.is-left{--ibiz-grid-column-text-align:left;--ibiz-grid-column-justify-content:flex-start}.ibiz-control-grid__table .el-table__cell.is-right{--ibiz-grid-column-text-align:right;--ibiz-grid-column-justify-content:flex-end}.ibiz-control-grid__table .el-scrollbar__wrap{position:relative}.ibiz-control-grid__table .el-table__footer-wrapper tfoot td.el-table__cell{font-size:var(--ibiz-control-grid-footer-font-size);font-weight:var(--ibiz-control-grid-footer-font-weight);color:var(--ibiz-control-grid-footer-text-color);background-color:var(--ibiz-control-grid-footer-bg-color)}.ibiz-control-grid__table .el-table__footer-wrapper tfoot td.el-table__cell:first-child>div{display:inline;vertical-align:4px}.ibiz-control-grid__table .enable-order{position:relative;padding-left:14px;transition:transform .25s cubic-bezier(0,0,.2,1)}.ibiz-control-grid__table .enable-order .ibiz-control-grid__drag-icon{padding:0!important}.ibiz-control-grid__table .enable-order .ibiz-control-grid__drag-icon .cell{display:none}.ibiz-control-grid__table .enable-order:hover .ibiz-control-grid__drag-icon .cell{display:flex}.ibiz-control-grid .el-table td.el-table__cell,.ibiz-control-grid .el-table th.el-table__cell.is-leaf{border-bottom:none}.ibiz-control-grid .ibiz-pagination{--ibiz-pagination-height:var(--ibiz-control-grid-page-height);--ibiz-pagination-text-color:var(--ibiz-control-grid-text-color);--ibiz-pagination-padding:var(--ibiz-control-grid-page-padding)}.ibiz-control-grid.is-single-select .el-table__header-wrapper .el-table__header thead>tr th:nth-child(1){padding-left:var(--ibiz-spacing-tight)}.ibiz-control-grid.is-single-select .el-table__body-wrapper .el-table__body tbody>tr td:nth-child(1){padding-left:var(--ibiz-spacing-tight)}.ibiz-control-grid.is-enable-customized .el-table__header-wrapper .el-table__header thead>tr th:last-child{padding-right:var(--ibiz-spacing-base-loose)}.ibiz-control-grid.is-enable-customized .ibiz-control-grid-setting-box{display:flex;align-items:center;justify-content:flex-start;position:absolute;top:0;right:0;z-index:1;height:var(--ibiz-control-grid-now-header-height);padding-right:var(--ibiz-spacing-extra-tight);background-color:var(--ibiz-control-grid-header-bg-color)}.ibiz-control-grid.is-enable-customized .ibiz-grid-setting{cursor:pointer}.ibiz-control-grid-quick-toolbar{justify-content:center}.ibiz-control-grid-batch-toolbar{position:absolute;top:0;left:54px;z-index:99;display:none;width:calc(100% - 54px);height:var(--ibiz-control-grid-now-header-height);font-size:var(--ibiz-font-size-regular);font-weight:var(--ibiz-font-weight-regular);background-color:var(--ibiz-control-grid-header-bg-color)}.ibiz-control-grid-batch-toolbar.is-show{display:flex;align-items:center;justify-content:flex-start}.ibiz-control-grid-batch-toolbar .ibiz-control-grid-batch-toolbar-separator{padding:0 var(--ibiz-spacing-base-tight)}.ibiz-control-grid-batch-toolbar .ibiz-control-grid-batch-toolbar-content{height:100%;display:flex;align-items:center;justify-content:flex-start}
|
|
@@ -101,6 +101,7 @@ export declare const GridControl: import("vue").DefineComponent<{
|
|
|
101
101
|
defaultSort: import("vue").Ref<IData>;
|
|
102
102
|
renderBatchToolBar: () => VNode | undefined;
|
|
103
103
|
headerCssVars: IData;
|
|
104
|
+
renderDragIconColumn: () => JSX.Element;
|
|
104
105
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
105
106
|
modelData: {
|
|
106
107
|
type: PropType<IDEGrid>;
|