clickgo 3.0.0-dev
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/LICENSE +201 -0
- package/README.md +75 -0
- package/dist/app/demo/config.json +106 -0
- package/dist/app/demo/form/control/block/block.css +1 -0
- package/dist/app/demo/form/control/block/block.scss +17 -0
- package/dist/app/demo/form/control/block/block.xml +7 -0
- package/dist/app/demo/form/control/button/button.css +1 -0
- package/dist/app/demo/form/control/button/button.js +27 -0
- package/dist/app/demo/form/control/button/button.scss +18 -0
- package/dist/app/demo/form/control/button/button.xml +126 -0
- package/dist/app/demo/form/control/check/check.js +12 -0
- package/dist/app/demo/form/control/check/check.xml +13 -0
- package/dist/app/demo/form/control/dialog/dialog.js +8 -0
- package/dist/app/demo/form/control/dialog/dialog.xml +26 -0
- package/dist/app/demo/form/control/file/file.js +23 -0
- package/dist/app/demo/form/control/file/file.xml +25 -0
- package/dist/app/demo/form/control/form/form.css +1 -0
- package/dist/app/demo/form/control/form/form.js +38 -0
- package/dist/app/demo/form/control/form/form.scss +9 -0
- package/dist/app/demo/form/control/form/form.xml +28 -0
- package/dist/app/demo/form/control/greatview/greatview.css +1 -0
- package/dist/app/demo/form/control/greatview/greatview.js +92 -0
- package/dist/app/demo/form/control/greatview/greatview.scss +22 -0
- package/dist/app/demo/form/control/greatview/greatview.xml +89 -0
- package/dist/app/demo/form/control/img/img.xml +16 -0
- package/dist/app/demo/form/control/label/label.xml +11 -0
- package/dist/app/demo/form/control/list/list.css +1 -0
- package/dist/app/demo/form/control/list/list.js +194 -0
- package/dist/app/demo/form/control/list/list.scss +7 -0
- package/dist/app/demo/form/control/list/list.xml +91 -0
- package/dist/app/demo/form/control/loading/loading.xml +8 -0
- package/dist/app/demo/form/control/marquee/marquee.js +30 -0
- package/dist/app/demo/form/control/marquee/marquee.xml +36 -0
- package/dist/app/demo/form/control/menu/menu.js +8 -0
- package/dist/app/demo/form/control/menu/menu.xml +122 -0
- package/dist/app/demo/form/control/monaco/monaco.js +113 -0
- package/dist/app/demo/form/control/monaco/monaco.xml +27 -0
- package/dist/app/demo/form/control/overflow/overflow.css +1 -0
- package/dist/app/demo/form/control/overflow/overflow.js +70 -0
- package/dist/app/demo/form/control/overflow/overflow.scss +18 -0
- package/dist/app/demo/form/control/overflow/overflow.xml +98 -0
- package/dist/app/demo/form/control/property/property.js +129 -0
- package/dist/app/demo/form/control/property/property.xml +6 -0
- package/dist/app/demo/form/control/radio/radio.js +7 -0
- package/dist/app/demo/form/control/radio/radio.xml +12 -0
- package/dist/app/demo/form/control/scroll/scroll.js +14 -0
- package/dist/app/demo/form/control/scroll/scroll.xml +35 -0
- package/dist/app/demo/form/control/select/select.js +91 -0
- package/dist/app/demo/form/control/select/select.xml +74 -0
- package/dist/app/demo/form/control/tab/tab.js +75 -0
- package/dist/app/demo/form/control/tab/tab.xml +22 -0
- package/dist/app/demo/form/control/text/text.js +53 -0
- package/dist/app/demo/form/control/text/text.xml +37 -0
- package/dist/app/demo/form/control/view/view.css +1 -0
- package/dist/app/demo/form/control/view/view.js +73 -0
- package/dist/app/demo/form/control/view/view.scss +18 -0
- package/dist/app/demo/form/control/view/view.xml +94 -0
- package/dist/app/demo/form/event/form/form.css +1 -0
- package/dist/app/demo/form/event/form/form.js +129 -0
- package/dist/app/demo/form/event/form/form.scss +24 -0
- package/dist/app/demo/form/event/form/form.xml +16 -0
- package/dist/app/demo/form/event/screen/screen.js +51 -0
- package/dist/app/demo/form/event/screen/screen.xml +9 -0
- package/dist/app/demo/form/event/task/task.js +78 -0
- package/dist/app/demo/form/event/task/task.xml +20 -0
- package/dist/app/demo/form/main.css +1 -0
- package/dist/app/demo/form/main.js +25 -0
- package/dist/app/demo/form/main.scss +9 -0
- package/dist/app/demo/form/main.xml +49 -0
- package/dist/app/demo/form/method/core/core.js +25 -0
- package/dist/app/demo/form/method/core/core.xml +7 -0
- package/dist/app/demo/form/method/dom/dom.css +1 -0
- package/dist/app/demo/form/method/dom/dom.js +163 -0
- package/dist/app/demo/form/method/dom/dom.scss +10 -0
- package/dist/app/demo/form/method/dom/dom.xml +55 -0
- package/dist/app/demo/form/method/form/form.css +1 -0
- package/dist/app/demo/form/method/form/form.js +217 -0
- package/dist/app/demo/form/method/form/form.scss +3 -0
- package/dist/app/demo/form/method/form/form.xml +56 -0
- package/dist/app/demo/form/method/form/test.xml +5 -0
- package/dist/app/demo/form/method/fs/fs.js +88 -0
- package/dist/app/demo/form/method/fs/fs.xml +8 -0
- package/dist/app/demo/form/method/fs/text.js +15 -0
- package/dist/app/demo/form/method/fs/text.xml +3 -0
- package/dist/app/demo/form/method/task/locale1.json +3 -0
- package/dist/app/demo/form/method/task/locale2.json +3 -0
- package/dist/app/demo/form/method/task/task.js +153 -0
- package/dist/app/demo/form/method/task/task.xml +57 -0
- package/dist/app/demo/form/method/theme/theme.js +74 -0
- package/dist/app/demo/form/method/theme/theme.xml +9 -0
- package/dist/app/demo/form/method/tool/tool.js +64 -0
- package/dist/app/demo/form/method/tool/tool.xml +26 -0
- package/dist/app/demo/form/method/zip/zip.js +99 -0
- package/dist/app/demo/form/method/zip/zip.xml +12 -0
- package/dist/app/demo/global.css +3 -0
- package/dist/app/demo/res/icon.svg +1 -0
- package/dist/app/demo/res/img.jpg +0 -0
- package/dist/app/demo/res/r-1.svg +1 -0
- package/dist/app/demo/res/r-2.svg +1 -0
- package/dist/app/demo/res/sql.svg +1 -0
- package/dist/app/demo/res/txt.svg +1 -0
- package/dist/app/demo/res/zip.svg +1 -0
- package/dist/app/task/config.json +29 -0
- package/dist/app/task/form/bar/bar.js +299 -0
- package/dist/app/task/form/bar/bar.xml +47 -0
- package/dist/app/task/form/desktop/desktop.xml +1 -0
- package/dist/app/task/locale/en.json +11 -0
- package/dist/app/task/locale/ja.json +11 -0
- package/dist/app/task/locale/sc.json +11 -0
- package/dist/app/task/locale/tc.json +11 -0
- package/dist/clickgo.js +41 -0
- package/dist/clickgo.ts +51 -0
- package/dist/control/common.cgc +0 -0
- package/dist/control/form.cgc +0 -0
- package/dist/control/monaco.cgc +0 -0
- package/dist/control/property.cgc +0 -0
- package/dist/control/task.cgc +0 -0
- package/dist/global.css +1 -0
- package/dist/icon.png +0 -0
- package/dist/index.js +88 -0
- package/dist/index.ts +92 -0
- package/dist/lib/control.js +365 -0
- package/dist/lib/control.ts +428 -0
- package/dist/lib/core.js +668 -0
- package/dist/lib/core.ts +732 -0
- package/dist/lib/dom.js +1471 -0
- package/dist/lib/dom.ts +1785 -0
- package/dist/lib/form.js +2101 -0
- package/dist/lib/form.ts +2496 -0
- package/dist/lib/fs.js +849 -0
- package/dist/lib/fs.ts +995 -0
- package/dist/lib/native.js +138 -0
- package/dist/lib/native.ts +219 -0
- package/dist/lib/task.js +686 -0
- package/dist/lib/task.ts +842 -0
- package/dist/lib/theme.js +159 -0
- package/dist/lib/theme.ts +196 -0
- package/dist/lib/tool.js +501 -0
- package/dist/lib/tool.ts +620 -0
- package/dist/lib/zip.js +352 -0
- package/dist/lib/zip.ts +434 -0
- package/dist/theme/familiar.cgt +0 -0
- package/package.json +27 -0
- package/types/dev.d.ts +30 -0
- package/types/index.d.ts +673 -0
package/dist/index.ts
ADDED
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
// --- 以下不会真正加载,最终会在底部进行赋值 ---
|
|
2
|
+
export let clickgo: typeof import('./clickgo');
|
|
3
|
+
export let control: typeof import('./lib/control');
|
|
4
|
+
export let core: typeof import('./lib/core');
|
|
5
|
+
export let dom: typeof import('./lib/dom');
|
|
6
|
+
export let form: typeof import('./lib/form');
|
|
7
|
+
export let fs: typeof import('./lib/fs');
|
|
8
|
+
export let native: typeof import('./lib/native');
|
|
9
|
+
export let task: typeof import('./lib/task');
|
|
10
|
+
export let theme: typeof import('./lib/theme');
|
|
11
|
+
export let tool: typeof import('./lib/tool');
|
|
12
|
+
export let zip: typeof import('./lib/zip');
|
|
13
|
+
|
|
14
|
+
export function getVersion(): string {
|
|
15
|
+
return clickgo.getVersion();
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export function getNative(): boolean {
|
|
19
|
+
return clickgo.getNative();
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export function setSafe(val: boolean): void {
|
|
23
|
+
clickgo.setSafe(val);
|
|
24
|
+
}
|
|
25
|
+
export function getSafe(): boolean {
|
|
26
|
+
return clickgo.getSafe();
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export function setCdn(val: string): void {
|
|
30
|
+
clickgo.setCdn(val);
|
|
31
|
+
}
|
|
32
|
+
export function getCdn(): string {
|
|
33
|
+
return clickgo.getCdn();
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export async function init(cdn: string = 'https://cdn.jsdelivr.net'): Promise<void> {
|
|
37
|
+
// --- 通过标签加载库 ---
|
|
38
|
+
const paths: string[] = [
|
|
39
|
+
cdn + '/npm/vue@3.2.31/dist/vue.global.min.js'
|
|
40
|
+
];
|
|
41
|
+
// --- 判断 ResizeObserver 是否存在 ---
|
|
42
|
+
let ro = true;
|
|
43
|
+
// ResizeObserver = undefined;
|
|
44
|
+
if (!((window as any).ResizeObserver)) {
|
|
45
|
+
ro = false;
|
|
46
|
+
paths.push(cdn + '/npm/@juggle/resize-observer@3.3.1/lib/exports/resize-observer.umd.min.js');
|
|
47
|
+
}
|
|
48
|
+
// --- 加载 vue 以及必要库 ---
|
|
49
|
+
await loader.loadScripts(paths);
|
|
50
|
+
// --- 处理 ResizeObserver ---
|
|
51
|
+
if (!ro) {
|
|
52
|
+
(window as any).ResizeObserverEntry = (window as any).ResizeObserver.ResizeObserverEntry;
|
|
53
|
+
(window as any).ResizeObserver = (window as any).ResizeObserver.ResizeObserver;
|
|
54
|
+
}
|
|
55
|
+
// --- map 加载库 ---
|
|
56
|
+
const map: Record<string, string> = {
|
|
57
|
+
'jszip': cdn + '/npm/jszip@3.10.0/dist/jszip.min'
|
|
58
|
+
};
|
|
59
|
+
// --- 加载 clickgo 主程序 ---
|
|
60
|
+
const after = '?' + Math.random().toString();
|
|
61
|
+
const files = await loader.sniffFiles('clickgo.js', {
|
|
62
|
+
'dir': __dirname + '/',
|
|
63
|
+
'after': after,
|
|
64
|
+
'afterIgnore': new RegExp('^' + cdn.replace(/\./g, '\\.')),
|
|
65
|
+
'map': map
|
|
66
|
+
});
|
|
67
|
+
const cg = loader.require('clickgo', files, {
|
|
68
|
+
'dir': __dirname + '/',
|
|
69
|
+
'map': map
|
|
70
|
+
})[0] as typeof import('../dist/clickgo');
|
|
71
|
+
cg.setCdn(cdn);
|
|
72
|
+
// --- 加载 clickgo 的 global css ---
|
|
73
|
+
try {
|
|
74
|
+
const style = await (await fetch(__dirname + '/global.css' + (!__dirname.startsWith(cdn) ? after : ''))).text();
|
|
75
|
+
document.getElementById('cg-global')?.insertAdjacentHTML('afterbegin', style);
|
|
76
|
+
}
|
|
77
|
+
catch {
|
|
78
|
+
alert(`ClickGo: "${__dirname}/global.css'" failed.`);
|
|
79
|
+
}
|
|
80
|
+
// --- 设置一些项目 ---
|
|
81
|
+
clickgo = cg;
|
|
82
|
+
control = cg.control;
|
|
83
|
+
core = cg.core;
|
|
84
|
+
dom = cg.dom;
|
|
85
|
+
form = cg.form;
|
|
86
|
+
fs = cg.fs;
|
|
87
|
+
native = cg.native;
|
|
88
|
+
task = cg.task;
|
|
89
|
+
theme = cg.theme;
|
|
90
|
+
tool = cg.tool;
|
|
91
|
+
zip = cg.zip;
|
|
92
|
+
}
|
|
@@ -0,0 +1,365 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.init = exports.read = void 0;
|
|
13
|
+
const core = require("./core");
|
|
14
|
+
const zip = require("./zip");
|
|
15
|
+
const tool = require("./tool");
|
|
16
|
+
const task = require("./task");
|
|
17
|
+
const dom = require("./dom");
|
|
18
|
+
const form = require("./form");
|
|
19
|
+
function read(blob) {
|
|
20
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
21
|
+
const z = yield zip.get(blob);
|
|
22
|
+
if (!z) {
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
const controlPkg = {};
|
|
26
|
+
let controlProcessed = 0;
|
|
27
|
+
const controls = z.readDir();
|
|
28
|
+
yield new Promise(function (resolve) {
|
|
29
|
+
const controlCb = function () {
|
|
30
|
+
++controlProcessed;
|
|
31
|
+
if (controlProcessed < controls.length) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
resolve();
|
|
35
|
+
};
|
|
36
|
+
for (const control of controls) {
|
|
37
|
+
if (control.isFile) {
|
|
38
|
+
controlCb();
|
|
39
|
+
continue;
|
|
40
|
+
}
|
|
41
|
+
z.getContent('/' + control.name + '/config.json').then(function (configContent) {
|
|
42
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
43
|
+
if (!configContent) {
|
|
44
|
+
controlCb();
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
const config = JSON.parse(configContent);
|
|
48
|
+
const files = {};
|
|
49
|
+
const filesLength = Object.keys(config.files).length;
|
|
50
|
+
let fileLoadedLength = 0;
|
|
51
|
+
yield new Promise(function (resolve) {
|
|
52
|
+
const loadedCb = function () {
|
|
53
|
+
++fileLoadedLength;
|
|
54
|
+
if (fileLoadedLength < filesLength) {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
resolve();
|
|
58
|
+
};
|
|
59
|
+
for (const file of config.files) {
|
|
60
|
+
const mime = tool.getMimeByPath(file);
|
|
61
|
+
if (['txt', 'json', 'js', 'css', 'xml', 'html'].includes(mime.ext)) {
|
|
62
|
+
z.getContent('/' + control.name + file, 'string').then(function (fab) {
|
|
63
|
+
if (!fab) {
|
|
64
|
+
loadedCb();
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
files[file] = fab.replace(/^\ufeff/, '');
|
|
68
|
+
loadedCb();
|
|
69
|
+
}).catch(function () {
|
|
70
|
+
loadedCb();
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
z.getContent('/' + control.name + file, 'arraybuffer').then(function (fab) {
|
|
75
|
+
if (!fab) {
|
|
76
|
+
loadedCb();
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
files[file] = new Blob([fab], {
|
|
80
|
+
'type': mime.mime
|
|
81
|
+
});
|
|
82
|
+
loadedCb();
|
|
83
|
+
}).catch(function () {
|
|
84
|
+
loadedCb();
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
controlPkg[control.name] = {
|
|
90
|
+
'type': 'control',
|
|
91
|
+
'config': config,
|
|
92
|
+
'files': files
|
|
93
|
+
};
|
|
94
|
+
controlCb();
|
|
95
|
+
});
|
|
96
|
+
}).catch(function () {
|
|
97
|
+
controlCb();
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
return controlPkg;
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
exports.read = read;
|
|
105
|
+
function init(taskId, formId, path, preprocess, invoke) {
|
|
106
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
107
|
+
const t = task.list[taskId];
|
|
108
|
+
if (!t) {
|
|
109
|
+
return false;
|
|
110
|
+
}
|
|
111
|
+
const components = {};
|
|
112
|
+
for (let cpath of t.app.config.controls) {
|
|
113
|
+
if (!cpath.endsWith('.cgc')) {
|
|
114
|
+
cpath += '.cgc';
|
|
115
|
+
}
|
|
116
|
+
const control = t.controls.loaded[cpath];
|
|
117
|
+
if (!control) {
|
|
118
|
+
return false;
|
|
119
|
+
}
|
|
120
|
+
for (const name in control) {
|
|
121
|
+
const item = control[name];
|
|
122
|
+
let props = {};
|
|
123
|
+
let data = {};
|
|
124
|
+
let methods = {};
|
|
125
|
+
let computed = {};
|
|
126
|
+
let watch = {};
|
|
127
|
+
let beforeCreate = undefined;
|
|
128
|
+
let created = undefined;
|
|
129
|
+
let beforeMount = undefined;
|
|
130
|
+
let mounted = undefined;
|
|
131
|
+
let beforeUpdate = undefined;
|
|
132
|
+
let updated = undefined;
|
|
133
|
+
let beforeUnmount = undefined;
|
|
134
|
+
let unmounted = undefined;
|
|
135
|
+
let layout = '', prep = '';
|
|
136
|
+
if (t.controls.layout[name]) {
|
|
137
|
+
layout = t.controls.layout[name];
|
|
138
|
+
prep = t.controls.prep[name];
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
layout = item.files[item.config.layout + '.html'];
|
|
142
|
+
if (layout === undefined) {
|
|
143
|
+
return false;
|
|
144
|
+
}
|
|
145
|
+
layout = layout.replace(/^(<[a-zA-Z0-9-]+)( |>)/, '$1 data-cg-control-' + name + '$2');
|
|
146
|
+
const style = item.files[item.config.style + '.css'];
|
|
147
|
+
if (style) {
|
|
148
|
+
const r = tool.stylePrepend(style);
|
|
149
|
+
prep = r.prep;
|
|
150
|
+
dom.pushStyle(t.id, yield tool.styleUrl2DataUrl(item.config.style, r.style, item.files), 'control', name);
|
|
151
|
+
}
|
|
152
|
+
const prepList = [
|
|
153
|
+
'cg-theme-task' + t.id.toString() + '-' + name + '_'
|
|
154
|
+
];
|
|
155
|
+
if (prep !== '') {
|
|
156
|
+
prepList.push(prep);
|
|
157
|
+
}
|
|
158
|
+
layout = tool.layoutAddTagClassAndReTagName(layout, false);
|
|
159
|
+
layout = tool.layoutClassPrepend(layout, prepList);
|
|
160
|
+
if (layout.includes('<cg-')) {
|
|
161
|
+
layout = tool.layoutInsertAttr(layout, ':cg-focus=\'cgFocus\'', {
|
|
162
|
+
'include': [/^cg-.+/]
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
layout = tool.eventsAttrWrap(layout);
|
|
166
|
+
t.controls.layout[name] = layout;
|
|
167
|
+
t.controls.prep[name] = prep;
|
|
168
|
+
}
|
|
169
|
+
if (item.files[item.config.code + '.js']) {
|
|
170
|
+
item.files['/invoke/clickgo.js'] = `module.exports = invokeClickgo;`;
|
|
171
|
+
const expo = loader.require(item.config.code, item.files, {
|
|
172
|
+
'dir': '/',
|
|
173
|
+
'invoke': invoke,
|
|
174
|
+
'preprocess': preprocess,
|
|
175
|
+
'map': {
|
|
176
|
+
'clickgo': '/invoke/clickgo'
|
|
177
|
+
}
|
|
178
|
+
})[0];
|
|
179
|
+
if (expo) {
|
|
180
|
+
props = expo.props || {};
|
|
181
|
+
data = expo.data || {};
|
|
182
|
+
methods = expo.methods || {};
|
|
183
|
+
computed = expo.computed || {};
|
|
184
|
+
watch = expo.watch || {};
|
|
185
|
+
beforeCreate = expo.beforeCreate;
|
|
186
|
+
created = expo.created;
|
|
187
|
+
beforeMount = expo.beforeMount;
|
|
188
|
+
mounted = expo.mounted;
|
|
189
|
+
beforeUpdate = expo.beforeUpdate;
|
|
190
|
+
updated = expo.updated;
|
|
191
|
+
beforeUnmount = expo.beforeUnmount;
|
|
192
|
+
unmounted = expo.unmounted;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
props.cgFocus = {
|
|
196
|
+
'default': false
|
|
197
|
+
};
|
|
198
|
+
computed.taskId = {
|
|
199
|
+
get: function () {
|
|
200
|
+
return taskId;
|
|
201
|
+
},
|
|
202
|
+
set: function () {
|
|
203
|
+
form.notify({
|
|
204
|
+
'title': 'Error',
|
|
205
|
+
'content': `The control tries to modify the system variable "taskId".\nPath: ${this.cgPath}\nControl: ${name}`,
|
|
206
|
+
'type': 'danger'
|
|
207
|
+
});
|
|
208
|
+
return;
|
|
209
|
+
}
|
|
210
|
+
};
|
|
211
|
+
computed.controlName = {
|
|
212
|
+
get: function () {
|
|
213
|
+
return name;
|
|
214
|
+
},
|
|
215
|
+
set: function () {
|
|
216
|
+
form.notify({
|
|
217
|
+
'title': 'Error',
|
|
218
|
+
'content': `The control tries to modify the system variable "controlName".\nPath: ${this.cgPath}\nControl: ${name}`,
|
|
219
|
+
'type': 'danger'
|
|
220
|
+
});
|
|
221
|
+
return;
|
|
222
|
+
}
|
|
223
|
+
};
|
|
224
|
+
computed.cgPrep = {
|
|
225
|
+
get: function () {
|
|
226
|
+
return prep;
|
|
227
|
+
},
|
|
228
|
+
set: function () {
|
|
229
|
+
form.notify({
|
|
230
|
+
'title': 'Error',
|
|
231
|
+
'content': `The control tries to modify the system variable "cgPrep".\nPath: ${this.cgPath}\nControl: ${name}`,
|
|
232
|
+
'type': 'danger'
|
|
233
|
+
});
|
|
234
|
+
return;
|
|
235
|
+
}
|
|
236
|
+
};
|
|
237
|
+
computed.cgSlots = function () {
|
|
238
|
+
return (name = 'default') => {
|
|
239
|
+
const d = this.$slots[name];
|
|
240
|
+
if (!d) {
|
|
241
|
+
return [];
|
|
242
|
+
}
|
|
243
|
+
const slots = [];
|
|
244
|
+
const list = d();
|
|
245
|
+
for (const item of list) {
|
|
246
|
+
if (typeof item.type === 'symbol') {
|
|
247
|
+
for (const item2 of item.children) {
|
|
248
|
+
slots.push(item2);
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
else {
|
|
252
|
+
slots.push(item);
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
return slots;
|
|
256
|
+
};
|
|
257
|
+
};
|
|
258
|
+
computed.cgLocale = function () {
|
|
259
|
+
if (task.list[this.taskId].locale.lang === '') {
|
|
260
|
+
return core.config.locale;
|
|
261
|
+
}
|
|
262
|
+
return task.list[this.taskId].locale.lang;
|
|
263
|
+
};
|
|
264
|
+
computed.l = function () {
|
|
265
|
+
return (key, data) => {
|
|
266
|
+
var _a, _b, _c, _d, _e, _f;
|
|
267
|
+
if (data) {
|
|
268
|
+
return (_c = (_b = (_a = data[this.cgLocale]) === null || _a === void 0 ? void 0 : _a[key]) !== null && _b !== void 0 ? _b : data['en'][key]) !== null && _c !== void 0 ? _c : 'LocaleError';
|
|
269
|
+
}
|
|
270
|
+
else if (this.localeData) {
|
|
271
|
+
return (_f = (_e = (_d = this.localeData[this.cgLocale]) === null || _d === void 0 ? void 0 : _d[key]) !== null && _e !== void 0 ? _e : this.localeData['en'][key]) !== null && _f !== void 0 ? _f : 'LocaleError';
|
|
272
|
+
}
|
|
273
|
+
else {
|
|
274
|
+
return 'LocaleError';
|
|
275
|
+
}
|
|
276
|
+
};
|
|
277
|
+
};
|
|
278
|
+
computed.cgParentByName = function () {
|
|
279
|
+
return (controlName) => {
|
|
280
|
+
let parent = this.$parent;
|
|
281
|
+
while (true) {
|
|
282
|
+
if (!parent) {
|
|
283
|
+
return null;
|
|
284
|
+
}
|
|
285
|
+
if (parent.controlName === controlName) {
|
|
286
|
+
return parent;
|
|
287
|
+
}
|
|
288
|
+
parent = parent.$parent;
|
|
289
|
+
}
|
|
290
|
+
};
|
|
291
|
+
};
|
|
292
|
+
computed.formId = {
|
|
293
|
+
get: function () {
|
|
294
|
+
return formId;
|
|
295
|
+
},
|
|
296
|
+
set: function () {
|
|
297
|
+
form.notify({
|
|
298
|
+
'title': 'Error',
|
|
299
|
+
'content': `The control tries to modify the system variable "formId".\nPath: ${this.cgPath}\nControl: ${name}`,
|
|
300
|
+
'type': 'danger'
|
|
301
|
+
});
|
|
302
|
+
}
|
|
303
|
+
};
|
|
304
|
+
computed.cgPath = {
|
|
305
|
+
get: function () {
|
|
306
|
+
return path;
|
|
307
|
+
},
|
|
308
|
+
set: function () {
|
|
309
|
+
form.notify({
|
|
310
|
+
'title': 'Error',
|
|
311
|
+
'content': `The control tries to modify the system variable "cgPath".\nPath: ${this.cgPath}\nControl: ${name}`,
|
|
312
|
+
'type': 'danger'
|
|
313
|
+
});
|
|
314
|
+
}
|
|
315
|
+
};
|
|
316
|
+
methods.cgClassPrepend = function (cla) {
|
|
317
|
+
if (typeof cla !== 'string') {
|
|
318
|
+
return cla;
|
|
319
|
+
}
|
|
320
|
+
return `cg-theme-task${this.taskId}-${this.controlName}_${cla}${this.cgPrep ? (' ' + this.cgPrep + cla) : ''}`;
|
|
321
|
+
};
|
|
322
|
+
methods.cgAllowEvent = function (e) {
|
|
323
|
+
return dom.allowEvent(e);
|
|
324
|
+
};
|
|
325
|
+
components['cg-' + name] = {
|
|
326
|
+
'template': layout,
|
|
327
|
+
'props': props,
|
|
328
|
+
'data': function () {
|
|
329
|
+
return tool.clone(data);
|
|
330
|
+
},
|
|
331
|
+
'methods': methods,
|
|
332
|
+
'computed': computed,
|
|
333
|
+
'watch': watch,
|
|
334
|
+
'beforeCreate': beforeCreate,
|
|
335
|
+
'created': created,
|
|
336
|
+
'beforeMount': beforeMount,
|
|
337
|
+
'mounted': function () {
|
|
338
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
339
|
+
yield this.$nextTick();
|
|
340
|
+
mounted === null || mounted === void 0 ? void 0 : mounted.call(this);
|
|
341
|
+
});
|
|
342
|
+
},
|
|
343
|
+
'beforeUpdate': beforeUpdate,
|
|
344
|
+
'updated': function () {
|
|
345
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
346
|
+
yield this.$nextTick();
|
|
347
|
+
updated === null || updated === void 0 ? void 0 : updated.call(this);
|
|
348
|
+
});
|
|
349
|
+
},
|
|
350
|
+
'beforeUnmount': function () {
|
|
351
|
+
beforeUnmount === null || beforeUnmount === void 0 ? void 0 : beforeUnmount.call(this);
|
|
352
|
+
},
|
|
353
|
+
'unmounted': function () {
|
|
354
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
355
|
+
yield this.$nextTick();
|
|
356
|
+
unmounted === null || unmounted === void 0 ? void 0 : unmounted.call(this);
|
|
357
|
+
});
|
|
358
|
+
}
|
|
359
|
+
};
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
return components;
|
|
363
|
+
});
|
|
364
|
+
}
|
|
365
|
+
exports.init = init;
|