@ibiz-template/runtime 0.4.11 → 0.4.13
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.esm.js +1190 -282
- package/dist/index.system.min.js +2 -2
- package/out/config/global-config.d.ts.map +1 -1
- package/out/config/global-config.js +1 -0
- package/out/controller/common/base.controller.d.ts +7 -0
- package/out/controller/common/base.controller.d.ts.map +1 -1
- package/out/controller/common/base.controller.js +10 -0
- package/out/controller/common/control/control.controller.d.ts +14 -0
- package/out/controller/common/control/control.controller.d.ts.map +1 -1
- package/out/controller/common/control/control.controller.js +21 -0
- package/out/controller/common/control/md-control.controller.d.ts +9 -0
- package/out/controller/common/control/md-control.controller.d.ts.map +1 -1
- package/out/controller/common/control/md-control.controller.js +20 -0
- package/out/controller/common/view/view.controller.d.ts +15 -1
- package/out/controller/common/view/view.controller.d.ts.map +1 -1
- package/out/controller/common/view/view.controller.js +23 -4
- package/out/controller/control/app-menu/app-menu.controller.d.ts +7 -0
- package/out/controller/control/app-menu/app-menu.controller.d.ts.map +1 -1
- package/out/controller/control/app-menu/app-menu.controller.js +22 -0
- package/out/controller/control/caption-bar/caption-bar.controller.d.ts.map +1 -1
- package/out/controller/control/caption-bar/caption-bar.controller.js +1 -6
- package/out/controller/control/form/edit-form/edit-form.controller.d.ts.map +1 -1
- package/out/controller/control/form/edit-form/edit-form.controller.js +9 -22
- package/out/controller/control/form/edit-form/edit-form.service.d.ts +3 -2
- package/out/controller/control/form/edit-form/edit-form.service.d.ts.map +1 -1
- package/out/controller/control/form/edit-form/edit-form.service.js +11 -2
- package/out/controller/control/form/form/form.controller.d.ts +0 -7
- package/out/controller/control/form/form/form.controller.d.ts.map +1 -1
- package/out/controller/control/form/form/form.controller.js +0 -11
- package/out/controller/control/form/form/form.service.d.ts +24 -0
- package/out/controller/control/form/form/form.service.d.ts.map +1 -0
- package/out/controller/control/form/form/form.service.js +45 -0
- package/out/controller/control/form/form-detail/form-detail/form-detail.controller.d.ts.map +1 -1
- package/out/controller/control/form/form-detail/form-detail/form-detail.controller.js +5 -1
- package/out/controller/control/form/form-detail/form-item/form-item.controller.d.ts.map +1 -1
- package/out/controller/control/form/form-detail/form-item/form-item.controller.js +0 -5
- package/out/controller/control/form/search-form/search-form.controller.d.ts.map +1 -1
- package/out/controller/control/form/search-form/search-form.controller.js +1 -5
- package/out/controller/control/form/search-form/search-form.service.d.ts +4 -3
- package/out/controller/control/form/search-form/search-form.service.d.ts.map +1 -1
- package/out/controller/control/form/search-form/search-form.service.js +8 -3
- package/out/controller/control/gantt/gantt.controller.d.ts +146 -2
- package/out/controller/control/gantt/gantt.controller.d.ts.map +1 -1
- package/out/controller/control/gantt/gantt.controller.js +270 -0
- package/out/controller/control/grid/grid/grid-row.state.d.ts +11 -0
- package/out/controller/control/grid/grid/grid-row.state.d.ts.map +1 -1
- package/out/controller/control/grid/grid/grid-row.state.js +13 -0
- package/out/controller/control/grid/grid/grid.controller.d.ts +7 -0
- package/out/controller/control/grid/grid/grid.controller.d.ts.map +1 -1
- package/out/controller/control/grid/grid/grid.controller.js +27 -0
- package/out/controller/control/grid/grid/grid.service.d.ts.map +1 -1
- package/out/controller/control/grid/grid/grid.service.js +30 -20
- package/out/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.d.ts +21 -1
- package/out/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.d.ts.map +1 -1
- package/out/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.js +44 -1
- package/out/controller/control/kanban/kanban.controller.d.ts +13 -0
- package/out/controller/control/kanban/kanban.controller.d.ts.map +1 -1
- package/out/controller/control/kanban/kanban.controller.js +72 -0
- package/out/controller/control/report-panel/generator/user-generator.js +1 -1
- package/out/controller/control/search-bar/search-bar.controller.d.ts.map +1 -1
- package/out/controller/control/search-bar/search-bar.controller.js +11 -6
- package/out/controller/control/toolbar/toolbar.controllerr.d.ts +7 -0
- package/out/controller/control/toolbar/toolbar.controllerr.d.ts.map +1 -1
- package/out/controller/control/toolbar/toolbar.controllerr.js +22 -0
- package/out/controller/control/tree/tree.controller.d.ts +75 -0
- package/out/controller/control/tree/tree.controller.d.ts.map +1 -1
- package/out/controller/control/tree/tree.controller.js +264 -1
- package/out/interface/common/i-global-config/i-global-view-config.d.ts +7 -0
- package/out/interface/common/i-global-config/i-global-view-config.d.ts.map +1 -1
- package/out/interface/controller/controller/control/i-control.controller.d.ts +14 -0
- package/out/interface/controller/controller/control/i-control.controller.d.ts.map +1 -1
- package/out/interface/controller/controller/view/i-view.controller.d.ts +14 -0
- package/out/interface/controller/controller/view/i-view.controller.d.ts.map +1 -1
- package/out/interface/controller/event/control/i-gantt.event.d.ts +42 -0
- package/out/interface/controller/event/control/i-gantt.event.d.ts.map +1 -1
- package/out/interface/controller/event/control/i-tree.event.d.ts +17 -0
- package/out/interface/controller/event/control/i-tree.event.d.ts.map +1 -1
- package/out/interface/controller/state/control/i-control.state.d.ts +8 -0
- package/out/interface/controller/state/control/i-control.state.d.ts.map +1 -1
- package/out/interface/controller/state/control/i-gantt.state.d.ts +22 -0
- package/out/interface/controller/state/control/i-gantt.state.d.ts.map +1 -1
- package/out/interface/controller/state/control/i-grid.state.d.ts +11 -0
- package/out/interface/controller/state/control/i-grid.state.d.ts.map +1 -1
- package/out/interface/controller/state/control/i-kanban.state.d.ts +24 -0
- package/out/interface/controller/state/control/i-kanban.state.d.ts.map +1 -1
- package/out/interface/controller/state/control/i-tree.state.d.ts +7 -0
- package/out/interface/controller/state/control/i-tree.state.d.ts.map +1 -1
- package/out/interface/controller/state/view/i-view.state.d.ts +8 -0
- package/out/interface/controller/state/view/i-view.state.d.ts.map +1 -1
- package/out/interface/provider/i-grid-column.provider.d.ts +2 -2
- package/out/interface/provider/i-grid-column.provider.d.ts.map +1 -1
- package/out/interface/service/i-data-entity/i-data-entity.d.ts +8 -0
- package/out/interface/service/i-data-entity/i-data-entity.d.ts.map +1 -1
- package/out/interface/service/service/i-app-de.service.d.ts +11 -0
- package/out/interface/service/service/i-app-de.service.d.ts.map +1 -1
- package/out/interface/service/service/i-auth.service.d.ts +3 -2
- package/out/interface/service/service/i-auth.service.d.ts.map +1 -1
- package/out/logic-scheduler/executor/app-ui-logic-executor.d.ts.map +1 -1
- package/out/logic-scheduler/executor/app-ui-logic-executor.js +4 -2
- package/out/register/helper/grid-column-register.d.ts +2 -2
- package/out/register/helper/grid-column-register.d.ts.map +1 -1
- package/out/register/helper/grid-column-register.js +14 -0
- package/out/service/dto/method.dto.d.ts.map +1 -1
- package/out/service/dto/method.dto.js +8 -1
- package/out/service/service/auth/v7-auth.service.d.ts +1 -1
- package/out/service/service/auth/v7-auth.service.d.ts.map +1 -1
- package/out/service/service/auth/v7-auth.service.js +12 -7
- package/out/service/service/entity/de.service.d.ts +9 -1
- package/out/service/service/entity/de.service.d.ts.map +1 -1
- package/out/service/service/entity/de.service.js +69 -0
- package/out/service/service/entity/method/fetch.d.ts +5 -12
- package/out/service/service/entity/method/fetch.d.ts.map +1 -1
- package/out/service/service/entity/method/fetch.js +7 -74
- package/out/service/utils/de-cache/de-cache.js +2 -2
- package/out/service/vo/gantt-node-data/gantt-code-list-node-data.d.ts +1 -0
- package/out/service/vo/gantt-node-data/gantt-code-list-node-data.d.ts.map +1 -1
- package/out/service/vo/gantt-node-data/gantt-data-set-node-data.d.ts +2 -0
- package/out/service/vo/gantt-node-data/gantt-data-set-node-data.d.ts.map +1 -1
- package/out/service/vo/gantt-node-data/gantt-data-set-node-data.js +2 -1
- package/out/service/vo/gantt-node-data/gantt-node-data-util.d.ts +7 -0
- package/out/service/vo/gantt-node-data/gantt-node-data-util.d.ts.map +1 -1
- package/out/service/vo/gantt-node-data/gantt-node-data-util.js +18 -0
- package/out/service/vo/gantt-node-data/gantt-static-node-data.d.ts +1 -0
- package/out/service/vo/gantt-node-data/gantt-static-node-data.d.ts.map +1 -1
- package/out/service/vo/tree-node-data/tree-code-list-node-data.d.ts.map +1 -1
- package/out/service/vo/tree-node-data/tree-code-list-node-data.js +8 -4
- package/out/service/vo/tree-node-data/tree-data-set-node-data.d.ts.map +1 -1
- package/out/service/vo/tree-node-data/tree-data-set-node-data.js +8 -4
- package/out/service/vo/tree-node-data/tree-node-data.d.ts +1 -0
- package/out/service/vo/tree-node-data/tree-node-data.d.ts.map +1 -1
- package/out/service/vo/tree-node-data/tree-node-data.js +2 -0
- package/out/service/vo/tree-node-data/tree-static-node-data.d.ts.map +1 -1
- package/out/service/vo/tree-node-data/tree-static-node-data.js +8 -2
- package/out/utils/layout-panel-util/layout-panel-util.d.ts.map +1 -1
- package/out/utils/layout-panel-util/layout-panel-util.js +16 -2
- package/package.json +3 -3
- package/src/config/global-config.ts +1 -0
- package/src/controller/common/base.controller.ts +11 -0
- package/src/controller/common/control/control.controller.ts +23 -0
- package/src/controller/common/control/md-control.controller.ts +21 -0
- package/src/controller/common/view/view.controller.ts +27 -5
- package/src/controller/control/app-menu/app-menu.controller.ts +25 -0
- package/src/controller/control/caption-bar/caption-bar.controller.ts +1 -8
- package/src/controller/control/form/edit-form/edit-form.controller.ts +11 -26
- package/src/controller/control/form/edit-form/edit-form.service.ts +11 -2
- package/src/controller/control/form/form/form.controller.ts +0 -14
- package/src/controller/control/form/form/form.service.ts +63 -0
- package/src/controller/control/form/form-detail/form-detail/form-detail.controller.ts +9 -1
- package/src/controller/control/form/form-detail/form-item/form-item.controller.ts +0 -5
- package/src/controller/control/form/search-form/search-form.controller.ts +1 -5
- package/src/controller/control/form/search-form/search-form.service.ts +8 -3
- package/src/controller/control/gantt/gantt.controller.ts +331 -1
- package/src/controller/control/grid/grid/grid-row.state.ts +15 -0
- package/src/controller/control/grid/grid/grid.controller.ts +34 -0
- package/src/controller/control/grid/grid/grid.service.ts +34 -21
- package/src/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.ts +67 -2
- package/src/controller/control/kanban/kanban.controller.ts +81 -0
- package/src/controller/control/report-panel/generator/user-generator.ts +1 -1
- package/src/controller/control/search-bar/search-bar.controller.ts +12 -8
- package/src/controller/control/toolbar/toolbar.controllerr.ts +29 -0
- package/src/controller/control/tree/tree.controller.ts +327 -2
- package/src/interface/common/i-global-config/i-global-view-config.ts +8 -0
- package/src/interface/controller/controller/control/i-control.controller.ts +16 -0
- package/src/interface/controller/controller/view/i-view.controller.ts +16 -0
- package/src/interface/controller/event/control/i-gantt.event.ts +37 -1
- package/src/interface/controller/event/control/i-tree.event.ts +14 -0
- package/src/interface/controller/state/control/i-control.state.ts +9 -0
- package/src/interface/controller/state/control/i-gantt.state.ts +25 -0
- package/src/interface/controller/state/control/i-grid.state.ts +10 -0
- package/src/interface/controller/state/control/i-kanban.state.ts +26 -0
- package/src/interface/controller/state/control/i-tree.state.ts +8 -0
- package/src/interface/controller/state/view/i-view.state.ts +9 -0
- package/src/interface/provider/i-grid-column.provider.ts +2 -2
- package/src/interface/service/i-data-entity/i-data-entity.ts +9 -0
- package/src/interface/service/service/i-app-de.service.ts +12 -0
- package/src/interface/service/service/i-auth.service.ts +3 -2
- package/src/logic-scheduler/executor/app-ui-logic-executor.ts +8 -2
- package/src/register/helper/grid-column-register.ts +17 -2
- package/src/service/dto/method.dto.ts +8 -1
- package/src/service/service/auth/v7-auth.service.ts +18 -8
- package/src/service/service/entity/de.service.ts +74 -1
- package/src/service/service/entity/method/fetch.ts +8 -79
- package/src/service/utils/de-cache/de-cache.ts +2 -2
- package/src/service/vo/gantt-node-data/gantt-code-list-node-data.ts +2 -0
- package/src/service/vo/gantt-node-data/gantt-data-set-node-data.ts +6 -1
- package/src/service/vo/gantt-node-data/gantt-node-data-util.ts +21 -0
- package/src/service/vo/gantt-node-data/gantt-static-node-data.ts +2 -0
- package/src/service/vo/tree-node-data/tree-code-list-node-data.ts +10 -5
- package/src/service/vo/tree-node-data/tree-data-set-node-data.ts +10 -5
- package/src/service/vo/tree-node-data/tree-node-data.ts +3 -0
- package/src/service/vo/tree-node-data/tree-static-node-data.ts +10 -3
- package/src/utils/layout-panel-util/layout-panel-util.ts +17 -2
|
@@ -88,6 +88,78 @@ export class KanbanController extends DataViewControlController {
|
|
|
88
88
|
}
|
|
89
89
|
return super.handleDataGroup();
|
|
90
90
|
}
|
|
91
|
+
/**
|
|
92
|
+
* 处理自动分组
|
|
93
|
+
*
|
|
94
|
+
* @memberof KanbanController
|
|
95
|
+
*/
|
|
96
|
+
handleAutoGroup() {
|
|
97
|
+
const { groupAppDEFieldId } = this.model;
|
|
98
|
+
if (groupAppDEFieldId) {
|
|
99
|
+
const { items } = this.state;
|
|
100
|
+
const groupMap = new Map();
|
|
101
|
+
items.forEach((item) => {
|
|
102
|
+
const groupVal = item[groupAppDEFieldId];
|
|
103
|
+
if (isNil(groupVal)) {
|
|
104
|
+
// 分组无值的不显示
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
if (!groupMap.has(groupVal)) {
|
|
108
|
+
groupMap.set(groupVal, []);
|
|
109
|
+
}
|
|
110
|
+
groupMap.get(groupVal).push(item);
|
|
111
|
+
});
|
|
112
|
+
const groups = [];
|
|
113
|
+
groupMap.forEach((value, key) => {
|
|
114
|
+
// 标题
|
|
115
|
+
const codeListItem = this.groupCodeListItems.find(item => item.value === key);
|
|
116
|
+
groups.push({
|
|
117
|
+
caption: codeListItem.text,
|
|
118
|
+
color: codeListItem.color,
|
|
119
|
+
key: codeListItem.value,
|
|
120
|
+
children: [...value],
|
|
121
|
+
});
|
|
122
|
+
});
|
|
123
|
+
this.state.groups = groups;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* 处理代码表分组
|
|
128
|
+
*
|
|
129
|
+
* @return {*} {Promise<void>}
|
|
130
|
+
* @memberof KanbanController
|
|
131
|
+
*/
|
|
132
|
+
async handleCodeListGroup() {
|
|
133
|
+
const { groupAppDEFieldId, groupCodeListId } = this.model;
|
|
134
|
+
if (!groupCodeListId) {
|
|
135
|
+
throw new RuntimeModelError(this.model, '分组代码表没有配置');
|
|
136
|
+
}
|
|
137
|
+
const { items } = this.state;
|
|
138
|
+
const groupMap = new Map();
|
|
139
|
+
this.groupCodeListItems.forEach(item => {
|
|
140
|
+
groupMap.set(item.value, []);
|
|
141
|
+
});
|
|
142
|
+
items.forEach((item) => {
|
|
143
|
+
const groupVal = item[groupAppDEFieldId];
|
|
144
|
+
const groupArr = groupMap.get(groupVal);
|
|
145
|
+
if (groupArr) {
|
|
146
|
+
groupArr.push(item);
|
|
147
|
+
}
|
|
148
|
+
// 不在代码表里数据忽略
|
|
149
|
+
});
|
|
150
|
+
const groups = [];
|
|
151
|
+
groupMap.forEach((arr, key) => {
|
|
152
|
+
// 标题
|
|
153
|
+
const codeListItem = this.groupCodeListItems.find(item => item.value === key);
|
|
154
|
+
groups.push({
|
|
155
|
+
caption: codeListItem.text,
|
|
156
|
+
color: codeListItem.color,
|
|
157
|
+
key: codeListItem.value,
|
|
158
|
+
children: arr,
|
|
159
|
+
});
|
|
160
|
+
});
|
|
161
|
+
this.state.groups = groups;
|
|
162
|
+
}
|
|
91
163
|
/**
|
|
92
164
|
* 拖拽变更事件处理回调
|
|
93
165
|
* @author lxm
|
|
@@ -46,7 +46,7 @@ export class UserReportPanelGenerator extends ReportPanelBaseGenerator {
|
|
|
46
46
|
callBack: '{{ const nodes = data.controller.graph.getNodes(); if (nodes.length < 25) { data.controller.graph.zoomTo(1); data.controller.graph.fitCenter() } }}',
|
|
47
47
|
},
|
|
48
48
|
],
|
|
49
|
-
nodeDataHook: "{{ data.forEach(node => { const type = node.data.source_lables || node.data.target_lables; Object.assign(node, { label: node.data.name, size: 66, style: { fill: node.color },donutAttrs: { prop1: 10000, prop2: 10 },donutColorMap: { prop1: node.color, prop2: node.color },icon: {show: true,img: type === 'NEO4J_ZT' ? resource.dir('
|
|
49
|
+
nodeDataHook: "{{ data.forEach(node => { const type = node.data.source_lables || node.data.target_lables; Object.assign(node, { label: node.data.name, size: 66, style: { fill: node.color },donutAttrs: { prop1: 10000, prop2: 10 },donutColorMap: { prop1: node.color, prop2: node.color },icon: {show: true,img: type === 'NEO4J_ZT' ? resource.dir('assets/images/user-avatar.png') : resource.dir('assets/images/phone.png'),width: 40,height: 40}})})}}",
|
|
50
50
|
edgeDataHook: '{{ data.forEach(edge => {Object.assign(edge, { label: edge.name })}) }}',
|
|
51
51
|
},
|
|
52
52
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-bar.controller.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/search-bar/search-bar.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9D,OAAO,EACL,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,WAAW,EACZ,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAE3E;;;;;;;;GAQG;AACH,qBAAa,mBACX,SAAQ,iBAAiB,CAAC,UAAU,EAAE,eAAe,EAAE,eAAe,CACtE,YAAW,oBAAoB;IAE/B;;;;;OAKG;IACH,WAAW,SAAM;IAEjB;;;;;OAKG;IACH,iBAAiB,EAAE,yBAAyB,EAAE,CAAM;IAEpD;;;;;OAKG;IACH,aAAa,EAAG,cAAc,CAAC;IAE/B,SAAS,CAAC,SAAS,IAAI,IAAI;cAcX,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAc1C;;;;;;OAMG;IACH,SAAS,CAAC,0BAA0B,IAAI,IAAI;IA2B5C;;;;;;OAMG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI9B;;;;;OAKG;IACH,QAAQ,IAAI,IAAI;IAIhB;;;;;OAKG;IACH,eAAe,IAAI,OAAO;IAwB1B;;;;OAIG;IACH,WAAW,IAAI,IAAI;
|
|
1
|
+
{"version":3,"file":"search-bar.controller.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/search-bar/search-bar.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9D,OAAO,EACL,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,WAAW,EACZ,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAE3E;;;;;;;;GAQG;AACH,qBAAa,mBACX,SAAQ,iBAAiB,CAAC,UAAU,EAAE,eAAe,EAAE,eAAe,CACtE,YAAW,oBAAoB;IAE/B;;;;;OAKG;IACH,WAAW,SAAM;IAEjB;;;;;OAKG;IACH,iBAAiB,EAAE,yBAAyB,EAAE,CAAM;IAEpD;;;;;OAKG;IACH,aAAa,EAAG,cAAc,CAAC;IAE/B,SAAS,CAAC,SAAS,IAAI,IAAI;cAcX,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAc1C;;;;;;OAMG;IACH,SAAS,CAAC,0BAA0B,IAAI,IAAI;IA2B5C;;;;;;OAMG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI9B;;;;;OAKG;IACH,QAAQ,IAAI,IAAI;IAIhB;;;;;OAKG;IACH,eAAe,IAAI,OAAO;IAwB1B;;;;OAIG;IACH,WAAW,IAAI,IAAI;IAWnB;;;;;;OAMG;cACa,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAYrD;;;;;OAKG;IACH,WAAW,IAAI,KAAK,GAAG,SAAS;IAsBhC;;;;;;OAMG;IACH,aAAa,CAAC,IAAI,EAAE,WAAW,GAAG,KAAK;CAiBxC"}
|
|
@@ -120,7 +120,7 @@ export class SearchBarController extends ControlController {
|
|
|
120
120
|
// 搜索过滤器
|
|
121
121
|
const filters = this.calcFilters();
|
|
122
122
|
if (filters) {
|
|
123
|
-
params.
|
|
123
|
+
params.searchconds = filters;
|
|
124
124
|
}
|
|
125
125
|
return params;
|
|
126
126
|
}
|
|
@@ -137,6 +137,7 @@ export class SearchBarController extends ControlController {
|
|
|
137
137
|
children: [{ leaf: true, field: null, valueOP: null, value: null }],
|
|
138
138
|
},
|
|
139
139
|
];
|
|
140
|
+
this.evt.emit('onSearch', undefined);
|
|
140
141
|
}
|
|
141
142
|
/**
|
|
142
143
|
* 初始化过滤项控制器
|
|
@@ -179,7 +180,7 @@ export class SearchBarController extends ControlController {
|
|
|
179
180
|
}
|
|
180
181
|
});
|
|
181
182
|
if (hasFilter && !hasError) {
|
|
182
|
-
const filter = this.formatFilters(this.state.filterNodes[0]);
|
|
183
|
+
const filter = [this.formatFilters(this.state.filterNodes[0])];
|
|
183
184
|
return filter;
|
|
184
185
|
}
|
|
185
186
|
}
|
|
@@ -193,13 +194,17 @@ export class SearchBarController extends ControlController {
|
|
|
193
194
|
formatFilters(node) {
|
|
194
195
|
if (!node.leaf) {
|
|
195
196
|
return {
|
|
196
|
-
|
|
197
|
+
condtype: 'GROUP',
|
|
198
|
+
condop: node.logicType,
|
|
199
|
+
bnotmode: false,
|
|
200
|
+
searchconds: node.children.map(item => this.formatFilters(item)),
|
|
197
201
|
};
|
|
198
202
|
}
|
|
199
203
|
return {
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
204
|
+
condtype: 'DEFIELD',
|
|
205
|
+
fieldname: node.field,
|
|
206
|
+
condop: node.valueOP,
|
|
207
|
+
value: node.value,
|
|
203
208
|
};
|
|
204
209
|
}
|
|
205
210
|
}
|
|
@@ -43,5 +43,12 @@ export declare class ToolbarController<T extends IDEToolbar = IDEToolbar, S exte
|
|
|
43
43
|
setExtraButtons(position: 'before' | 'after' | number, buttons: IExtraButton[]): void;
|
|
44
44
|
clearExtraButtons(position?: 'before' | 'after' | number): void;
|
|
45
45
|
protected initControlScheduler(logics?: IControlLogic[]): void;
|
|
46
|
+
/**
|
|
47
|
+
* 转换各类多语言
|
|
48
|
+
*
|
|
49
|
+
* @date 2023-05-18 02:57:00
|
|
50
|
+
* @protected
|
|
51
|
+
*/
|
|
52
|
+
protected convertMultipleLanguages(): void;
|
|
46
53
|
}
|
|
47
54
|
//# sourceMappingURL=toolbar.controllerr.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolbar.controllerr.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/toolbar/toolbar.controllerr.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EACV,cAAc,EAEd,aAAa,
|
|
1
|
+
{"version":3,"file":"toolbar.controllerr.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/toolbar/toolbar.controllerr.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EACV,cAAc,EAEd,aAAa,EAEd,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,YAAY,EAEb,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EACL,eAAe,EAGhB,MAAM,aAAa,CAAC;AAErB;;;;;;;GAOG;AACH,qBAAa,iBAAiB,CAC1B,CAAC,SAAS,UAAU,GAAG,UAAU,EACjC,CAAC,SAAS,aAAa,GAAG,aAAa,EACvC,CAAC,SAAS,aAAa,GAAG,aAAa,CAEzC,SAAQ,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CACjC,YAAW,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAEtC,SAAS,KAAK,IAAI,IAAI,eAAe,CAAC,aAAa,CAAC,CAEnD;IAED,SAAS,CAAC,SAAS,IAAI,IAAI;IAO3B;;;;;;;;;;;OAWG;cACa,UAAU,CACxB,IAAI,EAAE,cAAc,EACpB,KAAK,EAAE,UAAU,EACjB,KAAK,GAAE,KAAU,GAChB,OAAO,CAAC,IAAI,CAAC;cAwCA,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAyB1C;;;;;;;;;;OAUG;IACG,WAAW,CACf,IAAI,EAAE,cAAc,GAAG,YAAY,EACnC,KAAK,EAAE,UAAU,EACjB,MAAM,CAAC,EAAE,KAAK,GACb,OAAO,CAAC,IAAI,CAAC;IAcV,eAAe,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgDpE,eAAe,CACb,QAAQ,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,EACrC,OAAO,EAAE,YAAY,EAAE,GACtB,IAAI;IAOP,iBAAiB,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI;IAS/D,SAAS,CAAC,oBAAoB,CAAC,MAAM,GAAE,aAAa,EAAO,GAAG,IAAI;IAelE;;;;;OAKG;IACH,SAAS,CAAC,wBAAwB,IAAI,IAAI;CAqB3C"}
|
|
@@ -160,4 +160,26 @@ export class ToolbarController extends ControlController {
|
|
|
160
160
|
}, { childrenFields: ['detoolbarItems'] });
|
|
161
161
|
super.initControlScheduler(actualLogics);
|
|
162
162
|
}
|
|
163
|
+
/**
|
|
164
|
+
* 转换各类多语言
|
|
165
|
+
*
|
|
166
|
+
* @date 2023-05-18 02:57:00
|
|
167
|
+
* @protected
|
|
168
|
+
*/
|
|
169
|
+
convertMultipleLanguages() {
|
|
170
|
+
const convertItemCaption = (items) => {
|
|
171
|
+
items.forEach(item => {
|
|
172
|
+
if (item.capLanguageRes && item.capLanguageRes.lanResTag) {
|
|
173
|
+
item.caption = ibiz.i18n.t(item.capLanguageRes.lanResTag, item.caption);
|
|
174
|
+
}
|
|
175
|
+
if (item.itemType === 'ITEMS' &&
|
|
176
|
+
item.detoolbarItems) {
|
|
177
|
+
convertItemCaption(item.detoolbarItems);
|
|
178
|
+
}
|
|
179
|
+
});
|
|
180
|
+
};
|
|
181
|
+
if (this.model.detoolbarItems && this.model.detoolbarItems.length > 0) {
|
|
182
|
+
convertItemCaption(this.model.detoolbarItems);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
163
185
|
}
|
|
@@ -3,6 +3,11 @@ import { ITreeState, ITreeEvent, ITreeController, MDCtrlLoadParams, ITreeNodeDat
|
|
|
3
3
|
import { MDControlController } from '../../common';
|
|
4
4
|
import { ContextMenuController } from '../context-menu';
|
|
5
5
|
import { TreeService } from './tree.service';
|
|
6
|
+
export type DropNodeRS = {
|
|
7
|
+
minorEntityId: string;
|
|
8
|
+
pickupDEFName: string;
|
|
9
|
+
childDETreeNodeId: string;
|
|
10
|
+
};
|
|
6
11
|
/**
|
|
7
12
|
* 树部件控制器
|
|
8
13
|
* @author lxm
|
|
@@ -30,8 +35,21 @@ export declare class TreeController extends MDControlController<IDETree, ITreeSt
|
|
|
30
35
|
* @type {boolean}
|
|
31
36
|
*/
|
|
32
37
|
enableQuickSearch: boolean;
|
|
38
|
+
/**
|
|
39
|
+
* 拖入节点关系处理
|
|
40
|
+
* @author lxm
|
|
41
|
+
* @date 2023-12-14 03:05:38
|
|
42
|
+
*/
|
|
43
|
+
dropNodeRss: Map<string, DropNodeRS[]>;
|
|
33
44
|
protected initState(): void;
|
|
34
45
|
protected onCreated(): Promise<void>;
|
|
46
|
+
/**
|
|
47
|
+
* 初始化节点拖入关系处理
|
|
48
|
+
* @author lxm
|
|
49
|
+
* @date 2023-12-14 03:13:42
|
|
50
|
+
* @protected
|
|
51
|
+
*/
|
|
52
|
+
protected initDropNodeRss(): void;
|
|
35
53
|
/**
|
|
36
54
|
* 树部件加载,从根节点开始重新加载
|
|
37
55
|
*
|
|
@@ -125,5 +143,62 @@ export declare class TreeController extends MDControlController<IDETree, ITreeSt
|
|
|
125
143
|
*/
|
|
126
144
|
refreshNodeChildren(nodeData: ITreeNodeData | IData, refreshParent?: boolean): Promise<void>;
|
|
127
145
|
expandNodeByKey(expandKeys: string[]): Promise<void>;
|
|
146
|
+
/**
|
|
147
|
+
* 计算是否允许拖动
|
|
148
|
+
* @author lxm
|
|
149
|
+
* @date 2023-12-14 11:28:07
|
|
150
|
+
* @param {ITreeNodeData} draggingNode
|
|
151
|
+
* @return {*} {boolean}
|
|
152
|
+
*/
|
|
153
|
+
calcAllowDrag(draggingNode: ITreeNodeData): boolean;
|
|
154
|
+
/**
|
|
155
|
+
* 计算是否允许拖入
|
|
156
|
+
* @author lxm
|
|
157
|
+
* @date 2023-12-14 02:04:15
|
|
158
|
+
* @param {ITreeNodeData} draggingNode
|
|
159
|
+
* @param {ITreeNodeData} dropNode
|
|
160
|
+
* @param {('inner' | 'prev' | 'next')} type
|
|
161
|
+
* @return {*} {boolean}
|
|
162
|
+
*/
|
|
163
|
+
calcAllowDrop(draggingNode: ITreeNodeData, dropNode: ITreeNodeData, type: 'inner' | 'prev' | 'next'): boolean;
|
|
164
|
+
/**
|
|
165
|
+
* 找到指定父节点下的节点关系里面
|
|
166
|
+
* 配置的实体关系的子实体是指定实体的
|
|
167
|
+
* @author lxm
|
|
168
|
+
* @date 2023-12-14 01:43:41
|
|
169
|
+
* @protected
|
|
170
|
+
* @param {string} parentId 父节点模型id
|
|
171
|
+
* @param {string} appDataEntityId
|
|
172
|
+
* @return {*} {(IDETreeNodeRS | undefined)}
|
|
173
|
+
*/
|
|
174
|
+
protected findDropNodeRS(parentId: string, appDataEntityId: string): DropNodeRS | undefined;
|
|
175
|
+
/**
|
|
176
|
+
* 处理节点拖入事件
|
|
177
|
+
* @author lxm
|
|
178
|
+
* @date 2023-12-15 04:23:29
|
|
179
|
+
* @param {ITreeNodeData} draggingNode
|
|
180
|
+
* @param {ITreeNodeData} dropNode
|
|
181
|
+
* @param {('inner' | 'prev' | 'next')} dropType
|
|
182
|
+
* @return {*} {Promise<void>}
|
|
183
|
+
*/
|
|
184
|
+
onNodeDrop(draggingNode: ITreeNodeData, dropNode: ITreeNodeData, dropType: 'inner' | 'prev' | 'next'): Promise<void>;
|
|
185
|
+
/**
|
|
186
|
+
* 更新实体节点数据
|
|
187
|
+
* @author lxm
|
|
188
|
+
* @date 2023-12-15 04:19:36
|
|
189
|
+
* @protected
|
|
190
|
+
* @param {ITreeNodeData[]} nodeDatas 节点数据集合
|
|
191
|
+
* @return {*} {Promise<void>}
|
|
192
|
+
*/
|
|
193
|
+
updateDeNodeData(nodeDatas: ITreeNodeData[]): Promise<void>;
|
|
194
|
+
/**
|
|
195
|
+
* 修改节点文本
|
|
196
|
+
* @author lxm
|
|
197
|
+
* @date 2023-12-15 04:32:52
|
|
198
|
+
* @param {ITreeNodeData} nodeData
|
|
199
|
+
* @param {string} text
|
|
200
|
+
* @return {*} {Promise<void>}
|
|
201
|
+
*/
|
|
202
|
+
modifyNodeText(nodeData: ITreeNodeData, text: string): Promise<void>;
|
|
128
203
|
}
|
|
129
204
|
//# sourceMappingURL=tree.controller.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree.controller.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/tree/tree.controller.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tree.controller.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/tree/tree.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
/* eslint-disable no-param-reassign */
|
|
2
|
-
import { recursiveIterate } from '@ibiz-template/core';
|
|
2
|
+
import { RuntimeError, RuntimeModelError, recursiveIterate, } from '@ibiz-template/core';
|
|
3
3
|
import { UIActionUtil } from '../../../ui-action';
|
|
4
4
|
import { MDControlController } from '../../common';
|
|
5
5
|
import { ContextMenuController } from '../context-menu';
|
|
6
6
|
import { TreeService } from './tree.service';
|
|
7
|
+
import { calcDeCodeNameById, getChildNodeRSs } from '../../../model';
|
|
7
8
|
/**
|
|
8
9
|
* 树部件控制器
|
|
9
10
|
* @author lxm
|
|
@@ -30,6 +31,12 @@ export class TreeController extends MDControlController {
|
|
|
30
31
|
* @type {boolean}
|
|
31
32
|
*/
|
|
32
33
|
this.enableQuickSearch = false;
|
|
34
|
+
/**
|
|
35
|
+
* 拖入节点关系处理
|
|
36
|
+
* @author lxm
|
|
37
|
+
* @date 2023-12-14 03:05:38
|
|
38
|
+
*/
|
|
39
|
+
this.dropNodeRss = new Map();
|
|
33
40
|
}
|
|
34
41
|
initState() {
|
|
35
42
|
super.initState();
|
|
@@ -66,6 +73,7 @@ export class TreeController extends MDControlController {
|
|
|
66
73
|
this.state.placeHolder = placeHolders.join('、');
|
|
67
74
|
}
|
|
68
75
|
}
|
|
76
|
+
this.initDropNodeRss();
|
|
69
77
|
this.service = new TreeService(this.model);
|
|
70
78
|
await this.service.init(this.context);
|
|
71
79
|
// 初始化上下文菜单控制器
|
|
@@ -78,6 +86,41 @@ export class TreeController extends MDControlController {
|
|
|
78
86
|
// 上下文菜单控制器初始化
|
|
79
87
|
await Promise.all(Object.values(this.contextMenus).map(menu => menu.created()));
|
|
80
88
|
}
|
|
89
|
+
/**
|
|
90
|
+
* 初始化节点拖入关系处理
|
|
91
|
+
* @author lxm
|
|
92
|
+
* @date 2023-12-14 03:13:42
|
|
93
|
+
* @protected
|
|
94
|
+
*/
|
|
95
|
+
initDropNodeRss() {
|
|
96
|
+
var _a;
|
|
97
|
+
(_a = this.model.detreeNodes) === null || _a === void 0 ? void 0 : _a.forEach(node => {
|
|
98
|
+
if (!node.allowDrop) {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
const infos = [];
|
|
102
|
+
const nodeRSs = getChildNodeRSs(this.model, {
|
|
103
|
+
parentId: node.id,
|
|
104
|
+
hasQuery: false,
|
|
105
|
+
});
|
|
106
|
+
nodeRSs.forEach(nodeRS => {
|
|
107
|
+
var _a;
|
|
108
|
+
if ((_a = nodeRS.parentDER1N) === null || _a === void 0 ? void 0 : _a.pickupDEFName) {
|
|
109
|
+
const childNode = this.getNodeModel(nodeRS.childDETreeNodeId);
|
|
110
|
+
if ((childNode === null || childNode === void 0 ? void 0 : childNode.treeNodeType) === 'DE' && childNode.appDataEntityId) {
|
|
111
|
+
infos.push({
|
|
112
|
+
minorEntityId: childNode.appDataEntityId,
|
|
113
|
+
pickupDEFName: nodeRS.parentDER1N.pickupDEFName.toLowerCase(),
|
|
114
|
+
childDETreeNodeId: nodeRS.childDETreeNodeId,
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
if (infos.length > 0) {
|
|
120
|
+
this.dropNodeRss.set(node.id, infos);
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
}
|
|
81
124
|
/**
|
|
82
125
|
* 树部件加载,从根节点开始重新加载
|
|
83
126
|
*
|
|
@@ -361,4 +404,224 @@ export class TreeController extends MDControlController {
|
|
|
361
404
|
return this.loadNodes(node);
|
|
362
405
|
}));
|
|
363
406
|
}
|
|
407
|
+
/**
|
|
408
|
+
* 计算是否允许拖动
|
|
409
|
+
* @author lxm
|
|
410
|
+
* @date 2023-12-14 11:28:07
|
|
411
|
+
* @param {ITreeNodeData} draggingNode
|
|
412
|
+
* @return {*} {boolean}
|
|
413
|
+
*/
|
|
414
|
+
calcAllowDrag(draggingNode) {
|
|
415
|
+
const nodeModel = this.getNodeModel(draggingNode.nodeId);
|
|
416
|
+
return (nodeModel === null || nodeModel === void 0 ? void 0 : nodeModel.allowDrag) === true;
|
|
417
|
+
}
|
|
418
|
+
/**
|
|
419
|
+
* 计算是否允许拖入
|
|
420
|
+
* @author lxm
|
|
421
|
+
* @date 2023-12-14 02:04:15
|
|
422
|
+
* @param {ITreeNodeData} draggingNode
|
|
423
|
+
* @param {ITreeNodeData} dropNode
|
|
424
|
+
* @param {('inner' | 'prev' | 'next')} type
|
|
425
|
+
* @return {*} {boolean}
|
|
426
|
+
*/
|
|
427
|
+
calcAllowDrop(draggingNode, dropNode, type) {
|
|
428
|
+
var _a, _b;
|
|
429
|
+
const draggingNodeModel = this.getNodeModel(draggingNode.nodeId);
|
|
430
|
+
// * 移入的情况
|
|
431
|
+
if (type === 'inner') {
|
|
432
|
+
return !!this.findDropNodeRS(dropNode.nodeId, draggingNodeModel.appDataEntityId);
|
|
433
|
+
}
|
|
434
|
+
// * 前后的情况
|
|
435
|
+
if (((_a = draggingNode.parent) === null || _a === void 0 ? void 0 : _a.id) !== ((_b = dropNode.parent) === null || _b === void 0 ? void 0 : _b.id)) {
|
|
436
|
+
// 父不一样的时候需要判断能否移入到对方的父节点内
|
|
437
|
+
return !!this.findDropNodeRS(dropNode.parent.nodeId, draggingNodeModel.appDataEntityId);
|
|
438
|
+
}
|
|
439
|
+
// 父相同的情况下,就是排序,看是否能排序
|
|
440
|
+
const parentNodeModel = this.getNodeModel(dropNode.nodeId);
|
|
441
|
+
return (parentNodeModel === null || parentNodeModel === void 0 ? void 0 : parentNodeModel.allowOrder) === true;
|
|
442
|
+
}
|
|
443
|
+
/**
|
|
444
|
+
* 找到指定父节点下的节点关系里面
|
|
445
|
+
* 配置的实体关系的子实体是指定实体的
|
|
446
|
+
* @author lxm
|
|
447
|
+
* @date 2023-12-14 01:43:41
|
|
448
|
+
* @protected
|
|
449
|
+
* @param {string} parentId 父节点模型id
|
|
450
|
+
* @param {string} appDataEntityId
|
|
451
|
+
* @return {*} {(IDETreeNodeRS | undefined)}
|
|
452
|
+
*/
|
|
453
|
+
findDropNodeRS(parentId, appDataEntityId) {
|
|
454
|
+
const nodeRSs = this.dropNodeRss.get(parentId);
|
|
455
|
+
return nodeRSs === null || nodeRSs === void 0 ? void 0 : nodeRSs.find(item => item.minorEntityId === appDataEntityId);
|
|
456
|
+
}
|
|
457
|
+
/**
|
|
458
|
+
* 处理节点拖入事件
|
|
459
|
+
* @author lxm
|
|
460
|
+
* @date 2023-12-15 04:23:29
|
|
461
|
+
* @param {ITreeNodeData} draggingNode
|
|
462
|
+
* @param {ITreeNodeData} dropNode
|
|
463
|
+
* @param {('inner' | 'prev' | 'next')} dropType
|
|
464
|
+
* @return {*} {Promise<void>}
|
|
465
|
+
*/
|
|
466
|
+
async onNodeDrop(draggingNode, dropNode, dropType) {
|
|
467
|
+
var _a, _b, _c, _d;
|
|
468
|
+
if (dropType === 'inner' &&
|
|
469
|
+
!dropNode.leaf &&
|
|
470
|
+
dropNode.children === undefined) {
|
|
471
|
+
await this.expandNodeByKey([dropNode.id]);
|
|
472
|
+
}
|
|
473
|
+
/** 修改的树节点数据 */
|
|
474
|
+
const modifiedNodeDatas = [];
|
|
475
|
+
const draggingNodeModel = this.getNodeModel(draggingNode.nodeId);
|
|
476
|
+
const dropInNode = dropType === 'inner' ? dropNode : dropNode.parent;
|
|
477
|
+
const isChangedParent = ((_a = dropNode.parent) === null || _a === void 0 ? void 0 : _a.id) !== ((_b = draggingNode.parent) === null || _b === void 0 ? void 0 : _b.id);
|
|
478
|
+
let orderNodeModel = this.getNodeModel(dropNode.nodeId);
|
|
479
|
+
// * 处理切换父节点
|
|
480
|
+
if (dropType === 'inner' ||
|
|
481
|
+
((_c = dropNode.parent) === null || _c === void 0 ? void 0 : _c.id) !== ((_d = draggingNode.parent) === null || _d === void 0 ? void 0 : _d.id)) {
|
|
482
|
+
const dropNodeRs = this.findDropNodeRS(dropInNode.nodeId, draggingNodeModel.appDataEntityId);
|
|
483
|
+
if (dropNodeRs) {
|
|
484
|
+
// 修改关系属性的值为父节点的主键和树节点id
|
|
485
|
+
draggingNode.deData[dropNodeRs.pickupDEFName] = dropInNode.value;
|
|
486
|
+
modifiedNodeDatas.push(draggingNode);
|
|
487
|
+
orderNodeModel = this.getNodeModel(dropNodeRs.childDETreeNodeId);
|
|
488
|
+
}
|
|
489
|
+
}
|
|
490
|
+
// *修改节点数据
|
|
491
|
+
// 所有情况都先从原来的父的子集合里删除自己
|
|
492
|
+
const originArr = draggingNode.parent.children;
|
|
493
|
+
originArr.splice(originArr.indexOf(draggingNode), 1);
|
|
494
|
+
if (dropType === 'inner') {
|
|
495
|
+
// 移入时放到最后
|
|
496
|
+
if (!dropNode.children) {
|
|
497
|
+
dropNode.children = [];
|
|
498
|
+
dropNode.leaf = true;
|
|
499
|
+
this.state.expandedKeys.push(dropNode.id);
|
|
500
|
+
}
|
|
501
|
+
dropNode.children.push(draggingNode);
|
|
502
|
+
}
|
|
503
|
+
else {
|
|
504
|
+
// 非插入时,放入指定节点前后
|
|
505
|
+
let insertIndex = dropInNode.children.indexOf(dropNode);
|
|
506
|
+
if (dropType === 'next') {
|
|
507
|
+
insertIndex += 1;
|
|
508
|
+
}
|
|
509
|
+
dropInNode.children.splice(insertIndex, 0, draggingNode);
|
|
510
|
+
}
|
|
511
|
+
//* 变更父节点后的,拖动节点调整
|
|
512
|
+
if (dropType === 'inner' || isChangedParent) {
|
|
513
|
+
// 更改父节点
|
|
514
|
+
draggingNode.parent = dropInNode;
|
|
515
|
+
// 修改指向的节点模型
|
|
516
|
+
draggingNode.nodeId = orderNodeModel.id;
|
|
517
|
+
// 维护拖拽的节点和其子孙的展开,维护拖入节点的展开
|
|
518
|
+
this.state.expandedKeys = this.calcExpandedKeys([dropInNode]);
|
|
519
|
+
}
|
|
520
|
+
// *处理排序
|
|
521
|
+
const { sortAppDEFieldId, sortDir, allowOrder } = orderNodeModel;
|
|
522
|
+
if (allowOrder === true) {
|
|
523
|
+
// 有排序属性才处理排序
|
|
524
|
+
if (!sortAppDEFieldId) {
|
|
525
|
+
throw new RuntimeModelError(orderNodeModel, '缺少配置排序属性');
|
|
526
|
+
}
|
|
527
|
+
const sortField = sortAppDEFieldId.toLowerCase();
|
|
528
|
+
const isAsc = sortDir === 'ASC';
|
|
529
|
+
const changedArr = [...dropInNode.children];
|
|
530
|
+
// 降序把数组反转,保证两个数组都是从小到大排
|
|
531
|
+
if (!isAsc) {
|
|
532
|
+
changedArr.reverse();
|
|
533
|
+
}
|
|
534
|
+
/**
|
|
535
|
+
* 获取下一个100的倍数
|
|
536
|
+
* @author lxm
|
|
537
|
+
* @date 2023-09-11 10:03:46
|
|
538
|
+
* @param {number} num
|
|
539
|
+
* @return {*} {number}
|
|
540
|
+
*/
|
|
541
|
+
const getNextSort = (num) => {
|
|
542
|
+
return num + (100 - (num % 100));
|
|
543
|
+
};
|
|
544
|
+
const getSort = (deData) => {
|
|
545
|
+
return deData[sortField] || 0;
|
|
546
|
+
};
|
|
547
|
+
let lastSort;
|
|
548
|
+
changedArr.forEach((item, index) => {
|
|
549
|
+
const deData = item.deData;
|
|
550
|
+
if (lastSort === undefined) {
|
|
551
|
+
// 第一次出现要调整顺序的时候一定是从拖拽节点开始
|
|
552
|
+
if (item === draggingNode) {
|
|
553
|
+
// 如果时第一个,则排序值为100
|
|
554
|
+
if (index === 0) {
|
|
555
|
+
lastSort = 100;
|
|
556
|
+
}
|
|
557
|
+
else {
|
|
558
|
+
// 最后一个时,把前一个的排序值加100
|
|
559
|
+
lastSort = getNextSort(getSort(changedArr[index - 1].deData));
|
|
560
|
+
}
|
|
561
|
+
deData[sortField] = lastSort;
|
|
562
|
+
// 修改父的时候可能已经加入进去了
|
|
563
|
+
if (modifiedNodeDatas.indexOf(item) === -1) {
|
|
564
|
+
modifiedNodeDatas.push(item);
|
|
565
|
+
}
|
|
566
|
+
}
|
|
567
|
+
}
|
|
568
|
+
else {
|
|
569
|
+
if (lastSort >= getSort(deData)) {
|
|
570
|
+
deData[sortField] = getNextSort(lastSort);
|
|
571
|
+
modifiedNodeDatas.push(item);
|
|
572
|
+
}
|
|
573
|
+
// 更新上一个排序值
|
|
574
|
+
lastSort = getSort(deData);
|
|
575
|
+
}
|
|
576
|
+
});
|
|
577
|
+
}
|
|
578
|
+
await this.updateDeNodeData(modifiedNodeDatas);
|
|
579
|
+
// *通知界面修改移入的父节点的子节点数据
|
|
580
|
+
this.evt.emit('onAfterNodeDrop', { isChangedParent });
|
|
581
|
+
}
|
|
582
|
+
/**
|
|
583
|
+
* 更新实体节点数据
|
|
584
|
+
* @author lxm
|
|
585
|
+
* @date 2023-12-15 04:19:36
|
|
586
|
+
* @protected
|
|
587
|
+
* @param {ITreeNodeData[]} nodeDatas 节点数据集合
|
|
588
|
+
* @return {*} {Promise<void>}
|
|
589
|
+
*/
|
|
590
|
+
async updateDeNodeData(nodeDatas) {
|
|
591
|
+
const app = ibiz.hub.getApp(this.context.srfappid);
|
|
592
|
+
await Promise.all(nodeDatas.map(async (node) => {
|
|
593
|
+
const model = this.getNodeModel(node.nodeId);
|
|
594
|
+
const deData = node.deData;
|
|
595
|
+
// 往上下文添加主键
|
|
596
|
+
const deName = calcDeCodeNameById(model.appDataEntityId);
|
|
597
|
+
const tempContext = this.context.clone();
|
|
598
|
+
tempContext[deName] = deData.srfkey;
|
|
599
|
+
// 调用接口修改数据
|
|
600
|
+
const res = await app.deService.exec(model.appDataEntityId, 'update', tempContext, deData);
|
|
601
|
+
// 更新完之后更新state里的数据。
|
|
602
|
+
if (res.data) {
|
|
603
|
+
node.deData = res.data;
|
|
604
|
+
}
|
|
605
|
+
}));
|
|
606
|
+
}
|
|
607
|
+
/**
|
|
608
|
+
* 修改节点文本
|
|
609
|
+
* @author lxm
|
|
610
|
+
* @date 2023-12-15 04:32:52
|
|
611
|
+
* @param {ITreeNodeData} nodeData
|
|
612
|
+
* @param {string} text
|
|
613
|
+
* @return {*} {Promise<void>}
|
|
614
|
+
*/
|
|
615
|
+
async modifyNodeText(nodeData, text) {
|
|
616
|
+
const model = this.getNodeModel(nodeData.nodeId);
|
|
617
|
+
if (!model.allowEditText) {
|
|
618
|
+
throw new RuntimeModelError(model, '树节点没有配置编辑模式:名称');
|
|
619
|
+
}
|
|
620
|
+
if (!nodeData.deData) {
|
|
621
|
+
throw new RuntimeError('不是实体树节点数据');
|
|
622
|
+
}
|
|
623
|
+
nodeData.text = text;
|
|
624
|
+
nodeData.deData[model.textAppDEFieldId] = text;
|
|
625
|
+
await this.updateDeNodeData([nodeData]);
|
|
626
|
+
}
|
|
364
627
|
}
|
|
@@ -28,5 +28,12 @@ export interface IGlobalViewConfig {
|
|
|
28
28
|
* @type {string}
|
|
29
29
|
*/
|
|
30
30
|
expCacheMode: string;
|
|
31
|
+
/**
|
|
32
|
+
* 首页是否不采用分页导航模式
|
|
33
|
+
* @return {*}
|
|
34
|
+
* @author: zhujiamin
|
|
35
|
+
* @Date: 2023-12-12 17:40:44
|
|
36
|
+
*/
|
|
37
|
+
disableHomeTabs: boolean;
|
|
31
38
|
}
|
|
32
39
|
//# sourceMappingURL=i-global-view-config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i-global-view-config.d.ts","sourceRoot":"","sources":["../../../../src/interface/common/i-global-config/i-global-view-config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;;;;;OASG;IACH,iBAAiB,EAAE,OAAO,CAAC;IAE3B;;;;;;;;OAQG;IACH,YAAY,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"i-global-view-config.d.ts","sourceRoot":"","sources":["../../../../src/interface/common/i-global-config/i-global-view-config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;;;;;OASG;IACH,iBAAiB,EAAE,OAAO,CAAC;IAE3B;;;;;;;;OAQG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;;;;OAKG;IACH,eAAe,EAAE,OAAO,CAAC;CAC1B"}
|
|
@@ -50,6 +50,20 @@ export interface IControlController<T extends IControl = IControl, S extends ICo
|
|
|
50
50
|
* @date 2022-09-19 14:09:09
|
|
51
51
|
*/
|
|
52
52
|
endLoading(): Promise<void>;
|
|
53
|
+
/**
|
|
54
|
+
* 部件激活,主要用于用户可见时设置为激活状态
|
|
55
|
+
*
|
|
56
|
+
* @author chitanda
|
|
57
|
+
* @date 2023-12-13 11:12:04
|
|
58
|
+
*/
|
|
59
|
+
onActivated(): void;
|
|
60
|
+
/**
|
|
61
|
+
* 部件暂停激活,主要用于用户不可见时设置为非激活状态
|
|
62
|
+
*
|
|
63
|
+
* @author chitanda
|
|
64
|
+
* @date 2023-12-13 11:12:06
|
|
65
|
+
*/
|
|
66
|
+
onDeactivated(): void;
|
|
53
67
|
/**
|
|
54
68
|
* 在不改变引用的前提下,更新上下文和导航参数
|
|
55
69
|
* 并处理如自定义导航参数的后续处理
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i-control.controller.d.ts","sourceRoot":"","sources":["../../../../../src/interface/controller/controller/control/i-control.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEpE;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB,CACjC,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAC7B,CAAC,SAAS,aAAa,GAAG,aAAa,EACvC,CAAC,SAAS,aAAa,GAAG,aAAa,CACvC,SAAQ,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC5B;;;;;OAKG;IACH,IAAI,EAAE,eAAe,CAAC;IAEtB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,0BAA0B,CAAC;IAEzC;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAElC;;;;;OAKG;IACH,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9B;;;;;OAKG;IACH,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B;;;;;;OAMG;IACH,mBAAmB,CAAC,IAAI,EAAE;QAAE,OAAO,CAAC,EAAE,QAAQ,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;CAC3E"}
|
|
1
|
+
{"version":3,"file":"i-control.controller.d.ts","sourceRoot":"","sources":["../../../../../src/interface/controller/controller/control/i-control.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEpE;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB,CACjC,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAC7B,CAAC,SAAS,aAAa,GAAG,aAAa,EACvC,CAAC,SAAS,aAAa,GAAG,aAAa,CACvC,SAAQ,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC5B;;;;;OAKG;IACH,IAAI,EAAE,eAAe,CAAC;IAEtB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,0BAA0B,CAAC;IAEzC;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAElC;;;;;OAKG;IACH,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9B;;;;;OAKG;IACH,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B;;;;;OAKG;IACH,WAAW,IAAI,IAAI,CAAC;IAEpB;;;;;OAKG;IACH,aAAa,IAAI,IAAI,CAAC;IAEtB;;;;;;OAMG;IACH,mBAAmB,CAAC,IAAI,EAAE;QAAE,OAAO,CAAC,EAAE,QAAQ,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;CAC3E"}
|