@ibiz-template/vue3-components 0.1.2 → 0.1.5

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 (168) hide show
  1. package/dist/{chart-efad8ee0.js → chart-0d4e59ff.js} +2 -2
  2. package/dist/chart-0d4e59ff.js.map +1 -0
  3. package/dist/{ibiz-markdown-editor-3745dfd5.js → ibiz-markdown-editor-a426becc.js} +2 -2
  4. package/dist/ibiz-markdown-editor-a426becc.js.map +1 -0
  5. package/dist/index.min.css +1 -1
  6. package/dist/index.system.min.js +3 -3
  7. package/dist/index.system.min.js.map +1 -1
  8. package/dist/wang-editor-675011c6.js.map +1 -1
  9. package/dist/xlsx-util-fac1c045.js.map +1 -1
  10. package/es/common/icon/icon.d.ts +1 -3
  11. package/es/common/index.d.ts +0 -2
  12. package/es/common/index.mjs +1 -5
  13. package/es/common/router-view/router-view.d.ts +1 -3
  14. package/es/control/app-menu/app-menu.css +1 -1
  15. package/es/control/app-menu-icon-view/app-menu-icon-view.d.ts +3 -3
  16. package/es/control/app-menu-icon-view/index.d.ts +6 -2
  17. package/es/control/calendar/calendar.controller.d.ts +93 -0
  18. package/es/control/calendar/calendar.controller.mjs +162 -0
  19. package/es/control/calendar/calendar.css +1 -0
  20. package/es/control/calendar/calendar.d.ts +49 -0
  21. package/es/control/calendar/calendar.mjs +211 -0
  22. package/es/control/calendar/calendar.provider.d.ts +13 -0
  23. package/es/control/calendar/calendar.provider.mjs +13 -0
  24. package/es/control/calendar/calendar.service.d.ts +49 -0
  25. package/es/control/calendar/calendar.service.mjs +88 -0
  26. package/es/control/calendar/index.d.ts +47 -0
  27. package/es/control/calendar/index.mjs +15 -0
  28. package/es/control/chart/generator/chart-options-generator.mjs +1 -1
  29. package/es/control/chart/generator/funnel-series-generator.d.ts +1 -1
  30. package/es/control/chart/generator/pie-series-generator.d.ts +1 -1
  31. package/es/control/dashboard/dashboard.css +1 -0
  32. package/es/control/dashboard/dashboard.d.ts +1 -0
  33. package/es/control/dashboard/dashboard.mjs +1 -0
  34. package/es/control/dashboard/portlet/portlet-layout/portlet-layout.d.ts +1 -0
  35. package/es/control/dashboard/portlet/portlet-layout/portlet-layout.mjs +1 -0
  36. package/es/control/dashboard/portlet/portlet-part/portlet-part.controller.mjs +1 -1
  37. package/es/control/data-view/data-view.controller.mjs +0 -1
  38. package/es/control/data-view/data-view.css +1 -1
  39. package/es/control/drbar/drbar.controller.d.ts +2 -5
  40. package/es/control/drbar/drbar.d.ts +2 -2
  41. package/es/control/drbar/index.d.ts +3 -1
  42. package/es/control/drtab/drtab.controller.d.ts +2 -5
  43. package/es/control/exp-bar/calendar-exp-bar/calendar-exp-bar.controller.d.ts +34 -0
  44. package/es/control/exp-bar/calendar-exp-bar/calendar-exp-bar.controller.mjs +89 -0
  45. package/es/control/exp-bar/calendar-exp-bar/calendar-exp-bar.css +0 -0
  46. package/es/control/exp-bar/calendar-exp-bar/calendar-exp-bar.d.ts +49 -0
  47. package/es/control/exp-bar/calendar-exp-bar/calendar-exp-bar.mjs +78 -0
  48. package/es/control/exp-bar/calendar-exp-bar/calendar-exp-bar.provider.d.ts +11 -0
  49. package/es/control/exp-bar/calendar-exp-bar/calendar-exp-bar.provider.mjs +13 -0
  50. package/es/control/exp-bar/calendar-exp-bar/index.d.ts +49 -0
  51. package/es/control/exp-bar/calendar-exp-bar/index.mjs +18 -0
  52. package/es/control/exp-bar/exp-bar.controller.d.ts +5 -5
  53. package/es/control/exp-bar/exp-bar.controller.mjs +17 -11
  54. package/es/control/exp-bar/index.d.ts +1 -0
  55. package/es/control/exp-bar/index.mjs +3 -0
  56. package/es/control/exp-bar/tree-exp-bar/tree-exp-bar.controller.d.ts +20 -3
  57. package/es/control/exp-bar/tree-exp-bar/tree-exp-bar.controller.mjs +49 -25
  58. package/es/control/exp-bar/tree-exp-bar/tree-exp-bar.mjs +2 -1
  59. package/es/control/form/form/form.d.ts +1 -5
  60. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-form/form-mdctrl-form.mjs +4 -3
  61. package/es/control/form/form-detail/form-page/form-page.mjs +2 -2
  62. package/es/control/grid/grid/grid-control.util.d.ts +2 -1
  63. package/es/control/grid/grid/grid.controller.d.ts +73 -5
  64. package/es/control/grid/grid/grid.controller.mjs +201 -6
  65. package/es/control/grid/grid/grid.css +1 -1
  66. package/es/control/grid/grid/grid.d.ts +6 -1
  67. package/es/control/grid/grid/grid.mjs +62 -10
  68. package/es/control/grid/grid/index.d.ts +5 -1
  69. package/es/control/grid/grid-column/grid-field-column/grid-field-column.controller.d.ts +11 -2
  70. package/es/control/grid/grid-column/grid-field-column/grid-field-column.controller.mjs +53 -0
  71. package/es/control/grid/grid-column/grid-field-column/grid-field-column.css +1 -1
  72. package/es/control/grid/grid-column/grid-field-edit-column/grid-edit-item/grid-edit-item.css +1 -1
  73. package/es/control/index.d.ts +1 -0
  74. package/es/control/index.mjs +6 -0
  75. package/es/control/toolbar/index.d.ts +6 -2
  76. package/es/control/toolbar/toolbar.d.ts +3 -3
  77. package/es/control/tree/index.d.ts +7 -1
  78. package/es/control/tree/tree.controller.d.ts +23 -11
  79. package/es/control/tree/tree.controller.mjs +60 -44
  80. package/es/control/tree/tree.d.ts +7 -1
  81. package/es/control/tree/tree.mjs +27 -7
  82. package/es/control/tree/tree.service.d.ts +23 -4
  83. package/es/control/tree/tree.service.mjs +123 -50
  84. package/es/editor/autocomplete/ibiz-autocomplete/ibiz-autocomplete.d.ts +1 -1
  85. package/es/editor/cascader/ibiz-cascader/ibiz-cascader.d.ts +1 -1
  86. package/es/editor/code/code-editor.controller.d.ts +2 -2
  87. package/es/editor/data-picker/ibiz-picker/ibiz-picker.d.ts +1 -1
  88. package/es/editor/html/wang-editor/wang-editor.d.ts +1 -1
  89. package/es/editor/upload/use/use-ibiz-upload.d.ts +2 -2
  90. package/es/editor/upload/use/use-iview-upload.d.ts +2 -2
  91. package/es/index.mjs +9 -2
  92. package/es/panel-component/nav-pos/nav-pos.mjs +6 -4
  93. package/es/panel-component/nav-pos-index/nav-pos-index.controller.mjs +1 -2
  94. package/es/panel-component/nav-pos-index/nav-pos-index.mjs +3 -2
  95. package/es/panel-component/nav-pos-index/nav-pos-index.state.mjs +1 -1
  96. package/es/panel-component/panel-app-title/panel-app-title.css +1 -1
  97. package/es/panel-component/panel-app-title/panel-app-title.mjs +1 -1
  98. package/es/panel-component/panel-field/panel-field.controller.d.ts +1 -1
  99. package/es/view/portal-view/portal-view.mjs +1 -18
  100. package/es/view-engine/calendar-exp-view.engine.d.ts +25 -0
  101. package/es/view-engine/calendar-exp-view.engine.mjs +33 -0
  102. package/es/view-engine/calendar-view.engine.d.ts +5 -0
  103. package/es/view-engine/calendar-view.engine.mjs +6 -0
  104. package/es/view-engine/grid-view.engine.mjs +1 -1
  105. package/es/view-engine/index.mjs +10 -0
  106. package/es/view-engine/pickup-view2.engine.mjs +5 -1
  107. package/es/view-engine/wf-dyna-action-view.engine.mjs +1 -1
  108. package/es/view-engine/wf-dyna-start-view.engine.mjs +1 -1
  109. package/lib/common/index.cjs +0 -13
  110. package/lib/control/app-menu/app-menu.css +1 -1
  111. package/lib/control/calendar/calendar.cjs +213 -0
  112. package/lib/control/calendar/calendar.controller.cjs +164 -0
  113. package/lib/control/calendar/calendar.css +1 -0
  114. package/lib/control/calendar/calendar.provider.cjs +15 -0
  115. package/lib/control/calendar/calendar.service.cjs +90 -0
  116. package/lib/control/calendar/index.cjs +22 -0
  117. package/lib/control/chart/generator/chart-options-generator.cjs +1 -1
  118. package/lib/control/dashboard/dashboard.cjs +1 -0
  119. package/lib/control/dashboard/dashboard.css +1 -0
  120. package/lib/control/dashboard/portlet/portlet-layout/portlet-layout.cjs +1 -0
  121. package/lib/control/dashboard/portlet/portlet-part/portlet-part.controller.cjs +1 -1
  122. package/lib/control/data-view/data-view.controller.cjs +0 -1
  123. package/lib/control/data-view/data-view.css +1 -1
  124. package/lib/control/exp-bar/calendar-exp-bar/calendar-exp-bar.cjs +80 -0
  125. package/lib/control/exp-bar/calendar-exp-bar/calendar-exp-bar.controller.cjs +91 -0
  126. package/lib/control/exp-bar/calendar-exp-bar/calendar-exp-bar.css +0 -0
  127. package/lib/control/exp-bar/calendar-exp-bar/calendar-exp-bar.provider.cjs +15 -0
  128. package/lib/control/exp-bar/calendar-exp-bar/index.cjs +25 -0
  129. package/lib/control/exp-bar/exp-bar.controller.cjs +17 -11
  130. package/lib/control/exp-bar/index.cjs +6 -0
  131. package/lib/control/exp-bar/tree-exp-bar/tree-exp-bar.cjs +2 -1
  132. package/lib/control/exp-bar/tree-exp-bar/tree-exp-bar.controller.cjs +49 -25
  133. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-form/form-mdctrl-form.cjs +4 -3
  134. package/lib/control/form/form-detail/form-page/form-page.cjs +2 -2
  135. package/lib/control/grid/grid/grid.cjs +62 -10
  136. package/lib/control/grid/grid/grid.controller.cjs +200 -5
  137. package/lib/control/grid/grid/grid.css +1 -1
  138. package/lib/control/grid/grid-column/grid-field-column/grid-field-column.controller.cjs +53 -0
  139. package/lib/control/grid/grid-column/grid-field-column/grid-field-column.css +1 -1
  140. package/lib/control/grid/grid-column/grid-field-edit-column/grid-edit-item/grid-edit-item.css +1 -1
  141. package/lib/control/index.cjs +28 -16
  142. package/lib/control/tree/tree.cjs +27 -7
  143. package/lib/control/tree/tree.controller.cjs +59 -43
  144. package/lib/control/tree/tree.service.cjs +122 -49
  145. package/lib/index.cjs +79 -76
  146. package/lib/panel-component/nav-pos/nav-pos.cjs +6 -4
  147. package/lib/panel-component/nav-pos-index/nav-pos-index.cjs +3 -2
  148. package/lib/panel-component/nav-pos-index/nav-pos-index.controller.cjs +1 -2
  149. package/lib/panel-component/nav-pos-index/nav-pos-index.state.cjs +1 -1
  150. package/lib/panel-component/panel-app-title/panel-app-title.cjs +1 -1
  151. package/lib/panel-component/panel-app-title/panel-app-title.css +1 -1
  152. package/lib/view/portal-view/portal-view.cjs +1 -18
  153. package/lib/view-engine/calendar-exp-view.engine.cjs +35 -0
  154. package/lib/view-engine/calendar-view.engine.cjs +8 -0
  155. package/lib/view-engine/grid-view.engine.cjs +1 -1
  156. package/lib/view-engine/index.cjs +10 -0
  157. package/lib/view-engine/pickup-view2.engine.cjs +5 -1
  158. package/lib/view-engine/wf-dyna-action-view.engine.cjs +1 -1
  159. package/lib/view-engine/wf-dyna-start-view.engine.cjs +1 -1
  160. package/package.json +18 -18
  161. package/dist/chart-efad8ee0.js.map +0 -1
  162. package/dist/ibiz-markdown-editor-3745dfd5.js.map +0 -1
  163. package/es/common/keep-alive/keep-alive.d.ts +0 -45
  164. package/es/common/keep-alive/keep-alive.mjs +0 -293
  165. package/es/common/keep-alive/scheduler.d.ts +0 -41
  166. package/es/common/keep-alive/scheduler.mjs +0 -168
  167. package/lib/common/keep-alive/keep-alive.cjs +0 -304
  168. package/lib/common/keep-alive/scheduler.cjs +0 -178
@@ -13,12 +13,13 @@ var index$p = require('./tree/index.cjs');
13
13
  var index$q = require('./pickup-view-panel/index.cjs');
14
14
  var index$r = require('./tab-exp-panel/index.cjs');
15
15
  require('./exp-bar/index.cjs');
16
- var index$w = require('./search-bar/index.cjs');
17
- var index$x = require('./chart/index.cjs');
18
- var index$y = require('./wizard-panel/index.cjs');
19
- var index$z = require('./drbar/index.cjs');
20
- var index$A = require('./drtab/index.cjs');
21
- var index$B = require('./dashboard/index.cjs');
16
+ var index$x = require('./search-bar/index.cjs');
17
+ var index$y = require('./chart/index.cjs');
18
+ var index$z = require('./wizard-panel/index.cjs');
19
+ var index$A = require('./drbar/index.cjs');
20
+ var index$B = require('./drtab/index.cjs');
21
+ var index$C = require('./dashboard/index.cjs');
22
+ var index$F = require('./calendar/index.cjs');
22
23
  var appMenu_provider = require('./app-menu/app-menu.provider.cjs');
23
24
  var appMenu_controller = require('./app-menu/app-menu.controller.cjs');
24
25
  var appMenuIconView_provider = require('./app-menu-icon-view/app-menu-icon-view.provider.cjs');
@@ -118,6 +119,9 @@ var listExpBar_provider = require('./exp-bar/list-exp-bar/list-exp-bar.provider.
118
119
  var index$t = require('./exp-bar/list-exp-bar/index.cjs');
119
120
  var index$u = require('./exp-bar/grid-exp-bar/index.cjs');
120
121
  var index$v = require('./exp-bar/data-view-exp-bar/index.cjs');
122
+ var calendarExpBar_provider = require('./exp-bar/calendar-exp-bar/calendar-exp-bar.provider.cjs');
123
+ var calendarExpBar_controller = require('./exp-bar/calendar-exp-bar/calendar-exp-bar.controller.cjs');
124
+ var index$w = require('./exp-bar/calendar-exp-bar/index.cjs');
121
125
  var searchBar_provider = require('./search-bar/search-bar.provider.cjs');
122
126
  var searchBar_controller = require('./search-bar/search-bar.controller.cjs');
123
127
  var wizardPanel_provider = require('./wizard-panel/wizard-panel.provider.cjs');
@@ -133,12 +137,14 @@ var portletPart_state = require('./dashboard/portlet/portlet-part/portlet-part.s
133
137
  var containerPortlet_controller = require('./dashboard/portlet/container-portlet/container-portlet.controller.cjs');
134
138
  var containerPortlet_provider = require('./dashboard/portlet/container-portlet/container-portlet.provider.cjs');
135
139
  var containerPortlet = require('./dashboard/portlet/container-portlet/container-portlet.cjs');
136
- var index$C = require('./dashboard/portlet/container-portlet/index.cjs');
140
+ var index$D = require('./dashboard/portlet/container-portlet/index.cjs');
137
141
  var portletLayout = require('./dashboard/portlet/portlet-layout/portlet-layout.cjs');
138
142
  var viewPortlet_controller = require('./dashboard/portlet/view-portlet/view-portlet.controller.cjs');
139
143
  var viewPortlet_provider = require('./dashboard/portlet/view-portlet/view-portlet.provider.cjs');
140
144
  var viewPortlet = require('./dashboard/portlet/view-portlet/view-portlet.cjs');
141
- var index$D = require('./dashboard/portlet/view-portlet/index.cjs');
145
+ var index$E = require('./dashboard/portlet/view-portlet/index.cjs');
146
+ var calendar_provider = require('./calendar/calendar.provider.cjs');
147
+ var calendar_controller = require('./calendar/calendar.controller.cjs');
142
148
 
143
149
 
144
150
 
@@ -151,12 +157,13 @@ exports.IBizDataViewControl = index$o.IBizDataViewControl;
151
157
  exports.IBizTreeControl = index$p.IBizTreeControl;
152
158
  exports.IBizPickupViewPanelControl = index$q.IBizPickupViewPanelControl;
153
159
  exports.IBizTabExpPanelControl = index$r.IBizTabExpPanelControl;
154
- exports.IBizSearchBarControl = index$w.IBizSearchBarControl;
155
- exports.IBizChartControl = index$x.IBizChartControl;
156
- exports.IBizWizardPanelControl = index$y.IBizWizardPanelControl;
157
- exports.IBizDRBarControl = index$z.IBizDRBarControl;
158
- exports.IBizDRTabControl = index$A.IBizDRTabControl;
159
- exports.IBizDashboardControl = index$B.IBizDashboardControl;
160
+ exports.IBizSearchBarControl = index$x.IBizSearchBarControl;
161
+ exports.IBizChartControl = index$y.IBizChartControl;
162
+ exports.IBizWizardPanelControl = index$z.IBizWizardPanelControl;
163
+ exports.IBizDRBarControl = index$A.IBizDRBarControl;
164
+ exports.IBizDRTabControl = index$B.IBizDRTabControl;
165
+ exports.IBizDashboardControl = index$C.IBizDashboardControl;
166
+ exports.IBizCalendarControl = index$F.IBizCalendarControl;
160
167
  exports.AppMenuProvider = appMenu_provider.AppMenuProvider;
161
168
  exports.AppMenuController = appMenu_controller.AppMenuController;
162
169
  exports.AppMenuIconViewProvider = appMenuIconView_provider.AppMenuIconViewProvider;
@@ -257,6 +264,9 @@ exports.ListExpBarProvider = listExpBar_provider.ListExpBarProvider;
257
264
  exports.IBizListExpBarControl = index$t.IBizListExpBarControl;
258
265
  exports.IBizGridExpBarControl = index$u.IBizGridExpBarControl;
259
266
  exports.IBizDataViewExpBarControl = index$v.IBizDataViewExpBarControl;
267
+ exports.CalendarExpBarProvider = calendarExpBar_provider.CalendarExpBarProvider;
268
+ exports.CalendarExpBarController = calendarExpBar_controller.CalendarExpBarController;
269
+ exports.IBizCalendarExpBarControl = index$w.IBizCalendarExpBarControl;
260
270
  exports.SearchBarProvider = searchBar_provider.SearchBarProvider;
261
271
  exports.SearchBarController = searchBar_controller.SearchBarController;
262
272
  exports.WizardPanelProvider = wizardPanel_provider.WizardPanelProvider;
@@ -272,9 +282,11 @@ exports.PortletPartState = portletPart_state.PortletPartState;
272
282
  exports.ContainerPortletController = containerPortlet_controller.ContainerPortletController;
273
283
  exports.ContainerPortletProvider = containerPortlet_provider.ContainerPortletProvider;
274
284
  exports.ContainerPortlet = containerPortlet.ContainerPortlet;
275
- exports.IBizContainerPortlet = index$C.IBizContainerPortlet;
285
+ exports.IBizContainerPortlet = index$D.IBizContainerPortlet;
276
286
  exports.PortletLayout = portletLayout.PortletLayout;
277
287
  exports.ViewPortletController = viewPortlet_controller.ViewPortletController;
278
288
  exports.ViewPortletProvider = viewPortlet_provider.ViewPortletProvider;
279
289
  exports.ViewPortlet = viewPortlet.ViewPortlet;
280
- exports.IBizViewPortlet = index$D.IBizViewPortlet;
290
+ exports.IBizViewPortlet = index$E.IBizViewPortlet;
291
+ exports.CalendarProvider = calendar_provider.CalendarProvider;
292
+ exports.CalendarController = calendar_controller.CalendarController;
@@ -2,6 +2,7 @@
2
2
 
3
3
  var vue = require('vue');
4
4
  var vue3Util = require('@ibiz-template/vue3-util');
5
+ var runtime = require('@ibiz-template/runtime');
5
6
  var tree_controller = require('./tree.controller.cjs');
6
7
  require('./tree.css');
7
8
 
@@ -42,6 +43,9 @@ const TreeControl = /* @__PURE__ */ vue.defineComponent({
42
43
  singleSelect: {
43
44
  type: Boolean,
44
45
  default: true
46
+ },
47
+ defaultExpandedKeys: {
48
+ type: Array
45
49
  }
46
50
  },
47
51
  setup() {
@@ -58,16 +62,33 @@ const TreeControl = /* @__PURE__ */ vue.defineComponent({
58
62
  };
59
63
  const treeData = vue.computed(() => {
60
64
  if (!c.state.isLoaded) {
61
- return void 0;
65
+ return [];
62
66
  }
63
- return c.model.rootVisible ? c.state.rootNode : c.state.rootNode.children;
67
+ return c.model.rootVisible ? c.state.rootNodes : c.state.rootNodes.reduce((result, nodeData) => {
68
+ if (nodeData.children) {
69
+ return result.concat(nodeData.children);
70
+ }
71
+ return result;
72
+ }, []);
64
73
  });
65
74
  const loadData = async (item, callback) => {
66
- if (!c.state.isLoaded) {
75
+ let nodes;
76
+ if (item.level === 0) {
77
+ nodes = treeData.value;
78
+ ibiz.log.debug("\u521D\u59CB\u52A0\u8F7D");
79
+ } else if (item.data instanceof runtime.TreeNodeData) {
80
+ if (item.data.children) {
81
+ ibiz.log.debug("\u8282\u70B9\u5C55\u5F00\u52A0\u8F7D-\u672C\u5730", item.data);
82
+ nodes = item.data.children;
83
+ } else {
84
+ ibiz.log.debug("\u8282\u70B9\u5C55\u5F00\u52A0\u8F7D-\u8FDC\u7A0B", item.data);
85
+ nodes = await c.loadNodes(item.data);
86
+ }
87
+ } else {
88
+ ibiz.log.error("\u672A\u8003\u8651\u5230\u7684\u60C5\u51B5", item, item.data);
67
89
  return;
68
90
  }
69
- const nodes = await c.loadNodes(item.data);
70
- setCheckedNodes();
91
+ ibiz.log.debug("\u7ED9\u6811\u8FD4\u56DE\u503C", nodes);
71
92
  callback(nodes);
72
93
  };
73
94
  let selectionWait = false;
@@ -218,9 +239,8 @@ const TreeControl = /* @__PURE__ */ vue.defineComponent({
218
239
  return vue.createVNode(vue.resolveComponent("iBizControlBase"), {
219
240
  "controller": this.c
220
241
  }, {
221
- default: () => [this.c.state.isCreated && vue.createVNode(vue.resolveComponent("el-tree"), {
242
+ default: () => [this.c.state.isLoaded && vue.createVNode(vue.resolveComponent("el-tree"), {
222
243
  "ref": "treeRef",
223
- "data": this.treeData,
224
244
  "node-key": "id",
225
245
  "highlight-current": true,
226
246
  "expand-on-click-node": false,
@@ -7,12 +7,7 @@ var tree_service = require('./tree.service.cjs');
7
7
  class TreeController extends runtime.MDControlController {
8
8
  initState() {
9
9
  super.initState();
10
- this.state.rootNode = new runtime.TreeStaticNodeData(
11
- runtime.getRootNode(this.model),
12
- void 0,
13
- { leaf: false }
14
- );
15
- this.state.expandedKeys = [];
10
+ this.state.defaultExpandedKeys = [];
16
11
  this.state.size = 0;
17
12
  this.state.contextMenus = {};
18
13
  }
@@ -35,15 +30,10 @@ class TreeController extends runtime.MDControlController {
35
30
  */
36
31
  async load(args = {}) {
37
32
  const isInitialLoad = args.isInitialLoad === true;
38
- const isLoadMore = args.isLoadMore === true;
39
33
  const nodes = await this.loadNodes();
34
+ this.state.expandedKeys = this.calcExpandedKeys(nodes);
40
35
  await this.afterLoad(args, nodes);
41
36
  this.state.isLoaded = true;
42
- if (isLoadMore) {
43
- this.state.items.push(...nodes);
44
- } else {
45
- this.state.items = nodes;
46
- }
47
37
  await this.evt.emit("onLoadSuccess", {
48
38
  isInitialLoad
49
39
  });
@@ -59,21 +49,31 @@ class TreeController extends runtime.MDControlController {
59
49
  async loadNodes(parentNode) {
60
50
  const params = await this.getFetchParams();
61
51
  const hasQuery = !!params.query;
62
- if (!parentNode) {
63
- parentNode = this.state.rootNode;
64
- }
52
+ const defaultExpandedKeys = !parentNode ? this.state.defaultExpandedKeys : void 0;
65
53
  await this.startLoading();
66
54
  let nodes;
67
55
  try {
68
56
  nodes = await this.service.fetchChildNodes(parentNode, {
69
57
  context: this.context.clone(),
70
58
  params,
71
- hasQuery
59
+ hasQuery,
60
+ defaultExpandedKeys
72
61
  }) || [];
73
62
  } finally {
74
63
  await this.endLoading();
75
64
  }
76
- parentNode.children = nodes;
65
+ if (parentNode) {
66
+ parentNode.children = nodes;
67
+ } else {
68
+ this.state.rootNodes = nodes;
69
+ }
70
+ this.state.items = [];
71
+ core.recursiveIterate(
72
+ { children: this.state.rootNodes },
73
+ (node) => {
74
+ this.state.items.push(node);
75
+ }
76
+ );
77
77
  return nodes;
78
78
  }
79
79
  /**
@@ -111,25 +111,13 @@ class TreeController extends runtime.MDControlController {
111
111
  await this.setActive(nodeData);
112
112
  }
113
113
  }
114
+ setActive(item) {
115
+ const nodeParams = this.parseTreeNodeData(item);
116
+ return this.evt.emit("onActive", { ...nodeParams, nodeData: item });
117
+ }
114
118
  setSelection(selection) {
115
119
  super.setSelection(selection);
116
120
  }
117
- /**
118
- * 设置展开节点
119
- *
120
- * @author zk
121
- * @date 2023-07-10 08:07:29
122
- * @param {string[]} nodeKeys
123
- * @param {boolean} [isReplace=false]
124
- * @memberof TreeController
125
- */
126
- setExpandedKeys(nodeKeys, isReplace = false) {
127
- if (isReplace) {
128
- this.state.expandedKeys = nodeKeys;
129
- } else {
130
- this.state.expandedKeys.push(...nodeKeys);
131
- }
132
- }
133
121
  /**
134
122
  * 获取节点模型
135
123
  * @author lxm
@@ -152,18 +140,10 @@ class TreeController extends runtime.MDControlController {
152
140
  */
153
141
  async doUIAction(uiActionId, nodeData, event) {
154
142
  const eventArgs = this.getEventArgs();
155
- if (nodeData.context) {
156
- eventArgs.context = Object.assign(
157
- eventArgs.context.clone(),
158
- nodeData.context
159
- );
160
- }
161
- if (nodeData.params) {
162
- eventArgs.params = { ...eventArgs.params, ...nodeData.params };
163
- }
143
+ const nodeParams = this.parseTreeNodeData(nodeData);
164
144
  await runtime.UIActionUtil.execAndResolved(uiActionId, {
165
145
  ...eventArgs,
166
- data: [nodeData.deData || nodeData],
146
+ ...nodeParams,
167
147
  event
168
148
  });
169
149
  }
@@ -197,6 +177,42 @@ class TreeController extends runtime.MDControlController {
197
177
  this.state.contextMenus[contextMenu.id] = menuState;
198
178
  this.state.contextMenus[contextMenu.id].update();
199
179
  }
180
+ /**
181
+ * 解析树节点获取通用数据,和完整的上下文和视图参数。
182
+ * @author lxm
183
+ * @date 2023-08-09 11:45:34
184
+ * @protected
185
+ * @param {TreeNodeData} nodeData
186
+ */
187
+ parseTreeNodeData(nodeData) {
188
+ return {
189
+ data: [{ ...nodeData, ...nodeData.deData || {} }],
190
+ context: Object.assign(this.context.clone(), nodeData.context || {}),
191
+ params: { ...this.params, ...nodeData.params || {} }
192
+ };
193
+ }
194
+ /**
195
+ * 计算展开节点集合
196
+ * @author lxm
197
+ * @date 2023-08-09 05:19:36
198
+ * @param {ITreeNodeData[]} nodes
199
+ * @param {boolean} [isRoot=false]
200
+ * @return {*} {string[]}
201
+ */
202
+ calcExpandedKeys(nodes) {
203
+ let expandedKeys = [];
204
+ core.recursiveIterate({ children: nodes }, (node) => {
205
+ var _a;
206
+ if ((_a = node.children) == null ? void 0 : _a.length) {
207
+ expandedKeys.push(node.id);
208
+ }
209
+ });
210
+ if (this.state.defaultExpandedKeys.length) {
211
+ expandedKeys.push(...this.state.defaultExpandedKeys);
212
+ expandedKeys = Array.from(new Set(expandedKeys));
213
+ }
214
+ return expandedKeys;
215
+ }
200
216
  }
201
217
 
202
218
  exports.TreeController = TreeController;
@@ -1,5 +1,6 @@
1
1
  'use strict';
2
2
 
3
+ var core = require('@ibiz-template/core');
3
4
  var runtime = require('@ibiz-template/runtime');
4
5
 
5
6
  class TreeService extends runtime.MDControlService {
@@ -13,61 +14,117 @@ class TreeService extends runtime.MDControlService {
13
14
  */
14
15
  async fetchChildNodes(parentNodeData, opts) {
15
16
  const { hasQuery } = opts;
16
- const childNodeRSs = runtime.getChildNodeRSs(this.model, {
17
- parentId: parentNodeData == null ? void 0 : parentNodeData.nodeId,
18
- hasQuery
19
- });
20
- if (childNodeRSs.length === 0) {
21
- return;
22
- }
23
- const results = await Promise.allSettled(
24
- childNodeRSs.map(async (childNodeRS) => {
25
- const childNode = runtime.getTreeNode(
26
- this.model,
27
- childNodeRS.childDETreeNodeId
28
- );
29
- const leaf = runtime.getChildNodeRSs(this.model, {
30
- parentId: childNode.id,
31
- hasQuery
32
- }).length === 0;
33
- const tempOpts = { ...opts, leaf };
34
- if (childNode.treeNodeType === "STATIC") {
35
- const nodeData = await this.getStaticNodeData(
36
- childNode,
37
- childNodeRS,
38
- parentNodeData,
39
- tempOpts
17
+ let childrenNodes = [];
18
+ if (!parentNodeData) {
19
+ const rootNode = runtime.getRootNode(this.model);
20
+ childrenNodes = await this.fetchNodeDatasByType(
21
+ rootNode,
22
+ void 0,
23
+ void 0,
24
+ opts
25
+ );
26
+ } else {
27
+ const childNodeRSs = runtime.getChildNodeRSs(this.model, {
28
+ parentId: parentNodeData == null ? void 0 : parentNodeData.nodeId,
29
+ hasQuery
30
+ });
31
+ if (childNodeRSs.length === 0) {
32
+ return;
33
+ }
34
+ const results = await Promise.allSettled(
35
+ childNodeRSs.map(async (childNodeRS) => {
36
+ const childNode = runtime.getTreeNode(
37
+ this.model,
38
+ childNodeRS.childDETreeNodeId
40
39
  );
41
- return [nodeData];
42
- }
43
- if (childNode.treeNodeType === "DE") {
44
- return this.getDENodeDatas(
40
+ return this.fetchNodeDatasByType(
45
41
  childNode,
46
42
  childNodeRS,
47
43
  parentNodeData,
48
- tempOpts
44
+ opts
49
45
  );
46
+ })
47
+ );
48
+ results.forEach((result) => {
49
+ if (result.status === "fulfilled" && result.value) {
50
+ childrenNodes.push(...result.value);
51
+ } else if (result.status === "rejected") {
52
+ ibiz.log.error(result.reason);
50
53
  }
51
- if (childNode.treeNodeType === "CODELIST") {
52
- return this.getCodeListNodeDatas(
53
- childNode,
54
- childNodeRS,
54
+ });
55
+ }
56
+ return childrenNodes;
57
+ }
58
+ /**
59
+ * 通过节点类型加载节点数据
60
+ * @author lxm
61
+ * @date 2023-08-09 03:22:47
62
+ * @protected
63
+ * @param {IDETreeNode} nodeModel 节点模型
64
+ * @param {(IDETreeNodeRS | undefined)} nodeRS 与上层节点的节点关系
65
+ * @param {(ITreeNodeData | undefined)} parentNodeData 上层节点数据
66
+ * @param {TreeFetchOpts} opts 额外参数
67
+ * @return {*} {Promise<ITreeNodeData[]>}
68
+ */
69
+ async fetchNodeDatasByType(nodeModel, nodeRS, parentNodeData, opts) {
70
+ const leaf = runtime.getChildNodeRSs(this.model, {
71
+ parentId: nodeModel.id,
72
+ hasQuery: opts.hasQuery
73
+ }).length === 0;
74
+ const tempOpts = { ...opts, leaf };
75
+ let result = [];
76
+ switch (nodeModel.treeNodeType) {
77
+ case "STATIC":
78
+ {
79
+ const nodeData = await this.getStaticNodeData(
80
+ nodeModel,
81
+ nodeRS,
55
82
  parentNodeData,
56
83
  tempOpts
57
84
  );
85
+ result = [nodeData];
58
86
  }
59
- return void 0;
60
- })
61
- );
62
- const childrenNodes = [];
63
- results.forEach((result) => {
64
- if (result.status === "fulfilled" && result.value) {
65
- childrenNodes.push(...result.value);
66
- } else if (result.status === "rejected") {
67
- ibiz.log.error(result.reason);
68
- }
69
- });
70
- return childrenNodes;
87
+ break;
88
+ case "DE":
89
+ result = await this.getDENodeDatas(
90
+ nodeModel,
91
+ nodeRS,
92
+ parentNodeData,
93
+ tempOpts
94
+ );
95
+ break;
96
+ case "CODELIST":
97
+ result = await this.getCodeListNodeDatas(
98
+ nodeModel,
99
+ nodeRS,
100
+ parentNodeData,
101
+ tempOpts
102
+ );
103
+ break;
104
+ default:
105
+ throw new core.ModelError(
106
+ nodeModel,
107
+ `${nodeModel.treeNodeType}\u8282\u70B9\u7C7B\u578B\u672A\u652F\u6301`
108
+ );
109
+ }
110
+ const { expandFirstOnly, expanded, rootNode } = nodeModel;
111
+ const isExpandedRoot = rootNode && !this.model.rootVisible;
112
+ if (!leaf) {
113
+ await Promise.all(
114
+ result.map(async (childNode, index) => {
115
+ if (expanded && // 全展开合只展开首节点expanded都为true
116
+ (!expandFirstOnly || expandFirstOnly && index === 0) || opts.defaultExpandedKeys.includes(childNode.id) || // 外部回显给的默认展开节点集合有的展开
117
+ isExpandedRoot) {
118
+ const subChildrenNodes = await this.fetchChildNodes(
119
+ childNode,
120
+ opts
121
+ );
122
+ childNode.children = subChildrenNodes;
123
+ }
124
+ })
125
+ );
126
+ }
127
+ return result;
71
128
  }
72
129
  /**
73
130
  * 获取静态节点数据
@@ -82,7 +139,7 @@ class TreeService extends runtime.MDControlService {
82
139
  const nodeData = new runtime.TreeStaticNodeData(
83
140
  nodeModel,
84
141
  parentNodeData,
85
- { parentValueLevel: nodeRS.parentValueLevel, leaf: !!opts.leaf }
142
+ { parentValueLevel: nodeRS == null ? void 0 : nodeRS.parentValueLevel, leaf: !!opts.leaf }
86
143
  );
87
144
  if (nodeModel.expanded) {
88
145
  nodeData.children = await this.fetchChildNodes(nodeData, opts);
@@ -130,7 +187,13 @@ class TreeService extends runtime.MDControlService {
130
187
  derValue = parentData.value;
131
188
  }
132
189
  const { resultContext, resultParams } = runtime.calcNavParams(
133
- { deName, navFilter, pickupDEFName, navParams, navContexts },
190
+ {
191
+ deName,
192
+ navFilter: `n_${navFilter}_eq`,
193
+ pickupDEFName,
194
+ navParams,
195
+ navContexts
196
+ },
134
197
  { derValue, context, params, data }
135
198
  );
136
199
  Object.assign(context, resultContext);
@@ -153,7 +216,12 @@ class TreeService extends runtime.MDControlService {
153
216
  */
154
217
  async getDENodeDatas(nodeModel, nodeRS, parentNodeData, opts) {
155
218
  const { appDEDataSetId, appDataEntityId } = nodeModel;
156
- const { context, params, navContext, navParams } = this.getNodeRSFilterParams(nodeRS, parentNodeData, opts);
219
+ const { context, params, navContext, navParams } = nodeRS ? this.getNodeRSFilterParams(nodeRS, parentNodeData, opts) : {
220
+ context: opts.context,
221
+ params: opts.params,
222
+ navContext: {},
223
+ navParams: {}
224
+ };
157
225
  params.size = nodeModel.maxSize || 1e3;
158
226
  if (nodeModel.sortAppDEFieldId && nodeModel.sortDir) {
159
227
  Object.assign(params, {
@@ -188,7 +256,12 @@ class TreeService extends runtime.MDControlService {
188
256
  * @memberof TreeService
189
257
  */
190
258
  async getCodeListNodeDatas(nodeModel, nodeRS, parentNodeData, opts) {
191
- const { context, params, navContext, navParams } = this.getNodeRSFilterParams(nodeRS, parentNodeData, opts);
259
+ const { context, params, navContext, navParams } = nodeRS ? this.getNodeRSFilterParams(nodeRS, parentNodeData, opts) : {
260
+ context: opts.context,
261
+ params: opts.params,
262
+ navContext: {},
263
+ navParams: {}
264
+ };
192
265
  const items = await this.app.codeList.get(
193
266
  nodeModel.codeListId,
194
267
  context,