@gct-paas/core 0.1.4-dev.10 → 0.1.4-dev.11
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.min.mjs +13345 -3124
- package/dist/index.min.cjs +22 -15
- package/dist/index.system.min.js +22 -15
- package/es/constants/default-date-type/default-date-type.d.ts +70 -0
- package/es/constants/default-date-type/default-date-type.mjs +22 -0
- package/es/constants/expression-type/BuiltOperators.mjs +2 -0
- package/es/constants/index.d.ts +2 -1
- package/es/constants/page-designer/model.d.ts +4 -0
- package/es/constants/page-designer/model.mjs +7 -0
- package/es/enums/globalEnum.d.ts +15 -0
- package/es/enums/globalEnum.mjs +13 -1
- package/es/enums/page-designer/widget.d.ts +5 -0
- package/es/enums/page-designer/widget.mjs +6 -1
- package/es/global/gct/gct.d.ts +9 -3
- package/es/global/gct/gct.mjs +11 -6
- package/es/hooks/index.d.ts +0 -2
- package/es/index.d.ts +1 -3
- package/es/index.mjs +15 -35
- package/es/interface/i-dictionary/i-dictionary-item.d.ts +6 -0
- package/es/interface/i-global-register/i-global-register.d.ts +8 -0
- package/es/interface/i-pinia-action/i-global-actions.d.ts +4 -0
- package/es/interface/i-pinia-getter/i-global-getters.d.ts +2 -0
- package/es/interface/i-pinia-state/i-global-state.d.ts +12 -1
- package/es/interface/index.d.ts +3 -6
- package/es/interface/model-desginer/entity.d.ts +110 -0
- package/es/interface/provider/index.d.ts +0 -2
- package/es/modules/mqtt/constants/mqtt.const.d.ts +33 -0
- package/es/modules/mqtt/constants/mqtt.const.mjs +27 -0
- package/es/modules/mqtt/enums/mqtt-status.enum.d.ts +20 -0
- package/es/modules/mqtt/enums/mqtt-status.enum.mjs +10 -0
- package/es/modules/mqtt/index.d.ts +5 -0
- package/es/modules/mqtt/interfaces/i-mqtt.d.ts +139 -0
- package/es/modules/mqtt/mqtt-client.d.ts +117 -0
- package/es/modules/mqtt/mqtt-client.mjs +262 -0
- package/es/modules/mqtt/mqtt-manager.d.ts +87 -0
- package/es/modules/mqtt/mqtt-manager.mjs +78 -0
- package/es/modules/platform-config/enums/platform.enum.d.ts +0 -15
- package/es/modules/platform-config/enums/platform.enum.mjs +1 -13
- package/es/modules/platform-config/interfaces/index.d.ts +0 -1
- package/es/modules/platform-config/store.mjs +4 -1
- package/es/modules/user-stores/store/user.store.d.ts +74 -0
- package/es/modules/user-stores/store/user.store.mjs +16 -1
- package/es/modules/user-stores/types/user.d.ts +1 -0
- package/es/setup-app.mjs +11 -0
- package/es/state/global-pinia-state/global-pinia-state.d.ts +15 -1
- package/es/state/global-pinia-state/global-pinia-state.mjs +14 -0
- package/es/state/index.d.ts +0 -9
- package/es/store/global-store.mjs +14 -0
- package/es/utils/design/design.d.ts +11 -0
- package/es/utils/design/design.mjs +15 -0
- package/es/utils/file/base64Conver.d.ts +9 -0
- package/es/utils/file/base64Conver.mjs +35 -0
- package/es/utils/file/download.d.ts +44 -0
- package/es/utils/file/download.mjs +107 -0
- package/es/utils/index.d.ts +6 -2
- package/es/utils/permission.d.ts +19 -0
- package/es/utils/permission.mjs +38 -0
- package/es/utils/uploader/uploader.d.ts +20 -0
- package/es/utils/uploader/uploader.mjs +120 -0
- package/es/utils/validate.d.ts +5 -0
- package/es/utils/validate.mjs +25 -0
- package/package.json +5 -4
- package/es/constants/editor-type/editor-type.d.ts +0 -244
- package/es/constants/editor-type/editor-type.mjs +0 -63
- package/es/controller/edit-form/edit-form.controller.d.ts +0 -28
- package/es/controller/edit-form/edit-form.controller.mjs +0 -47
- package/es/controller/editor/color-editor.controller.d.ts +0 -13
- package/es/controller/editor/color-editor.controller.mjs +0 -6
- package/es/controller/editor/length-unit-editor.controller.d.ts +0 -13
- package/es/controller/editor/length-unit-editor.controller.mjs +0 -6
- package/es/controller/editor-item/editor-item.controller.d.ts +0 -14
- package/es/controller/editor-item/editor-item.controller.mjs +0 -8
- package/es/controller/form/form.controller.d.ts +0 -76
- package/es/controller/form/form.controller.mjs +0 -147
- package/es/controller/form-collapse/form-collapse.controller.d.ts +0 -18
- package/es/controller/form-collapse/form-collapse.controller.mjs +0 -14
- package/es/controller/form-collapse-pane/form-collapse-pane.controller.d.ts +0 -18
- package/es/controller/form-collapse-pane/form-collapse-pane.controller.mjs +0 -14
- package/es/controller/form-edit-item/form-edit-item.controller.d.ts +0 -27
- package/es/controller/form-edit-item/form-edit-item.controller.mjs +0 -74
- package/es/controller/form-group/form-group.controller.d.ts +0 -18
- package/es/controller/form-group/form-group.controller.mjs +0 -14
- package/es/controller/form-item/form-item.controller.d.ts +0 -21
- package/es/controller/form-item/form-item.controller.mjs +0 -43
- package/es/controller/form-item-basic/form-item-basic.controller.d.ts +0 -57
- package/es/controller/form-item-basic/form-item-basic.controller.mjs +0 -49
- package/es/controller/form-item-hidden/form-item-hidden.controller.d.ts +0 -17
- package/es/controller/form-item-hidden/form-item-hidden.controller.mjs +0 -7
- package/es/controller/form-tab/form-tab.controller.d.ts +0 -18
- package/es/controller/form-tab/form-tab.controller.mjs +0 -14
- package/es/controller/form-tab-pane/form-tab-pane.controller.d.ts +0 -18
- package/es/controller/form-tab-pane/form-tab-pane.controller.mjs +0 -14
- package/es/controller/gct-form/gct-form.controller.d.ts +0 -101
- package/es/controller/gct-form/gct-form.controller.mjs +0 -214
- package/es/controller/index.d.ts +0 -15
- package/es/hooks/use-form/use-form.d.ts +0 -10
- package/es/hooks/use-form/use-form.mjs +0 -8
- package/es/hooks/use-gct-form-value/use-gct-form-value.d.ts +0 -22
- package/es/hooks/use-gct-form-value/use-gct-form-value.mjs +0 -89
- package/es/hooks/use-overlay-scrollbars/use-overlay-scrollbars.d.ts +0 -11
- package/es/interface/controller/edit-form/edit-form.controller.d.ts +0 -26
- package/es/interface/controller/editor/i-color-editor.controller.d.ts +0 -11
- package/es/interface/controller/editor/i-length-unit-editor.controller.d.ts +0 -11
- package/es/interface/controller/editor-item/editor-item.controller.d.ts +0 -19
- package/es/interface/controller/form/form.controller.d.ts +0 -121
- package/es/interface/controller/form-collapse/form-collapse.controller.d.ts +0 -23
- package/es/interface/controller/form-collapse-pane/form-collapse-pane.controller.d.ts +0 -23
- package/es/interface/controller/form-edit-item/form-edit-item.controller.d.ts +0 -59
- package/es/interface/controller/form-group/form-group.controller.d.ts +0 -24
- package/es/interface/controller/form-hidden-item/form-hidden-item.controller.d.ts +0 -24
- package/es/interface/controller/form-item/form-item.controller.d.ts +0 -40
- package/es/interface/controller/form-item-basic/form-item-basic.controller.d.ts +0 -51
- package/es/interface/controller/form-tab/form-tab.controller.d.ts +0 -23
- package/es/interface/controller/form-tab-pane/form-tab-pane.controller.d.ts +0 -23
- package/es/interface/controller/index.d.ts +0 -14
- package/es/interface/events/form/i-form.event.d.ts +0 -11
- package/es/interface/events/index.d.ts +0 -1
- package/es/interface/form/i-editor/i-check-switch.d.ts +0 -29
- package/es/interface/form/i-editor/i-checkbox-editor.d.ts +0 -9
- package/es/interface/form/i-editor/i-color-editor.d.ts +0 -13
- package/es/interface/form/i-editor/i-editor-basic.d.ts +0 -87
- package/es/interface/form/i-editor/i-icon-select-editor.d.ts +0 -21
- package/es/interface/form/i-editor/i-info-editor.d.ts +0 -21
- package/es/interface/form/i-editor/i-length-unit-editor.d.ts +0 -13
- package/es/interface/form/i-editor/i-model-field-select-editor.d.ts +0 -18
- package/es/interface/form/i-editor/i-number-editor.d.ts +0 -21
- package/es/interface/form/i-editor/i-picker-editor.d.ts +0 -30
- package/es/interface/form/i-editor/i-radio-editor.d.ts +0 -21
- package/es/interface/form/i-editor/i-select-editor.d.ts +0 -14
- package/es/interface/form/i-editor/i-span-editor.d.ts +0 -30
- package/es/interface/form/i-editor/i-switch-editor.d.ts +0 -14
- package/es/interface/form/i-editor/i-text-editor.d.ts +0 -46
- package/es/interface/form/i-editor/i-textarea-editor.d.ts +0 -25
- package/es/interface/form/i-form/i-edit-form.d.ts +0 -48
- package/es/interface/form/i-form/i-form-collapse-pane.d.ts +0 -30
- package/es/interface/form/i-form/i-form-collapse.d.ts +0 -35
- package/es/interface/form/i-form/i-form-container.d.ts +0 -53
- package/es/interface/form/i-form/i-form-edit-item.d.ts +0 -140
- package/es/interface/form/i-form/i-form-group-container.d.ts +0 -24
- package/es/interface/form/i-form/i-form-group.d.ts +0 -35
- package/es/interface/form/i-form/i-form-hidden-item.d.ts +0 -11
- package/es/interface/form/i-form/i-form-item-basic.d.ts +0 -126
- package/es/interface/form/i-form/i-form-item.d.ts +0 -11
- package/es/interface/form/i-form/i-form-tab-pane.d.ts +0 -23
- package/es/interface/form/i-form/i-form-tab.d.ts +0 -21
- package/es/interface/form/i-form/i-form.d.ts +0 -79
- package/es/interface/form/index.d.ts +0 -29
- package/es/interface/layout/i-flex-layout/i-flex-container.d.ts +0 -75
- package/es/interface/layout/i-flex-layout/i-flex-item.d.ts +0 -51
- package/es/interface/layout/i-grid-layout/i-grid-container.d.ts +0 -29
- package/es/interface/layout/i-grid-layout/i-grid-item-span.d.ts +0 -54
- package/es/interface/layout/i-grid-layout/i-grid-item.d.ts +0 -37
- package/es/interface/layout/i-layout-basis/i-layout-container-basis.d.ts +0 -11
- package/es/interface/layout/index.d.ts +0 -6
- package/es/interface/provider/i-editor-provider/i-editor-provider.d.ts +0 -24
- package/es/interface/provider/i-form-item-provider/i-form-item-provider.d.ts +0 -44
- package/es/interface/state/form/form.state.d.ts +0 -53
- package/es/interface/state/form-collapse/form-collapse.state.d.ts +0 -11
- package/es/interface/state/form-collapse-pane/form-collapse-pane.state.d.ts +0 -11
- package/es/interface/state/form-edit-item/form-edit-item.state.d.ts +0 -38
- package/es/interface/state/form-group/form-group.state.d.ts +0 -21
- package/es/interface/state/form-hidden-item/form-hidden-item.state.d.ts +0 -5
- package/es/interface/state/form-item/form-item.state.d.ts +0 -20
- package/es/interface/state/form-item-basic/form-item-basic.state.d.ts +0 -63
- package/es/interface/state/form-tab/form-tab.state.d.ts +0 -19
- package/es/interface/state/form-tab-pane/form-tab-pane.state.d.ts +0 -11
- package/es/interface/state/index.d.ts +0 -10
- package/es/modules/platform-config/interfaces/global-setting.interface.d.ts +0 -7
- package/es/register/editor-register/editor-register.d.ts +0 -49
- package/es/register/editor-register/editor-register.mjs +0 -57
- package/es/register/form-item-register/form-item-register.d.ts +0 -36
- package/es/register/form-item-register/form-item-register.mjs +0 -42
- package/es/register/index.d.ts +0 -14
- package/es/state/form/form.state.d.ts +0 -24
- package/es/state/form/form.state.mjs +0 -16
- package/es/state/form-collapse/form-collapse.state.d.ts +0 -14
- package/es/state/form-collapse/form-collapse.state.mjs +0 -6
- package/es/state/form-collapse-pane/form-collapse-pane.state.d.ts +0 -14
- package/es/state/form-collapse-pane/form-collapse-pane.state.mjs +0 -6
- package/es/state/form-edit-item/form-edit-item.state.d.ts +0 -17
- package/es/state/form-edit-item/form-edit-item.state.mjs +0 -10
- package/es/state/form-group/form-group.state.d.ts +0 -21
- package/es/state/form-group/form-group.state.mjs +0 -14
- package/es/state/form-item/form-item.state.d.ts +0 -14
- package/es/state/form-item/form-item.state.mjs +0 -6
- package/es/state/form-item-basic/form-item-basic.state.d.ts +0 -17
- package/es/state/form-item-basic/form-item-basic.state.mjs +0 -9
- package/es/state/form-tab/form-tab.state.d.ts +0 -15
- package/es/state/form-tab/form-tab.state.mjs +0 -7
- package/es/state/form-tab-pane/form-tab-pane.state.d.ts +0 -14
- package/es/state/form-tab-pane/form-tab-pane.state.mjs +0 -6
- package/es/utils/props/gct-form-item/gct-form-item.props.d.ts +0 -63
- package/es/utils/props/gct-form-item/gct-form-item.props.mjs +0 -66
- package/es/utils/props/index.d.ts +0 -1
- package/es/utils/width-install/width-install.d.ts +0 -17
- package/es/utils/width-install/width-install.mjs +0 -23
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { IEditorBasic, IEditorController } from '../../interface';
|
|
2
|
-
/**
|
|
3
|
-
* 编辑器控制器
|
|
4
|
-
*
|
|
5
|
-
* @author zhanghanrui
|
|
6
|
-
* @date 2024-04-02 13:04:55
|
|
7
|
-
* @export
|
|
8
|
-
* @class EditorController
|
|
9
|
-
* @implements {IEditorController}
|
|
10
|
-
*/
|
|
11
|
-
export declare class EditorController<M extends IEditorBasic = IEditorBasic> implements IEditorController<M> {
|
|
12
|
-
readonly model: M;
|
|
13
|
-
constructor(model: M);
|
|
14
|
-
}
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import { IForm, IFormState, IFormController, IFormItemBasic, IFormItemProvider, IFormItemBasicController, IFormEvent } from '../../interface';
|
|
2
|
-
import { QXEvent } from 'qx-util';
|
|
3
|
-
/**
|
|
4
|
-
* 表单控制器
|
|
5
|
-
*
|
|
6
|
-
* @author zhanghanrui
|
|
7
|
-
* @date 2024-03-27 09:03:56
|
|
8
|
-
* @export
|
|
9
|
-
* @class FormController
|
|
10
|
-
*/
|
|
11
|
-
export declare class FormController implements IFormController {
|
|
12
|
-
readonly model: IForm;
|
|
13
|
-
readonly evt: QXEvent<IFormEvent>;
|
|
14
|
-
context: IParams;
|
|
15
|
-
params: IParams;
|
|
16
|
-
state: IFormState;
|
|
17
|
-
item: Record<string, IFormItemBasicController>;
|
|
18
|
-
provider: Record<string, IFormItemProvider>;
|
|
19
|
-
constructor(model: IForm);
|
|
20
|
-
load(): Promise<IData>;
|
|
21
|
-
loaded(): void;
|
|
22
|
-
destroy(): void;
|
|
23
|
-
validate(): Promise<boolean>;
|
|
24
|
-
validateItem(_key: string): Promise<boolean>;
|
|
25
|
-
mounted(): void;
|
|
26
|
-
/**
|
|
27
|
-
* 表单初始化
|
|
28
|
-
*
|
|
29
|
-
* @author zhanghanrui
|
|
30
|
-
* @date 2024-04-01 13:04:27
|
|
31
|
-
* @protected
|
|
32
|
-
*/
|
|
33
|
-
protected init(): void;
|
|
34
|
-
/**
|
|
35
|
-
* 初始化表单事件订阅相关
|
|
36
|
-
*
|
|
37
|
-
* @author zhanghanrui
|
|
38
|
-
* @date 2024-04-02 14:04:31
|
|
39
|
-
* @protected
|
|
40
|
-
*/
|
|
41
|
-
protected initEvent(): void;
|
|
42
|
-
/**
|
|
43
|
-
* 初始化表单项控制器
|
|
44
|
-
*
|
|
45
|
-
* @author zhanghanrui
|
|
46
|
-
* @date 2024-04-01 13:04:38
|
|
47
|
-
* @protected
|
|
48
|
-
* @param {IFormItemBasic[]} models
|
|
49
|
-
*/
|
|
50
|
-
protected initFormItems(models: IFormItemBasic[]): void;
|
|
51
|
-
/**
|
|
52
|
-
* 获取当前表单数据
|
|
53
|
-
*
|
|
54
|
-
* @author zhanghanrui
|
|
55
|
-
* @date 2024-03-27 18:03:33
|
|
56
|
-
* @return {*} {IData}
|
|
57
|
-
*/
|
|
58
|
-
getData(): IData;
|
|
59
|
-
/**
|
|
60
|
-
* 重置表单数据
|
|
61
|
-
*
|
|
62
|
-
* @author zhanghanrui
|
|
63
|
-
* @date 2024-03-27 18:03:09
|
|
64
|
-
*/
|
|
65
|
-
resetData(): void;
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* 获取表单控制器实例
|
|
69
|
-
*
|
|
70
|
-
* @author zhanghanrui
|
|
71
|
-
* @date 2024-03-27 10:03:30
|
|
72
|
-
* @export
|
|
73
|
-
* @param {IForm} model
|
|
74
|
-
* @return {*} {FormController}
|
|
75
|
-
*/
|
|
76
|
-
export declare function useFormController(model: IForm): IFormController;
|
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
import { reactive } from 'vue';
|
|
2
|
-
import '../../enums/app-designer/index.mjs';
|
|
3
|
-
import '../../enums/page-designer/designer.mjs';
|
|
4
|
-
import '../../enums/breakpointEnum.mjs';
|
|
5
|
-
import { FormState } from '../../state/form/form.state.mjs';
|
|
6
|
-
import { QXEvent } from 'qx-util';
|
|
7
|
-
|
|
8
|
-
class FormController {
|
|
9
|
-
constructor(model) {
|
|
10
|
-
this.model = model;
|
|
11
|
-
this.init();
|
|
12
|
-
}
|
|
13
|
-
evt = new QXEvent();
|
|
14
|
-
context = {};
|
|
15
|
-
params = {};
|
|
16
|
-
state = new FormState();
|
|
17
|
-
item = {};
|
|
18
|
-
provider = {};
|
|
19
|
-
load() {
|
|
20
|
-
throw new Error("Method not implemented.");
|
|
21
|
-
}
|
|
22
|
-
loaded() {
|
|
23
|
-
throw new Error("Method not implemented.");
|
|
24
|
-
}
|
|
25
|
-
destroy() {
|
|
26
|
-
throw new Error("Method not implemented.");
|
|
27
|
-
}
|
|
28
|
-
validate() {
|
|
29
|
-
throw new Error("Method not implemented.");
|
|
30
|
-
}
|
|
31
|
-
validateItem(_key) {
|
|
32
|
-
throw new Error("Method not implemented.");
|
|
33
|
-
}
|
|
34
|
-
mounted() {
|
|
35
|
-
throw new Error("Method not implemented.");
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* 表单初始化
|
|
39
|
-
*
|
|
40
|
-
* @author zhanghanrui
|
|
41
|
-
* @date 2024-04-01 13:04:27
|
|
42
|
-
* @protected
|
|
43
|
-
*/
|
|
44
|
-
init() {
|
|
45
|
-
if (this.model.children) {
|
|
46
|
-
this.initFormItems(this.model.children);
|
|
47
|
-
}
|
|
48
|
-
this.initEvent();
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* 初始化表单事件订阅相关
|
|
52
|
-
*
|
|
53
|
-
* @author zhanghanrui
|
|
54
|
-
* @date 2024-04-02 14:04:31
|
|
55
|
-
* @protected
|
|
56
|
-
*/
|
|
57
|
-
initEvent() {
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* 初始化表单项控制器
|
|
61
|
-
*
|
|
62
|
-
* @author zhanghanrui
|
|
63
|
-
* @date 2024-04-01 13:04:38
|
|
64
|
-
* @protected
|
|
65
|
-
* @param {IFormItemBasic[]} models
|
|
66
|
-
*/
|
|
67
|
-
initFormItems(models) {
|
|
68
|
-
models.forEach((model) => {
|
|
69
|
-
let provider = null;
|
|
70
|
-
if (model.type === "item") {
|
|
71
|
-
provider = _gct.register.formItem.create(
|
|
72
|
-
`${model.type}___${model.editor.type}___${model.name}`
|
|
73
|
-
);
|
|
74
|
-
if (!provider) {
|
|
75
|
-
provider = _gct.register.formItem.create(
|
|
76
|
-
`${model.type}___${model.editor.type}`
|
|
77
|
-
);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
if (!provider) {
|
|
81
|
-
provider = _gct.register.formItem.create(model.type);
|
|
82
|
-
}
|
|
83
|
-
if (!provider) {
|
|
84
|
-
console.error(`未找到表单项提供者:${model.type}`, model);
|
|
85
|
-
return;
|
|
86
|
-
}
|
|
87
|
-
this.provider[model.name] = provider;
|
|
88
|
-
if (model.type === "item") {
|
|
89
|
-
const item = model;
|
|
90
|
-
this.item[item.name] = provider.createController(
|
|
91
|
-
this,
|
|
92
|
-
model
|
|
93
|
-
);
|
|
94
|
-
} else if (model.type === "container") {
|
|
95
|
-
const container = model;
|
|
96
|
-
this.item[model.name] = provider.createController(
|
|
97
|
-
this,
|
|
98
|
-
model
|
|
99
|
-
);
|
|
100
|
-
if (container.children) {
|
|
101
|
-
this.initFormItems(container.children);
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* 获取当前表单数据
|
|
108
|
-
*
|
|
109
|
-
* @author zhanghanrui
|
|
110
|
-
* @date 2024-03-27 18:03:33
|
|
111
|
-
* @return {*} {IData}
|
|
112
|
-
*/
|
|
113
|
-
getData() {
|
|
114
|
-
const data = {};
|
|
115
|
-
return data;
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* 重置表单数据
|
|
119
|
-
*
|
|
120
|
-
* @author zhanghanrui
|
|
121
|
-
* @date 2024-03-27 18:03:09
|
|
122
|
-
*/
|
|
123
|
-
resetData() {
|
|
124
|
-
const keys = Object.keys(this.state.data);
|
|
125
|
-
keys.forEach((key) => {
|
|
126
|
-
const val = this.state.data[key];
|
|
127
|
-
if (val) {
|
|
128
|
-
if (typeof val === "object") {
|
|
129
|
-
if (Array.isArray(val)) {
|
|
130
|
-
this.state.data[key] = [];
|
|
131
|
-
} else {
|
|
132
|
-
this.state.data[key] = {};
|
|
133
|
-
}
|
|
134
|
-
} else {
|
|
135
|
-
this.state.data[key] = null;
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
});
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
function useFormController(model) {
|
|
142
|
-
const c = new FormController(model);
|
|
143
|
-
c.state = reactive(c.state);
|
|
144
|
-
return c;
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
export { FormController, useFormController };
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { IFormCollapse, IFormCollapseController, IFormCollapseState } from '../../interface';
|
|
2
|
-
import { FormItemBasicController } from '../form-item-basic/form-item-basic.controller';
|
|
3
|
-
/**
|
|
4
|
-
* 表单折叠面板控制器
|
|
5
|
-
*
|
|
6
|
-
* @author lxm
|
|
7
|
-
* @date 2024-07-15 09:07:23
|
|
8
|
-
* @export
|
|
9
|
-
* @class FormCollapseController
|
|
10
|
-
* @extends {FormItemBasicController}
|
|
11
|
-
* @implements {IFormCollapseController}
|
|
12
|
-
*/
|
|
13
|
-
export declare class FormCollapseController extends FormItemBasicController implements IFormCollapseController {
|
|
14
|
-
readonly type = "collapse";
|
|
15
|
-
model: IFormCollapse;
|
|
16
|
-
state: IFormCollapseState;
|
|
17
|
-
protected crateItemState(): IFormCollapseState;
|
|
18
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import '../../enums/app-designer/index.mjs';
|
|
2
|
-
import '../../enums/page-designer/designer.mjs';
|
|
3
|
-
import '../../enums/breakpointEnum.mjs';
|
|
4
|
-
import { FormCollapseState } from '../../state/form-collapse/form-collapse.state.mjs';
|
|
5
|
-
import { FormItemBasicController } from '../form-item-basic/form-item-basic.controller.mjs';
|
|
6
|
-
|
|
7
|
-
class FormCollapseController extends FormItemBasicController {
|
|
8
|
-
type = "collapse";
|
|
9
|
-
crateItemState() {
|
|
10
|
-
return new FormCollapseState();
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export { FormCollapseController };
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { IFormCollapsePane, IFormCollapsePaneController, IFormCollapsePaneState } from '../../interface';
|
|
2
|
-
import { FormItemBasicController } from '../form-item-basic/form-item-basic.controller';
|
|
3
|
-
/**
|
|
4
|
-
* 表单折叠面板项控制器
|
|
5
|
-
*
|
|
6
|
-
* @author lxm
|
|
7
|
-
* @date 2024-07-15 09:07:23
|
|
8
|
-
* @export
|
|
9
|
-
* @class FormCollapsePaneController
|
|
10
|
-
* @extends {FormItemBasicController}
|
|
11
|
-
* @implements {IFormCollapsePaneController}
|
|
12
|
-
*/
|
|
13
|
-
export declare class FormCollapsePaneController extends FormItemBasicController implements IFormCollapsePaneController {
|
|
14
|
-
readonly type = "collapse-pane";
|
|
15
|
-
model: IFormCollapsePane;
|
|
16
|
-
state: IFormCollapsePaneState;
|
|
17
|
-
protected crateItemState(): IFormCollapsePaneState;
|
|
18
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import '../../enums/app-designer/index.mjs';
|
|
2
|
-
import '../../enums/page-designer/designer.mjs';
|
|
3
|
-
import '../../enums/breakpointEnum.mjs';
|
|
4
|
-
import { FormCollapsePaneState } from '../../state/form-collapse-pane/form-collapse-pane.state.mjs';
|
|
5
|
-
import { FormItemBasicController } from '../form-item-basic/form-item-basic.controller.mjs';
|
|
6
|
-
|
|
7
|
-
class FormCollapsePaneController extends FormItemBasicController {
|
|
8
|
-
type = "collapse-pane";
|
|
9
|
-
crateItemState() {
|
|
10
|
-
return new FormCollapsePaneState();
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export { FormCollapsePaneController };
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { IFormEditItem, IFormEditItemController, IFormEditItemState } from '../../interface';
|
|
2
|
-
import { FormItemBasicController } from '../form-item-basic/form-item-basic.controller';
|
|
3
|
-
/**
|
|
4
|
-
* 表单编辑项控制器
|
|
5
|
-
*
|
|
6
|
-
* @author zhanghanrui
|
|
7
|
-
* @date 2024-04-02 20:04:00
|
|
8
|
-
* @export
|
|
9
|
-
* @abstract
|
|
10
|
-
* @class FormEditItemController
|
|
11
|
-
* @extends {FormItemBasicController}
|
|
12
|
-
* @implements {IFormEditItemController}
|
|
13
|
-
*/
|
|
14
|
-
export declare abstract class FormEditItemController extends FormItemBasicController implements IFormEditItemController {
|
|
15
|
-
model: IFormEditItem;
|
|
16
|
-
state: IFormEditItemState;
|
|
17
|
-
get key(): string;
|
|
18
|
-
get value(): any;
|
|
19
|
-
set value(value: any);
|
|
20
|
-
get editorValue(): any;
|
|
21
|
-
set editorValue(v: any);
|
|
22
|
-
protected init(): void;
|
|
23
|
-
defaultValue(): void;
|
|
24
|
-
reset(): void;
|
|
25
|
-
blur(): void;
|
|
26
|
-
protected crateItemState(): IFormEditItemState;
|
|
27
|
-
}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import { cloneDeep } from 'lodash-es';
|
|
2
|
-
import { FormItemBasicController } from '../form-item-basic/form-item-basic.controller.mjs';
|
|
3
|
-
import '../../enums/app-designer/index.mjs';
|
|
4
|
-
import '../../enums/page-designer/designer.mjs';
|
|
5
|
-
import '../../enums/breakpointEnum.mjs';
|
|
6
|
-
import { FormEditItemState } from '../../state/form-edit-item/form-edit-item.state.mjs';
|
|
7
|
-
|
|
8
|
-
class FormEditItemController extends FormItemBasicController {
|
|
9
|
-
get key() {
|
|
10
|
-
return this.model.field ?? this.model.name;
|
|
11
|
-
}
|
|
12
|
-
get value() {
|
|
13
|
-
return this.form.state.data[this.key];
|
|
14
|
-
}
|
|
15
|
-
set value(value) {
|
|
16
|
-
const oldValue = cloneDeep(this.form.state.data[this.key]);
|
|
17
|
-
this.form.state.data[this.key] = value;
|
|
18
|
-
this.form.evt.emit("change", this.key, value, oldValue);
|
|
19
|
-
this.state.value = value;
|
|
20
|
-
}
|
|
21
|
-
get editorValue() {
|
|
22
|
-
if (this.model.fields) {
|
|
23
|
-
return this.model.fields.map((key) => {
|
|
24
|
-
return this.form.item[key].value;
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
return this.value;
|
|
28
|
-
}
|
|
29
|
-
set editorValue(v) {
|
|
30
|
-
if (this.model.fields) {
|
|
31
|
-
this.model.fields.forEach((key, i) => {
|
|
32
|
-
this.form.item[key].value = v?.[i];
|
|
33
|
-
});
|
|
34
|
-
} else {
|
|
35
|
-
this.value = v;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
init() {
|
|
39
|
-
super.init();
|
|
40
|
-
if (this.model.type !== "hidden") {
|
|
41
|
-
const { editor } = this.model;
|
|
42
|
-
this.state.readonly = editor.readonly;
|
|
43
|
-
if (editor.disabled != null) {
|
|
44
|
-
this.state.disabled = editor.disabled;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
if (this.model.dictionary) {
|
|
48
|
-
const { mode } = this.model.dictionary;
|
|
49
|
-
if (mode === "static") {
|
|
50
|
-
this.state.options = this.model.dictionary.items || [];
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
defaultValue() {
|
|
55
|
-
if (this.form.state.data[this.key] === void 0 && this.model.defaultValue !== void 0) {
|
|
56
|
-
this.form.state.data[this.key] = this.model.defaultValue;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
reset() {
|
|
60
|
-
if (this.model.defaultValue !== void 0) {
|
|
61
|
-
this.value = this.model.defaultValue;
|
|
62
|
-
} else {
|
|
63
|
-
this.value = void 0;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
blur() {
|
|
67
|
-
console.warn("FormEditItemController.blur not implemented");
|
|
68
|
-
}
|
|
69
|
-
crateItemState() {
|
|
70
|
-
return new FormEditItemState();
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
export { FormEditItemController };
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { IFormGroup, IFormGroupController, IFormGroupState } from '../../interface';
|
|
2
|
-
import { FormItemBasicController } from '../form-item-basic/form-item-basic.controller';
|
|
3
|
-
/**
|
|
4
|
-
* 表单分组控制器
|
|
5
|
-
*
|
|
6
|
-
* @author zhanghanrui
|
|
7
|
-
* @date 2024-04-01 14:04:00
|
|
8
|
-
* @export
|
|
9
|
-
* @class FormGroupController
|
|
10
|
-
* @extends {FormItemBasicController}
|
|
11
|
-
* @implements {IFormGroupController}
|
|
12
|
-
*/
|
|
13
|
-
export declare class FormGroupController extends FormItemBasicController implements IFormGroupController {
|
|
14
|
-
readonly type = "group";
|
|
15
|
-
model: IFormGroup;
|
|
16
|
-
state: IFormGroupState;
|
|
17
|
-
protected crateItemState(): IFormGroupState;
|
|
18
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import '../../enums/app-designer/index.mjs';
|
|
2
|
-
import '../../enums/page-designer/designer.mjs';
|
|
3
|
-
import '../../enums/breakpointEnum.mjs';
|
|
4
|
-
import { FormGroupState } from '../../state/form-group/form-group.state.mjs';
|
|
5
|
-
import { FormItemBasicController } from '../form-item-basic/form-item-basic.controller.mjs';
|
|
6
|
-
|
|
7
|
-
class FormGroupController extends FormItemBasicController {
|
|
8
|
-
type = "group";
|
|
9
|
-
crateItemState() {
|
|
10
|
-
return new FormGroupState();
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export { FormGroupController };
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { IDictionaryItem, IFormItem, IFormItemController, IFormItemState } from '../../interface';
|
|
2
|
-
import { FormEditItemController } from '../form-edit-item/form-edit-item.controller';
|
|
3
|
-
/**
|
|
4
|
-
* 表单项控制器
|
|
5
|
-
*
|
|
6
|
-
* @author zhanghanrui
|
|
7
|
-
* @date 2024-04-02 20:04:03
|
|
8
|
-
* @export
|
|
9
|
-
* @class FormItemController
|
|
10
|
-
* @extends {FormEditItemController}
|
|
11
|
-
* @implements {IFormItemController}
|
|
12
|
-
*/
|
|
13
|
-
export declare class FormItemController extends FormEditItemController implements IFormItemController {
|
|
14
|
-
readonly type = "item";
|
|
15
|
-
model: IFormItem;
|
|
16
|
-
state: IFormItemState;
|
|
17
|
-
loadDictionary(params?: IParams): Promise<IDictionaryItem[]>;
|
|
18
|
-
clearDictionary(): void;
|
|
19
|
-
blur(): void;
|
|
20
|
-
protected crateItemState(): IFormItemState;
|
|
21
|
-
}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import '../../enums/app-designer/index.mjs';
|
|
2
|
-
import '../../enums/page-designer/designer.mjs';
|
|
3
|
-
import '../../enums/breakpointEnum.mjs';
|
|
4
|
-
import { FormItemState } from '../../state/form-item/form-item.state.mjs';
|
|
5
|
-
import { FormEditItemController } from '../form-edit-item/form-edit-item.controller.mjs';
|
|
6
|
-
|
|
7
|
-
class FormItemController extends FormEditItemController {
|
|
8
|
-
type = "item";
|
|
9
|
-
async loadDictionary(params) {
|
|
10
|
-
if (this.state.options.length > 0) {
|
|
11
|
-
return this.state.options;
|
|
12
|
-
}
|
|
13
|
-
this.state.options = [];
|
|
14
|
-
this.state.loading = true;
|
|
15
|
-
try {
|
|
16
|
-
if (this.model.dictionary) {
|
|
17
|
-
this.state.options = await _gct.dictionary.asyncGetByConfig(
|
|
18
|
-
this.model.dictionary,
|
|
19
|
-
params
|
|
20
|
-
);
|
|
21
|
-
} else if (this.model.dictionaryTag) {
|
|
22
|
-
this.state.options = await _gct.dictionary.asyncGet(
|
|
23
|
-
this.model.dictionaryTag,
|
|
24
|
-
params
|
|
25
|
-
);
|
|
26
|
-
}
|
|
27
|
-
return this.state.options;
|
|
28
|
-
} finally {
|
|
29
|
-
this.state.loading = false;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
clearDictionary() {
|
|
33
|
-
this.state.options = [];
|
|
34
|
-
}
|
|
35
|
-
blur() {
|
|
36
|
-
console.warn("FormEditItemController.blur not implemented");
|
|
37
|
-
}
|
|
38
|
-
crateItemState() {
|
|
39
|
-
return new FormItemState();
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
export { FormItemController };
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { IFormController, IFormItemBasic, IFormItemBasicController, IFormItemBasicState } from '../../interface';
|
|
2
|
-
/**
|
|
3
|
-
* 表单项基础控制器
|
|
4
|
-
*
|
|
5
|
-
* @author zhanghanrui
|
|
6
|
-
* @date 2024-04-01 14:04:08
|
|
7
|
-
* @export
|
|
8
|
-
* @abstract
|
|
9
|
-
* @class FormItemBasicController
|
|
10
|
-
* @implements {IFormItemBasicController}
|
|
11
|
-
*/
|
|
12
|
-
export declare abstract class FormItemBasicController implements IFormItemBasicController {
|
|
13
|
-
protected readonly form: IFormController;
|
|
14
|
-
readonly model: IFormItemBasic;
|
|
15
|
-
/**
|
|
16
|
-
* 表单项类型
|
|
17
|
-
*
|
|
18
|
-
* @author zhanghanrui
|
|
19
|
-
* @date 2024-04-01 14:04:45
|
|
20
|
-
* @abstract
|
|
21
|
-
* @type {string}
|
|
22
|
-
*/
|
|
23
|
-
abstract readonly type: string;
|
|
24
|
-
/**
|
|
25
|
-
* 表单项基础状态
|
|
26
|
-
*
|
|
27
|
-
* @description 禁止直接重写new实例,如果要覆盖重写 crateItemState 方法
|
|
28
|
-
* @author zhanghanrui
|
|
29
|
-
* @date 2024-04-02 22:04:07
|
|
30
|
-
* @type {IFormItemBasicState}
|
|
31
|
-
*/
|
|
32
|
-
state: IFormItemBasicState;
|
|
33
|
-
get data(): any;
|
|
34
|
-
/**
|
|
35
|
-
* Creates an instance of FormItemBasicController.
|
|
36
|
-
*
|
|
37
|
-
* @author zhanghanrui
|
|
38
|
-
* @date 2024-04-02 09:04:55
|
|
39
|
-
* @param {IFormController} form
|
|
40
|
-
* @param {IFormItemBasic} model
|
|
41
|
-
*/
|
|
42
|
-
constructor(form: IFormController, model: IFormItemBasic);
|
|
43
|
-
protected init(): void;
|
|
44
|
-
destroy(): void;
|
|
45
|
-
protected crateItemState(): IFormItemBasicState;
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* 加载表单项控制器实例
|
|
49
|
-
*
|
|
50
|
-
* @author zhanghanrui
|
|
51
|
-
* @date 2024-04-02 22:04:51
|
|
52
|
-
* @export
|
|
53
|
-
* @template T
|
|
54
|
-
* @param {() => T} fn
|
|
55
|
-
* @return {*} {T}
|
|
56
|
-
*/
|
|
57
|
-
export declare function useFormItemController<T extends IFormItemBasicController = IFormItemBasicController>(fn: () => T): T;
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { reactive } from 'vue';
|
|
2
|
-
import '../../enums/app-designer/index.mjs';
|
|
3
|
-
import '../../enums/page-designer/designer.mjs';
|
|
4
|
-
import '../../enums/breakpointEnum.mjs';
|
|
5
|
-
import { FormItemBasicState } from '../../state/form-item-basic/form-item-basic.state.mjs';
|
|
6
|
-
|
|
7
|
-
class FormItemBasicController {
|
|
8
|
-
/**
|
|
9
|
-
* Creates an instance of FormItemBasicController.
|
|
10
|
-
*
|
|
11
|
-
* @author zhanghanrui
|
|
12
|
-
* @date 2024-04-02 09:04:55
|
|
13
|
-
* @param {IFormController} form
|
|
14
|
-
* @param {IFormItemBasic} model
|
|
15
|
-
*/
|
|
16
|
-
constructor(form, model) {
|
|
17
|
-
this.form = form;
|
|
18
|
-
this.model = model;
|
|
19
|
-
this.init();
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* 表单项基础状态
|
|
23
|
-
*
|
|
24
|
-
* @description 禁止直接重写new实例,如果要覆盖重写 crateItemState 方法
|
|
25
|
-
* @author zhanghanrui
|
|
26
|
-
* @date 2024-04-02 22:04:07
|
|
27
|
-
* @type {IFormItemBasicState}
|
|
28
|
-
*/
|
|
29
|
-
state = this.crateItemState();
|
|
30
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
31
|
-
get data() {
|
|
32
|
-
return this.form.state.data;
|
|
33
|
-
}
|
|
34
|
-
init() {
|
|
35
|
-
}
|
|
36
|
-
destroy() {
|
|
37
|
-
this.state.destroyed = true;
|
|
38
|
-
}
|
|
39
|
-
crateItemState() {
|
|
40
|
-
return new FormItemBasicState();
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
function useFormItemController(fn) {
|
|
44
|
-
const c = fn();
|
|
45
|
-
c.state = reactive(c.state);
|
|
46
|
-
return c;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
export { FormItemBasicController, useFormItemController };
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { IFormHiddenItem, IFormHiddenItemController, IFormHiddenItemState } from '../../interface';
|
|
2
|
-
import { FormEditItemController } from '../form-edit-item/form-edit-item.controller';
|
|
3
|
-
/**
|
|
4
|
-
* 表单分组控制器
|
|
5
|
-
*
|
|
6
|
-
* @author zhanghanrui
|
|
7
|
-
* @date 2024-04-01 14:04:00
|
|
8
|
-
* @export
|
|
9
|
-
* @class FormHiddenItemController
|
|
10
|
-
* @extends {FormEditItemController}
|
|
11
|
-
* @implements {IFormGroupController}
|
|
12
|
-
*/
|
|
13
|
-
export declare class FormHiddenItemController extends FormEditItemController implements IFormHiddenItemController {
|
|
14
|
-
readonly type = "hidden";
|
|
15
|
-
model: IFormHiddenItem;
|
|
16
|
-
state: IFormHiddenItemState;
|
|
17
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { IFormTab, IFormTabController, IFormTabState } from '../../interface';
|
|
2
|
-
import { FormItemBasicController } from '../form-item-basic/form-item-basic.controller';
|
|
3
|
-
/**
|
|
4
|
-
* 表单分组控制器
|
|
5
|
-
*
|
|
6
|
-
* @author zhanghanrui
|
|
7
|
-
* @date 2024-04-01 14:04:00
|
|
8
|
-
* @export
|
|
9
|
-
* @class FormTabController
|
|
10
|
-
* @extends {FormItemBasicController}
|
|
11
|
-
* @implements {IFormTabController}
|
|
12
|
-
*/
|
|
13
|
-
export declare class FormTabController extends FormItemBasicController implements IFormTabController {
|
|
14
|
-
readonly type = "tab";
|
|
15
|
-
model: IFormTab;
|
|
16
|
-
state: IFormTabState;
|
|
17
|
-
protected crateItemState(): IFormTabState;
|
|
18
|
-
}
|