@ibiz-template/vue3-components 0.7.41-alpha.2 → 0.7.41-alpha.4
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-8QfxarWf.js +1 -0
- package/dist/index-u5jvzY6s.js +4 -0
- package/dist/index.min.css +1 -1
- package/dist/index.system.min.js +1 -1
- package/dist/{wang-editor-6EirGFoh.js → wang-editor--AXyy3P_.js} +1 -1
- package/dist/{xlsx-util-J1RHk00u.js → xlsx-util-GVd_ca5q.js} +1 -1
- package/es/common/split/split.css +1 -1
- package/es/control/app-menu/app-menu.css +1 -1
- package/es/control/chart/chart.mjs +1 -1
- package/es/control/data-view/data-view.mjs +2 -2
- package/es/control/form/form-detail/form-item/form-item-container/form-item-container.css +1 -1
- package/es/control/form/form-detail/form-item/form-item-container/form-item-container.mjs +25 -4
- package/es/control/grid/grid/grid-control.util.d.ts +1 -1
- package/es/control/grid/grid/grid-control.util.mjs +32 -5
- package/es/control/grid/grid/grid.mjs +8 -6
- package/es/control/grid/row-edit-popover/use-row-edit-popover.mjs +1 -1
- package/es/control/list/list.mjs +2 -2
- package/es/control/tree/el-tree-util.d.ts +23 -1
- package/es/control/tree/el-tree-util.mjs +30 -1
- package/es/control/tree/tree.d.ts +5 -0
- package/es/control/tree/tree.mjs +94 -14
- package/es/control/tree-grid/tree-grid.mjs +1 -1
- package/es/control/tree-grid-ex/use-row-edit-popover.mjs +1 -1
- package/es/editor/slider/ibiz-slider/ibiz-slider.mjs +2 -2
- package/es/locale/en/index.d.ts +6 -0
- package/es/locale/zh-CN/index.d.ts +6 -0
- package/es/panel-component/app-extend-menu/bottom-side-menu/bottom-side-menu.controller.d.ts +10 -0
- package/es/panel-component/app-extend-menu/bottom-side-menu/bottom-side-menu.controller.mjs +17 -0
- package/es/panel-component/app-extend-menu/bottom-side-menu/bottom-side-menu.css +1 -0
- package/es/panel-component/app-extend-menu/bottom-side-menu/bottom-side-menu.d.ts +45 -0
- package/es/panel-component/app-extend-menu/bottom-side-menu/bottom-side-menu.mjs +56 -0
- package/es/panel-component/app-extend-menu/bottom-side-menu/bottom-side-menu.provider.d.ts +7 -0
- package/es/panel-component/app-extend-menu/bottom-side-menu/bottom-side-menu.provider.mjs +21 -0
- package/es/panel-component/app-extend-menu/bottom-side-menu/index.d.ts +5 -0
- package/es/panel-component/app-extend-menu/bottom-side-menu/index.mjs +16 -0
- package/es/panel-component/app-extend-menu/extend-menu-base/common-extend-menu/common-extend-menu.css +1 -0
- package/es/panel-component/app-extend-menu/extend-menu-base/common-extend-menu/common-extend-menu.d.ts +134 -0
- package/es/panel-component/app-extend-menu/extend-menu-base/common-extend-menu/common-extend-menu.mjs +77 -0
- package/es/panel-component/app-extend-menu/extend-menu-base/extend-menu-base.controller.d.ts +149 -0
- package/es/panel-component/app-extend-menu/extend-menu-base/extend-menu-base.controller.mjs +258 -0
- package/es/panel-component/app-extend-menu/extend-menu-base/extend-menu-base.state.d.ts +27 -0
- package/es/panel-component/app-extend-menu/extend-menu-base/extend-menu-base.state.mjs +28 -0
- package/es/panel-component/app-extend-menu/index.d.ts +5 -0
- package/es/panel-component/app-extend-menu/index.mjs +18 -0
- package/es/panel-component/app-extend-menu/left-side-menu/index.d.ts +5 -0
- package/es/panel-component/app-extend-menu/left-side-menu/index.mjs +16 -0
- package/es/panel-component/app-extend-menu/left-side-menu/left-side-menu.controller.d.ts +10 -0
- package/es/panel-component/app-extend-menu/left-side-menu/left-side-menu.controller.mjs +17 -0
- package/es/panel-component/app-extend-menu/left-side-menu/left-side-menu.css +1 -0
- package/es/panel-component/app-extend-menu/left-side-menu/left-side-menu.d.ts +45 -0
- package/es/panel-component/app-extend-menu/left-side-menu/left-side-menu.mjs +56 -0
- package/es/panel-component/app-extend-menu/left-side-menu/left-side-menu.provider.d.ts +7 -0
- package/es/panel-component/app-extend-menu/left-side-menu/left-side-menu.provider.mjs +21 -0
- package/es/panel-component/app-extend-menu/right-side-menu/index.d.ts +5 -0
- package/es/panel-component/app-extend-menu/right-side-menu/index.mjs +16 -0
- package/es/panel-component/app-extend-menu/right-side-menu/right-side-menu.controller.d.ts +10 -0
- package/es/panel-component/app-extend-menu/right-side-menu/right-side-menu.controller.mjs +17 -0
- package/es/panel-component/app-extend-menu/right-side-menu/right-side-menu.css +1 -0
- package/es/panel-component/app-extend-menu/right-side-menu/right-side-menu.d.ts +45 -0
- package/es/panel-component/app-extend-menu/right-side-menu/right-side-menu.mjs +56 -0
- package/es/panel-component/app-extend-menu/right-side-menu/right-side-menu.provider.d.ts +7 -0
- package/es/panel-component/app-extend-menu/right-side-menu/right-side-menu.provider.mjs +21 -0
- package/es/panel-component/app-extend-menu/top-side-menu/index.d.ts +5 -0
- package/es/panel-component/app-extend-menu/top-side-menu/index.mjs +16 -0
- package/es/panel-component/app-extend-menu/top-side-menu/top-side-menu.controller.d.ts +10 -0
- package/es/panel-component/app-extend-menu/top-side-menu/top-side-menu.controller.mjs +17 -0
- package/es/panel-component/app-extend-menu/top-side-menu/top-side-menu.css +1 -0
- package/es/panel-component/app-extend-menu/top-side-menu/top-side-menu.d.ts +45 -0
- package/es/panel-component/app-extend-menu/top-side-menu/top-side-menu.mjs +56 -0
- package/es/panel-component/app-extend-menu/top-side-menu/top-side-menu.provider.d.ts +7 -0
- package/es/panel-component/app-extend-menu/top-side-menu/top-side-menu.provider.mjs +21 -0
- package/es/panel-component/index.mjs +2 -0
- package/es/view-engine/index-view.engine.mjs +1 -1
- package/es/view-engine/opt-view.engine.d.ts +6 -0
- package/es/view-engine/opt-view.engine.mjs +12 -0
- package/lib/common/split/split.css +1 -1
- package/lib/control/app-menu/app-menu.css +1 -1
- package/lib/control/chart/chart.cjs +1 -1
- package/lib/control/data-view/data-view.cjs +2 -2
- package/lib/control/form/form-detail/form-item/form-item-container/form-item-container.cjs +25 -4
- package/lib/control/form/form-detail/form-item/form-item-container/form-item-container.css +1 -1
- package/lib/control/grid/grid/grid-control.util.cjs +31 -4
- package/lib/control/grid/grid/grid.cjs +8 -6
- package/lib/control/grid/row-edit-popover/use-row-edit-popover.cjs +1 -1
- package/lib/control/list/list.cjs +2 -2
- package/lib/control/tree/el-tree-util.cjs +31 -0
- package/lib/control/tree/tree.cjs +91 -11
- package/lib/control/tree-grid/tree-grid.cjs +1 -1
- package/lib/control/tree-grid-ex/use-row-edit-popover.cjs +1 -1
- package/lib/editor/slider/ibiz-slider/ibiz-slider.cjs +2 -2
- package/lib/panel-component/app-extend-menu/bottom-side-menu/bottom-side-menu.cjs +58 -0
- package/lib/panel-component/app-extend-menu/bottom-side-menu/bottom-side-menu.controller.cjs +19 -0
- package/lib/panel-component/app-extend-menu/bottom-side-menu/bottom-side-menu.css +1 -0
- package/lib/panel-component/app-extend-menu/bottom-side-menu/bottom-side-menu.provider.cjs +23 -0
- package/lib/panel-component/app-extend-menu/bottom-side-menu/index.cjs +20 -0
- package/lib/panel-component/app-extend-menu/extend-menu-base/common-extend-menu/common-extend-menu.cjs +79 -0
- package/lib/panel-component/app-extend-menu/extend-menu-base/common-extend-menu/common-extend-menu.css +1 -0
- package/lib/panel-component/app-extend-menu/extend-menu-base/extend-menu-base.controller.cjs +260 -0
- package/lib/panel-component/app-extend-menu/extend-menu-base/extend-menu-base.state.cjs +30 -0
- package/lib/panel-component/app-extend-menu/index.cjs +22 -0
- package/lib/panel-component/app-extend-menu/left-side-menu/index.cjs +20 -0
- package/lib/panel-component/app-extend-menu/left-side-menu/left-side-menu.cjs +58 -0
- package/lib/panel-component/app-extend-menu/left-side-menu/left-side-menu.controller.cjs +19 -0
- package/lib/panel-component/app-extend-menu/left-side-menu/left-side-menu.css +1 -0
- package/lib/panel-component/app-extend-menu/left-side-menu/left-side-menu.provider.cjs +23 -0
- package/lib/panel-component/app-extend-menu/right-side-menu/index.cjs +20 -0
- package/lib/panel-component/app-extend-menu/right-side-menu/right-side-menu.cjs +58 -0
- package/lib/panel-component/app-extend-menu/right-side-menu/right-side-menu.controller.cjs +19 -0
- package/lib/panel-component/app-extend-menu/right-side-menu/right-side-menu.css +1 -0
- package/lib/panel-component/app-extend-menu/right-side-menu/right-side-menu.provider.cjs +23 -0
- package/lib/panel-component/app-extend-menu/top-side-menu/index.cjs +20 -0
- package/lib/panel-component/app-extend-menu/top-side-menu/top-side-menu.cjs +58 -0
- package/lib/panel-component/app-extend-menu/top-side-menu/top-side-menu.controller.cjs +19 -0
- package/lib/panel-component/app-extend-menu/top-side-menu/top-side-menu.css +1 -0
- package/lib/panel-component/app-extend-menu/top-side-menu/top-side-menu.provider.cjs +23 -0
- package/lib/panel-component/index.cjs +2 -0
- package/lib/view-engine/index-view.engine.cjs +1 -1
- package/lib/view-engine/opt-view.engine.cjs +12 -0
- package/package.json +6 -6
- package/dist/chart-GgAfcR6o.js +0 -1
- package/dist/index-eIKUlAq_.js +0 -4
package/es/control/tree/tree.mjs
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { isVNode, ref,
|
|
1
|
+
import { isVNode, ref, onUnmounted, watch, computed, nextTick, resolveComponent, createVNode, onMounted, mergeProps, resolveDirective, withDirectives, defineComponent } from 'vue';
|
|
2
2
|
import { useControlController, useNamespace } from '@ibiz-template/vue3-util';
|
|
3
3
|
import { createUUID } from 'qx-util';
|
|
4
4
|
import { cloneDeep, debounce } from 'lodash-es';
|
|
5
|
-
import { TreeController,
|
|
5
|
+
import { TreeController, AppDataEntity, PanelItemEventName } from '@ibiz-template/runtime';
|
|
6
6
|
import './tree.css';
|
|
7
7
|
import { RuntimeError } from '@ibiz-template/core';
|
|
8
8
|
import { isNil } from 'ramda';
|
|
9
|
-
import { useAppTreeBase, findNodeData, useElTreeUtil, findChildItems, formatNodeDropType } from './el-tree-util.mjs';
|
|
9
|
+
import { useAppTreeBase, getNewNodeControlPanel, findNodeData, useElTreeUtil, findChildItems, formatNodeDropType, getNodeControlPanel } from './el-tree-util.mjs';
|
|
10
10
|
|
|
11
11
|
"use strict";
|
|
12
12
|
function _isSlot(s) {
|
|
@@ -106,10 +106,10 @@ const TreeControl = /* @__PURE__ */ defineComponent({
|
|
|
106
106
|
const c = useControlController((...args) => new TreeController(...args));
|
|
107
107
|
useAppTreeBase(c, props);
|
|
108
108
|
const cascadeSelect = ref(false);
|
|
109
|
-
const counterData =
|
|
109
|
+
const counterData = ref({});
|
|
110
110
|
const menuShowMode = ref("default");
|
|
111
111
|
const fn = (counter) => {
|
|
112
|
-
|
|
112
|
+
counterData.value = counter;
|
|
113
113
|
};
|
|
114
114
|
c.evt.on("onCreated", () => {
|
|
115
115
|
if (c.counter) {
|
|
@@ -133,21 +133,38 @@ const TreeControl = /* @__PURE__ */ defineComponent({
|
|
|
133
133
|
const treeNodeTextInputRef = ref(null);
|
|
134
134
|
const editingNodeKey = ref(null);
|
|
135
135
|
const editingNodeText = ref(null);
|
|
136
|
+
const newNodePanelRef = ref();
|
|
136
137
|
const newTreeNodeText = ref(null);
|
|
137
138
|
const newNodeModel = ref(null);
|
|
138
139
|
const newDefaultValue = ref(null);
|
|
139
140
|
const newNodeKey = ref("".concat(createUUID(), "-").concat(createUUID()));
|
|
140
141
|
const newNodeData = ref(null);
|
|
141
|
-
|
|
142
|
+
const newNodeDeData = ref(null);
|
|
143
|
+
const newNodeControlPanel = ref(null);
|
|
144
|
+
c.evt.on("onNewTreeNode", async (args) => {
|
|
145
|
+
var _a;
|
|
142
146
|
const {
|
|
143
147
|
nodeModel,
|
|
144
148
|
defaultValue,
|
|
145
149
|
parentNodeData
|
|
146
150
|
} = args;
|
|
147
|
-
|
|
151
|
+
const {
|
|
152
|
+
appId,
|
|
153
|
+
appDataEntityId
|
|
154
|
+
} = nodeModel;
|
|
155
|
+
const entityModel = await ibiz.hub.getAppDataEntity(appDataEntityId, appId);
|
|
156
|
+
const layoutPanel = getNewNodeControlPanel(nodeModel);
|
|
157
|
+
if (layoutPanel) {
|
|
158
|
+
newNodeDeData.value = new AppDataEntity(entityModel, {});
|
|
159
|
+
newNodeControlPanel.value = layoutPanel || null;
|
|
160
|
+
}
|
|
148
161
|
newDefaultValue.value = defaultValue;
|
|
149
162
|
editingNodeKey.value = null;
|
|
150
163
|
editingNodeText.value = null;
|
|
164
|
+
if (newNodeData.value) {
|
|
165
|
+
(_a = treeRef.value) == null ? void 0 : _a.remove(newNodeData.value);
|
|
166
|
+
newNodeData.value = null;
|
|
167
|
+
}
|
|
151
168
|
if (parentNodeData && treeRef.value) {
|
|
152
169
|
const _newNodeData = {};
|
|
153
170
|
Object.assign(_newNodeData, {
|
|
@@ -158,6 +175,7 @@ const TreeControl = /* @__PURE__ */ defineComponent({
|
|
|
158
175
|
treeRef.value.append(_newNodeData, parentNodeData);
|
|
159
176
|
newNodeData.value = _newNodeData;
|
|
160
177
|
}
|
|
178
|
+
newNodeModel.value = nodeModel;
|
|
161
179
|
});
|
|
162
180
|
watch(() => treeNodeTextInputRef.value, (newVal) => {
|
|
163
181
|
if (newVal) {
|
|
@@ -189,7 +207,28 @@ const TreeControl = /* @__PURE__ */ defineComponent({
|
|
|
189
207
|
}
|
|
190
208
|
}
|
|
191
209
|
if (newNodeModel.value) {
|
|
192
|
-
|
|
210
|
+
const hasNonNullValue = newNodeDeData.value && Object.values(newNodeDeData.value).some((_val) => !!_val);
|
|
211
|
+
if (newNodeControlPanel.value && hasNonNullValue) {
|
|
212
|
+
const {
|
|
213
|
+
textAppDEFieldId,
|
|
214
|
+
id
|
|
215
|
+
} = newNodeModel.value;
|
|
216
|
+
const nodeData = {
|
|
217
|
+
_nodeId: id,
|
|
218
|
+
_text: [newNodeDeData.value[textAppDEFieldId]],
|
|
219
|
+
_deData: {}
|
|
220
|
+
};
|
|
221
|
+
Object.assign(nodeData._deData, newNodeDeData.value);
|
|
222
|
+
if (newDefaultValue.value) {
|
|
223
|
+
Object.keys(newDefaultValue.value).forEach((_key) => {
|
|
224
|
+
if (!nodeData._deData[_key])
|
|
225
|
+
Object.assign(nodeData._deData, {
|
|
226
|
+
[_key]: newDefaultValue.value[_key]
|
|
227
|
+
});
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
await c.createDeNodeData([nodeData]);
|
|
231
|
+
} else if (newTreeNodeText.value) {
|
|
193
232
|
const {
|
|
194
233
|
textAppDEFieldId,
|
|
195
234
|
id
|
|
@@ -213,6 +252,9 @@ const TreeControl = /* @__PURE__ */ defineComponent({
|
|
|
213
252
|
newNodeModel.value = null;
|
|
214
253
|
newTreeNodeText.value = null;
|
|
215
254
|
newDefaultValue.value = null;
|
|
255
|
+
newNodeDeData.value = null;
|
|
256
|
+
newNodeControlPanel.value = null;
|
|
257
|
+
newNodePanelRef.value = null;
|
|
216
258
|
if (newNodeData.value)
|
|
217
259
|
(_a = treeRef.value) == null ? void 0 : _a.remove(newNodeData.value);
|
|
218
260
|
newNodeData.value = null;
|
|
@@ -228,6 +270,9 @@ const TreeControl = /* @__PURE__ */ defineComponent({
|
|
|
228
270
|
newNodeModel.value = null;
|
|
229
271
|
newTreeNodeText.value = null;
|
|
230
272
|
newDefaultValue.value = null;
|
|
273
|
+
newNodeDeData.value = null;
|
|
274
|
+
newNodeControlPanel.value = null;
|
|
275
|
+
newNodePanelRef.value = null;
|
|
231
276
|
if (newNodeData.value)
|
|
232
277
|
(_a = treeRef.value) == null ? void 0 : _a.remove(newNodeData.value);
|
|
233
278
|
newNodeData.value = null;
|
|
@@ -242,6 +287,20 @@ const TreeControl = /* @__PURE__ */ defineComponent({
|
|
|
242
287
|
onNodeTextEditEsc();
|
|
243
288
|
}
|
|
244
289
|
};
|
|
290
|
+
const onPanelItemEvent = (_args) => {
|
|
291
|
+
if (!_args)
|
|
292
|
+
return;
|
|
293
|
+
const {
|
|
294
|
+
panelItemEventName
|
|
295
|
+
} = _args;
|
|
296
|
+
if (panelItemEventName === PanelItemEventName.ENTER) {
|
|
297
|
+
onNodeTextEditBlur();
|
|
298
|
+
}
|
|
299
|
+
};
|
|
300
|
+
const onPanelItemKeydown = (e) => {
|
|
301
|
+
if (e.code === "Escape" || e.keyCode === 27)
|
|
302
|
+
onNodeTextEditEsc();
|
|
303
|
+
};
|
|
245
304
|
const {
|
|
246
305
|
updateUI,
|
|
247
306
|
triggerNodeExpand
|
|
@@ -594,17 +653,25 @@ const TreeControl = /* @__PURE__ */ defineComponent({
|
|
|
594
653
|
editCurrentNodeText();
|
|
595
654
|
}
|
|
596
655
|
};
|
|
656
|
+
const handleMouseup = () => {
|
|
657
|
+
var _a;
|
|
658
|
+
const isFoucs = (_a = newNodePanelRef.value) == null ? void 0 : _a.$el.querySelector(".is-focus");
|
|
659
|
+
if (newNodeControlPanel.value && !isFoucs)
|
|
660
|
+
onNodeTextEditBlur();
|
|
661
|
+
};
|
|
597
662
|
onMounted(() => {
|
|
598
663
|
var _a;
|
|
664
|
+
document.addEventListener("mouseup", handleMouseup.bind(this));
|
|
599
665
|
(_a = treeviewRef.value) == null ? void 0 : _a.$el.addEventListener("keydown", keydownHandle);
|
|
600
666
|
});
|
|
601
667
|
onUnmounted(() => {
|
|
602
668
|
var _a;
|
|
669
|
+
document.removeEventListener("mouseup", handleMouseup.bind(this));
|
|
603
670
|
(_a = treeviewRef.value) == null ? void 0 : _a.$el.removeEventListener("keydown", keydownHandle);
|
|
604
671
|
});
|
|
605
672
|
const renderCounter = (nodeModel) => {
|
|
606
673
|
if (nodeModel.counterId) {
|
|
607
|
-
const value = counterData[nodeModel.counterId];
|
|
674
|
+
const value = counterData.value[nodeModel.counterId];
|
|
608
675
|
if (isNil(value)) {
|
|
609
676
|
return null;
|
|
610
677
|
}
|
|
@@ -618,19 +685,32 @@ const TreeControl = /* @__PURE__ */ defineComponent({
|
|
|
618
685
|
}
|
|
619
686
|
};
|
|
620
687
|
const renderNewNode = () => {
|
|
621
|
-
var _a, _b, _c;
|
|
688
|
+
var _a, _b, _c, _d;
|
|
622
689
|
if (!newNodeModel.value) {
|
|
623
690
|
return null;
|
|
624
691
|
}
|
|
692
|
+
if (newNodeControlPanel.value) {
|
|
693
|
+
return createVNode(resolveComponent("iBizControlShell"), {
|
|
694
|
+
"class": [ns.b("new-node"), (_a = newNodeModel.value.sysCss) == null ? void 0 : _a.cssName],
|
|
695
|
+
"ref": newNodePanelRef,
|
|
696
|
+
"data": newNodeDeData.value,
|
|
697
|
+
"modelData": newNodeControlPanel.value,
|
|
698
|
+
"context": c.context,
|
|
699
|
+
"params": c.params,
|
|
700
|
+
"onMouseup": (_e) => _e.stopPropagation(),
|
|
701
|
+
"onPanelItemEvent": onPanelItemEvent,
|
|
702
|
+
"onKeydown": onPanelItemKeydown
|
|
703
|
+
}, null);
|
|
704
|
+
}
|
|
625
705
|
return createVNode("div", {
|
|
626
|
-
"class": [ns.b("new-node"), (
|
|
706
|
+
"class": [ns.b("new-node"), (_b = newNodeModel.value.sysCss) == null ? void 0 : _b.cssName],
|
|
627
707
|
"onClick": (_e) => {
|
|
628
708
|
_e.preventDefault();
|
|
629
709
|
_e.stopPropagation();
|
|
630
710
|
}
|
|
631
|
-
}, [((
|
|
711
|
+
}, [((_c = newNodeModel.value) == null ? void 0 : _c.sysImage) ? createVNode(iBizIcon, {
|
|
632
712
|
"class": ns.be("node", "icon"),
|
|
633
|
-
"icon": (
|
|
713
|
+
"icon": (_d = newNodeModel.value) == null ? void 0 : _d.sysImage
|
|
634
714
|
}, null) : null, createVNode(resolveComponent("el-input"), {
|
|
635
715
|
"modelValue": newTreeNodeText.value,
|
|
636
716
|
"onUpdate:modelValue": ($event) => newTreeNodeText.value = $event,
|
|
@@ -757,7 +837,7 @@ const TreeControl = /* @__PURE__ */ defineComponent({
|
|
|
757
837
|
}
|
|
758
838
|
}, null)]);
|
|
759
839
|
}
|
|
760
|
-
const layoutPanel =
|
|
840
|
+
const layoutPanel = getNodeControlPanel(nodeModel);
|
|
761
841
|
let content;
|
|
762
842
|
if (layoutPanel) {
|
|
763
843
|
content = createVNode(resolveComponent("iBizControlShell"), {
|
|
@@ -110,7 +110,7 @@ const TreeGridControl = /* @__PURE__ */ defineComponent({
|
|
|
110
110
|
defaultSort,
|
|
111
111
|
summaryMethod,
|
|
112
112
|
headerDragend
|
|
113
|
-
} = useAppGridBase(c, props);
|
|
113
|
+
} = useAppGridBase(c, props, tableRef);
|
|
114
114
|
const {
|
|
115
115
|
renderPopover
|
|
116
116
|
} = useRowEditPopover(tableRef, c);
|
|
@@ -16,7 +16,7 @@ function useRowEditPopover(tableRef, c) {
|
|
|
16
16
|
const tableEl = tableRef.value.$el;
|
|
17
17
|
let selector = ".el-table__row";
|
|
18
18
|
if (row.data._uuid) {
|
|
19
|
-
selector += "
|
|
19
|
+
selector += '[class*="id-'.concat(row.data._uuid, '"]');
|
|
20
20
|
}
|
|
21
21
|
const trEl = tableEl.querySelector(selector);
|
|
22
22
|
if (!trEl) {
|
|
@@ -163,11 +163,11 @@ const IBizSlider = /* @__PURE__ */ defineComponent({
|
|
|
163
163
|
const textVal = computed(() => {
|
|
164
164
|
if (textItem) {
|
|
165
165
|
const data = props.data || {};
|
|
166
|
-
return ibiz.util.text.format("".concat(data[textItem]), format);
|
|
166
|
+
return ibiz.util.text.format("".concat(data[textItem] != null ? data[textItem] : ""), format);
|
|
167
167
|
}
|
|
168
168
|
const tempCurVal = Number(currentVal.value);
|
|
169
169
|
const value = Number(tempCurVal / max);
|
|
170
|
-
const formatValue = ibiz.util.text.format("".concat(value), format);
|
|
170
|
+
const formatValue = ibiz.util.text.format("".concat(value != null ? value : ""), format);
|
|
171
171
|
return formatValue;
|
|
172
172
|
});
|
|
173
173
|
const handleChange = (currentValue) => {
|
package/es/locale/en/index.d.ts
CHANGED
|
@@ -135,6 +135,7 @@ declare const _default: {
|
|
|
135
135
|
exportRequestFailed: string;
|
|
136
136
|
changeGroupError: string;
|
|
137
137
|
computeMoveMetaError: string;
|
|
138
|
+
unclassified: string;
|
|
138
139
|
};
|
|
139
140
|
editor: {
|
|
140
141
|
editorNoConfigured: string;
|
|
@@ -342,6 +343,11 @@ declare const _default: {
|
|
|
342
343
|
resetSuccess: string;
|
|
343
344
|
resetError: string;
|
|
344
345
|
};
|
|
346
|
+
util: {
|
|
347
|
+
quarter: string;
|
|
348
|
+
month: string;
|
|
349
|
+
week: string;
|
|
350
|
+
};
|
|
345
351
|
};
|
|
346
352
|
};
|
|
347
353
|
deLogic: {
|
|
@@ -135,6 +135,7 @@ declare const _default: {
|
|
|
135
135
|
exportRequestFailed: string;
|
|
136
136
|
changeGroupError: string;
|
|
137
137
|
computeMoveMetaError: string;
|
|
138
|
+
unclassified: string;
|
|
138
139
|
};
|
|
139
140
|
editor: {
|
|
140
141
|
editorNoConfigured: string;
|
|
@@ -342,6 +343,11 @@ declare const _default: {
|
|
|
342
343
|
resetSuccess: string;
|
|
343
344
|
resetError: string;
|
|
344
345
|
};
|
|
346
|
+
util: {
|
|
347
|
+
quarter: string;
|
|
348
|
+
month: string;
|
|
349
|
+
week: string;
|
|
350
|
+
};
|
|
345
351
|
};
|
|
346
352
|
};
|
|
347
353
|
deLogic: {
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ExtendMenuBaseController } from '../extend-menu-base/extend-menu-base.controller';
|
|
2
|
+
/**
|
|
3
|
+
* @description 底部菜单
|
|
4
|
+
* @export
|
|
5
|
+
* @class BottomSideMenuController
|
|
6
|
+
* @extends {ExtendMenuBaseController}
|
|
7
|
+
*/
|
|
8
|
+
export declare class BottomSideMenuController extends ExtendMenuBaseController {
|
|
9
|
+
protected appMenuName: string;
|
|
10
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ExtendMenuBaseController } from '../extend-menu-base/extend-menu-base.controller.mjs';
|
|
2
|
+
|
|
3
|
+
"use strict";
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
6
|
+
var __publicField = (obj, key, value) => {
|
|
7
|
+
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
8
|
+
return value;
|
|
9
|
+
};
|
|
10
|
+
class BottomSideMenuController extends ExtendMenuBaseController {
|
|
11
|
+
constructor() {
|
|
12
|
+
super(...arguments);
|
|
13
|
+
__publicField(this, "appMenuName", "bottomsidemenu");
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export { BottomSideMenuController };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.ibiz-bottom-side-menu{width:100%;height:100%}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { PropType } from 'vue';
|
|
2
|
+
import { IPanelRawItem } from '@ibiz/model-core';
|
|
3
|
+
import { BottomSideMenuController } from './bottom-side-menu.controller';
|
|
4
|
+
import './bottom-side-menu.scss';
|
|
5
|
+
/**
|
|
6
|
+
* 底部菜单
|
|
7
|
+
* @primary
|
|
8
|
+
* @description 首页视图扩展菜单底部菜单
|
|
9
|
+
* @panelitemparams {name:rendermode,parameterType:'BUTTON' | 'MENU',defaultvalue:BUTTON,description:菜单项绘制模式,其中BUTTON表示按照按钮形态绘制(按钮形态目前仅支持一层)、MENU表示按照菜单形态绘制}
|
|
10
|
+
* @primary
|
|
11
|
+
*/
|
|
12
|
+
export declare const BottomSideMenu: import("vue").DefineComponent<{
|
|
13
|
+
/**
|
|
14
|
+
* @description 模型数据
|
|
15
|
+
*/
|
|
16
|
+
modelData: {
|
|
17
|
+
type: PropType<IPanelRawItem>;
|
|
18
|
+
required: true;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* @description 底部菜单控制器
|
|
22
|
+
*/
|
|
23
|
+
controller: {
|
|
24
|
+
type: typeof BottomSideMenuController;
|
|
25
|
+
required: true;
|
|
26
|
+
};
|
|
27
|
+
}, {
|
|
28
|
+
ns: import("@ibiz-template/core").Namespace;
|
|
29
|
+
state: import("../extend-menu-base/extend-menu-base.state").ExtendMenuBase;
|
|
30
|
+
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
31
|
+
/**
|
|
32
|
+
* @description 模型数据
|
|
33
|
+
*/
|
|
34
|
+
modelData: {
|
|
35
|
+
type: PropType<IPanelRawItem>;
|
|
36
|
+
required: true;
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* @description 底部菜单控制器
|
|
40
|
+
*/
|
|
41
|
+
controller: {
|
|
42
|
+
type: typeof BottomSideMenuController;
|
|
43
|
+
required: true;
|
|
44
|
+
};
|
|
45
|
+
}>>, {}, {}>;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { resolveComponent, createVNode, defineComponent } from 'vue';
|
|
2
|
+
import { useNamespace } from '@ibiz-template/vue3-util';
|
|
3
|
+
import { BottomSideMenuController } from './bottom-side-menu.controller.mjs';
|
|
4
|
+
import './bottom-side-menu.css';
|
|
5
|
+
|
|
6
|
+
"use strict";
|
|
7
|
+
const BottomSideMenu = /* @__PURE__ */ defineComponent({
|
|
8
|
+
name: "IBizBottomSideMenu",
|
|
9
|
+
props: {
|
|
10
|
+
/**
|
|
11
|
+
* @description 模型数据
|
|
12
|
+
*/
|
|
13
|
+
modelData: {
|
|
14
|
+
type: Object,
|
|
15
|
+
required: true
|
|
16
|
+
},
|
|
17
|
+
/**
|
|
18
|
+
* @description 底部菜单控制器
|
|
19
|
+
*/
|
|
20
|
+
controller: {
|
|
21
|
+
type: BottomSideMenuController,
|
|
22
|
+
required: true
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
setup(props) {
|
|
26
|
+
const ns = useNamespace("bottom-side-menu");
|
|
27
|
+
const {
|
|
28
|
+
state
|
|
29
|
+
} = props.controller;
|
|
30
|
+
return {
|
|
31
|
+
ns,
|
|
32
|
+
state
|
|
33
|
+
};
|
|
34
|
+
},
|
|
35
|
+
render() {
|
|
36
|
+
if (!this.controller.appMenu) {
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
return createVNode("div", {
|
|
40
|
+
"class": this.ns.b()
|
|
41
|
+
}, [createVNode(resolveComponent("iBizCommonExtendMenu"), {
|
|
42
|
+
"renderMode": this.controller.rawItemParams.rendermode,
|
|
43
|
+
"items": this.state.items,
|
|
44
|
+
"menuItemsState": this.state.menuItemsState,
|
|
45
|
+
"providers": this.controller.itemProviders,
|
|
46
|
+
"position": "BOTTOM",
|
|
47
|
+
"layoutMode": this.controller.appMenu.layoutMode,
|
|
48
|
+
"layout": this.controller.appMenu.layout,
|
|
49
|
+
"onMenuItemClick": (item, event) => {
|
|
50
|
+
this.controller.handleClickMenuItem(item, event);
|
|
51
|
+
}
|
|
52
|
+
}, null)]);
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
export { BottomSideMenu };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { IPanelItem } from '@ibiz/model-core';
|
|
2
|
+
import { IPanelItemProvider, PanelController, PanelItemController } from '@ibiz-template/runtime';
|
|
3
|
+
import { BottomSideMenuController } from './bottom-side-menu.controller';
|
|
4
|
+
export declare class BottomSideMenuProvider implements IPanelItemProvider {
|
|
5
|
+
component: string;
|
|
6
|
+
createController(panelItem: IPanelItem, panel: PanelController, parent: PanelItemController | undefined): Promise<BottomSideMenuController>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { BottomSideMenuController } from './bottom-side-menu.controller.mjs';
|
|
2
|
+
|
|
3
|
+
"use strict";
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
6
|
+
var __publicField = (obj, key, value) => {
|
|
7
|
+
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
8
|
+
return value;
|
|
9
|
+
};
|
|
10
|
+
class BottomSideMenuProvider {
|
|
11
|
+
constructor() {
|
|
12
|
+
__publicField(this, "component", "IBizBottomSideMenu");
|
|
13
|
+
}
|
|
14
|
+
async createController(panelItem, panel, parent) {
|
|
15
|
+
const c = new BottomSideMenuController(panelItem, panel, parent);
|
|
16
|
+
await c.init();
|
|
17
|
+
return c;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export { BottomSideMenuProvider };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { registerPanelItemProvider } from '@ibiz-template/runtime';
|
|
2
|
+
import { BottomSideMenu } from './bottom-side-menu.mjs';
|
|
3
|
+
import { BottomSideMenuProvider } from './bottom-side-menu.provider.mjs';
|
|
4
|
+
|
|
5
|
+
"use strict";
|
|
6
|
+
var IBizBottomSideMenu = {
|
|
7
|
+
install(app) {
|
|
8
|
+
app.component(BottomSideMenu.name, BottomSideMenu);
|
|
9
|
+
registerPanelItemProvider(
|
|
10
|
+
"RAWITEM_PREDEFINE_BOTTOM_SIDE_MENU",
|
|
11
|
+
() => new BottomSideMenuProvider()
|
|
12
|
+
);
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export { IBizBottomSideMenu as default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.ibiz-common-extend-menu{width:100%;height:100%}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { PropType } from 'vue';
|
|
2
|
+
import { IAppMenuItem, ILayout } from '@ibiz/model-core';
|
|
3
|
+
import { IAppMenuItemProvider } from '@ibiz-template/runtime';
|
|
4
|
+
import './common-extend-menu.scss';
|
|
5
|
+
/**
|
|
6
|
+
* 扩展基础菜单
|
|
7
|
+
* @primary
|
|
8
|
+
* @description 首页视图扩展基础菜单,通过菜单方向和菜单布局模式决定菜单整体呈现,菜单布局容器模型决定菜单内部呈现(若无值需根据方向做缺省处理)
|
|
9
|
+
* @primary
|
|
10
|
+
*/
|
|
11
|
+
export declare const CommonExtendMenu: import("vue").DefineComponent<{
|
|
12
|
+
/**
|
|
13
|
+
* @description 绘制模式,'BUTTON' | 'MENU': 按钮态(仅识别一层) | 常规菜单态
|
|
14
|
+
*/
|
|
15
|
+
renderMode: {
|
|
16
|
+
type: PropType<"BUTTON" | "MENU">;
|
|
17
|
+
required: true;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* @description 菜单项数据
|
|
21
|
+
*/
|
|
22
|
+
items: {
|
|
23
|
+
type: PropType<IAppMenuItem[]>;
|
|
24
|
+
required: true;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* @description 菜单项权限数据
|
|
28
|
+
*/
|
|
29
|
+
menuItemsState: {
|
|
30
|
+
type: PropType<{
|
|
31
|
+
[p: string]: {
|
|
32
|
+
visible: boolean;
|
|
33
|
+
permitted: boolean;
|
|
34
|
+
};
|
|
35
|
+
}>;
|
|
36
|
+
required: true;
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* @description 菜单项适配器集合
|
|
40
|
+
*/
|
|
41
|
+
providers: {
|
|
42
|
+
type: PropType<{
|
|
43
|
+
[key: string]: IAppMenuItemProvider;
|
|
44
|
+
}>;
|
|
45
|
+
required: true;
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* @description 菜单方向
|
|
49
|
+
*/
|
|
50
|
+
position: {
|
|
51
|
+
type: PropType<"TOP" | "BOTTOM" | "LEFT" | "RIGHT">;
|
|
52
|
+
required: true;
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* @description 菜单布局模式,现阶段仅需识别FLEX(flex布局)和BORDER(边缘布局)
|
|
56
|
+
*/
|
|
57
|
+
layoutMode: {
|
|
58
|
+
type: PropType<"TABLE_24COL" | "FLEX" | "TABLE" | "TABLE_12COL" | "BORDER" | "ABSOLUTE">;
|
|
59
|
+
default: string;
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* @description 菜单布局容器模型(按钮形态才识别)
|
|
63
|
+
*/
|
|
64
|
+
layout: {
|
|
65
|
+
type: PropType<ILayout>;
|
|
66
|
+
};
|
|
67
|
+
}, {
|
|
68
|
+
ns: import("@ibiz-template/core").Namespace;
|
|
69
|
+
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
70
|
+
/**
|
|
71
|
+
* @description 项点击事件
|
|
72
|
+
*/
|
|
73
|
+
menuItemClick: (item: IAppMenuItem, event: MouseEvent) => true;
|
|
74
|
+
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
75
|
+
/**
|
|
76
|
+
* @description 绘制模式,'BUTTON' | 'MENU': 按钮态(仅识别一层) | 常规菜单态
|
|
77
|
+
*/
|
|
78
|
+
renderMode: {
|
|
79
|
+
type: PropType<"BUTTON" | "MENU">;
|
|
80
|
+
required: true;
|
|
81
|
+
};
|
|
82
|
+
/**
|
|
83
|
+
* @description 菜单项数据
|
|
84
|
+
*/
|
|
85
|
+
items: {
|
|
86
|
+
type: PropType<IAppMenuItem[]>;
|
|
87
|
+
required: true;
|
|
88
|
+
};
|
|
89
|
+
/**
|
|
90
|
+
* @description 菜单项权限数据
|
|
91
|
+
*/
|
|
92
|
+
menuItemsState: {
|
|
93
|
+
type: PropType<{
|
|
94
|
+
[p: string]: {
|
|
95
|
+
visible: boolean;
|
|
96
|
+
permitted: boolean;
|
|
97
|
+
};
|
|
98
|
+
}>;
|
|
99
|
+
required: true;
|
|
100
|
+
};
|
|
101
|
+
/**
|
|
102
|
+
* @description 菜单项适配器集合
|
|
103
|
+
*/
|
|
104
|
+
providers: {
|
|
105
|
+
type: PropType<{
|
|
106
|
+
[key: string]: IAppMenuItemProvider;
|
|
107
|
+
}>;
|
|
108
|
+
required: true;
|
|
109
|
+
};
|
|
110
|
+
/**
|
|
111
|
+
* @description 菜单方向
|
|
112
|
+
*/
|
|
113
|
+
position: {
|
|
114
|
+
type: PropType<"TOP" | "BOTTOM" | "LEFT" | "RIGHT">;
|
|
115
|
+
required: true;
|
|
116
|
+
};
|
|
117
|
+
/**
|
|
118
|
+
* @description 菜单布局模式,现阶段仅需识别FLEX(flex布局)和BORDER(边缘布局)
|
|
119
|
+
*/
|
|
120
|
+
layoutMode: {
|
|
121
|
+
type: PropType<"TABLE_24COL" | "FLEX" | "TABLE" | "TABLE_12COL" | "BORDER" | "ABSOLUTE">;
|
|
122
|
+
default: string;
|
|
123
|
+
};
|
|
124
|
+
/**
|
|
125
|
+
* @description 菜单布局容器模型(按钮形态才识别)
|
|
126
|
+
*/
|
|
127
|
+
layout: {
|
|
128
|
+
type: PropType<ILayout>;
|
|
129
|
+
};
|
|
130
|
+
}>> & {
|
|
131
|
+
onMenuItemClick?: ((item: IAppMenuItem, event: MouseEvent) => any) | undefined;
|
|
132
|
+
}, {
|
|
133
|
+
layoutMode: "TABLE_24COL" | "FLEX" | "TABLE" | "TABLE_12COL" | "BORDER" | "ABSOLUTE";
|
|
134
|
+
}, {}>;
|