@ibiz-template/runtime 0.7.41-alpha.7 → 0.7.41-alpha.8
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 +427 -287
- package/dist/index.system.min.js +1 -1
- package/out/controller/common/editor/editor.controller.d.ts.map +1 -1
- package/out/controller/common/editor/editor.controller.js +3 -0
- package/out/controller/control/data-view/data-view.controller.d.ts +9 -11
- package/out/controller/control/data-view/data-view.controller.d.ts.map +1 -1
- package/out/controller/control/data-view/data-view.controller.js +30 -37
- 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 +5 -1
- package/out/controller/control/kanban/kanban.controller.d.ts +31 -12
- package/out/controller/control/kanban/kanban.controller.d.ts.map +1 -1
- package/out/controller/control/kanban/kanban.controller.js +146 -50
- package/out/controller/ctx/ctx.js +2 -2
- package/out/interface/api/controller/control/i-api-edit-form.controller.d.ts +1 -0
- package/out/interface/api/controller/control/i-api-edit-form.controller.d.ts.map +1 -1
- package/out/interface/api/controller/control/i-api-kanban.controller.d.ts +2 -0
- package/out/interface/api/controller/control/i-api-kanban.controller.d.ts.map +1 -1
- package/out/interface/common/i-modal/i-modal.d.ts +3 -0
- package/out/interface/common/i-modal/i-modal.d.ts.map +1 -1
- package/out/interface/controller/controller/common/i-drag-change-info.d.ts +22 -14
- package/out/interface/controller/controller/common/i-drag-change-info.d.ts.map +1 -1
- package/out/interface/controller/state/control/i-data-view-control.state.d.ts +8 -0
- package/out/interface/controller/state/control/i-data-view-control.state.d.ts.map +1 -1
- package/out/interface/controller/state/control/i-kanban.state.d.ts +43 -8
- package/out/interface/controller/state/control/i-kanban.state.d.ts.map +1 -1
- package/out/interface/util/i-app-util/i-app-util.d.ts +6 -0
- package/out/interface/util/i-app-util/i-app-util.d.ts.map +1 -1
- package/out/ui-action/provider/custom-ui-action-provider.js +1 -1
- package/out/ui-action/provider/front-ui-action-provider.d.ts.map +1 -1
- package/out/ui-action/provider/front-ui-action-provider.js +54 -40
- package/out/ui-action/provider/ui-action-provider-base.d.ts +1 -0
- package/out/ui-action/provider/ui-action-provider-base.d.ts.map +1 -1
- package/out/ui-action/provider/ui-action-provider-base.js +14 -2
- package/out/ui-action/uiaction-util.js +2 -2
- package/out/ui-logic/ui-logic.d.ts.map +1 -1
- package/out/ui-logic/ui-logic.js +5 -1
- package/out/utils/modal/modal.d.ts +3 -0
- package/out/utils/modal/modal.d.ts.map +1 -1
- package/out/utils/modal/modal.js +7 -0
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor.controller.d.ts","sourceRoot":"","sources":["../../../../src/controller/common/editor/editor.controller.ts"],"names":[],"mappings":"AACA,OAAO,EACL,OAAO,EAGR,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,0BAA0B,EAC3B,MAAM,+BAA+B,CAAC;AAIvC;;;;;;;GAOG;AACH,qBAAa,gBAAgB,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,CACvD,YAAW,iBAAiB;IAE5B;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAElB;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAM;IAE3B;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,EAAG,QAAQ,CAAC;IAE5B;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,EAAG,OAAO,CAAC;IAE1B;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,0BAA0B,CAAC;IAE5C;;;;;OAKG;IACI,WAAW,SAAM;IAExB;;;;;OAKG;IACI,YAAY,EAAE,KAAK,CAAM;IAEhC;;;;;OAKG;IACI,WAAW,EAAE,KAAK,CAAM;IAE/B;;;;;;OAMG;IACH,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;;;;;OAMG;IACH,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED;;;;;;OAMG;IACH,IAAI,QAAQ,IAAI,MAAM,GAAG,SAAS,CAEjC;IAED;;;;;;OAMG;IACH,IAAI,WAAW,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"editor.controller.d.ts","sourceRoot":"","sources":["../../../../src/controller/common/editor/editor.controller.ts"],"names":[],"mappings":"AACA,OAAO,EACL,OAAO,EAGR,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,0BAA0B,EAC3B,MAAM,+BAA+B,CAAC;AAIvC;;;;;;;GAOG;AACH,qBAAa,gBAAgB,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,CACvD,YAAW,iBAAiB;IAE5B;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAElB;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAM;IAE3B;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,EAAG,QAAQ,CAAC;IAE5B;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,EAAG,OAAO,CAAC;IAE1B;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,0BAA0B,CAAC;IAE5C;;;;;OAKG;IACI,WAAW,SAAM;IAExB;;;;;OAKG;IACI,YAAY,EAAE,KAAK,CAAM;IAEhC;;;;;OAKG;IACI,WAAW,EAAE,KAAK,CAAM;IAE/B;;;;;;OAMG;IACH,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;;;;;OAMG;IACH,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED;;;;;;OAMG;IACH,IAAI,QAAQ,IAAI,MAAM,GAAG,SAAS,CAEjC;IAED;;;;;;OAMG;IACH,IAAI,WAAW,IAAI,MAAM,CAkBxB;IAED;;;;;;OAMG;IACH,IAAI,oBAAoB,IAAI,OAAO,CAGlC;IAED;;;;;OAKG;IACH,IAAI,IAAI,IAAI,eAAe,CAO1B;IAED;;;;;;OAMG;IACH,IAAI,IAAI,IAAI,kBAAkB,CAO7B;IAED;;;;;OAKG;gBACS,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,0BAA0B;IAOxD;;;;;;OAMG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;cAIX,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IA8CvC;;;;;;OAMG;IACI,kBAAkB,CACvB,IAAI,EAAE,KAAK,EACX,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,OAAO,GACd;QAAE,OAAO,EAAE,QAAQ,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE;IAgBzC;;;;;;;OAOG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,EAAE,GAAG,SAAS;IASjD;;;;;;;OAOG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIjC;;;;;;OAMG;IACH,WAAW,CAAC,KAAK,GAAE,OAAY,GAAG,MAAM;CAqBzC"}
|
|
@@ -52,6 +52,9 @@ export class EditorController {
|
|
|
52
52
|
if (this.editorParams.triggerMode) {
|
|
53
53
|
return this.editorParams.triggerMode;
|
|
54
54
|
}
|
|
55
|
+
if (this.editorParams.triggermode) {
|
|
56
|
+
return this.editorParams.triggermode;
|
|
57
|
+
}
|
|
55
58
|
const { form, grid, treeGrid } = this.parent;
|
|
56
59
|
const control = form || grid || treeGrid;
|
|
57
60
|
if (control === null || control === void 0 ? void 0 : control.controlParams.triggermode) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { IDEDataView,
|
|
1
|
+
import { IDEDataView, IUIActionGroupDetail } from '@ibiz/model-core';
|
|
2
2
|
import { CodeListItem, MDCtrlLoadParams, IApiMDGroupParams, IMDControlGroupState, IDataViewControlState, IDataViewControlEvent, IDataViewControlController } from '../../../interface';
|
|
3
3
|
import { MDControlController } from '../../common';
|
|
4
|
-
import { ControllerEvent
|
|
4
|
+
import { ControllerEvent } from '../../utils';
|
|
5
5
|
import { DataViewControlService } from './data-view.service';
|
|
6
6
|
export declare class DataViewControlController<T extends IDEDataView = IDEDataView, S extends IDataViewControlState = IDataViewControlState, E extends IDataViewControlEvent = IDataViewControlEvent> extends MDControlController<T, S, E> implements IDataViewControlController {
|
|
7
7
|
/**
|
|
@@ -94,20 +94,18 @@ export declare class DataViewControlController<T extends IDEDataView = IDEDataVi
|
|
|
94
94
|
refresh(): Promise<void>;
|
|
95
95
|
afterLoad(args: MDCtrlLoadParams, items: IData[]): Promise<IData[]>;
|
|
96
96
|
/**
|
|
97
|
-
*
|
|
98
|
-
*
|
|
99
|
-
* @return {*} {(IDEDataViewItem | null)}
|
|
97
|
+
* @description 获取操作项行为集合模型
|
|
98
|
+
* @returns {*} {IUIActionGroupDetail[]}
|
|
100
99
|
* @memberof DataViewControlController
|
|
101
100
|
*/
|
|
102
|
-
getOptItemModel():
|
|
101
|
+
getOptItemModel(): IUIActionGroupDetail[];
|
|
103
102
|
/**
|
|
104
|
-
*
|
|
105
|
-
*
|
|
106
|
-
* @
|
|
107
|
-
* @return {*}
|
|
103
|
+
* @description 计算操作项状态
|
|
104
|
+
* @param {IData[]} items
|
|
105
|
+
* @returns {*} {Promise<void>}
|
|
108
106
|
* @memberof DataViewControlController
|
|
109
107
|
*/
|
|
110
|
-
|
|
108
|
+
calcOptItemState(items: IData[]): Promise<void>;
|
|
111
109
|
/**
|
|
112
110
|
* 行为点击
|
|
113
111
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-view.controller.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/data-view/data-view.controller.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"data-view.controller.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/data-view/data-view.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,6 +32,7 @@ export class DataViewControlController extends MDControlController {
|
|
|
32
32
|
this.state.collapseKeys = [];
|
|
33
33
|
const { enablePagingBar } = this.model;
|
|
34
34
|
this.state.enablePagingBar = enablePagingBar;
|
|
35
|
+
this.state.uaState = {};
|
|
35
36
|
}
|
|
36
37
|
/**
|
|
37
38
|
* 初始化
|
|
@@ -197,56 +198,48 @@ export class DataViewControlController extends MDControlController {
|
|
|
197
198
|
await this.initGroupCodeListItems();
|
|
198
199
|
await this.handleDataGroup();
|
|
199
200
|
await this.initGroupActionStates();
|
|
201
|
+
await this.calcOptItemState(items);
|
|
200
202
|
this.calcShowMode(items);
|
|
201
203
|
return items;
|
|
202
204
|
}
|
|
203
205
|
/**
|
|
204
|
-
*
|
|
205
|
-
*
|
|
206
|
-
* @return {*} {(IDEDataViewItem | null)}
|
|
206
|
+
* @description 获取操作项行为集合模型
|
|
207
|
+
* @returns {*} {IUIActionGroupDetail[]}
|
|
207
208
|
* @memberof DataViewControlController
|
|
208
209
|
*/
|
|
209
210
|
getOptItemModel() {
|
|
210
|
-
|
|
211
|
+
const actions = [];
|
|
211
212
|
const { dedataViewItems } = this.model;
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
213
|
+
dedataViewItems === null || dedataViewItems === void 0 ? void 0 : dedataViewItems.forEach(item => {
|
|
214
|
+
if (item.itemType === 'ACTIONITEM' &&
|
|
215
|
+
item.deuiactionGroup &&
|
|
216
|
+
item.deuiactionGroup.uiactionGroupDetails) {
|
|
217
|
+
actions.push(...item.deuiactionGroup.uiactionGroupDetails);
|
|
217
218
|
}
|
|
218
|
-
}
|
|
219
|
-
return
|
|
219
|
+
});
|
|
220
|
+
return actions;
|
|
220
221
|
}
|
|
221
222
|
/**
|
|
222
|
-
*
|
|
223
|
-
*
|
|
224
|
-
* @
|
|
225
|
-
* @return {*}
|
|
223
|
+
* @description 计算操作项状态
|
|
224
|
+
* @param {IData[]} items
|
|
225
|
+
* @returns {*} {Promise<void>}
|
|
226
226
|
* @memberof DataViewControlController
|
|
227
227
|
*/
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
const buttonState = new UIActionButtonState(detail.id, this.context.srfappid, actionid, detail);
|
|
244
|
-
containerState.addState(detail.id, buttonState);
|
|
245
|
-
}
|
|
246
|
-
});
|
|
247
|
-
containerState.update(this.context, item.getOrigin());
|
|
248
|
-
}
|
|
249
|
-
return containerState;
|
|
228
|
+
async calcOptItemState(items) {
|
|
229
|
+
const actions = this.getOptItemModel();
|
|
230
|
+
if (actions.length)
|
|
231
|
+
await Promise.all(items.map(async (item) => {
|
|
232
|
+
const containerState = new ButtonContainerState();
|
|
233
|
+
actions.forEach((action) => {
|
|
234
|
+
const actionid = action.uiactionId;
|
|
235
|
+
if (actionid) {
|
|
236
|
+
const buttonState = new UIActionButtonState(action.id, this.context.srfappid, actionid);
|
|
237
|
+
containerState.addState(action.id, buttonState);
|
|
238
|
+
}
|
|
239
|
+
});
|
|
240
|
+
await containerState.update(this.context, item.getOrigin(), this.model.appDataEntityId);
|
|
241
|
+
this.state.uaState[item.srfkey] = containerState;
|
|
242
|
+
}));
|
|
250
243
|
}
|
|
251
244
|
/**
|
|
252
245
|
* 行为点击
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edit-form.service.d.ts","sourceRoot":"","sources":["../../../../../src/controller/control/form/edit-form/edit-form.service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAGd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,WAAW,EAKZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAc,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,qBAAa,eAAe,CAC1B,CAAC,SAAS,WAAW,GAAG,WAAW,CACnC,SAAQ,WAAW,CAAC,CAAC,CAAC;IACtB;;;;;;;;OAQG;IACG,GAAG,CACP,OAAO,EAAE,QAAQ,EACjB,MAAM,GAAE,OAAY,GACnB,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAgBpC;;;;;;;;OAQG;IACG,QAAQ,CACZ,OAAO,EAAE,QAAQ,EACjB,MAAM,GAAE,OAAY,GACnB,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAgBpC;;;;;;;;OAQG;IACG,MAAM,CACV,OAAO,EAAE,QAAQ,EACjB,MAAM,GAAE,OAAY,GACnB,OAAO,CAAC,aAAa,CAAC;IAUzB;;;;;;;;OAQG;IACG,MAAM,CACV,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,KAAK,GACV,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAWpC;;;;;;;;OAQG;IACG,MAAM,CACV,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,KAAK,GACV,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAWpC;;;;;;;;OAQG;IACG,MAAM,CACV,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,KAAK,GACV,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAkBpC;;;;;;;;;OASG;IACG,cAAc,CAClB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,QAAQ,EACjB,IAAI,GAAE,KAAU,EAChB,MAAM,GAAE,OAAY,GACnB,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"edit-form.service.d.ts","sourceRoot":"","sources":["../../../../../src/controller/control/form/edit-form/edit-form.service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAGd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,WAAW,EAKZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAc,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,qBAAa,eAAe,CAC1B,CAAC,SAAS,WAAW,GAAG,WAAW,CACnC,SAAQ,WAAW,CAAC,CAAC,CAAC;IACtB;;;;;;;;OAQG;IACG,GAAG,CACP,OAAO,EAAE,QAAQ,EACjB,MAAM,GAAE,OAAY,GACnB,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAgBpC;;;;;;;;OAQG;IACG,QAAQ,CACZ,OAAO,EAAE,QAAQ,EACjB,MAAM,GAAE,OAAY,GACnB,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAgBpC;;;;;;;;OAQG;IACG,MAAM,CACV,OAAO,EAAE,QAAQ,EACjB,MAAM,GAAE,OAAY,GACnB,OAAO,CAAC,aAAa,CAAC;IAUzB;;;;;;;;OAQG;IACG,MAAM,CACV,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,KAAK,GACV,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAWpC;;;;;;;;OAQG;IACG,MAAM,CACV,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,KAAK,GACV,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAWpC;;;;;;;;OAQG;IACG,MAAM,CACV,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,KAAK,GACV,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAkBpC;;;;;;;;;OASG;IACG,cAAc,CAClB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,QAAQ,EACjB,IAAI,GAAE,KAAU,EAChB,MAAM,GAAE,OAAY,GACnB,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAWpC;;;;;;;;;OASG;IACG,OAAO,CACX,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,KAAK,GACV,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAehC;;;;;;;;;OASG;IACG,QAAQ,CACZ,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,KAAK,GACV,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAuBhC;;;;;OAKG;IACH,SAAS,CAAC,aAAa,IAAI,IAAI;IA8D/B;;;;;;;OAOG;IACH,cAAc,CAAC,QAAQ,EAAE,aAAa,GAAG,aAAa,CAAC,SAAS,CAAC;CAOlE"}
|
|
@@ -119,7 +119,11 @@ export class EditFormService extends FormService {
|
|
|
119
119
|
* @returns {*} {Promise<IHttpResponse<ControlVO>>}
|
|
120
120
|
*/
|
|
121
121
|
async updateFormItem(methodName, context, data = {}, params = {}) {
|
|
122
|
-
|
|
122
|
+
var _a;
|
|
123
|
+
const { controlParam } = this.model;
|
|
124
|
+
// 识别控件动态参数ignoreupdateitem
|
|
125
|
+
const srfupdateitem = ((_a = controlParam === null || controlParam === void 0 ? void 0 : controlParam.ctrlParams) === null || _a === void 0 ? void 0 : _a.IGNOREUPDATEITEM) !== 'false';
|
|
126
|
+
Object.assign(params, { srfupdateitem });
|
|
123
127
|
let res = await this.exec(methodName, context, data, params);
|
|
124
128
|
res = this.handleResponse(res);
|
|
125
129
|
return res;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { IDEKanban, IUIActionGroupDetail } from '@ibiz/model-core';
|
|
2
|
-
import { IKanbanEvent, IKanbanState, IDragChangeInfo, MDCtrlLoadParams, IApiMDGroupParams, IKanbanController, IKanbanGroupState, IToolbarController } from '../../../interface';
|
|
2
|
+
import { IKanbanLane, IKanbanEvent, IKanbanState, IDragChangeInfo, MDCtrlLoadParams, IApiMDGroupParams, IKanbanController, IKanbanGroupState, IToolbarController } from '../../../interface';
|
|
3
3
|
import { ControlVO } from '../../../service';
|
|
4
4
|
import { DataViewControlController } from '../data-view';
|
|
5
5
|
import { KanbanService } from './kanban.service';
|
|
@@ -27,6 +27,20 @@ export declare class KanbanController extends DataViewControlController<IDEKanba
|
|
|
27
27
|
* @type {boolean}
|
|
28
28
|
*/
|
|
29
29
|
get enableEditGroup(): boolean;
|
|
30
|
+
/**
|
|
31
|
+
* @description 拖拽模式
|
|
32
|
+
* @readonly
|
|
33
|
+
* @type {(0 | 1 | 2 | 3)} (无 | 仅分组 | 仅泳道 | 全部)
|
|
34
|
+
* @memberof KanbanController
|
|
35
|
+
*/
|
|
36
|
+
get draggableMode(): 0 | 1 | 2 | 3;
|
|
37
|
+
/**
|
|
38
|
+
* @description 获取泳道描述
|
|
39
|
+
* @readonly
|
|
40
|
+
* @type {(string | undefined)}
|
|
41
|
+
* @memberof KanbanController
|
|
42
|
+
*/
|
|
43
|
+
get laneDescription(): string | undefined;
|
|
30
44
|
protected initControlService(): Promise<void>;
|
|
31
45
|
protected initState(): void;
|
|
32
46
|
/**
|
|
@@ -62,35 +76,40 @@ export declare class KanbanController extends DataViewControlController<IDEKanba
|
|
|
62
76
|
*/
|
|
63
77
|
onRowClick(_data: IData): Promise<void>;
|
|
64
78
|
/**
|
|
65
|
-
*
|
|
66
|
-
*
|
|
79
|
+
* @description 点击新建并设置设置选中分组
|
|
67
80
|
* @param {MouseEvent} event
|
|
68
|
-
* @param {(string | number)} group
|
|
81
|
+
* @param {(string | number)} group 分组
|
|
82
|
+
* @param {IKanbanLane} [lane] 泳道
|
|
69
83
|
* @memberof KanbanController
|
|
70
84
|
*/
|
|
71
|
-
onClickNew(event: MouseEvent, group: string | number): void;
|
|
85
|
+
onClickNew(event: MouseEvent, group: string | number, lane?: IKanbanLane): void;
|
|
72
86
|
/**
|
|
73
|
-
*
|
|
74
|
-
*
|
|
87
|
+
* @description 分组工具栏点击,需携带分组
|
|
75
88
|
* @param {IUIActionGroupDetail} detail
|
|
76
89
|
* @param {MouseEvent} event
|
|
77
90
|
* @param {IKanbanGroupState} group
|
|
78
|
-
* @
|
|
91
|
+
* @returns {*} {Promise<void>}
|
|
79
92
|
* @memberof KanbanController
|
|
80
93
|
*/
|
|
81
94
|
onGroupToolbarClick(detail: IUIActionGroupDetail, event: MouseEvent, group: IKanbanGroupState): Promise<void>;
|
|
82
95
|
/**
|
|
83
|
-
*
|
|
84
|
-
*
|
|
96
|
+
* @description 分组行为项点击, 需携带分组(有泳道时携带泳道)
|
|
85
97
|
* @param {IUIActionGroupDetail} detail
|
|
86
98
|
* @param {IData} item
|
|
87
99
|
* @param {MouseEvent} event
|
|
88
100
|
* @param {IKanbanGroupState} group
|
|
89
|
-
* @
|
|
101
|
+
* @param {IKanbanLane} [lane]
|
|
102
|
+
* @returns {*} {Promise<void>}
|
|
90
103
|
* @memberof KanbanController
|
|
91
104
|
*/
|
|
92
|
-
onGroupActionClick(detail: IUIActionGroupDetail, item: IData, event: MouseEvent, group: IKanbanGroupState): Promise<void>;
|
|
105
|
+
onGroupActionClick(detail: IUIActionGroupDetail, item: IData, event: MouseEvent, group: IKanbanGroupState, lane?: IKanbanLane): Promise<void>;
|
|
93
106
|
handleDataGroup(): Promise<void>;
|
|
107
|
+
/**
|
|
108
|
+
* @description 处理泳道数据
|
|
109
|
+
* @returns {*} {Promise<void>}
|
|
110
|
+
* @memberof KanbanController
|
|
111
|
+
*/
|
|
112
|
+
handleLaneData(): Promise<void>;
|
|
94
113
|
/**
|
|
95
114
|
* 处理代码表分组
|
|
96
115
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kanban.controller.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/kanban/kanban.controller.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"kanban.controller.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/kanban/kanban.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
+
/* eslint-disable no-restricted-globals */
|
|
1
3
|
/* eslint-disable no-nested-ternary */
|
|
2
4
|
/* eslint-disable prefer-destructuring */
|
|
3
5
|
import { DataTypes, RuntimeError, RuntimeModelError, } from '@ibiz-template/core';
|
|
@@ -6,7 +8,6 @@ import { calcDeCodeNameById } from '../../../model';
|
|
|
6
8
|
import { DataViewControlController } from '../data-view';
|
|
7
9
|
import { KanbanService } from './kanban.service';
|
|
8
10
|
import { UIActionUtil } from '../../../ui-action';
|
|
9
|
-
import { ButtonContainerState, UIActionButtonState } from '../../utils';
|
|
10
11
|
export class KanbanController extends DataViewControlController {
|
|
11
12
|
/**
|
|
12
13
|
* 允许调整顺序
|
|
@@ -28,6 +29,32 @@ export class KanbanController extends DataViewControlController {
|
|
|
28
29
|
get enableEditGroup() {
|
|
29
30
|
return this.model.enableCardEditGroup === true;
|
|
30
31
|
}
|
|
32
|
+
/**
|
|
33
|
+
* @description 拖拽模式
|
|
34
|
+
* @readonly
|
|
35
|
+
* @type {(0 | 1 | 2 | 3)} (无 | 仅分组 | 仅泳道 | 全部)
|
|
36
|
+
* @memberof KanbanController
|
|
37
|
+
*/
|
|
38
|
+
get draggableMode() {
|
|
39
|
+
if (this.controlParams.draggablemode) {
|
|
40
|
+
const draggablemode = Number(this.controlParams.draggablemode);
|
|
41
|
+
if (!isNaN(draggablemode))
|
|
42
|
+
return draggablemode;
|
|
43
|
+
}
|
|
44
|
+
return 3;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* @description 获取泳道描述
|
|
48
|
+
* @readonly
|
|
49
|
+
* @type {(string | undefined)}
|
|
50
|
+
* @memberof KanbanController
|
|
51
|
+
*/
|
|
52
|
+
get laneDescription() {
|
|
53
|
+
var _a;
|
|
54
|
+
if (this.controlParams.lanedescription)
|
|
55
|
+
return this.controlParams.lanedescription;
|
|
56
|
+
return (_a = this.dataEntity) === null || _a === void 0 ? void 0 : _a.logicName;
|
|
57
|
+
}
|
|
31
58
|
async initControlService() {
|
|
32
59
|
this.service = new KanbanService(this.model);
|
|
33
60
|
await this.service.init(this.context);
|
|
@@ -41,7 +68,7 @@ export class KanbanController extends DataViewControlController {
|
|
|
41
68
|
this.state.readonly = !!(this.context.srfreadonly === true || this.context.srfreadonly === 'true');
|
|
42
69
|
// 支持调整顺序和分组时
|
|
43
70
|
this.state.draggable = this.enableEditOrder || this.enableEditGroup;
|
|
44
|
-
this.state.
|
|
71
|
+
this.state.lanes = [];
|
|
45
72
|
}
|
|
46
73
|
/**
|
|
47
74
|
* 初始化
|
|
@@ -108,37 +135,10 @@ export class KanbanController extends DataViewControlController {
|
|
|
108
135
|
items.sort((a, b) => isAsc ? a[sortField] - b[sortField] : b[sortField] - a[sortField]);
|
|
109
136
|
}
|
|
110
137
|
async afterLoad(args, items) {
|
|
111
|
-
var _a;
|
|
112
138
|
// 每次加载回来先本地排序,把数据的排序属性规范一下
|
|
113
139
|
this.sortItems(this.state.items);
|
|
114
140
|
super.afterLoad(args, items);
|
|
115
|
-
|
|
116
|
-
(_a = this.model.dedataViewItems) === null || _a === void 0 ? void 0 : _a.forEach((item) => {
|
|
117
|
-
if (item.itemType === 'ACTIONITEM') {
|
|
118
|
-
if (item.deuiactionGroup && item.deuiactionGroup.uiactionGroupDetails) {
|
|
119
|
-
actions.push(...item.deuiactionGroup.uiactionGroupDetails);
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
});
|
|
123
|
-
if (actions && actions.length > 0) {
|
|
124
|
-
items.forEach((item) => {
|
|
125
|
-
const containerState = new ButtonContainerState();
|
|
126
|
-
actions.forEach((action) => {
|
|
127
|
-
const actionid = action.uiactionId;
|
|
128
|
-
if (actionid) {
|
|
129
|
-
const buttonState = new UIActionButtonState(action.id, this.context.srfappid, actionid);
|
|
130
|
-
containerState.addState(action.id, buttonState);
|
|
131
|
-
}
|
|
132
|
-
});
|
|
133
|
-
this.state.uaState[item.srfkey] = containerState;
|
|
134
|
-
});
|
|
135
|
-
}
|
|
136
|
-
items.forEach((item) => {
|
|
137
|
-
if (this.state.uaState[item.srfkey] &&
|
|
138
|
-
Object.keys(this.state.uaState[item.srfkey]).length > 0) {
|
|
139
|
-
this.state.uaState[item.srfkey].update(this.context, item.getOrigin(), this.model.appDataEntityId);
|
|
140
|
-
}
|
|
141
|
-
});
|
|
141
|
+
this.handleLaneData();
|
|
142
142
|
return items;
|
|
143
143
|
}
|
|
144
144
|
/**
|
|
@@ -167,42 +167,62 @@ export class KanbanController extends DataViewControlController {
|
|
|
167
167
|
super.onRowClick(data);
|
|
168
168
|
}
|
|
169
169
|
/**
|
|
170
|
-
*
|
|
171
|
-
*
|
|
170
|
+
* @description 点击新建并设置设置选中分组
|
|
172
171
|
* @param {MouseEvent} event
|
|
173
|
-
* @param {(string | number)} group
|
|
172
|
+
* @param {(string | number)} group 分组
|
|
173
|
+
* @param {IKanbanLane} [lane] 泳道
|
|
174
174
|
* @memberof KanbanController
|
|
175
175
|
*/
|
|
176
|
-
onClickNew(event, group) {
|
|
176
|
+
onClickNew(event, group, lane) {
|
|
177
177
|
this.setSelectGroup(group);
|
|
178
|
-
|
|
178
|
+
const params = Object.assign(Object.assign({}, this.params), { srfgroup: group });
|
|
179
|
+
if (lane)
|
|
180
|
+
Object.assign(params, { srflane: lane.key });
|
|
181
|
+
UIActionUtil.execAndResolved('new', {
|
|
182
|
+
context: this.context,
|
|
183
|
+
params,
|
|
184
|
+
data: [],
|
|
185
|
+
view: this.view,
|
|
186
|
+
ctrl: this,
|
|
187
|
+
event,
|
|
188
|
+
}, this.view.model.appId);
|
|
179
189
|
}
|
|
180
190
|
/**
|
|
181
|
-
*
|
|
182
|
-
*
|
|
191
|
+
* @description 分组工具栏点击,需携带分组
|
|
183
192
|
* @param {IUIActionGroupDetail} detail
|
|
184
193
|
* @param {MouseEvent} event
|
|
185
194
|
* @param {IKanbanGroupState} group
|
|
186
|
-
* @
|
|
195
|
+
* @returns {*} {Promise<void>}
|
|
187
196
|
* @memberof KanbanController
|
|
188
197
|
*/
|
|
189
198
|
async onGroupToolbarClick(detail, event, group) {
|
|
190
199
|
this.setSelectGroup(group.key);
|
|
191
|
-
|
|
200
|
+
const actionId = detail.uiactionId;
|
|
201
|
+
const params = Object.assign(Object.assign({}, this.params), { srfgroup: group.key });
|
|
202
|
+
await UIActionUtil.execAndResolved(actionId, {
|
|
203
|
+
context: this.context,
|
|
204
|
+
params,
|
|
205
|
+
data: group.selectedData || [],
|
|
206
|
+
view: this.view,
|
|
207
|
+
ctrl: this,
|
|
208
|
+
event,
|
|
209
|
+
}, detail.appId);
|
|
192
210
|
}
|
|
193
211
|
/**
|
|
194
|
-
*
|
|
195
|
-
*
|
|
212
|
+
* @description 分组行为项点击, 需携带分组(有泳道时携带泳道)
|
|
196
213
|
* @param {IUIActionGroupDetail} detail
|
|
197
214
|
* @param {IData} item
|
|
198
215
|
* @param {MouseEvent} event
|
|
199
216
|
* @param {IKanbanGroupState} group
|
|
200
|
-
* @
|
|
217
|
+
* @param {IKanbanLane} [lane]
|
|
218
|
+
* @returns {*} {Promise<void>}
|
|
201
219
|
* @memberof KanbanController
|
|
202
220
|
*/
|
|
203
|
-
async onGroupActionClick(detail, item, event, group) {
|
|
221
|
+
async onGroupActionClick(detail, item, event, group, lane) {
|
|
204
222
|
this.setSelectGroup(group.key);
|
|
205
223
|
const params = Object.assign(Object.assign({}, this.params), { srfgroup: group });
|
|
224
|
+
if (lane)
|
|
225
|
+
Object.assign(params, { srflane: lane.key });
|
|
206
226
|
const actionId = detail.uiactionId;
|
|
207
227
|
await UIActionUtil.execAndResolved(actionId, {
|
|
208
228
|
context: this.context,
|
|
@@ -219,6 +239,78 @@ export class KanbanController extends DataViewControlController {
|
|
|
219
239
|
}
|
|
220
240
|
return super.handleDataGroup();
|
|
221
241
|
}
|
|
242
|
+
/**
|
|
243
|
+
* @description 处理泳道数据
|
|
244
|
+
* @returns {*} {Promise<void>}
|
|
245
|
+
* @memberof KanbanController
|
|
246
|
+
*/
|
|
247
|
+
async handleLaneData() {
|
|
248
|
+
var _a;
|
|
249
|
+
const { swimlaneCodeListId, swimlaneAppDEFieldId } = this.model;
|
|
250
|
+
if (!swimlaneAppDEFieldId)
|
|
251
|
+
return;
|
|
252
|
+
let lanes = [];
|
|
253
|
+
const unclassified = {
|
|
254
|
+
count: 0,
|
|
255
|
+
key: undefined,
|
|
256
|
+
isExpand: true,
|
|
257
|
+
caption: ibiz.i18n.t('runtime.controller.common.md.unclassified'),
|
|
258
|
+
};
|
|
259
|
+
const { items } = this.state;
|
|
260
|
+
if (swimlaneCodeListId) {
|
|
261
|
+
const app = ibiz.hub.getApp(this.context.srfappid);
|
|
262
|
+
const codeListItems = await app.codeList.get(swimlaneCodeListId, this.context, this.params);
|
|
263
|
+
lanes = codeListItems.map(item => {
|
|
264
|
+
var _a;
|
|
265
|
+
return {
|
|
266
|
+
count: 0,
|
|
267
|
+
isExpand: true,
|
|
268
|
+
key: (_a = item.value) === null || _a === void 0 ? void 0 : _a.toString(),
|
|
269
|
+
caption: item.text,
|
|
270
|
+
};
|
|
271
|
+
});
|
|
272
|
+
items.forEach(item => {
|
|
273
|
+
const lane = lanes.find(l => { var _a; return l.key === ((_a = item[swimlaneAppDEFieldId]) === null || _a === void 0 ? void 0 : _a.toLowerCase()); });
|
|
274
|
+
if (lane) {
|
|
275
|
+
lane.count += 1;
|
|
276
|
+
}
|
|
277
|
+
else {
|
|
278
|
+
// 代码表没有的加入到未分类中
|
|
279
|
+
unclassified.count += 1;
|
|
280
|
+
}
|
|
281
|
+
});
|
|
282
|
+
}
|
|
283
|
+
else {
|
|
284
|
+
// 判断泳道属性是否为外键值
|
|
285
|
+
const deRss = (_a = this.dataEntity.minorAppDERSs) === null || _a === void 0 ? void 0 : _a.find(rss => rss.parentAppDEFieldId === swimlaneAppDEFieldId);
|
|
286
|
+
// 获取外键值文本属性
|
|
287
|
+
const textDEFieldId = (deRss === null || deRss === void 0 ? void 0 : deRss.parentTextAppDEFieldId) || swimlaneAppDEFieldId;
|
|
288
|
+
items.forEach(item => {
|
|
289
|
+
if (item[swimlaneAppDEFieldId]) {
|
|
290
|
+
const lane = lanes.find(l => l.key === item[swimlaneAppDEFieldId]);
|
|
291
|
+
if (lane) {
|
|
292
|
+
lane.count += 1;
|
|
293
|
+
}
|
|
294
|
+
else {
|
|
295
|
+
lanes.push({
|
|
296
|
+
count: 1,
|
|
297
|
+
isExpand: true,
|
|
298
|
+
key: item[swimlaneAppDEFieldId],
|
|
299
|
+
caption: item[textDEFieldId],
|
|
300
|
+
});
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
else {
|
|
304
|
+
// 没有值的加入到未分类中
|
|
305
|
+
unclassified.count += 1;
|
|
306
|
+
}
|
|
307
|
+
});
|
|
308
|
+
}
|
|
309
|
+
// 将未分类移动到最后
|
|
310
|
+
if (unclassified.count)
|
|
311
|
+
lanes.push(unclassified);
|
|
312
|
+
this.state.lanes = lanes;
|
|
313
|
+
}
|
|
222
314
|
/**
|
|
223
315
|
* 处理代码表分组
|
|
224
316
|
*
|
|
@@ -264,30 +356,34 @@ export class KanbanController extends DataViewControlController {
|
|
|
264
356
|
* @return {*} {Promise<void>}
|
|
265
357
|
*/
|
|
266
358
|
async onDragChange(info) {
|
|
267
|
-
var _a;
|
|
268
359
|
if (!this.enableEditGroup) {
|
|
269
360
|
if (info.from !== info.to) {
|
|
270
361
|
ibiz.message.warning(ibiz.i18n.t('runtime.controller.control.kanban.adjustmentsGroup'));
|
|
271
362
|
return;
|
|
272
363
|
}
|
|
273
364
|
}
|
|
274
|
-
const { from, to, fromIndex, toIndex } = info;
|
|
275
|
-
const
|
|
276
|
-
const
|
|
365
|
+
const { from, to, fromIndex, toIndex, fromLane, toLane } = info;
|
|
366
|
+
const { groupAppDEFieldId, minorSortAppDEFieldId, moveControlAction, laneAppDEFieldId = 'testname', } = this.model;
|
|
367
|
+
const groupField = groupAppDEFieldId;
|
|
368
|
+
const sortField = minorSortAppDEFieldId;
|
|
277
369
|
const fromGroup = this.state.groups.find(x => x.key === from);
|
|
278
370
|
const toGroup = this.state.groups.find(x => x.key === to);
|
|
279
371
|
if (!this.enableEditOrder) {
|
|
280
|
-
if (
|
|
372
|
+
if (from === to && fromLane === toLane) {
|
|
281
373
|
ibiz.message.warning(ibiz.i18n.t('runtime.controller.control.kanban.noAllowReorder'));
|
|
282
374
|
return;
|
|
283
375
|
}
|
|
284
376
|
// 只修改分组不管排序
|
|
285
377
|
const draggedItem = fromGroup.children[fromIndex];
|
|
286
|
-
|
|
378
|
+
// 变更分组
|
|
379
|
+
draggedItem[groupField] = to;
|
|
380
|
+
// 变更泳道
|
|
381
|
+
if (laneAppDEFieldId)
|
|
382
|
+
draggedItem[laneAppDEFieldId] = toLane;
|
|
287
383
|
return this.updateChangedItems([draggedItem]);
|
|
288
384
|
}
|
|
289
385
|
const originArr = [...toGroup.children];
|
|
290
|
-
const moveAction =
|
|
386
|
+
const moveAction = moveControlAction === null || moveControlAction === void 0 ? void 0 : moveControlAction.appDEMethodId;
|
|
291
387
|
if (!moveAction) {
|
|
292
388
|
throw new RuntimeModelError(this.model, ibiz.i18n.t('runtime.controller.common.md.noMoveDataCconfig'));
|
|
293
389
|
}
|
|
@@ -132,10 +132,10 @@ export class CTX {
|
|
|
132
132
|
* @return {*} {IViewController}
|
|
133
133
|
*/
|
|
134
134
|
getTopView() {
|
|
135
|
-
if (!this.parent) {
|
|
135
|
+
if (!this.parent || (this.parent && this.parent.isDestroyed)) {
|
|
136
136
|
return this.view;
|
|
137
137
|
}
|
|
138
|
-
if (this.view.modal.routeDepth === 2) {
|
|
138
|
+
if (this.view && this.view.modal.routeDepth === 2) {
|
|
139
139
|
return this.view;
|
|
140
140
|
}
|
|
141
141
|
return this.parent.getTopView();
|
|
@@ -31,6 +31,7 @@ export interface IApiFormSaveParams extends IApiDataAbilityParams {
|
|
|
31
31
|
* @ctrlparams {name:emptyhiddenunit,title:无值是否隐藏,parameterType:boolean,defaultvalue:false,description:表单项无值时,其对应的值单位(如'天'、'%'等)是否隐藏,effectPlatform:web}
|
|
32
32
|
* @ctrlparams {"name":"editmode","title":"编辑模式","parameterType":"'default' | 'hover'","defaultvalue":"'default'","description":"编辑模式。当值为 'hover'时,表单项显示时只显示值,不显示编辑器的外观,如输入框,下拉框等不显示边框,鼠标悬浮时才正常显示;值为 'default' 或者无值时,界面正常显示编辑器外观","effectPlatform":"web"}
|
|
33
33
|
* @ctrlparams {"name":"triggermode","title":"编辑器值变更模式","parameterType":"'blur' | 'input'","defaultvalue":"'blur'","description":"该配置项用于指定编辑器触发 `emit` 事件的模式。若值为 'input',则在输入框值变更时触发 change 事件;若值为 'blur',则在输入框失去焦点时触发 change 事件"}
|
|
34
|
+
* @ctrlparams {"name":ignoreupdateitem,"title":忽略表单项更新响应数据关联处理,"parameterType":boolean,defaultvalue:true,"description":该配置项用于指定是否忽略表单项更新响应数据关联处理(是否忽略dto返回数据)}
|
|
34
35
|
* @interface IApiEditFormController
|
|
35
36
|
* @extends {IApiFormController<T, S>}
|
|
36
37
|
* @template T
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i-api-edit-form.controller.d.ts","sourceRoot":"","sources":["../../../../../src/interface/api/controller/control/i-api-edit-form.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAE/E;;;;;GAKG;AACH,MAAM,WAAW,kBAAmB,SAAQ,qBAAqB;IAC/D;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED
|
|
1
|
+
{"version":3,"file":"i-api-edit-form.controller.d.ts","sourceRoot":"","sources":["../../../../../src/interface/api/controller/control/i-api-edit-form.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAE/E;;;;;GAKG;AACH,MAAM,WAAW,kBAAmB,SAAQ,qBAAqB;IAC/D;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,sBAAsB,CACrC,CAAC,SAAS,WAAW,GAAG,WAAW,EACnC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,CAC/C,SAAQ,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC;IAChC;;;;;OAKG;IACH,SAAS,CAAC,IAAI,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE3D;;;;;OAKG;IACH,IAAI,CAAC,IAAI,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEtD;;;;;OAKG;IACH,IAAI,CAAC,IAAI,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEnD;;;;;OAKG;IACH,MAAM,CAAC,IAAI,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEvD;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtD;;;;;OAKG;IACH,OAAO,CAAC,IAAI,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErD;;;;OAIG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAEnC;;;;;OAKG;IACH,cAAc,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzD"}
|
|
@@ -9,6 +9,8 @@ import { IApiDataViewControlController } from './i-api-data-view-control.control
|
|
|
9
9
|
* @export
|
|
10
10
|
* @interface IApiKanbanController
|
|
11
11
|
* @extends {IApiDataViewControlController<T, S>}
|
|
12
|
+
* @ctrlparams {"name":"draggablemode","title":"拖拽模式","defaultvalue": "3","parameterType":"0 | 1 | 2 | 3","description":"该参数控制看板的拖拽能力,可选值为:0:无拖拽, 1:仅同分组,2:仅同泳道,3:全部","effectPlatform":"web"}
|
|
13
|
+
* @ctrlparams {"name":"lanedescription","title":"泳道描述","defaultvalue": "","parameterType":"string","description":"该参数用于显示泳道的描述信息,默认为实体逻辑名称","effectPlatform":"web"}
|
|
12
14
|
* @template T
|
|
13
15
|
* @template S
|
|
14
16
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i-api-kanban.controller.d.ts","sourceRoot":"","sources":["../../../../../src/interface/api/controller/control/i-api-kanban.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,6BAA6B,EAAE,MAAM,sCAAsC,CAAC;AAErF
|
|
1
|
+
{"version":3,"file":"i-api-kanban.controller.d.ts","sourceRoot":"","sources":["../../../../../src/interface/api/controller/control/i-api-kanban.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,6BAA6B,EAAE,MAAM,sCAAsC,CAAC;AAErF;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,oBAAoB,CACnC,CAAC,SAAS,SAAS,GAAG,SAAS,EAC/B,CAAC,SAAS,eAAe,GAAG,eAAe,CAC3C,SAAQ,6BAA6B,CAAC,CAAC,EAAE,CAAC,CAAC;IAC3C;;;;;OAKG;IACH,YAAY,CAAC,SAAS,EAAE,QAAQ,GAAG,OAAO,CAAC;CAC5C"}
|
|
@@ -2,6 +2,9 @@ import { AsyncSeriesHook } from 'qx-util';
|
|
|
2
2
|
import { ViewMode } from '../../../constant';
|
|
3
3
|
import { IModalData } from '../i-modal-data/i-modal-data';
|
|
4
4
|
type ModalHooks = {
|
|
5
|
+
preDismiss: AsyncSeriesHook<[], {
|
|
6
|
+
allowNext?: boolean;
|
|
7
|
+
}>;
|
|
5
8
|
shouldDismiss: AsyncSeriesHook<[
|
|
6
9
|
], {
|
|
7
10
|
allowClose?: boolean;
|