@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
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { RoleEnum } from '../enums';
|
|
2
|
+
type AuthFn = (key: string) => boolean;
|
|
3
|
+
type AuthKey = string | RoleEnum | undefined;
|
|
4
|
+
declare class InterceptorManager {
|
|
5
|
+
private handlers;
|
|
6
|
+
use(handler: AuthFn): void;
|
|
7
|
+
getHandlers(): AuthFn[];
|
|
8
|
+
}
|
|
9
|
+
declare class PermissionCenter {
|
|
10
|
+
interceptors: InterceptorManager;
|
|
11
|
+
constructor();
|
|
12
|
+
/**兜底基础权限 */
|
|
13
|
+
private baseCheck;
|
|
14
|
+
/**角色权限控制 */
|
|
15
|
+
private checkRole;
|
|
16
|
+
has(key: AuthKey): boolean;
|
|
17
|
+
}
|
|
18
|
+
export declare const permission: PermissionCenter;
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
class InterceptorManager {
|
|
2
|
+
handlers = [];
|
|
3
|
+
use(handler) {
|
|
4
|
+
this.handlers.push(handler);
|
|
5
|
+
}
|
|
6
|
+
getHandlers() {
|
|
7
|
+
return this.handlers;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
class PermissionCenter {
|
|
11
|
+
interceptors = new InterceptorManager();
|
|
12
|
+
constructor() {
|
|
13
|
+
this.interceptors.use(this.checkRole);
|
|
14
|
+
}
|
|
15
|
+
/**兜底基础权限 */
|
|
16
|
+
baseCheck(key) {
|
|
17
|
+
console.log(key);
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
20
|
+
/**角色权限控制 */
|
|
21
|
+
checkRole() {
|
|
22
|
+
return true;
|
|
23
|
+
}
|
|
24
|
+
has(key) {
|
|
25
|
+
if (!key) return true;
|
|
26
|
+
const handlers = this.interceptors.getHandlers();
|
|
27
|
+
for (const handler of handlers) {
|
|
28
|
+
const result = handler(key);
|
|
29
|
+
if (result === false) {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return this.baseCheck(key);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
const permission = new PermissionCenter();
|
|
37
|
+
|
|
38
|
+
export { permission };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export declare class Uploader {
|
|
2
|
+
static getFiles({ multiple, acceptList, }: {
|
|
3
|
+
multiple: boolean;
|
|
4
|
+
acceptList?: string;
|
|
5
|
+
}): Promise<File[]>;
|
|
6
|
+
static beforeUploadFun(file: File, { maxSize, acceptList, beforeUpload, }: {
|
|
7
|
+
maxSize: number;
|
|
8
|
+
acceptList: string[];
|
|
9
|
+
beforeUpload?: (file: File) => Promise<unknown>;
|
|
10
|
+
}): Promise<undefined>;
|
|
11
|
+
static uploadByFile(file: File, isApp?: boolean, modelKey?: string): Promise<string>;
|
|
12
|
+
static toBase64(file: File): Promise<unknown>;
|
|
13
|
+
/**
|
|
14
|
+
* 图片压缩转Base64
|
|
15
|
+
*/
|
|
16
|
+
static compressToBase64(file: File, { quality, scale }?: {
|
|
17
|
+
quality?: number | undefined;
|
|
18
|
+
scale?: number | undefined;
|
|
19
|
+
}): Promise<unknown>;
|
|
20
|
+
}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
class Uploader {
|
|
2
|
+
static getFiles({
|
|
3
|
+
multiple,
|
|
4
|
+
acceptList
|
|
5
|
+
}) {
|
|
6
|
+
const input = document.createElement("input");
|
|
7
|
+
input.type = "file";
|
|
8
|
+
input.multiple = !!multiple;
|
|
9
|
+
input.accept = acceptList || "*";
|
|
10
|
+
input.click();
|
|
11
|
+
return new Promise((resolve, reject) => {
|
|
12
|
+
input.onchange = async () => {
|
|
13
|
+
const filelist = input.files || [];
|
|
14
|
+
resolve(Object.values(filelist));
|
|
15
|
+
};
|
|
16
|
+
input.onerror = async () => {
|
|
17
|
+
reject();
|
|
18
|
+
};
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
static async beforeUploadFun(file, {
|
|
22
|
+
maxSize = 5,
|
|
23
|
+
acceptList = [],
|
|
24
|
+
beforeUpload
|
|
25
|
+
}) {
|
|
26
|
+
if (file.name.indexOf(",") > -1) {
|
|
27
|
+
return Promise.reject(`文件名不能有逗号`);
|
|
28
|
+
}
|
|
29
|
+
if (beforeUpload) {
|
|
30
|
+
await beforeUpload(file);
|
|
31
|
+
}
|
|
32
|
+
const fileSize = file.size / 1024 / 1024;
|
|
33
|
+
if (fileSize > maxSize) {
|
|
34
|
+
return Promise.reject(`【${file.name}】文件大小不能超过 ${maxSize}MB`);
|
|
35
|
+
}
|
|
36
|
+
if (acceptList.length) {
|
|
37
|
+
const filename = file?.name?.replaceAll(" ", "")?.match(/\.([A-Za-z0-9]+)$/)?.at(-1);
|
|
38
|
+
if (!acceptList.includes(`.${filename?.toLocaleLowerCase()}`)) {
|
|
39
|
+
return Promise.reject(
|
|
40
|
+
`【${file.name}】支持的扩展名为${acceptList.join(" ")}`
|
|
41
|
+
);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
static async uploadByFile(file, isApp = false, modelKey) {
|
|
46
|
+
const formData = new FormData();
|
|
47
|
+
formData.append("file", file, file.name);
|
|
48
|
+
const http = isApp ? appUploadapis : passUploadapis;
|
|
49
|
+
const path = await http(formData, modelKey);
|
|
50
|
+
return "/" + path;
|
|
51
|
+
}
|
|
52
|
+
static toBase64(file) {
|
|
53
|
+
return new Promise((resolve, reject) => {
|
|
54
|
+
const reader = new FileReader();
|
|
55
|
+
reader.onloadend = function() {
|
|
56
|
+
resolve(reader.result);
|
|
57
|
+
};
|
|
58
|
+
reader.onerror = () => reject("转换失败");
|
|
59
|
+
if (file) {
|
|
60
|
+
reader.readAsDataURL(file);
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* 图片压缩转Base64
|
|
66
|
+
*/
|
|
67
|
+
static compressToBase64(file, { quality = 0.8, scale = 0.8 } = {}) {
|
|
68
|
+
return new Promise((resolve, reject) => {
|
|
69
|
+
if (!file.type.startsWith("image/")) {
|
|
70
|
+
reject("请选择图片文件");
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
if (typeof scale !== "number" || scale <= 0 || scale > 1) {
|
|
74
|
+
reject("缩放比例必须在0-1之间");
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
const reader = new FileReader();
|
|
78
|
+
reader.onload = (e) => {
|
|
79
|
+
const img = new Image();
|
|
80
|
+
img.onload = () => {
|
|
81
|
+
const width = Math.floor(img.width * scale);
|
|
82
|
+
const height = Math.floor(img.height * scale);
|
|
83
|
+
const canvas = document.createElement("canvas");
|
|
84
|
+
canvas.width = width;
|
|
85
|
+
canvas.height = height;
|
|
86
|
+
const ctx = canvas.getContext("2d");
|
|
87
|
+
ctx.imageSmoothingEnabled = true;
|
|
88
|
+
ctx.imageSmoothingQuality = "high";
|
|
89
|
+
ctx.drawImage(img, 0, 0, width, height);
|
|
90
|
+
resolve(canvas.toDataURL(file.type, quality));
|
|
91
|
+
};
|
|
92
|
+
img.onerror = () => reject("图片加载失败");
|
|
93
|
+
img.src = e.target?.result;
|
|
94
|
+
};
|
|
95
|
+
reader.onerror = () => reject("文件读取失败");
|
|
96
|
+
reader.readAsDataURL(file);
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
async function appUploadapis(formData, modelKey) {
|
|
101
|
+
return _api.apaas.fileResource.postUpload(
|
|
102
|
+
{ ...modelKey ? { modelKey } : {} },
|
|
103
|
+
formData,
|
|
104
|
+
{
|
|
105
|
+
headers: { "Content-Type": "multipart/form-data;charset=UTF-8" }
|
|
106
|
+
}
|
|
107
|
+
);
|
|
108
|
+
}
|
|
109
|
+
async function passUploadapis(formData) {
|
|
110
|
+
return _api.apaas.file.postUploadImage(
|
|
111
|
+
// TODO: 待修改
|
|
112
|
+
{ bucket: "IMAGE" },
|
|
113
|
+
formData,
|
|
114
|
+
{
|
|
115
|
+
headers: { "Content-Type": "multipart/form-data;charset=UTF-8" }
|
|
116
|
+
}
|
|
117
|
+
);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
export { Uploader };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const validateEmoji: (value: string) => boolean;
|
|
2
|
+
export declare const hasEmojiAndSpecStr: (value: string) => boolean;
|
|
3
|
+
export declare const hasEmojiAndSpecStr1: (value: string) => boolean;
|
|
4
|
+
export declare const validateModelName: (_rule: unknown, value: string) => Promise<void>;
|
|
5
|
+
export declare const validateIsModelName: (_rule: unknown, value: string) => Promise<void>;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { t } from './i18n/index.mjs';
|
|
2
|
+
|
|
3
|
+
const validateEmoji = (value) => {
|
|
4
|
+
const reg = /[\u{1F300}-\u{1F5FF}\u{1F600}-\u{1F64F}\u{1F680}-\u{1F6FF}\u{2600}-\u{26FF}\u{2700}-\u{27BF}]/gu;
|
|
5
|
+
const reg2 = /\u{1F91D}\u{1F3FB}-\u{1F3FF}/u;
|
|
6
|
+
return reg.test(value) || reg2.test(value);
|
|
7
|
+
};
|
|
8
|
+
const hasEmojiAndSpecStr = (value) => {
|
|
9
|
+
return validateEmoji(value) || /[*??::,,[\]【】#]/.test(value);
|
|
10
|
+
};
|
|
11
|
+
const hasEmojiAndSpecStr1 = (value) => {
|
|
12
|
+
return validateEmoji(value) || /[*??::,,[\]\\/【】#]/.test(value);
|
|
13
|
+
};
|
|
14
|
+
const validateModelName = (_rule, value) => {
|
|
15
|
+
if (hasEmojiAndSpecStr(value))
|
|
16
|
+
return Promise.reject(t("sys.model.modelNameError"));
|
|
17
|
+
return Promise.resolve();
|
|
18
|
+
};
|
|
19
|
+
const validateIsModelName = (_rule, value) => {
|
|
20
|
+
if (hasEmojiAndSpecStr1(value))
|
|
21
|
+
return Promise.reject(t("sys.model.notModelNameError"));
|
|
22
|
+
return Promise.resolve();
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export { hasEmojiAndSpecStr, hasEmojiAndSpecStr1, validateEmoji, validateIsModelName, validateModelName };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gct-paas/core",
|
|
3
|
-
"version": "0.1.4-dev.
|
|
3
|
+
"version": "0.1.4-dev.11",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "paas 平台核心包",
|
|
6
6
|
"main": "dist/index.min.cjs",
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
51
|
"@fingerprintjs/fingerprintjs": "^5.0.1",
|
|
52
|
-
"@gct-paas/api": "0.1.
|
|
52
|
+
"@gct-paas/api": "^0.1.1",
|
|
53
53
|
"@vueuse/core": "^14.1.0",
|
|
54
54
|
"async-validator": "^4.2.5",
|
|
55
55
|
"axios": "^1.13.2",
|
|
@@ -57,6 +57,7 @@
|
|
|
57
57
|
"js-sha256": "^0.11.1",
|
|
58
58
|
"lodash-es": "^4.17.23",
|
|
59
59
|
"mitt": "^3.0.1",
|
|
60
|
+
"mqtt": "^5.15.0",
|
|
60
61
|
"overlayscrollbars": "^2.14.0",
|
|
61
62
|
"path-browserify": "^1.0.1",
|
|
62
63
|
"pinia": "^3.0.4",
|
|
@@ -69,7 +70,7 @@
|
|
|
69
70
|
"wujie": "^1.0.29"
|
|
70
71
|
},
|
|
71
72
|
"devDependencies": {
|
|
72
|
-
"@gct-paas/build": "^0.1.5-dev.
|
|
73
|
+
"@gct-paas/build": "^0.1.5-dev.9",
|
|
73
74
|
"@types/lodash-es": "^4.17.12",
|
|
74
75
|
"@types/path-browserify": "^1.0.3",
|
|
75
76
|
"@types/qs": "^6.14.0",
|
|
@@ -85,5 +86,5 @@
|
|
|
85
86
|
"vite": "^7.3.1",
|
|
86
87
|
"vitest": "^4.0.18"
|
|
87
88
|
},
|
|
88
|
-
"gitHead": "
|
|
89
|
+
"gitHead": "6b0fd87c1a7799aa228f40b160e53a7358c25186"
|
|
89
90
|
}
|
|
@@ -1,244 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 编辑器类型
|
|
3
|
-
*
|
|
4
|
-
* @export
|
|
5
|
-
* @enum {number}
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* 编辑器类型
|
|
9
|
-
*
|
|
10
|
-
* @author zhanghanrui
|
|
11
|
-
* @date 2024-03-27 10:03:19
|
|
12
|
-
* @export
|
|
13
|
-
* @enum {number}
|
|
14
|
-
*/
|
|
15
|
-
export declare enum EditorType {
|
|
16
|
-
/**
|
|
17
|
-
* 带单位长度字符串编辑器
|
|
18
|
-
*/
|
|
19
|
-
LENGTH_UNIT = "length-unit",
|
|
20
|
-
/**
|
|
21
|
-
* 颜色选择编辑器
|
|
22
|
-
*/
|
|
23
|
-
COLOR = "color",
|
|
24
|
-
/**
|
|
25
|
-
* 纯文本展示编辑器
|
|
26
|
-
*/
|
|
27
|
-
SPAN = "span",
|
|
28
|
-
/**
|
|
29
|
-
* 文本编辑器
|
|
30
|
-
*/
|
|
31
|
-
TEXT = "text",
|
|
32
|
-
/**
|
|
33
|
-
* 数值编辑器
|
|
34
|
-
*/
|
|
35
|
-
NUMBER = "number",
|
|
36
|
-
/**
|
|
37
|
-
* 纯信息呈现
|
|
38
|
-
*/
|
|
39
|
-
INFO = "info",
|
|
40
|
-
/**
|
|
41
|
-
* 根据模型或者字段进行的纯信息展示
|
|
42
|
-
*/
|
|
43
|
-
MSG = "msg",
|
|
44
|
-
/**
|
|
45
|
-
* 下拉选择编辑器
|
|
46
|
-
*/
|
|
47
|
-
SELECT = "select",
|
|
48
|
-
/**
|
|
49
|
-
* 分组下拉选择编辑器
|
|
50
|
-
*/
|
|
51
|
-
SELECT_GROUP = "select-group",
|
|
52
|
-
/**
|
|
53
|
-
* 单选框编辑器
|
|
54
|
-
*/
|
|
55
|
-
RADIO = "radio",
|
|
56
|
-
/**
|
|
57
|
-
* 数据选择器编辑器
|
|
58
|
-
*/
|
|
59
|
-
PICKER = "picker",
|
|
60
|
-
/**
|
|
61
|
-
* 数据选择多选编辑器
|
|
62
|
-
*/
|
|
63
|
-
MULTIPLE_CHOICE = "multiple-choice",
|
|
64
|
-
/**
|
|
65
|
-
* 多语言选择编辑器
|
|
66
|
-
*/
|
|
67
|
-
I18N = "i18n",
|
|
68
|
-
/**
|
|
69
|
-
* 多行文本编辑器
|
|
70
|
-
*/
|
|
71
|
-
TEXTAREA = "textarea",
|
|
72
|
-
/**
|
|
73
|
-
* 日期时间范围选择编辑器
|
|
74
|
-
*/
|
|
75
|
-
DATE_RANGE = "date-range",
|
|
76
|
-
/**
|
|
77
|
-
* 开关组件
|
|
78
|
-
*/
|
|
79
|
-
SWITCH = "switch",
|
|
80
|
-
/**
|
|
81
|
-
* 选框类型开关
|
|
82
|
-
*/
|
|
83
|
-
CHECK_SWITCH = "check-switch",
|
|
84
|
-
/**
|
|
85
|
-
* 图标选择
|
|
86
|
-
*/
|
|
87
|
-
ICON_SELECT = "icon-select",
|
|
88
|
-
/**
|
|
89
|
-
* 复选框
|
|
90
|
-
*/
|
|
91
|
-
CHECKBOX = "checkbox",
|
|
92
|
-
/**
|
|
93
|
-
* 日期
|
|
94
|
-
*/
|
|
95
|
-
DATE = "date",
|
|
96
|
-
/**
|
|
97
|
-
* 平台模型选择
|
|
98
|
-
*/
|
|
99
|
-
MODEL_SELECT = "model-select",
|
|
100
|
-
/**
|
|
101
|
-
* 按钮行为
|
|
102
|
-
*/
|
|
103
|
-
ACTION = "action",
|
|
104
|
-
/**
|
|
105
|
-
* 表格编辑器
|
|
106
|
-
*/
|
|
107
|
-
TABLE = "table",
|
|
108
|
-
/**
|
|
109
|
-
* 表格选择编辑器
|
|
110
|
-
*/
|
|
111
|
-
SELECT_TABLE = "select-table",
|
|
112
|
-
/**
|
|
113
|
-
* 空显示
|
|
114
|
-
*/
|
|
115
|
-
EMPTY = "empty",
|
|
116
|
-
/**
|
|
117
|
-
* 表单模型字段选择编辑器
|
|
118
|
-
*/
|
|
119
|
-
FORM_MODEL_FIELD_SELECT = "form-model-field-select",
|
|
120
|
-
/**
|
|
121
|
-
* 像素模式配置
|
|
122
|
-
*/
|
|
123
|
-
PIXEL_CONFIG = "pixel-config",
|
|
124
|
-
/**
|
|
125
|
-
* 界面配置中,属性配置的基本信息
|
|
126
|
-
*/
|
|
127
|
-
FIELD_INFO = "field-info",
|
|
128
|
-
/**
|
|
129
|
-
* 日期与日期时间类型的格式化选择编辑器
|
|
130
|
-
*/
|
|
131
|
-
DATE_FORMAT_SELECT = "date-format-select",
|
|
132
|
-
/**
|
|
133
|
-
* 公式编辑器
|
|
134
|
-
*/
|
|
135
|
-
FORMULA = "formula"
|
|
136
|
-
}
|
|
137
|
-
/**
|
|
138
|
-
* 旧编辑器类型标识
|
|
139
|
-
*
|
|
140
|
-
* @export
|
|
141
|
-
* @enum {number}
|
|
142
|
-
*/
|
|
143
|
-
export declare enum EditorTypeOld {
|
|
144
|
-
/**
|
|
145
|
-
* 带单位长度字符串编辑器
|
|
146
|
-
*/
|
|
147
|
-
LENGTH_UNIT = "length-unit-editor",
|
|
148
|
-
/**
|
|
149
|
-
* 颜色选择编辑器
|
|
150
|
-
*/
|
|
151
|
-
COLOR = "color-editor",
|
|
152
|
-
/**
|
|
153
|
-
* 纯文本展示编辑器
|
|
154
|
-
*/
|
|
155
|
-
SPAN = "span-editor",
|
|
156
|
-
/**
|
|
157
|
-
* 文本编辑器
|
|
158
|
-
*/
|
|
159
|
-
TEXT = "text-editor",
|
|
160
|
-
/**
|
|
161
|
-
* 数值编辑器
|
|
162
|
-
*/
|
|
163
|
-
NUMBER = "number-editor",
|
|
164
|
-
/**
|
|
165
|
-
* 纯信息呈现
|
|
166
|
-
*/
|
|
167
|
-
INFO = "info-editor",
|
|
168
|
-
/**
|
|
169
|
-
* 下拉选择编辑器
|
|
170
|
-
*/
|
|
171
|
-
SELECT = "select-editor",
|
|
172
|
-
/**
|
|
173
|
-
* 下拉选择编辑器
|
|
174
|
-
*/
|
|
175
|
-
MODEL_SELECT = "model-editor",
|
|
176
|
-
/**
|
|
177
|
-
* 下拉字段编辑器
|
|
178
|
-
*/
|
|
179
|
-
Field_SELECT = "field-editor",
|
|
180
|
-
/**
|
|
181
|
-
* 单选框编辑器
|
|
182
|
-
*/
|
|
183
|
-
RADIO = "radio-editor",
|
|
184
|
-
/**
|
|
185
|
-
* 数据选择器编辑器
|
|
186
|
-
*/
|
|
187
|
-
PICKER = "picker-editor",
|
|
188
|
-
/**
|
|
189
|
-
* 多语言选择编辑器
|
|
190
|
-
*/
|
|
191
|
-
I18N = "i18n-editor",
|
|
192
|
-
/**
|
|
193
|
-
* 多行文本编辑器
|
|
194
|
-
*/
|
|
195
|
-
TEXTAREA = "textarea-editor",
|
|
196
|
-
/**
|
|
197
|
-
* 日期时间范围选择编辑器
|
|
198
|
-
*/
|
|
199
|
-
DATE_RANGE = "date-range-editor",
|
|
200
|
-
/**
|
|
201
|
-
* 开关组件
|
|
202
|
-
*/
|
|
203
|
-
SWITCH = "switch-editor",
|
|
204
|
-
/**
|
|
205
|
-
* 选框类型开关
|
|
206
|
-
*/
|
|
207
|
-
CHECK_SWITCH = "check-switch-editor",
|
|
208
|
-
/**
|
|
209
|
-
* 图标选择
|
|
210
|
-
*/
|
|
211
|
-
ICON_SELECT = "icon-select-editor",
|
|
212
|
-
/**
|
|
213
|
-
* 复选框
|
|
214
|
-
*/
|
|
215
|
-
CHECKBOX = "checkbox-editor",
|
|
216
|
-
/**
|
|
217
|
-
* 边距
|
|
218
|
-
*/
|
|
219
|
-
BORDER = "border-editor",
|
|
220
|
-
/**
|
|
221
|
-
* 边框圆角
|
|
222
|
-
*/
|
|
223
|
-
BORDER_RADIUS = "border-radius-editor",
|
|
224
|
-
/**
|
|
225
|
-
* 文本对齐方式
|
|
226
|
-
*/
|
|
227
|
-
ALIGN = "align-editor",
|
|
228
|
-
/**
|
|
229
|
-
* 字体样式
|
|
230
|
-
*/
|
|
231
|
-
FONT_STYLE = "font-style-editor",
|
|
232
|
-
/**
|
|
233
|
-
* 位置
|
|
234
|
-
*/
|
|
235
|
-
POSITION = "position-editor",
|
|
236
|
-
/**
|
|
237
|
-
* 间距
|
|
238
|
-
*/
|
|
239
|
-
SPACING = "spacing-editor",
|
|
240
|
-
/**
|
|
241
|
-
* 间距
|
|
242
|
-
*/
|
|
243
|
-
MARGIN = "margin-editor"
|
|
244
|
-
}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
var EditorType = /* @__PURE__ */ ((EditorType2) => {
|
|
2
|
-
EditorType2["LENGTH_UNIT"] = "length-unit";
|
|
3
|
-
EditorType2["COLOR"] = "color";
|
|
4
|
-
EditorType2["SPAN"] = "span";
|
|
5
|
-
EditorType2["TEXT"] = "text";
|
|
6
|
-
EditorType2["NUMBER"] = "number";
|
|
7
|
-
EditorType2["INFO"] = "info";
|
|
8
|
-
EditorType2["MSG"] = "msg";
|
|
9
|
-
EditorType2["SELECT"] = "select";
|
|
10
|
-
EditorType2["SELECT_GROUP"] = "select-group";
|
|
11
|
-
EditorType2["RADIO"] = "radio";
|
|
12
|
-
EditorType2["PICKER"] = "picker";
|
|
13
|
-
EditorType2["MULTIPLE_CHOICE"] = "multiple-choice";
|
|
14
|
-
EditorType2["I18N"] = "i18n";
|
|
15
|
-
EditorType2["TEXTAREA"] = "textarea";
|
|
16
|
-
EditorType2["DATE_RANGE"] = "date-range";
|
|
17
|
-
EditorType2["SWITCH"] = "switch";
|
|
18
|
-
EditorType2["CHECK_SWITCH"] = "check-switch";
|
|
19
|
-
EditorType2["ICON_SELECT"] = "icon-select";
|
|
20
|
-
EditorType2["CHECKBOX"] = "checkbox";
|
|
21
|
-
EditorType2["DATE"] = "date";
|
|
22
|
-
EditorType2["MODEL_SELECT"] = "model-select";
|
|
23
|
-
EditorType2["ACTION"] = "action";
|
|
24
|
-
EditorType2["TABLE"] = "table";
|
|
25
|
-
EditorType2["SELECT_TABLE"] = "select-table";
|
|
26
|
-
EditorType2["EMPTY"] = "empty";
|
|
27
|
-
EditorType2["FORM_MODEL_FIELD_SELECT"] = "form-model-field-select";
|
|
28
|
-
EditorType2["PIXEL_CONFIG"] = "pixel-config";
|
|
29
|
-
EditorType2["FIELD_INFO"] = "field-info";
|
|
30
|
-
EditorType2["DATE_FORMAT_SELECT"] = "date-format-select";
|
|
31
|
-
EditorType2["FORMULA"] = "formula";
|
|
32
|
-
return EditorType2;
|
|
33
|
-
})(EditorType || {});
|
|
34
|
-
var EditorTypeOld = /* @__PURE__ */ ((EditorTypeOld2) => {
|
|
35
|
-
EditorTypeOld2["LENGTH_UNIT"] = "length-unit-editor";
|
|
36
|
-
EditorTypeOld2["COLOR"] = "color-editor";
|
|
37
|
-
EditorTypeOld2["SPAN"] = "span-editor";
|
|
38
|
-
EditorTypeOld2["TEXT"] = "text-editor";
|
|
39
|
-
EditorTypeOld2["NUMBER"] = "number-editor";
|
|
40
|
-
EditorTypeOld2["INFO"] = "info-editor";
|
|
41
|
-
EditorTypeOld2["SELECT"] = "select-editor";
|
|
42
|
-
EditorTypeOld2["MODEL_SELECT"] = "model-editor";
|
|
43
|
-
EditorTypeOld2["Field_SELECT"] = "field-editor";
|
|
44
|
-
EditorTypeOld2["RADIO"] = "radio-editor";
|
|
45
|
-
EditorTypeOld2["PICKER"] = "picker-editor";
|
|
46
|
-
EditorTypeOld2["I18N"] = "i18n-editor";
|
|
47
|
-
EditorTypeOld2["TEXTAREA"] = "textarea-editor";
|
|
48
|
-
EditorTypeOld2["DATE_RANGE"] = "date-range-editor";
|
|
49
|
-
EditorTypeOld2["SWITCH"] = "switch-editor";
|
|
50
|
-
EditorTypeOld2["CHECK_SWITCH"] = "check-switch-editor";
|
|
51
|
-
EditorTypeOld2["ICON_SELECT"] = "icon-select-editor";
|
|
52
|
-
EditorTypeOld2["CHECKBOX"] = "checkbox-editor";
|
|
53
|
-
EditorTypeOld2["BORDER"] = "border-editor";
|
|
54
|
-
EditorTypeOld2["BORDER_RADIUS"] = "border-radius-editor";
|
|
55
|
-
EditorTypeOld2["ALIGN"] = "align-editor";
|
|
56
|
-
EditorTypeOld2["FONT_STYLE"] = "font-style-editor";
|
|
57
|
-
EditorTypeOld2["POSITION"] = "position-editor";
|
|
58
|
-
EditorTypeOld2["SPACING"] = "spacing-editor";
|
|
59
|
-
EditorTypeOld2["MARGIN"] = "margin-editor";
|
|
60
|
-
return EditorTypeOld2;
|
|
61
|
-
})(EditorTypeOld || {});
|
|
62
|
-
|
|
63
|
-
export { EditorType, EditorTypeOld };
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { IEditForm, IEditFormController } from '../../interface';
|
|
2
|
-
import { GctFormController } from '../gct-form/gct-form.controller';
|
|
3
|
-
/**
|
|
4
|
-
* 编辑表单控制器
|
|
5
|
-
*
|
|
6
|
-
* @author zhanghanrui
|
|
7
|
-
* @date 2024-04-01 18:04:45
|
|
8
|
-
* @export
|
|
9
|
-
* @class EditFormController
|
|
10
|
-
* @extends {GctFormController}
|
|
11
|
-
* @implements {IEditFormController}
|
|
12
|
-
*/
|
|
13
|
-
export declare class EditFormController extends GctFormController implements IEditFormController {
|
|
14
|
-
model: IEditForm;
|
|
15
|
-
protected initEvent(): void;
|
|
16
|
-
autoSave(): Promise<IData>;
|
|
17
|
-
save(): Promise<IData>;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* 获取编辑表单控制器实例
|
|
21
|
-
*
|
|
22
|
-
* @author zhanghanrui
|
|
23
|
-
* @date 2024-04-01 18:04:13
|
|
24
|
-
* @export
|
|
25
|
-
* @param {IEditForm} model
|
|
26
|
-
* @return {*} {EditFormController}
|
|
27
|
-
*/
|
|
28
|
-
export declare function useEditFormController(fn: () => EditFormController): EditFormController;
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { reactive, onUnmounted } from 'vue';
|
|
2
|
-
import { GctFormController } from '../gct-form/gct-form.controller.mjs';
|
|
3
|
-
|
|
4
|
-
class EditFormController extends GctFormController {
|
|
5
|
-
initEvent() {
|
|
6
|
-
super.initEvent();
|
|
7
|
-
this.evt.on("change", (key, val, oldVal) => {
|
|
8
|
-
if (this.model.watch) {
|
|
9
|
-
const fun = this.model.watch[key];
|
|
10
|
-
if (fun) {
|
|
11
|
-
fun(this, val, oldVal);
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
const item = this.item[key];
|
|
15
|
-
if (item && item.model.watch) {
|
|
16
|
-
item.model.watch(this, item, val, oldVal);
|
|
17
|
-
}
|
|
18
|
-
if (val != oldVal) {
|
|
19
|
-
this.calcHidden();
|
|
20
|
-
}
|
|
21
|
-
if (this.model.autosave === true && this.state.loading === false) {
|
|
22
|
-
this.autoSave();
|
|
23
|
-
}
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
autoSave() {
|
|
27
|
-
return this.save();
|
|
28
|
-
}
|
|
29
|
-
save() {
|
|
30
|
-
const data = this.getData();
|
|
31
|
-
if (this.state.isNew === true && this.model.newRequest) {
|
|
32
|
-
return this.model.newRequest(data);
|
|
33
|
-
}
|
|
34
|
-
if (this.model.updateRequest) {
|
|
35
|
-
return this.model.updateRequest({ id: this.context.id }, data);
|
|
36
|
-
}
|
|
37
|
-
return Promise.resolve(data);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
function useEditFormController(fn) {
|
|
41
|
-
const c = fn();
|
|
42
|
-
c.state = reactive(c.state);
|
|
43
|
-
onUnmounted(() => c.destroy());
|
|
44
|
-
return c;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
export { EditFormController, useEditFormController };
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { EditorController } from '../editor-item/editor-item.controller';
|
|
2
|
-
import { IColorEditor, IColorEditorController } from '../../interface';
|
|
3
|
-
/**
|
|
4
|
-
* 颜色选择编辑器
|
|
5
|
-
* @author lingxiaoming
|
|
6
|
-
* @date 2024-07-17 06:03:56
|
|
7
|
-
* @export
|
|
8
|
-
* @class ColorController
|
|
9
|
-
* @extends {EditorController<IColorEditor>}
|
|
10
|
-
* @implements {IColorEditorController}
|
|
11
|
-
*/
|
|
12
|
-
export declare class ColorEditorController extends EditorController<IColorEditor> implements IColorEditorController {
|
|
13
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { EditorController } from '../editor-item/editor-item.controller';
|
|
2
|
-
import { ILengthUnitEditor, ILengthUnitEditorController } from '../../interface';
|
|
3
|
-
/**
|
|
4
|
-
* 带单位长度字符串编辑器
|
|
5
|
-
* @author lingxiaoming
|
|
6
|
-
* @date 2024-07-17 06:03:56
|
|
7
|
-
* @export
|
|
8
|
-
* @class LengthUnitController
|
|
9
|
-
* @extends {EditorController<ILengthUnitEditor>}
|
|
10
|
-
* @implements {ILengthUnitEditorController}
|
|
11
|
-
*/
|
|
12
|
-
export declare class LengthUnitEditorController extends EditorController<ILengthUnitEditor> implements ILengthUnitEditorController {
|
|
13
|
-
}
|