@ibiz-template/runtime 0.1.8 → 0.1.9

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 (118) hide show
  1. package/dist/index.esm.js +4077 -3949
  2. package/dist/index.system.min.js +1 -1
  3. package/dist/index.system.min.js.map +1 -1
  4. package/out/app-hub.d.ts +8 -0
  5. package/out/app-hub.d.ts.map +1 -1
  6. package/out/app-hub.js +8 -0
  7. package/out/command/app/open-app-view/open-app-view.js +5 -5
  8. package/out/controller/common/control/control.controller.d.ts +9 -1
  9. package/out/controller/common/control/control.controller.d.ts.map +1 -1
  10. package/out/controller/common/control/control.controller.js +17 -7
  11. package/out/controller/common/view/view.controller.d.ts +1 -0
  12. package/out/controller/common/view/view.controller.d.ts.map +1 -1
  13. package/out/controller/common/view/view.controller.js +6 -3
  14. package/out/controller/hub.controller.d.ts +16 -0
  15. package/out/controller/hub.controller.d.ts.map +1 -0
  16. package/out/controller/hub.controller.js +20 -0
  17. package/out/controller/index.d.ts +1 -0
  18. package/out/controller/index.d.ts.map +1 -1
  19. package/out/controller/index.js +1 -0
  20. package/out/controller/utils/value-rule/value-rule.d.ts.map +1 -1
  21. package/out/controller/utils/value-rule/value-rule.js +1 -1
  22. package/out/interface/common/i-app-hub-service/i-app-hub-service.d.ts +9 -0
  23. package/out/interface/common/i-app-hub-service/i-app-hub-service.d.ts.map +1 -1
  24. package/out/interface/controller/app.d.ts +37 -0
  25. package/out/interface/controller/app.d.ts.map +1 -0
  26. package/out/interface/controller/app.js +1 -0
  27. package/out/interface/controller/controller/control/i-context-menu.controller.d.ts +15 -0
  28. package/out/interface/controller/controller/control/i-context-menu.controller.d.ts.map +1 -0
  29. package/out/interface/controller/controller/control/i-context-menu.controller.js +1 -0
  30. package/out/interface/controller/controller/control/i-toolbar.controller.d.ts +2 -2
  31. package/out/interface/controller/controller/control/i-toolbar.controller.d.ts.map +1 -1
  32. package/out/interface/controller/controller/control/index.d.ts +1 -0
  33. package/out/interface/controller/controller/control/index.d.ts.map +1 -1
  34. package/out/interface/controller/controller/control/index.js +1 -0
  35. package/out/interface/controller/controller/view/i-view.controller.d.ts +8 -0
  36. package/out/interface/controller/controller/view/i-view.controller.d.ts.map +1 -1
  37. package/out/interface/controller/event/control/i-context-menu.event.d.ts +11 -0
  38. package/out/interface/controller/event/control/i-context-menu.event.d.ts.map +1 -0
  39. package/out/interface/controller/event/control/i-context-menu.event.js +1 -0
  40. package/out/interface/controller/event/control/index.d.ts +1 -0
  41. package/out/interface/controller/event/control/index.d.ts.map +1 -1
  42. package/out/interface/controller/event/control/index.js +1 -0
  43. package/out/interface/controller/event/view/i-pickup-md-view.event.d.ts +31 -0
  44. package/out/interface/controller/event/view/i-pickup-md-view.event.d.ts.map +1 -0
  45. package/out/interface/controller/event/view/i-pickup-md-view.event.js +1 -0
  46. package/out/interface/controller/event/view/index.d.ts +1 -0
  47. package/out/interface/controller/event/view/index.d.ts.map +1 -1
  48. package/out/interface/controller/event/view/index.js +1 -0
  49. package/out/interface/controller/index.d.ts +1 -0
  50. package/out/interface/controller/index.d.ts.map +1 -1
  51. package/out/interface/controller/state/control/i-context-menu.state.d.ts +11 -0
  52. package/out/interface/controller/state/control/i-context-menu.state.d.ts.map +1 -0
  53. package/out/interface/controller/state/control/i-context-menu.state.js +1 -0
  54. package/out/interface/controller/state/control/i-tree.state.d.ts +1 -10
  55. package/out/interface/controller/state/control/i-tree.state.d.ts.map +1 -1
  56. package/out/interface/controller/state/control/index.d.ts +1 -0
  57. package/out/interface/controller/state/control/index.d.ts.map +1 -1
  58. package/out/interface/controller/state/control/index.js +1 -0
  59. package/out/interface/controller/state/view/i-pickup-md-view.state.d.ts +22 -0
  60. package/out/interface/controller/state/view/i-pickup-md-view.state.d.ts.map +1 -0
  61. package/out/interface/controller/state/view/i-pickup-md-view.state.js +1 -0
  62. package/out/interface/controller/state/view/index.d.ts +1 -0
  63. package/out/interface/controller/state/view/index.d.ts.map +1 -1
  64. package/out/interface/controller/state/view/index.js +1 -0
  65. package/out/interface/util/i-open-view-util/i-open-view-util.d.ts +11 -11
  66. package/out/interface/util/i-open-view-util/i-open-view-util.d.ts.map +1 -1
  67. package/out/interface/util/script/i-script-function.d.ts +8 -1
  68. package/out/interface/util/script/i-script-function.d.ts.map +1 -1
  69. package/out/logic-scheduler/executor/script-executor.d.ts +6 -6
  70. package/out/logic-scheduler/executor/script-executor.d.ts.map +1 -1
  71. package/out/logic-scheduler/executor/script-executor.js +10 -14
  72. package/out/logic-scheduler/trigger/item-dyna-logic-trigger.d.ts +1 -0
  73. package/out/logic-scheduler/trigger/item-dyna-logic-trigger.d.ts.map +1 -1
  74. package/out/logic-scheduler/trigger/item-dyna-logic-trigger.js +6 -2
  75. package/out/logic-scheduler/trigger/logic-trigger.d.ts +8 -0
  76. package/out/logic-scheduler/trigger/logic-trigger.d.ts.map +1 -1
  77. package/out/logic-scheduler/trigger/logic-trigger.js +17 -0
  78. package/out/model/layout/layout.d.ts.map +1 -1
  79. package/out/model/layout/layout.js +1 -0
  80. package/out/service/vo/tree-node-data/tree-data-set-node-data.d.ts.map +1 -1
  81. package/out/service/vo/tree-node-data/tree-data-set-node-data.js +3 -1
  82. package/out/utils/script/script-function.d.ts +9 -0
  83. package/out/utils/script/script-function.d.ts.map +1 -1
  84. package/out/utils/script/script-function.js +75 -1
  85. package/out/utils/verify/de-rule-verify.js +1 -1
  86. package/package.json +2 -2
  87. package/src/app-hub.ts +9 -0
  88. package/src/command/app/open-app-view/open-app-view.ts +5 -5
  89. package/src/controller/common/control/control.controller.ts +19 -9
  90. package/src/controller/common/view/view.controller.ts +9 -3
  91. package/src/controller/hub.controller.ts +22 -0
  92. package/src/controller/index.ts +1 -0
  93. package/src/controller/utils/value-rule/value-rule.ts +1 -0
  94. package/src/interface/common/i-app-hub-service/i-app-hub-service.ts +10 -0
  95. package/src/interface/controller/app.ts +38 -0
  96. package/src/interface/controller/controller/control/i-context-menu.controller.ts +19 -0
  97. package/src/interface/controller/controller/control/i-toolbar.controller.ts +6 -3
  98. package/src/interface/controller/controller/control/index.ts +1 -0
  99. package/src/interface/controller/controller/view/i-view.controller.ts +9 -0
  100. package/src/interface/controller/event/control/i-context-menu.event.ts +10 -0
  101. package/src/interface/controller/event/control/index.ts +1 -0
  102. package/src/interface/controller/event/view/i-pickup-md-view.event.ts +29 -0
  103. package/src/interface/controller/event/view/index.ts +1 -0
  104. package/src/interface/controller/index.ts +1 -0
  105. package/src/interface/controller/state/control/i-context-menu.state.ts +10 -0
  106. package/src/interface/controller/state/control/i-tree.state.ts +1 -9
  107. package/src/interface/controller/state/control/index.ts +1 -0
  108. package/src/interface/controller/state/view/i-pickup-md-view.state.ts +22 -0
  109. package/src/interface/controller/state/view/index.ts +1 -0
  110. package/src/interface/util/i-open-view-util/i-open-view-util.ts +11 -11
  111. package/src/interface/util/script/i-script-function.ts +9 -1
  112. package/src/logic-scheduler/executor/script-executor.ts +11 -14
  113. package/src/logic-scheduler/trigger/item-dyna-logic-trigger.ts +8 -2
  114. package/src/logic-scheduler/trigger/logic-trigger.ts +19 -0
  115. package/src/model/layout/layout.ts +1 -0
  116. package/src/service/vo/tree-node-data/tree-data-set-node-data.ts +3 -0
  117. package/src/utils/script/script-function.ts +77 -2
  118. package/src/utils/verify/de-rule-verify.ts +1 -0
@@ -2,12 +2,13 @@
2
2
  /* eslint-disable no-new-func */
3
3
  /* eslint-disable @typescript-eslint/ban-types */
4
4
  import { mergeRight } from 'ramda';
5
- import { IScriptFunctionOpts } from '../../interface';
5
+ import { IScriptFunctionOpts, IViewController } from '../../interface';
6
6
 
7
7
  /** 默认选项 */
8
8
  const DefaultOptions: IScriptFunctionOpts = {
9
9
  /** 是否是单行脚本,并把表达式结果return */
10
10
  singleRowReturn: false,
11
+ isAsync: true,
11
12
  };
12
13
 
13
14
  export class ScriptFunction {
@@ -48,6 +49,9 @@ export class ScriptFunction {
48
49
  if (options.singleRowReturn) {
49
50
  code = `return (${code})`;
50
51
  }
52
+ if (options.isAsync) {
53
+ code = `return (async function() { ${code}} )();`;
54
+ }
51
55
  return code;
52
56
  }
53
57
 
@@ -63,7 +67,26 @@ export class ScriptFunction {
63
67
  const keys = options.presetParams ? Object.keys(options.presetParams) : [];
64
68
  keys.push(...argKeys);
65
69
  // 预置提供的参数
66
- keys.push('document', 'el', 'selector');
70
+ const presetArgsKeys = [
71
+ 'document',
72
+ 'el',
73
+ 'selector',
74
+ 'env',
75
+ 'appSession',
76
+ 'topViewSession',
77
+ 'viewSession',
78
+ 'context',
79
+ 'viewParam',
80
+ 'activeData',
81
+ 'data',
82
+ 'app',
83
+ 'topView',
84
+ 'parentView',
85
+ 'view',
86
+ 'parent',
87
+ 'util',
88
+ ];
89
+ keys.push(...presetArgsKeys);
67
90
  // 除重
68
91
  this.argKeys = Array.from(new Set(keys));
69
92
  }
@@ -90,12 +113,64 @@ export class ScriptFunction {
90
113
  // 对象参数转数组
91
114
  const result: any[] = [];
92
115
  this.argKeys.forEach(key => {
116
+ if (_params[key] === undefined) {
117
+ this.fillDefaultParams(key, _params);
118
+ }
93
119
  result.push(_params[key]);
94
120
  });
95
121
 
96
122
  return result;
97
123
  }
98
124
 
125
+ /**
126
+ * 填充预置参数
127
+ * @author lxm
128
+ * @date 2023-08-21 04:07:50
129
+ * @protected
130
+ * @param {string} key
131
+ * @param {IParams} param
132
+ */
133
+ protected fillDefaultParams(key: string, param: IParams): void {
134
+ const view = param.view as IViewController | undefined;
135
+ switch (key) {
136
+ case 'util': // 工具类
137
+ param.util = {
138
+ message: ibiz.message,
139
+ notification: ibiz.notification,
140
+ modal: ibiz.modal,
141
+ confirm: ibiz.confirm,
142
+ openView: ibiz.openView,
143
+ };
144
+ break;
145
+ case 'env': // 全局环境变量
146
+ param.env = ibiz.env;
147
+ break;
148
+ case 'app': // 应用级的控制器
149
+ param.app = ibiz.hub.controller;
150
+ break;
151
+ case 'parent': // 父容器控制器
152
+ param.parent = view?.parentView;
153
+ break;
154
+ case 'topView': // 顶级视图控制器
155
+ param.topView = view?.getTopView();
156
+ break;
157
+ case 'parentView': // 父级视图控制器
158
+ param.parentView = view?.parentView;
159
+ break;
160
+ case 'topViewSession': // 顶级视图共享数据对象
161
+ param.topViewSession = view?.getTopView().session;
162
+ break;
163
+ case 'viewSession': // 当前视图共享数据对象
164
+ param.viewSession = view?.session;
165
+ break;
166
+ case 'appSession': // 全局共享数据对象
167
+ param.appSession = ibiz.hub.controller.session;
168
+ break;
169
+ default:
170
+ break;
171
+ }
172
+ }
173
+
99
174
  /**
100
175
  * 执行脚本代码
101
176
  * @author lxm
@@ -498,6 +498,7 @@ function checkFieldScriptRule(
498
498
  const result = ScriptFactory.execScriptFn(
499
499
  { value, data: source },
500
500
  scriptCode,
501
+ { isAsync: false },
501
502
  );
502
503
  if (typeof result === 'boolean') {
503
504
  resultBoolean = result;