@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 '../../enums/app-designer/index.mjs';
|
|
2
|
-
import '../../enums/page-designer/designer.mjs';
|
|
3
|
-
import '../../enums/breakpointEnum.mjs';
|
|
4
|
-
import { FormTabState } from '../../state/form-tab/form-tab.state.mjs';
|
|
5
|
-
import { FormItemBasicController } from '../form-item-basic/form-item-basic.controller.mjs';
|
|
6
|
-
|
|
7
|
-
class FormTabController extends FormItemBasicController {
|
|
8
|
-
type = "tab";
|
|
9
|
-
crateItemState() {
|
|
10
|
-
return new FormTabState();
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export { FormTabController };
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { IFormTabPane, IFormTabPaneController, IFormTabPaneState } 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 FormTabPaneController
|
|
10
|
-
* @extends {FormItemBasicController}
|
|
11
|
-
* @implements {IFormTabPaneController}
|
|
12
|
-
*/
|
|
13
|
-
export declare class FormTabPaneController extends FormItemBasicController implements IFormTabPaneController {
|
|
14
|
-
readonly type = "tab-pane";
|
|
15
|
-
model: IFormTabPane;
|
|
16
|
-
state: IFormTabPaneState;
|
|
17
|
-
protected crateItemState(): IFormTabPaneState;
|
|
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 { FormTabPaneState } from '../../state/form-tab-pane/form-tab-pane.state.mjs';
|
|
5
|
-
import { FormItemBasicController } from '../form-item-basic/form-item-basic.controller.mjs';
|
|
6
|
-
|
|
7
|
-
class FormTabPaneController extends FormItemBasicController {
|
|
8
|
-
type = "tab-pane";
|
|
9
|
-
crateItemState() {
|
|
10
|
-
return new FormTabPaneState();
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export { FormTabPaneController };
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
import { IForm, IFormState, IFormController, IFormItemBasic, IFormItem, IFormItemProvider, IFormItemBasicController, IFormEvent, IFormHiddenItem } from '../../interface';
|
|
2
|
-
import { QXEvent } from 'qx-util';
|
|
3
|
-
/**
|
|
4
|
-
* 表单控制器
|
|
5
|
-
*
|
|
6
|
-
* @author zhanghanrui
|
|
7
|
-
* @date 2024-04-02 20:04:14
|
|
8
|
-
* @export
|
|
9
|
-
* @class GctFormController
|
|
10
|
-
* @implements {IFormController}
|
|
11
|
-
*/
|
|
12
|
-
export declare class GctFormController implements IFormController {
|
|
13
|
-
readonly model: IForm;
|
|
14
|
-
readonly evt: QXEvent<IFormEvent>;
|
|
15
|
-
state: IFormState;
|
|
16
|
-
readonly item: Record<string, IFormItemBasicController>;
|
|
17
|
-
readonly provider: Record<string, IFormItemProvider>;
|
|
18
|
-
readonly context: IParams;
|
|
19
|
-
readonly params: IParams;
|
|
20
|
-
/**
|
|
21
|
-
* 所有属性的项标识,由 item 和 hidden 类型的表单项的 name 组成
|
|
22
|
-
*
|
|
23
|
-
* @author zhanghanrui
|
|
24
|
-
* @date 2024-04-02 20:04:20
|
|
25
|
-
* @protected
|
|
26
|
-
* @type {string[]}
|
|
27
|
-
*/
|
|
28
|
-
protected fields: string[];
|
|
29
|
-
/**
|
|
30
|
-
* 所有[item、hidden]表单项的映射,key 为表单项的 name
|
|
31
|
-
*
|
|
32
|
-
* @author zhanghanrui
|
|
33
|
-
* @date 2024-04-02 20:04:39
|
|
34
|
-
* @protected
|
|
35
|
-
* @type {(Record<string, IFormItem | IFormHiddenItem>)}
|
|
36
|
-
*/
|
|
37
|
-
protected modelMap: Record<string, IFormItem | IFormHiddenItem>;
|
|
38
|
-
constructor(model: IForm);
|
|
39
|
-
/**
|
|
40
|
-
* 表单初始化
|
|
41
|
-
*
|
|
42
|
-
* @author zhanghanrui
|
|
43
|
-
* @date 2024-04-01 13:04:27
|
|
44
|
-
* @protected
|
|
45
|
-
*/
|
|
46
|
-
protected init(): void;
|
|
47
|
-
/**
|
|
48
|
-
* 初始化表单事件订阅相关
|
|
49
|
-
*
|
|
50
|
-
* @author zhanghanrui
|
|
51
|
-
* @date 2024-04-02 14:04:31
|
|
52
|
-
* @protected
|
|
53
|
-
*/
|
|
54
|
-
protected initEvent(): void;
|
|
55
|
-
/**
|
|
56
|
-
* 计算表单状态,数据变更或加载数据后调用
|
|
57
|
-
*
|
|
58
|
-
* @author zhanghanrui
|
|
59
|
-
* @date 2024-04-02 21:04:15
|
|
60
|
-
* @protected
|
|
61
|
-
*/
|
|
62
|
-
protected calcState(): void;
|
|
63
|
-
/**
|
|
64
|
-
* 初始化表单项控制器
|
|
65
|
-
*
|
|
66
|
-
* @author zhanghanrui
|
|
67
|
-
* @date 2024-04-01 13:04:38
|
|
68
|
-
* @protected
|
|
69
|
-
* @param {IFormItemBasic[]} models
|
|
70
|
-
*/
|
|
71
|
-
protected initFormItems(models: IFormItemBasic[]): void;
|
|
72
|
-
/**
|
|
73
|
-
* 计算表单项隐藏
|
|
74
|
-
*
|
|
75
|
-
* @author zhanghanrui
|
|
76
|
-
* @date 2024-08-01 11:08:23
|
|
77
|
-
* @protected
|
|
78
|
-
*/
|
|
79
|
-
protected calcHidden(): void;
|
|
80
|
-
/**
|
|
81
|
-
* 获取当前表单数据
|
|
82
|
-
*
|
|
83
|
-
* @author zhanghanrui
|
|
84
|
-
* @date 2024-04-02 20:04:16
|
|
85
|
-
* @return {*} {IData}
|
|
86
|
-
*/
|
|
87
|
-
getData(): IData;
|
|
88
|
-
/**
|
|
89
|
-
* 重置表单数据
|
|
90
|
-
*
|
|
91
|
-
* @author zhanghanrui
|
|
92
|
-
* @date 2024-04-02 20:04:11
|
|
93
|
-
*/
|
|
94
|
-
resetData(): void;
|
|
95
|
-
load(): Promise<IData>;
|
|
96
|
-
destroy(): void;
|
|
97
|
-
validate(): Promise<boolean>;
|
|
98
|
-
validateItem(_key: string): Promise<boolean>;
|
|
99
|
-
loaded(): void;
|
|
100
|
-
mounted(): void;
|
|
101
|
-
}
|
|
@@ -1,214 +0,0 @@
|
|
|
1
|
-
import '../../enums/app-designer/index.mjs';
|
|
2
|
-
import '../../enums/page-designer/designer.mjs';
|
|
3
|
-
import '../../enums/breakpointEnum.mjs';
|
|
4
|
-
import { FormState } from '../../state/form/form.state.mjs';
|
|
5
|
-
import { QXEvent } from 'qx-util';
|
|
6
|
-
|
|
7
|
-
class GctFormController {
|
|
8
|
-
constructor(model) {
|
|
9
|
-
this.model = model;
|
|
10
|
-
this.init();
|
|
11
|
-
}
|
|
12
|
-
evt = new QXEvent();
|
|
13
|
-
state = new FormState();
|
|
14
|
-
item = {};
|
|
15
|
-
provider = {};
|
|
16
|
-
context = {};
|
|
17
|
-
params = {};
|
|
18
|
-
/**
|
|
19
|
-
* 所有属性的项标识,由 item 和 hidden 类型的表单项的 name 组成
|
|
20
|
-
*
|
|
21
|
-
* @author zhanghanrui
|
|
22
|
-
* @date 2024-04-02 20:04:20
|
|
23
|
-
* @protected
|
|
24
|
-
* @type {string[]}
|
|
25
|
-
*/
|
|
26
|
-
fields = [];
|
|
27
|
-
/**
|
|
28
|
-
* 所有[item、hidden]表单项的映射,key 为表单项的 name
|
|
29
|
-
*
|
|
30
|
-
* @author zhanghanrui
|
|
31
|
-
* @date 2024-04-02 20:04:39
|
|
32
|
-
* @protected
|
|
33
|
-
* @type {(Record<string, IFormItem | IFormHiddenItem>)}
|
|
34
|
-
*/
|
|
35
|
-
modelMap = {};
|
|
36
|
-
/**
|
|
37
|
-
* 表单初始化
|
|
38
|
-
*
|
|
39
|
-
* @author zhanghanrui
|
|
40
|
-
* @date 2024-04-01 13:04:27
|
|
41
|
-
* @protected
|
|
42
|
-
*/
|
|
43
|
-
init() {
|
|
44
|
-
if (this.model.children) {
|
|
45
|
-
this.initFormItems(this.model.children);
|
|
46
|
-
}
|
|
47
|
-
this.initEvent();
|
|
48
|
-
this.calcState();
|
|
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-02 21:04:15
|
|
64
|
-
* @protected
|
|
65
|
-
*/
|
|
66
|
-
calcState() {
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* 初始化表单项控制器
|
|
70
|
-
*
|
|
71
|
-
* @author zhanghanrui
|
|
72
|
-
* @date 2024-04-01 13:04:38
|
|
73
|
-
* @protected
|
|
74
|
-
* @param {IFormItemBasic[]} models
|
|
75
|
-
*/
|
|
76
|
-
initFormItems(models) {
|
|
77
|
-
models.forEach((model) => {
|
|
78
|
-
let provider = null;
|
|
79
|
-
if (model.type === "item" || model.type === "hidden") {
|
|
80
|
-
this.fields.push(model.name);
|
|
81
|
-
this.modelMap[model.name] = model;
|
|
82
|
-
}
|
|
83
|
-
if (model.type === "item") {
|
|
84
|
-
provider = _gct.register.formItem.create(
|
|
85
|
-
`${model.type}___${model.editor.type}___${model.name}`
|
|
86
|
-
);
|
|
87
|
-
if (!provider) {
|
|
88
|
-
provider = _gct.register.formItem.create(
|
|
89
|
-
`${model.type}___${model.editor.type}`
|
|
90
|
-
);
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
if (!provider) {
|
|
94
|
-
provider = _gct.register.formItem.create(model.type);
|
|
95
|
-
}
|
|
96
|
-
if (!provider) {
|
|
97
|
-
console.error(`未找到表单项提供者:${model.type}`, model);
|
|
98
|
-
return;
|
|
99
|
-
}
|
|
100
|
-
this.provider[model.name] = provider;
|
|
101
|
-
if (model.type === "item") {
|
|
102
|
-
const item = model;
|
|
103
|
-
this.item[item.name] = provider.createController(this, item);
|
|
104
|
-
} else if (model.type === "hidden") {
|
|
105
|
-
const hidden = model;
|
|
106
|
-
this.item[hidden.name] = provider.createController(this, hidden);
|
|
107
|
-
} else if (model.type === "container" || model.container) {
|
|
108
|
-
const container = model;
|
|
109
|
-
this.item[model.name] = provider.createController(this, container);
|
|
110
|
-
if (container.children) {
|
|
111
|
-
this.initFormItems(container.children);
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
});
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* 计算表单项隐藏
|
|
118
|
-
*
|
|
119
|
-
* @author zhanghanrui
|
|
120
|
-
* @date 2024-08-01 11:08:23
|
|
121
|
-
* @protected
|
|
122
|
-
*/
|
|
123
|
-
calcHidden() {
|
|
124
|
-
const keys = Object.keys(this.item);
|
|
125
|
-
keys.forEach((key) => {
|
|
126
|
-
const c = this.item[key];
|
|
127
|
-
if (c.model.hidden) {
|
|
128
|
-
const bol = c.model.hidden(this, c, this.state.data);
|
|
129
|
-
if (bol != null) {
|
|
130
|
-
c.state.visible = !bol;
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
});
|
|
134
|
-
}
|
|
135
|
-
/**
|
|
136
|
-
* 获取当前表单数据
|
|
137
|
-
*
|
|
138
|
-
* @author zhanghanrui
|
|
139
|
-
* @date 2024-04-02 20:04:16
|
|
140
|
-
* @return {*} {IData}
|
|
141
|
-
*/
|
|
142
|
-
getData() {
|
|
143
|
-
const data = {};
|
|
144
|
-
this.fields.forEach((field) => {
|
|
145
|
-
const c = this.item[field];
|
|
146
|
-
if (c && (c.state.visible === true || c.model.type === "hidden")) {
|
|
147
|
-
data[c.key] = c.value;
|
|
148
|
-
}
|
|
149
|
-
});
|
|
150
|
-
return data;
|
|
151
|
-
}
|
|
152
|
-
/**
|
|
153
|
-
* 重置表单数据
|
|
154
|
-
*
|
|
155
|
-
* @author zhanghanrui
|
|
156
|
-
* @date 2024-04-02 20:04:11
|
|
157
|
-
*/
|
|
158
|
-
resetData() {
|
|
159
|
-
this.fields.forEach((key) => {
|
|
160
|
-
const c = this.item[key];
|
|
161
|
-
if (c) {
|
|
162
|
-
c.reset();
|
|
163
|
-
}
|
|
164
|
-
});
|
|
165
|
-
}
|
|
166
|
-
async load() {
|
|
167
|
-
try {
|
|
168
|
-
if (!this.model.loadRequest) {
|
|
169
|
-
return {};
|
|
170
|
-
}
|
|
171
|
-
this.state.loading = true;
|
|
172
|
-
const data = await this.model.loadRequest({ id: this.context.id });
|
|
173
|
-
this.fields.forEach((key) => {
|
|
174
|
-
const c = this.item[key];
|
|
175
|
-
if (c) {
|
|
176
|
-
c.value = data[c.key];
|
|
177
|
-
}
|
|
178
|
-
c.defaultValue();
|
|
179
|
-
});
|
|
180
|
-
this.state.loaded = true;
|
|
181
|
-
return data;
|
|
182
|
-
} finally {
|
|
183
|
-
this.state.loading = false;
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
destroy() {
|
|
187
|
-
this.state.destroyed = true;
|
|
188
|
-
this.evt.reset();
|
|
189
|
-
this.fields.forEach((key) => {
|
|
190
|
-
const c = this.item[key];
|
|
191
|
-
if (c) {
|
|
192
|
-
c.destroy();
|
|
193
|
-
}
|
|
194
|
-
});
|
|
195
|
-
}
|
|
196
|
-
validate() {
|
|
197
|
-
return Promise.resolve(true);
|
|
198
|
-
}
|
|
199
|
-
validateItem(_key) {
|
|
200
|
-
return Promise.resolve(true);
|
|
201
|
-
}
|
|
202
|
-
loaded() {
|
|
203
|
-
this.calcHidden();
|
|
204
|
-
this.fields.forEach((key) => {
|
|
205
|
-
const c = this.item[key];
|
|
206
|
-
c.defaultValue();
|
|
207
|
-
});
|
|
208
|
-
this.calcState();
|
|
209
|
-
}
|
|
210
|
-
mounted() {
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
export { GctFormController };
|
package/es/controller/index.d.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export { EditFormController, useEditFormController, } from './edit-form/edit-form.controller';
|
|
2
|
-
export { EditorController } from './editor-item/editor-item.controller';
|
|
3
|
-
export { FormController, useFormController } from './form/form.controller';
|
|
4
|
-
export { GctFormController } from './gct-form/gct-form.controller';
|
|
5
|
-
export { FormCollapsePaneController } from './form-collapse-pane/form-collapse-pane.controller';
|
|
6
|
-
export { FormCollapseController } from './form-collapse/form-collapse.controller';
|
|
7
|
-
export { FormTabController } from './form-tab/form-tab.controller';
|
|
8
|
-
export { FormTabPaneController } from './form-tab-pane/form-tab-pane.controller';
|
|
9
|
-
export { FormGroupController } from './form-group/form-group.controller';
|
|
10
|
-
export { FormEditItemController } from './form-edit-item/form-edit-item.controller';
|
|
11
|
-
export { FormItemController } from './form-item/form-item.controller';
|
|
12
|
-
export { FormItemBasicController, useFormItemController, } from './form-item-basic/form-item-basic.controller';
|
|
13
|
-
export { FormHiddenItemController } from './form-item-hidden/form-item-hidden.controller';
|
|
14
|
-
export { LengthUnitEditorController } from './editor/length-unit-editor.controller';
|
|
15
|
-
export { ColorEditorController } from './editor/color-editor.controller';
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { WritableComputedRef } from 'vue';
|
|
2
|
-
/**
|
|
3
|
-
* 获取编辑器双向数据绑定值对象,自动发送更新事件
|
|
4
|
-
*
|
|
5
|
-
* @export
|
|
6
|
-
* @template T
|
|
7
|
-
* @param {string} [key] 可以指定字段字段名(指定后直接改 form),默认取 props 中的 value
|
|
8
|
-
* @returns {*} {WritableComputedRef<T>}
|
|
9
|
-
*/
|
|
10
|
-
export declare function useGctFormValue<T = any>(key?: string): WritableComputedRef<T>;
|
|
11
|
-
/**
|
|
12
|
-
* 获取编辑器双向数据绑定值对象,自动发送更新事件(纯字符串)
|
|
13
|
-
*
|
|
14
|
-
* @author zhanghanrui
|
|
15
|
-
* @date 2024-04-03 13:04:25
|
|
16
|
-
* @export
|
|
17
|
-
* @template T
|
|
18
|
-
* @param {string} [prefix]
|
|
19
|
-
* @param {string} [suffix]
|
|
20
|
-
* @return {*} {WritableComputedRef<T>}
|
|
21
|
-
*/
|
|
22
|
-
export declare function useGctFormValueByText(prefix?: string, suffix?: string): WritableComputedRef<string>;
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import { computed, getCurrentInstance } from 'vue';
|
|
2
|
-
import { useForm } from '../use-form/use-form.mjs';
|
|
3
|
-
|
|
4
|
-
function useGctFormValue(key) {
|
|
5
|
-
let val = null;
|
|
6
|
-
if (key) {
|
|
7
|
-
const form = useForm();
|
|
8
|
-
const formItem = form.item[key];
|
|
9
|
-
if (formItem) {
|
|
10
|
-
val = computed({
|
|
11
|
-
get() {
|
|
12
|
-
return formItem.value;
|
|
13
|
-
},
|
|
14
|
-
set(v) {
|
|
15
|
-
if (typeof v === "string") {
|
|
16
|
-
v = v.trim();
|
|
17
|
-
}
|
|
18
|
-
if (typeof v != "object" && formItem.value == v) {
|
|
19
|
-
return;
|
|
20
|
-
}
|
|
21
|
-
formItem.value = v;
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
} else {
|
|
26
|
-
let vue = getCurrentInstance().proxy;
|
|
27
|
-
const props = vue.$props;
|
|
28
|
-
const emit = vue.$emit;
|
|
29
|
-
val = computed({
|
|
30
|
-
get: () => {
|
|
31
|
-
return props.value;
|
|
32
|
-
},
|
|
33
|
-
set: (newVal) => {
|
|
34
|
-
if (typeof newVal === "string") {
|
|
35
|
-
newVal = newVal.trim();
|
|
36
|
-
}
|
|
37
|
-
if (typeof newVal != "object" && props.value == newVal) {
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
emit("update:value", newVal);
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
vue = null;
|
|
44
|
-
}
|
|
45
|
-
return val;
|
|
46
|
-
}
|
|
47
|
-
function useGctFormValueByText(prefix, suffix) {
|
|
48
|
-
let vue = getCurrentInstance().proxy;
|
|
49
|
-
const props = vue.$props;
|
|
50
|
-
const emit = vue.$emit;
|
|
51
|
-
const prefixSize = prefix ? prefix.length : 0;
|
|
52
|
-
const suffixSize = suffix ? suffix.length : 0;
|
|
53
|
-
const val = computed({
|
|
54
|
-
get: () => {
|
|
55
|
-
if (!props.value) {
|
|
56
|
-
return "";
|
|
57
|
-
}
|
|
58
|
-
let value = props.value;
|
|
59
|
-
if (prefixSize > 0 && value.startsWith(prefix)) {
|
|
60
|
-
value = value.substring(prefixSize);
|
|
61
|
-
}
|
|
62
|
-
if (suffixSize > 0 && value.endsWith(suffix)) {
|
|
63
|
-
value = value.substring(0, value.length - suffixSize);
|
|
64
|
-
}
|
|
65
|
-
return value;
|
|
66
|
-
},
|
|
67
|
-
set: (newVal) => {
|
|
68
|
-
if (props.value === newVal) {
|
|
69
|
-
return;
|
|
70
|
-
}
|
|
71
|
-
if (newVal == "") {
|
|
72
|
-
emit("update:value", "");
|
|
73
|
-
return;
|
|
74
|
-
}
|
|
75
|
-
let value = newVal;
|
|
76
|
-
if (prefixSize > 0) {
|
|
77
|
-
value = prefix + value;
|
|
78
|
-
}
|
|
79
|
-
if (suffixSize > 0) {
|
|
80
|
-
value = value + suffix;
|
|
81
|
-
}
|
|
82
|
-
emit("update:value", value);
|
|
83
|
-
}
|
|
84
|
-
});
|
|
85
|
-
vue = null;
|
|
86
|
-
return val;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
export { useGctFormValue, useGctFormValueByText };
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { Ref } from 'vue';
|
|
2
|
-
import { OverlayScrollbars, EventListeners, PartialOptions } from 'overlayscrollbars';
|
|
3
|
-
/**
|
|
4
|
-
* OverlayScrollbars Vue 3 组合式函数
|
|
5
|
-
*
|
|
6
|
-
* @export
|
|
7
|
-
* @param {PartialOptions} options
|
|
8
|
-
* @param {EventListeners} [eventListeners]
|
|
9
|
-
* @return {*}
|
|
10
|
-
*/
|
|
11
|
-
export declare function useOverlayScrollbars(osElRef: Ref<HTMLElement | undefined>, options: PartialOptions, eventListeners?: EventListeners): Ref<OverlayScrollbars>;
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { IFormController } from '../form/form.controller';
|
|
2
|
-
/**
|
|
3
|
-
* 编辑表单控制器
|
|
4
|
-
*
|
|
5
|
-
* @author zhanghanrui
|
|
6
|
-
* @date 2024-04-01 18:04:24
|
|
7
|
-
* @export
|
|
8
|
-
* @interface IEditFormController
|
|
9
|
-
* @extends {IFormController}
|
|
10
|
-
*/
|
|
11
|
-
export interface IEditFormController extends IFormController {
|
|
12
|
-
/**
|
|
13
|
-
* 保存表单数据
|
|
14
|
-
*
|
|
15
|
-
* @author zhanghanrui
|
|
16
|
-
* @date 2024-04-02 20:04:25
|
|
17
|
-
* @return {*} {Promise<IData>}
|
|
18
|
-
*/
|
|
19
|
-
save(): Promise<IData>;
|
|
20
|
-
/**
|
|
21
|
-
* 自动保存表单数据(值变化时就触发)
|
|
22
|
-
*
|
|
23
|
-
* @returns {*} {Promise<IData>}
|
|
24
|
-
*/
|
|
25
|
-
autoSave(): Promise<IData>;
|
|
26
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { IColorEditor } from '../../form/i-editor/i-color-editor';
|
|
2
|
-
import { IEditorController } from '../editor-item/editor-item.controller';
|
|
3
|
-
/**
|
|
4
|
-
* 颜色选择编辑器控制器
|
|
5
|
-
* @author lingxiaoming
|
|
6
|
-
* @date 2024-07-17 04:35:50
|
|
7
|
-
* @export
|
|
8
|
-
* @interface IColorEditorController
|
|
9
|
-
* @extends {IEditorController<IColorEditor>}
|
|
10
|
-
*/
|
|
11
|
-
export type IColorEditorController = IEditorController<IColorEditor>;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { ILengthUnitEditor } from '../../form/i-editor/i-length-unit-editor';
|
|
2
|
-
import { IEditorController } from '../editor-item/editor-item.controller';
|
|
3
|
-
/**
|
|
4
|
-
* 带单位长度字符串编辑器控制器
|
|
5
|
-
* @author lingxiaoming
|
|
6
|
-
* @date 2024-07-17 04:35:50
|
|
7
|
-
* @export
|
|
8
|
-
* @interface ILengthUnitEditorController
|
|
9
|
-
* @extends {IEditorController<ILengthUnitEditor>}
|
|
10
|
-
*/
|
|
11
|
-
export type ILengthUnitEditorController = IEditorController<ILengthUnitEditor>;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { IEditorBasic } from '../../form';
|
|
2
|
-
/**
|
|
3
|
-
* 编辑器控制器
|
|
4
|
-
*
|
|
5
|
-
* @author zhanghanrui
|
|
6
|
-
* @date 2024-04-02 13:04:35
|
|
7
|
-
* @export
|
|
8
|
-
* @interface IEditorController
|
|
9
|
-
*/
|
|
10
|
-
export interface IEditorController<M extends IEditorBasic = IEditorBasic> {
|
|
11
|
-
/**
|
|
12
|
-
* 编辑器模型
|
|
13
|
-
*
|
|
14
|
-
* @author zhanghanrui
|
|
15
|
-
* @date 2024-04-02 13:04:51
|
|
16
|
-
* @type {IEditorBasic}
|
|
17
|
-
*/
|
|
18
|
-
readonly model: M;
|
|
19
|
-
}
|