clickgo 3.1.1-dev10 → 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 -72
- 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 +166 -5
- package/dist/app/demo/form/main.xml +37 -35
- package/dist/app/demo/form/method/aform/aform.js +57 -0
- package/dist/app/demo/form/method/aform/aform.xml +35 -0
- package/dist/app/demo/form/method/aform/test.xml +6 -0
- 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 +10 -28
- package/dist/app/demo/form/method/form/form.xml +8 -15
- 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 +2 -2
- package/dist/app/task/form/bar/bar.xml +1 -1
- package/dist/clickgo.js +17 -5
- package/dist/clickgo.ts +22 -3
- 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 +28 -8
- package/dist/index.ts +33 -7
- package/dist/lib/control.js +75 -105
- package/dist/lib/control.ts +102 -124
- 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 +170 -153
- package/dist/lib/form.ts +132 -99
- 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 +176 -12
- package/dist/lib/task.js +301 -175
- package/dist/lib/task.ts +330 -207
- 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 +26 -29
- 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
- package/dist/app/demo/form/method/form/test.xml +0 -5
|
@@ -9,11 +9,12 @@ 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
|
-
|
|
13
|
+
class default_1 extends clickgo.form.AbstractForm {
|
|
14
|
+
constructor() {
|
|
15
|
+
super(...arguments);
|
|
16
|
+
this.sleeping = false;
|
|
17
|
+
this.purifyTxt = `<html>
|
|
17
18
|
<head>
|
|
18
19
|
<title>Hello world!</title>
|
|
19
20
|
</head>
|
|
@@ -23,17 +24,16 @@ exports.data = {
|
|
|
23
24
|
<!-- content -->
|
|
24
25
|
<div>content</div>
|
|
25
26
|
</body>
|
|
26
|
-
</html
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
sleep: function () {
|
|
27
|
+
</html>`;
|
|
28
|
+
this.min = '10';
|
|
29
|
+
this.max = '30';
|
|
30
|
+
this.length = '8';
|
|
31
|
+
this.block = '';
|
|
32
|
+
this.url = 'HtTp://uSer:pAss@sUBDom.TopdOm23.CoM:29819/Admxw2Ksiz/dszas?Mdi=KdiMs1&a=JDd#hehHe';
|
|
33
|
+
this.url1 = '/abc/def/hehe';
|
|
34
|
+
this.url2 = '../bb.index';
|
|
35
|
+
}
|
|
36
|
+
sleep() {
|
|
37
37
|
return __awaiter(this, void 0, void 0, function* () {
|
|
38
38
|
if (this.sleeping) {
|
|
39
39
|
return;
|
|
@@ -42,23 +42,24 @@ exports.methods = {
|
|
|
42
42
|
yield clickgo.tool.sleep(1000);
|
|
43
43
|
this.sleeping = false;
|
|
44
44
|
});
|
|
45
|
-
}
|
|
46
|
-
purify
|
|
45
|
+
}
|
|
46
|
+
purify() {
|
|
47
47
|
this.purifyTxt = clickgo.tool.purify(this.purifyTxt);
|
|
48
|
-
}
|
|
49
|
-
rand
|
|
48
|
+
}
|
|
49
|
+
rand() {
|
|
50
50
|
clickgo.form.dialog(clickgo.tool.rand(parseInt(this.min), parseInt(this.max)).toString()).catch((e) => { throw e; });
|
|
51
|
-
}
|
|
52
|
-
random
|
|
51
|
+
}
|
|
52
|
+
random() {
|
|
53
53
|
clickgo.form.dialog(clickgo.tool.random(parseInt(this.length), clickgo.tool.RANDOM_LN, this.block)).catch((e) => { throw e; });
|
|
54
|
-
}
|
|
55
|
-
escapeHTML
|
|
54
|
+
}
|
|
55
|
+
escapeHTML() {
|
|
56
56
|
clickgo.form.dialog(clickgo.tool.escapeHTML(this.purifyTxt)).catch((e) => { throw e; });
|
|
57
|
-
}
|
|
58
|
-
parseUrl
|
|
57
|
+
}
|
|
58
|
+
parseUrl() {
|
|
59
59
|
clickgo.form.dialog(JSON.stringify(clickgo.tool.parseUrl(this.url))).catch((e) => { throw e; });
|
|
60
|
-
}
|
|
61
|
-
urlResolve
|
|
60
|
+
}
|
|
61
|
+
urlResolve() {
|
|
62
62
|
clickgo.form.dialog(clickgo.tool.urlResolve(this.url1, this.url2)).catch((e) => { throw e; });
|
|
63
63
|
}
|
|
64
|
-
}
|
|
64
|
+
}
|
|
65
|
+
exports.default = default_1;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
<form width="350" height="400" title="Library tool"
|
|
2
|
-
<
|
|
1
|
+
<form width="350" height="400" title="Library tool">
|
|
2
|
+
<flow direction="v" style="flex: 1; padding: 10px;">
|
|
3
3
|
<layout direction="v" gutter="10">
|
|
4
4
|
<button @click="sleep" style="height: 30px;">{{sleeping ? 'Waiting...' : 'sleep(1000)'}}</button>
|
|
5
5
|
<text v-model="purifyTxt" multi style="height: 100px;"></text>
|
|
@@ -22,5 +22,5 @@
|
|
|
22
22
|
<text v-model="url2" style="height: 30px;"></text>
|
|
23
23
|
<button @click="urlResolve" style="height: 30px;">urlResolve('{{url1.slice(0, 5)}}...', '{{url2.slice(0, 5)}}...')</button>
|
|
24
24
|
</layout>
|
|
25
|
-
</
|
|
25
|
+
</flow>
|
|
26
26
|
</form>
|
|
@@ -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
|
+
}
|
|
@@ -75,13 +75,13 @@ class default_1 extends clickgo.form.AbstractForm {
|
|
|
75
75
|
};
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
|
-
|
|
78
|
+
cclose(index) {
|
|
79
79
|
const app = this.apps[index];
|
|
80
80
|
if (!app) {
|
|
81
81
|
return;
|
|
82
82
|
}
|
|
83
83
|
for (const formId in app.forms) {
|
|
84
|
-
clickgo.form.
|
|
84
|
+
clickgo.form.close(parseInt(formId));
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
87
|
changeFocus(formId) {
|
|
@@ -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,27 +1,39 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.zip = exports.tool = exports.theme = exports.task = exports.native = exports.fs = exports.form = exports.dom = exports.core = exports.control = exports.vue = exports.getPlatform = exports.
|
|
4
|
-
const version = '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.1.3';
|
|
5
5
|
function getVersion() {
|
|
6
6
|
return version;
|
|
7
7
|
}
|
|
8
8
|
exports.getVersion = getVersion;
|
|
9
9
|
const native = navigator.userAgent.includes('electron') ? true : false;
|
|
10
|
-
function
|
|
10
|
+
function isNative() {
|
|
11
11
|
return native;
|
|
12
12
|
}
|
|
13
|
-
exports.
|
|
13
|
+
exports.isNative = isNative;
|
|
14
14
|
let platform = 'web';
|
|
15
|
+
let immersion = false;
|
|
16
|
+
let frame = false;
|
|
15
17
|
if (native) {
|
|
16
|
-
const reg = /electron\/(.+?) (.+?)
|
|
18
|
+
const reg = /electron\/(.+?) (.+?)\/(.+?) immersion\/([0-9]) frame\/([0-9])/.exec(navigator.userAgent);
|
|
17
19
|
if (reg) {
|
|
18
20
|
platform = reg[2];
|
|
21
|
+
immersion = reg[4] === '0' ? false : true;
|
|
22
|
+
frame = reg[5] === '0' ? false : true;
|
|
19
23
|
}
|
|
20
24
|
}
|
|
21
25
|
function getPlatform() {
|
|
22
26
|
return platform;
|
|
23
27
|
}
|
|
24
28
|
exports.getPlatform = getPlatform;
|
|
29
|
+
function isImmersion() {
|
|
30
|
+
return immersion;
|
|
31
|
+
}
|
|
32
|
+
exports.isImmersion = isImmersion;
|
|
33
|
+
function hasFrame() {
|
|
34
|
+
return frame;
|
|
35
|
+
}
|
|
36
|
+
exports.hasFrame = hasFrame;
|
|
25
37
|
exports.vue = window.Vue;
|
|
26
38
|
exports.control = require("./lib/control");
|
|
27
39
|
exports.core = require("./lib/core");
|
package/dist/clickgo.ts
CHANGED
|
@@ -13,27 +13,46 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
const version = '3.
|
|
16
|
+
const version = '3.1.3';
|
|
17
17
|
export function getVersion(): string {
|
|
18
18
|
return version;
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
const native = navigator.userAgent.includes('electron') ? true : false;
|
|
22
|
-
export function
|
|
22
|
+
export function isNative(): boolean {
|
|
23
23
|
return native;
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
let platform: NodeJS.Platform | 'web' = 'web';
|
|
27
|
+
let immersion: boolean = false;
|
|
28
|
+
let frame: boolean = false;
|
|
29
|
+
|
|
27
30
|
if (native) {
|
|
28
|
-
const reg = /electron\/(.+?) (.+?)
|
|
31
|
+
const reg = /electron\/(.+?) (.+?)\/(.+?) immersion\/([0-9]) frame\/([0-9])/.exec(navigator.userAgent);
|
|
29
32
|
if (reg) {
|
|
30
33
|
platform = reg[2] as any;
|
|
34
|
+
immersion = reg[4] === '0' ? false : true;
|
|
35
|
+
frame = reg[5] === '0' ? false : true;
|
|
31
36
|
}
|
|
32
37
|
}
|
|
33
38
|
export function getPlatform(): NodeJS.Platform | 'web' {
|
|
34
39
|
return platform;
|
|
35
40
|
}
|
|
36
41
|
|
|
42
|
+
/**
|
|
43
|
+
* --- 获取当前 native 是否是沉浸式 ---
|
|
44
|
+
*/
|
|
45
|
+
export function isImmersion(): boolean {
|
|
46
|
+
return immersion;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* --- 是否含有窗体外边框 ---
|
|
51
|
+
*/
|
|
52
|
+
export function hasFrame(): boolean {
|
|
53
|
+
return frame;
|
|
54
|
+
}
|
|
55
|
+
|
|
37
56
|
export const vue: import('../types/index').IVueObject = (window as any).Vue;
|
|
38
57
|
|
|
39
58
|
export * as control from './lib/control';
|
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
|
@@ -9,19 +9,27 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.launcher = exports.AbstractBoot = exports.getPlatform = exports.
|
|
12
|
+
exports.launcher = exports.AbstractBoot = exports.hasFrame = exports.isImmersion = exports.getPlatform = exports.isNative = exports.getVersion = exports.vue = exports.zip = exports.tool = exports.theme = exports.task = exports.native = exports.fs = exports.form = exports.dom = exports.core = exports.control = exports.clickgo = void 0;
|
|
13
13
|
function getVersion() {
|
|
14
14
|
return exports.clickgo.getVersion();
|
|
15
15
|
}
|
|
16
16
|
exports.getVersion = getVersion;
|
|
17
|
-
function
|
|
18
|
-
return exports.clickgo.
|
|
17
|
+
function isNative() {
|
|
18
|
+
return exports.clickgo.isNative();
|
|
19
19
|
}
|
|
20
|
-
exports.
|
|
20
|
+
exports.isNative = isNative;
|
|
21
21
|
function getPlatform() {
|
|
22
22
|
return exports.clickgo.getPlatform();
|
|
23
23
|
}
|
|
24
24
|
exports.getPlatform = getPlatform;
|
|
25
|
+
function isImmersion() {
|
|
26
|
+
return exports.clickgo.isImmersion();
|
|
27
|
+
}
|
|
28
|
+
exports.isImmersion = isImmersion;
|
|
29
|
+
function hasFrame() {
|
|
30
|
+
return exports.clickgo.hasFrame();
|
|
31
|
+
}
|
|
32
|
+
exports.hasFrame = hasFrame;
|
|
25
33
|
class AbstractBoot {
|
|
26
34
|
onError() {
|
|
27
35
|
return;
|
|
@@ -71,6 +79,12 @@ class AbstractBoot {
|
|
|
71
79
|
onLauncherFolderNameChanged() {
|
|
72
80
|
return;
|
|
73
81
|
}
|
|
82
|
+
onRuntimeFileLoad() {
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
onRuntimeFileLoaded() {
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
74
88
|
}
|
|
75
89
|
exports.AbstractBoot = AbstractBoot;
|
|
76
90
|
function launcher(boot) {
|
|
@@ -78,7 +92,7 @@ function launcher(boot) {
|
|
|
78
92
|
var _a;
|
|
79
93
|
return __awaiter(this, void 0, void 0, function* () {
|
|
80
94
|
const paths = [
|
|
81
|
-
loader.cdn + '/npm/vue@3.2.
|
|
95
|
+
loader.cdn + '/npm/vue@3.2.41/dist/vue.global.prod.min.js'
|
|
82
96
|
];
|
|
83
97
|
let ro = true;
|
|
84
98
|
if (!(window.ResizeObserver)) {
|
|
@@ -98,7 +112,13 @@ function launcher(boot) {
|
|
|
98
112
|
'dir': __dirname + '/',
|
|
99
113
|
'after': after,
|
|
100
114
|
'afterIgnore': new RegExp('^' + loader.cdn.replace(/\./g, '\\.')),
|
|
101
|
-
'map': map
|
|
115
|
+
'map': map,
|
|
116
|
+
'load': (url) => {
|
|
117
|
+
boot.onRuntimeFileLoad(url);
|
|
118
|
+
},
|
|
119
|
+
'loaded': (url, state) => {
|
|
120
|
+
boot.onRuntimeFileLoaded(url, state);
|
|
121
|
+
}
|
|
102
122
|
});
|
|
103
123
|
const cg = loader.require('clickgo', files, {
|
|
104
124
|
'dir': __dirname + '/',
|
|
@@ -125,8 +145,8 @@ function launcher(boot) {
|
|
|
125
145
|
exports.core.boot = boot;
|
|
126
146
|
yield boot.main();
|
|
127
147
|
});
|
|
128
|
-
})().catch(function () {
|
|
129
|
-
|
|
148
|
+
})().catch(function (e) {
|
|
149
|
+
console.log('launcher', e);
|
|
130
150
|
});
|
|
131
151
|
}
|
|
132
152
|
exports.launcher = launcher;
|
package/dist/index.ts
CHANGED
|
@@ -19,18 +19,26 @@ export function getVersion(): string {
|
|
|
19
19
|
return clickgo.getVersion();
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
export function
|
|
23
|
-
return clickgo.
|
|
22
|
+
export function isNative(): boolean {
|
|
23
|
+
return clickgo.isNative();
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
export function getPlatform(): NodeJS.Platform | 'web' {
|
|
27
27
|
return clickgo.getPlatform();
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
+
export function isImmersion(): boolean {
|
|
31
|
+
return clickgo.isImmersion();
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export function hasFrame(): boolean {
|
|
35
|
+
return clickgo.hasFrame();
|
|
36
|
+
}
|
|
37
|
+
|
|
30
38
|
/** --- 全局类 --- */
|
|
31
39
|
export abstract class AbstractBoot {
|
|
32
40
|
|
|
33
|
-
/** ---
|
|
41
|
+
/** --- 入口方法 --- */
|
|
34
42
|
public abstract main(): void | Promise<void>;
|
|
35
43
|
|
|
36
44
|
/** --- 全局错误事件 --- */
|
|
@@ -129,13 +137,25 @@ export abstract class AbstractBoot {
|
|
|
129
137
|
return;
|
|
130
138
|
}
|
|
131
139
|
|
|
140
|
+
/** --- 环境文件准备加载时的事件 --- */
|
|
141
|
+
public onRuntimeFileLoad(url: string): void | Promise<void>;
|
|
142
|
+
public onRuntimeFileLoad(): void {
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
/** --- 环境文件加载完成的事件 --- */
|
|
147
|
+
public onRuntimeFileLoaded(url: string, state: number): void | Promise<void>;
|
|
148
|
+
public onRuntimeFileLoaded(): void {
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
|
|
132
152
|
}
|
|
133
153
|
|
|
134
154
|
export function launcher(boot: AbstractBoot): void {
|
|
135
155
|
(async function() {
|
|
136
156
|
// --- 通过标签加载库 ---
|
|
137
157
|
const paths: string[] = [
|
|
138
|
-
loader.cdn + '/npm/vue@3.2.
|
|
158
|
+
loader.cdn + '/npm/vue@3.2.41/dist/vue.global.prod.min.js'
|
|
139
159
|
];
|
|
140
160
|
// --- 判断 ResizeObserver 是否存在 ---
|
|
141
161
|
let ro = true;
|
|
@@ -161,7 +181,13 @@ export function launcher(boot: AbstractBoot): void {
|
|
|
161
181
|
'dir': __dirname + '/',
|
|
162
182
|
'after': after,
|
|
163
183
|
'afterIgnore': new RegExp('^' + loader.cdn.replace(/\./g, '\\.')),
|
|
164
|
-
'map': map
|
|
184
|
+
'map': map,
|
|
185
|
+
'load': (url) => {
|
|
186
|
+
boot.onRuntimeFileLoad(url) as any;
|
|
187
|
+
},
|
|
188
|
+
'loaded': (url, state) => {
|
|
189
|
+
boot.onRuntimeFileLoaded(url, state) as any;
|
|
190
|
+
}
|
|
165
191
|
});
|
|
166
192
|
const cg = loader.require('clickgo', files, {
|
|
167
193
|
'dir': __dirname + '/',
|
|
@@ -190,7 +216,7 @@ export function launcher(boot: AbstractBoot): void {
|
|
|
190
216
|
core.boot = boot;
|
|
191
217
|
// --- 执行回调 ---
|
|
192
218
|
await boot.main();
|
|
193
|
-
})().catch(function() {
|
|
194
|
-
|
|
219
|
+
})().catch(function(e) {
|
|
220
|
+
console.log('launcher', e);
|
|
195
221
|
});
|
|
196
222
|
}
|