@ibiz-template/runtime 0.2.15 → 0.2.17

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 (54) hide show
  1. package/dist/index.esm.js +66 -13
  2. package/dist/index.system.min.js +1 -1
  3. package/dist/index.system.min.js.map +1 -1
  4. package/out/controller/control/form/edit-form/edit-form.controller.d.ts +2 -2
  5. package/out/controller/control/form/edit-form/edit-form.controller.d.ts.map +1 -1
  6. package/out/controller/control/form/edit-form/edit-form.controller.js +12 -3
  7. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-content-type.controller.d.ts +6 -0
  8. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-content-type.controller.d.ts.map +1 -1
  9. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-content-type.controller.js +8 -0
  10. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-data-view/form-mdctrl-data-view.controller.d.ts +1 -0
  11. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-data-view/form-mdctrl-data-view.controller.d.ts.map +1 -1
  12. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-data-view/form-mdctrl-data-view.controller.js +4 -0
  13. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-form/form-mdctrl-form.controller.d.ts +1 -0
  14. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-form/form-mdctrl-form.controller.d.ts.map +1 -1
  15. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-form/form-mdctrl-form.controller.js +3 -0
  16. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-grid/form-mdctrl-grid.controller.d.ts +1 -0
  17. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-grid/form-mdctrl-grid.controller.d.ts.map +1 -1
  18. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-grid/form-mdctrl-grid.controller.js +4 -0
  19. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-list/form-mdctrl-list.controller.d.ts +1 -0
  20. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-list/form-mdctrl-list.controller.d.ts.map +1 -1
  21. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-list/form-mdctrl-list.controller.js +4 -0
  22. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl.controller.d.ts +6 -0
  23. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl.controller.d.ts.map +1 -1
  24. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl.controller.js +8 -0
  25. package/out/controller/control/panel/panel/panel-item.controller.d.ts +8 -9
  26. package/out/controller/control/panel/panel/panel-item.controller.d.ts.map +1 -1
  27. package/out/controller/control/panel/panel/panel-item.controller.js +2 -2
  28. package/out/interface/controller/controller/control/i-control.controller.d.ts +9 -0
  29. package/out/interface/controller/controller/control/i-control.controller.d.ts.map +1 -1
  30. package/out/interface/controller/controller/control/i-edit-form.controller.d.ts +10 -1
  31. package/out/interface/controller/controller/control/i-edit-form.controller.d.ts.map +1 -1
  32. package/out/interface/controller/controller/control/i-md-control.controller.d.ts +0 -7
  33. package/out/interface/controller/controller/control/i-md-control.controller.d.ts.map +1 -1
  34. package/out/interface/controller/state/control/panel-item/i-panel-item.state.d.ts +8 -0
  35. package/out/interface/controller/state/control/panel-item/i-panel-item.state.d.ts.map +1 -1
  36. package/out/register/helper/panel-item-register.d.ts.map +1 -1
  37. package/out/register/helper/panel-item-register.js +12 -2
  38. package/out/ui-action/provider/ui-action-provider-base.d.ts.map +1 -1
  39. package/out/ui-action/provider/ui-action-provider-base.js +12 -5
  40. package/package.json +3 -2
  41. package/src/controller/control/form/edit-form/edit-form.controller.ts +13 -4
  42. package/src/controller/control/form/form-detail/form-mdctrl/form-mdctrl-content-type.controller.ts +9 -0
  43. package/src/controller/control/form/form-detail/form-mdctrl/form-mdctrl-data-view/form-mdctrl-data-view.controller.ts +4 -0
  44. package/src/controller/control/form/form-detail/form-mdctrl/form-mdctrl-form/form-mdctrl-form.controller.ts +4 -0
  45. package/src/controller/control/form/form-detail/form-mdctrl/form-mdctrl-grid/form-mdctrl-grid.controller.ts +4 -0
  46. package/src/controller/control/form/form-detail/form-mdctrl/form-mdctrl-list/form-mdctrl-list.controller.ts +4 -0
  47. package/src/controller/control/form/form-detail/form-mdctrl/form-mdctrl.controller.ts +9 -0
  48. package/src/controller/control/panel/panel/panel-item.controller.ts +7 -7
  49. package/src/interface/controller/controller/control/i-control.controller.ts +10 -0
  50. package/src/interface/controller/controller/control/i-edit-form.controller.ts +11 -1
  51. package/src/interface/controller/controller/control/i-md-control.controller.ts +0 -8
  52. package/src/interface/controller/state/control/panel-item/i-panel-item.state.ts +9 -0
  53. package/src/register/helper/panel-item-register.ts +21 -3
  54. package/src/ui-action/provider/ui-action-provider-base.ts +12 -6
@@ -216,4 +216,13 @@ export class FormMDCtrlController extends FormDetailController<IDEFormMDCtrl> {
216
216
  );
217
217
  }
218
218
  }
219
+
220
+ /**
221
+ *
222
+ * @author lxm
223
+ * @date 2023-11-13 11:21:06
224
+ */
225
+ refresh(): void {
226
+ this.mdCtrlContentController.refresh();
227
+ }
219
228
  }
@@ -4,12 +4,12 @@ import {
4
4
  IPanelItemController,
5
5
  IPanelController,
6
6
  IPanelDataContainerController,
7
+ IPanelItemState,
7
8
  } from '../../../../interface';
8
9
  import { calcLayoutHeightWidth, calcDynaClass } from '../../../../model';
9
10
  import { verifyPanelGroupLogic } from '../../../../utils';
10
11
  import { PanelNotifyState } from '../../../constant';
11
12
  import { PanelItemState } from './panel-item.state';
12
- import { PanelController } from './panel.controller';
13
13
 
14
14
  export class PanelItemController<T extends IPanelItem = IPanelItem>
15
15
  implements IPanelItemController
@@ -19,9 +19,9 @@ export class PanelItemController<T extends IPanelItem = IPanelItem>
19
19
  *
20
20
  * @author chitanda
21
21
  * @date 2023-01-04 09:01:04
22
- * @type {PanelItemState}
22
+ * @type {IPanelItemState}
23
23
  */
24
- state: PanelItemState;
24
+ state: IPanelItemState;
25
25
 
26
26
  /**
27
27
  * 数据父容器
@@ -72,13 +72,13 @@ export class PanelItemController<T extends IPanelItem = IPanelItem>
72
72
  * @author lxm
73
73
  * @date 2023-04-27 06:37:12
74
74
  * @param {T} model 面板成员模型
75
- * @param {PanelController} panel 面板控制器
76
- * @param {PanelItemController} [parent] 父容器控制器
75
+ * @param {IPanelController} panel 面板控制器
76
+ * @param {IPanelItemController} [parent] 父容器控制器
77
77
  */
78
78
  constructor(
79
79
  public readonly model: T,
80
- public readonly panel: PanelController,
81
- public readonly parent?: PanelItemController,
80
+ public readonly panel: IPanelController,
81
+ public readonly parent?: IPanelItemController,
82
82
  ) {
83
83
  this.state = this.createState();
84
84
  }
@@ -4,6 +4,7 @@ import { IControlState } from '../../state';
4
4
  import { IController } from '../i.controller';
5
5
  import { IViewController } from '../view/i-view.controller';
6
6
  import { IViewLayoutPanelController } from './i-view-layout-panel.controller';
7
+ import { ControlLogicScheduler } from '../../../../logic-scheduler';
7
8
 
8
9
  /**
9
10
  * 部件控制器
@@ -34,6 +35,15 @@ export interface IControlController<
34
35
  */
35
36
  layoutPanel?: IViewLayoutPanelController;
36
37
 
38
+ /**
39
+ * 部件逻辑调度器
40
+ *
41
+ * @author chitanda
42
+ * @date 2023-11-11 10:11:16
43
+ * @type {ControlLogicScheduler}
44
+ */
45
+ scheduler?: ControlLogicScheduler;
46
+
37
47
  /**
38
48
  * 开始加载
39
49
  *
@@ -4,6 +4,16 @@ import { IEditFormEvent } from '../../event';
4
4
  import { IEditFormState } from '../../state';
5
5
  import { IFormController } from './i-form.controller';
6
6
 
7
+ export interface FormSaveParams extends IDataAbilityParams {
8
+ /**
9
+ * 保存之后是否不合并后台回来的数据
10
+ * @author lxm
11
+ * @date 2023-11-11 11:28:23
12
+ * @type {boolean}
13
+ */
14
+ noFillBack?: boolean;
15
+ }
16
+
7
17
  /**
8
18
  * 编辑表单控制器
9
19
  * @author lxm
@@ -28,7 +38,7 @@ export interface IEditFormController
28
38
  * @date 2023-05-16 12:59:03
29
39
  * @return {*} {Promise<IData>}
30
40
  */
31
- save(args?: IDataAbilityParams): Promise<IData>;
41
+ save(args?: FormSaveParams): Promise<IData>;
32
42
 
33
43
  /**
34
44
  * 删除表单数据
@@ -21,14 +21,6 @@ export interface MDCtrlLoadParams extends IDataAbilityParams {
21
21
  }
22
22
 
23
23
  export interface MDCtrlRemoveParams extends IDataAbilityParams {
24
- /**
25
- * 是否静默删除
26
- * @author lxm
27
- * @date 2023-08-17 06:04:23
28
- * @type {boolean}
29
- */
30
- silent?: boolean;
31
-
32
24
  /**
33
25
  * 是否不需要刷新(默认为否,如果不需要刷新传true)
34
26
  * @author lxm
@@ -18,6 +18,15 @@ export interface IPanelItemState extends IColState {
18
18
  * @type {IPanelItemClass}
19
19
  */
20
20
  class: IPanelItemClass;
21
+
22
+ /**
23
+ * 是否必填
24
+ *
25
+ * @author chitanda
26
+ * @date 2023-11-11 09:11:53
27
+ * @type {boolean}
28
+ */
29
+ required: boolean;
21
30
  }
22
31
 
23
32
  export interface IPanelItemClass {
@@ -1,4 +1,9 @@
1
- import { IPanelContainer, IPanelItem, IPanelRawItem } from '@ibiz/model-core';
1
+ import {
2
+ IPanelContainer,
3
+ IPanelField,
4
+ IPanelItem,
5
+ IPanelRawItem,
6
+ } from '@ibiz/model-core';
2
7
  import { IPanelItemProvider } from '../../interface';
3
8
  import { getPluginRegisterKey } from './common-register';
4
9
 
@@ -63,7 +68,9 @@ export async function getPanelItemProvider(
63
68
  const key = `CONTAINER_${predefinedType}`;
64
69
  provider = getProvider(key);
65
70
  if (!provider) {
66
- ibiz.log.error(`找不到面板容器预置类型为${predefinedType}的适配器`);
71
+ ibiz.log.error(
72
+ `找不到面板容器预置类型为${predefinedType}的适配器,注册key为${key}`,
73
+ );
67
74
  } else {
68
75
  return provider;
69
76
  }
@@ -77,13 +84,24 @@ export async function getPanelItemProvider(
77
84
  provider = getProvider(key);
78
85
  if (!provider) {
79
86
  ibiz.log.error(
80
- `找不到面板成员直接内容预置类型为${predefinedType}的适配器`,
87
+ `找不到面板成员直接内容预置类型为${predefinedType}的适配器,注册key为${key}`,
81
88
  );
82
89
  } else {
83
90
  return provider;
84
91
  }
85
92
  }
86
93
 
94
+ if (itemType === 'FIELD') {
95
+ const { editor } = model as IPanelField;
96
+ if (editor && editor.predefinedType) {
97
+ const key = `FIELD_${editor.predefinedType.toUpperCase()}`;
98
+ provider = getProvider(key);
99
+ if (provider) {
100
+ return provider;
101
+ }
102
+ }
103
+ }
104
+
87
105
  // 找面板成员类型
88
106
  provider = getProvider(itemType);
89
107
  if (!provider) {
@@ -62,16 +62,22 @@ export abstract class UIActionProviderBase implements IUIActionProvider {
62
62
  }
63
63
 
64
64
  // ** 后续界面行为
65
- const nextResult = await this.doNextAction(action, {
65
+ const nextActionParams = {
66
66
  ...args,
67
67
  context: result.nextContext || context,
68
68
  data: result.data || data,
69
69
  params: result.nextParams || params,
70
- });
71
- if (nextResult) {
72
- Object.assign(result, nextResult);
73
- if (nextResult.cancel === true) {
74
- return this.returnError(result);
70
+ };
71
+ if (action.closeEditView) {
72
+ // 关闭视图的情况下,不等待后续界面行为
73
+ this.doNextAction(action, nextActionParams);
74
+ } else {
75
+ const nextResult = await this.doNextAction(action, nextActionParams);
76
+ if (nextResult) {
77
+ Object.assign(result, nextResult);
78
+ if (nextResult.cancel === true) {
79
+ return this.returnError(result);
80
+ }
75
81
  }
76
82
  }
77
83