@ibiz-template/vue3-components 0.7.38-alpha.12 → 0.7.38-alpha.21

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 (185) hide show
  1. package/dist/index-3cxXHoLs.js +4 -0
  2. package/dist/{index-B_Fo_3Rt.js → index-CiEIUSX9.js} +1 -1
  3. package/dist/{index-BvI3oZGL.js → index-HW5stxcy.js} +1 -1
  4. package/dist/index.min.css +1 -1
  5. package/dist/index.system.min.js +1 -1
  6. package/dist/{xlsx-util-XDKOLzzW.js → xlsx-util-BlkeQIMu.js} +1 -1
  7. package/es/common/action-toolbar/action-toolbar.mjs +6 -3
  8. package/es/common/control-navigation/control-navigation.css +1 -0
  9. package/es/common/control-navigation/control-navigation.d.ts +32 -0
  10. package/es/common/control-navigation/control-navigation.mjs +116 -0
  11. package/es/common/control-navigation/provider/calendar-navigation.provider.d.ts +17 -0
  12. package/es/common/control-navigation/provider/calendar-navigation.provider.mjs +55 -0
  13. package/es/common/control-navigation/provider/index.d.ts +10 -0
  14. package/es/common/control-navigation/provider/index.mjs +17 -0
  15. package/es/common/control-navigation/provider/navigation-base.provider.d.ts +84 -0
  16. package/es/common/control-navigation/provider/navigation-base.provider.mjs +142 -0
  17. package/es/common/control-navigation/provider/tree-navigation.provider.d.ts +30 -0
  18. package/es/common/control-navigation/provider/tree-navigation.provider.mjs +81 -0
  19. package/es/common/custom-theme/custom-theme-model.mjs +5 -13
  20. package/es/common/gantt-setting/gantt-setting.css +1 -0
  21. package/es/common/gantt-setting/gantt-setting.d.ts +53 -0
  22. package/es/common/gantt-setting/gantt-setting.mjs +217 -0
  23. package/es/common/grid-setting/grid-setting.css +1 -1
  24. package/es/common/grid-setting/grid-setting.d.ts +2 -1
  25. package/es/common/grid-setting/grid-setting.mjs +20 -4
  26. package/es/common/index.mjs +6 -0
  27. package/es/common/nav-split/nav-split.css +1 -0
  28. package/es/common/nav-split/nav-split.d.ts +57 -0
  29. package/es/common/nav-split/nav-split.mjs +209 -0
  30. package/es/common/pql-editor/utils/index.mjs +30 -40
  31. package/es/common/split/split.css +1 -1
  32. package/es/control/app-menu/app-menu.css +1 -1
  33. package/es/control/app-menu/app-menu.d.ts +3 -0
  34. package/es/control/app-menu/app-menu.mjs +54 -16
  35. package/es/control/app-menu/custom-menu-design/custom-menu-design.mjs +11 -3
  36. package/es/control/app-menu/index.d.ts +3 -0
  37. package/es/control/calendar/calendar.css +1 -1
  38. package/es/control/calendar/calendar.d.ts +12 -1
  39. package/es/control/calendar/calendar.mjs +42 -10
  40. package/es/control/calendar/index.d.ts +12 -1
  41. package/es/control/dashboard/custom-dashboard-container/custom-dashboard-container.d.ts +3 -0
  42. package/es/control/dashboard/portlet/filter-portlet/filter-portlet-design/filter-portlet-design.mjs +2 -1
  43. package/es/control/data-view/data-view.css +1 -1
  44. package/es/control/data-view/data-view.d.ts +1 -0
  45. package/es/control/data-view/data-view.mjs +21 -3
  46. package/es/control/data-view/index.d.ts +1 -0
  47. package/es/control/drbar/drbar.controller.mjs +1 -1
  48. package/es/control/drtab/drtab-control.util.mjs +1 -1
  49. package/es/control/drtab/drtab.controller.d.ts +9 -1
  50. package/es/control/drtab/drtab.controller.mjs +26 -2
  51. package/es/control/drtab/drtab.css +1 -1
  52. package/es/control/drtab/drtab.d.ts +3 -1
  53. package/es/control/drtab/drtab.mjs +68 -9
  54. package/es/control/drtab/index.d.ts +3 -1
  55. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid/repeater-grid.d.ts +4 -0
  56. package/es/control/form/form-detail/form-tab-panel/form-tab-panel.css +1 -1
  57. package/es/control/form/form-detail/form-tab-panel/form-tab-panel.mjs +1 -1
  58. package/es/control/gantt/gantt.css +1 -1
  59. package/es/control/gantt/gantt.d.ts +2 -4
  60. package/es/control/gantt/gantt.mjs +82 -25
  61. package/es/control/gantt/index.d.ts +2 -4
  62. package/es/control/grid/grid/grid-control.util.mjs +2 -2
  63. package/es/control/grid/grid/grid.css +1 -1
  64. package/es/control/grid/grid/grid.mjs +75 -71
  65. package/es/control/list/index.d.ts +1 -0
  66. package/es/control/list/list.css +1 -1
  67. package/es/control/list/list.d.ts +1 -0
  68. package/es/control/list/list.mjs +23 -5
  69. package/es/control/map/map.d.ts +9 -0
  70. package/es/control/map/map.mjs +4 -0
  71. package/es/control/search-bar/search-groups/search-groups.mjs +2 -2
  72. package/es/control/toolbar/toolbar.mjs +3 -0
  73. package/es/control/tree/el-tree-util.d.ts +39 -1
  74. package/es/control/tree/el-tree-util.mjs +70 -2
  75. package/es/control/tree/index.d.ts +16 -14
  76. package/es/control/tree/tree.css +1 -1
  77. package/es/control/tree/tree.d.ts +16 -14
  78. package/es/control/tree/tree.mjs +60 -31
  79. package/es/editor/data-picker/ibiz-picker-embed-view/ibiz-picker-embed-view.css +1 -1
  80. package/es/editor/data-picker/ibiz-picker-embed-view/ibiz-picker-embed-view.d.ts +3 -8
  81. package/es/editor/data-picker/ibiz-picker-embed-view/ibiz-picker-embed-view.mjs +22 -23
  82. package/es/editor/data-picker/ibiz-picker-select-view/ibiz-picker-select-view.mjs +1 -0
  83. package/es/editor/date-range/ibiz-date-range-picker/ibiz-date-range-picker.mjs +3 -1
  84. package/es/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.css +1 -1
  85. package/es/locale/en/index.d.ts +17 -0
  86. package/es/locale/en/index.mjs +18 -1
  87. package/es/locale/zh-CN/index.d.ts +17 -0
  88. package/es/locale/zh-CN/index.mjs +18 -1
  89. package/es/panel-component/auth-userinfo/auth-userinfo.css +1 -1
  90. package/es/panel-component/index-actions/index-actions.css +1 -1
  91. package/es/panel-component/index.mjs +2 -1
  92. package/es/panel-component/nav-breadcrumb/nav-breadcrumb.controller.mjs +8 -31
  93. package/es/panel-component/nav-breadcrumb/nav-breadcrumb.service.d.ts +1 -1
  94. package/es/panel-component/nav-breadcrumb/nav-breadcrumb.service.mjs +1 -1
  95. package/es/panel-component/nav-pos-index/nav-pos-index.controller.mjs +7 -2
  96. package/es/panel-component/panel-app-title/index.mjs +4 -0
  97. package/es/panel-component/panel-app-title/panel-app-title.controller.mjs +8 -0
  98. package/es/panel-component/panel-app-title/panel-app-title.css +1 -1
  99. package/es/panel-component/panel-app-title/panel-app-title.mjs +112 -108
  100. package/es/panel-component/panel-index-view-search/panel-index-view-search.css +1 -1
  101. package/es/util/fullscreen/fullscreen-util.mjs +1 -1
  102. package/es/util/notification-util/notification-util.d.ts +10 -1
  103. package/es/util/notification-util/notification-util.mjs +36 -0
  104. package/es/util/notification-util/upload-manager/file-type.d.ts +8 -0
  105. package/es/util/notification-util/upload-manager/file-type.mjs +207 -0
  106. package/es/util/notification-util/upload-manager/upload-manager.css +1 -0
  107. package/es/util/notification-util/upload-manager/upload-manager.d.ts +64 -0
  108. package/es/util/notification-util/upload-manager/upload-manager.mjs +159 -0
  109. package/es/util/pagination/use-pagination.mjs +5 -4
  110. package/es/view-engine/tab-exp-view.engine.d.ts +9 -0
  111. package/es/view-engine/tab-exp-view.engine.mjs +20 -1
  112. package/lib/common/action-toolbar/action-toolbar.cjs +6 -3
  113. package/lib/common/control-navigation/control-navigation.cjs +118 -0
  114. package/lib/common/control-navigation/control-navigation.css +1 -0
  115. package/lib/common/control-navigation/provider/calendar-navigation.provider.cjs +57 -0
  116. package/lib/common/control-navigation/provider/index.cjs +19 -0
  117. package/lib/common/control-navigation/provider/navigation-base.provider.cjs +144 -0
  118. package/lib/common/control-navigation/provider/tree-navigation.provider.cjs +83 -0
  119. package/lib/common/custom-theme/custom-theme-model.cjs +5 -13
  120. package/lib/common/gantt-setting/gantt-setting.cjs +219 -0
  121. package/lib/common/gantt-setting/gantt-setting.css +1 -0
  122. package/lib/common/grid-setting/grid-setting.cjs +20 -4
  123. package/lib/common/grid-setting/grid-setting.css +1 -1
  124. package/lib/common/index.cjs +6 -0
  125. package/lib/common/nav-split/nav-split.cjs +211 -0
  126. package/lib/common/nav-split/nav-split.css +1 -0
  127. package/lib/common/pql-editor/utils/index.cjs +30 -40
  128. package/lib/common/split/split.css +1 -1
  129. package/lib/control/app-menu/app-menu.cjs +52 -14
  130. package/lib/control/app-menu/app-menu.css +1 -1
  131. package/lib/control/app-menu/custom-menu-design/custom-menu-design.cjs +10 -2
  132. package/lib/control/calendar/calendar.cjs +42 -10
  133. package/lib/control/calendar/calendar.css +1 -1
  134. package/lib/control/dashboard/portlet/filter-portlet/filter-portlet-design/filter-portlet-design.cjs +2 -1
  135. package/lib/control/data-view/data-view.cjs +21 -3
  136. package/lib/control/data-view/data-view.css +1 -1
  137. package/lib/control/drbar/drbar.controller.cjs +1 -1
  138. package/lib/control/drtab/drtab-control.util.cjs +1 -1
  139. package/lib/control/drtab/drtab.cjs +67 -8
  140. package/lib/control/drtab/drtab.controller.cjs +26 -2
  141. package/lib/control/drtab/drtab.css +1 -1
  142. package/lib/control/form/form-detail/form-tab-panel/form-tab-panel.cjs +1 -1
  143. package/lib/control/form/form-detail/form-tab-panel/form-tab-panel.css +1 -1
  144. package/lib/control/gantt/gantt.cjs +80 -23
  145. package/lib/control/gantt/gantt.css +1 -1
  146. package/lib/control/grid/grid/grid-control.util.cjs +2 -2
  147. package/lib/control/grid/grid/grid.cjs +75 -71
  148. package/lib/control/grid/grid/grid.css +1 -1
  149. package/lib/control/list/list.cjs +23 -5
  150. package/lib/control/list/list.css +1 -1
  151. package/lib/control/map/map.cjs +4 -0
  152. package/lib/control/search-bar/search-groups/search-groups.cjs +2 -2
  153. package/lib/control/toolbar/toolbar.cjs +3 -0
  154. package/lib/control/tree/el-tree-util.cjs +70 -0
  155. package/lib/control/tree/tree.cjs +58 -29
  156. package/lib/control/tree/tree.css +1 -1
  157. package/lib/editor/data-picker/ibiz-picker-embed-view/ibiz-picker-embed-view.cjs +21 -22
  158. package/lib/editor/data-picker/ibiz-picker-embed-view/ibiz-picker-embed-view.css +1 -1
  159. package/lib/editor/data-picker/ibiz-picker-select-view/ibiz-picker-select-view.cjs +1 -0
  160. package/lib/editor/date-range/ibiz-date-range-picker/ibiz-date-range-picker.cjs +3 -1
  161. package/lib/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.css +1 -1
  162. package/lib/locale/en/index.cjs +18 -1
  163. package/lib/locale/zh-CN/index.cjs +18 -1
  164. package/lib/panel-component/auth-userinfo/auth-userinfo.css +1 -1
  165. package/lib/panel-component/index-actions/index-actions.css +1 -1
  166. package/lib/panel-component/index.cjs +1 -0
  167. package/lib/panel-component/nav-breadcrumb/nav-breadcrumb.controller.cjs +7 -30
  168. package/lib/panel-component/nav-breadcrumb/nav-breadcrumb.service.cjs +1 -1
  169. package/lib/panel-component/nav-pos-index/nav-pos-index.controller.cjs +7 -2
  170. package/lib/panel-component/panel-app-title/index.cjs +4 -0
  171. package/lib/panel-component/panel-app-title/panel-app-title.cjs +112 -108
  172. package/lib/panel-component/panel-app-title/panel-app-title.controller.cjs +8 -0
  173. package/lib/panel-component/panel-app-title/panel-app-title.css +1 -1
  174. package/lib/panel-component/panel-index-view-search/panel-index-view-search.css +1 -1
  175. package/lib/util/fullscreen/fullscreen-util.cjs +1 -1
  176. package/lib/util/notification-util/notification-util.cjs +36 -0
  177. package/lib/util/notification-util/upload-manager/file-type.cjs +209 -0
  178. package/lib/util/notification-util/upload-manager/upload-manager.cjs +161 -0
  179. package/lib/util/notification-util/upload-manager/upload-manager.css +1 -0
  180. package/lib/util/pagination/use-pagination.cjs +5 -4
  181. package/lib/view-engine/tab-exp-view.engine.cjs +19 -0
  182. package/package.json +10 -10
  183. package/dist/index-VQ3FT6ih.js +0 -4
  184. /package/es/node_modules/.pnpm/{@ibiz-template_core@0.7.35-alpha.1_axios@1.7.7_lodash-es@4.17.21_qs@6.13.0_qx-util@0.4.8_ramda@0.29.1 → @ibiz-template_core@0.7.38-alpha.16_axios@1.7.7_lodash-es@4.17.21_qs@6.13.0_qx-util@0.4.8_ramda@0.29.1}/node_modules/@ibiz-template/core/out/utils/namespace/namespace.mjs +0 -0
  185. /package/lib/node_modules/.pnpm/{@ibiz-template_core@0.7.35-alpha.1_axios@1.7.7_lodash-es@4.17.21_qs@6.13.0_qx-util@0.4.8_ramda@0.29.1 → @ibiz-template_core@0.7.38-alpha.16_axios@1.7.7_lodash-es@4.17.21_qs@6.13.0_qx-util@0.4.8_ramda@0.29.1}/node_modules/@ibiz-template/core/out/utils/namespace/namespace.cjs +0 -0
@@ -1,7 +1,28 @@
1
- import { ITreeController, ITreeNodeData } from '@ibiz-template/runtime';
1
+ import { IControlProvider, ITreeController, ITreeNodeData, TreeController } from '@ibiz-template/runtime';
2
+ import { IDETree } from '@ibiz/model-core';
2
3
  import { ElTree } from 'element-plus';
3
4
  import { NodeDropType } from 'element-plus/es/components/tree/src/tree.type';
4
5
  import { Ref } from 'vue';
6
+ /**
7
+ * 树props接口
8
+ *
9
+ * @export
10
+ * @interface IGridProps
11
+ */
12
+ export interface ITreeProps {
13
+ modelData: IDETree;
14
+ context: IContext;
15
+ params: IParams;
16
+ provider?: IControlProvider;
17
+ mdctrlActiveMode?: number;
18
+ singleSelect?: boolean;
19
+ navigational?: boolean;
20
+ defaultExpandedKeys?: string[];
21
+ checkStrictly?: boolean;
22
+ isSimple?: boolean;
23
+ data?: Array<ITreeNodeData>;
24
+ loadDefault: boolean;
25
+ }
5
26
  /**
6
27
  * 根据id查找树节点数据对象
7
28
  * @author lxm
@@ -918,3 +939,20 @@ export declare function useElTreeUtil(treeRef: Ref<InstanceType<typeof ElTree> |
918
939
  * @return {*} {('inner' | 'prev' | 'next')}
919
940
  */
920
941
  export declare function formatNodeDropType(dropType: NodeDropType): 'inner' | 'prev' | 'next';
942
+ /**
943
+ * 初始化树数据
944
+ *
945
+ * @export
946
+ * @param {TreeController} c
947
+ * @param {ITreeProps} props
948
+ */
949
+ export declare function useAppTreeBase(c: TreeController, props: ITreeProps): void;
950
+ /**
951
+ * 根据关系获取当前项的子节点
952
+ *
953
+ * @export
954
+ * @param {TreeController} c
955
+ * @param {IData} modelData
956
+ * @param {IData} curItem
957
+ */
958
+ export declare function findChildItems(c: TreeController, modelData: IData, curItem: IData): IData[];
@@ -1,5 +1,7 @@
1
1
  import { RuntimeError } from '@ibiz-template/core';
2
- import { debounce } from 'lodash-es';
2
+ import { createUUID } from 'qx-util';
3
+ import { debounce, cloneDeep } from 'lodash-es';
4
+ import { watch } from 'vue';
3
5
 
4
6
  "use strict";
5
7
  function findNodeData(key, c) {
@@ -71,5 +73,71 @@ function formatNodeDropType(dropType) {
71
73
  );
72
74
  }
73
75
  }
76
+ function useAppTreeBase(c, props) {
77
+ if (props.defaultExpandedKeys) {
78
+ c.state.defaultExpandedKeys = props.defaultExpandedKeys;
79
+ }
80
+ const initSimpleData = () => {
81
+ if (!props.data) {
82
+ return;
83
+ }
84
+ const root = props.data.find((item) => {
85
+ return item.isRoot === true;
86
+ });
87
+ if (root) {
88
+ c.state.rootNodes = props.data;
89
+ c.state.items = props.data;
90
+ }
91
+ };
92
+ c.evt.on("onCreated", async () => {
93
+ if (props.isSimple) {
94
+ initSimpleData();
95
+ c.state.isLoaded = true;
96
+ }
97
+ });
98
+ watch(
99
+ () => props.data,
100
+ () => {
101
+ if (props.isSimple) {
102
+ initSimpleData();
103
+ }
104
+ },
105
+ {
106
+ deep: true
107
+ }
108
+ );
109
+ }
110
+ function findChildItems(c, modelData, curItem) {
111
+ const { detreeNodeRSs } = modelData;
112
+ const children = [];
113
+ if (!detreeNodeRSs || detreeNodeRSs.length === 0) {
114
+ return children;
115
+ }
116
+ const rss = detreeNodeRSs.filter((_rss) => {
117
+ var _a;
118
+ const temp = c.state.items.find((_item) => {
119
+ return _item._uuid === curItem.data._uuid;
120
+ });
121
+ if (temp) {
122
+ return _rss.parentDETreeNodeId === ((_a = temp._nodeId) == null ? void 0 : _a.toLowerCase());
123
+ }
124
+ return false;
125
+ });
126
+ rss.sort((a, b) => {
127
+ return a.ordervalue - b.ordervalue;
128
+ });
129
+ rss.forEach((_rss) => {
130
+ const child = c.state.items.find((_item) => {
131
+ var _a;
132
+ return ((_a = _item._nodeId) == null ? void 0 : _a.toLowerCase()) === _rss.childDETreeNodeId;
133
+ });
134
+ if (child) {
135
+ const temp = cloneDeep(child);
136
+ temp._id = createUUID();
137
+ children.push(temp);
138
+ }
139
+ });
140
+ return children;
141
+ }
74
142
 
75
- export { findNodeData, formatNodeDropType, useElTreeUtil };
143
+ export { findChildItems, findNodeData, formatNodeDropType, useAppTreeBase, useElTreeUtil };
@@ -43,10 +43,10 @@ export declare const IBizTreeControl: import("@ibiz-template/vue3-util").TypeWit
43
43
  };
44
44
  data: {
45
45
  type: {
46
- (arrayLength: number): IData[];
47
- (...items: IData[]): IData[];
48
- new (arrayLength: number): IData[];
49
- new (...items: IData[]): IData[];
46
+ (arrayLength: number): import("@ibiz-template/runtime").ITreeNodeData[];
47
+ (...items: import("@ibiz-template/runtime").ITreeNodeData[]): import("@ibiz-template/runtime").ITreeNodeData[];
48
+ new (arrayLength: number): import("@ibiz-template/runtime").ITreeNodeData[];
49
+ new (...items: import("@ibiz-template/runtime").ITreeNodeData[]): import("@ibiz-template/runtime").ITreeNodeData[];
50
50
  isArray(arg: any): arg is any[];
51
51
  readonly prototype: any[];
52
52
  from<T>(arrayLike: ArrayLike<T>): T[];
@@ -56,7 +56,7 @@ export declare const IBizTreeControl: import("@ibiz-template/vue3-util").TypeWit
56
56
  of<T_4>(...items: T_4[]): T_4[];
57
57
  readonly [Symbol.species]: ArrayConstructor;
58
58
  };
59
- default: () => never[];
59
+ required: false;
60
60
  };
61
61
  }, {
62
62
  c: import("@ibiz-template/runtime").TreeController<import("@ibiz/model-core").IDETree, import("@ibiz-template/runtime").ITreeState, import("@ibiz-template/runtime").ITreeEvent>;
@@ -965,7 +965,7 @@ export declare const IBizTreeControl: import("@ibiz-template/vue3-util").TypeWit
965
965
  onCheck: (nodeData: import("@ibiz-template/runtime").ITreeNodeData, opts: {
966
966
  checkedNodes: import("@ibiz-template/runtime").ITreeNodeData[];
967
967
  }) => void;
968
- onNodeClick: (nodeData: import("@ibiz-template/runtime").ITreeNodeData, evt: MouseEvent) => void;
968
+ onNodeClick: (nodeData: import("@ibiz-template/runtime").ITreeNodeData, data: IData, evt: MouseEvent) => void;
969
969
  onNodeDbClick: (nodeData: import("@ibiz-template/runtime").ITreeNodeData, evt: MouseEvent) => void;
970
970
  onNodeContextmenu: (nodeData: import("@ibiz-template/runtime").ITreeNodeData, evt: MouseEvent) => Promise<void>;
971
971
  loadData: (item: IData, callback: (nodes: IData[]) => void) => Promise<void>;
@@ -976,8 +976,9 @@ export declare const IBizTreeControl: import("@ibiz-template/vue3-util").TypeWit
976
976
  allowDrop: (draggingNode: IData, dropNode: IData, type: import("element-plus/es/components/tree/src/tree.type").AllowDropType) => boolean;
977
977
  allowDrag: (draggingNode: IData) => boolean;
978
978
  handleDrop: (draggingNode: IData, dropNode: IData, dropType: import("element-plus/es/components/tree/src/tree.type").NodeDropType) => void;
979
+ onShowNavView: () => void;
979
980
  onNodeTextEditBlur: () => Promise<void>;
980
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
981
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "nodeClick"[], "nodeClick", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
981
982
  modelData: {
982
983
  type: import("vue").PropType<import("@ibiz/model-core").IDETree>;
983
984
  required: true;
@@ -1022,10 +1023,10 @@ export declare const IBizTreeControl: import("@ibiz-template/vue3-util").TypeWit
1022
1023
  };
1023
1024
  data: {
1024
1025
  type: {
1025
- (arrayLength: number): IData[];
1026
- (...items: IData[]): IData[];
1027
- new (arrayLength: number): IData[];
1028
- new (...items: IData[]): IData[];
1026
+ (arrayLength: number): import("@ibiz-template/runtime").ITreeNodeData[];
1027
+ (...items: import("@ibiz-template/runtime").ITreeNodeData[]): import("@ibiz-template/runtime").ITreeNodeData[];
1028
+ new (arrayLength: number): import("@ibiz-template/runtime").ITreeNodeData[];
1029
+ new (...items: import("@ibiz-template/runtime").ITreeNodeData[]): import("@ibiz-template/runtime").ITreeNodeData[];
1029
1030
  isArray(arg: any): arg is any[];
1030
1031
  readonly prototype: any[];
1031
1032
  from<T>(arrayLike: ArrayLike<T>): T[];
@@ -1035,10 +1036,11 @@ export declare const IBizTreeControl: import("@ibiz-template/vue3-util").TypeWit
1035
1036
  of<T_4>(...items: T_4[]): T_4[];
1036
1037
  readonly [Symbol.species]: ArrayConstructor;
1037
1038
  };
1038
- default: () => never[];
1039
+ required: false;
1039
1040
  };
1040
- }>>, {
1041
- data: IData[];
1041
+ }>> & {
1042
+ onNodeClick?: ((...args: any[]) => any) | undefined;
1043
+ }, {
1042
1044
  params: IParams;
1043
1045
  mdctrlActiveMode: number;
1044
1046
  singleSelect: boolean;
@@ -1 +1 @@
1
- .ibiz-control-treeview{--ibiz-control-treeview-text-color:var(--ibiz-color-text-0);--ibiz-control-treeview-bg-color:transparent;--ibiz-control-treeview-disabled-color:var(--ibiz-color-disabled-text);--ibiz-control-treeview-padding:var(--ibiz-spacing-tight) 0;--ibiz-control-treeview-row-hover-color:var(--ibiz-color-text-0);--ibiz-control-treeview-row-hover-bg-color:var(--ibiz-color-fill-0);--ibiz-control-treeview-row-select-color:var(--ibiz-color-text-0);--ibiz-control-treeview-row-select-bg-color:var(--ibiz-color-primary-light-default);--ibiz-control-treeview-font-size:var(--ibiz-font-size-regular);--ibiz-control-treeview-font-weight:var(--ibiz-font-weight-regular);--ibiz-control-treeview-node-icon-height:var(--ibiz-spacing-base);--ibiz-control-treeview-node-icon-width:var(--ibiz-spacing-base);--ibiz-control-treeview-node-icon-margin-right:var(--ibiz-spacing-tight);--ibiz-control-treeview-node-height:26px;--ibiz-control-treeview-context-menu-width:30px;--ibiz-control-treeview-context-menu-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-none);--ibiz-control-treeview-context-menu-item-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base-loose);--ibiz-control-treeview-context-menu-item-height:40px;--ibiz-control-treeview-context-menu-border-radius:var(--ibiz-spacing-none);--ibiz-control-treeview-context-menu-bg-color:var(--ibiz-color-bg-3);--ibiz-control-treeview-context-menu-hover-color:var(--ibiz-color-fill-0);--ibiz-control-treeview-context-menu-text-color:var(--ibiz-color-text-2);--ibiz-control-treeview-quick-search-padding:0 var(--ibiz-spacing-base) var(--ibiz-spacing-tight);--ibiz-control-treeview-tree-padding:0 var(--ibiz-spacing-base);height:100%;padding:var(--ibiz-control-treeview-padding)}.ibiz-control-treeview-node{display:flex;flex-grow:1;flex-shrink:1;align-items:center;min-width:1px;height:100%}.ibiz-control-treeview-node__icon{display:flex;align-items:center;width:var(--ibiz-control-treeview-node-icon-width);height:var(--ibiz-control-treeview-node-icon-height);margin-right:var(--ibiz-control-treeview-node-icon-margin-right)}.ibiz-control-treeview-node__icon>svg{width:100%;height:100%}.ibiz-control-treeview-node__label{flex-grow:1;flex-shrink:1;min-width:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ibiz-control-treeview-node:hover .ibiz-control-treeview-context-menu-trigger{display:inline-block}.ibiz-control-treeview-node--disabled{color:var(--ibiz-control-treeview-disabled-color);cursor:not-allowed}.ibiz-control-treeview-context-menu-trigger{display:none;flex-shrink:0;width:var(--ibiz-control-treeview-context-menu-width);text-align:center;cursor:pointer}.ibiz-control-treeview-context-menu-trigger__caption-icon{vertical-align:middle}.ibiz-control-treeview-context-menu{--ibiz-control-treeview-context-menu-width:30px;--ibiz-control-treeview-context-menu-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-none);--ibiz-control-treeview-context-menu-item-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base-loose);--ibiz-control-treeview-context-menu-item-height:40px;--ibiz-control-treeview-context-menu-border-radius:var(--ibiz-spacing-none);--ibiz-control-treeview-context-menu-bg-color:var(--ibiz-color-bg-3);--ibiz-control-treeview-context-menu-hover-color:var(--ibiz-color-fill-0);--ibiz-control-treeview-context-menu-text-color:var(--ibiz-color-text-2)}.ibiz-control-treeview-context-menu.mx-context-menu{padding:var(--ibiz-control-treeview-context-menu-padding);background-color:var(--ibiz-control-treeview-context-menu-bg-color);border-radius:var(--ibiz-control-treeview-context-menu-border-radius);--mx-menu-text:var(--ibiz-control-treeview-context-menu-text-color)}.ibiz-control-treeview-context-menu.mx-context-menu .mx-context-menu-item{height:var(--ibiz-control-treeview-context-menu-item-height);padding:var(--ibiz-control-treeview-context-menu-item-padding)}.ibiz-control-treeview-context-menu.mx-context-menu .mx-context-menu-item:hover{color:var(--ibiz-control-treeview-context-menu-text-color);background-color:var(--ibiz-control-treeview-context-menu-hover-color)}.ibiz-control-treeview-quick-search{padding:var(--ibiz-control-treeview-quick-search-padding)}.ibiz-control-treeview-tree.el-tree{--el-tree-text-color:var(--ibiz-control-treeview-text-color);--el-tree-node-content-height:var(--ibiz-control-treeview-node-height);padding:var(--ibiz-control-treeview-tree-padding);background-color:var(--ibiz-control-treeview-bg-color)}.ibiz-control-treeview-tree.el-tree .el-tree-node__content:hover{color:var(--ibiz-control-treeview-row-hover-color);background-color:var(--ibiz-control-treeview-row-hover-bg-color)}.ibiz-control-treeview-tree.el-tree.el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content{color:var(--ibiz-control-treeview-row-select-color);background-color:var(--ibiz-control-treeview-row-select-bg-color)}
1
+ .ibiz-control-treeview{--ibiz-control-treeview-text-color:var(--ibiz-color-text-0);--ibiz-control-treeview-bg-color:transparent;--ibiz-control-treeview-disabled-color:var(--ibiz-color-disabled-text);--ibiz-control-treeview-padding:var(--ibiz-spacing-tight) 0;--ibiz-control-treeview-row-hover-color:var(--ibiz-color-text-0);--ibiz-control-treeview-row-hover-bg-color:var(--ibiz-color-fill-0);--ibiz-control-treeview-row-select-color:var(--ibiz-color-text-0);--ibiz-control-treeview-row-select-bg-color:var(--ibiz-color-primary-light-default);--ibiz-control-treeview-font-size:var(--ibiz-font-size-regular);--ibiz-control-treeview-font-weight:var(--ibiz-font-weight-regular);--ibiz-control-treeview-node-icon-height:var(--ibiz-spacing-base);--ibiz-control-treeview-node-icon-width:var(--ibiz-spacing-base);--ibiz-control-treeview-node-icon-margin-right:var(--ibiz-spacing-tight);--ibiz-control-treeview-node-height:26px;--ibiz-control-treeview-context-menu-width:30px;--ibiz-control-treeview-context-menu-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-none);--ibiz-control-treeview-context-menu-item-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base-loose);--ibiz-control-treeview-context-menu-item-height:40px;--ibiz-control-treeview-context-menu-border-radius:var(--ibiz-spacing-none);--ibiz-control-treeview-context-menu-bg-color:var(--ibiz-color-bg-3);--ibiz-control-treeview-context-menu-hover-color:var(--ibiz-color-fill-0);--ibiz-control-treeview-context-menu-text-color:var(--ibiz-color-text-2);--ibiz-control-treeview-quick-search-padding:0 var(--ibiz-spacing-base) var(--ibiz-spacing-tight);--ibiz-control-treeview-tree-padding:0 var(--ibiz-spacing-base);position:relative;height:100%;padding:var(--ibiz-control-treeview-padding)}.ibiz-control-treeview__nav-icon{right:10px;top:14px;cursor:pointer;position:absolute;color:var(--ibiz-color-primary)}.ibiz-control-treeview-node{display:flex;flex-grow:1;flex-shrink:1;align-items:center;min-width:1px;height:100%}.ibiz-control-treeview-node__icon{display:flex;align-items:center;width:var(--ibiz-control-treeview-node-icon-width);height:var(--ibiz-control-treeview-node-icon-height);margin-right:var(--ibiz-control-treeview-node-icon-margin-right)}.ibiz-control-treeview-node__icon>svg{width:100%;height:100%}.ibiz-control-treeview-node__label{flex-grow:1;flex-shrink:1;min-width:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ibiz-control-treeview-node:hover .ibiz-control-treeview-context-menu-trigger{display:inline-block}.ibiz-control-treeview-node--disabled{color:var(--ibiz-control-treeview-disabled-color);cursor:not-allowed}.ibiz-control-treeview-context-menu-trigger{display:none;flex-shrink:0;width:var(--ibiz-control-treeview-context-menu-width);text-align:center;cursor:pointer}.ibiz-control-treeview-context-menu-trigger__caption-icon{vertical-align:middle}.ibiz-control-treeview-context-menu{--ibiz-control-treeview-context-menu-width:30px;--ibiz-control-treeview-context-menu-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-none);--ibiz-control-treeview-context-menu-item-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base-loose);--ibiz-control-treeview-context-menu-item-height:40px;--ibiz-control-treeview-context-menu-border-radius:var(--ibiz-spacing-none);--ibiz-control-treeview-context-menu-bg-color:var(--ibiz-color-bg-3);--ibiz-control-treeview-context-menu-hover-color:var(--ibiz-color-fill-0);--ibiz-control-treeview-context-menu-text-color:var(--ibiz-color-text-2)}.ibiz-control-treeview-context-menu.mx-context-menu{padding:var(--ibiz-control-treeview-context-menu-padding);background-color:var(--ibiz-control-treeview-context-menu-bg-color);border-radius:var(--ibiz-control-treeview-context-menu-border-radius);--mx-menu-text:var(--ibiz-control-treeview-context-menu-text-color)}.ibiz-control-treeview-context-menu.mx-context-menu .mx-context-menu-item{height:var(--ibiz-control-treeview-context-menu-item-height);padding:var(--ibiz-control-treeview-context-menu-item-padding)}.ibiz-control-treeview-context-menu.mx-context-menu .mx-context-menu-item:hover{color:var(--ibiz-control-treeview-context-menu-text-color);background-color:var(--ibiz-control-treeview-context-menu-hover-color)}.ibiz-control-treeview-quick-search{padding:var(--ibiz-control-treeview-quick-search-padding)}.ibiz-control-treeview-tree.el-tree{--el-tree-text-color:var(--ibiz-control-treeview-text-color);--el-tree-node-content-height:var(--ibiz-control-treeview-node-height);padding:var(--ibiz-control-treeview-tree-padding);background-color:var(--ibiz-control-treeview-bg-color)}.ibiz-control-treeview-tree.el-tree .el-tree-node__content:hover{color:var(--ibiz-control-treeview-row-hover-color);background-color:var(--ibiz-control-treeview-row-hover-bg-color)}.ibiz-control-treeview-tree.el-tree.el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content{color:var(--ibiz-control-treeview-row-select-color);background-color:var(--ibiz-control-treeview-row-select-bg-color)}
@@ -64,10 +64,10 @@ export declare const TreeControl: import("vue").DefineComponent<{
64
64
  };
65
65
  data: {
66
66
  type: {
67
- (arrayLength: number): IData[];
68
- (...items: IData[]): IData[];
69
- new (arrayLength: number): IData[];
70
- new (...items: IData[]): IData[];
67
+ (arrayLength: number): ITreeNodeData[];
68
+ (...items: ITreeNodeData[]): ITreeNodeData[];
69
+ new (arrayLength: number): ITreeNodeData[];
70
+ new (...items: ITreeNodeData[]): ITreeNodeData[];
71
71
  isArray(arg: any): arg is any[];
72
72
  readonly prototype: any[];
73
73
  from<T>(arrayLike: ArrayLike<T>): T[];
@@ -77,7 +77,7 @@ export declare const TreeControl: import("vue").DefineComponent<{
77
77
  of<T_4>(...items: T_4[]): T_4[];
78
78
  readonly [Symbol.species]: ArrayConstructor;
79
79
  };
80
- default: () => never[];
80
+ required: false;
81
81
  };
82
82
  }, {
83
83
  c: TreeController<IDETree, import("@ibiz-template/runtime").ITreeState, import("@ibiz-template/runtime").ITreeEvent>;
@@ -986,7 +986,7 @@ export declare const TreeControl: import("vue").DefineComponent<{
986
986
  onCheck: (nodeData: ITreeNodeData, opts: {
987
987
  checkedNodes: ITreeNodeData[];
988
988
  }) => void;
989
- onNodeClick: (nodeData: ITreeNodeData, evt: MouseEvent) => void;
989
+ onNodeClick: (nodeData: ITreeNodeData, data: IData, evt: MouseEvent) => void;
990
990
  onNodeDbClick: (nodeData: ITreeNodeData, evt: MouseEvent) => void;
991
991
  onNodeContextmenu: (nodeData: ITreeNodeData, evt: MouseEvent) => Promise<void>;
992
992
  loadData: (item: IData, callback: (nodes: IData[]) => void) => Promise<void>;
@@ -997,8 +997,9 @@ export declare const TreeControl: import("vue").DefineComponent<{
997
997
  allowDrop: (draggingNode: IData, dropNode: IData, type: AllowDropType) => boolean;
998
998
  allowDrag: (draggingNode: IData) => boolean;
999
999
  handleDrop: (draggingNode: IData, dropNode: IData, dropType: NodeDropType) => void;
1000
+ onShowNavView: () => void;
1000
1001
  onNodeTextEditBlur: () => Promise<void>;
1001
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
1002
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "nodeClick"[], "nodeClick", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
1002
1003
  modelData: {
1003
1004
  type: PropType<IDETree>;
1004
1005
  required: true;
@@ -1058,10 +1059,10 @@ export declare const TreeControl: import("vue").DefineComponent<{
1058
1059
  };
1059
1060
  data: {
1060
1061
  type: {
1061
- (arrayLength: number): IData[];
1062
- (...items: IData[]): IData[];
1063
- new (arrayLength: number): IData[];
1064
- new (...items: IData[]): IData[];
1062
+ (arrayLength: number): ITreeNodeData[];
1063
+ (...items: ITreeNodeData[]): ITreeNodeData[];
1064
+ new (arrayLength: number): ITreeNodeData[];
1065
+ new (...items: ITreeNodeData[]): ITreeNodeData[];
1065
1066
  isArray(arg: any): arg is any[];
1066
1067
  readonly prototype: any[];
1067
1068
  from<T>(arrayLike: ArrayLike<T>): T[];
@@ -1071,10 +1072,11 @@ export declare const TreeControl: import("vue").DefineComponent<{
1071
1072
  of<T_4>(...items: T_4[]): T_4[];
1072
1073
  readonly [Symbol.species]: ArrayConstructor;
1073
1074
  };
1074
- default: () => never[];
1075
+ required: false;
1075
1076
  };
1076
- }>>, {
1077
- data: IData[];
1077
+ }>> & {
1078
+ onNodeClick?: ((...args: any[]) => any) | undefined;
1079
+ }, {
1078
1080
  params: IParams;
1079
1081
  mdctrlActiveMode: number;
1080
1082
  singleSelect: boolean;
@@ -1,12 +1,12 @@
1
1
  import { isVNode, defineComponent, ref, reactive, onUnmounted, watch, computed, nextTick, resolveComponent, createVNode, onMounted, withDirectives, resolveDirective } from 'vue';
2
2
  import { useControlController, useNamespace } from '@ibiz-template/vue3-util';
3
3
  import { createUUID } from 'qx-util';
4
- import { debounce } from 'lodash-es';
4
+ import { cloneDeep, debounce } from 'lodash-es';
5
5
  import { TreeController, getControlPanel } 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 { findNodeData, useElTreeUtil, formatNodeDropType } from './el-tree-util.mjs';
9
+ import { useAppTreeBase, findNodeData, useElTreeUtil, findChildItems, formatNodeDropType } from './el-tree-util.mjs';
10
10
 
11
11
  "use strict";
12
12
  function _isSlot(s) {
@@ -74,11 +74,15 @@ const TreeControl = /* @__PURE__ */ defineComponent({
74
74
  },
75
75
  data: {
76
76
  type: Array,
77
- default: () => []
77
+ required: false
78
78
  }
79
79
  },
80
- setup(props) {
80
+ emits: ["nodeClick"],
81
+ setup(props, {
82
+ emit
83
+ }) {
81
84
  const c = useControlController((...args) => new TreeController(...args));
85
+ useAppTreeBase(c, props);
82
86
  const cascadeSelect = ref(false);
83
87
  const counterData = reactive({});
84
88
  const fn = (counter) => {
@@ -184,21 +188,19 @@ const TreeControl = /* @__PURE__ */ defineComponent({
184
188
  });
185
189
  const loadData = async (item, callback) => {
186
190
  if (props.isSimple) {
187
- let nodes2 = [];
191
+ let children = [];
188
192
  if (item.level === 0) {
189
- const tempNodes = props.data.find((_item) => {
193
+ const tempNodes = c.state.items.find((_item) => {
190
194
  return _item.isRoot;
191
195
  });
192
196
  if (tempNodes) {
193
- nodes2 = [tempNodes];
197
+ children = [tempNodes];
194
198
  }
195
199
  } else {
196
- nodes2 = props.data.filter((_item) => {
197
- return _item._pid.includes(item.data._uuid);
198
- });
200
+ children = findChildItems(c, props.modelData, item);
199
201
  }
200
- item._children = nodes2;
201
- callback(toElNodes(nodes2));
202
+ item._children = children;
203
+ callback(toElNodes(children));
202
204
  updateUI();
203
205
  return;
204
206
  }
@@ -248,9 +250,18 @@ const TreeControl = /* @__PURE__ */ defineComponent({
248
250
  const readonly = computed(() => {
249
251
  return !!(c.context.srfreadonly === true || c.context.srfreadonly === "true");
250
252
  });
251
- const onNodeClick = (nodeData, evt) => {
253
+ const onShowNavView = () => {
254
+ c.state.showNavView = !c.state.showNavView;
255
+ };
256
+ const onNodeClick = (nodeData, data, evt) => {
252
257
  var _a, _b;
253
258
  evt.stopPropagation();
259
+ if (c.runMode === "DESIGN") {
260
+ emit("nodeClick", {
261
+ nodeData,
262
+ evt
263
+ });
264
+ }
254
265
  if (nodeData._disableSelect)
255
266
  return;
256
267
  if (forbidClick) {
@@ -269,7 +280,11 @@ const TreeControl = /* @__PURE__ */ defineComponent({
269
280
  c.onExpandChange(nodeData, expanded);
270
281
  }
271
282
  }
272
- c.onTreeNodeClick(nodeData, evt);
283
+ if (props.isSimple) {
284
+ treeRef.value.setCurrentKey((data == null ? void 0 : data._id) || void 0);
285
+ } else {
286
+ c.onTreeNodeClick(nodeData, evt);
287
+ }
273
288
  forbidClick = true;
274
289
  setTimeout(() => {
275
290
  forbidClick = false;
@@ -434,20 +449,19 @@ const TreeControl = /* @__PURE__ */ defineComponent({
434
449
  }, null);
435
450
  };
436
451
  const updateNodeExpand = (data, expanded) => {
437
- let nodeData;
438
- if (props.isSimple) {
439
- nodeData = props.data.find((item) => {
440
- return item._uuid === data._uuid;
441
- });
442
- } else {
443
- nodeData = findNodeData(data._uuid, c);
444
- }
452
+ const nodeData = findNodeData(data._uuid, c);
445
453
  if (!nodeData) {
446
454
  throw new RuntimeError(ibiz.i18n.t("control.common.noFoundNode", {
447
455
  id: data._uuid
448
456
  }));
449
457
  }
450
- c.onExpandChange(nodeData, expanded);
458
+ if (props.isSimple) {
459
+ const tempData = cloneDeep(nodeData);
460
+ tempData._id = data._id;
461
+ c.onExpandChange(tempData, expanded);
462
+ } else {
463
+ c.onExpandChange(nodeData, expanded);
464
+ }
451
465
  };
452
466
  const debounceSearch = debounce(() => {
453
467
  c.load();
@@ -524,6 +538,7 @@ const TreeControl = /* @__PURE__ */ defineComponent({
524
538
  allowDrop,
525
539
  allowDrag,
526
540
  handleDrop,
541
+ onShowNavView,
527
542
  onNodeTextEditBlur
528
543
  };
529
544
  },
@@ -551,7 +566,7 @@ const TreeControl = /* @__PURE__ */ defineComponent({
551
566
  const key = this.c.controlPanel ? "tree" : "default";
552
567
  slots[key] = () => {
553
568
  if (this.c.state.isLoaded && this.treeRefreshKey) {
554
- return createVNode(resolveComponent("el-tree"), {
569
+ return [createVNode(resolveComponent("el-tree"), {
555
570
  "ref": "treeRef",
556
571
  "class": this.ns.b("tree"),
557
572
  "key": this.treeRefreshKey,
@@ -632,20 +647,34 @@ const TreeControl = /* @__PURE__ */ defineComponent({
632
647
  }
633
648
  return createVNode("div", {
634
649
  "onDblclick": (evt) => this.onNodeDbClick(nodeData, evt),
635
- "onClick": (evt) => this.onNodeClick(nodeData, evt),
650
+ "onClick": (evt) => this.onNodeClick(nodeData, data, evt),
636
651
  "onContextmenu": (evt) => this.onNodeContextmenu(nodeData, evt),
637
652
  "class": [this.ns.b("node"), nodeData._disableSelect ? this.ns.bm("node", "disabled") : "", (_b = nodeModel.sysCss) == null ? void 0 : _b.cssName]
638
653
  }, [content, this.renderCounter(nodeModel), this.renderContextMenu(nodeModel, nodeData)]);
639
654
  }
640
- });
655
+ }), this.c.state.enableNavView ? !this.c.state.showNavView ? createVNode("ion-icon", {
656
+ "class": this.ns.e("nav-icon"),
657
+ "title": ibiz.i18n.t("component.controlNavigation.showNav"),
658
+ "name": "eye-outline",
659
+ "onClick": this.onShowNavView
660
+ }, null) : createVNode("ion-icon", {
661
+ "class": this.ns.e("nav-icon"),
662
+ "title": ibiz.i18n.t("component.controlNavigation.hiddenNav"),
663
+ "name": "eye-off-outline",
664
+ "onClick": this.onShowNavView
665
+ }, null) : null];
641
666
  }
642
667
  };
643
- return withDirectives(createVNode(resolveComponent("iBizControlBase"), {
644
- "ref": "treeviewRef",
668
+ return createVNode(resolveComponent("iBizControlNavigation"), {
645
669
  "controller": this.c
646
- }, _isSlot(slots) ? slots : {
647
- default: () => [slots]
648
- }), [[resolveDirective("loading"), this.c.state.isLoading]]);
670
+ }, {
671
+ default: () => [withDirectives(createVNode(resolveComponent("iBizControlBase"), {
672
+ "ref": "treeviewRef",
673
+ "controller": this.c
674
+ }, _isSlot(slots) ? slots : {
675
+ default: () => [slots]
676
+ }), [[resolveDirective("loading"), this.c.state.isLoading]])]
677
+ });
649
678
  }
650
679
  });
651
680
 
@@ -1 +1 @@
1
- .ibiz-picker-embed-view--disabled{cursor:not-allowed}.ibiz-picker-embed-view--disabled *{pointer-events:none;cursor:not-allowed}.ibiz-picker-embed-view--disabled .el-tree-node__expand-icon{pointer-events:all;cursor:pointer}.ibiz-picker-embed-view .ibiz-picker-embed-view-value{height:var(--ibiz-form-item-line-height);line-height:var(--ibiz-form-item-line-height)}
1
+ .ibiz-picker-embed-view--disabled{cursor:not-allowed}.ibiz-picker-embed-view--disabled *{pointer-events:none;cursor:not-allowed}.ibiz-picker-embed-view--disabled .el-tree-node__expand-icon{pointer-events:all;cursor:pointer}.ibiz-picker-embed-view--show-value{height:calc(100% - var(--ibiz-form-item-line-height))}.ibiz-picker-embed-view .ibiz-picker-embed-view-view{height:100%}.ibiz-picker-embed-view .ibiz-picker-embed-view-value{height:var(--ibiz-form-item-line-height);line-height:var(--ibiz-form-item-line-height)}
@@ -26,22 +26,17 @@ export declare const IBizPickerEmbedView: import("vue").DefineComponent<{
26
26
  }, {
27
27
  ns: import("@ibiz-template/core").Namespace;
28
28
  c: PickerEditorController;
29
- context: import("vue").Ref<{
29
+ context: any;
30
+ params: import("vue").Ref<{
30
31
  [x: string]: any;
31
32
  [x: symbol]: any;
32
- srfsessionid: string;
33
- srfappid: string;
34
- srfsimple?: boolean | undefined;
35
- srfnavctrlid?: string | undefined;
36
33
  }>;
37
- params: import("vue").Ref<IParams>;
38
- onSelectionChange: (event: EventBase) => void;
39
34
  editorRef: import("vue").Ref<any>;
40
- pickupViewModel: import("vue").ComputedRef<import("@ibiz-template/runtime").IViewConfig | null>;
41
35
  singleSelect: import("vue").Ref<boolean>;
42
36
  checkStrictly: import("vue").Ref<boolean>;
43
37
  isShowText: import("vue").Ref<boolean>;
44
38
  selectedData: import("vue").Ref<IData[]>;
39
+ onSelectionChange: (event: EventBase) => void;
45
40
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
46
41
  change: (_value: unknown, _name?: string | undefined) => boolean;
47
42
  blur: (_event?: IData | undefined) => boolean;
@@ -1,7 +1,6 @@
1
- import { defineComponent, ref, watch, computed, resolveComponent, createVNode, h, createTextVNode } from 'vue';
1
+ import { defineComponent, ref, watch, resolveComponent, createVNode, h, createTextVNode } from 'vue';
2
2
  import { getDataPickerProps, getEditorEmits, useNamespace, useFocusAndBlur } from '@ibiz-template/vue3-util';
3
3
  import './ibiz-picker-embed-view.css';
4
- import { clone } from 'ramda';
5
4
 
6
5
  "use strict";
7
6
  const IBizPickerEmbedView = /* @__PURE__ */ defineComponent({
@@ -13,21 +12,26 @@ const IBizPickerEmbedView = /* @__PURE__ */ defineComponent({
13
12
  }) {
14
13
  const ns = useNamespace("picker-embed-view");
15
14
  const c = props.controller;
16
- const context = ref(clone(c.context));
17
- const params = ref(clone(c.params));
18
- const setViewParam = () => {
15
+ const context = ref(c.context.clone());
16
+ const params = ref({
17
+ ...c.params
18
+ });
19
+ watch(() => props.data, (newVal) => {
19
20
  const {
20
21
  context: _context,
21
22
  params: _params
22
- } = c.handlePublicParams(props.data, c.context, c.params);
23
- Object.assign(context.value, _context);
24
- Object.assign(params.value, _params);
25
- };
26
- setViewParam();
27
- watch(() => props.data, (newVal, oldVal) => {
28
- if (newVal !== oldVal) {
29
- setViewParam();
23
+ } = c.handlePublicParams(newVal, c.context, c.params);
24
+ const newContext = Object.assign(c.context.clone(), _context);
25
+ const newParams = Object.assign({
26
+ ...c.params
27
+ }, _params);
28
+ if (JSON.stringify(context.value) !== JSON.stringify(newContext) || JSON.stringify(params.value) !== JSON.stringify(newParams)) {
29
+ context.value = newContext;
30
+ params.value = newParams;
30
31
  }
32
+ }, {
33
+ deep: true,
34
+ immediate: true
31
35
  });
32
36
  const editorParams = c.model.editorParams;
33
37
  const singleSelect = ref(true);
@@ -87,35 +91,30 @@ const IBizPickerEmbedView = /* @__PURE__ */ defineComponent({
87
91
  const {
88
92
  componentRef: editorRef
89
93
  } = useFocusAndBlur(() => emit("focus"), () => emit("blur"));
90
- const pickupViewModel = computed(() => {
91
- return c.pickupView;
92
- });
93
94
  return {
94
95
  ns,
95
96
  c,
96
97
  context,
97
98
  params,
98
- onSelectionChange,
99
99
  editorRef,
100
- pickupViewModel,
101
100
  singleSelect,
102
101
  checkStrictly,
103
102
  isShowText,
104
- selectedData
103
+ selectedData,
104
+ onSelectionChange
105
105
  };
106
106
  },
107
107
  render() {
108
- var _a;
109
108
  const viewShell = resolveComponent("IBizViewShell");
110
109
  return createVNode("div", {
111
- "class": [this.ns.b(), this.disabled ? this.ns.m("disabled") : ""],
110
+ "class": [this.ns.b(), this.disabled ? this.ns.m("disabled") : "", this.isShowText ? this.ns.m("show-value") : ""],
112
111
  "ref": "editorRef"
113
- }, [this.pickupViewModel ? [createVNode("div", {
112
+ }, [this.c.model.pickupAppViewId ? [createVNode("div", {
114
113
  "class": this.ns.b("view")
115
114
  }, [h(viewShell, {
116
115
  context: this.context,
117
116
  params: this.params,
118
- viewId: (_a = this.c.pickupView) == null ? void 0 : _a.id,
117
+ viewId: this.c.model.pickupAppViewId,
119
118
  state: {
120
119
  singleSelect: this.singleSelect,
121
120
  checkStrictly: this.checkStrictly,
@@ -412,6 +412,7 @@ const IBizPickerSelectView = /* @__PURE__ */ defineComponent({
412
412
  const editContent = createVNode(resolveComponent("el-dropdown"), {
413
413
  "ref": "editorRef",
414
414
  "trigger": "click",
415
+ "disabled": this.disabled || this.readonly,
415
416
  "class": this.ns.b("select"),
416
417
  "popper-class": this.ns.b("popper"),
417
418
  "onVisibleChange": this.onVisibleChange,
@@ -1,6 +1,7 @@
1
1
  import { defineComponent, ref, computed, watch, createVNode, resolveComponent, mergeProps } from 'vue';
2
2
  import { getDateRangeProps, getEditorEmits, useNamespace } from '@ibiz-template/vue3-util';
3
3
  import { clone } from 'ramda';
4
+ import dayjs from 'dayjs';
4
5
  import './ibiz-date-range-picker.css';
5
6
 
6
7
  "use strict";
@@ -79,7 +80,8 @@ const IBizDateRangePicker = /* @__PURE__ */ defineComponent({
79
80
  }
80
81
  });
81
82
  } else if (props.value && typeof props.value === "string") {
82
- value = props.value.split(valueSeparator);
83
+ const dates = props.value.split(valueSeparator);
84
+ value = dates.every((date) => dayjs(date).isValid()) ? dates : [];
83
85
  }
84
86
  return value;
85
87
  },