@ibiz-template/runtime 0.4.4 → 0.4.6-dev.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.
- package/dist/index.esm.js +171 -113
- package/dist/index.system.min.js +2 -3
- package/out/app-hub.d.ts +0 -17
- package/out/app-hub.d.ts.map +1 -1
- package/out/app-hub.js +4 -29
- package/out/command/app/app-func/app-func.d.ts.map +1 -1
- package/out/command/app/app-func/app-func.js +2 -1
- package/out/controller/common/control/md-control.controller.d.ts.map +1 -1
- package/out/controller/common/control/md-control.controller.js +2 -2
- package/out/controller/common/view/view.controller.d.ts.map +1 -1
- package/out/controller/common/view/view.controller.js +5 -1
- package/out/controller/control/app-menu/app-menu.controller.d.ts.map +1 -1
- package/out/controller/control/app-menu/app-menu.controller.js +1 -0
- package/out/controller/control/chart/generator/chart-options-generator.d.ts.map +1 -1
- package/out/controller/control/chart/generator/chart-options-generator.js +1 -1
- package/out/controller/control/form/edit-form/edit-form.controller.d.ts.map +1 -1
- package/out/controller/control/form/edit-form/edit-form.controller.js +1 -1
- package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-form.controller.js +1 -1
- package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-repeater.controller.d.ts.map +1 -1
- package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-repeater.controller.js +2 -0
- package/out/controller/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.controller.d.ts.map +1 -1
- package/out/controller/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.controller.js +10 -2
- package/out/controller/control/medit-view-panel/medit-view-panel.controller.d.ts.map +1 -1
- package/out/controller/control/medit-view-panel/medit-view-panel.controller.js +1 -1
- package/out/controller/control/report-panel/generator/user-generator.d.ts.map +1 -1
- package/out/controller/control/report-panel/generator/user-generator.js +6 -0
- package/out/controller/control/report-panel/report-panel.controller.d.ts.map +1 -1
- package/out/controller/control/report-panel/report-panel.controller.js +1 -1
- package/out/controller/control/report-panel/report-panel.service.d.ts.map +1 -1
- package/out/controller/control/report-panel/report-panel.service.js +1 -1
- package/out/controller/control/tab-exp-panel/tab-exp-panel.controller.js +1 -1
- package/out/controller/control/toolbar/toolbar.controllerr.d.ts.map +1 -1
- package/out/controller/control/toolbar/toolbar.controllerr.js +3 -0
- package/out/interface/common/i-app-hub-service/i-app-hub-service.d.ts +4 -12
- package/out/interface/common/i-app-hub-service/i-app-hub-service.d.ts.map +1 -1
- package/out/interface/controller/state/control/i-toolbar.state.d.ts +8 -0
- package/out/interface/controller/state/control/i-toolbar.state.d.ts.map +1 -1
- package/out/interface/provider/model-loader.provider.d.ts +9 -0
- package/out/interface/provider/model-loader.provider.d.ts.map +1 -1
- package/out/logic-scheduler/executor/app-ui-logic-executor.d.ts.map +1 -1
- package/out/logic-scheduler/executor/app-ui-logic-executor.js +2 -2
- package/out/model/data-entity/data-entity.d.ts +1 -1
- package/out/model/data-entity/data-entity.d.ts.map +1 -1
- package/out/model/main-state/main-state.js +1 -1
- package/out/model/utils/util.d.ts +5 -3
- package/out/model/utils/util.d.ts.map +1 -1
- package/out/plugin/plugin-static-resource/plugin-static-resource.d.ts.map +1 -1
- package/out/plugin/plugin-static-resource/plugin-static-resource.js +2 -3
- package/out/register/helper/common-register.d.ts +1 -1
- package/out/register/helper/common-register.d.ts.map +1 -1
- package/out/service/service/control/control.service.d.ts +1 -1
- package/out/service/service/control/control.service.d.ts.map +1 -1
- package/out/service/service/control/control.service.js +2 -2
- package/out/service/utils/dynamic-code-list/dynamic-code-list.d.ts.map +1 -1
- package/out/service/utils/dynamic-code-list/dynamic-code-list.js +7 -2
- package/out/ui-action/provider/front-ui-action-provider.d.ts.map +1 -1
- package/out/ui-action/provider/front-ui-action-provider.js +3 -3
- package/out/ui-action/provider/index.d.ts +2 -1
- package/out/ui-action/provider/index.d.ts.map +1 -1
- package/out/ui-action/provider/index.js +2 -1
- package/out/utils/theme-util/theme-util.d.ts +11 -0
- package/out/utils/theme-util/theme-util.d.ts.map +1 -1
- package/out/utils/theme-util/theme-util.js +36 -2
- package/package.json +5 -5
- package/src/app-hub.ts +4 -29
- package/src/command/app/app-func/app-func.ts +2 -1
- package/src/controller/common/control/md-control.controller.ts +5 -1
- package/src/controller/common/view/view.controller.ts +5 -1
- package/src/controller/control/app-menu/app-menu.controller.ts +1 -0
- package/src/controller/control/chart/generator/chart-options-generator.ts +4 -1
- package/src/controller/control/form/edit-form/edit-form.controller.ts +1 -0
- package/src/controller/control/form/form-detail/form-mdctrl/form-mdctrl-form.controller.ts +1 -1
- package/src/controller/control/form/form-detail/form-mdctrl/form-mdctrl-repeater.controller.ts +2 -0
- package/src/controller/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.controller.ts +10 -2
- package/src/controller/control/medit-view-panel/medit-view-panel.controller.ts +1 -0
- package/src/controller/control/report-panel/generator/user-generator.ts +7 -0
- package/src/controller/control/report-panel/report-panel.controller.ts +1 -0
- package/src/controller/control/report-panel/report-panel.service.ts +1 -0
- package/src/controller/control/tab-exp-panel/tab-exp-panel.controller.ts +1 -1
- package/src/controller/control/toolbar/toolbar.controllerr.ts +3 -0
- package/src/de-logic/index.ts +1 -1
- package/src/interface/common/i-app-hub-service/i-app-hub-service.ts +4 -13
- package/src/interface/controller/state/control/i-toolbar.state.ts +9 -0
- package/src/interface/provider/model-loader.provider.ts +10 -0
- package/src/logic-scheduler/executor/app-ui-logic-executor.ts +2 -0
- package/src/logic-scheduler/scheduler/view-logic-scheduler.ts +1 -1
- package/src/model/data-entity/data-entity.ts +1 -1
- package/src/model/main-state/main-state.ts +1 -1
- package/src/model/utils/util.ts +5 -2
- package/src/plugin/plugin-static-resource/plugin-static-resource.ts +2 -3
- package/src/register/helper/common-register.ts +1 -1
- package/src/service/service/control/control.service.ts +2 -2
- package/src/service/utils/dynamic-code-list/dynamic-code-list.ts +10 -4
- package/src/ui-action/provider/front-ui-action-provider.ts +3 -0
- package/src/ui-action/provider/index.ts +2 -0
- package/src/utils/theme-util/theme-util.ts +40 -2
- package/dist/index.system.min.js.map +0 -1
|
@@ -118,6 +118,7 @@ export class AppUILogicExecutor extends LogicExecutor {
|
|
|
118
118
|
): Promise<IAppUILogicRefViewBase> {
|
|
119
119
|
const appDataEntity = await ibiz.hub.getAppDataEntity(
|
|
120
120
|
parameters.view.model.appDataEntityId!,
|
|
121
|
+
parameters.view.model.appId,
|
|
121
122
|
)!;
|
|
122
123
|
// [多表单实体] or [索引实体]类型属性
|
|
123
124
|
const typeFileName =
|
|
@@ -221,6 +222,7 @@ export class AppUILogicExecutor extends LogicExecutor {
|
|
|
221
222
|
if (params.srfcopymode) {
|
|
222
223
|
const entity = await ibiz.hub.getAppDataEntity(
|
|
223
224
|
view.model.appDataEntityId!,
|
|
225
|
+
view.model.appId,
|
|
224
226
|
);
|
|
225
227
|
const key = entity.keyAppDEFieldId;
|
|
226
228
|
if (key && _data) {
|
|
@@ -16,7 +16,7 @@ export class ViewLogicScheduler extends LogicScheduler {
|
|
|
16
16
|
// 视图逻辑的触发类型logicTrigger统一成triggerType
|
|
17
17
|
(logic as IData).triggerType = logic.logicTrigger!;
|
|
18
18
|
});
|
|
19
|
-
super(logics as ISchedulerLogic[]);
|
|
19
|
+
super(logics as IData[] as ISchedulerLogic[]);
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
/**
|
|
@@ -43,7 +43,7 @@ export function hasDeCodeName(params: IParams, entityId: string): boolean {
|
|
|
43
43
|
export async function getDeACMode(
|
|
44
44
|
appDEACModeId: string,
|
|
45
45
|
entityId: string,
|
|
46
|
-
srfappid
|
|
46
|
+
srfappid: string,
|
|
47
47
|
): Promise<IAppDEACMode | undefined> {
|
|
48
48
|
const appDataEntity = await ibiz.hub.getAppDataEntity(entityId, srfappid)!;
|
|
49
49
|
const deACMode = appDataEntity.appDEACModes?.find((mode: IAppDEACMode) => {
|
|
@@ -48,7 +48,7 @@ export function calcMainStateOPPrivsStrs(
|
|
|
48
48
|
mainState: IDEMainState,
|
|
49
49
|
appDataEntity: IAppDataEntity,
|
|
50
50
|
): string[] {
|
|
51
|
-
const app = ibiz.hub.getApp().model;
|
|
51
|
+
const app = ibiz.hub.getApp(appDataEntity.appId).model;
|
|
52
52
|
const { demainStateOPPrivs, opprivAllowMode } = mainState;
|
|
53
53
|
const mainStateOPPrivIds = demainStateOPPrivs?.map(item => item.name!) || [];
|
|
54
54
|
let opprivs: string[] = [];
|
package/src/model/utils/util.ts
CHANGED
|
@@ -3,6 +3,7 @@ import {
|
|
|
3
3
|
IAppView,
|
|
4
4
|
IAppViewRef,
|
|
5
5
|
IControl,
|
|
6
|
+
IControlRender,
|
|
6
7
|
IModelObject,
|
|
7
8
|
IPanel,
|
|
8
9
|
ISysPFPlugin,
|
|
@@ -125,7 +126,7 @@ export function parseUserParams(userParams: Record<string, string>): {
|
|
|
125
126
|
* @param {string} [appId] 当前所在应用标识
|
|
126
127
|
* @return {*} {ISysPFPlugin}
|
|
127
128
|
*/
|
|
128
|
-
export function getPFPlugin(id: string, appId
|
|
129
|
+
export function getPFPlugin(id: string, appId: string): ISysPFPlugin {
|
|
129
130
|
const app = ibiz.hub.getApp(appId);
|
|
130
131
|
if (!app) {
|
|
131
132
|
throw new RuntimeModelError(app, '未找到应用');
|
|
@@ -151,7 +152,9 @@ export function getPFPlugin(id: string, appId?: string): ISysPFPlugin {
|
|
|
151
152
|
* @param {IControl} control
|
|
152
153
|
* @return {*} {(IPanel | undefined)}
|
|
153
154
|
*/
|
|
154
|
-
export function getControlPanel(control:
|
|
155
|
+
export function getControlPanel(control: {
|
|
156
|
+
controlRenders?: IControlRender[];
|
|
157
|
+
}): IPanel | undefined {
|
|
155
158
|
let layoutPanel: IPanel | undefined;
|
|
156
159
|
if (control.controlRenders) {
|
|
157
160
|
const panelRender = control.controlRenders.find(
|
|
@@ -48,8 +48,7 @@ export class PluginStaticResource {
|
|
|
48
48
|
*/
|
|
49
49
|
constructor(mateUrl: string) {
|
|
50
50
|
this.url = new URL(mateUrl);
|
|
51
|
-
|
|
52
|
-
this.baseDir = dir;
|
|
51
|
+
this.baseDir = path.dirname(this.url.pathname);
|
|
53
52
|
}
|
|
54
53
|
|
|
55
54
|
/**
|
|
@@ -61,7 +60,7 @@ export class PluginStaticResource {
|
|
|
61
60
|
* @return {*} {string}
|
|
62
61
|
*/
|
|
63
62
|
dir(pathStr: string): string {
|
|
64
|
-
return path.resolve(this.baseDir, pathStr);
|
|
63
|
+
return this.url.origin + path.resolve(this.baseDir, pathStr);
|
|
65
64
|
}
|
|
66
65
|
|
|
67
66
|
/**
|
|
@@ -43,8 +43,8 @@ export class ControlService<T extends IControl = IControl> {
|
|
|
43
43
|
* @date 2022-08-18 22:08:30
|
|
44
44
|
* @returns {*} {Promise<void>}
|
|
45
45
|
*/
|
|
46
|
-
async init(
|
|
47
|
-
this.app = ibiz.hub.getApp(
|
|
46
|
+
async init(_context?: IContext): Promise<void> {
|
|
47
|
+
this.app = ibiz.hub.getApp(this.model.appId);
|
|
48
48
|
this.initUIDataMap();
|
|
49
49
|
}
|
|
50
50
|
|
|
@@ -154,7 +154,7 @@ export class DynamicCodeListCache {
|
|
|
154
154
|
iconPathAppDEFieldId ||
|
|
155
155
|
iconPathXAppDEFieldId
|
|
156
156
|
) {
|
|
157
|
-
result.sysImage = {};
|
|
157
|
+
result.sysImage = { appId: this.codeList.appId };
|
|
158
158
|
// 图标样式属性
|
|
159
159
|
if (iconClsAppDEFieldId) {
|
|
160
160
|
result.sysImage.cssClass = data[iconClsAppDEFieldId];
|
|
@@ -178,9 +178,15 @@ export class DynamicCodeListCache {
|
|
|
178
178
|
}
|
|
179
179
|
// 数据属性
|
|
180
180
|
if (dataAppDEFieldId && data[dataAppDEFieldId]) {
|
|
181
|
-
|
|
182
|
-
data
|
|
183
|
-
|
|
181
|
+
try {
|
|
182
|
+
result.data = ScriptFactory.execSingleLine(
|
|
183
|
+
data[dataAppDEFieldId],
|
|
184
|
+
) as IData;
|
|
185
|
+
} catch (error) {
|
|
186
|
+
ibiz.log.error(
|
|
187
|
+
'动态代码表数据属性返回值不为对象格式的字符串,无法转换!',
|
|
188
|
+
);
|
|
189
|
+
}
|
|
184
190
|
}
|
|
185
191
|
return result;
|
|
186
192
|
}
|
|
@@ -132,6 +132,7 @@ export class FrontUIActionProvider extends UIActionProviderBase {
|
|
|
132
132
|
);
|
|
133
133
|
const appDataEntity = await ibiz.hub.getAppDataEntity(
|
|
134
134
|
action.appDataEntityId!,
|
|
135
|
+
action.appId,
|
|
135
136
|
);
|
|
136
137
|
const appDEPrint = appDataEntity.appDEPrints?.find(print => {
|
|
137
138
|
return print.id === action.appDEPrintId;
|
|
@@ -199,6 +200,7 @@ export class FrontUIActionProvider extends UIActionProviderBase {
|
|
|
199
200
|
): Promise<IUIActionResult> {
|
|
200
201
|
const appDataEntity = await ibiz.hub.getAppDataEntity(
|
|
201
202
|
action.appDataEntityId!,
|
|
203
|
+
action.appId,
|
|
202
204
|
);
|
|
203
205
|
const appDEDataImport = appDataEntity.appDEDataImports?.find(
|
|
204
206
|
dataImport => dataImport.id === action.appDEDataImportId,
|
|
@@ -251,6 +253,7 @@ export class FrontUIActionProvider extends UIActionProviderBase {
|
|
|
251
253
|
|
|
252
254
|
const appDataEntity = await ibiz.hub.getAppDataEntity(
|
|
253
255
|
action.appDataEntityId!,
|
|
256
|
+
action.appId,
|
|
254
257
|
);
|
|
255
258
|
const appDEDataExport = appDataEntity.appDEDataExports?.find(dataExport => {
|
|
256
259
|
return dataExport.id === action.appDEDataExportId;
|
|
@@ -3,6 +3,7 @@ import { BackendUIActionProvider } from './backend-ui-action-provider';
|
|
|
3
3
|
import { SysUIActionProvider } from './sys-ui-action-provider';
|
|
4
4
|
import { FrontUIActionProvider } from './front-ui-action-provider';
|
|
5
5
|
import { WFWithdrawUIActionProvider } from './wf-withdraw-ui-action-provider';
|
|
6
|
+
import { UIActionProviderBase } from './ui-action-provider-base';
|
|
6
7
|
|
|
7
8
|
/**
|
|
8
9
|
* 预置默认的界面行为适配器
|
|
@@ -36,4 +37,5 @@ export {
|
|
|
36
37
|
SysUIActionProvider,
|
|
37
38
|
BackendUIActionProvider,
|
|
38
39
|
WFWithdrawUIActionProvider,
|
|
40
|
+
UIActionProviderBase,
|
|
39
41
|
};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { IAppUITheme, ISysPFPlugin } from '@ibiz/model-core';
|
|
2
|
+
import { clone } from 'ramda';
|
|
2
3
|
|
|
3
4
|
/**
|
|
4
5
|
* 主题工具类
|
|
@@ -28,15 +29,52 @@ export class ThemeUtil {
|
|
|
28
29
|
* @return {*} {Promise<void>}
|
|
29
30
|
*/
|
|
30
31
|
async loadTheme(theme: IAppUITheme): Promise<void> {
|
|
31
|
-
const data = theme.themeParams || {};
|
|
32
|
+
const data = clone(theme.themeParams || {});
|
|
33
|
+
const path = data['theme-package-path'];
|
|
34
|
+
delete data.appId;
|
|
35
|
+
delete data['theme-package-path'];
|
|
32
36
|
await ibiz.plugin.loadPlugin({
|
|
33
37
|
runtimeObject: true,
|
|
34
38
|
rtobjectName: theme.name,
|
|
35
|
-
rtobjectRepo:
|
|
39
|
+
rtobjectRepo: path,
|
|
36
40
|
} as unknown as ISysPFPlugin);
|
|
41
|
+
this.setThemeParams(theme, data);
|
|
37
42
|
this.setTheme(theme.themeTag!);
|
|
38
43
|
}
|
|
39
44
|
|
|
45
|
+
/**
|
|
46
|
+
* 设置额外修改的主题参数
|
|
47
|
+
*
|
|
48
|
+
* @author chitanda
|
|
49
|
+
* @date 2023-12-05 11:12:00
|
|
50
|
+
* @protected
|
|
51
|
+
* @param {IAppUITheme} theme
|
|
52
|
+
* @param {Record<string, string>} params
|
|
53
|
+
* @return {*} {void}
|
|
54
|
+
*/
|
|
55
|
+
protected setThemeParams(
|
|
56
|
+
theme: IAppUITheme,
|
|
57
|
+
params: Record<string, string>,
|
|
58
|
+
): void {
|
|
59
|
+
const themeStyle = document.getElementById(theme.themeTag!);
|
|
60
|
+
if (themeStyle) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
let content = `:root.${theme.themeTag!}{`;
|
|
64
|
+
for (const key in params) {
|
|
65
|
+
if (Object.prototype.hasOwnProperty.call(params, key)) {
|
|
66
|
+
const val = params[key];
|
|
67
|
+
content += `${key}: ${val}${val.endsWith(';') ? '' : ';'}`;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
content += '}';
|
|
71
|
+
const script = document.createElement('style');
|
|
72
|
+
script.id = theme.themeTag!;
|
|
73
|
+
script.type = 'text/css';
|
|
74
|
+
script.innerHTML = content;
|
|
75
|
+
document.head.appendChild(script);
|
|
76
|
+
}
|
|
77
|
+
|
|
40
78
|
/**
|
|
41
79
|
* 设置主题
|
|
42
80
|
*
|