@ibiz-template/runtime 0.1.24 → 0.1.25

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 (40) hide show
  1. package/dist/index.esm.js +60 -18
  2. package/dist/index.system.min.js +1 -1
  3. package/dist/index.system.min.js.map +1 -1
  4. package/out/config/global-config.d.ts.map +1 -1
  5. package/out/config/global-config.js +1 -0
  6. package/out/controller/common/control/control.controller.d.ts +4 -4
  7. package/out/controller/common/control/control.controller.d.ts.map +1 -1
  8. package/out/controller/common/control/control.controller.js +2 -2
  9. package/out/controller/control/exp-bar/calendar-exp-bar.controller.d.ts.map +1 -1
  10. package/out/controller/control/exp-bar/calendar-exp-bar.controller.js +1 -0
  11. package/out/controller/control/exp-bar/exp-bar.controller.d.ts +10 -0
  12. package/out/controller/control/exp-bar/exp-bar.controller.d.ts.map +1 -1
  13. package/out/controller/control/exp-bar/exp-bar.controller.js +32 -7
  14. package/out/controller/control/exp-bar/tree-exp-bar.controller.d.ts.map +1 -1
  15. package/out/controller/control/exp-bar/tree-exp-bar.controller.js +1 -0
  16. package/out/interface/common/i-global-config/i-global-view-config.d.ts +8 -0
  17. package/out/interface/common/i-global-config/i-global-view-config.d.ts.map +1 -1
  18. package/out/interface/controller/controller/control/i-exp-bar-control.controller.d.ts +10 -0
  19. package/out/interface/controller/controller/control/i-exp-bar-control.controller.d.ts.map +1 -1
  20. package/out/interface/provider/i-control.provider.d.ts +15 -0
  21. package/out/interface/provider/i-control.provider.d.ts.map +1 -1
  22. package/out/interface/provider/i-view.provider.d.ts +15 -0
  23. package/out/interface/provider/i-view.provider.d.ts.map +1 -1
  24. package/out/service/vo/control.vo.d.ts.map +1 -1
  25. package/out/service/vo/control.vo.js +9 -12
  26. package/out/service/vo/ui-map-field.d.ts +7 -0
  27. package/out/service/vo/ui-map-field.d.ts.map +1 -1
  28. package/out/service/vo/ui-map-field.js +24 -0
  29. package/package.json +2 -2
  30. package/src/config/global-config.ts +1 -0
  31. package/src/controller/common/control/control.controller.ts +4 -4
  32. package/src/controller/control/exp-bar/calendar-exp-bar.controller.ts +1 -0
  33. package/src/controller/control/exp-bar/exp-bar.controller.ts +35 -7
  34. package/src/controller/control/exp-bar/tree-exp-bar.controller.ts +1 -0
  35. package/src/interface/common/i-global-config/i-global-view-config.ts +9 -0
  36. package/src/interface/controller/controller/control/i-exp-bar-control.controller.ts +8 -0
  37. package/src/interface/provider/i-control.provider.ts +22 -0
  38. package/src/interface/provider/i-view.provider.ts +22 -0
  39. package/src/service/vo/control.vo.ts +10 -15
  40. package/src/service/vo/ui-map-field.ts +28 -0
@@ -1 +1 @@
1
- {"version":3,"file":"global-config.d.ts","sourceRoot":"","sources":["../../src/config/global-config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,cAAc,CAAC;AAEtB;;;;;;;;GAQG;AACH,qBAAa,YAAa,YAAW,aAAa;IAEhD,IAAI,EAAE,iBAAiB,CAErB;IAGF,IAAI,EAAE,iBAAiB,CAGrB;IAGF,OAAO,EAAE,oBAAoB,CAE3B;IAGF,QAAQ,EAAE,qBAAqB,CAE7B;CACH"}
1
+ {"version":3,"file":"global-config.d.ts","sourceRoot":"","sources":["../../src/config/global-config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,cAAc,CAAC;AAEtB;;;;;;;;GAQG;AACH,qBAAa,YAAa,YAAW,aAAa;IAEhD,IAAI,EAAE,iBAAiB,CAGrB;IAGF,IAAI,EAAE,iBAAiB,CAGrB;IAGF,OAAO,EAAE,oBAAoB,CAE3B;IAGF,QAAQ,EAAE,qBAAqB,CAE7B;CACH"}
@@ -12,6 +12,7 @@ export class GlobalConfig {
12
12
  // 全局视图配置
13
13
  this.view = {
14
14
  enableDataInfoBar: true,
15
+ enableExpCache: true,
15
16
  };
16
17
  // 全局表格配置
17
18
  this.grid = {
@@ -3,7 +3,7 @@ import { BaseController } from '..';
3
3
  import { CTX } from '../../ctx';
4
4
  import { EventBase, IControlController, IControlEvent, IControlState, IViewController, IViewLayoutPanelController } from '../../../interface/controller';
5
5
  import { ControllerEvent } from '../../utils';
6
- import { IControlProvider, IDataAbilityParams } from '../../../interface';
6
+ import { IDataAbilityParams, IProvider } from '../../../interface';
7
7
  import { ControlLogicScheduler } from '../../../logic-scheduler';
8
8
  /**
9
9
  * 部件控制器
@@ -32,13 +32,13 @@ export declare class ControlController<T extends IControl = IControl, S extends
32
32
  controlPanel?: IViewLayoutPanel;
33
33
  layoutPanel?: IViewLayoutPanelController;
34
34
  /**
35
- * 子部件适配器
35
+ * 子适配器
36
36
  * @author lxm
37
37
  * @date 2023-07-19 04:14:50
38
- * @type {{ [key: string]: IControlProvider }}
38
+ * @type {{ [key: string]: IProvider }}
39
39
  */
40
40
  providers: {
41
- [key: string]: IControlProvider;
41
+ [key: string]: IProvider;
42
42
  };
43
43
  /**
44
44
  * Creates an instance of ControlController.
@@ -1 +1 @@
1
- {"version":3,"file":"control.controller.d.ts","sourceRoot":"","sources":["../../../../src/controller/common/control/control.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAG7E,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAChC,OAAO,EACL,SAAS,EACT,kBAAkB,EAClB,aAAa,EACb,aAAa,EACb,eAAe,EACf,0BAA0B,EAC3B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAEnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAIjE;;;;;;;GAOG;AACH,qBAAa,iBAAiB,CAC1B,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAC7B,CAAC,SAAS,aAAa,GAAG,aAAa,EACvC,CAAC,SAAS,aAAa,GAAG,aAAa,CAEzC,SAAQ,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAC9B,YAAW,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAEtC,SAAS,KAAK,IAAI,IAAI,eAAe,CAAC,aAAa,CAAC,CAEnD;IAED,IAAI,IAAI,IAAI,eAAe,CAE1B;IAED;;;;;OAKG;IACH,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAElC;;;;;OAKG;IACH,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAEhC,WAAW,CAAC,EAAE,0BAA0B,CAAC;IAEzC;;;;;OAKG;IACH,SAAS,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAAA;KAAE,CAAM;IAEpD;;;;;;;;OAQG;gBACS,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG;IAWlE;;;;;OAKG;IACH,SAAS,CAAC,aAAa,IAAI,IAAI;IAI/B;;;;;OAKG;IACH,SAAS,CAAC,YAAY,IAAI,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC;IAStD,SAAS,CAAC,SAAS,IAAI,IAAI;cAKX,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;cAc1B,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAO5C;;;;;OAKG;IACH,cAAc,IAAI,MAAM;IAIxB;;;;;OAKG;IACH,OAAO,IAAI,KAAK,EAAE,GAAG,IAAI;IAIzB;;;;;;OAMG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAKnC;;;;;;OAMG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAKjC;;;;;;;OAOG;IACH,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,kBAAkB,GAAG;QACzD,OAAO,EAAE,QAAQ,CAAC;QAClB,MAAM,EAAE,OAAO,CAAC;QAChB,IAAI,EAAE,KAAK,EAAE,CAAC;KACf;IAOD;;;;;OAKG;IACH,cAAc,CAAC,KAAK,EAAE,0BAA0B,GAAG,IAAI;IAWvD;;;;;;OAMG;IACH,SAAS,CAAC,oBAAoB,CAAC,MAAM,GAAE,aAAa,EAAO,GAAG,IAAI;IAUlE;;;;;;;OAOG;IACH,kBAAkB,CAChB,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE,GACjE,IAAI;CAqDR"}
1
+ {"version":3,"file":"control.controller.d.ts","sourceRoot":"","sources":["../../../../src/controller/common/control/control.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAG7E,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAChC,OAAO,EACL,SAAS,EACT,kBAAkB,EAClB,aAAa,EACb,aAAa,EACb,eAAe,EACf,0BAA0B,EAC3B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EACL,kBAAkB,EAClB,SAAS,EAEV,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAIjE;;;;;;;GAOG;AACH,qBAAa,iBAAiB,CAC1B,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAC7B,CAAC,SAAS,aAAa,GAAG,aAAa,EACvC,CAAC,SAAS,aAAa,GAAG,aAAa,CAEzC,SAAQ,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAC9B,YAAW,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAEtC,SAAS,KAAK,IAAI,IAAI,eAAe,CAAC,aAAa,CAAC,CAEnD;IAED,IAAI,IAAI,IAAI,eAAe,CAE1B;IAED;;;;;OAKG;IACH,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAElC;;;;;OAKG;IACH,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAEhC,WAAW,CAAC,EAAE,0BAA0B,CAAC;IAEzC;;;;;OAKG;IACH,SAAS,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAM;IAE7C;;;;;;;;OAQG;gBACS,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG;IAWlE;;;;;OAKG;IACH,SAAS,CAAC,aAAa,IAAI,IAAI;IAI/B;;;;;OAKG;IACH,SAAS,CAAC,YAAY,IAAI,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC;IAStD,SAAS,CAAC,SAAS,IAAI,IAAI;cAKX,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;cAc1B,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAO5C;;;;;OAKG;IACH,cAAc,IAAI,MAAM;IAIxB;;;;;OAKG;IACH,OAAO,IAAI,KAAK,EAAE,GAAG,IAAI;IAIzB;;;;;;OAMG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAKnC;;;;;;OAMG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAKjC;;;;;;;OAOG;IACH,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,kBAAkB,GAAG;QACzD,OAAO,EAAE,QAAQ,CAAC;QAClB,MAAM,EAAE,OAAO,CAAC;QAChB,IAAI,EAAE,KAAK,EAAE,CAAC;KACf;IAOD;;;;;OAKG;IACH,cAAc,CAAC,KAAK,EAAE,0BAA0B,GAAG,IAAI;IAWvD;;;;;;OAMG;IACH,SAAS,CAAC,oBAAoB,CAAC,MAAM,GAAE,aAAa,EAAO,GAAG,IAAI;IAUlE;;;;;;;OAOG;IACH,kBAAkB,CAChB,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE,GACjE,IAAI;CAqDR"}
@@ -30,10 +30,10 @@ export class ControlController extends BaseController {
30
30
  constructor(model, context, params, ctx) {
31
31
  super(model, context, params, ctx);
32
32
  /**
33
- * 子部件适配器
33
+ * 子适配器
34
34
  * @author lxm
35
35
  * @date 2023-07-19 04:14:50
36
- * @type {{ [key: string]: IControlProvider }}
36
+ * @type {{ [key: string]: IProvider }}
37
37
  */
38
38
  this.providers = {};
39
39
  this.registerToCtx();
@@ -1 +1 @@
1
- {"version":3,"file":"calendar-exp-bar.controller.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/exp-bar/calendar-exp-bar.controller.ts"],"names":[],"mappings":"AACA,OAAO,EACL,eAAe,EAEf,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,EACzB,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,EACZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D;;;;;;;GAOG;AACH,qBAAa,wBACX,SAAQ,uBAAuB,CAC7B,eAAe,EACf,oBAAoB,EACpB,oBAAoB,CAEtB,YAAW,yBAAyB;IAEpC;;;;;;OAMG;IACH,UAAU,SAAW;IAErB,SAAS,CAAC,oBAAoB,CAC5B,YAAY,EAAE,MAAM,GACnB,gBAAgB,GAAG,SAAS;IAQ/B,IAAI,eAAe,IAAI,mBAAmB,CASzC;IAEM,kBAAkB,IAAI,IAAI;IAajC;;;;;;;;OAQG;IACI,aAAa,CAAC,IAAI,EAAE,iBAAiB,GAAG,WAAW;CAuB3D"}
1
+ {"version":3,"file":"calendar-exp-bar.controller.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/exp-bar/calendar-exp-bar.controller.ts"],"names":[],"mappings":"AACA,OAAO,EACL,eAAe,EAEf,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,EACzB,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,EACZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D;;;;;;;GAOG;AACH,qBAAa,wBACX,SAAQ,uBAAuB,CAC7B,eAAe,EACf,oBAAoB,EACpB,oBAAoB,CAEtB,YAAW,yBAAyB;IAEpC;;;;;;OAMG;IACH,UAAU,SAAW;IAErB,SAAS,CAAC,oBAAoB,CAC5B,YAAY,EAAE,MAAM,GACnB,gBAAgB,GAAG,SAAS;IAQ/B,IAAI,eAAe,IAAI,mBAAmB,CASzC;IAEM,kBAAkB,IAAI,IAAI;IAajC;;;;;;;;OAQG;IACI,aAAa,CAAC,IAAI,EAAE,iBAAiB,GAAG,WAAW;CAwB3D"}
@@ -58,6 +58,7 @@ export class CalendarExpBarController extends ExpBarControlController {
58
58
  if (itemModel) {
59
59
  const { context, params } = this.prepareParams(itemModel, item.deData ? item.deData : item, this.context, this.params);
60
60
  context.currentSrfNav = item.navId;
61
+ this.state.srfnav = item.navId;
61
62
  return {
62
63
  key: item.navId,
63
64
  context,
@@ -179,6 +179,16 @@ export declare class ExpBarControlController<T extends IExpBar = IExpBar, S exte
179
179
  */
180
180
  protected calcControlHeaderVisible(): boolean;
181
181
  setLayoutPanel(panel: IViewLayoutPanelController): void;
182
+ /**
183
+ * 路由变更处理回调
184
+ * @author lxm
185
+ * @date 2023-09-14 07:03:39
186
+ * @param {{ srfnav?: string; path: string }} info 当前系统的路由的从一级到最后一级的所有路径。
187
+ */
188
+ onRouterChange(info: {
189
+ srfnav: string;
190
+ path: string;
191
+ }): void;
182
192
  }
183
193
  export {};
184
194
  //# sourceMappingURL=exp-bar.controller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"exp-bar.controller.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/exp-bar/exp-bar.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,OAAO,EAEP,OAAO,EACP,OAAO,EACP,WAAW,EACX,YAAY,EACb,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,EACxB,oBAAoB,EACpB,kBAAkB,EAClB,SAAS,EACT,SAAS,EACT,WAAW,EACX,0BAA0B,EAC3B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,KAAK,iBAAiB,GAAG,OAAO,GAAG,OAAO,GAAG,WAAW,CAAC;AAEzD;;;;;;;;;;;;GAYG;AACH,qBAAa,uBAAuB,CAChC,CAAC,SAAS,OAAO,GAAG,OAAO,EAC3B,CAAC,SAAS,mBAAmB,GAAG,mBAAmB,EACnD,CAAC,SAAS,mBAAmB,GAAG,mBAAmB,CAErD,SAAQ,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CACjC,YAAW,wBAAwB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAE5C,SAAS,KAAK,IAAI,IAAI,eAAe,CAAC,mBAAmB,CAAC,CAEzD;IAED;;;;;;;;OAQG;IACH,IAAI,UAAU,IAAI,MAAM,GAAG,SAAS,CAEnC;IAED;;;;;;;OAOG;IACH,SAAS,EAAG,MAAM,CAAC;IAEnB;;;;;;OAMG;IACH,UAAU,SAAY;IAEtB,SAAS,CAAC,SAAS,IAAI,IAAI;IAK3B;;;;;;;OAOG;IACH,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;IAIxB;;;;;;;;OAQG;IACH,IAAI,eAAe,IAAI,oBAAoB,CAS1C;IAED;;;;;;OAMG;IACH,IAAI,iBAAiB,IAAI,kBAAkB,GAAG,SAAS,CAKtD;IAED;;;;;;;;OAQG;IACH,IAAI,UAAU,IAAI,iBAAiB,GAAG,SAAS,CAO9C;IAED;;;;;;;;OAQG;cACa,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IA8B1C;;;;;;;;OAQG;cACa,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAyB1C;;;;;;OAMG;IACH,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAaxC;;;;;OAKG;IACH,SAAS,CAAC,kBAAkB,IAAI,IAAI;IAgBpC;;;;;;;OAOG;IACH,SAAS,CAAC,qBAAqB,IAAI,IAAI;IAYvC;;;;;;;OAOG;IACH,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAMnC;;;;;;;;OAQG;IACH,aAAa,CACX,UAAU,EAAE,YAAY,GAAG;QAAE,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,EACvD,IAAI,EAAE,KAAK,EACX,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,OAAO,GACd;QAAE,OAAO,EAAE,QAAQ,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE;IA6BzC;;;;;;;OAOG;IACI,eAAe,IAAI,MAAM,GAAG,SAAS;IAS5C;;;;;;;;OAQG;IACI,aAAa,CAClB,IAAI,EAAE,KAAK,EACX,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,OAAO,GACd,WAAW;IAWd;;;;;;OAMG;IACH,SAAS,CAAC,wBAAwB,IAAI,OAAO;IAe7C,cAAc,CAAC,KAAK,EAAE,0BAA0B,GAAG,IAAI;CAaxD"}
1
+ {"version":3,"file":"exp-bar.controller.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/exp-bar/exp-bar.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,OAAO,EAEP,OAAO,EACP,OAAO,EACP,WAAW,EACX,YAAY,EACb,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,EACxB,oBAAoB,EACpB,kBAAkB,EAClB,SAAS,EACT,SAAS,EACT,WAAW,EACX,0BAA0B,EAC3B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,KAAK,iBAAiB,GAAG,OAAO,GAAG,OAAO,GAAG,WAAW,CAAC;AAEzD;;;;;;;;;;;;GAYG;AACH,qBAAa,uBAAuB,CAChC,CAAC,SAAS,OAAO,GAAG,OAAO,EAC3B,CAAC,SAAS,mBAAmB,GAAG,mBAAmB,EACnD,CAAC,SAAS,mBAAmB,GAAG,mBAAmB,CAErD,SAAQ,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CACjC,YAAW,wBAAwB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAE5C,SAAS,KAAK,IAAI,IAAI,eAAe,CAAC,mBAAmB,CAAC,CAEzD;IAED;;;;;;;;OAQG;IACH,IAAI,UAAU,IAAI,MAAM,GAAG,SAAS,CAEnC;IAED;;;;;;;OAOG;IACH,SAAS,EAAG,MAAM,CAAC;IAEnB;;;;;;OAMG;IACH,UAAU,SAAY;IAEtB,SAAS,CAAC,SAAS,IAAI,IAAI;IAK3B;;;;;;;OAOG;IACH,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;IAIxB;;;;;;;;OAQG;IACH,IAAI,eAAe,IAAI,oBAAoB,CAS1C;IAED;;;;;;OAMG;IACH,IAAI,iBAAiB,IAAI,kBAAkB,GAAG,SAAS,CAKtD;IAED;;;;;;;;OAQG;IACH,IAAI,UAAU,IAAI,iBAAiB,GAAG,SAAS,CAO9C;IAED;;;;;;;;OAQG;cACa,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IA8B1C;;;;;;;;OAQG;cACa,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAyB1C;;;;;;OAMG;IACH,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAaxC;;;;;OAKG;IACH,SAAS,CAAC,kBAAkB,IAAI,IAAI;IA6BpC;;;;;;;OAOG;IACH,SAAS,CAAC,qBAAqB,IAAI,IAAI;IAavC;;;;;;;OAOG;IACH,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAMnC;;;;;;;;OAQG;IACH,aAAa,CACX,UAAU,EAAE,YAAY,GAAG;QAAE,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,EACvD,IAAI,EAAE,KAAK,EACX,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,OAAO,GACd;QAAE,OAAO,EAAE,QAAQ,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE;IA8BzC;;;;;;;OAOG;IACI,eAAe,IAAI,MAAM,GAAG,SAAS;IAS5C;;;;;;;;OAQG;IACI,aAAa,CAClB,IAAI,EAAE,KAAK,EACX,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,OAAO,GACd,WAAW;IAWd;;;;;;OAMG;IACH,SAAS,CAAC,wBAAwB,IAAI,OAAO;IAe7C,cAAc,CAAC,KAAK,EAAE,0BAA0B,GAAG,IAAI;IAcvD;;;;;OAKG;IACH,cAAc,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;CAM7D"}
@@ -191,15 +191,26 @@ export class ExpBarControlController extends ControlController {
191
191
  var _a;
192
192
  // 找到选中项,如果没有就模拟选中数据
193
193
  const selectItem = (_a = this.xDataController) === null || _a === void 0 ? void 0 : _a.state.items.find(item => item[this.navKeyName] === this.state.srfnav);
194
- if (selectItem) {
195
- // 在多数据部件里面选项设置回显。
194
+ // 是否是路由模式且有子路由
195
+ const routeAndHasSub = this.routeDepth &&
196
+ window.location.hash.split('/').length > this.routeDepth * 2 + 2;
197
+ console.log('routeAndHasSub', routeAndHasSub);
198
+ if (routeAndHasSub) {
199
+ if (selectItem) {
200
+ // 在多数据部件里面选项设置回显。
201
+ this.xDataController.setSelection([selectItem]);
202
+ }
203
+ // 此时不需要导航占位push路由,只要有个key触发绘制下级视图就行。
204
+ this._evt.emit('onNavViewChange', {
205
+ navViewMsg: { key: this.state.srfnav },
206
+ context: this.context,
207
+ });
208
+ }
209
+ else if (selectItem) {
210
+ // 非路由模式,或者有路由模式下有srfnav没有子路由时,需要在多数据部件里面选项设置回显。
211
+ this.xDataController.setActive(selectItem);
196
212
  this.xDataController.setSelection([selectItem]);
197
213
  }
198
- // 此时不需要导航占位push路由,只要有个key触发绘制下级视图就行。
199
- this._evt.emit('onNavViewChange', {
200
- navViewMsg: { key: this.state.srfnav },
201
- context: this.context,
202
- });
203
214
  }
204
215
  /**
205
216
  * 导航页面首次打开且没有回显时,
@@ -213,6 +224,7 @@ export class ExpBarControlController extends ControlController {
213
224
  const data = this.xDataController.state.items[0];
214
225
  if (!data) {
215
226
  // 导航视图传空让他导航占位绘制空界面
227
+ this.state.srfnav = '';
216
228
  this._evt.emit('onNavViewChange', { navViewMsg: { key: '' } });
217
229
  return;
218
230
  }
@@ -261,6 +273,7 @@ export class ExpBarControlController extends ControlController {
261
273
  const tempContext = Object.assign(context.clone(), resultContext, {
262
274
  currentSrfNav: data[this.navKeyName],
263
275
  });
276
+ this.state.srfnav = data[this.navKeyName];
264
277
  const tempParams = Object.assign({}, resultParams);
265
278
  return { context: tempContext, params: tempParams };
266
279
  }
@@ -329,4 +342,16 @@ export class ExpBarControlController extends ControlController {
329
342
  }
330
343
  });
331
344
  }
345
+ /**
346
+ * 路由变更处理回调
347
+ * @author lxm
348
+ * @date 2023-09-14 07:03:39
349
+ * @param {{ srfnav?: string; path: string }} info 当前系统的路由的从一级到最后一级的所有路径。
350
+ */
351
+ onRouterChange(info) {
352
+ if (this.state.srfnav !== info.srfnav) {
353
+ this.state.srfnav = info.srfnav;
354
+ this.defaultNavBySrfnav();
355
+ }
356
+ }
332
357
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tree-exp-bar.controller.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/exp-bar/tree-exp-bar.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,WAAW,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EACf,UAAU,EACV,aAAa,EACb,WAAW,EACZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D;;;;;;;GAOG;AACH,qBAAa,oBACX,SAAQ,uBAAuB,CAC7B,WAAW,EACX,gBAAgB,EAChB,gBAAgB,CAElB,YAAW,qBAAqB;IAEhC;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE/B,IAAI,eAAe,IAAI,eAAe,CASrC;IAED;;;;;;OAMG;IACH,UAAU,OAAiB;IAE3B;;;;;OAKG;IACH,eAAe,EAAE,MAAM,EAAE,CAAM;IAE/B;;;;;;OAMG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAarD;;;;;;;OAOG;IACH,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI;IAMzD;;;;;;;;OAQG;IACI,aAAa,CAClB,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,OAAO,GACd,WAAW;IAgBd,SAAS,CAAC,qBAAqB,IAAI,IAAI;cAwBvB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;CAyB3C"}
1
+ {"version":3,"file":"tree-exp-bar.controller.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/exp-bar/tree-exp-bar.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,WAAW,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EACf,UAAU,EACV,aAAa,EACb,WAAW,EACZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D;;;;;;;GAOG;AACH,qBAAa,oBACX,SAAQ,uBAAuB,CAC7B,WAAW,EACX,gBAAgB,EAChB,gBAAgB,CAElB,YAAW,qBAAqB;IAEhC;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE/B,IAAI,eAAe,IAAI,eAAe,CASrC;IAED;;;;;;OAMG;IACH,UAAU,OAAiB;IAE3B;;;;;OAKG;IACH,eAAe,EAAE,MAAM,EAAE,CAAM;IAE/B;;;;;;OAMG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAarD;;;;;;;OAOG;IACH,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI;IAMzD;;;;;;;;OAQG;IACI,aAAa,CAClB,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,OAAO,GACd,WAAW;IAiBd,SAAS,CAAC,qBAAqB,IAAI,IAAI;cAwBvB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;CAyB3C"}
@@ -84,6 +84,7 @@ export class TreeExpBarController extends ExpBarControlController {
84
84
  }
85
85
  const result = this.prepareParams(nodeModel, deData, context, params);
86
86
  result.context.currentSrfNav = nodeId;
87
+ this.state.srfnav = nodeId;
87
88
  return Object.assign({ key: nodeId, viewId: nodeModel.navAppViewId }, result);
88
89
  }
89
90
  defaultNavByFirstItem() {
@@ -18,5 +18,13 @@ export interface IGlobalViewConfig {
18
18
  * @type {boolean}
19
19
  */
20
20
  enableDataInfoBar: boolean;
21
+ /**
22
+ * 全局导航是否启用缓存
23
+ *
24
+ * @author chitanda
25
+ * @date 2023-09-15 12:09:09
26
+ * @type {boolean}
27
+ */
28
+ enableExpCache: boolean;
21
29
  }
22
30
  //# sourceMappingURL=i-global-view-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"i-global-view-config.d.ts","sourceRoot":"","sources":["../../../../src/interface/common/i-global-config/i-global-view-config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;;;;;OASG;IACH,iBAAiB,EAAE,OAAO,CAAC;CAC5B"}
1
+ {"version":3,"file":"i-global-view-config.d.ts","sourceRoot":"","sources":["../../../../src/interface/common/i-global-config/i-global-view-config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;;;;;OASG;IACH,iBAAiB,EAAE,OAAO,CAAC;IAE3B;;;;;;OAMG;IACH,cAAc,EAAE,OAAO,CAAC;CACzB"}
@@ -51,5 +51,15 @@ export interface IExpBarControlController<T extends IExpBar = IExpBar, S extends
51
51
  * @memberof ITreeExpBarController
52
52
  */
53
53
  getNavViewMsg(data: IData, context: IContext, params: IParams): INavViewMsg;
54
+ /**
55
+ * 路由变更处理回调
56
+ * @author lxm
57
+ * @date 2023-09-14 07:03:39
58
+ * @param {{ srfnav?: string; path: string }} info 当前系统的路由的从一级到最后一级的所有路径。
59
+ */
60
+ onRouterChange(info: {
61
+ srfnav: string;
62
+ path: string;
63
+ }): void;
54
64
  }
55
65
  //# sourceMappingURL=i-exp-bar-control.controller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"i-exp-bar-control.controller.d.ts","sourceRoot":"","sources":["../../../../../src/interface/controller/controller/control/i-exp-bar-control.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D;;;;;;;GAOG;AACH,MAAM,WAAW,wBAAwB,CACvC,CAAC,SAAS,OAAO,GAAG,OAAO,EAC3B,CAAC,SAAS,mBAAmB,GAAG,mBAAmB,EACnD,CAAC,SAAS,mBAAmB,GAAG,mBAAmB,CACnD,SAAQ,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACnC;;;;;;;OAOG;IACH,eAAe,EAAE,oBAAoB,CAAC;IACtC;;;;;;;OAOG;IACH,iBAAiB,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAClD;;;;;;;OAOG;IACH,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAEzB;;;;;;;;OAQG;IACH,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAG,WAAW,CAAC;CAC7E"}
1
+ {"version":3,"file":"i-exp-bar-control.controller.d.ts","sourceRoot":"","sources":["../../../../../src/interface/controller/controller/control/i-exp-bar-control.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D;;;;;;;GAOG;AACH,MAAM,WAAW,wBAAwB,CACvC,CAAC,SAAS,OAAO,GAAG,OAAO,EAC3B,CAAC,SAAS,mBAAmB,GAAG,mBAAmB,EACnD,CAAC,SAAS,mBAAmB,GAAG,mBAAmB,CACnD,SAAQ,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACnC;;;;;;;OAOG;IACH,eAAe,EAAE,oBAAoB,CAAC;IACtC;;;;;;;OAOG;IACH,iBAAiB,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAClD;;;;;;;OAOG;IACH,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAEzB;;;;;;;;OAQG;IACH,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAG,WAAW,CAAC;IAE5E;;;;;OAKG;IACH,cAAc,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CAC9D"}
@@ -1,3 +1,6 @@
1
+ import { IControl } from '@ibiz/model-core';
2
+ import { CTX } from '../../controller';
3
+ import { IControlController } from '../controller';
1
4
  /**
2
5
  * 部件适配器的接口
3
6
  *
@@ -15,5 +18,17 @@ export interface IControlProvider {
15
18
  * @type {unknown}
16
19
  */
17
20
  component: any;
21
+ /**
22
+ * 创建部件控制器
23
+ *
24
+ * @author lxm
25
+ * @date 2023-09-15 11:52:22
26
+ * @param {IControl} model 部件模型
27
+ * @param {IContext} context 上下文
28
+ * @param {IParams} [params] 视图参数
29
+ * @param {CTX} [ctx]
30
+ * @return {*} {IControlController}
31
+ */
32
+ createController?(model: IControl, context: IContext, params: IParams, ctx: CTX): IControlController;
18
33
  }
19
34
  //# sourceMappingURL=i-control.provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"i-control.provider.d.ts","sourceRoot":"","sources":["../../../src/interface/provider/i-control.provider.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;;OAMG;IAEH,SAAS,EAAE,GAAG,CAAC;CAChB"}
1
+ {"version":3,"file":"i-control.provider.d.ts","sourceRoot":"","sources":["../../../src/interface/provider/i-control.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;;OAMG;IAEH,SAAS,EAAE,GAAG,CAAC;IAEf;;;;;;;;;;OAUG;IACH,gBAAgB,CAAC,CACf,KAAK,EAAE,QAAQ,EACf,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,OAAO,EACf,GAAG,EAAE,GAAG,GACP,kBAAkB,CAAC;CACvB"}
@@ -1,3 +1,6 @@
1
+ import { IAppView } from '@ibiz/model-core';
2
+ import { CTX } from '../../controller';
3
+ import { IViewController } from '../controller';
1
4
  /**
2
5
  * 视图适配器的接口
3
6
  *
@@ -15,5 +18,17 @@ export interface IViewProvider {
15
18
  * @type {unknown}
16
19
  */
17
20
  component: any;
21
+ /**
22
+ * 创建视图控制器
23
+ *
24
+ * @author lxm
25
+ * @date 2023-09-15 11:49:26
26
+ * @param {IAppView} model 视图模型
27
+ * @param {IContext} context 上下文
28
+ * @param {IParams} [params] 视图参数
29
+ * @param {CTX} [ctx]
30
+ * @return {*} {IViewController}
31
+ */
32
+ createController?(model: IAppView, context: IContext, params?: IParams, ctx?: CTX): IViewController;
18
33
  }
19
34
  //# sourceMappingURL=i-view.provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"i-view.provider.d.ts","sourceRoot":"","sources":["../../../src/interface/provider/i-view.provider.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;;OAMG;IAEH,SAAS,EAAE,GAAG,CAAC;CAChB"}
1
+ {"version":3,"file":"i-view.provider.d.ts","sourceRoot":"","sources":["../../../src/interface/provider/i-view.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;;OAMG;IAEH,SAAS,EAAE,GAAG,CAAC;IAEf;;;;;;;;;;OAUG;IACH,gBAAgB,CAAC,CACf,KAAK,EAAE,QAAQ,EACf,OAAO,EAAE,QAAQ,EACjB,MAAM,CAAC,EAAE,OAAO,EAChB,GAAG,CAAC,EAAE,GAAG,GACR,eAAe,CAAC;CACpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"control.vo.d.ts","sourceRoot":"","sources":["../../../src/service/vo/control.vo.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C;;;;;;;GAOG;AACH,qBAAa,SAAS;IAEpB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,GAAG,CAAC;IAE5B;;;;;;;OAOG;IACK,OAAO,EAAE,KAAK,CAAC;IAEvB;;;;;;;OAOG;IACK,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAE5C;;;;;;OAMG;IACH,IAAI,KAAK,IAAI,KAAK,CAKjB;IAED;;;;;;OAMG;IACH,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;;;;;OAMG;IACH,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED;;;;;;OAMG;IACH,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED;;;;;;OAMG;IACH,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED;;;;;;OAMG;IACH,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED;;;;;;OAMG;IACH,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED;;;;;;OAMG;gBAED,OAAO,GAAE,KAAU,EACnB,UAAU,GAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAa;IAiCjD;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,YAAY;IA8CpB;;;;;;OAMG;IACH,SAAS,IAAI,KAAK;IAIlB;;;;;;OAMG;IACH,SAAS,CAAC,IAAI,EAAE,KAAK,GAAG,SAAS,GAAG,IAAI;IAIxC;;;;;;OAMG;IACH,KAAK,IAAI,SAAS;CAQnB"}
1
+ {"version":3,"file":"control.vo.d.ts","sourceRoot":"","sources":["../../../src/service/vo/control.vo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C;;;;;;;GAOG;AACH,qBAAa,SAAS;IAEpB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,GAAG,CAAC;IAE5B;;;;;;;OAOG;IACK,OAAO,EAAE,KAAK,CAAC;IAEvB;;;;;;;OAOG;IACK,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAE5C;;;;;;OAMG;IACH,IAAI,KAAK,IAAI,KAAK,CAKjB;IAED;;;;;;OAMG;IACH,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;;;;;OAMG;IACH,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED;;;;;;OAMG;IACH,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED;;;;;;OAMG;IACH,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED;;;;;;OAMG;IACH,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED;;;;;;OAMG;IACH,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED;;;;;;OAMG;gBAED,OAAO,GAAE,KAAU,EACnB,UAAU,GAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAa;IA8BjD;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,YAAY;IA6CpB;;;;;;OAMG;IACH,SAAS,IAAI,KAAK;IAIlB;;;;;;OAMG;IACH,SAAS,CAAC,IAAI,EAAE,KAAK,GAAG,SAAS,GAAG,IAAI;IAIxC;;;;;;OAMG;IACH,KAAK,IAAI,SAAS;CAQnB"}
@@ -1,4 +1,3 @@
1
- import { DataTypes } from '@ibiz-template/core';
2
1
  import { clone, isNil } from 'ramda';
3
2
  import { Srfuf } from '../constant';
4
3
  /**
@@ -105,9 +104,7 @@ export class ControlVO {
105
104
  this.$dataUIMap.forEach((mapField, key) => {
106
105
  const value = mapField.dataKey;
107
106
  // 关联映射属性
108
- const forceNumber = mapField.dataType !== undefined &&
109
- DataTypes.isNumber(mapField.dataType);
110
- this.linkProperty(key, value, mapField.isOriginField, forceNumber);
107
+ this.linkProperty(key, value, mapField);
111
108
  });
112
109
  // 映射属性里没有涉及到的建立直接关联,用于使用实体属性也要取到值的场景。
113
110
  Object.keys($origin).forEach(value => {
@@ -129,7 +126,8 @@ export class ControlVO {
129
126
  * @param {boolean} [forceNumber=false] 是否强制转换成数值,是的话set的时候转成数值
130
127
  * @returns {*}
131
128
  */
132
- linkProperty(uiKey, dataKey, isOriginField = true, forceNumber = false) {
129
+ linkProperty(uiKey, dataKey, mapField) {
130
+ const isOriginField = mapField ? mapField.isOriginField : true;
133
131
  // srfuf和srfkey不做处理
134
132
  if (uiKey === 'srfuf') {
135
133
  return;
@@ -147,15 +145,14 @@ export class ControlVO {
147
145
  : this.$origin[dataKey];
148
146
  },
149
147
  set(val) {
150
- // 非空且强制转数值时,转换值的类型
151
- let val2 = forceNumber && !isNil(val) && val !== '' ? Number(val) : val;
152
- if (Number.isNaN(val2)) {
153
- val2 = val; // NaN时还原值
154
- ibiz.log.error(`${val}不能转换成数字`);
155
- }
156
- this.$origin[dataKey] = val2;
148
+ // 有mapField的走它的转换
149
+ this.$origin[dataKey] = mapField ? mapField.convertVal(val) : val;
157
150
  },
158
151
  });
152
+ // 一开始初始化的时候先把值转换一下。
153
+ if (mapField) {
154
+ this[uiKey] = mapField.convertVal(this.$origin[dataKey]);
155
+ }
159
156
  }
160
157
  else {
161
158
  Object.defineProperty(this, uiKey, {
@@ -50,5 +50,12 @@ export declare class UIMapField {
50
50
  isOriginField?: boolean;
51
51
  dataType?: number;
52
52
  });
53
+ /**
54
+ * 值转换
55
+ * @author lxm
56
+ * @date 2023-09-14 06:45:44
57
+ * @param {unknown} value 原值
58
+ */
59
+ convertVal(value: unknown): unknown;
53
60
  }
54
61
  //# sourceMappingURL=ui-map-field.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ui-map-field.d.ts","sourceRoot":"","sources":["../../../src/service/vo/ui-map-field.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,qBAAa,UAAU;IACrB;;;;;;OAMG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;;;;OAMG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;;OAMG;IACH,aAAa,EAAE,OAAO,CAAS;IAE/B;;;;;;OAMG;IACH,aAAa,EAAE,OAAO,CAAQ;gBAG5B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,IAAI,GAAE;QACJ,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACd;CAWT"}
1
+ {"version":3,"file":"ui-map-field.d.ts","sourceRoot":"","sources":["../../../src/service/vo/ui-map-field.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,qBAAa,UAAU;IACrB;;;;;;OAMG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;;;;OAMG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;;OAMG;IACH,aAAa,EAAE,OAAO,CAAS;IAE/B;;;;;;OAMG;IACH,aAAa,EAAE,OAAO,CAAQ;gBAG5B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,IAAI,GAAE;QACJ,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACd;IAYR;;;;;OAKG;IACH,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;CAoBpC"}
@@ -1,3 +1,4 @@
1
+ import { DataTypes } from '@ibiz-template/core';
1
2
  import { isNil } from 'ramda';
2
3
  /**
3
4
  * 界面映射字段信息
@@ -34,4 +35,27 @@ export class UIMapField {
34
35
  this.dataType = opts.dataType;
35
36
  }
36
37
  }
38
+ /**
39
+ * 值转换
40
+ * @author lxm
41
+ * @date 2023-09-14 06:45:44
42
+ * @param {unknown} value 原值
43
+ */
44
+ convertVal(value) {
45
+ // 没有数据类型的给原值
46
+ if (!this.dataType) {
47
+ return value;
48
+ }
49
+ // 数值转换
50
+ if (DataTypes.isNumber(this.dataType)) {
51
+ const numVal = !isNil(value) && value !== '' ? Number(value) : value;
52
+ if (Number.isNaN(numVal)) {
53
+ // 不能转换的给原值
54
+ ibiz.log.debug(`${value}不能转换成数字`);
55
+ return value;
56
+ }
57
+ return numVal;
58
+ }
59
+ return value;
60
+ }
37
61
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ibiz-template/runtime",
3
- "version": "0.1.24",
3
+ "version": "0.1.25",
4
4
  "description": "控制器包",
5
5
  "type": "module",
6
6
  "main": "out/index.js",
@@ -57,5 +57,5 @@
57
57
  "qx-util": "^0.4.8",
58
58
  "ramda": "^0.29.0"
59
59
  },
60
- "gitHead": "b1d394ad9b4d7e81e607054c31f056e8299855b9"
60
+ "gitHead": "bfc52e088d9eb1548c4c22cd783ec22d76499ee1"
61
61
  }
@@ -19,6 +19,7 @@ export class GlobalConfig implements IGlobalConfig {
19
19
  // 全局视图配置
20
20
  view: IGlobalViewConfig = {
21
21
  enableDataInfoBar: true,
22
+ enableExpCache: true,
22
23
  };
23
24
 
24
25
  // 全局表格配置
@@ -13,8 +13,8 @@ import {
13
13
  } from '../../../interface/controller';
14
14
  import { ControllerEvent } from '../../utils';
15
15
  import {
16
- IControlProvider,
17
16
  IDataAbilityParams,
17
+ IProvider,
18
18
  IUILogicParams,
19
19
  } from '../../../interface';
20
20
  import { ControlLogicScheduler } from '../../../logic-scheduler';
@@ -64,12 +64,12 @@ export class ControlController<
64
64
  layoutPanel?: IViewLayoutPanelController;
65
65
 
66
66
  /**
67
- * 子部件适配器
67
+ * 子适配器
68
68
  * @author lxm
69
69
  * @date 2023-07-19 04:14:50
70
- * @type {{ [key: string]: IControlProvider }}
70
+ * @type {{ [key: string]: IProvider }}
71
71
  */
72
- providers: { [key: string]: IControlProvider } = {};
72
+ providers: { [key: string]: IProvider } = {};
73
73
 
74
74
  /**
75
75
  * Creates an instance of ControlController.
@@ -92,6 +92,7 @@ export class CalendarExpBarController
92
92
  this.params,
93
93
  );
94
94
  context.currentSrfNav = item.navId;
95
+ this.state.srfnav = item.navId;
95
96
  return {
96
97
  key: item.navId,
97
98
  context,
@@ -256,15 +256,28 @@ export class ExpBarControlController<
256
256
  const selectItem = this.xDataController?.state.items.find(
257
257
  item => item[this.navKeyName] === this.state.srfnav,
258
258
  );
259
- if (selectItem) {
260
- // 在多数据部件里面选项设置回显。
259
+
260
+ // 是否是路由模式且有子路由
261
+ const routeAndHasSub =
262
+ this.routeDepth &&
263
+ window.location.hash.split('/').length > this.routeDepth * 2 + 2;
264
+ console.log('routeAndHasSub', routeAndHasSub);
265
+
266
+ if (routeAndHasSub) {
267
+ if (selectItem) {
268
+ // 在多数据部件里面选项设置回显。
269
+ this.xDataController.setSelection([selectItem]);
270
+ }
271
+ // 此时不需要导航占位push路由,只要有个key触发绘制下级视图就行。
272
+ this._evt.emit('onNavViewChange', {
273
+ navViewMsg: { key: this.state.srfnav },
274
+ context: this.context,
275
+ });
276
+ } else if (selectItem) {
277
+ // 非路由模式,或者有路由模式下有srfnav没有子路由时,需要在多数据部件里面选项设置回显。
278
+ this.xDataController.setActive(selectItem);
261
279
  this.xDataController.setSelection([selectItem]);
262
280
  }
263
- // 此时不需要导航占位push路由,只要有个key触发绘制下级视图就行。
264
- this._evt.emit('onNavViewChange', {
265
- navViewMsg: { key: this.state.srfnav },
266
- context: this.context,
267
- });
268
281
  }
269
282
 
270
283
  /**
@@ -279,6 +292,7 @@ export class ExpBarControlController<
279
292
  const data = this.xDataController.state.items[0];
280
293
  if (!data) {
281
294
  // 导航视图传空让他导航占位绘制空界面
295
+ this.state.srfnav = '';
282
296
  this._evt.emit('onNavViewChange', { navViewMsg: { key: '' } });
283
297
  return;
284
298
  }
@@ -340,6 +354,7 @@ export class ExpBarControlController<
340
354
  const tempContext = Object.assign(context.clone(), resultContext, {
341
355
  currentSrfNav: data[this.navKeyName],
342
356
  });
357
+ this.state.srfnav = data[this.navKeyName];
343
358
  const tempParams = { ...resultParams };
344
359
  return { context: tempContext, params: tempParams };
345
360
  }
@@ -420,4 +435,17 @@ export class ExpBarControlController<
420
435
  }
421
436
  });
422
437
  }
438
+
439
+ /**
440
+ * 路由变更处理回调
441
+ * @author lxm
442
+ * @date 2023-09-14 07:03:39
443
+ * @param {{ srfnav?: string; path: string }} info 当前系统的路由的从一级到最后一级的所有路径。
444
+ */
445
+ onRouterChange(info: { srfnav: string; path: string }): void {
446
+ if (this.state.srfnav !== info.srfnav) {
447
+ this.state.srfnav = info.srfnav;
448
+ this.defaultNavBySrfnav();
449
+ }
450
+ }
423
451
  }
@@ -119,6 +119,7 @@ export class TreeExpBarController
119
119
  }
120
120
  const result = this.prepareParams(nodeModel, deData, context, params);
121
121
  result.context.currentSrfNav = nodeId;
122
+ this.state.srfnav = nodeId;
122
123
  return {
123
124
  key: nodeId,
124
125
  viewId: nodeModel.navAppViewId,
@@ -18,4 +18,13 @@ export interface IGlobalViewConfig {
18
18
  * @type {boolean}
19
19
  */
20
20
  enableDataInfoBar: boolean;
21
+
22
+ /**
23
+ * 全局导航是否启用缓存
24
+ *
25
+ * @author chitanda
26
+ * @date 2023-09-15 12:09:09
27
+ * @type {boolean}
28
+ */
29
+ enableExpCache: boolean;
21
30
  }
@@ -57,4 +57,12 @@ export interface IExpBarControlController<
57
57
  * @memberof ITreeExpBarController
58
58
  */
59
59
  getNavViewMsg(data: IData, context: IContext, params: IParams): INavViewMsg;
60
+
61
+ /**
62
+ * 路由变更处理回调
63
+ * @author lxm
64
+ * @date 2023-09-14 07:03:39
65
+ * @param {{ srfnav?: string; path: string }} info 当前系统的路由的从一级到最后一级的所有路径。
66
+ */
67
+ onRouterChange(info: { srfnav: string; path: string }): void;
60
68
  }
@@ -1,3 +1,7 @@
1
+ import { IControl } from '@ibiz/model-core';
2
+ import { CTX } from '../../controller';
3
+ import { IControlController } from '../controller';
4
+
1
5
  /**
2
6
  * 部件适配器的接口
3
7
  *
@@ -16,4 +20,22 @@ export interface IControlProvider {
16
20
  */
17
21
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
18
22
  component: any;
23
+
24
+ /**
25
+ * 创建部件控制器
26
+ *
27
+ * @author lxm
28
+ * @date 2023-09-15 11:52:22
29
+ * @param {IControl} model 部件模型
30
+ * @param {IContext} context 上下文
31
+ * @param {IParams} [params] 视图参数
32
+ * @param {CTX} [ctx]
33
+ * @return {*} {IControlController}
34
+ */
35
+ createController?(
36
+ model: IControl,
37
+ context: IContext,
38
+ params: IParams,
39
+ ctx: CTX,
40
+ ): IControlController;
19
41
  }