clickgo 3.1.2-dev11 → 3.1.3-dev12
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/app/demo/app.js +0 -73
- package/dist/app/demo/config.json +109 -0
- package/dist/app/demo/form/control/button/button.js +12 -11
- package/dist/app/demo/form/control/button/button.xml +6 -6
- package/dist/app/demo/form/control/check/check.js +14 -10
- package/dist/app/demo/form/control/file/file.js +15 -13
- package/dist/app/demo/form/control/{overflow/overflow.css → flow/flow.css} +0 -0
- package/dist/app/demo/form/control/flow/flow.js +64 -0
- package/dist/app/demo/form/control/{overflow/overflow.scss → flow/flow.scss} +0 -0
- package/dist/app/demo/form/control/flow/flow.xml +101 -0
- package/dist/app/demo/form/control/form/form.js +1 -1
- package/dist/app/demo/form/control/form/form.xml +3 -3
- package/dist/app/demo/form/control/img/img.xml +2 -2
- package/dist/app/demo/form/control/list/list.js +95 -75
- package/dist/app/demo/form/control/list/list.xml +15 -11
- package/dist/app/demo/form/control/marquee/marquee.js +12 -10
- package/dist/app/demo/form/control/menu/menu.js +10 -6
- package/dist/app/demo/form/control/monaco/monaco.js +50 -60
- package/dist/app/demo/form/control/monaco/monaco.xml +6 -5
- package/dist/app/demo/form/control/property/property.js +131 -127
- package/dist/app/demo/form/control/radio/radio.js +9 -5
- package/dist/app/demo/form/control/scroll/scroll.js +16 -12
- package/dist/app/demo/form/control/scroll/scroll.xml +10 -10
- package/dist/app/demo/form/control/select/select.js +132 -71
- package/dist/app/demo/form/control/select/select.xml +69 -67
- package/dist/app/demo/form/control/tab/tab.js +21 -20
- package/dist/app/demo/form/control/tab/tab.xml +2 -2
- package/dist/app/demo/form/control/text/text.js +53 -45
- package/dist/app/demo/form/control/text/text.xml +3 -3
- package/dist/app/demo/form/control/{greatview/greatview.css → vflow/vflow.css} +0 -0
- package/dist/app/demo/form/control/vflow/vflow.js +79 -0
- package/dist/app/demo/form/control/{greatview/greatview.scss → vflow/vflow.scss} +0 -0
- package/dist/app/demo/form/control/{greatview/greatview.xml → vflow/vflow.xml} +25 -25
- package/dist/app/demo/form/event/form/form.js +58 -56
- package/dist/app/demo/form/event/form/form.xml +3 -3
- package/dist/app/demo/form/event/screen/screen.js +30 -28
- package/dist/app/demo/form/event/screen/screen.xml +2 -2
- package/dist/app/demo/form/event/task/task.js +31 -31
- package/dist/app/demo/form/event/task/task.xml +3 -3
- package/dist/app/demo/form/main.js +161 -5
- package/dist/app/demo/form/main.xml +36 -35
- package/dist/app/demo/form/method/aform/aform.xml +3 -2
- package/dist/app/demo/form/method/core/core.js +11 -8
- package/dist/app/demo/form/method/core/core.xml +2 -1
- package/dist/app/demo/form/method/dom/dom.js +91 -99
- package/dist/app/demo/form/method/dom/dom.xml +6 -7
- package/dist/app/demo/form/method/form/form.js +8 -8
- package/dist/app/demo/form/method/form/form.xml +4 -4
- package/dist/app/demo/form/method/fs/fs.js +34 -33
- package/dist/app/demo/form/method/fs/fs.xml +1 -1
- package/dist/app/demo/form/method/fs/text.js +12 -12
- package/dist/app/demo/form/method/native/native.js +50 -0
- package/dist/app/demo/form/method/native/native.xml +12 -0
- package/dist/app/demo/form/method/system/system.js +50 -0
- package/dist/app/demo/form/method/system/system.xml +11 -0
- package/dist/app/demo/form/method/task/task.js +59 -61
- package/dist/app/demo/form/method/task/task.xml +4 -6
- package/dist/app/demo/form/method/theme/theme.js +14 -14
- package/dist/app/demo/form/method/tool/tool.js +29 -28
- package/dist/app/demo/form/method/tool/tool.xml +3 -3
- package/dist/app/demo/form/method/zip/zip.js +46 -41
- package/dist/app/demo/form/method/zip/zip.xml +1 -1
- package/dist/app/task/app.js +0 -25
- package/dist/app/task/config.json +29 -0
- package/dist/app/task/form/bar/bar.js +1 -1
- package/dist/app/task/form/bar/bar.xml +1 -1
- package/dist/clickgo.js +1 -1
- package/dist/clickgo.ts +1 -1
- 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 -1
- package/dist/index.js +3 -3
- package/dist/index.ts +3 -3
- package/dist/lib/control.js +70 -104
- package/dist/lib/control.ts +97 -123
- package/dist/lib/core.js +108 -252
- package/dist/lib/core.ts +122 -268
- package/dist/lib/dom.js +564 -483
- package/dist/lib/dom.ts +703 -546
- package/dist/lib/form.js +146 -138
- package/dist/lib/form.ts +108 -86
- package/dist/lib/fs.js +1 -1
- package/dist/lib/fs.ts +1 -1
- package/dist/lib/native.js +135 -8
- package/dist/lib/native.ts +175 -11
- package/dist/lib/task.js +294 -158
- package/dist/lib/task.ts +326 -172
- package/dist/lib/tool.js +48 -1
- package/dist/lib/tool.ts +61 -0
- package/dist/lib/zip.ts +2 -0
- package/dist/theme/familiar.cgt +0 -0
- package/package.json +1 -1
- package/types/index.d.ts +23 -24
- package/dist/app/demo/form/control/greatview/greatview.js +0 -92
- package/dist/app/demo/form/control/overflow/overflow.js +0 -70
- package/dist/app/demo/form/control/overflow/overflow.xml +0 -98
- package/dist/app/demo/form/control/view/view.css +0 -1
- package/dist/app/demo/form/control/view/view.js +0 -73
- package/dist/app/demo/form/control/view/view.scss +0 -18
- package/dist/app/demo/form/control/view/view.xml +0 -94
|
@@ -9,18 +9,22 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.methods = exports.data = void 0;
|
|
13
12
|
const clickgo = require("clickgo");
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
this
|
|
22
|
-
|
|
23
|
-
|
|
13
|
+
const text_1 = require("../fs/text");
|
|
14
|
+
class default_1 extends clickgo.form.AbstractForm {
|
|
15
|
+
constructor() {
|
|
16
|
+
super(...arguments);
|
|
17
|
+
this.ppath = '/';
|
|
18
|
+
this.list = [];
|
|
19
|
+
this.val = [];
|
|
20
|
+
this.access = {
|
|
21
|
+
'zip': undefined
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
select() {
|
|
25
|
+
this.refs.file.select();
|
|
26
|
+
}
|
|
27
|
+
change(files) {
|
|
24
28
|
return __awaiter(this, void 0, void 0, function* () {
|
|
25
29
|
if (!files) {
|
|
26
30
|
return;
|
|
@@ -30,51 +34,53 @@ exports.methods = {
|
|
|
30
34
|
yield clickgo.form.dialog('File failed to open.');
|
|
31
35
|
return;
|
|
32
36
|
}
|
|
33
|
-
this.zip = zip;
|
|
37
|
+
this.access.zip = zip;
|
|
34
38
|
this.open('/');
|
|
35
39
|
});
|
|
36
|
-
}
|
|
37
|
-
open
|
|
38
|
-
|
|
40
|
+
}
|
|
41
|
+
open(path) {
|
|
42
|
+
if (!this.access.zip) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
39
45
|
if (!path.endsWith('/')) {
|
|
40
46
|
path += '/';
|
|
41
47
|
}
|
|
42
48
|
this.list = [];
|
|
43
|
-
const ls = zip.readDir(path);
|
|
49
|
+
const ls = this.access.zip.readDir(path);
|
|
44
50
|
for (const item of ls) {
|
|
45
51
|
this.list.push({
|
|
46
52
|
'label': (item.isDirectory ? '[FOLD]' : '[FILE]') + ' ' + item.name,
|
|
47
53
|
'value': path + item.name
|
|
48
54
|
});
|
|
49
55
|
}
|
|
50
|
-
this.
|
|
51
|
-
}
|
|
52
|
-
dblclick
|
|
56
|
+
this.ppath = path;
|
|
57
|
+
}
|
|
58
|
+
dblclick() {
|
|
53
59
|
return __awaiter(this, void 0, void 0, function* () {
|
|
54
|
-
if (!this.zip) {
|
|
60
|
+
if (!this.access.zip) {
|
|
55
61
|
return;
|
|
56
62
|
}
|
|
57
|
-
const
|
|
58
|
-
const r = zip.isFile(this.val);
|
|
63
|
+
const r = this.access.zip.isFile(this.val[0]);
|
|
59
64
|
if (r) {
|
|
60
|
-
const extlio = this.val.lastIndexOf('.');
|
|
65
|
+
const extlio = this.val[0].lastIndexOf('.');
|
|
61
66
|
if (extlio === -1) {
|
|
62
67
|
yield clickgo.form.dialog('This extension is not supported.');
|
|
63
68
|
return;
|
|
64
69
|
}
|
|
65
|
-
const ext = this.val.toLowerCase().slice(extlio + 1);
|
|
70
|
+
const ext = this.val[0].toLowerCase().slice(extlio + 1);
|
|
66
71
|
if (['xml', 'js', 'ts', 'json', 'css', 'html', 'php'].includes(ext)) {
|
|
67
|
-
const content = yield zip.getContent(this.val);
|
|
72
|
+
const content = yield this.access.zip.getContent(this.val[0]);
|
|
68
73
|
if (!content) {
|
|
69
74
|
yield clickgo.form.dialog('This file cannot be opened.');
|
|
70
75
|
return;
|
|
71
76
|
}
|
|
72
|
-
const f = yield
|
|
77
|
+
const f = yield text_1.default.create();
|
|
73
78
|
if (typeof f === 'number') {
|
|
74
79
|
return;
|
|
75
80
|
}
|
|
76
|
-
|
|
77
|
-
|
|
81
|
+
f.show();
|
|
82
|
+
this.send(f.formId, {
|
|
83
|
+
'title': this.val[0].slice(this.val[0].lastIndexOf('/') + 1),
|
|
78
84
|
'content': content
|
|
79
85
|
});
|
|
80
86
|
return;
|
|
@@ -82,18 +88,17 @@ exports.methods = {
|
|
|
82
88
|
yield clickgo.form.dialog('This extension is not supported.');
|
|
83
89
|
return;
|
|
84
90
|
}
|
|
85
|
-
this.open(this.val);
|
|
86
|
-
});
|
|
87
|
-
},
|
|
88
|
-
up: function () {
|
|
89
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
90
|
-
if (this.path === '/') {
|
|
91
|
-
return;
|
|
92
|
-
}
|
|
93
|
-
const path = this.path.slice(0, -1);
|
|
94
|
-
const lif = path.lastIndexOf('/');
|
|
95
|
-
const npath = path.slice(0, lif + 1);
|
|
96
|
-
yield this.open(npath);
|
|
91
|
+
this.open(this.val[0]);
|
|
97
92
|
});
|
|
98
93
|
}
|
|
99
|
-
|
|
94
|
+
up() {
|
|
95
|
+
if (this.ppath === '/') {
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
const path = this.ppath.slice(0, -1);
|
|
99
|
+
const lif = path.lastIndexOf('/');
|
|
100
|
+
const npath = path.slice(0, lif + 1);
|
|
101
|
+
this.open(npath);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
exports.default = default_1;
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<file ref="file" @change="change" :accept="['zip', 'apk']"></file>
|
|
6
6
|
</button>
|
|
7
7
|
<label>Double click the item below:</label>
|
|
8
|
-
<block style="background: #000; color: #FFF; padding: 5px;">{{
|
|
8
|
+
<block style="background: #000; color: #FFF; padding: 5px;">{{ppath}}</block>
|
|
9
9
|
<list v-model="val" :data="list" @dblclick="dblclick" style="flex: 1; height: 0;"></list>
|
|
10
10
|
<button style="height: 30px;" @click="up">Up</button>
|
|
11
11
|
</layout>
|
package/dist/app/task/app.js
CHANGED
|
@@ -14,31 +14,6 @@ const bar_1 = require("./form/bar/bar");
|
|
|
14
14
|
class default_1 extends clickgo.core.AbstractApp {
|
|
15
15
|
main() {
|
|
16
16
|
return __awaiter(this, void 0, void 0, function* () {
|
|
17
|
-
yield this.config({
|
|
18
|
-
'name': 'Clickgo Task',
|
|
19
|
-
'ver': 1,
|
|
20
|
-
'version': '0.1',
|
|
21
|
-
'author': 'clickgo',
|
|
22
|
-
'controls': [
|
|
23
|
-
'/clickgo/control/common',
|
|
24
|
-
'/clickgo/control/form',
|
|
25
|
-
'/clickgo/control/task'
|
|
26
|
-
],
|
|
27
|
-
'locales': {
|
|
28
|
-
'/package/locale/sc': 'sc',
|
|
29
|
-
'/package/locale/tc': 'tc',
|
|
30
|
-
'/package/locale/en': 'en',
|
|
31
|
-
'/package/locale/ja': 'ja'
|
|
32
|
-
},
|
|
33
|
-
'files': [
|
|
34
|
-
'/form/bar/bar.xml',
|
|
35
|
-
'/form/desktop/desktop.xml',
|
|
36
|
-
'/locale/en.json',
|
|
37
|
-
'/locale/ja.json',
|
|
38
|
-
'/locale/sc.json',
|
|
39
|
-
'/locale/tc.json'
|
|
40
|
-
]
|
|
41
|
-
});
|
|
42
17
|
this.run(yield bar_1.default.create());
|
|
43
18
|
});
|
|
44
19
|
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Clickgo Task",
|
|
3
|
+
"ver": 1,
|
|
4
|
+
"version": "0.1",
|
|
5
|
+
"author": "clickgo",
|
|
6
|
+
|
|
7
|
+
"controls": [
|
|
8
|
+
"/clickgo/control/common",
|
|
9
|
+
"/clickgo/control/form",
|
|
10
|
+
"/clickgo/control/task"
|
|
11
|
+
],
|
|
12
|
+
"locales": {
|
|
13
|
+
"/package/locale/sc": "sc",
|
|
14
|
+
"/package/locale/tc": "tc",
|
|
15
|
+
"/package/locale/en": "en",
|
|
16
|
+
"/package/locale/ja": "ja"
|
|
17
|
+
},
|
|
18
|
+
|
|
19
|
+
"files": [
|
|
20
|
+
"/form/bar/bar.js",
|
|
21
|
+
"/form/bar/bar.xml",
|
|
22
|
+
"/form/desktop/desktop.xml",
|
|
23
|
+
"/locale/en.json",
|
|
24
|
+
"/locale/ja.json",
|
|
25
|
+
"/locale/sc.json",
|
|
26
|
+
"/locale/tc.json",
|
|
27
|
+
"/app.js"
|
|
28
|
+
]
|
|
29
|
+
}
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
<menulist-item @click="pin(appIndex)">
|
|
22
22
|
<block style="width: 16px; height: 16px;"></block><label style="margin-left: 10px;">{{app.pin ? l('unpin from taskbar') : l('pin to taskbar')}}</label>
|
|
23
23
|
</menulist-item>
|
|
24
|
-
<menulist-item v-if="app.formCount > 0" @click="
|
|
24
|
+
<menulist-item v-if="app.formCount > 0" @click="cclose(appIndex)">
|
|
25
25
|
<block style="width: 16px; height: 16px;"></block><label style="margin-left: 10px;">{{app.formCount > 1 ? l('close all windows') : l('close window')}}</label>
|
|
26
26
|
</menulist-item>
|
|
27
27
|
</menulist>
|
package/dist/clickgo.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.zip = exports.tool = exports.theme = exports.task = exports.native = exports.fs = exports.form = exports.dom = exports.core = exports.control = exports.vue = exports.hasFrame = exports.isImmersion = exports.getPlatform = exports.isNative = exports.getVersion = void 0;
|
|
4
|
-
const version = '3.
|
|
4
|
+
const version = '3.1.3';
|
|
5
5
|
function getVersion() {
|
|
6
6
|
return version;
|
|
7
7
|
}
|
package/dist/clickgo.ts
CHANGED
package/dist/control/common.cgc
CHANGED
|
Binary file
|
package/dist/control/form.cgc
CHANGED
|
Binary file
|
package/dist/control/monaco.cgc
CHANGED
|
Binary file
|
|
Binary file
|
package/dist/control/task.cgc
CHANGED
|
Binary file
|
package/dist/global.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
#cg-wrap{
|
|
1
|
+
#cg-wrap{position:fixed;left:0;top:0;--cg:hsl(20, 100%, 65%);--success:hsl(150, 100%, 40%);--success-hover:hsl(150, 100%, 45%);--success-active:hsl(150, 100%, 30%);--success-focus:hsl(150, 100%, 35%);--success-disabled:hsl(150, 0%, 40%);--info:hsl(210, 100%, 50%);--info-hover:hsl(210, 100%, 60%);--info-active:hsl(210, 100%, 40%);--info-focus:hsl(210, 100%, 45%);--info-disabled:hsl(210, 0%, 50%);--warning:hsl(20, 100%, 70%);--warning-hover:hsl(20, 100%, 80%);--warning-active:hsl(20, 100%, 60%);--warning-focus:hsl(20, 100%, 65%);--warning-disabled:hsl(20, 0%, 70%);--danger:hsl(350, 100%, 50%);--danger-hover:hsl(350, 100%, 70%);--danger-active:hsl(350, 100%, 40%);--danger-focus:hsl(350, 100%, 45%);--danger-disabled:hsl(350, 0%, 50%);--system-color:hsl(0, 0%, 95%);--system-background:hsla(0, 0%, 0%, .5);--system-border-color:hsla(0, 0%, 100%, .2);--face:hsl(0, 0%, 95%);--g-color:hsl(0, 0%, 20%);--g-color-hover:hsl(0, 0%, 30%);--g-color-active:hsl(0, 0%, 10%);--g-color-focus:hsl(0, 0%, 15%);--g-color-disabled:hsl(0, 0%, 60%);--g-background:hsl(0, 0%, 95%);--g-background-hover:hsl(0, 0%, 100%);--g-background-active:hsl(0, 0%, 85%);--g-background-kp:hsl(0, 0%, 80%);--g-background-opacity:hsl(0, 0%, 50%, .2);--g-background-focus:hsl(0, 0%, 97.5%);--g-background-disabled:hsl(0, 0%, 75%);--g-border-color:hsl(0, 0%, 40%);--g-border-color-hover:hsl(0, 0%, 50%);--g-border-color-active:hsl(0, 0%, 30%);--g-border-color-focus:hsl(0, 0%, 35%);--g-border-color-disabled:hsl(0, 0%, 60%);--g-plain-color:var(--g-color);--g-plain-color-hover:var(--g-color-hover);--g-plain-color-active:var(--g-color-active);--g-plain-color-focus:var(--g-color-focus);--g-plain-color-disabled:var(--g-color-disabled);--g-plain-background:hsl(0, 0%, 100%);--g-plain-background-hover:hsl(0, 0%, 98%);--g-plain-background-active:hsl(0, 0%, 95%);--g-plain-background-focus:var(--g-plain-background);--g-plain-background-disabled:hsl(0, 0%, 95%);--g-plain-border-color:hsl(0, 0%, 70%);--g-plain-border-color-hover:hsl(0, 0%, 80%);--g-plain-border-color-active:hsl(0, 0%, 60%);--g-plain-border-color-focus:hsl(0, 0%, 65%);--g-plain-border-color-disabled:hsl(0, 0%, 60%)}#cg-form-list{z-index:20020000}#cg-pop-list{z-index:20020001}#cg-simpletask{z-index:20020002}#cg-rectangle{z-index:20020003;box-sizing:border-box;position:absolute;border-radius:3px;box-shadow:0 0 10px rgba(0,0,0,.25);background:rgba(255,255,255,.05);pointer-events:none;opacity:0}#cg-circular{z-index:20020003;box-sizing:border-box;position:absolute;border:solid 3px var(--cg);border-radius:50%;filter:drop-shadow(0 0 3px var(--cg));pointer-events:none;opacity:0}#cg-gesture{z-index:20020003;box-sizing:border-box;position:absolute;border-radius:50%;pointer-events:none;opacity:0;background:var(--system-background);box-shadow:0 5px 20px rgba(0,0,0,.25);transform:scale(0);width:20px;height:20px}#cg-gesture.done{background:rgba(255,255,255,.3);border:solid 3px rgba(0,0,0,.3)}#cg-gesture.ani{transition:all .1s ease-out;transition-property:left,top,transform}#cg-drag{z-index:20020003;box-sizing:border-box;position:absolute;border-radius:3px;pointer-events:none;background:var(--system-background);box-shadow:0 5px 20px rgba(0,0,0,.25);opacity:0;display:flex;justify-content:center;align-items:center}#cg-launcher{z-index:20020004;box-sizing:border-box;position:fixed;background:var(--system-background);-webkit-backdrop-filter:blur(30px) brightness(1.2);backdrop-filter:blur(30px) brightness(1.2);width:100%;height:100%;left:0;top:0;color:var(--system-color);display:none;flex-direction:column;transition:all .1s linear;transform:scale(1.2);opacity:0}#cg-launcher:not(.cg-show){pointer-events:none}#cg-launcher.cg-show{transform:scale(1);opacity:1}.cg-launcher-search{text-align:center;padding:50px}.cg-launcher-sinput{-webkit-appearance:none;appearance:none;padding:10px;height:38px;border:solid 1px var(--system-border-color);background:rgba(0,0,0,0);width:50%;border-radius:3px;color:var(--system-color)}.cg-launcher-sinput::placeholder{color:var(--system-border-color)}.cg-launcher-sinput::selection{background-color:var(--system-color);color:var(--g-color)}.cg-launcher-sinput:focus{outline:none;border-color:var(--system-color)}.cg-launcher-foldername{-webkit-appearance:none;appearance:none;height:38px;font-size:28px !important;border:none;background:rgba(0,0,0,0);width:50%;color:var(--system-color);text-align:center}.cg-launcher-foldername::selection{background-color:var(--system-color);color:var(--g-color)}.cg-launcher-foldername:focus{outline:none}.cg-launcher-item{width:190px;display:inline-flex;vertical-align:middle;margin-bottom:50px}.cg-launcher-inner{flex:1;width:0}.cg-launcher-icon{background-position:center;background-size:80px;height:80px;background-repeat:no-repeat}.cg-launcher-icon:active{filter:brightness(0.6)}.cg-launcher-name{font-size:13px;font-weight:bold;text-shadow:0 0 3px rgba(0,0,0,.6);text-align:center;margin-top:20px}.cg-launcher-icon,.cg-launcher-name{transition:all .1s linear;transition-property:opacity}.cg-launcher-space{width:50px}.cg-launcher-folder{display:flex;justify-content:center;height:80px}.cg-launcher-folder>div{height:80px;width:80px;background:rgba(255,255,255,.3);border-radius:20px;padding:10px 4px 4px 10px;transition:all .1s linear;transition-property:left,top,width,height,opacity;overflow-y:auto}.cg-launcher-folder>div::-webkit-scrollbar{display:none}.cg-launcher-folder>div .cg-launcher-item,.cg-launcher-folder>div .cg-launcher-space{transition:all .1s linear}.cg-launcher-folder>div.cg-show{padding:50px 0 0 50px}.cg-launcher-folder>div:not(.cg-show):active{filter:brightness(0.6)}.cg-launcher-folder>div:not(.cg-show) .cg-launcher-item{width:22px;margin-bottom:6px}.cg-launcher-folder>div:not(.cg-show) .cg-launcher-icon{background-size:16px;height:16px;pointer-events:none}.cg-launcher-folder>div:not(.cg-show) .cg-launcher-name{display:none}.cg-launcher-folder>div:not(.cg-show) .cg-launcher-space{width:6px}.cg-launcher-list{flex:1;height:0;overflow-y:auto;padding:0 0 0 50px}.cg-launcher-list::-webkit-scrollbar{display:none}.cg-launcher-list.cg-folder-open>.cg-launcher-item>.cg-launcher-inner>.cg-launcher-icon,.cg-launcher-list.cg-folder-open>.cg-launcher-item>.cg-launcher-inner>.cg-launcher-name{opacity:0}.cg-launcher-list.cg-folder-open>.cg-launcher-item>.cg-launcher-inner>.cg-launcher-folder>div:not(.cg-show){opacity:0}[data-cg-pop]{position:absolute;box-shadow:0px 5px 20px rgba(0,0,0,.25);transition:.1s ease-out;transition-property:transform,opacity;transform:translateY(-10px);opacity:0}[data-cg-pop]:not([data-cg-open]){pointer-events:none}[data-cg-pop][data-cg-open]{transform:translateY(0px);opacity:1}#cg-system{z-index:20020005}.cg-system-notify{background:var(--system-background);position:fixed;padding:15px;border-radius:3px;right:0;top:0;width:280px;font-size:14px;display:flex;transition:.1s ease-out;transition-property:transform,opacity;overflow:hidden;color:var(--system-color);box-shadow:0 5px 20px rgba(0,0,0,.25);-webkit-backdrop-filter:blur(30px) brightness(1.2);backdrop-filter:blur(30px) brightness(1.2)}.cg-system-icon{margin-right:10px;width:16px;height:16px;border-radius:50%}.cg-system-icon.cg-primary{background:var(--success)}.cg-system-icon.cg-info{background:var(--info)}.cg-system-icon.cg-warning{background:var(--warning)}.cg-system-icon.cg-danger{background:var(--danger)}.cg-system-icon.cg-progress{background:var(--cg)}.cg-system-notify-title{font-size:16px;font-weight:bold;padding-bottom:10px}.cg-system-notify-content{line-height:1.5;word-break:break-word}.cg-system-notify-progress{position:absolute;bottom:0;left:0;border-radius:1px;background:var(--cg);transition:width 1s ease-out;width:0%;height:2px}#cg-simpletask{left:0;bottom:-46px;width:100%;height:46px;top:initial;background:var(--system-background);-webkit-backdrop-filter:blur(30px) brightness(1.2);backdrop-filter:blur(30px) brightness(1.2);padding:5px 0 5px 5px;display:flex;color:var(--system-color);transition:bottom .1s ease-out;overflow-x:auto;position:fixed}#cg-simpletask::-webkit-scrollbar{display:none}.cg-simpletask-item{background:rgba(0,0,0,.05);border-radius:3px;padding:10px;display:flex;align-items:center;margin-right:5px}.cg-simpletask-item:hover{background:rgba(0,0,0,.1)}.cg-simpletask-item:active{background:rgba(0,0,0,.2)}.cg-simpletask-icon{margin-right:5px;background-size:cover;width:16px;height:16px}
|
package/dist/index.js
CHANGED
|
@@ -92,7 +92,7 @@ function launcher(boot) {
|
|
|
92
92
|
var _a;
|
|
93
93
|
return __awaiter(this, void 0, void 0, function* () {
|
|
94
94
|
const paths = [
|
|
95
|
-
loader.cdn + '/npm/vue@3.2.
|
|
95
|
+
loader.cdn + '/npm/vue@3.2.41/dist/vue.global.prod.min.js'
|
|
96
96
|
];
|
|
97
97
|
let ro = true;
|
|
98
98
|
if (!(window.ResizeObserver)) {
|
|
@@ -145,8 +145,8 @@ function launcher(boot) {
|
|
|
145
145
|
exports.core.boot = boot;
|
|
146
146
|
yield boot.main();
|
|
147
147
|
});
|
|
148
|
-
})().catch(function () {
|
|
149
|
-
|
|
148
|
+
})().catch(function (e) {
|
|
149
|
+
console.log('launcher', e);
|
|
150
150
|
});
|
|
151
151
|
}
|
|
152
152
|
exports.launcher = launcher;
|
package/dist/index.ts
CHANGED
|
@@ -155,7 +155,7 @@ export function launcher(boot: AbstractBoot): void {
|
|
|
155
155
|
(async function() {
|
|
156
156
|
// --- 通过标签加载库 ---
|
|
157
157
|
const paths: string[] = [
|
|
158
|
-
loader.cdn + '/npm/vue@3.2.
|
|
158
|
+
loader.cdn + '/npm/vue@3.2.41/dist/vue.global.prod.min.js'
|
|
159
159
|
];
|
|
160
160
|
// --- 判断 ResizeObserver 是否存在 ---
|
|
161
161
|
let ro = true;
|
|
@@ -216,7 +216,7 @@ export function launcher(boot: AbstractBoot): void {
|
|
|
216
216
|
core.boot = boot;
|
|
217
217
|
// --- 执行回调 ---
|
|
218
218
|
await boot.main();
|
|
219
|
-
})().catch(function() {
|
|
220
|
-
|
|
219
|
+
})().catch(function(e) {
|
|
220
|
+
console.log('launcher', e);
|
|
221
221
|
});
|
|
222
222
|
}
|
package/dist/lib/control.js
CHANGED
|
@@ -20,6 +20,7 @@ const fs = require("./fs");
|
|
|
20
20
|
class AbstractControl {
|
|
21
21
|
constructor() {
|
|
22
22
|
this.props = {};
|
|
23
|
+
this.slots = {};
|
|
23
24
|
}
|
|
24
25
|
get filename() {
|
|
25
26
|
return '';
|
|
@@ -85,33 +86,32 @@ class AbstractControl {
|
|
|
85
86
|
}
|
|
86
87
|
core.trigger(name, this.taskId, this.formId, param1, param2);
|
|
87
88
|
}
|
|
89
|
+
get propBoolean() {
|
|
90
|
+
return (name) => {
|
|
91
|
+
return tool.getBoolean(this.props[name]);
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
get propNumber() {
|
|
95
|
+
return (name) => {
|
|
96
|
+
return tool.getNumber(this.props[name]);
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
get propInt() {
|
|
100
|
+
return (name) => {
|
|
101
|
+
return Math.round(this.propNumber(name));
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
get propArray() {
|
|
105
|
+
return (name) => {
|
|
106
|
+
return tool.getArray(this.props[name]);
|
|
107
|
+
};
|
|
108
|
+
}
|
|
88
109
|
get element() {
|
|
89
110
|
return this.$el;
|
|
90
111
|
}
|
|
91
112
|
emit(name, ...v) {
|
|
92
113
|
this.$emit(name, ...v);
|
|
93
114
|
}
|
|
94
|
-
get slots() {
|
|
95
|
-
return (name = 'default') => {
|
|
96
|
-
const d = this.$slots[name];
|
|
97
|
-
if (!d) {
|
|
98
|
-
return [];
|
|
99
|
-
}
|
|
100
|
-
const slots = [];
|
|
101
|
-
const list = d();
|
|
102
|
-
for (const item of list) {
|
|
103
|
-
if (typeof item.type === 'symbol') {
|
|
104
|
-
for (const item2 of item.children) {
|
|
105
|
-
slots.push(item2);
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
else {
|
|
109
|
-
slots.push(item);
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
return slots;
|
|
113
|
-
};
|
|
114
|
-
}
|
|
115
115
|
get parent() {
|
|
116
116
|
return this.$parent;
|
|
117
117
|
}
|
|
@@ -162,92 +162,56 @@ function read(blob) {
|
|
|
162
162
|
return false;
|
|
163
163
|
}
|
|
164
164
|
const controlPkg = {};
|
|
165
|
-
|
|
166
|
-
const
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
165
|
+
const list = z.readDir('/');
|
|
166
|
+
for (const sub of list) {
|
|
167
|
+
if (sub.isFile) {
|
|
168
|
+
continue;
|
|
169
|
+
}
|
|
170
|
+
const configContent = yield z.getContent('/' + sub.name + '/config.json');
|
|
171
|
+
if (!configContent) {
|
|
172
|
+
continue;
|
|
173
|
+
}
|
|
174
|
+
const config = JSON.parse(configContent);
|
|
175
|
+
controlPkg[config.name] = {
|
|
176
|
+
'type': 'control',
|
|
177
|
+
'config': config,
|
|
178
|
+
'files': {}
|
|
174
179
|
};
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
180
|
+
const list = z.readDir('/' + sub.name + '/', {
|
|
181
|
+
'hasChildren': true
|
|
182
|
+
});
|
|
183
|
+
for (const file of list) {
|
|
184
|
+
const pre = file.path.slice(config.name.length + 1);
|
|
185
|
+
const mime = tool.getMimeByPath(file.name);
|
|
186
|
+
if (['txt', 'json', 'js', 'css', 'xml', 'html'].includes(mime.ext)) {
|
|
187
|
+
const fab = yield z.getContent(file.path + file.name, 'string');
|
|
188
|
+
if (!fab) {
|
|
189
|
+
continue;
|
|
190
|
+
}
|
|
191
|
+
controlPkg[config.name].files[pre + file.name] = fab.replace(/^\ufeff/, '');
|
|
179
192
|
}
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
const files = {};
|
|
188
|
-
const filesLength = Object.keys(config.files).length;
|
|
189
|
-
let fileLoadedLength = 0;
|
|
190
|
-
yield new Promise(function (resolve) {
|
|
191
|
-
const loadedCb = function () {
|
|
192
|
-
++fileLoadedLength;
|
|
193
|
-
if (fileLoadedLength < filesLength) {
|
|
194
|
-
return;
|
|
195
|
-
}
|
|
196
|
-
resolve();
|
|
197
|
-
};
|
|
198
|
-
for (const file of config.files) {
|
|
199
|
-
const mime = tool.getMimeByPath(file);
|
|
200
|
-
if (['txt', 'json', 'js', 'css', 'xml', 'html'].includes(mime.ext)) {
|
|
201
|
-
z.getContent('/' + control.name + file, 'string').then(function (fab) {
|
|
202
|
-
if (!fab) {
|
|
203
|
-
loadedCb();
|
|
204
|
-
return;
|
|
205
|
-
}
|
|
206
|
-
files[file] = fab.replace(/^\ufeff/, '');
|
|
207
|
-
loadedCb();
|
|
208
|
-
}).catch(function () {
|
|
209
|
-
loadedCb();
|
|
210
|
-
});
|
|
211
|
-
}
|
|
212
|
-
else {
|
|
213
|
-
z.getContent('/' + control.name + file, 'arraybuffer').then(function (fab) {
|
|
214
|
-
if (!fab) {
|
|
215
|
-
loadedCb();
|
|
216
|
-
return;
|
|
217
|
-
}
|
|
218
|
-
files[file] = new Blob([fab], {
|
|
219
|
-
'type': mime.mime
|
|
220
|
-
});
|
|
221
|
-
loadedCb();
|
|
222
|
-
}).catch(function () {
|
|
223
|
-
loadedCb();
|
|
224
|
-
});
|
|
225
|
-
}
|
|
226
|
-
}
|
|
227
|
-
});
|
|
228
|
-
controlPkg[control.name] = {
|
|
229
|
-
'type': 'control',
|
|
230
|
-
'config': config,
|
|
231
|
-
'files': files
|
|
232
|
-
};
|
|
233
|
-
controlCb();
|
|
193
|
+
else {
|
|
194
|
+
const fab = yield z.getContent(file.path + file.name, 'arraybuffer');
|
|
195
|
+
if (!fab) {
|
|
196
|
+
continue;
|
|
197
|
+
}
|
|
198
|
+
controlPkg[config.name].files[pre + file.name] = new Blob([fab], {
|
|
199
|
+
'type': mime.mime
|
|
234
200
|
});
|
|
235
|
-
}
|
|
236
|
-
controlCb();
|
|
237
|
-
});
|
|
201
|
+
}
|
|
238
202
|
}
|
|
239
|
-
}
|
|
203
|
+
}
|
|
240
204
|
return controlPkg;
|
|
241
205
|
});
|
|
242
206
|
}
|
|
243
207
|
exports.read = read;
|
|
244
|
-
function init(taskId) {
|
|
208
|
+
function init(taskId, invoke) {
|
|
245
209
|
return __awaiter(this, void 0, void 0, function* () {
|
|
246
210
|
const t = task.list[taskId];
|
|
247
211
|
if (!t) {
|
|
248
|
-
return
|
|
212
|
+
return -1;
|
|
249
213
|
}
|
|
250
|
-
for (let path of t.config.controls) {
|
|
214
|
+
for (let path of t.app.config.controls) {
|
|
251
215
|
if (!path.endsWith('.cgc')) {
|
|
252
216
|
path += '.cgc';
|
|
253
217
|
}
|
|
@@ -276,7 +240,7 @@ function init(taskId) {
|
|
|
276
240
|
};
|
|
277
241
|
t.controls[name].layout = item.files[item.config.layout + '.html'];
|
|
278
242
|
if (t.controls[name].layout === undefined) {
|
|
279
|
-
return
|
|
243
|
+
return -2;
|
|
280
244
|
}
|
|
281
245
|
t.controls[name].layout = t.controls[name].layout.replace(/^(<[a-zA-Z0-9-]+)( |>)/, '$1 data-cg-control-' + name + '$2');
|
|
282
246
|
const style = item.files[item.config.style + '.css'];
|
|
@@ -299,6 +263,9 @@ function init(taskId) {
|
|
|
299
263
|
});
|
|
300
264
|
}
|
|
301
265
|
t.controls[name].layout = tool.eventsAttrWrap(t.controls[name].layout);
|
|
266
|
+
if (t.controls[name].layout.includes('<teleport')) {
|
|
267
|
+
t.controls[name].layout = tool.teleportGlue(t.controls[name].layout, '{{{formId}}}');
|
|
268
|
+
}
|
|
302
269
|
let cls;
|
|
303
270
|
if (item.files[item.config.code + '.js']) {
|
|
304
271
|
item.files['/invoke/clickgo.js'] = `module.exports = invokeClickgo;`;
|
|
@@ -306,7 +273,7 @@ function init(taskId) {
|
|
|
306
273
|
try {
|
|
307
274
|
expo = loader.require(item.config.code, item.files, {
|
|
308
275
|
'dir': '/',
|
|
309
|
-
'invoke':
|
|
276
|
+
'invoke': invoke,
|
|
310
277
|
'preprocess': function (code, path) {
|
|
311
278
|
const exec = /eval\W/.exec(code);
|
|
312
279
|
if (exec) {
|
|
@@ -329,12 +296,12 @@ function init(taskId) {
|
|
|
329
296
|
}
|
|
330
297
|
catch (e) {
|
|
331
298
|
core.trigger('error', taskId, 0, e, e.message + '(-4)');
|
|
332
|
-
return
|
|
299
|
+
return -3;
|
|
333
300
|
}
|
|
334
301
|
if (!(expo === null || expo === void 0 ? void 0 : expo.default)) {
|
|
335
302
|
const msg = '"default" not found on "' + item.config.code + '" of "' + name + '" control.';
|
|
336
303
|
core.trigger('error', taskId, 0, new Error(msg), msg);
|
|
337
|
-
return
|
|
304
|
+
return -4;
|
|
338
305
|
}
|
|
339
306
|
cls = new expo.default();
|
|
340
307
|
}
|
|
@@ -397,13 +364,11 @@ function init(taskId) {
|
|
|
397
364
|
'content': 'Control failed to load.\nTask id: ' + t.id.toString() + '\nPath: ' + path,
|
|
398
365
|
'type': 'danger'
|
|
399
366
|
});
|
|
400
|
-
return
|
|
367
|
+
return -5;
|
|
401
368
|
}
|
|
402
369
|
}
|
|
403
370
|
}
|
|
404
|
-
|
|
405
|
-
delete t.invoke;
|
|
406
|
-
return true;
|
|
371
|
+
return 1;
|
|
407
372
|
});
|
|
408
373
|
}
|
|
409
374
|
exports.init = init;
|
|
@@ -441,7 +406,7 @@ function buildComponents(taskId, formId, path) {
|
|
|
441
406
|
}
|
|
442
407
|
};
|
|
443
408
|
components['cg-' + name] = {
|
|
444
|
-
'template': control.layout,
|
|
409
|
+
'template': control.layout.replace(/{{{formId}}}/g, formId.toString()),
|
|
445
410
|
'props': control.props,
|
|
446
411
|
'data': function () {
|
|
447
412
|
const data = tool.clone(control.data);
|
|
@@ -455,6 +420,7 @@ function buildComponents(taskId, formId, path) {
|
|
|
455
420
|
beforeCreate: control.methods.onBeforeCreate,
|
|
456
421
|
created: function () {
|
|
457
422
|
this.props = this.$props;
|
|
423
|
+
this.slots = this.$slots;
|
|
458
424
|
this.access = tool.clone(control.access);
|
|
459
425
|
this.onCreated();
|
|
460
426
|
},
|