@ibiz-template/runtime 0.0.2-beta.1 → 0.0.3-beta.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/system/index.system.js +1 -1
- package/out/controller/control/grid/grid-field-column.d.ts.map +1 -1
- package/out/controller/control/grid/grid-field-column.js +7 -1
- package/out/controller/control/tree.d.ts +8 -1
- package/out/controller/control/tree.d.ts.map +1 -1
- package/out/controller/control/tree.js +18 -2
- package/out/controller/control/view-panel.d.ts.map +1 -1
- package/out/controller/control/view-panel.js +0 -1
- package/out/controller/interface/ability/view/i-tab-exp-view-ability.d.ts +12 -0
- package/out/controller/interface/ability/view/i-tab-exp-view-ability.d.ts.map +1 -0
- package/out/controller/interface/ability/view/i-tab-exp-view-ability.js +1 -0
- package/out/controller/interface/ability/view/index.d.ts +1 -0
- package/out/controller/interface/ability/view/index.d.ts.map +1 -1
- package/out/controller/interface/ability/view/index.js +1 -0
- package/out/controller/interface/event/view/i-tab-exp-view-event.d.ts +12 -0
- package/out/controller/interface/event/view/i-tab-exp-view-event.d.ts.map +1 -0
- package/out/controller/interface/event/view/i-tab-exp-view-event.js +1 -0
- package/out/controller/interface/event/view/index.d.ts +1 -0
- package/out/controller/interface/event/view/index.d.ts.map +1 -1
- package/out/controller/interface/event/view/index.js +1 -0
- package/out/controller/neuron/nerve/view/index.d.ts +1 -0
- package/out/controller/neuron/nerve/view/index.d.ts.map +1 -1
- package/out/controller/neuron/nerve/view/index.js +1 -0
- package/out/controller/neuron/nerve/view/tab-exp-view-nerve.d.ts +26 -0
- package/out/controller/neuron/nerve/view/tab-exp-view-nerve.d.ts.map +1 -0
- package/out/controller/neuron/nerve/view/tab-exp-view-nerve.js +46 -0
- package/out/controller/neuron/neuron/view.d.ts +4 -2
- package/out/controller/neuron/neuron/view.d.ts.map +1 -1
- package/out/controller/neuron/neuron/view.js +2 -0
- package/out/controller/utils/code-list/code-list.d.ts +1 -1
- package/out/controller/utils/code-list/code-list.d.ts.map +1 -1
- package/out/controller/utils/code-list/code-list.js +7 -1
- package/out/controller/view/edit-view.d.ts +3 -11
- package/out/controller/view/edit-view.d.ts.map +1 -1
- package/out/controller/view/edit-view.js +3 -23
- package/out/controller/view/index.d.ts +2 -0
- package/out/controller/view/index.d.ts.map +1 -1
- package/out/controller/view/index.js +2 -0
- package/out/controller/view/main-view.d.ts +45 -0
- package/out/controller/view/main-view.d.ts.map +1 -0
- package/out/controller/view/main-view.js +50 -0
- package/out/controller/view/tab-exp-view.d.ts +28 -0
- package/out/controller/view/tab-exp-view.d.ts.map +1 -0
- package/out/controller/view/tab-exp-view.js +44 -0
- package/out/controller/view/view.d.ts.map +1 -1
- package/out/controller/view/view.js +3 -3
- package/out/interface/i-modal/i-modal.d.ts +7 -0
- package/out/interface/i-modal/i-modal.d.ts.map +1 -1
- package/out/service/service/widget/tree-service.d.ts +38 -5
- package/out/service/service/widget/tree-service.d.ts.map +1 -1
- package/out/service/service/widget/tree-service.js +43 -20
- package/out/service/vo/tree-node-data.d.ts +1 -1
- package/out/service/vo/tree-node-data.d.ts.map +1 -1
- package/out/utils/app-de-ui-action-util/handler/front-ui-action-handler.d.ts.map +1 -1
- package/out/utils/app-de-ui-action-util/handler/front-ui-action-handler.js +19 -7
- package/package.json +4 -4
- package/src/controller/control/grid/grid-field-column.ts +7 -1
- package/src/controller/control/tree.ts +19 -3
- package/src/controller/control/view-panel.ts +0 -1
- package/src/controller/interface/ability/view/i-tab-exp-view-ability.ts +12 -0
- package/src/controller/interface/ability/view/index.ts +1 -0
- package/src/controller/interface/event/view/i-tab-exp-view-event.ts +12 -0
- package/src/controller/interface/event/view/index.ts +1 -0
- package/src/controller/neuron/nerve/view/index.ts +1 -0
- package/src/controller/neuron/nerve/view/tab-exp-view-nerve.ts +52 -0
- package/src/controller/neuron/neuron/view.ts +6 -0
- package/src/controller/utils/code-list/code-list.ts +7 -2
- package/src/controller/view/edit-view.ts +3 -23
- package/src/controller/view/index.ts +2 -0
- package/src/controller/view/main-view.ts +76 -0
- package/src/controller/view/tab-exp-view.ts +55 -0
- package/src/controller/view/view.ts +6 -3
- package/src/interface/i-modal/i-modal.ts +8 -0
- package/src/service/service/widget/tree-service.ts +76 -23
- package/src/service/vo/tree-node-data.ts +3 -1
- package/src/utils/app-de-ui-action-util/handler/front-ui-action-handler.ts +33 -20
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { createUUID } from 'qx-util';
|
|
2
|
+
import { ViewMode } from '../../constant';
|
|
3
|
+
import { TabExpViewNerve } from '../neuron';
|
|
4
|
+
import { MainViewController } from './main-view';
|
|
5
|
+
/**
|
|
6
|
+
* 分页导航视图控制器
|
|
7
|
+
*
|
|
8
|
+
* @author lxm
|
|
9
|
+
* @date 2022-09-08 16:09:49
|
|
10
|
+
* @export
|
|
11
|
+
* @class TabExpViewController
|
|
12
|
+
* @extends {MainViewController}
|
|
13
|
+
*/
|
|
14
|
+
export class TabExpViewController extends MainViewController {
|
|
15
|
+
constructor() {
|
|
16
|
+
super(...arguments);
|
|
17
|
+
/**
|
|
18
|
+
* 分页面板绘制参数
|
|
19
|
+
*
|
|
20
|
+
* @memberof TabExpViewController
|
|
21
|
+
*/
|
|
22
|
+
this.tabExpPages = {};
|
|
23
|
+
}
|
|
24
|
+
createNerve() {
|
|
25
|
+
return new TabExpViewNerve(this);
|
|
26
|
+
}
|
|
27
|
+
async onInit() {
|
|
28
|
+
await super.onInit();
|
|
29
|
+
// 初始化drPages
|
|
30
|
+
const { tabExpPages } = this.model.tabExpPanel;
|
|
31
|
+
if (tabExpPages.length) {
|
|
32
|
+
tabExpPages.forEach(page => {
|
|
33
|
+
this.tabExpPages[page.name] = {
|
|
34
|
+
key: createUUID(),
|
|
35
|
+
};
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
this.nerve.self.evt.on('mounted', () => {
|
|
39
|
+
if (this.modal.mode !== ViewMode.EMBED && this.model.source.loadDefault) {
|
|
40
|
+
this.load();
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../src/controller/view/view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../src/controller/view/view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAEL,eAAe,EACf,mBAAmB,EACnB,SAAS,EACV,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAIrD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD;;;;;;;GAOG;AACH,qBAAa,cAAc,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS;IA+GhD,SAAS,EAAE,MAAM;IA9G1B;;;;;;;OAOG;IACH,KAAK,EAAG,CAAC,CAAC;IAEV;;;;;;OAMG;IACH,GAAG,EAAG,WAAW,CAAC;IAElB;;;;;;OAMG;IACH,KAAK,EAAE,MAAM,CAA4B;IAEzC;;;;;;OAMG;IACH,OAAO,EAAE,WAAW,CAAC;IAErB;;;;;;OAMG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;;;;;OAMG;IACH,QAAQ,EAAE,OAAO,CAAS;IAE1B;;;;;;OAMG;IACH,KAAK,EAAG,SAAS,CAAC;IAElB;;;;;;OAMG;IACH,OAAO,EAAG,MAAM,CAAC;IAEjB;;;;;;OAMG;IACH,YAAY,EAAE,qBAAqB,GAAG,IAAI,CAAQ;IAElD;;;;;OAKG;IACH,WAAW,eAAsB;IAEjC;;;;;;OAMG;IACH,SAAS,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAAA;KAAE,CAAM;IAEpD;;;;;;;;;OASG;gBAEM,SAAS,EAAE,MAAM,EACxB,OAAO,EAAE,QAAQ,EACjB,MAAM,GAAE,OAAY;IAOtB;;;;;;;OAOG;IACH,SAAS,CAAC,WAAW,IAAI,SAAS;IAIlC;;;;;;;OAOG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAU3B;;;;;;;OAOG;cACa,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAWvC;;;;;;OAMG;IACH,gBAAgB,IAAI,IAAI;IAsBxB;;;;;;OAMG;IACH,SAAS,CAAC,gBAAgB,IAAI,IAAI;IAuBlC;;;;;;OAMG;IACH,OAAO,IAAI,IAAI;IAIf;;;;;OAKG;IACG,OAAO;IAIb;;;;;;;;OAQG;IACH,OAAO,IAAI,KAAK,EAAE;IAIlB;;;;;OAKG;IACG,SAAS,CAAC,IAAI,GAAE,UAA+C;IAIrE;;;;;;OAMG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAKrC;;;;;;OAMG;IACH,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI;IAKnC;;;;;;;OAOG;IAEH,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,GAAG,IAAI;IAK3C;;;;;;;OAOG;IACG,cAAc,CAClB,IAAI,EAAE,mBAAmB,EACzB,KAAK,EAAE,UAAU,GAChB,OAAO,CAAC,IAAI,CAAC;IAehB;;;;;;;;OAQG;IACG,gBAAgB,CACpB,YAAY,EAAE,eAAe,EAC7B,IAAI,EAAE,KAAK,EAAE,EACb,KAAK,CAAC,EAAE,UAAU,GACjB,OAAO,CAAC,IAAI,CAAC;IAOhB;;;;;;OAMG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM;IAM1B;;;;;OAKG;IACH,gBAAgB;IAIhB;;;;;OAKG;IACH,cAAc;CAGf"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IBizContext
|
|
1
|
+
import { IBizContext } from '@ibiz-template/core';
|
|
2
2
|
import { DefectModelError, } from '@ibiz-template/model';
|
|
3
3
|
import { createUUID, notNilEmpty } from 'qx-util';
|
|
4
4
|
import { LoadingState } from '../utils/loading/loading-state';
|
|
@@ -250,12 +250,12 @@ export class ViewController {
|
|
|
250
250
|
*/
|
|
251
251
|
async onToolbarClick(item, event) {
|
|
252
252
|
if (!item.getPSAppViewUIAction()) {
|
|
253
|
-
throw new DefectModelError(item, '
|
|
253
|
+
throw new DefectModelError(item, '没有配置界面行为!');
|
|
254
254
|
}
|
|
255
255
|
const viewLogicKey = `${item.getPSAppViewUIAction().name}_click`;
|
|
256
256
|
const appViewLogic = this.model.source.findPSAppViewLogic(viewLogicKey);
|
|
257
257
|
if (!appViewLogic) {
|
|
258
|
-
throw new
|
|
258
|
+
throw new DefectModelError(item.getPSAppViewUIAction(), '没有找到对应的视图逻辑');
|
|
259
259
|
}
|
|
260
260
|
return this.executeViewLogic(appViewLogic, this.getData(), event);
|
|
261
261
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i-modal.d.ts","sourceRoot":"","sources":["../../../src/interface/i-modal/i-modal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C;;;;;;;GAOG;AACH,MAAM,WAAW,MAAM;IACrB;;;;;;OAMG;IACH,IAAI,EAAE,QAAQ,CAAC;IAEf;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,IAAI,CAAC;CAC5C"}
|
|
1
|
+
{"version":3,"file":"i-modal.d.ts","sourceRoot":"","sources":["../../../src/interface/i-modal/i-modal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C;;;;;;;GAOG;AACH,MAAM,WAAW,MAAM;IACrB;;;;;;OAMG;IACH,IAAI,EAAE,QAAQ,CAAC;IAEf;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,IAAI,CAAC;CAC5C"}
|
|
@@ -1,6 +1,29 @@
|
|
|
1
|
-
import { IPSDETreeCodeListNode, IPSDETreeDataSetNode, IPSDETreeStaticNode, TreeModel } from '@ibiz-template/model';
|
|
1
|
+
import { IPSDETreeCodeListNode, IPSDETreeDataSetNode, IPSDETreeNode, IPSDETreeStaticNode, TreeModel } from '@ibiz-template/model';
|
|
2
2
|
import { TreeNodeData } from '../../vo/tree-node-data';
|
|
3
3
|
import { MDControlService } from './md-control-service';
|
|
4
|
+
interface TreeFetchOpts {
|
|
5
|
+
/**
|
|
6
|
+
* 是否有过滤搜索
|
|
7
|
+
*
|
|
8
|
+
* @type {boolean}
|
|
9
|
+
* @memberof TreeFetchOpts
|
|
10
|
+
*/
|
|
11
|
+
hasQuery: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* 上下文
|
|
14
|
+
*
|
|
15
|
+
* @type {IContext}
|
|
16
|
+
* @memberof TreeFetchOpts
|
|
17
|
+
*/
|
|
18
|
+
context: IContext;
|
|
19
|
+
/**
|
|
20
|
+
* 视图参数
|
|
21
|
+
*
|
|
22
|
+
* @type {IParams}
|
|
23
|
+
* @memberof TreeFetchOpts
|
|
24
|
+
*/
|
|
25
|
+
params: IParams;
|
|
26
|
+
}
|
|
4
27
|
/**
|
|
5
28
|
* 树部件服务
|
|
6
29
|
*
|
|
@@ -26,7 +49,8 @@ export declare class TreeService extends MDControlService<TreeModel> {
|
|
|
26
49
|
* @returns {*}
|
|
27
50
|
* @memberof TreeService
|
|
28
51
|
*/
|
|
29
|
-
fetchChildNodes(parentNode
|
|
52
|
+
fetchChildNodes(parentNode: TreeNodeData | undefined, opts: TreeFetchOpts): Promise<TreeNodeData[] | undefined>;
|
|
53
|
+
getBaseNodeData(nodeModel: IPSDETreeNode, opts: TreeFetchOpts): TreeNodeData;
|
|
30
54
|
/**
|
|
31
55
|
* 获取静态节点数据
|
|
32
56
|
*
|
|
@@ -36,7 +60,7 @@ export declare class TreeService extends MDControlService<TreeModel> {
|
|
|
36
60
|
* @returns {*}
|
|
37
61
|
* @memberof TreeService
|
|
38
62
|
*/
|
|
39
|
-
protected getStaticNodeData(nodeModel: IPSDETreeStaticNode,
|
|
63
|
+
protected getStaticNodeData(nodeModel: IPSDETreeStaticNode, opts: TreeFetchOpts): Promise<TreeNodeData>;
|
|
40
64
|
/**
|
|
41
65
|
* 获取实体数据集数据
|
|
42
66
|
*
|
|
@@ -45,7 +69,16 @@ export declare class TreeService extends MDControlService<TreeModel> {
|
|
|
45
69
|
* @param {boolean} [_hasQuery=false]
|
|
46
70
|
* @memberof TreeService
|
|
47
71
|
*/
|
|
48
|
-
protected getDENodeDatas(nodeModel: IPSDETreeDataSetNode,
|
|
49
|
-
|
|
72
|
+
protected getDENodeDatas(nodeModel: IPSDETreeDataSetNode, opts: TreeFetchOpts): Promise<any>;
|
|
73
|
+
/**
|
|
74
|
+
* 获取代码表节点数据
|
|
75
|
+
*
|
|
76
|
+
* @protected
|
|
77
|
+
* @param {IPSDETreeCodeListNode} _nodeModel
|
|
78
|
+
* @param {TreeFetchOpts} _opts
|
|
79
|
+
* @memberof TreeService
|
|
80
|
+
*/
|
|
81
|
+
protected getCodeListNodeDatas(_nodeModel: IPSDETreeCodeListNode, _opts: TreeFetchOpts): Promise<void>;
|
|
50
82
|
}
|
|
83
|
+
export {};
|
|
51
84
|
//# sourceMappingURL=tree-service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree-service.d.ts","sourceRoot":"","sources":["../../../../src/service/service/widget/tree-service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,SAAS,EACV,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD;;;;;;;;GAQG;AACH,qBAAa,WAAY,SAAQ,gBAAgB,CAAC,SAAS,CAAC;IAC1D;;;;;OAKG;IACH,aAAa;IAKb;;;;;;;OAOG;IACG,eAAe,
|
|
1
|
+
{"version":3,"file":"tree-service.d.ts","sourceRoot":"","sources":["../../../../src/service/service/widget/tree-service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,aAAa,EACb,mBAAmB,EACnB,SAAS,EACV,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,UAAU,aAAa;IACrB;;;;;OAKG;IACH,QAAQ,EAAE,OAAO,CAAC;IAClB;;;;;OAKG;IACH,OAAO,EAAE,QAAQ,CAAC;IAClB;;;;;OAKG;IACH,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;;;GAQG;AACH,qBAAa,WAAY,SAAQ,gBAAgB,CAAC,SAAS,CAAC;IAC1D;;;;;OAKG;IACH,aAAa;IAKb;;;;;;;OAOG;IACG,eAAe,CACnB,UAAU,EAAE,YAAY,GAAG,SAAS,EACpC,IAAI,EAAE,aAAa;IAgDrB,eAAe,CAAC,SAAS,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa;IAgB7D;;;;;;;;OAQG;cACa,iBAAiB,CAC/B,SAAS,EAAE,mBAAmB,EAC9B,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,YAAY,CAAC;IAYxB;;;;;;;OAOG;cACa,cAAc,CAC5B,SAAS,EAAE,oBAAoB,EAC/B,IAAI,EAAE,aAAa;IAkBrB;;;;;;;OAOG;cACa,oBAAoB,CAClC,UAAU,EAAE,qBAAqB,EACjC,KAAK,EAAE,aAAa;CAIvB"}
|
|
@@ -27,21 +27,21 @@ export class TreeService extends MDControlService {
|
|
|
27
27
|
* @returns {*}
|
|
28
28
|
* @memberof TreeService
|
|
29
29
|
*/
|
|
30
|
-
async fetchChildNodes(parentNode,
|
|
31
|
-
const childNodeModels = this.model.getChildNodes((parentNode === null || parentNode === void 0 ? void 0 : parentNode.nodeId) || this.model.rootNode.id, hasQuery);
|
|
30
|
+
async fetchChildNodes(parentNode, opts) {
|
|
31
|
+
const childNodeModels = this.model.getChildNodes((parentNode === null || parentNode === void 0 ? void 0 : parentNode.nodeId) || this.model.rootNode.id, opts.hasQuery);
|
|
32
32
|
if (childNodeModels.length === 0) {
|
|
33
33
|
return;
|
|
34
34
|
}
|
|
35
35
|
const results = await Promise.allSettled(childNodeModels.map(async (childNode) => {
|
|
36
36
|
if (childNode.treeNodeType === 'STATIC') {
|
|
37
|
-
const nodeData = await this.getStaticNodeData(childNode);
|
|
37
|
+
const nodeData = await this.getStaticNodeData(childNode.source, opts);
|
|
38
38
|
return [nodeData];
|
|
39
39
|
}
|
|
40
40
|
if (childNode.treeNodeType === 'DE') {
|
|
41
|
-
return this.getDENodeDatas(childNode,
|
|
41
|
+
return this.getDENodeDatas(childNode.source, opts);
|
|
42
42
|
}
|
|
43
43
|
if (childNode.treeNodeType === 'CODELIST') {
|
|
44
|
-
return this.getCodeListNodeDatas(childNode,
|
|
44
|
+
return this.getCodeListNodeDatas(childNode.source, opts);
|
|
45
45
|
}
|
|
46
46
|
return null;
|
|
47
47
|
}));
|
|
@@ -54,6 +54,20 @@ export class TreeService extends MDControlService {
|
|
|
54
54
|
return childrenNodes;
|
|
55
55
|
// todo 查询回来之后,看是否默认打开,默认展开继续递归加载子节点。
|
|
56
56
|
}
|
|
57
|
+
getBaseNodeData(nodeModel, opts) {
|
|
58
|
+
const nodeData = {
|
|
59
|
+
nodeId: nodeModel.nodeType,
|
|
60
|
+
id: nodeModel.nodeType,
|
|
61
|
+
text: '',
|
|
62
|
+
leaf: this.model.getChildNodes(nodeModel.nodeType, opts.hasQuery).length ===
|
|
63
|
+
0,
|
|
64
|
+
};
|
|
65
|
+
if (nodeData.leaf === false) {
|
|
66
|
+
nodeData.children = [];
|
|
67
|
+
// nodeData.loading = false;
|
|
68
|
+
}
|
|
69
|
+
return nodeData;
|
|
70
|
+
}
|
|
57
71
|
/**
|
|
58
72
|
* 获取静态节点数据
|
|
59
73
|
*
|
|
@@ -63,20 +77,14 @@ export class TreeService extends MDControlService {
|
|
|
63
77
|
* @returns {*}
|
|
64
78
|
* @memberof TreeService
|
|
65
79
|
*/
|
|
66
|
-
async getStaticNodeData(nodeModel,
|
|
67
|
-
const
|
|
68
|
-
|
|
69
|
-
id: nodeModel.nodeType,
|
|
70
|
-
text: nodeModel.text,
|
|
71
|
-
leaf: true,
|
|
72
|
-
};
|
|
73
|
-
treeData.leaf =
|
|
74
|
-
this.model.getChildNodes(treeData.nodeId, hasQuery).length === 0;
|
|
80
|
+
async getStaticNodeData(nodeModel, opts) {
|
|
81
|
+
const nodeData = this.getBaseNodeData(nodeModel, opts);
|
|
82
|
+
nodeData.text = nodeModel.text;
|
|
75
83
|
// todo 仅展开首节点
|
|
76
84
|
if (nodeModel.expanded) {
|
|
77
|
-
|
|
85
|
+
nodeData.children = await this.fetchChildNodes(nodeData, opts);
|
|
78
86
|
}
|
|
79
|
-
return
|
|
87
|
+
return nodeData;
|
|
80
88
|
}
|
|
81
89
|
/**
|
|
82
90
|
* 获取实体数据集数据
|
|
@@ -86,15 +94,30 @@ export class TreeService extends MDControlService {
|
|
|
86
94
|
* @param {boolean} [_hasQuery=false]
|
|
87
95
|
* @memberof TreeService
|
|
88
96
|
*/
|
|
89
|
-
async getDENodeDatas(nodeModel,
|
|
97
|
+
async getDENodeDatas(nodeModel, opts) {
|
|
90
98
|
const appde = nodeModel.getPSAppDataEntity();
|
|
91
99
|
await appde.fill();
|
|
92
100
|
const methodName = nodeModel.getPSAppDEDataSet().codeName;
|
|
93
101
|
const service = await this.app.es.getService(appde.codeName);
|
|
94
|
-
const response = await service.exec(methodName,
|
|
95
|
-
|
|
102
|
+
const response = await service.exec(methodName, opts.context, opts.params);
|
|
103
|
+
const baseNodeData = this.getBaseNodeData(nodeModel, opts);
|
|
104
|
+
if (response.data.length) {
|
|
105
|
+
const nodeDatas = response.data.map((item) => {
|
|
106
|
+
return Object.assign(Object.assign({}, baseNodeData), { id: item.srfkey, text: item.srfmajortext });
|
|
107
|
+
});
|
|
108
|
+
return nodeDatas;
|
|
109
|
+
}
|
|
110
|
+
return [];
|
|
96
111
|
}
|
|
97
|
-
|
|
112
|
+
/**
|
|
113
|
+
* 获取代码表节点数据
|
|
114
|
+
*
|
|
115
|
+
* @protected
|
|
116
|
+
* @param {IPSDETreeCodeListNode} _nodeModel
|
|
117
|
+
* @param {TreeFetchOpts} _opts
|
|
118
|
+
* @memberof TreeService
|
|
119
|
+
*/
|
|
120
|
+
async getCodeListNodeDatas(_nodeModel, _opts) {
|
|
98
121
|
// todo 代码表查询
|
|
99
122
|
}
|
|
100
123
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree-node-data.d.ts","sourceRoot":"","sources":["../../../src/service/vo/tree-node-data.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;;OAKG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;;;OAKG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;;;;OAKG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;;;OAKG;IACH,IAAI,EAAE,OAAO,CAAC;IAEd;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"tree-node-data.d.ts","sourceRoot":"","sources":["../../../src/service/vo/tree-node-data.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;;OAKG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;;;OAKG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;;;;OAKG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;;;OAKG;IACH,IAAI,EAAE,OAAO,CAAC;IAEd;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;CAG3B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"front-ui-action-handler.d.ts","sourceRoot":"","sources":["../../../../src/utils/app-de-ui-action-util/handler/front-ui-action-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"front-ui-action-handler.d.ts","sourceRoot":"","sources":["../../../../src/utils/app-de-ui-action-util/handler/front-ui-action-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAyB,MAAM,sBAAsB,CAAC;AAE/E,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD;;;;;;;;GAQG;AACH,qBAAa,oBAAqB,SAAQ,eAAe;IACjD,UAAU,CACd,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,EACpB,MAAM,EAAE,OAAO,EACf,IAAI,CAAC,EAAE,KAAK,GAAG,SAAS,GACvB,OAAO,CAAC,eAAe,CAAC;CAoC5B"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { UnsupportedModelError } from '@ibiz-template/model';
|
|
1
2
|
import { OpenAppViewCommand } from '../../../command';
|
|
2
3
|
import { UIActionHandler } from './ui-action-handler';
|
|
3
4
|
/**
|
|
@@ -11,14 +12,25 @@ import { UIActionHandler } from './ui-action-handler';
|
|
|
11
12
|
*/
|
|
12
13
|
export class FrontUIActionHandler extends UIActionHandler {
|
|
13
14
|
async execAction(action, context, data, params, opts) {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
switch (action.frontProcessType) {
|
|
16
|
+
case 'OPENHTMLPAGE':
|
|
17
|
+
window.open(action.htmlPageUrl, '_blank');
|
|
18
|
+
break;
|
|
19
|
+
case 'TOP':
|
|
20
|
+
case 'WIZARD': {
|
|
21
|
+
const frontPSAppView = action.getFrontPSAppView();
|
|
22
|
+
if (!frontPSAppView) {
|
|
23
|
+
throw new Error('未配置打开视图');
|
|
24
|
+
}
|
|
25
|
+
await frontPSAppView.fill(true);
|
|
26
|
+
// 处理参数
|
|
27
|
+
const { resultContext, resultParams } = await this.handleParams(action, context, data, params);
|
|
28
|
+
await ibiz.commands.execute(OpenAppViewCommand.TAG, frontPSAppView, resultContext, resultParams, opts);
|
|
29
|
+
break;
|
|
30
|
+
}
|
|
31
|
+
default:
|
|
32
|
+
throw new UnsupportedModelError(action, `未支持的前台处理模式[${action.frontProcessType}]`);
|
|
17
33
|
}
|
|
18
|
-
await frontPSAppView.fill(true);
|
|
19
|
-
// 处理参数
|
|
20
|
-
const { resultContext, resultParams } = await this.handleParams(action, context, data, params);
|
|
21
|
-
await ibiz.commands.execute(OpenAppViewCommand.TAG, frontPSAppView, resultContext, resultParams, opts);
|
|
22
34
|
return {};
|
|
23
35
|
}
|
|
24
36
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ibiz-template/runtime",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.3-beta.0",
|
|
4
4
|
"description": "控制器包",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "out/index.js",
|
|
@@ -29,8 +29,8 @@
|
|
|
29
29
|
"author": "chitanda",
|
|
30
30
|
"license": "MIT",
|
|
31
31
|
"devDependencies": {
|
|
32
|
-
"@ibiz-template/core": "^0.0.
|
|
33
|
-
"@ibiz-template/model": "^0.0.
|
|
32
|
+
"@ibiz-template/core": "^0.0.3-beta.0",
|
|
33
|
+
"@ibiz-template/model": "^0.0.3-beta.0",
|
|
34
34
|
"@types/qs": "^6.9.7",
|
|
35
35
|
"@types/systemjs": "^6.13.0",
|
|
36
36
|
"async-validator": "^4.2.5",
|
|
@@ -48,5 +48,5 @@
|
|
|
48
48
|
"qx-util": "^0.4.4",
|
|
49
49
|
"ramda": "^0.28.0"
|
|
50
50
|
},
|
|
51
|
-
"gitHead": "
|
|
51
|
+
"gitHead": "3e5f138e9991626bef2a20ed354a5439e9f993ca"
|
|
52
52
|
}
|
|
@@ -71,7 +71,13 @@ export class GridFieldColumnController extends GridColumnController<GridFieldCol
|
|
|
71
71
|
throw new RuntimeError('链接值项取不到值');
|
|
72
72
|
}
|
|
73
73
|
const { linkView } = this.model;
|
|
74
|
-
|
|
74
|
+
if (!linkView) {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
if (!linkView.initialized) {
|
|
78
|
+
await linkView.init();
|
|
79
|
+
}
|
|
80
|
+
const { deName } = linkView.appEntity;
|
|
75
81
|
const newContext = new IBizContext({ [deName!]: value }, this.context);
|
|
76
82
|
const newParams = clone(this.params);
|
|
77
83
|
// 打开视图
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TreeModel } from '@ibiz-template/model';
|
|
2
|
-
import { TreeService } from '../../service';
|
|
2
|
+
import { TreeNodeData, TreeService } from '../../service';
|
|
3
3
|
import { TreeNerve } from '../neuron';
|
|
4
4
|
import { MDController } from './md';
|
|
5
5
|
|
|
@@ -15,6 +15,14 @@ import { MDController } from './md';
|
|
|
15
15
|
export class TreeController extends MDController<TreeModel> {
|
|
16
16
|
declare nerve: TreeNerve;
|
|
17
17
|
|
|
18
|
+
/**
|
|
19
|
+
* 树节点集合
|
|
20
|
+
*
|
|
21
|
+
* @type {TreeNodeData[]}
|
|
22
|
+
* @memberof TreeController
|
|
23
|
+
*/
|
|
24
|
+
treeNodes: TreeNodeData[] = [];
|
|
25
|
+
|
|
18
26
|
/**
|
|
19
27
|
* 树部件服务
|
|
20
28
|
*
|
|
@@ -41,7 +49,15 @@ export class TreeController extends MDController<TreeModel> {
|
|
|
41
49
|
* @date 2022-08-19 14:08:50
|
|
42
50
|
*/
|
|
43
51
|
async load(): Promise<IData[]> {
|
|
44
|
-
|
|
45
|
-
|
|
52
|
+
const datas =
|
|
53
|
+
(await this.service.fetchChildNodes(undefined, {
|
|
54
|
+
context: this.context,
|
|
55
|
+
params: this.params,
|
|
56
|
+
hasQuery: false,
|
|
57
|
+
})) || [];
|
|
58
|
+
this.treeNodes = datas;
|
|
59
|
+
console.log(this.treeNodes);
|
|
60
|
+
|
|
61
|
+
return datas;
|
|
46
62
|
}
|
|
47
63
|
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { ViewNerve, TabExpViewNeuron, Neuron, ViewNeuron } from '../..';
|
|
2
|
+
import { TabExpViewController } from '../../..';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* 分页导航视图神经系统
|
|
6
|
+
*
|
|
7
|
+
* @author lxm
|
|
8
|
+
* @date 2022-10-14 14:10:48
|
|
9
|
+
* @export
|
|
10
|
+
* @class TabExpViewNerve
|
|
11
|
+
* @extends {ViewNerve<TabExpViewNeuron, TabExpViewController>}
|
|
12
|
+
*/
|
|
13
|
+
export class TabExpViewNerve extends ViewNerve<
|
|
14
|
+
TabExpViewNeuron,
|
|
15
|
+
TabExpViewController
|
|
16
|
+
> {
|
|
17
|
+
/**
|
|
18
|
+
* 分页视图的神经元map
|
|
19
|
+
*
|
|
20
|
+
* @author lxm
|
|
21
|
+
* @date 2022-09-13 17:09:49
|
|
22
|
+
* @type {ViewNeuron}
|
|
23
|
+
*/
|
|
24
|
+
tabViews: Map<string, ViewNeuron> = new Map();
|
|
25
|
+
|
|
26
|
+
protected createNeuron(): TabExpViewNeuron {
|
|
27
|
+
return new TabExpViewNeuron(this.bindAbility());
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
inclusive(name: string): boolean {
|
|
31
|
+
return name.indexOf('tabviewpanel') === 0 || super.inclusive(name);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
connect(name: string, neuron: Neuron): void {
|
|
35
|
+
super.connect(name, neuron);
|
|
36
|
+
// 连接关系界面视图神经元,并监听其事件,名称是外面给死的
|
|
37
|
+
if (name.indexOf('tabviewpanel') === 0) {
|
|
38
|
+
this.tabViews.set(name, neuron as ViewNeuron);
|
|
39
|
+
neuron.evt.on('destroyed', () => {
|
|
40
|
+
if (this.tabViews) {
|
|
41
|
+
this.tabViews.delete(name);
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
destroy(): void {
|
|
48
|
+
super.destroy();
|
|
49
|
+
this.tabViews.clear();
|
|
50
|
+
this.tabViews = undefined as never;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
@@ -10,6 +10,7 @@ import {
|
|
|
10
10
|
IOptViewAbility,
|
|
11
11
|
IPickupGridViewAbility,
|
|
12
12
|
IPickupViewAbility,
|
|
13
|
+
ITabExpViewAbility,
|
|
13
14
|
ITreeExpViewAbility,
|
|
14
15
|
IViewAbility,
|
|
15
16
|
IWFDynaActionViewAbility,
|
|
@@ -28,6 +29,7 @@ import {
|
|
|
28
29
|
IOptViewEvent,
|
|
29
30
|
IPickupGridViewEvent,
|
|
30
31
|
IPickupViewEvent,
|
|
32
|
+
ITabExpViewEvent,
|
|
31
33
|
ITreeExpViewEvent,
|
|
32
34
|
IViewEvent,
|
|
33
35
|
IWFDynaActionViewEvent,
|
|
@@ -99,3 +101,7 @@ export class TreeExpViewNeuron extends Neuron<
|
|
|
99
101
|
ITreeExpViewEvent,
|
|
100
102
|
ITreeExpViewAbility
|
|
101
103
|
> {}
|
|
104
|
+
export class TabExpViewNeuron extends Neuron<
|
|
105
|
+
ITabExpViewEvent,
|
|
106
|
+
ITabExpViewAbility
|
|
107
|
+
> {}
|
|
@@ -11,10 +11,15 @@ import { CodeListItem } from '../../../service';
|
|
|
11
11
|
* @returns {*}
|
|
12
12
|
*/
|
|
13
13
|
export function formatToCodeListText(
|
|
14
|
-
value: string,
|
|
14
|
+
value: string | number,
|
|
15
15
|
items: readonly CodeListItem[],
|
|
16
16
|
) {
|
|
17
|
-
|
|
17
|
+
let values: string[] | number[];
|
|
18
|
+
if (typeof value === 'string') {
|
|
19
|
+
values = value.split(',');
|
|
20
|
+
} else {
|
|
21
|
+
values = [value];
|
|
22
|
+
}
|
|
18
23
|
const texts = values.map(val => {
|
|
19
24
|
const findItem = items!.find(item => item.value === val);
|
|
20
25
|
return findItem?.text || val;
|
|
@@ -6,7 +6,7 @@ import { IModalData } from '../../interface';
|
|
|
6
6
|
import { EntityService } from '../../service';
|
|
7
7
|
|
|
8
8
|
import { EditViewNerve } from '../neuron';
|
|
9
|
-
import {
|
|
9
|
+
import { MainViewController } from './main-view';
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* 编辑视图控制器
|
|
@@ -15,11 +15,11 @@ import { ViewController } from './view';
|
|
|
15
15
|
* @date 2022-08-01 21:08:31
|
|
16
16
|
* @export
|
|
17
17
|
* @class EditViewController
|
|
18
|
-
* @extends {
|
|
18
|
+
* @extends {MainViewController}
|
|
19
19
|
*/
|
|
20
20
|
export class EditViewController<
|
|
21
21
|
T extends EditViewModel = EditViewModel,
|
|
22
|
-
> extends
|
|
22
|
+
> extends MainViewController<T> {
|
|
23
23
|
/**
|
|
24
24
|
* 实体服务
|
|
25
25
|
*
|
|
@@ -255,24 +255,4 @@ export class EditViewController<
|
|
|
255
255
|
},
|
|
256
256
|
);
|
|
257
257
|
}
|
|
258
|
-
|
|
259
|
-
/**
|
|
260
|
-
* 设置视图标题
|
|
261
|
-
*
|
|
262
|
-
* @author lxm
|
|
263
|
-
* @date 2022-08-31 16:08:49
|
|
264
|
-
* @param {string} caption
|
|
265
|
-
*/
|
|
266
|
-
calcCaption(data: IData): void {
|
|
267
|
-
// 全局关闭信息栏或者全局开启信息栏但是视图不显示信息栏时,不设置信息栏标题
|
|
268
|
-
if (!ibiz.config.enableDataInfoBar || !this.model.source.showDataInfoBar) {
|
|
269
|
-
return;
|
|
270
|
-
}
|
|
271
|
-
const majorText = data[this.model.appEntity.textName];
|
|
272
|
-
if (majorText) {
|
|
273
|
-
this.setCaption(`${this.model.caption} - ${majorText}`);
|
|
274
|
-
} else if (!this.context[this.model.appEntity.deName]) {
|
|
275
|
-
this.setCaption(`${this.model.caption} - 新建`);
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
258
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// 导出视图控制器
|
|
2
2
|
export { ViewController } from './view';
|
|
3
|
+
export { MainViewController } from './main-view';
|
|
3
4
|
export { IndexViewController } from './index-view';
|
|
4
5
|
export { EditViewController } from './edit-view';
|
|
5
6
|
export { OptViewController } from './opt-view';
|
|
@@ -17,3 +18,4 @@ export * from './wf-dyna-action-view';
|
|
|
17
18
|
export * from './wf-step-trace-view';
|
|
18
19
|
export { AppPortalViewController } from './app-portal-view';
|
|
19
20
|
export { TreeExpViewController } from './tree-exp-view';
|
|
21
|
+
export { TabExpViewController } from './tab-exp-view';
|