@ibiz-template/runtime 0.6.0 → 0.6.1-dev.0
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 +343 -83
- package/dist/index.system.min.js +1 -1
- package/out/command/app/open-app-view/open-app-view.d.ts +1 -1
- package/out/command/app/open-app-view/open-app-view.d.ts.map +1 -1
- package/out/command/app/open-app-view/open-app-view.js +3 -3
- package/out/controller/constant/control/tree-grid-ex/tree-grid-ex-notify.state.d.ts +2 -1
- package/out/controller/constant/control/tree-grid-ex/tree-grid-ex-notify.state.d.ts.map +1 -1
- package/out/controller/constant/control/tree-grid-ex/tree-grid-ex-notify.state.js +1 -0
- package/out/controller/control/app-menu/app-menu.controller.d.ts +1 -1
- package/out/controller/control/app-menu/app-menu.controller.d.ts.map +1 -1
- package/out/controller/control/app-menu/app-menu.controller.js +2 -2
- package/out/controller/control/gantt/gantt.controller.d.ts +50 -14
- package/out/controller/control/gantt/gantt.controller.d.ts.map +1 -1
- package/out/controller/control/gantt/gantt.controller.js +285 -41
- package/out/controller/control/gantt/gantt.service.d.ts +7 -9
- package/out/controller/control/gantt/gantt.service.d.ts.map +1 -1
- package/out/controller/control/gantt/gantt.service.js +29 -9
- package/out/controller/control/tab-exp-panel/tab-exp-panel.controller.d.ts.map +1 -1
- package/out/controller/control/tab-exp-panel/tab-exp-panel.controller.js +1 -0
- package/out/controller/notification/internal-message.controller.d.ts.map +1 -1
- package/out/controller/notification/internal-message.controller.js +2 -3
- package/out/engine/view-base.engine.d.ts.map +1 -1
- package/out/engine/view-base.engine.js +8 -3
- package/out/interface/controller/common/i-nav-view-msg/i-nav-view-msg.d.ts +9 -0
- package/out/interface/controller/common/i-nav-view-msg/i-nav-view-msg.d.ts.map +1 -1
- package/out/interface/controller/event/control/i-gantt.event.d.ts +10 -0
- package/out/interface/controller/event/control/i-gantt.event.d.ts.map +1 -1
- package/out/interface/util/i-open-view-util/i-open-view-util.d.ts +1 -1
- package/out/interface/util/i-open-view-util/i-open-view-util.d.ts.map +1 -1
- package/out/service/vo/gantt-node-data/gantt-node-data-util.js +1 -1
- package/package.json +2 -2
- package/src/command/app/open-app-view/open-app-view.ts +3 -2
- package/src/controller/constant/control/tree-grid-ex/tree-grid-ex-notify.state.ts +1 -0
- package/src/controller/control/app-menu/app-menu.controller.ts +2 -0
- package/src/controller/control/gantt/gantt.controller.ts +354 -53
- package/src/controller/control/gantt/gantt.service.ts +38 -17
- package/src/controller/control/tab-exp-panel/tab-exp-panel.controller.ts +1 -0
- package/src/controller/notification/internal-message.controller.ts +2 -3
- package/src/engine/view-base.engine.ts +10 -3
- package/src/interface/controller/common/i-nav-view-msg/i-nav-view-msg.ts +10 -0
- package/src/interface/controller/event/control/i-gantt.event.ts +8 -1
- package/src/interface/util/i-open-view-util/i-open-view-util.ts +1 -0
- package/src/service/vo/gantt-node-data/gantt-node-data-util.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal-message.controller.d.ts","sourceRoot":"","sources":["../../../src/controller/notification/internal-message.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAkB,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAQvD,qBAAa,yBAA0B,YAAW,0BAA0B;IAC1E,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAiB;IAE7D,KAAK,EAAE,MAAM,CAAK;IAElB,WAAW,EAAE,MAAM,CAAK;IAExB;;;;;OAKG;IACH,IAAI,EAAE,MAAM,CAAK;IAEjB,IAAI,EAAE,MAAM,CAAM;IAElB,QAAQ,EAAE,gBAAgB,EAAE,CAAM;IAElC,UAAU,UAAS;IAEnB,SAAS,CAAC,OAAO,yBAAgC;IAE3C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAMrB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQrB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IASzC;;;;;OAKG;IACH,gBAAgB,CAAC,GAAG,CAAC,EAAE,OAAO,GAAG,IAAI;cAUrB,KAAK,CAAC,QAAQ,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IA6C/D;;;;;OAKG;IACH,SAAS,CAAC,UAAU,IAAI,IAAI;IAkBtB,QAAQ,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"internal-message.controller.d.ts","sourceRoot":"","sources":["../../../src/controller/notification/internal-message.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAkB,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAQvD,qBAAa,yBAA0B,YAAW,0BAA0B;IAC1E,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAiB;IAE7D,KAAK,EAAE,MAAM,CAAK;IAElB,WAAW,EAAE,MAAM,CAAK;IAExB;;;;;OAKG;IACH,IAAI,EAAE,MAAM,CAAK;IAEjB,IAAI,EAAE,MAAM,CAAM;IAElB,QAAQ,EAAE,gBAAgB,EAAE,CAAM;IAElC,UAAU,UAAS;IAEnB,SAAS,CAAC,OAAO,yBAAgC;IAE3C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAMrB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQrB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IASzC;;;;;OAKG;IACH,gBAAgB,CAAC,GAAG,CAAC,EAAE,OAAO,GAAG,IAAI;cAUrB,KAAK,CAAC,QAAQ,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IA6C/D;;;;;OAKG;IACH,SAAS,CAAC,UAAU,IAAI,IAAI;IAkBtB,QAAQ,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBxD;;;;;;OAMG;IACG,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAIjD"}
|
|
@@ -134,10 +134,9 @@ export class InternalMessageController {
|
|
|
134
134
|
if (!find) {
|
|
135
135
|
return;
|
|
136
136
|
}
|
|
137
|
-
// todo 后台接口适配
|
|
138
137
|
await this.service.markRead(message.id);
|
|
139
|
-
|
|
140
|
-
|
|
138
|
+
find.status = 'READ';
|
|
139
|
+
this.unreadCount -= 1;
|
|
141
140
|
this.evt.emit('unreadCountChange', this.unreadCount);
|
|
142
141
|
this.evt.emit('dataChange');
|
|
143
142
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view-base.engine.d.ts","sourceRoot":"","sources":["../../src/engine/view-base.engine.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,0BAA0B,EAC3B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGlD;;;;;;GAMG;AACH,qBAAa,cAAe,YAAW,WAAW;IAmEpC,SAAS,CAAC,IAAI,EAAE,eAAe;IAlE3C;;;;;;;OAOG;IACH,SAAS,KAAK,OAAO,IAAI,kBAAkB,GAAG,SAAS,CAEtD;IAED;;;;;;;OAOG;IACH,SAAS,KAAK,WAAW,IAAI,kBAAkB,GAAG,SAAS,CAE1D;IAED;;;;;;;OAOG;IACH,SAAS,KAAK,YAAY,IAAI,kBAAkB,GAAG,SAAS,CAE3D;IAED;;;;;;;OAOG;IACH,SAAS,KAAK,aAAa,IAAI,kBAAkB,GAAG,SAAS,CAE5D;IAED;;;;;;;OAOG;IACH,SAAS,KAAK,eAAe,IAAI,0BAA0B,GAAG,SAAS,CAEtE;IAED;;;;;OAKG;gBACmB,IAAI,EAAE,eAAe;IAK3C;;;;;;OAMG;IACH,SAAS,CAAC,IAAI,IAAI,IAAI;IAIhB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAMhC;;;;;;OAMG;IACH,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAMnC;;;;;;;OAOG;IACH,SAAS,CAAC,qBAAqB,IAAI,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"view-base.engine.d.ts","sourceRoot":"","sources":["../../src/engine/view-base.engine.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,0BAA0B,EAC3B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGlD;;;;;;GAMG;AACH,qBAAa,cAAe,YAAW,WAAW;IAmEpC,SAAS,CAAC,IAAI,EAAE,eAAe;IAlE3C;;;;;;;OAOG;IACH,SAAS,KAAK,OAAO,IAAI,kBAAkB,GAAG,SAAS,CAEtD;IAED;;;;;;;OAOG;IACH,SAAS,KAAK,WAAW,IAAI,kBAAkB,GAAG,SAAS,CAE1D;IAED;;;;;;;OAOG;IACH,SAAS,KAAK,YAAY,IAAI,kBAAkB,GAAG,SAAS,CAE3D;IAED;;;;;;;OAOG;IACH,SAAS,KAAK,aAAa,IAAI,kBAAkB,GAAG,SAAS,CAE5D;IAED;;;;;;;OAOG;IACH,SAAS,KAAK,eAAe,IAAI,0BAA0B,GAAG,SAAS,CAEtE;IAED;;;;;OAKG;gBACmB,IAAI,EAAE,eAAe;IAK3C;;;;;;OAMG;IACH,SAAS,CAAC,IAAI,IAAI,IAAI;IAIhB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAMhC;;;;;;OAMG;IACH,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAMnC;;;;;;;OAOG;IACH,SAAS,CAAC,qBAAqB,IAAI,MAAM,EAAE;IAmC3C;;;;;;;;;OASG;IACH,OAAO,CAAC,iBAAiB;IAqBnB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAM1B,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC;IAOzE;;;;;OAKG;IACH,SAAS,CAAC,aAAa,IAAI,IAAI;IAI/B;;;;;OAKG;IACH,SAAS,CAAC,OAAO,IAAI,KAAK,EAAE;IAI5B;;;;;;;OAOG;IACH,SAAS,CAAC,qBAAqB,IAAI,OAAO;IAsB1C;;;;;;;;OAQG;IACH,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAczC;;;;;;OAMG;IACH,SAAS,CAAC,qBAAqB,IAAI,OAAO;IAU1C;;;;;OAKG;IACG,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;CAuBtC"}
|
|
@@ -116,9 +116,6 @@ export class ViewEngineBase {
|
|
|
116
116
|
if (model.showCaptionBar === false) {
|
|
117
117
|
names.push('view_captionbar');
|
|
118
118
|
}
|
|
119
|
-
if (!getControl(model, 'toolbar')) {
|
|
120
|
-
names.push('view_toolbar', 'toolbar');
|
|
121
|
-
}
|
|
122
119
|
const toolBarList = ['lefttoolbar', 'righttoolbar', 'footertoolbar'];
|
|
123
120
|
toolBarList.forEach(name => {
|
|
124
121
|
if (!getControl(model, name)) {
|
|
@@ -132,6 +129,14 @@ export class ViewEngineBase {
|
|
|
132
129
|
if (!this.calcViewFooterVisible()) {
|
|
133
130
|
names.push('view_footer');
|
|
134
131
|
}
|
|
132
|
+
if (!this.isExistAndInLayout('lefttoolbar') &&
|
|
133
|
+
!this.isExistAndInLayout('righttoolbar') &&
|
|
134
|
+
model.showCaptionBar === false) {
|
|
135
|
+
names.push('view_toolbar');
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
else if (!getControl(model, 'toolbar')) {
|
|
139
|
+
names.push('view_toolbar', 'toolbar');
|
|
135
140
|
}
|
|
136
141
|
return names;
|
|
137
142
|
}
|
|
@@ -59,6 +59,15 @@ export interface INavViewMsg {
|
|
|
59
59
|
* @memberof INavViewMsg
|
|
60
60
|
*/
|
|
61
61
|
isCache?: boolean;
|
|
62
|
+
/**
|
|
63
|
+
* 视图打开参数
|
|
64
|
+
*
|
|
65
|
+
* @author zk
|
|
66
|
+
* @date 2024-02-06 02:02:15
|
|
67
|
+
* @type {boolean}
|
|
68
|
+
* @memberof INavViewMsg
|
|
69
|
+
*/
|
|
70
|
+
modalOptions?: IData;
|
|
62
71
|
/**
|
|
63
72
|
* 是否404
|
|
64
73
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i-nav-view-msg.d.ts","sourceRoot":"","sources":["../../../../../src/interface/controller/common/i-nav-view-msg/i-nav-view-msg.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;OAKG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,QAAQ,CAAC;IAEnB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB"}
|
|
1
|
+
{"version":3,"file":"i-nav-view-msg.d.ts","sourceRoot":"","sources":["../../../../../src/interface/controller/common/i-nav-view-msg/i-nav-view-msg.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;OAKG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,QAAQ,CAAC;IAEnB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC;IAErB;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { ITreeGridExRowState } from '../../state';
|
|
2
|
+
import { EventBase } from '../argument';
|
|
1
3
|
import { ITreeGridExEvent } from './i-tree-grid-ex.event';
|
|
2
4
|
/**
|
|
3
5
|
* 甘特图事件
|
|
@@ -9,5 +11,13 @@ import { ITreeGridExEvent } from './i-tree-grid-ex.event';
|
|
|
9
11
|
* @extends {IMDControlEvent}
|
|
10
12
|
*/
|
|
11
13
|
export interface IGanttEvent extends ITreeGridExEvent {
|
|
14
|
+
onNewRow: {
|
|
15
|
+
event: {
|
|
16
|
+
row: ITreeGridExRowState;
|
|
17
|
+
} & EventBase;
|
|
18
|
+
emitArgs: {
|
|
19
|
+
row: ITreeGridExRowState;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
12
22
|
}
|
|
13
23
|
//# sourceMappingURL=i-gantt.event.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i-gantt.event.d.ts","sourceRoot":"","sources":["../../../../../src/interface/controller/event/control/i-gantt.event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D;;;;;;;;GAQG;AACH,MAAM,WAAW,WAAY,SAAQ,gBAAgB;
|
|
1
|
+
{"version":3,"file":"i-gantt.event.d.ts","sourceRoot":"","sources":["../../../../../src/interface/controller/event/control/i-gantt.event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D;;;;;;;;GAQG;AACH,MAAM,WAAW,WAAY,SAAQ,gBAAgB;IACnD,QAAQ,EAAE;QACR,KAAK,EAAE;YAAE,GAAG,EAAE,mBAAmB,CAAA;SAAE,GAAG,SAAS,CAAC;QAChD,QAAQ,EAAE;YAAE,GAAG,EAAE,mBAAmB,CAAA;SAAE,CAAC;KACxC,CAAC;CACH"}
|
|
@@ -28,7 +28,7 @@ export interface IOpenViewUtil {
|
|
|
28
28
|
* @param {IParams} [params]
|
|
29
29
|
* @return {*} {Promise<IModalData>}
|
|
30
30
|
*/
|
|
31
|
-
root(appViewId: string, context: IContext, params?: IParams): Promise<IModalData>;
|
|
31
|
+
root(appViewId: string, context: IContext, params?: IParams, modalOptions?: IData): Promise<IModalData>;
|
|
32
32
|
/**
|
|
33
33
|
* 打开顶级视图(包含路由跳转后使用模态打开视图)
|
|
34
34
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i-open-view-util.d.ts","sourceRoot":"","sources":["../../../../src/interface/util/i-open-view-util/i-open-view-util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE3D;;;;;;;;GAQG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;;;OAOG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAExC;;;;;;;;;OASG;IACH,IAAI,CACF,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,QAAQ,EACjB,MAAM,CAAC,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"i-open-view-util.d.ts","sourceRoot":"","sources":["../../../../src/interface/util/i-open-view-util/i-open-view-util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE3D;;;;;;;;GAQG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;;;OAOG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAExC;;;;;;;;;OASG;IACH,IAAI,CACF,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,QAAQ,EACjB,MAAM,CAAC,EAAE,OAAO,EAChB,YAAY,CAAC,EAAE,KAAK,GACnB,OAAO,CAAC,UAAU,CAAC,CAAC;IAEvB;;;;;;;;;OASG;IACH,WAAW,CACT,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,QAAQ,EACjB,MAAM,CAAC,EAAE,OAAO,GACf,OAAO,CAAC,UAAU,CAAC,CAAC;IAEvB;;;;;;;;;OASG;IACH,KAAK,CACH,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,QAAQ,EACjB,MAAM,CAAC,EAAE,OAAO,GACf,OAAO,CAAC,UAAU,CAAC,CAAC;IAEvB;;;;;;;;;OASG;IACH,OAAO,CACL,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,QAAQ,EACjB,MAAM,CAAC,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,UAAU,CAAC,CAAC;IAEvB;;;;;;;;;OASG;IACH,MAAM,CACJ,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,QAAQ,EACjB,MAAM,CAAC,EAAE,OAAO,GACf,OAAO,CAAC,UAAU,CAAC,CAAC;IAEvB;;;;;;;;;OASG;IACH,MAAM,CACJ,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,QAAQ,EACjB,MAAM,CAAC,EAAE,OAAO,GACf,OAAO,CAAC,UAAU,CAAC,CAAC;CACxB"}
|
|
@@ -13,7 +13,7 @@ export const calcDataItemValue = (fieldCodeName, nodeModel, data = {}) => {
|
|
|
13
13
|
return nodeDataItem.detreeColumnId === fieldCodeName;
|
|
14
14
|
});
|
|
15
15
|
if (targetTreeNodeDataItem && targetTreeNodeDataItem.appDEFieldId) {
|
|
16
|
-
result = data[targetTreeNodeDataItem.appDEFieldId];
|
|
16
|
+
result = data[targetTreeNodeDataItem.appDEFieldId.toLowerCase()];
|
|
17
17
|
}
|
|
18
18
|
return result;
|
|
19
19
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ibiz-template/runtime",
|
|
3
|
-
"version": "0.6.0",
|
|
3
|
+
"version": "0.6.1-dev.0",
|
|
4
4
|
"description": "控制器包",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "out/index.js",
|
|
@@ -67,5 +67,5 @@
|
|
|
67
67
|
"qx-util": "^0.4.8",
|
|
68
68
|
"ramda": "^0.29.0"
|
|
69
69
|
},
|
|
70
|
-
"gitHead": "
|
|
70
|
+
"gitHead": "f8ba90e9f1894aeb26b810945b14d2875be51a97"
|
|
71
71
|
}
|
|
@@ -85,7 +85,7 @@ export class OpenAppViewCommand {
|
|
|
85
85
|
this.openIndexViewTab(appView, context, params);
|
|
86
86
|
return { ok: true };
|
|
87
87
|
}
|
|
88
|
-
return this.openIndexViewTab(appView, context, params);
|
|
88
|
+
return this.openIndexViewTab(appView, context, params, opts);
|
|
89
89
|
case 'INDEXVIEWTAB_POPUPMODAL':
|
|
90
90
|
return this.openIndexViewTabByModal(appView, context, params);
|
|
91
91
|
case 'POPUP':
|
|
@@ -122,8 +122,9 @@ export class OpenAppViewCommand {
|
|
|
122
122
|
appView: IViewConfig,
|
|
123
123
|
context: IContext,
|
|
124
124
|
params: IParams = {},
|
|
125
|
+
modalOptions: IData = {},
|
|
125
126
|
): Promise<IModalData> {
|
|
126
|
-
return ibiz.openView.root(appView.id, context, params);
|
|
127
|
+
return ibiz.openView.root(appView.id, context, params, modalOptions);
|
|
127
128
|
}
|
|
128
129
|
|
|
129
130
|
/**
|
|
@@ -110,6 +110,7 @@ export class AppMenuController
|
|
|
110
110
|
id: string,
|
|
111
111
|
event?: MouseEvent,
|
|
112
112
|
useDepth: boolean = true,
|
|
113
|
+
opts: IData = {},
|
|
113
114
|
): Promise<void> {
|
|
114
115
|
const menuItem = findRecursiveChild(this.model, id, {
|
|
115
116
|
compareField: 'id',
|
|
@@ -147,6 +148,7 @@ export class AppMenuController
|
|
|
147
148
|
menuItem.appFuncId,
|
|
148
149
|
tempContext,
|
|
149
150
|
this.params,
|
|
151
|
+
opts,
|
|
150
152
|
);
|
|
151
153
|
}
|
|
152
154
|
|
|
@@ -1,17 +1,34 @@
|
|
|
1
1
|
/* eslint-disable no-param-reassign */
|
|
2
2
|
/* eslint-disable no-prototype-builtins */
|
|
3
3
|
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
4
|
-
import {
|
|
4
|
+
import {
|
|
5
|
+
IDEGantt,
|
|
6
|
+
IDETreeDataSetNode,
|
|
7
|
+
IDETreeNode,
|
|
8
|
+
IDETreeNodeRS,
|
|
9
|
+
} from '@ibiz/model-core';
|
|
10
|
+
import { awaitTimeout, RuntimeError } from '@ibiz-template/core';
|
|
5
11
|
import {
|
|
6
12
|
IGanttController,
|
|
7
13
|
IGanttEvent,
|
|
8
14
|
IGanttNodeData,
|
|
9
15
|
IGanttState,
|
|
10
16
|
IGanttStyle,
|
|
17
|
+
ITreeNodeData,
|
|
18
|
+
MDCtrlLoadParams,
|
|
19
|
+
MDCtrlRemoveParams,
|
|
11
20
|
} from '../../../interface';
|
|
12
21
|
import { GanttService } from './gantt.service';
|
|
13
|
-
import { TreeGridExController } from '../tree-grid-ex';
|
|
14
|
-
import {
|
|
22
|
+
import { TreeGridExController, TreeGridExRowState } from '../tree-grid-ex';
|
|
23
|
+
import { GanttDataSetNodeData, Srfuf } from '../../../service';
|
|
24
|
+
import {
|
|
25
|
+
calcDeCodeNameById,
|
|
26
|
+
getChildNodeRSs,
|
|
27
|
+
getRootNode,
|
|
28
|
+
} from '../../../model';
|
|
29
|
+
import { TreeGridExNotifyState } from '../../constant';
|
|
30
|
+
import { handleAllSettled } from '../../../utils';
|
|
31
|
+
import { ControllerEvent, isValueChange } from '../../utils';
|
|
15
32
|
|
|
16
33
|
/**
|
|
17
34
|
* 甘特图控制器
|
|
@@ -29,6 +46,10 @@ export class GanttController
|
|
|
29
46
|
{
|
|
30
47
|
declare service: GanttService;
|
|
31
48
|
|
|
49
|
+
protected get _evt(): ControllerEvent<IGanttEvent> {
|
|
50
|
+
return this.evt;
|
|
51
|
+
}
|
|
52
|
+
|
|
32
53
|
/**
|
|
33
54
|
* 初始化状态
|
|
34
55
|
*
|
|
@@ -73,69 +94,349 @@ export class GanttController
|
|
|
73
94
|
}
|
|
74
95
|
|
|
75
96
|
/**
|
|
76
|
-
*
|
|
77
|
-
*
|
|
78
|
-
* @param {
|
|
79
|
-
* @param {
|
|
97
|
+
* 设置行属性的值
|
|
98
|
+
*
|
|
99
|
+
* @param {TreeGridExRowState} row
|
|
100
|
+
* @param {string} name
|
|
101
|
+
* @param {unknown} value
|
|
102
|
+
* @return {*} {Promise<void>}
|
|
80
103
|
* @memberof GanttController
|
|
81
104
|
*/
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
)
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
}
|
|
95
|
-
|
|
105
|
+
async setRowValue(
|
|
106
|
+
row: TreeGridExRowState,
|
|
107
|
+
name: string,
|
|
108
|
+
value: unknown,
|
|
109
|
+
): Promise<void> {
|
|
110
|
+
const { beginDataItemName, endDataItemName } = this.model;
|
|
111
|
+
if (
|
|
112
|
+
Object.prototype.hasOwnProperty.call(row.data, name) &&
|
|
113
|
+
!isValueChange((row.data as IData)[name], value)
|
|
114
|
+
) {
|
|
115
|
+
// `表格行数据里没有属性${name}或者${name}的值未发生改变`
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
// 改变值
|
|
119
|
+
(row.data as IData)[name] = value;
|
|
120
|
+
if (name === beginDataItemName) {
|
|
121
|
+
(row.data as IGanttNodeData)._beginDataItemValue = value as string;
|
|
122
|
+
} else if (name === endDataItemName) {
|
|
123
|
+
(row.data as IGanttNodeData)._endDataItemValue = value as string;
|
|
124
|
+
}
|
|
125
|
+
row.modified = true;
|
|
126
|
+
row.processing = true;
|
|
127
|
+
|
|
128
|
+
try {
|
|
129
|
+
await this.dataChangeNotify(row, [name]);
|
|
130
|
+
} finally {
|
|
131
|
+
row.processing = false;
|
|
132
|
+
}
|
|
96
133
|
}
|
|
97
134
|
|
|
98
135
|
/**
|
|
99
|
-
*
|
|
136
|
+
* 修改节点时间
|
|
100
137
|
*
|
|
101
|
-
* @param {
|
|
102
|
-
* @param {IData} data 更新数据
|
|
103
|
-
* @param {boolean} [isTransformData=false] 是否转化数据项
|
|
104
|
-
* @return {*}
|
|
138
|
+
* @param {IGanttNodeData} nodeData
|
|
105
139
|
* @memberof GanttController
|
|
106
140
|
*/
|
|
107
|
-
async
|
|
108
|
-
nodeData: IGanttNodeData
|
|
109
|
-
|
|
110
|
-
isTransformData: boolean = false,
|
|
141
|
+
async modifyNodeTime(
|
|
142
|
+
nodeData: IGanttNodeData,
|
|
143
|
+
{ begin, end }: { begin?: string; end?: string },
|
|
111
144
|
): Promise<void> {
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
);
|
|
116
|
-
if (!
|
|
117
|
-
|
|
145
|
+
if (nodeData._nodeType !== 'DE') {
|
|
146
|
+
throw new RuntimeError('不是实体甘特节点数据');
|
|
147
|
+
}
|
|
148
|
+
const rowState = this.getRowState(nodeData._id);
|
|
149
|
+
if (!rowState) {
|
|
150
|
+
throw new RuntimeError('行数据不存在');
|
|
151
|
+
}
|
|
152
|
+
const { beginDataItemName, endDataItemName } = this.model;
|
|
153
|
+
this.setRowValue(rowState, beginDataItemName!, begin);
|
|
154
|
+
this.setRowValue(rowState, endDataItemName!, end);
|
|
155
|
+
await this.save(rowState.data);
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* 保存
|
|
160
|
+
*
|
|
161
|
+
* @param {ITreeNodeData} nodeData
|
|
162
|
+
* @return {*} {Promise<void>}
|
|
163
|
+
* @memberof GanttController
|
|
164
|
+
*/
|
|
165
|
+
async save(nodeData: ITreeNodeData): Promise<void> {
|
|
166
|
+
if (this.state.isSimple) {
|
|
167
|
+
ibiz.log.debug('简单模式,不保存');
|
|
118
168
|
return;
|
|
119
169
|
}
|
|
120
|
-
|
|
121
|
-
if (
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
170
|
+
|
|
171
|
+
if (nodeData._nodeType !== 'DE') {
|
|
172
|
+
throw new RuntimeError('非实体节点数据不能保存');
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
const rowState = this.state.rows[nodeData._uuid];
|
|
176
|
+
if (!rowState) {
|
|
177
|
+
throw new RuntimeError('行数据不存在');
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
if (!rowState.modified) {
|
|
181
|
+
ibiz.log.debug('值没有发生改变');
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
// 如果数据正在处理中,则延迟保存
|
|
186
|
+
if (rowState.processing) {
|
|
187
|
+
await awaitTimeout(500, this.save.bind(this), [nodeData]);
|
|
188
|
+
return;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
const nodeModel = this.getNodeModel(nodeData._nodeId)!;
|
|
192
|
+
const { appDataEntityId } = nodeModel as IDETreeDataSetNode;
|
|
193
|
+
const isCreate = nodeData._deData!.srfuf === Srfuf.CREATE;
|
|
194
|
+
|
|
195
|
+
if (isCreate) {
|
|
196
|
+
return;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
// 处理接口
|
|
200
|
+
const deName = calcDeCodeNameById(appDataEntityId!);
|
|
201
|
+
const tempContext = this.context.clone();
|
|
202
|
+
tempContext[deName] = nodeData._deData!.srfkey;
|
|
203
|
+
|
|
204
|
+
const app = ibiz.hub.getApp(this.context.srfappid);
|
|
205
|
+
|
|
206
|
+
let res;
|
|
207
|
+
|
|
208
|
+
try {
|
|
209
|
+
res = await app.deService.exec(
|
|
210
|
+
appDataEntityId!,
|
|
211
|
+
isCreate ? 'create' : 'update',
|
|
212
|
+
tempContext,
|
|
213
|
+
nodeData._deData,
|
|
214
|
+
);
|
|
215
|
+
} catch (error) {
|
|
216
|
+
await this._evt.emit('onSaveError', undefined);
|
|
217
|
+
this.actionNotification(`${isCreate ? 'CREATE' : 'UPDATE'}ERROR`, {
|
|
218
|
+
error: error as Error,
|
|
219
|
+
data: rowState.data,
|
|
220
|
+
});
|
|
221
|
+
throw error;
|
|
222
|
+
}
|
|
223
|
+
// 后续处理
|
|
224
|
+
rowState.data._deData = res.data;
|
|
225
|
+
rowState.modified = false;
|
|
226
|
+
|
|
227
|
+
this.gridStateNotify(rowState, TreeGridExNotifyState.SAVE);
|
|
228
|
+
await this._evt.emit('onSaveSuccess', undefined);
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
/**
|
|
232
|
+
* 删除
|
|
233
|
+
*
|
|
234
|
+
* @param {MDCtrlRemoveParams} [args]
|
|
235
|
+
* @return {*} {Promise<void>}
|
|
236
|
+
* @memberof GanttController
|
|
237
|
+
*/
|
|
238
|
+
async remove(args?: MDCtrlRemoveParams): Promise<void> {
|
|
239
|
+
const { context, params, data } = this.handlerAbilityParams(args);
|
|
240
|
+
if (!data?.length) {
|
|
241
|
+
throw new RuntimeError('未选中数据');
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
// 删除确认提示
|
|
245
|
+
if (args?.silent !== true) {
|
|
246
|
+
const del = await ibiz.confirm.error({
|
|
247
|
+
title: '数据删除',
|
|
248
|
+
desc: '确认删除数据?',
|
|
249
|
+
});
|
|
250
|
+
if (!del) {
|
|
251
|
+
return;
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
await this._evt.emit('onBeforeRemove', undefined);
|
|
256
|
+
await this.startLoading();
|
|
257
|
+
let needRefresh = false;
|
|
258
|
+
let refreshNode!: IGanttNodeData;
|
|
259
|
+
try {
|
|
260
|
+
const app = ibiz.hub.getApp(this.context.srfappid);
|
|
261
|
+
await handleAllSettled(
|
|
262
|
+
(data as IGanttNodeData[]).map(async item => {
|
|
263
|
+
// 新建未保存的数据直接走后续删除处理逻辑
|
|
264
|
+
if (item._nodeType === 'DE') {
|
|
265
|
+
const tempContext = context.clone();
|
|
266
|
+
const nodeModel = this.getNodeModel(item._nodeId);
|
|
267
|
+
// 新建未保存的数据直接走后续删除处理逻辑
|
|
268
|
+
if (nodeModel && item._deData!.srfuf !== Srfuf.CREATE) {
|
|
269
|
+
const { appDataEntityId } = nodeModel as IDETreeDataSetNode;
|
|
270
|
+
const deName = calcDeCodeNameById(appDataEntityId!);
|
|
271
|
+
tempContext[deName] = item.srfkey;
|
|
272
|
+
// 删除后台的数据
|
|
273
|
+
await app.deService.exec(
|
|
274
|
+
appDataEntityId!,
|
|
275
|
+
'remove',
|
|
276
|
+
tempContext,
|
|
277
|
+
params,
|
|
278
|
+
);
|
|
279
|
+
if (refreshNode) {
|
|
280
|
+
refreshNode = item;
|
|
281
|
+
}
|
|
282
|
+
needRefresh = true;
|
|
283
|
+
}
|
|
284
|
+
this.afterRemove(item as GanttDataSetNodeData);
|
|
285
|
+
}
|
|
286
|
+
}),
|
|
287
|
+
);
|
|
288
|
+
|
|
289
|
+
if (args?.silent !== true) {
|
|
290
|
+
this.actionNotification('REMOVESUCCESS', {
|
|
291
|
+
data,
|
|
292
|
+
default: `数据[${data
|
|
293
|
+
.map(item => item.srfmajortext)
|
|
294
|
+
.join('、')}]删除成功!`,
|
|
129
295
|
});
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
// 刷新数据,补全这一页缺少的数据
|
|
299
|
+
if (needRefresh && !args?.notRefresh) {
|
|
300
|
+
await this.refreshNodeChildren(refreshNode, true);
|
|
301
|
+
}
|
|
302
|
+
} catch (error) {
|
|
303
|
+
await this._evt.emit('onRemoveError', undefined);
|
|
304
|
+
this.actionNotification('REMOVEERROR', {
|
|
305
|
+
error: error as Error,
|
|
306
|
+
data,
|
|
307
|
+
});
|
|
308
|
+
throw error;
|
|
309
|
+
} finally {
|
|
310
|
+
await this.endLoading();
|
|
311
|
+
}
|
|
312
|
+
this.state.selectedData = [];
|
|
313
|
+
|
|
314
|
+
await this._evt.emit('onRemoveSuccess', undefined);
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
/**
|
|
318
|
+
* 后台删除结束后界面删除逻辑
|
|
319
|
+
*
|
|
320
|
+
* @param {GanttDataSetNodeData} data
|
|
321
|
+
* @memberof GanttController
|
|
322
|
+
*/
|
|
323
|
+
afterRemove(data: GanttDataSetNodeData): void {
|
|
324
|
+
// 删除 items 里的数据
|
|
325
|
+
const index = this.state.items.findIndex(item => item._uuid === data._uuid);
|
|
326
|
+
if (index !== -1) {
|
|
327
|
+
this.state.items.splice(index, 1);
|
|
328
|
+
}
|
|
329
|
+
// 删除rows里面的数据
|
|
330
|
+
if (this.state.rows[data._uuid]) {
|
|
331
|
+
delete this.state.rows[data._uuid];
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
// 如果是新建数据 从父中删除该项子数据
|
|
335
|
+
if (data._deData.srfuf === Srfuf.CREATE && data._parent) {
|
|
336
|
+
const parentNodeData = this.getNodeData(
|
|
337
|
+
data._parent._id,
|
|
338
|
+
) as IGanttNodeData;
|
|
339
|
+
const childIndex = parentNodeData._children!.findIndex(
|
|
340
|
+
child => child._uuid === data._uuid,
|
|
341
|
+
);
|
|
342
|
+
if (childIndex !== -1) {
|
|
343
|
+
parentNodeData._children?.splice(childIndex, 1);
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
/**
|
|
349
|
+
* 新建行
|
|
350
|
+
*
|
|
351
|
+
* @param {MDCtrlLoadParams} [args={}]
|
|
352
|
+
* @return {*} {Promise<void>}
|
|
353
|
+
* @memberof GanttController
|
|
354
|
+
*/
|
|
355
|
+
async newRow(args: MDCtrlLoadParams = {}): Promise<void> {
|
|
356
|
+
const { data } = args;
|
|
357
|
+
const { editShowMode } = ibiz.config.grid;
|
|
358
|
+
|
|
359
|
+
if (editShowMode === 'row') {
|
|
360
|
+
const editingRow = Object.values(this.state.rows).find(
|
|
361
|
+
item => item.showRowEdit,
|
|
362
|
+
);
|
|
363
|
+
if (editingRow) {
|
|
364
|
+
throw new RuntimeError('请先完成当前行编辑中的行的操作');
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
let parentModel: IDETreeNode | undefined;
|
|
369
|
+
let parentNodeData: IGanttNodeData;
|
|
370
|
+
if (data) {
|
|
371
|
+
const item = (Array.isArray(data) ? data[0] : data) as IGanttNodeData;
|
|
372
|
+
parentNodeData = this.getNodeData(item._id) as IGanttNodeData;
|
|
373
|
+
parentModel = this.getNodeModel(parentNodeData._nodeId);
|
|
374
|
+
} else {
|
|
375
|
+
parentNodeData = this.state.rootNodes[0] as IGanttNodeData;
|
|
376
|
+
parentModel = getRootNode(this.model);
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
if (parentModel) {
|
|
380
|
+
const nodeRSs = getChildNodeRSs(this.model, {
|
|
381
|
+
parentId: parentModel.id,
|
|
382
|
+
hasQuery: false,
|
|
383
|
+
});
|
|
384
|
+
|
|
385
|
+
let nodeRS: IDETreeNodeRS | undefined;
|
|
386
|
+
let nodeModel: IDETreeDataSetNode | undefined;
|
|
387
|
+
|
|
388
|
+
nodeRSs.forEach(_nodeRS => {
|
|
389
|
+
const childNode = this.getNodeModel(_nodeRS.childDETreeNodeId!);
|
|
390
|
+
if (childNode?.treeNodeType === 'DE' && childNode.appDataEntityId) {
|
|
391
|
+
nodeRS = _nodeRS;
|
|
392
|
+
nodeModel = childNode;
|
|
393
|
+
}
|
|
394
|
+
});
|
|
395
|
+
|
|
396
|
+
if (nodeModel) {
|
|
397
|
+
let draftData;
|
|
398
|
+
try {
|
|
399
|
+
draftData = await this.service.getNodeDraft(
|
|
400
|
+
nodeModel,
|
|
401
|
+
nodeRS,
|
|
402
|
+
parentNodeData,
|
|
403
|
+
{
|
|
404
|
+
hasQuery: false,
|
|
405
|
+
context: this.context.clone(),
|
|
406
|
+
params: this.params,
|
|
407
|
+
},
|
|
408
|
+
);
|
|
409
|
+
} catch (error) {
|
|
410
|
+
this.actionNotification('GETDRAFTERROR', {
|
|
411
|
+
error: error as Error,
|
|
412
|
+
});
|
|
413
|
+
throw error;
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
// 填充新建默认值
|
|
417
|
+
const defaultVal = this.calcDefaultValue(draftData, true);
|
|
418
|
+
Object.assign(draftData, defaultVal);
|
|
419
|
+
|
|
420
|
+
// 将子数据挂载到父数据下
|
|
421
|
+
const parentRow = this.getRowState(parentNodeData._id);
|
|
422
|
+
|
|
423
|
+
if (parentNodeData._children?.length) {
|
|
424
|
+
parentNodeData._children.push(draftData);
|
|
425
|
+
} else {
|
|
426
|
+
parentNodeData._children = [draftData];
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
this.state.items.push(draftData);
|
|
430
|
+
const rowState = new TreeGridExRowState(draftData, this);
|
|
431
|
+
this.state.rows[draftData._uuid] = rowState;
|
|
432
|
+
this.gridStateNotify(rowState, TreeGridExNotifyState.DRAFT);
|
|
433
|
+
|
|
434
|
+
if (editShowMode === 'row') {
|
|
435
|
+
this.switchRowEdit(rowState, true);
|
|
138
436
|
}
|
|
437
|
+
|
|
438
|
+
this._evt.emit('onNewRow', { row: parentRow! });
|
|
439
|
+
this.actionNotification('GETDRAFTSUCCESS', { data: draftData });
|
|
139
440
|
}
|
|
140
441
|
}
|
|
141
442
|
}
|