@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.
Files changed (76) hide show
  1. package/dist/system/index.system.js +1 -1
  2. package/out/controller/control/grid/grid-field-column.d.ts.map +1 -1
  3. package/out/controller/control/grid/grid-field-column.js +7 -1
  4. package/out/controller/control/tree.d.ts +8 -1
  5. package/out/controller/control/tree.d.ts.map +1 -1
  6. package/out/controller/control/tree.js +18 -2
  7. package/out/controller/control/view-panel.d.ts.map +1 -1
  8. package/out/controller/control/view-panel.js +0 -1
  9. package/out/controller/interface/ability/view/i-tab-exp-view-ability.d.ts +12 -0
  10. package/out/controller/interface/ability/view/i-tab-exp-view-ability.d.ts.map +1 -0
  11. package/out/controller/interface/ability/view/i-tab-exp-view-ability.js +1 -0
  12. package/out/controller/interface/ability/view/index.d.ts +1 -0
  13. package/out/controller/interface/ability/view/index.d.ts.map +1 -1
  14. package/out/controller/interface/ability/view/index.js +1 -0
  15. package/out/controller/interface/event/view/i-tab-exp-view-event.d.ts +12 -0
  16. package/out/controller/interface/event/view/i-tab-exp-view-event.d.ts.map +1 -0
  17. package/out/controller/interface/event/view/i-tab-exp-view-event.js +1 -0
  18. package/out/controller/interface/event/view/index.d.ts +1 -0
  19. package/out/controller/interface/event/view/index.d.ts.map +1 -1
  20. package/out/controller/interface/event/view/index.js +1 -0
  21. package/out/controller/neuron/nerve/view/index.d.ts +1 -0
  22. package/out/controller/neuron/nerve/view/index.d.ts.map +1 -1
  23. package/out/controller/neuron/nerve/view/index.js +1 -0
  24. package/out/controller/neuron/nerve/view/tab-exp-view-nerve.d.ts +26 -0
  25. package/out/controller/neuron/nerve/view/tab-exp-view-nerve.d.ts.map +1 -0
  26. package/out/controller/neuron/nerve/view/tab-exp-view-nerve.js +46 -0
  27. package/out/controller/neuron/neuron/view.d.ts +4 -2
  28. package/out/controller/neuron/neuron/view.d.ts.map +1 -1
  29. package/out/controller/neuron/neuron/view.js +2 -0
  30. package/out/controller/utils/code-list/code-list.d.ts +1 -1
  31. package/out/controller/utils/code-list/code-list.d.ts.map +1 -1
  32. package/out/controller/utils/code-list/code-list.js +7 -1
  33. package/out/controller/view/edit-view.d.ts +3 -11
  34. package/out/controller/view/edit-view.d.ts.map +1 -1
  35. package/out/controller/view/edit-view.js +3 -23
  36. package/out/controller/view/index.d.ts +2 -0
  37. package/out/controller/view/index.d.ts.map +1 -1
  38. package/out/controller/view/index.js +2 -0
  39. package/out/controller/view/main-view.d.ts +45 -0
  40. package/out/controller/view/main-view.d.ts.map +1 -0
  41. package/out/controller/view/main-view.js +50 -0
  42. package/out/controller/view/tab-exp-view.d.ts +28 -0
  43. package/out/controller/view/tab-exp-view.d.ts.map +1 -0
  44. package/out/controller/view/tab-exp-view.js +44 -0
  45. package/out/controller/view/view.d.ts.map +1 -1
  46. package/out/controller/view/view.js +3 -3
  47. package/out/interface/i-modal/i-modal.d.ts +7 -0
  48. package/out/interface/i-modal/i-modal.d.ts.map +1 -1
  49. package/out/service/service/widget/tree-service.d.ts +38 -5
  50. package/out/service/service/widget/tree-service.d.ts.map +1 -1
  51. package/out/service/service/widget/tree-service.js +43 -20
  52. package/out/service/vo/tree-node-data.d.ts +1 -1
  53. package/out/service/vo/tree-node-data.d.ts.map +1 -1
  54. package/out/utils/app-de-ui-action-util/handler/front-ui-action-handler.d.ts.map +1 -1
  55. package/out/utils/app-de-ui-action-util/handler/front-ui-action-handler.js +19 -7
  56. package/package.json +4 -4
  57. package/src/controller/control/grid/grid-field-column.ts +7 -1
  58. package/src/controller/control/tree.ts +19 -3
  59. package/src/controller/control/view-panel.ts +0 -1
  60. package/src/controller/interface/ability/view/i-tab-exp-view-ability.ts +12 -0
  61. package/src/controller/interface/ability/view/index.ts +1 -0
  62. package/src/controller/interface/event/view/i-tab-exp-view-event.ts +12 -0
  63. package/src/controller/interface/event/view/index.ts +1 -0
  64. package/src/controller/neuron/nerve/view/index.ts +1 -0
  65. package/src/controller/neuron/nerve/view/tab-exp-view-nerve.ts +52 -0
  66. package/src/controller/neuron/neuron/view.ts +6 -0
  67. package/src/controller/utils/code-list/code-list.ts +7 -2
  68. package/src/controller/view/edit-view.ts +3 -23
  69. package/src/controller/view/index.ts +2 -0
  70. package/src/controller/view/main-view.ts +76 -0
  71. package/src/controller/view/tab-exp-view.ts +55 -0
  72. package/src/controller/view/view.ts +6 -3
  73. package/src/interface/i-modal/i-modal.ts +8 -0
  74. package/src/service/service/widget/tree-service.ts +76 -23
  75. package/src/service/vo/tree-node-data.ts +3 -1
  76. 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,EAAgB,MAAM,qBAAqB,CAAC;AAChE,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;IAYhB;;;;;;;;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
+ {"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, RuntimeError } from '@ibiz-template/core';
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 RuntimeError('没有找到对应的视图逻辑');
258
+ throw new DefectModelError(item.getPSAppViewUIAction(), '没有找到对应的视图逻辑');
259
259
  }
260
260
  return this.executeViewLogic(appViewLogic, this.getData(), event);
261
261
  }
@@ -16,6 +16,13 @@ export interface IModal {
16
16
  * @type {string}
17
17
  */
18
18
  mode: ViewMode;
19
+ /**
20
+ * 路由层级
21
+ *
22
+ * @type {number}
23
+ * @memberof IModal
24
+ */
25
+ level?: number;
19
26
  /**
20
27
  * 关闭模态窗
21
28
  *
@@ -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?: TreeNodeData, hasQuery?: boolean): Promise<TreeNodeData[] | undefined>;
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, hasQuery?: boolean): Promise<TreeNodeData>;
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, _hasQuery?: boolean): Promise<void>;
49
- protected getCodeListNodeDatas(_nodeModel: IPSDETreeCodeListNode, _hasQuery?: boolean): Promise<void>;
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,CAAC,UAAU,CAAC,EAAE,YAAY,EAAE,QAAQ,GAAE,OAAe;IA8C1E;;;;;;;;OAQG;cACa,iBAAiB,CAC/B,SAAS,EAAE,mBAAmB,EAC9B,QAAQ,GAAE,OAAe,GACxB,OAAO,CAAC,YAAY,CAAC;IAmBxB;;;;;;;OAOG;cACa,cAAc,CAC5B,SAAS,EAAE,oBAAoB,EAC/B,SAAS,GAAE,OAAe;cAWZ,oBAAoB,CAClC,UAAU,EAAE,qBAAqB,EACjC,SAAS,GAAE,OAAe;CAI7B"}
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, hasQuery = false) {
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, hasQuery);
41
+ return this.getDENodeDatas(childNode.source, opts);
42
42
  }
43
43
  if (childNode.treeNodeType === 'CODELIST') {
44
- return this.getCodeListNodeDatas(childNode, hasQuery);
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, hasQuery = false) {
67
- const treeData = {
68
- nodeId: nodeModel.nodeType,
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
- treeData.children = await this.fetchChildNodes(treeData, hasQuery);
85
+ nodeData.children = await this.fetchChildNodes(nodeData, opts);
78
86
  }
79
- return treeData;
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, _hasQuery = false) {
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
- console.log(response);
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
- async getCodeListNodeDatas(_nodeModel, _hasQuery = false) {
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
  }
@@ -27,7 +27,7 @@ export interface TreeNodeData {
27
27
  */
28
28
  text: string;
29
29
  /**
30
- * 是否没有子节点
30
+ * 是否是叶子节点(没有子节点的节点)
31
31
  *
32
32
  * @type {boolean}
33
33
  * @memberof TreeNodeData
@@ -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;CAC3B"}
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,EAAE,MAAM,sBAAsB,CAAC;AAExD,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;CAuB5B"}
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
- const frontPSAppView = action.getFrontPSAppView();
15
- if (!frontPSAppView) {
16
- throw new Error('未配置打开视图');
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.2-beta.1",
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.2-beta.0",
33
- "@ibiz-template/model": "^0.0.2-beta.1",
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": "b519942e04bb11274a0fb25fb2e0cb2532019f22"
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
- const deName = linkView?.appEntity.deName;
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
- await this.service.fetchChildNodes(undefined);
45
- return [];
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
  }
@@ -24,7 +24,6 @@ export class ViewPanelController<
24
24
  await super.onInit();
25
25
  // 视图默认加载
26
26
  this.nerve.self.evt.on('mounted', () => {
27
- console.log('viewpanel mounted');
28
27
  this.nerve.embedView.call.refresh();
29
28
  });
30
29
  }
@@ -0,0 +1,12 @@
1
+ import { IViewAbility } from '.';
2
+
3
+ /**
4
+ * 分页导航视图能力
5
+ *
6
+ * @author lxm
7
+ * @date 2022-09-26 20:09:17
8
+ * @export
9
+ * @interface ITabExpViewAbility
10
+ * @extends {IViewAbility}
11
+ */
12
+ export type ITabExpViewAbility = IViewAbility;
@@ -15,3 +15,4 @@ export * from './i-wf-dyna-start-view-ability';
15
15
  export * from './i-wf-dyna-action-view-ability';
16
16
  export * from './i-app-portal-view-ability';
17
17
  export * from './i-tree-exp-view-ability';
18
+ export * from './i-tab-exp-view-ability';
@@ -0,0 +1,12 @@
1
+ import { IViewEvent } from '.';
2
+
3
+ /**
4
+ * 分页导航视图事件
5
+ *
6
+ * @author lxm
7
+ * @date 2022-09-26 20:09:17
8
+ * @export
9
+ * @interface ITabExpViewEvent
10
+ * @extends {IViewEvent}
11
+ */
12
+ export type ITabExpViewEvent = IViewEvent;
@@ -14,3 +14,4 @@ export * from './i-wf-dyna-edit-view3-event';
14
14
  export * from './i-wf-dyna-start-view-event';
15
15
  export * from './i-wf-dyna-action-view-event';
16
16
  export * from './i-tree-exp-view-event';
17
+ export * from './i-tab-exp-view-event';
@@ -14,3 +14,4 @@ export * from './wf-dyna-start-view-nerve';
14
14
  export * from './wf-dyna-action-view-nerve';
15
15
  export * from './app-portal-view-nerve';
16
16
  export * from './tree-exp-view-nerve';
17
+ export * from './tab-exp-view-nerve';
@@ -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
- const values: string[] = value.split(',');
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 { ViewController } from './view';
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 {ViewController}
18
+ * @extends {MainViewController}
19
19
  */
20
20
  export class EditViewController<
21
21
  T extends EditViewModel = EditViewModel,
22
- > extends ViewController<T> {
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';