@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.
- package/dist/index-3cxXHoLs.js +4 -0
- package/dist/{index-B_Fo_3Rt.js → index-CiEIUSX9.js} +1 -1
- package/dist/{index-BvI3oZGL.js → index-HW5stxcy.js} +1 -1
- package/dist/index.min.css +1 -1
- package/dist/index.system.min.js +1 -1
- package/dist/{xlsx-util-XDKOLzzW.js → xlsx-util-BlkeQIMu.js} +1 -1
- package/es/common/action-toolbar/action-toolbar.mjs +6 -3
- package/es/common/control-navigation/control-navigation.css +1 -0
- package/es/common/control-navigation/control-navigation.d.ts +32 -0
- package/es/common/control-navigation/control-navigation.mjs +116 -0
- package/es/common/control-navigation/provider/calendar-navigation.provider.d.ts +17 -0
- package/es/common/control-navigation/provider/calendar-navigation.provider.mjs +55 -0
- package/es/common/control-navigation/provider/index.d.ts +10 -0
- package/es/common/control-navigation/provider/index.mjs +17 -0
- package/es/common/control-navigation/provider/navigation-base.provider.d.ts +84 -0
- package/es/common/control-navigation/provider/navigation-base.provider.mjs +142 -0
- package/es/common/control-navigation/provider/tree-navigation.provider.d.ts +30 -0
- package/es/common/control-navigation/provider/tree-navigation.provider.mjs +81 -0
- package/es/common/custom-theme/custom-theme-model.mjs +5 -13
- package/es/common/gantt-setting/gantt-setting.css +1 -0
- package/es/common/gantt-setting/gantt-setting.d.ts +53 -0
- package/es/common/gantt-setting/gantt-setting.mjs +217 -0
- package/es/common/grid-setting/grid-setting.css +1 -1
- package/es/common/grid-setting/grid-setting.d.ts +2 -1
- package/es/common/grid-setting/grid-setting.mjs +20 -4
- package/es/common/index.mjs +6 -0
- package/es/common/nav-split/nav-split.css +1 -0
- package/es/common/nav-split/nav-split.d.ts +57 -0
- package/es/common/nav-split/nav-split.mjs +209 -0
- package/es/common/pql-editor/utils/index.mjs +30 -40
- package/es/common/split/split.css +1 -1
- package/es/control/app-menu/app-menu.css +1 -1
- package/es/control/app-menu/app-menu.d.ts +3 -0
- package/es/control/app-menu/app-menu.mjs +54 -16
- package/es/control/app-menu/custom-menu-design/custom-menu-design.mjs +11 -3
- package/es/control/app-menu/index.d.ts +3 -0
- package/es/control/calendar/calendar.css +1 -1
- package/es/control/calendar/calendar.d.ts +12 -1
- package/es/control/calendar/calendar.mjs +42 -10
- package/es/control/calendar/index.d.ts +12 -1
- package/es/control/dashboard/custom-dashboard-container/custom-dashboard-container.d.ts +3 -0
- package/es/control/dashboard/portlet/filter-portlet/filter-portlet-design/filter-portlet-design.mjs +2 -1
- package/es/control/data-view/data-view.css +1 -1
- package/es/control/data-view/data-view.d.ts +1 -0
- package/es/control/data-view/data-view.mjs +21 -3
- package/es/control/data-view/index.d.ts +1 -0
- package/es/control/drbar/drbar.controller.mjs +1 -1
- package/es/control/drtab/drtab-control.util.mjs +1 -1
- package/es/control/drtab/drtab.controller.d.ts +9 -1
- package/es/control/drtab/drtab.controller.mjs +26 -2
- package/es/control/drtab/drtab.css +1 -1
- package/es/control/drtab/drtab.d.ts +3 -1
- package/es/control/drtab/drtab.mjs +68 -9
- package/es/control/drtab/index.d.ts +3 -1
- package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid/repeater-grid.d.ts +4 -0
- package/es/control/form/form-detail/form-tab-panel/form-tab-panel.css +1 -1
- package/es/control/form/form-detail/form-tab-panel/form-tab-panel.mjs +1 -1
- package/es/control/gantt/gantt.css +1 -1
- package/es/control/gantt/gantt.d.ts +2 -4
- package/es/control/gantt/gantt.mjs +82 -25
- package/es/control/gantt/index.d.ts +2 -4
- package/es/control/grid/grid/grid-control.util.mjs +2 -2
- package/es/control/grid/grid/grid.css +1 -1
- package/es/control/grid/grid/grid.mjs +75 -71
- package/es/control/list/index.d.ts +1 -0
- package/es/control/list/list.css +1 -1
- package/es/control/list/list.d.ts +1 -0
- package/es/control/list/list.mjs +23 -5
- package/es/control/map/map.d.ts +9 -0
- package/es/control/map/map.mjs +4 -0
- package/es/control/search-bar/search-groups/search-groups.mjs +2 -2
- package/es/control/toolbar/toolbar.mjs +3 -0
- package/es/control/tree/el-tree-util.d.ts +39 -1
- package/es/control/tree/el-tree-util.mjs +70 -2
- package/es/control/tree/index.d.ts +16 -14
- package/es/control/tree/tree.css +1 -1
- package/es/control/tree/tree.d.ts +16 -14
- package/es/control/tree/tree.mjs +60 -31
- package/es/editor/data-picker/ibiz-picker-embed-view/ibiz-picker-embed-view.css +1 -1
- package/es/editor/data-picker/ibiz-picker-embed-view/ibiz-picker-embed-view.d.ts +3 -8
- package/es/editor/data-picker/ibiz-picker-embed-view/ibiz-picker-embed-view.mjs +22 -23
- package/es/editor/data-picker/ibiz-picker-select-view/ibiz-picker-select-view.mjs +1 -0
- package/es/editor/date-range/ibiz-date-range-picker/ibiz-date-range-picker.mjs +3 -1
- package/es/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.css +1 -1
- package/es/locale/en/index.d.ts +17 -0
- package/es/locale/en/index.mjs +18 -1
- package/es/locale/zh-CN/index.d.ts +17 -0
- package/es/locale/zh-CN/index.mjs +18 -1
- package/es/panel-component/auth-userinfo/auth-userinfo.css +1 -1
- package/es/panel-component/index-actions/index-actions.css +1 -1
- package/es/panel-component/index.mjs +2 -1
- package/es/panel-component/nav-breadcrumb/nav-breadcrumb.controller.mjs +8 -31
- package/es/panel-component/nav-breadcrumb/nav-breadcrumb.service.d.ts +1 -1
- package/es/panel-component/nav-breadcrumb/nav-breadcrumb.service.mjs +1 -1
- package/es/panel-component/nav-pos-index/nav-pos-index.controller.mjs +7 -2
- package/es/panel-component/panel-app-title/index.mjs +4 -0
- package/es/panel-component/panel-app-title/panel-app-title.controller.mjs +8 -0
- package/es/panel-component/panel-app-title/panel-app-title.css +1 -1
- package/es/panel-component/panel-app-title/panel-app-title.mjs +112 -108
- package/es/panel-component/panel-index-view-search/panel-index-view-search.css +1 -1
- package/es/util/fullscreen/fullscreen-util.mjs +1 -1
- package/es/util/notification-util/notification-util.d.ts +10 -1
- package/es/util/notification-util/notification-util.mjs +36 -0
- package/es/util/notification-util/upload-manager/file-type.d.ts +8 -0
- package/es/util/notification-util/upload-manager/file-type.mjs +207 -0
- package/es/util/notification-util/upload-manager/upload-manager.css +1 -0
- package/es/util/notification-util/upload-manager/upload-manager.d.ts +64 -0
- package/es/util/notification-util/upload-manager/upload-manager.mjs +159 -0
- package/es/util/pagination/use-pagination.mjs +5 -4
- package/es/view-engine/tab-exp-view.engine.d.ts +9 -0
- package/es/view-engine/tab-exp-view.engine.mjs +20 -1
- package/lib/common/action-toolbar/action-toolbar.cjs +6 -3
- package/lib/common/control-navigation/control-navigation.cjs +118 -0
- package/lib/common/control-navigation/control-navigation.css +1 -0
- package/lib/common/control-navigation/provider/calendar-navigation.provider.cjs +57 -0
- package/lib/common/control-navigation/provider/index.cjs +19 -0
- package/lib/common/control-navigation/provider/navigation-base.provider.cjs +144 -0
- package/lib/common/control-navigation/provider/tree-navigation.provider.cjs +83 -0
- package/lib/common/custom-theme/custom-theme-model.cjs +5 -13
- package/lib/common/gantt-setting/gantt-setting.cjs +219 -0
- package/lib/common/gantt-setting/gantt-setting.css +1 -0
- package/lib/common/grid-setting/grid-setting.cjs +20 -4
- package/lib/common/grid-setting/grid-setting.css +1 -1
- package/lib/common/index.cjs +6 -0
- package/lib/common/nav-split/nav-split.cjs +211 -0
- package/lib/common/nav-split/nav-split.css +1 -0
- package/lib/common/pql-editor/utils/index.cjs +30 -40
- package/lib/common/split/split.css +1 -1
- package/lib/control/app-menu/app-menu.cjs +52 -14
- package/lib/control/app-menu/app-menu.css +1 -1
- package/lib/control/app-menu/custom-menu-design/custom-menu-design.cjs +10 -2
- package/lib/control/calendar/calendar.cjs +42 -10
- package/lib/control/calendar/calendar.css +1 -1
- package/lib/control/dashboard/portlet/filter-portlet/filter-portlet-design/filter-portlet-design.cjs +2 -1
- package/lib/control/data-view/data-view.cjs +21 -3
- package/lib/control/data-view/data-view.css +1 -1
- package/lib/control/drbar/drbar.controller.cjs +1 -1
- package/lib/control/drtab/drtab-control.util.cjs +1 -1
- package/lib/control/drtab/drtab.cjs +67 -8
- package/lib/control/drtab/drtab.controller.cjs +26 -2
- package/lib/control/drtab/drtab.css +1 -1
- package/lib/control/form/form-detail/form-tab-panel/form-tab-panel.cjs +1 -1
- package/lib/control/form/form-detail/form-tab-panel/form-tab-panel.css +1 -1
- package/lib/control/gantt/gantt.cjs +80 -23
- package/lib/control/gantt/gantt.css +1 -1
- package/lib/control/grid/grid/grid-control.util.cjs +2 -2
- package/lib/control/grid/grid/grid.cjs +75 -71
- package/lib/control/grid/grid/grid.css +1 -1
- package/lib/control/list/list.cjs +23 -5
- package/lib/control/list/list.css +1 -1
- package/lib/control/map/map.cjs +4 -0
- package/lib/control/search-bar/search-groups/search-groups.cjs +2 -2
- package/lib/control/toolbar/toolbar.cjs +3 -0
- package/lib/control/tree/el-tree-util.cjs +70 -0
- package/lib/control/tree/tree.cjs +58 -29
- package/lib/control/tree/tree.css +1 -1
- package/lib/editor/data-picker/ibiz-picker-embed-view/ibiz-picker-embed-view.cjs +21 -22
- package/lib/editor/data-picker/ibiz-picker-embed-view/ibiz-picker-embed-view.css +1 -1
- package/lib/editor/data-picker/ibiz-picker-select-view/ibiz-picker-select-view.cjs +1 -0
- package/lib/editor/date-range/ibiz-date-range-picker/ibiz-date-range-picker.cjs +3 -1
- package/lib/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.css +1 -1
- package/lib/locale/en/index.cjs +18 -1
- package/lib/locale/zh-CN/index.cjs +18 -1
- package/lib/panel-component/auth-userinfo/auth-userinfo.css +1 -1
- package/lib/panel-component/index-actions/index-actions.css +1 -1
- package/lib/panel-component/index.cjs +1 -0
- package/lib/panel-component/nav-breadcrumb/nav-breadcrumb.controller.cjs +7 -30
- package/lib/panel-component/nav-breadcrumb/nav-breadcrumb.service.cjs +1 -1
- package/lib/panel-component/nav-pos-index/nav-pos-index.controller.cjs +7 -2
- package/lib/panel-component/panel-app-title/index.cjs +4 -0
- package/lib/panel-component/panel-app-title/panel-app-title.cjs +112 -108
- package/lib/panel-component/panel-app-title/panel-app-title.controller.cjs +8 -0
- package/lib/panel-component/panel-app-title/panel-app-title.css +1 -1
- package/lib/panel-component/panel-index-view-search/panel-index-view-search.css +1 -1
- package/lib/util/fullscreen/fullscreen-util.cjs +1 -1
- package/lib/util/notification-util/notification-util.cjs +36 -0
- package/lib/util/notification-util/upload-manager/file-type.cjs +209 -0
- package/lib/util/notification-util/upload-manager/upload-manager.cjs +161 -0
- package/lib/util/notification-util/upload-manager/upload-manager.css +1 -0
- package/lib/util/pagination/use-pagination.cjs +5 -4
- package/lib/view-engine/tab-exp-view.engine.cjs +19 -0
- package/package.json +10 -10
- package/dist/index-VQ3FT6ih.js +0 -4
- /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
- /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 {
|
|
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):
|
|
47
|
-
(...items:
|
|
48
|
-
new (arrayLength: number):
|
|
49
|
-
new (...items:
|
|
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
|
-
|
|
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,
|
|
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):
|
|
1026
|
-
(...items:
|
|
1027
|
-
new (arrayLength: number):
|
|
1028
|
-
new (...items:
|
|
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
|
-
|
|
1039
|
+
required: false;
|
|
1039
1040
|
};
|
|
1040
|
-
}
|
|
1041
|
-
|
|
1041
|
+
}>> & {
|
|
1042
|
+
onNodeClick?: ((...args: any[]) => any) | undefined;
|
|
1043
|
+
}, {
|
|
1042
1044
|
params: IParams;
|
|
1043
1045
|
mdctrlActiveMode: number;
|
|
1044
1046
|
singleSelect: boolean;
|
package/es/control/tree/tree.css
CHANGED
|
@@ -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):
|
|
68
|
-
(...items:
|
|
69
|
-
new (arrayLength: number):
|
|
70
|
-
new (...items:
|
|
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
|
-
|
|
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,
|
|
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):
|
|
1062
|
-
(...items:
|
|
1063
|
-
new (arrayLength: number):
|
|
1064
|
-
new (...items:
|
|
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
|
-
|
|
1075
|
+
required: false;
|
|
1075
1076
|
};
|
|
1076
|
-
}
|
|
1077
|
-
|
|
1077
|
+
}>> & {
|
|
1078
|
+
onNodeClick?: ((...args: any[]) => any) | undefined;
|
|
1079
|
+
}, {
|
|
1078
1080
|
params: IParams;
|
|
1079
1081
|
mdctrlActiveMode: number;
|
|
1080
1082
|
singleSelect: boolean;
|
package/es/control/tree/tree.mjs
CHANGED
|
@@ -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
|
-
|
|
77
|
+
required: false
|
|
78
78
|
}
|
|
79
79
|
},
|
|
80
|
-
|
|
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
|
|
191
|
+
let children = [];
|
|
188
192
|
if (item.level === 0) {
|
|
189
|
-
const tempNodes =
|
|
193
|
+
const tempNodes = c.state.items.find((_item) => {
|
|
190
194
|
return _item.isRoot;
|
|
191
195
|
});
|
|
192
196
|
if (tempNodes) {
|
|
193
|
-
|
|
197
|
+
children = [tempNodes];
|
|
194
198
|
}
|
|
195
199
|
} else {
|
|
196
|
-
|
|
197
|
-
return _item._pid.includes(item.data._uuid);
|
|
198
|
-
});
|
|
200
|
+
children = findChildItems(c, props.modelData, item);
|
|
199
201
|
}
|
|
200
|
-
item._children =
|
|
201
|
-
callback(toElNodes(
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
644
|
-
"ref": "treeviewRef",
|
|
668
|
+
return createVNode(resolveComponent("iBizControlNavigation"), {
|
|
645
669
|
"controller": this.c
|
|
646
|
-
},
|
|
647
|
-
default: () => [
|
|
648
|
-
|
|
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:
|
|
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,
|
|
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(
|
|
17
|
-
const params = ref(
|
|
18
|
-
|
|
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(
|
|
23
|
-
Object.assign(context.
|
|
24
|
-
Object.assign(
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
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.
|
|
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:
|
|
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
|
-
|
|
83
|
+
const dates = props.value.split(valueSeparator);
|
|
84
|
+
value = dates.every((date) => dayjs(date).isValid()) ? dates : [];
|
|
83
85
|
}
|
|
84
86
|
return value;
|
|
85
87
|
},
|