@ibiz-template/runtime 0.4.3-dev.1 → 0.4.4

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 (77) hide show
  1. package/dist/index.esm.js +224 -29
  2. package/dist/index.system.min.js +2 -2
  3. package/dist/index.system.min.js.map +1 -1
  4. package/out/controller/common/control/md-control.controller.d.ts.map +1 -1
  5. package/out/controller/common/control/md-control.controller.js +5 -1
  6. package/out/controller/control/chart/generator/chart-options-generator.d.ts.map +1 -1
  7. package/out/controller/control/chart/generator/chart-options-generator.js +3 -0
  8. package/out/controller/control/exp-bar/tree-exp-bar.controller.d.ts +8 -0
  9. package/out/controller/control/exp-bar/tree-exp-bar.controller.d.ts.map +1 -1
  10. package/out/controller/control/exp-bar/tree-exp-bar.controller.js +17 -0
  11. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-form.controller.d.ts +1 -1
  12. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-form.controller.d.ts.map +1 -1
  13. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-form.controller.js +9 -3
  14. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-repeater.controller.d.ts +1 -1
  15. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-repeater.controller.d.ts.map +1 -1
  16. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-repeater.controller.js +7 -2
  17. package/out/controller/control/grid/grid/grid.controller.d.ts +8 -0
  18. package/out/controller/control/grid/grid/grid.controller.d.ts.map +1 -1
  19. package/out/controller/control/grid/grid/grid.controller.js +15 -0
  20. package/out/controller/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.controller.d.ts.map +1 -1
  21. package/out/controller/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.controller.js +5 -0
  22. package/out/controller/control/tree/tree.controller.d.ts +8 -0
  23. package/out/controller/control/tree/tree.controller.d.ts.map +1 -1
  24. package/out/controller/control/tree/tree.controller.js +38 -0
  25. package/out/controller/control/tree/tree.service.js +1 -1
  26. package/out/global/global-util/global-util.d.ts +8 -1
  27. package/out/global/global-util/global-util.d.ts.map +1 -1
  28. package/out/global/global-util/global-util.js +8 -1
  29. package/out/interface/common/i-plugin-factory/i-plugin-factory.d.ts +4 -5
  30. package/out/interface/common/i-plugin-factory/i-plugin-factory.d.ts.map +1 -1
  31. package/out/interface/controller/state/control/i-tree.state.d.ts +14 -0
  32. package/out/interface/controller/state/control/i-tree.state.d.ts.map +1 -1
  33. package/out/platform/provider/platform-provider-base.d.ts.map +1 -1
  34. package/out/platform/provider/platform-provider-base.js +1 -0
  35. package/out/ui-action/provider/front-ui-action-provider.d.ts.map +1 -1
  36. package/out/ui-action/provider/front-ui-action-provider.js +7 -3
  37. package/out/ui-logic/ui-logic-context.d.ts +10 -1
  38. package/out/ui-logic/ui-logic-context.d.ts.map +1 -1
  39. package/out/ui-logic/ui-logic-context.js +11 -0
  40. package/out/ui-logic/ui-logic-node/index.d.ts +1 -0
  41. package/out/ui-logic/ui-logic-node/index.d.ts.map +1 -1
  42. package/out/ui-logic/ui-logic-node/index.js +1 -0
  43. package/out/ui-logic/ui-logic-node/raw-js-code-node/raw-js-code-node.d.ts +8 -0
  44. package/out/ui-logic/ui-logic-node/raw-js-code-node/raw-js-code-node.d.ts.map +1 -0
  45. package/out/ui-logic/ui-logic-node/raw-js-code-node/raw-js-code-node.js +13 -0
  46. package/out/ui-logic/ui-logic.d.ts.map +1 -1
  47. package/out/ui-logic/ui-logic.js +4 -1
  48. package/out/utils/index.d.ts +1 -0
  49. package/out/utils/index.d.ts.map +1 -1
  50. package/out/utils/index.js +1 -0
  51. package/out/utils/script/script-function.d.ts.map +1 -1
  52. package/out/utils/script/script-function.js +22 -16
  53. package/out/utils/theme-util/theme-util.d.ts +46 -0
  54. package/out/utils/theme-util/theme-util.d.ts.map +1 -0
  55. package/out/utils/theme-util/theme-util.js +61 -0
  56. package/package.json +4 -4
  57. package/src/controller/common/control/md-control.controller.ts +5 -1
  58. package/src/controller/control/chart/generator/chart-options-generator.ts +4 -1
  59. package/src/controller/control/exp-bar/tree-exp-bar.controller.ts +18 -0
  60. package/src/controller/control/form/form-detail/form-mdctrl/form-mdctrl-form.controller.ts +8 -3
  61. package/src/controller/control/form/form-detail/form-mdctrl/form-mdctrl-repeater.controller.ts +6 -2
  62. package/src/controller/control/grid/grid/grid.controller.ts +17 -0
  63. package/src/controller/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.controller.ts +6 -0
  64. package/src/controller/control/tree/tree.controller.ts +45 -0
  65. package/src/controller/control/tree/tree.service.ts +1 -1
  66. package/src/global/global-util/global-util.ts +9 -0
  67. package/src/interface/common/i-plugin-factory/i-plugin-factory.ts +4 -5
  68. package/src/interface/controller/state/control/i-tree.state.ts +16 -0
  69. package/src/platform/provider/platform-provider-base.ts +1 -0
  70. package/src/ui-action/provider/front-ui-action-provider.ts +7 -3
  71. package/src/ui-logic/ui-logic-context.ts +13 -1
  72. package/src/ui-logic/ui-logic-node/index.ts +1 -0
  73. package/src/ui-logic/ui-logic-node/raw-js-code-node/raw-js-code-node.ts +22 -0
  74. package/src/ui-logic/ui-logic.ts +4 -0
  75. package/src/utils/index.ts +1 -0
  76. package/src/utils/script/script-function.ts +22 -16
  77. package/src/utils/theme-util/theme-util.ts +64 -0
@@ -16,6 +16,7 @@ import {
16
16
  MsgBoxNode,
17
17
  PFPluginNode,
18
18
  PrepareJSParamNode,
19
+ RawJSCodeNode,
19
20
  RenewParamNode,
20
21
  ResetParamNode,
21
22
  SortParamNode,
@@ -127,6 +128,9 @@ export class UILogic {
127
128
  case 'PFPLUGIN': // 前端插件调用
128
129
  logicNode = new PFPluginNode(node);
129
130
  break;
131
+ case 'RAWJSCODE':
132
+ logicNode = new RawJSCodeNode(node);
133
+ break;
130
134
  default:
131
135
  throw new ModelError(node, `未支持的逻辑节点类型: ${logicNodeType}`);
132
136
  }
@@ -12,5 +12,6 @@ export * from './modal/modal';
12
12
  export * from './value-rule/value-rule';
13
13
  export * from './script/index';
14
14
  export { TextUtil } from './text-util/text-util';
15
+ export { ThemeUtil } from './theme-util/theme-util';
15
16
  export { RawValueUtil } from './raw-value-util/raw-value-util';
16
17
  export { handleAllSettled } from './promise/promise';
@@ -136,7 +136,6 @@ export class ScriptFunction {
136
136
  * @param {IParams} param
137
137
  */
138
138
  protected fillDefaultParams(key: string, param: IParams): void {
139
- const view = param.view as IViewController | undefined;
140
139
  switch (key) {
141
140
  case 'util': // 工具类
142
141
  param.util = {
@@ -156,27 +155,34 @@ export class ScriptFunction {
156
155
  case 'app': // 应用级的控制器
157
156
  param.app = ibiz.hub.controller;
158
157
  break;
159
- case 'parent': // 父容器控制器
160
- param.parent = view?.parentView;
161
- break;
162
- case 'topView': // 顶级视图控制器
163
- param.topView = view?.getTopView();
164
- break;
165
- case 'parentView': // 父级视图控制器
166
- param.parentView = view?.parentView;
167
- break;
168
- case 'topViewSession': // 顶级视图共享数据对象
169
- param.topViewSession = view?.getTopView().session;
170
- break;
171
- case 'viewSession': // 当前视图共享数据对象
172
- param.viewSession = view?.session;
173
- break;
174
158
  case 'appSession': // 全局共享数据对象
175
159
  param.appSession = ibiz.hub.controller.session;
176
160
  break;
177
161
  default:
178
162
  break;
179
163
  }
164
+ const view = param.view as IViewController | undefined;
165
+ if (view) {
166
+ switch (key) {
167
+ case 'parent': // 父容器控制器
168
+ param.parent = view.parentView;
169
+ break;
170
+ case 'topView': // 顶级视图控制器
171
+ param.topView = view.getTopView();
172
+ break;
173
+ case 'parentView': // 父级视图控制器
174
+ param.parentView = view.parentView;
175
+ break;
176
+ case 'topViewSession': // 顶级视图共享数据对象
177
+ param.topViewSession = view.getTopView().session;
178
+ break;
179
+ case 'viewSession': // 当前视图共享数据对象
180
+ param.viewSession = view.session;
181
+ break;
182
+ default:
183
+ break;
184
+ }
185
+ }
180
186
  }
181
187
 
182
188
  /**
@@ -0,0 +1,64 @@
1
+ import { IAppUITheme, ISysPFPlugin } from '@ibiz/model-core';
2
+
3
+ /**
4
+ * 主题工具类
5
+ *
6
+ * @author chitanda
7
+ * @date 2023-12-02 23:12:15
8
+ * @export
9
+ * @class ThemeUtil
10
+ */
11
+ export class ThemeUtil {
12
+ /**
13
+ * 主题设置元素 html
14
+ *
15
+ * @author chitanda
16
+ * @date 2023-12-02 23:12:26
17
+ * @protected
18
+ * @type {HTMLElement}
19
+ */
20
+ protected html: HTMLElement = document.getElementsByTagName('html')[0];
21
+
22
+ /**
23
+ * 加载主题插件
24
+ *
25
+ * @author chitanda
26
+ * @date 2023-12-03 01:12:44
27
+ * @param {IAppUITheme} theme
28
+ * @return {*} {Promise<void>}
29
+ */
30
+ async loadTheme(theme: IAppUITheme): Promise<void> {
31
+ const data = theme.themeParams || {};
32
+ await ibiz.plugin.loadPlugin({
33
+ runtimeObject: true,
34
+ rtobjectName: theme.name,
35
+ rtobjectRepo: data['theme-package-path'],
36
+ } as unknown as ISysPFPlugin);
37
+ this.setTheme(theme.themeTag!);
38
+ }
39
+
40
+ /**
41
+ * 设置主题
42
+ *
43
+ * @author chitanda
44
+ * @date 2023-12-02 23:12:37
45
+ * @param {string} tag
46
+ */
47
+ setTheme(tag: string): void {
48
+ const theme = this.getTheme();
49
+ this.html.classList.remove(theme);
50
+ this.html.setAttribute('theme', tag);
51
+ this.html.classList.add(tag);
52
+ }
53
+
54
+ /**
55
+ * 获取当前主题
56
+ *
57
+ * @author chitanda
58
+ * @date 2023-12-02 23:12:10
59
+ * @return {*} {string}
60
+ */
61
+ getTheme(): string {
62
+ return this.html.getAttribute('theme')!;
63
+ }
64
+ }