@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.
Files changed (121) hide show
  1. package/dist/chart-8QfxarWf.js +1 -0
  2. package/dist/index-u5jvzY6s.js +4 -0
  3. package/dist/index.min.css +1 -1
  4. package/dist/index.system.min.js +1 -1
  5. package/dist/{wang-editor-6EirGFoh.js → wang-editor--AXyy3P_.js} +1 -1
  6. package/dist/{xlsx-util-J1RHk00u.js → xlsx-util-GVd_ca5q.js} +1 -1
  7. package/es/common/split/split.css +1 -1
  8. package/es/control/app-menu/app-menu.css +1 -1
  9. package/es/control/chart/chart.mjs +1 -1
  10. package/es/control/data-view/data-view.mjs +2 -2
  11. package/es/control/form/form-detail/form-item/form-item-container/form-item-container.css +1 -1
  12. package/es/control/form/form-detail/form-item/form-item-container/form-item-container.mjs +25 -4
  13. package/es/control/grid/grid/grid-control.util.d.ts +1 -1
  14. package/es/control/grid/grid/grid-control.util.mjs +32 -5
  15. package/es/control/grid/grid/grid.mjs +8 -6
  16. package/es/control/grid/row-edit-popover/use-row-edit-popover.mjs +1 -1
  17. package/es/control/list/list.mjs +2 -2
  18. package/es/control/tree/el-tree-util.d.ts +23 -1
  19. package/es/control/tree/el-tree-util.mjs +30 -1
  20. package/es/control/tree/tree.d.ts +5 -0
  21. package/es/control/tree/tree.mjs +94 -14
  22. package/es/control/tree-grid/tree-grid.mjs +1 -1
  23. package/es/control/tree-grid-ex/use-row-edit-popover.mjs +1 -1
  24. package/es/editor/slider/ibiz-slider/ibiz-slider.mjs +2 -2
  25. package/es/locale/en/index.d.ts +6 -0
  26. package/es/locale/zh-CN/index.d.ts +6 -0
  27. package/es/panel-component/app-extend-menu/bottom-side-menu/bottom-side-menu.controller.d.ts +10 -0
  28. package/es/panel-component/app-extend-menu/bottom-side-menu/bottom-side-menu.controller.mjs +17 -0
  29. package/es/panel-component/app-extend-menu/bottom-side-menu/bottom-side-menu.css +1 -0
  30. package/es/panel-component/app-extend-menu/bottom-side-menu/bottom-side-menu.d.ts +45 -0
  31. package/es/panel-component/app-extend-menu/bottom-side-menu/bottom-side-menu.mjs +56 -0
  32. package/es/panel-component/app-extend-menu/bottom-side-menu/bottom-side-menu.provider.d.ts +7 -0
  33. package/es/panel-component/app-extend-menu/bottom-side-menu/bottom-side-menu.provider.mjs +21 -0
  34. package/es/panel-component/app-extend-menu/bottom-side-menu/index.d.ts +5 -0
  35. package/es/panel-component/app-extend-menu/bottom-side-menu/index.mjs +16 -0
  36. package/es/panel-component/app-extend-menu/extend-menu-base/common-extend-menu/common-extend-menu.css +1 -0
  37. package/es/panel-component/app-extend-menu/extend-menu-base/common-extend-menu/common-extend-menu.d.ts +134 -0
  38. package/es/panel-component/app-extend-menu/extend-menu-base/common-extend-menu/common-extend-menu.mjs +77 -0
  39. package/es/panel-component/app-extend-menu/extend-menu-base/extend-menu-base.controller.d.ts +149 -0
  40. package/es/panel-component/app-extend-menu/extend-menu-base/extend-menu-base.controller.mjs +258 -0
  41. package/es/panel-component/app-extend-menu/extend-menu-base/extend-menu-base.state.d.ts +27 -0
  42. package/es/panel-component/app-extend-menu/extend-menu-base/extend-menu-base.state.mjs +28 -0
  43. package/es/panel-component/app-extend-menu/index.d.ts +5 -0
  44. package/es/panel-component/app-extend-menu/index.mjs +18 -0
  45. package/es/panel-component/app-extend-menu/left-side-menu/index.d.ts +5 -0
  46. package/es/panel-component/app-extend-menu/left-side-menu/index.mjs +16 -0
  47. package/es/panel-component/app-extend-menu/left-side-menu/left-side-menu.controller.d.ts +10 -0
  48. package/es/panel-component/app-extend-menu/left-side-menu/left-side-menu.controller.mjs +17 -0
  49. package/es/panel-component/app-extend-menu/left-side-menu/left-side-menu.css +1 -0
  50. package/es/panel-component/app-extend-menu/left-side-menu/left-side-menu.d.ts +45 -0
  51. package/es/panel-component/app-extend-menu/left-side-menu/left-side-menu.mjs +56 -0
  52. package/es/panel-component/app-extend-menu/left-side-menu/left-side-menu.provider.d.ts +7 -0
  53. package/es/panel-component/app-extend-menu/left-side-menu/left-side-menu.provider.mjs +21 -0
  54. package/es/panel-component/app-extend-menu/right-side-menu/index.d.ts +5 -0
  55. package/es/panel-component/app-extend-menu/right-side-menu/index.mjs +16 -0
  56. package/es/panel-component/app-extend-menu/right-side-menu/right-side-menu.controller.d.ts +10 -0
  57. package/es/panel-component/app-extend-menu/right-side-menu/right-side-menu.controller.mjs +17 -0
  58. package/es/panel-component/app-extend-menu/right-side-menu/right-side-menu.css +1 -0
  59. package/es/panel-component/app-extend-menu/right-side-menu/right-side-menu.d.ts +45 -0
  60. package/es/panel-component/app-extend-menu/right-side-menu/right-side-menu.mjs +56 -0
  61. package/es/panel-component/app-extend-menu/right-side-menu/right-side-menu.provider.d.ts +7 -0
  62. package/es/panel-component/app-extend-menu/right-side-menu/right-side-menu.provider.mjs +21 -0
  63. package/es/panel-component/app-extend-menu/top-side-menu/index.d.ts +5 -0
  64. package/es/panel-component/app-extend-menu/top-side-menu/index.mjs +16 -0
  65. package/es/panel-component/app-extend-menu/top-side-menu/top-side-menu.controller.d.ts +10 -0
  66. package/es/panel-component/app-extend-menu/top-side-menu/top-side-menu.controller.mjs +17 -0
  67. package/es/panel-component/app-extend-menu/top-side-menu/top-side-menu.css +1 -0
  68. package/es/panel-component/app-extend-menu/top-side-menu/top-side-menu.d.ts +45 -0
  69. package/es/panel-component/app-extend-menu/top-side-menu/top-side-menu.mjs +56 -0
  70. package/es/panel-component/app-extend-menu/top-side-menu/top-side-menu.provider.d.ts +7 -0
  71. package/es/panel-component/app-extend-menu/top-side-menu/top-side-menu.provider.mjs +21 -0
  72. package/es/panel-component/index.mjs +2 -0
  73. package/es/view-engine/index-view.engine.mjs +1 -1
  74. package/es/view-engine/opt-view.engine.d.ts +6 -0
  75. package/es/view-engine/opt-view.engine.mjs +12 -0
  76. package/lib/common/split/split.css +1 -1
  77. package/lib/control/app-menu/app-menu.css +1 -1
  78. package/lib/control/chart/chart.cjs +1 -1
  79. package/lib/control/data-view/data-view.cjs +2 -2
  80. package/lib/control/form/form-detail/form-item/form-item-container/form-item-container.cjs +25 -4
  81. package/lib/control/form/form-detail/form-item/form-item-container/form-item-container.css +1 -1
  82. package/lib/control/grid/grid/grid-control.util.cjs +31 -4
  83. package/lib/control/grid/grid/grid.cjs +8 -6
  84. package/lib/control/grid/row-edit-popover/use-row-edit-popover.cjs +1 -1
  85. package/lib/control/list/list.cjs +2 -2
  86. package/lib/control/tree/el-tree-util.cjs +31 -0
  87. package/lib/control/tree/tree.cjs +91 -11
  88. package/lib/control/tree-grid/tree-grid.cjs +1 -1
  89. package/lib/control/tree-grid-ex/use-row-edit-popover.cjs +1 -1
  90. package/lib/editor/slider/ibiz-slider/ibiz-slider.cjs +2 -2
  91. package/lib/panel-component/app-extend-menu/bottom-side-menu/bottom-side-menu.cjs +58 -0
  92. package/lib/panel-component/app-extend-menu/bottom-side-menu/bottom-side-menu.controller.cjs +19 -0
  93. package/lib/panel-component/app-extend-menu/bottom-side-menu/bottom-side-menu.css +1 -0
  94. package/lib/panel-component/app-extend-menu/bottom-side-menu/bottom-side-menu.provider.cjs +23 -0
  95. package/lib/panel-component/app-extend-menu/bottom-side-menu/index.cjs +20 -0
  96. package/lib/panel-component/app-extend-menu/extend-menu-base/common-extend-menu/common-extend-menu.cjs +79 -0
  97. package/lib/panel-component/app-extend-menu/extend-menu-base/common-extend-menu/common-extend-menu.css +1 -0
  98. package/lib/panel-component/app-extend-menu/extend-menu-base/extend-menu-base.controller.cjs +260 -0
  99. package/lib/panel-component/app-extend-menu/extend-menu-base/extend-menu-base.state.cjs +30 -0
  100. package/lib/panel-component/app-extend-menu/index.cjs +22 -0
  101. package/lib/panel-component/app-extend-menu/left-side-menu/index.cjs +20 -0
  102. package/lib/panel-component/app-extend-menu/left-side-menu/left-side-menu.cjs +58 -0
  103. package/lib/panel-component/app-extend-menu/left-side-menu/left-side-menu.controller.cjs +19 -0
  104. package/lib/panel-component/app-extend-menu/left-side-menu/left-side-menu.css +1 -0
  105. package/lib/panel-component/app-extend-menu/left-side-menu/left-side-menu.provider.cjs +23 -0
  106. package/lib/panel-component/app-extend-menu/right-side-menu/index.cjs +20 -0
  107. package/lib/panel-component/app-extend-menu/right-side-menu/right-side-menu.cjs +58 -0
  108. package/lib/panel-component/app-extend-menu/right-side-menu/right-side-menu.controller.cjs +19 -0
  109. package/lib/panel-component/app-extend-menu/right-side-menu/right-side-menu.css +1 -0
  110. package/lib/panel-component/app-extend-menu/right-side-menu/right-side-menu.provider.cjs +23 -0
  111. package/lib/panel-component/app-extend-menu/top-side-menu/index.cjs +20 -0
  112. package/lib/panel-component/app-extend-menu/top-side-menu/top-side-menu.cjs +58 -0
  113. package/lib/panel-component/app-extend-menu/top-side-menu/top-side-menu.controller.cjs +19 -0
  114. package/lib/panel-component/app-extend-menu/top-side-menu/top-side-menu.css +1 -0
  115. package/lib/panel-component/app-extend-menu/top-side-menu/top-side-menu.provider.cjs +23 -0
  116. package/lib/panel-component/index.cjs +2 -0
  117. package/lib/view-engine/index-view.engine.cjs +1 -1
  118. package/lib/view-engine/opt-view.engine.cjs +12 -0
  119. package/package.json +6 -6
  120. package/dist/chart-GgAfcR6o.js +0 -1
  121. package/dist/index-eIKUlAq_.js +0 -4
@@ -1,12 +1,12 @@
1
- import { isVNode, ref, reactive, onUnmounted, watch, computed, nextTick, resolveComponent, createVNode, onMounted, mergeProps, resolveDirective, withDirectives, defineComponent } from 'vue';
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, getControlPanel } from '@ibiz-template/runtime';
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 = reactive({});
109
+ const counterData = ref({});
110
110
  const menuShowMode = ref("default");
111
111
  const fn = (counter) => {
112
- Object.assign(counterData, counter);
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
- c.evt.on("onNewTreeNode", (args) => {
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
- newNodeModel.value = nodeModel;
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
- if (newTreeNodeText.value) {
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"), (_a = newNodeModel.value.sysCss) == null ? void 0 : _a.cssName],
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
- }, [((_b = newNodeModel.value) == null ? void 0 : _b.sysImage) ? createVNode(iBizIcon, {
711
+ }, [((_c = newNodeModel.value) == null ? void 0 : _c.sysImage) ? createVNode(iBizIcon, {
632
712
  "class": ns.be("node", "icon"),
633
- "icon": (_c = newNodeModel.value) == null ? void 0 : _c.sysImage
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 = getControlPanel(nodeModel);
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 += ".id-".concat(row.data._uuid);
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) => {
@@ -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,5 @@
1
+ import { App } from 'vue';
2
+ declare const _default: {
3
+ install(app: App): void;
4
+ };
5
+ export default _default;
@@ -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
+ }, {}>;