clickgo 3.11.11 → 3.11.13
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/README.md +5 -1
- package/dist/app/demo/config.json +2 -0
- package/dist/app/demo/form/control/check/check.js +2 -2
- package/dist/app/demo/form/control/drawer/drawer.xml +1 -0
- package/dist/app/demo/form/control/img/img.xml +22 -16
- package/dist/app/demo/form/control/radio/radio.js +3 -3
- package/dist/app/demo/form/control/switch/switch.js +51 -0
- package/dist/app/demo/form/control/switch/switch.xml +18 -0
- package/dist/app/demo/form/control/text/text.js +1 -0
- package/dist/app/demo/form/control/text/text.xml +4 -1
- package/dist/app/demo/form/control/tuieditor/tuieditor.xml +8 -5
- package/dist/app/demo/form/main.js +5 -0
- package/dist/app/demo/form/main.xml +1 -0
- package/dist/app/demo/form/solution/backpanel/backpanel.xml +1 -1
- package/dist/clickgo.js +1 -1
- package/dist/clickgo.ts +1 -1
- package/dist/control/arteditor.cgc +0 -0
- package/dist/control/box.cgc +0 -0
- package/dist/control/common.cgc +0 -0
- package/dist/control/desc.cgc +0 -0
- package/dist/control/drawer.cgc +0 -0
- package/dist/control/echarts.cgc +0 -0
- package/dist/control/form.cgc +0 -0
- package/dist/control/html.cgc +0 -0
- package/dist/control/iconview.cgc +0 -0
- package/dist/control/map.cgc +0 -0
- package/dist/control/monaco.cgc +0 -0
- package/dist/control/nav.cgc +0 -0
- package/dist/control/page.cgc +0 -0
- package/dist/control/property.cgc +0 -0
- package/dist/control/table.cgc +0 -0
- package/dist/control/task.cgc +0 -0
- package/dist/control/tuieditor.cgc +0 -0
- package/dist/control/xterm.cgc +0 -0
- package/dist/global.css +1 -1
- package/dist/lib/control.js +4 -2
- package/dist/lib/control.ts +5 -2
- package/dist/lib/core.js +8 -3
- package/dist/lib/core.ts +8 -3
- package/dist/lib/form.js +10 -4
- package/dist/lib/form.ts +12 -4
- package/dist/lib/fs.js +7 -7
- package/dist/lib/fs.ts +8 -4
- package/dist/lib/task.js +3 -2
- package/dist/lib/task.ts +3 -2
- package/dist/theme/byterun.cgt +0 -0
- package/dist/theme/familiar.cgt +0 -0
- package/dist/theme/light.cgt +0 -0
- package/package.json +1 -1
- package/types/index.d.ts +32 -0
package/README.md
CHANGED
|
@@ -28,7 +28,7 @@ Load the module loader first, and then load it using the module loader.
|
|
|
28
28
|
**index.html**
|
|
29
29
|
|
|
30
30
|
```html
|
|
31
|
-
<script src="https://cdn.jsdelivr.net/npm/@litert/loader@3.5.1/dist/loader.min.js?path=index&npm={'clickgo':'3.11.
|
|
31
|
+
<script src="https://cdn.jsdelivr.net/npm/@litert/loader@3.5.1/dist/loader.min.js?path=index&npm={'clickgo':'3.11.13'}"></script>
|
|
32
32
|
```
|
|
33
33
|
|
|
34
34
|
**index.js**
|
|
@@ -75,6 +75,10 @@ This library is published under [Apache-2.0](./LICENSE) license.
|
|
|
75
75
|
|
|
76
76
|
<a href="https://www.flaticon.com/free-icons/empty" title="empty icons">Empty icons created by Ghozi Muhtarom - Flaticon</a>
|
|
77
77
|
|
|
78
|
+
#### Img
|
|
79
|
+
|
|
80
|
+
<a href="https://www.flaticon.com/free-icons/no-photo" title="no photo icons">No photo icons created by kerismaker - Flaticon</a>
|
|
81
|
+
|
|
78
82
|
### **LICENSE:** MIT License **AUTHOR:** sigurdarson
|
|
79
83
|
|
|
80
84
|
#### Drawer
|
|
@@ -107,6 +107,8 @@
|
|
|
107
107
|
"/form/control/step/step.xml",
|
|
108
108
|
"/form/control/svg/svg.js",
|
|
109
109
|
"/form/control/svg/svg.xml",
|
|
110
|
+
"/form/control/switch/switch.js",
|
|
111
|
+
"/form/control/switch/switch.xml",
|
|
110
112
|
"/form/control/tab/tab.js",
|
|
111
113
|
"/form/control/tab/tab.xml",
|
|
112
114
|
"/form/control/table/table.js",
|
|
@@ -45,10 +45,10 @@ class default_1 extends clickgo.form.AbstractForm {
|
|
|
45
45
|
this.indeterminate4 = false;
|
|
46
46
|
this.disabled = false;
|
|
47
47
|
}
|
|
48
|
-
onChange(e
|
|
48
|
+
onChange(e) {
|
|
49
49
|
return __awaiter(this, void 0, void 0, function* () {
|
|
50
50
|
e.preventDefault();
|
|
51
|
-
yield clickgo.form.dialog('v: ' + (
|
|
51
|
+
yield clickgo.form.dialog('v: ' + (e.detail.value ? 'true' : 'false') + ', i: ' + (e.detail.indeterminate ? 'true' : 'false'));
|
|
52
52
|
});
|
|
53
53
|
}
|
|
54
54
|
}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
<drawer title="Drawer" gutter="10" v-model="drawer" direction="v" width="50%">
|
|
7
7
|
<label>123</label>
|
|
8
8
|
<button @click="drawer2 = true">456</button>
|
|
9
|
+
<tuieditor style="height: 200px;"></tuieditor>
|
|
9
10
|
</drawer>
|
|
10
11
|
<drawer title="Drawer2" gutter="10" v-model="drawer2" direction="v">
|
|
11
12
|
<label>789</label>
|
|
@@ -1,20 +1,26 @@
|
|
|
1
|
-
<form width="
|
|
1
|
+
<form width="500" height="500" title="Img">
|
|
2
2
|
<flow direction="v" style="flex: 1; width: 0;">
|
|
3
|
-
<layout
|
|
4
|
-
<
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
<
|
|
17
|
-
|
|
3
|
+
<layout gutter="10" style="padding: 10px;">
|
|
4
|
+
<layout direction="v" gutter="10" style="flex: 1; width: 0; overflow: hidden;">
|
|
5
|
+
<label>Load "../../../res/img.jpg":</label>
|
|
6
|
+
<img src="../../../res/img.jpg" style="width: 200px; height: 200px;" />
|
|
7
|
+
<label>Mode cover:</label>
|
|
8
|
+
<img src="../../../res/img.jpg" mode="cover" style="width: 200px; height: 250px;" />
|
|
9
|
+
<label>Slot:</label>
|
|
10
|
+
<img src="../../../res/img.jpg" mode="cover" align-h="center" align-v="end" style="width: 200px; height: 200px; padding-bottom: 10px; color: #FFF; font-weight: bold; font-size: 18px;">
|
|
11
|
+
<label>Test</label>
|
|
12
|
+
</img>
|
|
13
|
+
<label>You can also use http://, https:// and data: url, load "https://nodejs.org/static/images/logo.svg":</label>
|
|
14
|
+
<img src="https://nodejs.org/static/images/logo.svg" style="background-color: #333; width: 122px; height: 75px;" />
|
|
15
|
+
</layout>
|
|
16
|
+
<layout direction="v" gutter="10" style="flex: 1; width: 0; overflow: hidden;">
|
|
17
|
+
<label>Mode auto:</label>
|
|
18
|
+
<img src="../../../res/img.jpg" mode="auto" style="width: 200px; height: 200px;" />
|
|
19
|
+
<label>Mode contain:</label>
|
|
20
|
+
<img src="../../../res/img.jpg" mode="contain" style="border: dotted 1px rgba(0, 0, 0, .5); width: 200px; height: 250px;" />
|
|
21
|
+
<label>No image:</label>
|
|
22
|
+
<img style="border: dotted 1px rgba(0, 0, 0, .5); width: 200px; height: 200px;" />
|
|
23
|
+
</layout>
|
|
18
24
|
</layout>
|
|
19
25
|
</flow>
|
|
20
26
|
</form>
|
|
@@ -39,13 +39,13 @@ class default_1 extends clickgo.form.AbstractForm {
|
|
|
39
39
|
this.value = 'radio1';
|
|
40
40
|
this.disabled = false;
|
|
41
41
|
}
|
|
42
|
-
onChange(e
|
|
42
|
+
onChange(e) {
|
|
43
43
|
return __awaiter(this, void 0, void 0, function* () {
|
|
44
|
-
if (
|
|
44
|
+
if (e.detail.selected !== 'radio2') {
|
|
45
45
|
return;
|
|
46
46
|
}
|
|
47
47
|
e.preventDefault();
|
|
48
|
-
yield clickgo.form.dialog('
|
|
48
|
+
yield clickgo.form.dialog('selected: ' + e.detail.selected + ', value: ' + e.detail.value);
|
|
49
49
|
});
|
|
50
50
|
}
|
|
51
51
|
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
|
+
const clickgo = __importStar(require("clickgo"));
|
|
36
|
+
class default_1 extends clickgo.form.AbstractForm {
|
|
37
|
+
constructor() {
|
|
38
|
+
super(...arguments);
|
|
39
|
+
this.checked1 = false;
|
|
40
|
+
this.checked2 = false;
|
|
41
|
+
this.checked3 = false;
|
|
42
|
+
this.disabled = false;
|
|
43
|
+
}
|
|
44
|
+
onChange(e) {
|
|
45
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
46
|
+
e.preventDefault();
|
|
47
|
+
yield clickgo.form.dialog('v: ' + (e.detail.value ? 'true' : 'false'));
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
exports.default = default_1;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<form title="Switch" width="300" height="300" padding="10">
|
|
2
|
+
<layout direction="v" gutter="10" style="flex: 1; width: 0;">
|
|
3
|
+
<label>Checked: {{checked1}}, {{checked2}}, {{checked3}}</label>
|
|
4
|
+
<layout gutter="10" align-v="center">
|
|
5
|
+
<switch v-model="checked1" :disabled="disabled"></switch>
|
|
6
|
+
<label style="flex: 1;">{{checked1 ? 'on' : 'off'}}</label>
|
|
7
|
+
<switch v-model="checked2" :disabled="disabled"></switch>
|
|
8
|
+
<label style="flex: 1;">{{checked2 ? 'true' : 'false'}}</label>
|
|
9
|
+
</layout>
|
|
10
|
+
<layout gutter="10" align-v="center">
|
|
11
|
+
<switch v-model="checked3" :disabled="disabled"></switch>
|
|
12
|
+
<label style="flex: 1;">{{checked3 ? 'ok' : 'no'}}</label>
|
|
13
|
+
<switch :disabled="disabled" @change="onChange" />
|
|
14
|
+
<label style="flex: 1;">not</label>
|
|
15
|
+
</layout>
|
|
16
|
+
<button @click="disabled = !disabled">{{disabled ? 'Remove' : 'Set'}} disabled</button>
|
|
17
|
+
</layout>
|
|
18
|
+
</form>
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<layout direction="v" gutter="10" style="padding: 10px; flex: 1; width: 0;">
|
|
3
3
|
<label>Text Length: {{value.length}}, Selection Start: {{selectionStart}}, Selection End: {{selectionEnd}}, Focus: {{isFocus}}</label>
|
|
4
4
|
<label>Scroll Left: {{scrollLeft}}, Scroll Top: {{scrollTop}}, Scroll Height: {{scrollHeight}}, Scroll Width: {{scrollWidth}}, Client Height: {{clientHeight}}, Client Width: {{clientWidth}}</label>
|
|
5
|
-
<text v-model="value" placeholder="placeholder" :multi="multi" :gesture="gesture ? ['top', 'bottom'] : []" @gesture="onGesture" :disabled="disabled" :readonly="readonly" :adaption="adaption" :scroll="scroll" :password="password" :wrap="wrap" v-model:scroll-left="scrollLeft" v-model:scroll-top="scrollTop" v-model:selection-start="selectionStart" v-model:selection-end="selectionEnd" @clientheight="clientHeight = $event" @clientwidth="clientWidth = $event" @scrollheight="scrollHeight = $event" @scrollwidth="scrollWidth = $event" @focus="isFocus = true" @blur="isFocus = false" :style="{'flex': multi && (!adaption || scroll || !wrap) ? '1' : undefined, 'line-height': lineHeight, 'font-size': fontSize + 'px', 'background': background, 'color': background ? '#FFF' : undefined, 'height': multi && (!adaption || scroll || !wrap) ? '0' : undefined, 'border-width': textBorder}" :class="[phcolor && ('ph-' + phcolor)]">
|
|
5
|
+
<text v-model="value" placeholder="placeholder" :multi="multi" :gesture="gesture ? ['top', 'bottom'] : []" @gesture="onGesture" :disabled="disabled" :readonly="readonly" :adaption="adaption" :scroll="scroll" :password="password" :maxlength="maxlength" :wrap="wrap" v-model:scroll-left="scrollLeft" v-model:scroll-top="scrollTop" v-model:selection-start="selectionStart" v-model:selection-end="selectionEnd" @clientheight="clientHeight = $event" @clientwidth="clientWidth = $event" @scrollheight="scrollHeight = $event" @scrollwidth="scrollWidth = $event" @focus="isFocus = true" @blur="isFocus = false" :style="{'flex': multi && (!adaption || scroll || !wrap) ? '1' : undefined, 'line-height': lineHeight, 'font-size': fontSize + 'px', 'background': background, 'color': background ? '#FFF' : undefined, 'height': multi && (!adaption || scroll || !wrap) ? '0' : undefined, 'border-width': textBorder}" :class="[phcolor && ('ph-' + phcolor)]">
|
|
6
6
|
<menulist v-if="menu">
|
|
7
7
|
<menulist-item>Custom</menulist-item>
|
|
8
8
|
</menulist>
|
|
@@ -35,6 +35,9 @@
|
|
|
35
35
|
<button @click="before = !before" style="flex: 1;">{{before ? '' : '!'}}before</button>
|
|
36
36
|
<button @click="after = !after" style="flex: 1;">{{after ? '' : '!'}}after</button>
|
|
37
37
|
</layout>
|
|
38
|
+
<layout gutter="10">
|
|
39
|
+
<button @click="maxlength = maxlength === 0 ? 10 : 0" style="flex: 1;">maxlength to {{maxlength === 0 ? 10 : 0}}</button>
|
|
40
|
+
</layout>
|
|
38
41
|
<layout gutter="10">
|
|
39
42
|
<button @click="border = 'solid'" style="flex: 2;">Set border solid</button>
|
|
40
43
|
<button @click="border = 'underline'" style="flex: 1;">Underline</button>
|
|
@@ -3,11 +3,14 @@
|
|
|
3
3
|
<label>Length: {{text.length}}</label>
|
|
4
4
|
<tuieditor v-model="text" :disabled="disabled" :theme="theme[0]" :visual="visual" @imgselect="imgselect" style="flex: 1; height: 0;" :style="{'font-size': size[0], 'font-family': family ? 'Consolas, \'Courier New\', monospace' : undefined}"></tuieditor>
|
|
5
5
|
<layout gutter="10">
|
|
6
|
-
<button @click="disabled = !disabled" style="flex: 1;
|
|
7
|
-
<button @click="family = !family" style="flex: 1;
|
|
8
|
-
<
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
<button @click="disabled = !disabled" style="flex: 1;">{{disabled ? '' : '!'}}disabled</button>
|
|
7
|
+
<button @click="family = !family" style="flex: 1;">{{family ? '' : '!'}}Family CCM</button>
|
|
8
|
+
<button @click="text = '1**2**3'" style="flex: 1;">v = '1**2**3'</button>
|
|
9
|
+
</layout>
|
|
10
|
+
<layout gutter="10">
|
|
11
|
+
<select v-model="size" :data="['12px', '13px', '14px', '15px', '16px']" style="flex: 1;"></select>
|
|
12
|
+
<select v-model="theme" :data="themes" style="flex: 1;"></select>
|
|
13
|
+
<button @click="visual = !visual" style="flex: 1;">{{visual ? '' : '!'}}visual</button>
|
|
11
14
|
</layout>
|
|
12
15
|
</layout>
|
|
13
16
|
</form>
|
|
@@ -63,6 +63,7 @@ const panel_1 = __importDefault(require("./control/panel/panel"));
|
|
|
63
63
|
const flow_1 = __importDefault(require("./control/flow/flow"));
|
|
64
64
|
const property_1 = __importDefault(require("./control/property/property"));
|
|
65
65
|
const radio_1 = __importDefault(require("./control/radio/radio"));
|
|
66
|
+
const switch_1 = __importDefault(require("./control/switch/switch"));
|
|
66
67
|
const scroll_1 = __importDefault(require("./control/scroll/scroll"));
|
|
67
68
|
const select_1 = __importDefault(require("./control/select/select"));
|
|
68
69
|
const svg_1 = __importDefault(require("./control/svg/svg"));
|
|
@@ -259,6 +260,10 @@ class default_1 extends clickgo.form.AbstractForm {
|
|
|
259
260
|
frm = yield clickgo.form.create(radio_1.default);
|
|
260
261
|
break;
|
|
261
262
|
}
|
|
263
|
+
case 'cswitch': {
|
|
264
|
+
frm = yield clickgo.form.create(switch_1.default);
|
|
265
|
+
break;
|
|
266
|
+
}
|
|
262
267
|
case 'cscroll': {
|
|
263
268
|
frm = yield clickgo.form.create(scroll_1.default);
|
|
264
269
|
break;
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
<layout gutter="10">
|
|
15
15
|
<button @click="openForm('ccheck')">Check</button>
|
|
16
16
|
<button @click="openForm('cradio')">Radio</button>
|
|
17
|
+
<button @click="openForm('cswitch')">switch</button>
|
|
17
18
|
</layout>
|
|
18
19
|
<layout gutter="10">
|
|
19
20
|
<button @click="openForm('ctext')">Text</button>
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<button @click="formHash = fh">Change</button>
|
|
7
7
|
<button @click="formHashBack">Back</button>
|
|
8
8
|
</layout>
|
|
9
|
-
<nav v-model="name" default="list" hash style="flex: 1;">
|
|
9
|
+
<nav v-model="name" default="list" hash style="flex: 1; height: 0;">
|
|
10
10
|
<nav-item label="User">
|
|
11
11
|
<nav-item label="All list" name="list"></nav-item>
|
|
12
12
|
<nav-item label="Available" name="list?avail=1"></nav-item>
|
package/dist/clickgo.js
CHANGED
|
@@ -24,7 +24,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
exports.zip = exports.tool = exports.theme = exports.task = exports.storage = 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;
|
|
27
|
-
const version = '3.11.
|
|
27
|
+
const version = '3.11.13';
|
|
28
28
|
function getVersion() {
|
|
29
29
|
return version;
|
|
30
30
|
}
|
package/dist/clickgo.ts
CHANGED
|
Binary file
|
package/dist/control/box.cgc
CHANGED
|
Binary file
|
package/dist/control/common.cgc
CHANGED
|
Binary file
|
package/dist/control/desc.cgc
CHANGED
|
Binary file
|
package/dist/control/drawer.cgc
CHANGED
|
Binary file
|
package/dist/control/echarts.cgc
CHANGED
|
Binary file
|
package/dist/control/form.cgc
CHANGED
|
Binary file
|
package/dist/control/html.cgc
CHANGED
|
Binary file
|
|
Binary file
|
package/dist/control/map.cgc
CHANGED
|
Binary file
|
package/dist/control/monaco.cgc
CHANGED
|
Binary file
|
package/dist/control/nav.cgc
CHANGED
|
Binary file
|
package/dist/control/page.cgc
CHANGED
|
Binary file
|
|
Binary file
|
package/dist/control/table.cgc
CHANGED
|
Binary file
|
package/dist/control/task.cgc
CHANGED
|
Binary file
|
|
Binary file
|
package/dist/control/xterm.cgc
CHANGED
|
Binary file
|
package/dist/global.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
#cg-wrap{position:fixed;left:0;top:0;--g-padding:7px;--g-bpadding:18px;--g-margin:2px;--g-radius:0;--g-size:12px;--g-family:"Lucida Sans Unicode", "Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Noto Sans CJK SC","Noto Sans CJK","Source Han Sans","WenQuanYi Micro Hei","Microsoft YaHei",sans-serif;--g-line:1;--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%);--success-bg:hsl(150, 100%, 98%);--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%);--success-bg:hsl(210, 100%, 98%);--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%);--warning-bg:hsl(20, 100%, 98%);--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%);--danger-bg:hsl(350, 100%, 98%);--system-color:hsl(0, 0%, 95%);--system-background:hsla(0, 0%, 0%, .35);--system-control-background:hsla(0, 0%, 100%, .03);--system-background-hover:hsla(0, 0%, 100%, .06);--system-background-active:hsla(0, 0%, 100%, .1);--system-border-color:hsla(0, 0%, 100%, .03);--system-border-color-hover:hsla(0, 0%, 100%, .06);--system-placeholder-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-focusbox-border-color:var(--g-plain-border-color);--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%);--g-block-background:hsl(0, 0%, 85%);--g-block-background-hover:hsl(0, 0%, 75%)}#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 .15s ease;transition-property:left,top,transform}#cg-drag{z-index:20020003;box-sizing:border-box;position:absolute;border-radius:3px;pointer-events:none;background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);box-shadow:0 3px 5px rgba(0,0,0,.1);opacity:0;display:flex;justify-content:center;align-items:center;border:solid 1px #fff;transition:all .3s ease;transition-property:transform,border;transform:initial}#cg-launcher{z-index:20020004;box-sizing:border-box;position:fixed;background:var(--system-background);-webkit-backdrop-filter:blur(30px) saturate(1.5);backdrop-filter:blur(30px) saturate(1.5);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:15px;border:solid 1px rgba(0,0,0,0);background:var(--system-control-background);width:60%;border-radius:5px;color:var(--system-color);transition:all .15s ease}.cg-launcher-sinput::placeholder{color:var(--system-placeholder-color)}.cg-launcher-sinput::selection{background-color:var(--system-background-hover)}.cg-launcher-sinput:focus{outline:none;border-color:var(--system-border-color-hover)}.cg-launcher-foldername{-webkit-appearance:none;appearance:none;height:50px;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-background-hover)}.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:.15s ease;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-notify{z-index:20020005}.cg-notify-wrap{background:var(--system-background);position:fixed;padding:15px;border-radius:5px;right:0;top:0;width:280px;font-size:14px;display:flex;transition:.15s ease;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) saturate(1.5);backdrop-filter:blur(30px) saturate(1.5)}.cg-notify-icon{margin-right:10px;width:16px;height:16px;border-radius:50%}.cg-notify-icon.cg-primary{background:var(--success)}.cg-notify-icon.cg-info{background:var(--info)}.cg-notify-icon.cg-warning{background:var(--warning)}.cg-notify-icon.cg-danger{background:var(--danger)}.cg-notify-icon.cg-progress{background:var(--cg)}.cg-notify-title{font-size:16px;font-weight:bold;padding-bottom:10px}.cg-notify-content{line-height:1.5;word-break:break-word}.cg-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) saturate(1.5);backdrop-filter:blur(30px) saturate(1.5);padding:5px 0 5px 5px;display:flex;color:var(--system-color);transition:bottom .15s ease;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}#cg-confirm{z-index:20020006;position:fixed;left:0;top:0;width:100%;height:100%;background:var(--system-background);-webkit-backdrop-filter:blur(150px) saturate(1.5);backdrop-filter:blur(150px) saturate(1.5);justify-content:center;align-items:center}#cg-confirm .cg-confirm-box{background:var(--system-background);width:60%;box-shadow:0 5px 20px rgba(0,0,0,.25);font-size:14px;border-radius:3px;overflow:hidden;color:var(--system-color)}#cg-confirm .cg-confirm-box #cg-confirm-content{padding:25px;line-height:1.5}#cg-confirm .cg-confirm-box .cg-confirm-controls{border-top:solid .5px var(--system-border-color);display:flex}#cg-confirm .cg-confirm-box .cg-confirm-controls>div{padding:20px;flex:1;text-align:center}#cg-confirm .cg-confirm-box .cg-confirm-controls>div:last-child{border-left:solid .5px var(--system-border-color)}#cg-confirm .cg-confirm-box .cg-confirm-controls>div:hover{background:var(--system-background-hover)}#cg-confirm .cg-confirm-box .cg-confirm-controls>div:active{background:var(--system-background-active)}
|
|
1
|
+
#cg-wrap{position:fixed;left:0;top:0;--g-padding:7px;--g-bpadding:18px;--g-margin:2px;--g-radius:0;--g-size:12px;--g-family:"Lucida Sans Unicode", "Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Noto Sans CJK SC","Noto Sans CJK","Source Han Sans","WenQuanYi Micro Hei","Microsoft YaHei",sans-serif;--g-line:1;--g-cubic:cubic-bezier(0.39, 0.575, 0.565, 1);--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%);--success-bg:hsl(150, 100%, 98%);--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%);--success-bg:hsl(210, 100%, 98%);--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%);--warning-bg:hsl(20, 100%, 98%);--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%);--danger-bg:hsl(350, 100%, 98%);--system-color:hsl(0, 0%, 95%);--system-background:hsla(0, 0%, 0%, .35);--system-control-background:hsla(0, 0%, 100%, .03);--system-background-hover:hsla(0, 0%, 100%, .06);--system-background-active:hsla(0, 0%, 100%, .1);--system-border-color:hsla(0, 0%, 100%, .03);--system-border-color-hover:hsla(0, 0%, 100%, .06);--system-placeholder-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-focusbox-border-color:var(--g-plain-border-color);--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%);--g-block-background:hsl(0, 0%, 85%);--g-block-background-hover:hsl(0, 0%, 75%)}#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 .3s var(--g-cubic);transition-property:left,top,transform}#cg-drag{z-index:20020003;box-sizing:border-box;position:absolute;border-radius:3px;pointer-events:none;background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);box-shadow:0 3px 5px rgba(0,0,0,.1);opacity:0;display:flex;justify-content:center;align-items:center;border:solid 1px #fff;transition:all .3s var(--g-cubic);transition-property:transform,border;transform:initial}#cg-launcher{z-index:20020004;box-sizing:border-box;position:fixed;background:var(--system-background);-webkit-backdrop-filter:blur(30px) saturate(1.5);backdrop-filter:blur(30px) saturate(1.5);width:100%;height:100%;left:0;top:0;color:var(--system-color);display:none;flex-direction:column;transition:all .3s var(--g-cubic);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:15px;border:solid 1px rgba(0,0,0,0);background:var(--system-control-background);width:60%;border-radius:5px;color:var(--system-color);transition:all .3s var(--g-cubic)}.cg-launcher-sinput::placeholder{color:var(--system-placeholder-color)}.cg-launcher-sinput::selection{background-color:var(--system-background-hover)}.cg-launcher-sinput:focus{outline:none;border-color:var(--system-border-color-hover)}.cg-launcher-foldername{-webkit-appearance:none;appearance:none;height:50px;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-background-hover)}.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 .3s var(--g-cubic);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 .3s var(--g-cubic);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 .3s var(--g-cubic)}.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:.3s var(--g-cubic);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-notify{z-index:20020005}.cg-notify-wrap{background:var(--system-background);position:fixed;padding:15px;border-radius:5px;right:0;top:0;width:280px;font-size:14px;display:flex;transition:.3s var(--g-cubic);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) saturate(1.5);backdrop-filter:blur(30px) saturate(1.5)}.cg-notify-icon{margin-right:10px;width:16px;height:16px;border-radius:50%}.cg-notify-icon.cg-primary{background:var(--success)}.cg-notify-icon.cg-info{background:var(--info)}.cg-notify-icon.cg-warning{background:var(--warning)}.cg-notify-icon.cg-danger{background:var(--danger)}.cg-notify-icon.cg-progress{background:var(--cg)}.cg-notify-title{font-size:16px;font-weight:bold;padding-bottom:10px}.cg-notify-content{line-height:1.5;word-break:break-word}.cg-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) saturate(1.5);backdrop-filter:blur(30px) saturate(1.5);padding:5px 0 5px 5px;display:flex;color:var(--system-color);transition:bottom .3s var(--g-cubic);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}#cg-confirm{z-index:20020006;position:fixed;left:0;top:0;width:100%;height:100%;background:var(--system-background);-webkit-backdrop-filter:blur(150px) saturate(1.5);backdrop-filter:blur(150px) saturate(1.5);justify-content:center;align-items:center}#cg-confirm .cg-confirm-box{background:var(--system-background);width:60%;box-shadow:0 5px 20px rgba(0,0,0,.25);font-size:14px;border-radius:3px;overflow:hidden;color:var(--system-color)}#cg-confirm .cg-confirm-box #cg-confirm-content{padding:25px;line-height:1.5}#cg-confirm .cg-confirm-box .cg-confirm-controls{border-top:solid .5px var(--system-border-color);display:flex}#cg-confirm .cg-confirm-box .cg-confirm-controls>div{padding:20px;flex:1;text-align:center}#cg-confirm .cg-confirm-box .cg-confirm-controls>div:last-child{border-left:solid .5px var(--system-border-color)}#cg-confirm .cg-confirm-box .cg-confirm-controls>div:hover{background:var(--system-background-hover)}#cg-confirm .cg-confirm-box .cg-confirm-controls>div:active{background:var(--system-background-active)}
|
package/dist/lib/control.js
CHANGED
|
@@ -288,7 +288,7 @@ function read(blob) {
|
|
|
288
288
|
});
|
|
289
289
|
}
|
|
290
290
|
exports.read = read;
|
|
291
|
-
function init(taskId, invoke) {
|
|
291
|
+
function init(taskId, invoke, cache) {
|
|
292
292
|
return __awaiter(this, void 0, void 0, function* () {
|
|
293
293
|
const t = task.list[taskId];
|
|
294
294
|
if (!t) {
|
|
@@ -299,7 +299,9 @@ function init(taskId, invoke) {
|
|
|
299
299
|
path += '.cgc';
|
|
300
300
|
}
|
|
301
301
|
path = tool.urlResolve('/', path);
|
|
302
|
-
const file = yield fs.getContent(path,
|
|
302
|
+
const file = yield fs.getContent(path, {
|
|
303
|
+
'cache': cache
|
|
304
|
+
}, taskId);
|
|
303
305
|
if (file && typeof file !== 'string') {
|
|
304
306
|
const c = yield read(file);
|
|
305
307
|
if (c) {
|
package/dist/lib/control.ts
CHANGED
|
@@ -415,7 +415,8 @@ export async function read(blob: Blob): Promise<false | types.TControlPackage> {
|
|
|
415
415
|
*/
|
|
416
416
|
export async function init(
|
|
417
417
|
taskId: number,
|
|
418
|
-
invoke: Record<string, any
|
|
418
|
+
invoke: Record<string, any>,
|
|
419
|
+
cache?: string
|
|
419
420
|
): Promise<number> {
|
|
420
421
|
const t = task.list[taskId];
|
|
421
422
|
if (!t) {
|
|
@@ -426,7 +427,9 @@ export async function init(
|
|
|
426
427
|
path += '.cgc';
|
|
427
428
|
}
|
|
428
429
|
path = tool.urlResolve('/', path);
|
|
429
|
-
const file = await fs.getContent(path,
|
|
430
|
+
const file = await fs.getContent(path, {
|
|
431
|
+
'cache': cache
|
|
432
|
+
}, taskId);
|
|
430
433
|
if (file && typeof file !== 'string') {
|
|
431
434
|
const c = await read(file);
|
|
432
435
|
if (c) {
|
package/dist/lib/core.js
CHANGED
|
@@ -633,7 +633,8 @@ function fetchApp(url, opt = {}, taskId) {
|
|
|
633
633
|
if (opt.progress) {
|
|
634
634
|
opt.progress(loaded, total);
|
|
635
635
|
}
|
|
636
|
-
}
|
|
636
|
+
},
|
|
637
|
+
'cache': opt.cache
|
|
637
638
|
}, taskId);
|
|
638
639
|
if ((blob === null) || typeof blob === 'string') {
|
|
639
640
|
return null;
|
|
@@ -650,7 +651,9 @@ function fetchApp(url, opt = {}, taskId) {
|
|
|
650
651
|
let config;
|
|
651
652
|
const files = {};
|
|
652
653
|
try {
|
|
653
|
-
const blob = yield fs.getContent(url + 'config.json',
|
|
654
|
+
const blob = yield fs.getContent(url + 'config.json', {
|
|
655
|
+
'cache': opt.cache
|
|
656
|
+
}, taskId);
|
|
654
657
|
if (blob === null || typeof blob === 'string') {
|
|
655
658
|
return null;
|
|
656
659
|
}
|
|
@@ -665,7 +668,9 @@ function fetchApp(url, opt = {}, taskId) {
|
|
|
665
668
|
opt.progress(loaded + 1, total + 1);
|
|
666
669
|
}
|
|
667
670
|
for (const file of config.files) {
|
|
668
|
-
fs.getContent(url + file.slice(1),
|
|
671
|
+
fs.getContent(url + file.slice(1), {
|
|
672
|
+
'cache': opt.cache
|
|
673
|
+
}, taskId).then(function (blob) {
|
|
669
674
|
return __awaiter(this, void 0, void 0, function* () {
|
|
670
675
|
if (blob === null || typeof blob === 'string') {
|
|
671
676
|
clickgo.form.notify({
|
package/dist/lib/core.ts
CHANGED
|
@@ -735,7 +735,8 @@ export async function fetchApp(
|
|
|
735
735
|
if (opt.progress) {
|
|
736
736
|
opt.progress(loaded, total) as unknown;
|
|
737
737
|
}
|
|
738
|
-
}
|
|
738
|
+
},
|
|
739
|
+
'cache': opt.cache
|
|
739
740
|
}, taskId);
|
|
740
741
|
if ((blob === null) || typeof blob === 'string') {
|
|
741
742
|
return null;
|
|
@@ -754,7 +755,9 @@ export async function fetchApp(
|
|
|
754
755
|
/** --- 已加载的 files --- */
|
|
755
756
|
const files: Record<string, Blob | string> = {};
|
|
756
757
|
try {
|
|
757
|
-
const blob = await fs.getContent(url + 'config.json',
|
|
758
|
+
const blob = await fs.getContent(url + 'config.json', {
|
|
759
|
+
'cache': opt.cache
|
|
760
|
+
}, taskId);
|
|
758
761
|
if (blob === null || typeof blob === 'string') {
|
|
759
762
|
return null;
|
|
760
763
|
}
|
|
@@ -769,7 +772,9 @@ export async function fetchApp(
|
|
|
769
772
|
opt.progress(loaded + 1, total + 1) as unknown;
|
|
770
773
|
}
|
|
771
774
|
for (const file of config.files) {
|
|
772
|
-
fs.getContent(url + file.slice(1),
|
|
775
|
+
fs.getContent(url + file.slice(1), {
|
|
776
|
+
'cache': opt.cache
|
|
777
|
+
}, taskId).then(async function(blob) {
|
|
773
778
|
if (blob === null || typeof blob === 'string') {
|
|
774
779
|
clickgo.form.notify({
|
|
775
780
|
'title': 'File not found',
|
package/dist/lib/form.js
CHANGED
|
@@ -1344,7 +1344,7 @@ function showCircular(x, y) {
|
|
|
1344
1344
|
exports.elements.circular.style.top = (y - 3).toString() + 'px';
|
|
1345
1345
|
exports.elements.circular.style.opacity = '1';
|
|
1346
1346
|
requestAnimationFrame(function () {
|
|
1347
|
-
exports.elements.circular.style.transition = 'all .3s
|
|
1347
|
+
exports.elements.circular.style.transition = 'all .3s var(--g-cubic)';
|
|
1348
1348
|
requestAnimationFrame(function () {
|
|
1349
1349
|
exports.elements.circular.style.width = '60px';
|
|
1350
1350
|
exports.elements.circular.style.height = '60px';
|
|
@@ -1392,7 +1392,7 @@ function showRectangle(x, y, border) {
|
|
|
1392
1392
|
exports.elements.rectangle.setAttribute('data-ready', '0');
|
|
1393
1393
|
exports.elements.rectangle.setAttribute('data-dir', '');
|
|
1394
1394
|
requestAnimationFrame(function () {
|
|
1395
|
-
exports.elements.rectangle.style.transition = 'all .
|
|
1395
|
+
exports.elements.rectangle.style.transition = 'all .3s var(--g-cubic)';
|
|
1396
1396
|
requestAnimationFrame(function () {
|
|
1397
1397
|
exports.elements.rectangle.setAttribute('data-ready', '1');
|
|
1398
1398
|
moveRectangle(border);
|
|
@@ -1405,7 +1405,12 @@ function hideRectangle() {
|
|
|
1405
1405
|
exports.elements.rectangle.style.opacity = '0';
|
|
1406
1406
|
}
|
|
1407
1407
|
exports.hideRectangle = hideRectangle;
|
|
1408
|
+
let dragTimeOut = 0;
|
|
1408
1409
|
function showDrag() {
|
|
1410
|
+
if (dragTimeOut) {
|
|
1411
|
+
clearTimeout(dragTimeOut);
|
|
1412
|
+
dragTimeOut = 0;
|
|
1413
|
+
}
|
|
1409
1414
|
exports.elements.drag.style.opacity = '1';
|
|
1410
1415
|
exports.elements.drag.style.transform = 'perspective(100px) rotateX(15deg) translateZ(15px)';
|
|
1411
1416
|
exports.elements.drag.style.borderBottomWidth = '2px';
|
|
@@ -1445,7 +1450,8 @@ exports.moveDrag = moveDrag;
|
|
|
1445
1450
|
function hideDrag() {
|
|
1446
1451
|
exports.elements.drag.style.transform = 'initial';
|
|
1447
1452
|
exports.elements.drag.style.borderBottomWidth = '1px';
|
|
1448
|
-
setTimeout(() => {
|
|
1453
|
+
dragTimeOut = window.setTimeout(() => {
|
|
1454
|
+
dragTimeOut = 0;
|
|
1449
1455
|
exports.elements.drag.style.opacity = '0';
|
|
1450
1456
|
}, 300);
|
|
1451
1457
|
}
|
|
@@ -1850,7 +1856,7 @@ function remove(formId) {
|
|
|
1850
1856
|
if (Object.keys(task.list[taskId].forms).length === 0) {
|
|
1851
1857
|
task.end(taskId);
|
|
1852
1858
|
}
|
|
1853
|
-
},
|
|
1859
|
+
}, 300);
|
|
1854
1860
|
return true;
|
|
1855
1861
|
}
|
|
1856
1862
|
else {
|
package/dist/lib/form.ts
CHANGED
|
@@ -1789,7 +1789,7 @@ export function showCircular(x: number, y: number): void {
|
|
|
1789
1789
|
elements.circular.style.top = (y - 3).toString() + 'px';
|
|
1790
1790
|
elements.circular.style.opacity = '1';
|
|
1791
1791
|
requestAnimationFrame(function() {
|
|
1792
|
-
elements.circular.style.transition = 'all .3s
|
|
1792
|
+
elements.circular.style.transition = 'all .3s var(--g-cubic)';
|
|
1793
1793
|
requestAnimationFrame(function() {
|
|
1794
1794
|
elements.circular.style.width = '60px';
|
|
1795
1795
|
elements.circular.style.height = '60px';
|
|
@@ -1846,7 +1846,7 @@ export function showRectangle(x: number, y: number, border: types.TDomBorderCust
|
|
|
1846
1846
|
elements.rectangle.setAttribute('data-ready', '0');
|
|
1847
1847
|
elements.rectangle.setAttribute('data-dir', '');
|
|
1848
1848
|
requestAnimationFrame(function() {
|
|
1849
|
-
elements.rectangle.style.transition = 'all .
|
|
1849
|
+
elements.rectangle.style.transition = 'all .3s var(--g-cubic)';
|
|
1850
1850
|
requestAnimationFrame(function() {
|
|
1851
1851
|
elements.rectangle.setAttribute('data-ready', '1');
|
|
1852
1852
|
moveRectangle(border);
|
|
@@ -1864,10 +1864,17 @@ export function hideRectangle(): void {
|
|
|
1864
1864
|
|
|
1865
1865
|
// --- DRAG ---
|
|
1866
1866
|
|
|
1867
|
+
/** --- 是否马上要隐藏的 timer --- */
|
|
1868
|
+
let dragTimeOut: number = 0;
|
|
1869
|
+
|
|
1867
1870
|
/**
|
|
1868
1871
|
* --- 显示 drag 虚拟框 ---
|
|
1869
1872
|
*/
|
|
1870
1873
|
export function showDrag(): void {
|
|
1874
|
+
if (dragTimeOut) {
|
|
1875
|
+
clearTimeout(dragTimeOut);
|
|
1876
|
+
dragTimeOut = 0;
|
|
1877
|
+
}
|
|
1871
1878
|
elements.drag.style.opacity = '1';
|
|
1872
1879
|
elements.drag.style.transform = 'perspective(100px) rotateX(15deg) translateZ(15px)';
|
|
1873
1880
|
elements.drag.style.borderBottomWidth = '2px';
|
|
@@ -1914,7 +1921,8 @@ export function moveDrag(opt: types.IMoveDragOptions): void {
|
|
|
1914
1921
|
export function hideDrag(): void {
|
|
1915
1922
|
elements.drag.style.transform = 'initial';
|
|
1916
1923
|
elements.drag.style.borderBottomWidth = '1px';
|
|
1917
|
-
setTimeout(() => {
|
|
1924
|
+
dragTimeOut = window.setTimeout(() => {
|
|
1925
|
+
dragTimeOut = 0;
|
|
1918
1926
|
elements.drag.style.opacity = '0';
|
|
1919
1927
|
}, 300);
|
|
1920
1928
|
}
|
|
@@ -2409,7 +2417,7 @@ export function remove(formId: number): boolean {
|
|
|
2409
2417
|
if (Object.keys(task.list[taskId].forms).length === 0) {
|
|
2410
2418
|
task.end(taskId);
|
|
2411
2419
|
}
|
|
2412
|
-
},
|
|
2420
|
+
}, 300);
|
|
2413
2421
|
return true;
|
|
2414
2422
|
}
|
|
2415
2423
|
else {
|
package/dist/lib/fs.js
CHANGED
|
@@ -38,7 +38,7 @@ const task = __importStar(require("./task"));
|
|
|
38
38
|
const form = __importStar(require("./form"));
|
|
39
39
|
const core = __importStar(require("./core"));
|
|
40
40
|
const native = __importStar(require("./native"));
|
|
41
|
-
const clickgoFiles = ['/app/', '/app/demo/', '/app/demo/app.js', '/app/demo/config.json', '/app/demo/form/', '/app/demo/form/control/', '/app/demo/form/control/alayout/', '/app/demo/form/control/alayout/alayout.css', '/app/demo/form/control/alayout/alayout.js', '/app/demo/form/control/alayout/alayout.xml', '/app/demo/form/control/arteditor/', '/app/demo/form/control/arteditor/arteditor.js', '/app/demo/form/control/arteditor/arteditor.xml', '/app/demo/form/control/arteditor/img.js', '/app/demo/form/control/arteditor/img.xml', '/app/demo/form/control/block/', '/app/demo/form/control/block/block.css', '/app/demo/form/control/block/block.xml', '/app/demo/form/control/box/', '/app/demo/form/control/box/box.js', '/app/demo/form/control/box/box.xml', '/app/demo/form/control/button/', '/app/demo/form/control/button/button.css', '/app/demo/form/control/button/button.js', '/app/demo/form/control/button/button.xml', '/app/demo/form/control/check/', '/app/demo/form/control/check/check.js', '/app/demo/form/control/check/check.xml', '/app/demo/form/control/date/', '/app/demo/form/control/date/date.js', '/app/demo/form/control/date/date.xml', '/app/demo/form/control/desc/', '/app/demo/form/control/desc/desc.js', '/app/demo/form/control/desc/desc.xml', '/app/demo/form/control/dialog/', '/app/demo/form/control/dialog/dialog.js', '/app/demo/form/control/dialog/dialog.xml', '/app/demo/form/control/drawer/', '/app/demo/form/control/drawer/drawer.js', '/app/demo/form/control/drawer/drawer.xml', '/app/demo/form/control/echarts/', '/app/demo/form/control/echarts/echarts.js', '/app/demo/form/control/echarts/echarts.xml', '/app/demo/form/control/file/', '/app/demo/form/control/file/file.js', '/app/demo/form/control/file/file.xml', '/app/demo/form/control/flow/', '/app/demo/form/control/flow/flow.css', '/app/demo/form/control/flow/flow.js', '/app/demo/form/control/flow/flow.xml', '/app/demo/form/control/form/', '/app/demo/form/control/form/form.css', '/app/demo/form/control/form/form.js', '/app/demo/form/control/form/form.xml', '/app/demo/form/control/group/', '/app/demo/form/control/group/group.js', '/app/demo/form/control/group/group.xml', '/app/demo/form/control/html/', '/app/demo/form/control/html/html.js', '/app/demo/form/control/html/html.xml', '/app/demo/form/control/iconview/', '/app/demo/form/control/iconview/iconview.js', '/app/demo/form/control/iconview/iconview.xml', '/app/demo/form/control/img/', '/app/demo/form/control/img/img.xml', '/app/demo/form/control/label/', '/app/demo/form/control/label/label.js', '/app/demo/form/control/label/label.xml', '/app/demo/form/control/layout/', '/app/demo/form/control/layout/layout.js', '/app/demo/form/control/layout/layout.xml', '/app/demo/form/control/link/', '/app/demo/form/control/link/link.js', '/app/demo/form/control/link/link.xml', '/app/demo/form/control/list/', '/app/demo/form/control/list/list.css', '/app/demo/form/control/list/list.js', '/app/demo/form/control/list/list.xml', '/app/demo/form/control/loading/', '/app/demo/form/control/loading/loading.xml', '/app/demo/form/control/map/', '/app/demo/form/control/map/map.js', '/app/demo/form/control/map/map.xml', '/app/demo/form/control/marquee/', '/app/demo/form/control/marquee/marquee.js', '/app/demo/form/control/marquee/marquee.xml', '/app/demo/form/control/menu/', '/app/demo/form/control/menu/menu.js', '/app/demo/form/control/menu/menu.xml', '/app/demo/form/control/monaco/', '/app/demo/form/control/monaco/monaco.js', '/app/demo/form/control/monaco/monaco.xml', '/app/demo/form/control/nav/', '/app/demo/form/control/nav/nav.js', '/app/demo/form/control/nav/nav.xml', '/app/demo/form/control/page/', '/app/demo/form/control/page/page.js', '/app/demo/form/control/page/page.xml', '/app/demo/form/control/panel/', '/app/demo/form/control/panel/panel.js', '/app/demo/form/control/panel/panel.xml', '/app/demo/form/control/panel/test1.js', '/app/demo/form/control/panel/test1.xml', '/app/demo/form/control/panel/test2.xml', '/app/demo/form/control/property/', '/app/demo/form/control/property/property.js', '/app/demo/form/control/property/property.xml', '/app/demo/form/control/radio/', '/app/demo/form/control/radio/radio.js', '/app/demo/form/control/radio/radio.xml', '/app/demo/form/control/scroll/', '/app/demo/form/control/scroll/scroll.js', '/app/demo/form/control/scroll/scroll.xml', '/app/demo/form/control/select/', '/app/demo/form/control/select/select.js', '/app/demo/form/control/select/select.xml', '/app/demo/form/control/step/', '/app/demo/form/control/step/step.js', '/app/demo/form/control/step/step.xml', '/app/demo/form/control/svg/', '/app/demo/form/control/svg/svg.js', '/app/demo/form/control/svg/svg.xml', '/app/demo/form/control/tab/', '/app/demo/form/control/tab/tab.js', '/app/demo/form/control/tab/tab.xml', '/app/demo/form/control/table/', '/app/demo/form/control/table/table.js', '/app/demo/form/control/table/table.xml', '/app/demo/form/control/tag/', '/app/demo/form/control/tag/tag.xml', '/app/demo/form/control/text/', '/app/demo/form/control/text/text.js', '/app/demo/form/control/text/text.xml', '/app/demo/form/control/tip/', '/app/demo/form/control/tip/tip.xml', '/app/demo/form/control/tuieditor/', '/app/demo/form/control/tuieditor/tuieditor.js', '/app/demo/form/control/tuieditor/tuieditor.xml', '/app/demo/form/control/vflow/', '/app/demo/form/control/vflow/vflow.css', '/app/demo/form/control/vflow/vflow.js', '/app/demo/form/control/vflow/vflow.xml', '/app/demo/form/control/video/', '/app/demo/form/control/video/video.js', '/app/demo/form/control/video/video.xml', '/app/demo/form/control/xterm/', '/app/demo/form/control/xterm/xterm.js', '/app/demo/form/control/xterm/xterm.xml', '/app/demo/form/event/', '/app/demo/form/event/form/', '/app/demo/form/event/form/form.css', '/app/demo/form/event/form/form.js', '/app/demo/form/event/form/form.xml', '/app/demo/form/event/other/', '/app/demo/form/event/other/other.js', '/app/demo/form/event/other/other.xml', '/app/demo/form/event/screen/', '/app/demo/form/event/screen/screen.js', '/app/demo/form/event/screen/screen.xml', '/app/demo/form/event/task/', '/app/demo/form/event/task/task.js', '/app/demo/form/event/task/task.xml', '/app/demo/form/main.css', '/app/demo/form/main.js', '/app/demo/form/main.xml', '/app/demo/form/method/', '/app/demo/form/method/acontrol/', '/app/demo/form/method/acontrol/acontrol.js', '/app/demo/form/method/acontrol/acontrol.xml', '/app/demo/form/method/aform/', '/app/demo/form/method/aform/aform.js', '/app/demo/form/method/aform/aform.xml', '/app/demo/form/method/aform/sd.js', '/app/demo/form/method/aform/sd.xml', '/app/demo/form/method/core/', '/app/demo/form/method/core/core.js', '/app/demo/form/method/core/core.xml', '/app/demo/form/method/dom/', '/app/demo/form/method/dom/dom.css', '/app/demo/form/method/dom/dom.js', '/app/demo/form/method/dom/dom.xml', '/app/demo/form/method/form/', '/app/demo/form/method/form/form.js', '/app/demo/form/method/form/form.xml', '/app/demo/form/method/form/test.xml', '/app/demo/form/method/fs/', '/app/demo/form/method/fs/fs.js', '/app/demo/form/method/fs/fs.xml', '/app/demo/form/method/fs/text.js', '/app/demo/form/method/fs/text.xml', '/app/demo/form/method/native/', '/app/demo/form/method/native/native.js', '/app/demo/form/method/native/native.xml', '/app/demo/form/method/storage/', '/app/demo/form/method/storage/storage.js', '/app/demo/form/method/storage/storage.xml', '/app/demo/form/method/system/', '/app/demo/form/method/system/system.js', '/app/demo/form/method/system/system.xml', '/app/demo/form/method/task/', '/app/demo/form/method/task/locale1.json', '/app/demo/form/method/task/locale2.json', '/app/demo/form/method/task/task.js', '/app/demo/form/method/task/task.xml', '/app/demo/form/method/theme/', '/app/demo/form/method/theme/theme.js', '/app/demo/form/method/theme/theme.xml', '/app/demo/form/method/tool/', '/app/demo/form/method/tool/tool.js', '/app/demo/form/method/tool/tool.xml', '/app/demo/form/method/zip/', '/app/demo/form/method/zip/zip.js', '/app/demo/form/method/zip/zip.xml', '/app/demo/form/solution/', '/app/demo/form/solution/backpanel/', '/app/demo/form/solution/backpanel/backpanel.js', '/app/demo/form/solution/backpanel/backpanel.xml', '/app/demo/global.css', '/app/demo/res/', '/app/demo/res/custombtn.cgc', '/app/demo/res/icon.svg', '/app/demo/res/img.jpg', '/app/demo/res/marker.svg', '/app/demo/res/r-1.svg', '/app/demo/res/r-2.svg', '/app/demo/res/sql.svg', '/app/demo/res/txt.svg', '/app/demo/res/video.mp4', '/app/demo/res/zip.svg', '/app/task/', '/app/task/app.js', '/app/task/config.json', '/app/task/form/', '/app/task/form/bar/', '/app/task/form/bar/bar.js', '/app/task/form/bar/bar.xml', '/app/task/form/desktop/', '/app/task/form/desktop/desktop.xml', '/app/task/locale/', '/app/task/locale/en.json', '/app/task/locale/ja.json', '/app/task/locale/sc.json', '/app/task/locale/tc.json', '/clickgo.js', '/clickgo.ts', '/control/', '/control/arteditor.cgc', '/control/box.cgc', '/control/common.cgc', '/control/desc.cgc', '/control/drawer.cgc', '/control/echarts.cgc', '/control/form.cgc', '/control/html.cgc', '/control/iconview.cgc', '/control/map.cgc', '/control/monaco.cgc', '/control/nav.cgc', '/control/page.cgc', '/control/property.cgc', '/control/table.cgc', '/control/task.cgc', '/control/tuieditor.cgc', '/control/xterm.cgc', '/ext/', '/ext/toastui-editor-all.min.js', '/global.css', '/icon.png', '/index.js', '/index.ts', '/lib/', '/lib/control.js', '/lib/control.ts', '/lib/core.js', '/lib/core.ts', '/lib/dom.js', '/lib/dom.ts', '/lib/form.js', '/lib/form.ts', '/lib/fs.js', '/lib/fs.ts', '/lib/native.js', '/lib/native.ts', '/lib/storage.js', '/lib/storage.ts', '/lib/task.js', '/lib/task.ts', '/lib/theme.js', '/lib/theme.ts', '/lib/tool.js', '/lib/tool.ts', '/lib/zip.js', '/lib/zip.ts', '/theme/', '/theme/byterun.cgt', '/theme/familiar.cgt', '/theme/light.cgt'];
|
|
41
|
+
const clickgoFiles = ['/app/', '/app/demo/', '/app/demo/app.js', '/app/demo/config.json', '/app/demo/form/', '/app/demo/form/control/', '/app/demo/form/control/alayout/', '/app/demo/form/control/alayout/alayout.css', '/app/demo/form/control/alayout/alayout.js', '/app/demo/form/control/alayout/alayout.xml', '/app/demo/form/control/arteditor/', '/app/demo/form/control/arteditor/arteditor.js', '/app/demo/form/control/arteditor/arteditor.xml', '/app/demo/form/control/arteditor/img.js', '/app/demo/form/control/arteditor/img.xml', '/app/demo/form/control/block/', '/app/demo/form/control/block/block.css', '/app/demo/form/control/block/block.xml', '/app/demo/form/control/box/', '/app/demo/form/control/box/box.js', '/app/demo/form/control/box/box.xml', '/app/demo/form/control/button/', '/app/demo/form/control/button/button.css', '/app/demo/form/control/button/button.js', '/app/demo/form/control/button/button.xml', '/app/demo/form/control/check/', '/app/demo/form/control/check/check.js', '/app/demo/form/control/check/check.xml', '/app/demo/form/control/date/', '/app/demo/form/control/date/date.js', '/app/demo/form/control/date/date.xml', '/app/demo/form/control/desc/', '/app/demo/form/control/desc/desc.js', '/app/demo/form/control/desc/desc.xml', '/app/demo/form/control/dialog/', '/app/demo/form/control/dialog/dialog.js', '/app/demo/form/control/dialog/dialog.xml', '/app/demo/form/control/drawer/', '/app/demo/form/control/drawer/drawer.js', '/app/demo/form/control/drawer/drawer.xml', '/app/demo/form/control/echarts/', '/app/demo/form/control/echarts/echarts.js', '/app/demo/form/control/echarts/echarts.xml', '/app/demo/form/control/file/', '/app/demo/form/control/file/file.js', '/app/demo/form/control/file/file.xml', '/app/demo/form/control/flow/', '/app/demo/form/control/flow/flow.css', '/app/demo/form/control/flow/flow.js', '/app/demo/form/control/flow/flow.xml', '/app/demo/form/control/form/', '/app/demo/form/control/form/form.css', '/app/demo/form/control/form/form.js', '/app/demo/form/control/form/form.xml', '/app/demo/form/control/group/', '/app/demo/form/control/group/group.js', '/app/demo/form/control/group/group.xml', '/app/demo/form/control/html/', '/app/demo/form/control/html/html.js', '/app/demo/form/control/html/html.xml', '/app/demo/form/control/iconview/', '/app/demo/form/control/iconview/iconview.js', '/app/demo/form/control/iconview/iconview.xml', '/app/demo/form/control/img/', '/app/demo/form/control/img/img.xml', '/app/demo/form/control/label/', '/app/demo/form/control/label/label.js', '/app/demo/form/control/label/label.xml', '/app/demo/form/control/layout/', '/app/demo/form/control/layout/layout.js', '/app/demo/form/control/layout/layout.xml', '/app/demo/form/control/link/', '/app/demo/form/control/link/link.js', '/app/demo/form/control/link/link.xml', '/app/demo/form/control/list/', '/app/demo/form/control/list/list.css', '/app/demo/form/control/list/list.js', '/app/demo/form/control/list/list.xml', '/app/demo/form/control/loading/', '/app/demo/form/control/loading/loading.xml', '/app/demo/form/control/map/', '/app/demo/form/control/map/map.js', '/app/demo/form/control/map/map.xml', '/app/demo/form/control/marquee/', '/app/demo/form/control/marquee/marquee.js', '/app/demo/form/control/marquee/marquee.xml', '/app/demo/form/control/menu/', '/app/demo/form/control/menu/menu.js', '/app/demo/form/control/menu/menu.xml', '/app/demo/form/control/monaco/', '/app/demo/form/control/monaco/monaco.js', '/app/demo/form/control/monaco/monaco.xml', '/app/demo/form/control/nav/', '/app/demo/form/control/nav/nav.js', '/app/demo/form/control/nav/nav.xml', '/app/demo/form/control/page/', '/app/demo/form/control/page/page.js', '/app/demo/form/control/page/page.xml', '/app/demo/form/control/panel/', '/app/demo/form/control/panel/panel.js', '/app/demo/form/control/panel/panel.xml', '/app/demo/form/control/panel/test1.js', '/app/demo/form/control/panel/test1.xml', '/app/demo/form/control/panel/test2.xml', '/app/demo/form/control/property/', '/app/demo/form/control/property/property.js', '/app/demo/form/control/property/property.xml', '/app/demo/form/control/radio/', '/app/demo/form/control/radio/radio.js', '/app/demo/form/control/radio/radio.xml', '/app/demo/form/control/scroll/', '/app/demo/form/control/scroll/scroll.js', '/app/demo/form/control/scroll/scroll.xml', '/app/demo/form/control/select/', '/app/demo/form/control/select/select.js', '/app/demo/form/control/select/select.xml', '/app/demo/form/control/step/', '/app/demo/form/control/step/step.js', '/app/demo/form/control/step/step.xml', '/app/demo/form/control/svg/', '/app/demo/form/control/svg/svg.js', '/app/demo/form/control/svg/svg.xml', '/app/demo/form/control/switch/', '/app/demo/form/control/switch/switch.js', '/app/demo/form/control/switch/switch.xml', '/app/demo/form/control/tab/', '/app/demo/form/control/tab/tab.js', '/app/demo/form/control/tab/tab.xml', '/app/demo/form/control/table/', '/app/demo/form/control/table/table.js', '/app/demo/form/control/table/table.xml', '/app/demo/form/control/tag/', '/app/demo/form/control/tag/tag.xml', '/app/demo/form/control/text/', '/app/demo/form/control/text/text.js', '/app/demo/form/control/text/text.xml', '/app/demo/form/control/tip/', '/app/demo/form/control/tip/tip.xml', '/app/demo/form/control/tuieditor/', '/app/demo/form/control/tuieditor/tuieditor.js', '/app/demo/form/control/tuieditor/tuieditor.xml', '/app/demo/form/control/vflow/', '/app/demo/form/control/vflow/vflow.css', '/app/demo/form/control/vflow/vflow.js', '/app/demo/form/control/vflow/vflow.xml', '/app/demo/form/control/video/', '/app/demo/form/control/video/video.js', '/app/demo/form/control/video/video.xml', '/app/demo/form/control/xterm/', '/app/demo/form/control/xterm/xterm.js', '/app/demo/form/control/xterm/xterm.xml', '/app/demo/form/event/', '/app/demo/form/event/form/', '/app/demo/form/event/form/form.css', '/app/demo/form/event/form/form.js', '/app/demo/form/event/form/form.xml', '/app/demo/form/event/other/', '/app/demo/form/event/other/other.js', '/app/demo/form/event/other/other.xml', '/app/demo/form/event/screen/', '/app/demo/form/event/screen/screen.js', '/app/demo/form/event/screen/screen.xml', '/app/demo/form/event/task/', '/app/demo/form/event/task/task.js', '/app/demo/form/event/task/task.xml', '/app/demo/form/main.css', '/app/demo/form/main.js', '/app/demo/form/main.xml', '/app/demo/form/method/', '/app/demo/form/method/acontrol/', '/app/demo/form/method/acontrol/acontrol.js', '/app/demo/form/method/acontrol/acontrol.xml', '/app/demo/form/method/aform/', '/app/demo/form/method/aform/aform.js', '/app/demo/form/method/aform/aform.xml', '/app/demo/form/method/aform/sd.js', '/app/demo/form/method/aform/sd.xml', '/app/demo/form/method/core/', '/app/demo/form/method/core/core.js', '/app/demo/form/method/core/core.xml', '/app/demo/form/method/dom/', '/app/demo/form/method/dom/dom.css', '/app/demo/form/method/dom/dom.js', '/app/demo/form/method/dom/dom.xml', '/app/demo/form/method/form/', '/app/demo/form/method/form/form.js', '/app/demo/form/method/form/form.xml', '/app/demo/form/method/form/test.xml', '/app/demo/form/method/fs/', '/app/demo/form/method/fs/fs.js', '/app/demo/form/method/fs/fs.xml', '/app/demo/form/method/fs/text.js', '/app/demo/form/method/fs/text.xml', '/app/demo/form/method/native/', '/app/demo/form/method/native/native.js', '/app/demo/form/method/native/native.xml', '/app/demo/form/method/storage/', '/app/demo/form/method/storage/storage.js', '/app/demo/form/method/storage/storage.xml', '/app/demo/form/method/system/', '/app/demo/form/method/system/system.js', '/app/demo/form/method/system/system.xml', '/app/demo/form/method/task/', '/app/demo/form/method/task/locale1.json', '/app/demo/form/method/task/locale2.json', '/app/demo/form/method/task/task.js', '/app/demo/form/method/task/task.xml', '/app/demo/form/method/theme/', '/app/demo/form/method/theme/theme.js', '/app/demo/form/method/theme/theme.xml', '/app/demo/form/method/tool/', '/app/demo/form/method/tool/tool.js', '/app/demo/form/method/tool/tool.xml', '/app/demo/form/method/zip/', '/app/demo/form/method/zip/zip.js', '/app/demo/form/method/zip/zip.xml', '/app/demo/form/solution/', '/app/demo/form/solution/backpanel/', '/app/demo/form/solution/backpanel/backpanel.js', '/app/demo/form/solution/backpanel/backpanel.xml', '/app/demo/global.css', '/app/demo/res/', '/app/demo/res/custombtn.cgc', '/app/demo/res/icon.svg', '/app/demo/res/img.jpg', '/app/demo/res/marker.svg', '/app/demo/res/r-1.svg', '/app/demo/res/r-2.svg', '/app/demo/res/sql.svg', '/app/demo/res/txt.svg', '/app/demo/res/video.mp4', '/app/demo/res/zip.svg', '/app/task/', '/app/task/app.js', '/app/task/config.json', '/app/task/form/', '/app/task/form/bar/', '/app/task/form/bar/bar.js', '/app/task/form/bar/bar.xml', '/app/task/form/desktop/', '/app/task/form/desktop/desktop.xml', '/app/task/locale/', '/app/task/locale/en.json', '/app/task/locale/ja.json', '/app/task/locale/sc.json', '/app/task/locale/tc.json', '/clickgo.js', '/clickgo.ts', '/control/', '/control/arteditor.cgc', '/control/box.cgc', '/control/common.cgc', '/control/desc.cgc', '/control/drawer.cgc', '/control/echarts.cgc', '/control/form.cgc', '/control/html.cgc', '/control/iconview.cgc', '/control/map.cgc', '/control/monaco.cgc', '/control/nav.cgc', '/control/page.cgc', '/control/property.cgc', '/control/table.cgc', '/control/task.cgc', '/control/tuieditor.cgc', '/control/xterm.cgc', '/ext/', '/ext/toastui-editor-all.min.js', '/global.css', '/icon.png', '/index.js', '/index.ts', '/lib/', '/lib/control.js', '/lib/control.ts', '/lib/core.js', '/lib/core.ts', '/lib/dom.js', '/lib/dom.ts', '/lib/form.js', '/lib/form.ts', '/lib/fs.js', '/lib/fs.ts', '/lib/native.js', '/lib/native.ts', '/lib/storage.js', '/lib/storage.ts', '/lib/task.js', '/lib/task.ts', '/lib/theme.js', '/lib/theme.ts', '/lib/tool.js', '/lib/tool.ts', '/lib/zip.js', '/lib/zip.ts', '/theme/', '/theme/byterun.cgt', '/theme/familiar.cgt', '/theme/light.cgt'];
|
|
42
42
|
const localeData = {
|
|
43
43
|
'en': {
|
|
44
44
|
'apply-unmount': 'Are you sure to unmount the "?" mount point?',
|
|
@@ -119,7 +119,7 @@ function unmount(name) {
|
|
|
119
119
|
}
|
|
120
120
|
exports.unmount = unmount;
|
|
121
121
|
function getContent(path, options, taskId) {
|
|
122
|
-
var _a, _b;
|
|
122
|
+
var _a, _b, _c;
|
|
123
123
|
return __awaiter(this, void 0, void 0, function* () {
|
|
124
124
|
path = tool.urlResolve('/', path);
|
|
125
125
|
const fpath = path.slice(8);
|
|
@@ -146,21 +146,21 @@ function getContent(path, options, taskId) {
|
|
|
146
146
|
ourl = path;
|
|
147
147
|
}
|
|
148
148
|
try {
|
|
149
|
-
const rand = Math.random().toString();
|
|
149
|
+
const rand = '?' + ((_a = options.cache) !== null && _a !== void 0 ? _a : Math.random().toString());
|
|
150
150
|
let blob = null;
|
|
151
151
|
const headers = {};
|
|
152
152
|
if (start || end) {
|
|
153
153
|
headers['range'] = `bytes=${start === undefined ? '0' : start}-${end === undefined ? '' : end}`;
|
|
154
154
|
}
|
|
155
155
|
if (options.progress) {
|
|
156
|
-
blob = yield tool.request(ourl + (!ourl.startsWith(loader.cdn) ?
|
|
156
|
+
blob = yield tool.request(ourl + (!ourl.startsWith(loader.cdn) ? rand : ''), {
|
|
157
157
|
'headers': headers,
|
|
158
158
|
'progress': options.progress,
|
|
159
159
|
'responseType': 'blob'
|
|
160
160
|
});
|
|
161
161
|
}
|
|
162
162
|
else {
|
|
163
|
-
blob = yield (yield fetch(ourl + (!ourl.startsWith(loader.cdn) ?
|
|
163
|
+
blob = yield (yield fetch(ourl + (!ourl.startsWith(loader.cdn) ? rand : ''), {
|
|
164
164
|
'headers': headers
|
|
165
165
|
})).blob();
|
|
166
166
|
}
|
|
@@ -178,7 +178,7 @@ function getContent(path, options, taskId) {
|
|
|
178
178
|
fr.readAsText(blob, encoding);
|
|
179
179
|
});
|
|
180
180
|
}
|
|
181
|
-
catch (
|
|
181
|
+
catch (_d) {
|
|
182
182
|
return null;
|
|
183
183
|
}
|
|
184
184
|
}
|
|
@@ -193,7 +193,7 @@ function getContent(path, options, taskId) {
|
|
|
193
193
|
if (!hanlder) {
|
|
194
194
|
return null;
|
|
195
195
|
}
|
|
196
|
-
return (
|
|
196
|
+
return (_c = (_b = hanlder.getContent) === null || _b === void 0 ? void 0 : _b.call(hanlder, path.slice(9 + name.length), options)) !== null && _c !== void 0 ? _c : null;
|
|
197
197
|
}
|
|
198
198
|
if (options.progress) {
|
|
199
199
|
delete options.progress;
|
package/dist/lib/fs.ts
CHANGED
|
@@ -12,7 +12,7 @@ import * as form from './form';
|
|
|
12
12
|
import * as core from './core';
|
|
13
13
|
import * as native from './native';
|
|
14
14
|
|
|
15
|
-
const clickgoFiles = ['/app/', '/app/demo/', '/app/demo/app.js', '/app/demo/config.json', '/app/demo/form/', '/app/demo/form/control/', '/app/demo/form/control/alayout/', '/app/demo/form/control/alayout/alayout.css', '/app/demo/form/control/alayout/alayout.js', '/app/demo/form/control/alayout/alayout.xml', '/app/demo/form/control/arteditor/', '/app/demo/form/control/arteditor/arteditor.js', '/app/demo/form/control/arteditor/arteditor.xml', '/app/demo/form/control/arteditor/img.js', '/app/demo/form/control/arteditor/img.xml', '/app/demo/form/control/block/', '/app/demo/form/control/block/block.css', '/app/demo/form/control/block/block.xml', '/app/demo/form/control/box/', '/app/demo/form/control/box/box.js', '/app/demo/form/control/box/box.xml', '/app/demo/form/control/button/', '/app/demo/form/control/button/button.css', '/app/demo/form/control/button/button.js', '/app/demo/form/control/button/button.xml', '/app/demo/form/control/check/', '/app/demo/form/control/check/check.js', '/app/demo/form/control/check/check.xml', '/app/demo/form/control/date/', '/app/demo/form/control/date/date.js', '/app/demo/form/control/date/date.xml', '/app/demo/form/control/desc/', '/app/demo/form/control/desc/desc.js', '/app/demo/form/control/desc/desc.xml', '/app/demo/form/control/dialog/', '/app/demo/form/control/dialog/dialog.js', '/app/demo/form/control/dialog/dialog.xml', '/app/demo/form/control/drawer/', '/app/demo/form/control/drawer/drawer.js', '/app/demo/form/control/drawer/drawer.xml', '/app/demo/form/control/echarts/', '/app/demo/form/control/echarts/echarts.js', '/app/demo/form/control/echarts/echarts.xml', '/app/demo/form/control/file/', '/app/demo/form/control/file/file.js', '/app/demo/form/control/file/file.xml', '/app/demo/form/control/flow/', '/app/demo/form/control/flow/flow.css', '/app/demo/form/control/flow/flow.js', '/app/demo/form/control/flow/flow.xml', '/app/demo/form/control/form/', '/app/demo/form/control/form/form.css', '/app/demo/form/control/form/form.js', '/app/demo/form/control/form/form.xml', '/app/demo/form/control/group/', '/app/demo/form/control/group/group.js', '/app/demo/form/control/group/group.xml', '/app/demo/form/control/html/', '/app/demo/form/control/html/html.js', '/app/demo/form/control/html/html.xml', '/app/demo/form/control/iconview/', '/app/demo/form/control/iconview/iconview.js', '/app/demo/form/control/iconview/iconview.xml', '/app/demo/form/control/img/', '/app/demo/form/control/img/img.xml', '/app/demo/form/control/label/', '/app/demo/form/control/label/label.js', '/app/demo/form/control/label/label.xml', '/app/demo/form/control/layout/', '/app/demo/form/control/layout/layout.js', '/app/demo/form/control/layout/layout.xml', '/app/demo/form/control/link/', '/app/demo/form/control/link/link.js', '/app/demo/form/control/link/link.xml', '/app/demo/form/control/list/', '/app/demo/form/control/list/list.css', '/app/demo/form/control/list/list.js', '/app/demo/form/control/list/list.xml', '/app/demo/form/control/loading/', '/app/demo/form/control/loading/loading.xml', '/app/demo/form/control/map/', '/app/demo/form/control/map/map.js', '/app/demo/form/control/map/map.xml', '/app/demo/form/control/marquee/', '/app/demo/form/control/marquee/marquee.js', '/app/demo/form/control/marquee/marquee.xml', '/app/demo/form/control/menu/', '/app/demo/form/control/menu/menu.js', '/app/demo/form/control/menu/menu.xml', '/app/demo/form/control/monaco/', '/app/demo/form/control/monaco/monaco.js', '/app/demo/form/control/monaco/monaco.xml', '/app/demo/form/control/nav/', '/app/demo/form/control/nav/nav.js', '/app/demo/form/control/nav/nav.xml', '/app/demo/form/control/page/', '/app/demo/form/control/page/page.js', '/app/demo/form/control/page/page.xml', '/app/demo/form/control/panel/', '/app/demo/form/control/panel/panel.js', '/app/demo/form/control/panel/panel.xml', '/app/demo/form/control/panel/test1.js', '/app/demo/form/control/panel/test1.xml', '/app/demo/form/control/panel/test2.xml', '/app/demo/form/control/property/', '/app/demo/form/control/property/property.js', '/app/demo/form/control/property/property.xml', '/app/demo/form/control/radio/', '/app/demo/form/control/radio/radio.js', '/app/demo/form/control/radio/radio.xml', '/app/demo/form/control/scroll/', '/app/demo/form/control/scroll/scroll.js', '/app/demo/form/control/scroll/scroll.xml', '/app/demo/form/control/select/', '/app/demo/form/control/select/select.js', '/app/demo/form/control/select/select.xml', '/app/demo/form/control/step/', '/app/demo/form/control/step/step.js', '/app/demo/form/control/step/step.xml', '/app/demo/form/control/svg/', '/app/demo/form/control/svg/svg.js', '/app/demo/form/control/svg/svg.xml', '/app/demo/form/control/tab/', '/app/demo/form/control/tab/tab.js', '/app/demo/form/control/tab/tab.xml', '/app/demo/form/control/table/', '/app/demo/form/control/table/table.js', '/app/demo/form/control/table/table.xml', '/app/demo/form/control/tag/', '/app/demo/form/control/tag/tag.xml', '/app/demo/form/control/text/', '/app/demo/form/control/text/text.js', '/app/demo/form/control/text/text.xml', '/app/demo/form/control/tip/', '/app/demo/form/control/tip/tip.xml', '/app/demo/form/control/tuieditor/', '/app/demo/form/control/tuieditor/tuieditor.js', '/app/demo/form/control/tuieditor/tuieditor.xml', '/app/demo/form/control/vflow/', '/app/demo/form/control/vflow/vflow.css', '/app/demo/form/control/vflow/vflow.js', '/app/demo/form/control/vflow/vflow.xml', '/app/demo/form/control/video/', '/app/demo/form/control/video/video.js', '/app/demo/form/control/video/video.xml', '/app/demo/form/control/xterm/', '/app/demo/form/control/xterm/xterm.js', '/app/demo/form/control/xterm/xterm.xml', '/app/demo/form/event/', '/app/demo/form/event/form/', '/app/demo/form/event/form/form.css', '/app/demo/form/event/form/form.js', '/app/demo/form/event/form/form.xml', '/app/demo/form/event/other/', '/app/demo/form/event/other/other.js', '/app/demo/form/event/other/other.xml', '/app/demo/form/event/screen/', '/app/demo/form/event/screen/screen.js', '/app/demo/form/event/screen/screen.xml', '/app/demo/form/event/task/', '/app/demo/form/event/task/task.js', '/app/demo/form/event/task/task.xml', '/app/demo/form/main.css', '/app/demo/form/main.js', '/app/demo/form/main.xml', '/app/demo/form/method/', '/app/demo/form/method/acontrol/', '/app/demo/form/method/acontrol/acontrol.js', '/app/demo/form/method/acontrol/acontrol.xml', '/app/demo/form/method/aform/', '/app/demo/form/method/aform/aform.js', '/app/demo/form/method/aform/aform.xml', '/app/demo/form/method/aform/sd.js', '/app/demo/form/method/aform/sd.xml', '/app/demo/form/method/core/', '/app/demo/form/method/core/core.js', '/app/demo/form/method/core/core.xml', '/app/demo/form/method/dom/', '/app/demo/form/method/dom/dom.css', '/app/demo/form/method/dom/dom.js', '/app/demo/form/method/dom/dom.xml', '/app/demo/form/method/form/', '/app/demo/form/method/form/form.js', '/app/demo/form/method/form/form.xml', '/app/demo/form/method/form/test.xml', '/app/demo/form/method/fs/', '/app/demo/form/method/fs/fs.js', '/app/demo/form/method/fs/fs.xml', '/app/demo/form/method/fs/text.js', '/app/demo/form/method/fs/text.xml', '/app/demo/form/method/native/', '/app/demo/form/method/native/native.js', '/app/demo/form/method/native/native.xml', '/app/demo/form/method/storage/', '/app/demo/form/method/storage/storage.js', '/app/demo/form/method/storage/storage.xml', '/app/demo/form/method/system/', '/app/demo/form/method/system/system.js', '/app/demo/form/method/system/system.xml', '/app/demo/form/method/task/', '/app/demo/form/method/task/locale1.json', '/app/demo/form/method/task/locale2.json', '/app/demo/form/method/task/task.js', '/app/demo/form/method/task/task.xml', '/app/demo/form/method/theme/', '/app/demo/form/method/theme/theme.js', '/app/demo/form/method/theme/theme.xml', '/app/demo/form/method/tool/', '/app/demo/form/method/tool/tool.js', '/app/demo/form/method/tool/tool.xml', '/app/demo/form/method/zip/', '/app/demo/form/method/zip/zip.js', '/app/demo/form/method/zip/zip.xml', '/app/demo/form/solution/', '/app/demo/form/solution/backpanel/', '/app/demo/form/solution/backpanel/backpanel.js', '/app/demo/form/solution/backpanel/backpanel.xml', '/app/demo/global.css', '/app/demo/res/', '/app/demo/res/custombtn.cgc', '/app/demo/res/icon.svg', '/app/demo/res/img.jpg', '/app/demo/res/marker.svg', '/app/demo/res/r-1.svg', '/app/demo/res/r-2.svg', '/app/demo/res/sql.svg', '/app/demo/res/txt.svg', '/app/demo/res/video.mp4', '/app/demo/res/zip.svg', '/app/task/', '/app/task/app.js', '/app/task/config.json', '/app/task/form/', '/app/task/form/bar/', '/app/task/form/bar/bar.js', '/app/task/form/bar/bar.xml', '/app/task/form/desktop/', '/app/task/form/desktop/desktop.xml', '/app/task/locale/', '/app/task/locale/en.json', '/app/task/locale/ja.json', '/app/task/locale/sc.json', '/app/task/locale/tc.json', '/clickgo.js', '/clickgo.ts', '/control/', '/control/arteditor.cgc', '/control/box.cgc', '/control/common.cgc', '/control/desc.cgc', '/control/drawer.cgc', '/control/echarts.cgc', '/control/form.cgc', '/control/html.cgc', '/control/iconview.cgc', '/control/map.cgc', '/control/monaco.cgc', '/control/nav.cgc', '/control/page.cgc', '/control/property.cgc', '/control/table.cgc', '/control/task.cgc', '/control/tuieditor.cgc', '/control/xterm.cgc', '/ext/', '/ext/toastui-editor-all.min.js', '/global.css', '/icon.png', '/index.js', '/index.ts', '/lib/', '/lib/control.js', '/lib/control.ts', '/lib/core.js', '/lib/core.ts', '/lib/dom.js', '/lib/dom.ts', '/lib/form.js', '/lib/form.ts', '/lib/fs.js', '/lib/fs.ts', '/lib/native.js', '/lib/native.ts', '/lib/storage.js', '/lib/storage.ts', '/lib/task.js', '/lib/task.ts', '/lib/theme.js', '/lib/theme.ts', '/lib/tool.js', '/lib/tool.ts', '/lib/zip.js', '/lib/zip.ts', '/theme/', '/theme/byterun.cgt', '/theme/familiar.cgt', '/theme/light.cgt'];
|
|
15
|
+
const clickgoFiles = ['/app/', '/app/demo/', '/app/demo/app.js', '/app/demo/config.json', '/app/demo/form/', '/app/demo/form/control/', '/app/demo/form/control/alayout/', '/app/demo/form/control/alayout/alayout.css', '/app/demo/form/control/alayout/alayout.js', '/app/demo/form/control/alayout/alayout.xml', '/app/demo/form/control/arteditor/', '/app/demo/form/control/arteditor/arteditor.js', '/app/demo/form/control/arteditor/arteditor.xml', '/app/demo/form/control/arteditor/img.js', '/app/demo/form/control/arteditor/img.xml', '/app/demo/form/control/block/', '/app/demo/form/control/block/block.css', '/app/demo/form/control/block/block.xml', '/app/demo/form/control/box/', '/app/demo/form/control/box/box.js', '/app/demo/form/control/box/box.xml', '/app/demo/form/control/button/', '/app/demo/form/control/button/button.css', '/app/demo/form/control/button/button.js', '/app/demo/form/control/button/button.xml', '/app/demo/form/control/check/', '/app/demo/form/control/check/check.js', '/app/demo/form/control/check/check.xml', '/app/demo/form/control/date/', '/app/demo/form/control/date/date.js', '/app/demo/form/control/date/date.xml', '/app/demo/form/control/desc/', '/app/demo/form/control/desc/desc.js', '/app/demo/form/control/desc/desc.xml', '/app/demo/form/control/dialog/', '/app/demo/form/control/dialog/dialog.js', '/app/demo/form/control/dialog/dialog.xml', '/app/demo/form/control/drawer/', '/app/demo/form/control/drawer/drawer.js', '/app/demo/form/control/drawer/drawer.xml', '/app/demo/form/control/echarts/', '/app/demo/form/control/echarts/echarts.js', '/app/demo/form/control/echarts/echarts.xml', '/app/demo/form/control/file/', '/app/demo/form/control/file/file.js', '/app/demo/form/control/file/file.xml', '/app/demo/form/control/flow/', '/app/demo/form/control/flow/flow.css', '/app/demo/form/control/flow/flow.js', '/app/demo/form/control/flow/flow.xml', '/app/demo/form/control/form/', '/app/demo/form/control/form/form.css', '/app/demo/form/control/form/form.js', '/app/demo/form/control/form/form.xml', '/app/demo/form/control/group/', '/app/demo/form/control/group/group.js', '/app/demo/form/control/group/group.xml', '/app/demo/form/control/html/', '/app/demo/form/control/html/html.js', '/app/demo/form/control/html/html.xml', '/app/demo/form/control/iconview/', '/app/demo/form/control/iconview/iconview.js', '/app/demo/form/control/iconview/iconview.xml', '/app/demo/form/control/img/', '/app/demo/form/control/img/img.xml', '/app/demo/form/control/label/', '/app/demo/form/control/label/label.js', '/app/demo/form/control/label/label.xml', '/app/demo/form/control/layout/', '/app/demo/form/control/layout/layout.js', '/app/demo/form/control/layout/layout.xml', '/app/demo/form/control/link/', '/app/demo/form/control/link/link.js', '/app/demo/form/control/link/link.xml', '/app/demo/form/control/list/', '/app/demo/form/control/list/list.css', '/app/demo/form/control/list/list.js', '/app/demo/form/control/list/list.xml', '/app/demo/form/control/loading/', '/app/demo/form/control/loading/loading.xml', '/app/demo/form/control/map/', '/app/demo/form/control/map/map.js', '/app/demo/form/control/map/map.xml', '/app/demo/form/control/marquee/', '/app/demo/form/control/marquee/marquee.js', '/app/demo/form/control/marquee/marquee.xml', '/app/demo/form/control/menu/', '/app/demo/form/control/menu/menu.js', '/app/demo/form/control/menu/menu.xml', '/app/demo/form/control/monaco/', '/app/demo/form/control/monaco/monaco.js', '/app/demo/form/control/monaco/monaco.xml', '/app/demo/form/control/nav/', '/app/demo/form/control/nav/nav.js', '/app/demo/form/control/nav/nav.xml', '/app/demo/form/control/page/', '/app/demo/form/control/page/page.js', '/app/demo/form/control/page/page.xml', '/app/demo/form/control/panel/', '/app/demo/form/control/panel/panel.js', '/app/demo/form/control/panel/panel.xml', '/app/demo/form/control/panel/test1.js', '/app/demo/form/control/panel/test1.xml', '/app/demo/form/control/panel/test2.xml', '/app/demo/form/control/property/', '/app/demo/form/control/property/property.js', '/app/demo/form/control/property/property.xml', '/app/demo/form/control/radio/', '/app/demo/form/control/radio/radio.js', '/app/demo/form/control/radio/radio.xml', '/app/demo/form/control/scroll/', '/app/demo/form/control/scroll/scroll.js', '/app/demo/form/control/scroll/scroll.xml', '/app/demo/form/control/select/', '/app/demo/form/control/select/select.js', '/app/demo/form/control/select/select.xml', '/app/demo/form/control/step/', '/app/demo/form/control/step/step.js', '/app/demo/form/control/step/step.xml', '/app/demo/form/control/svg/', '/app/demo/form/control/svg/svg.js', '/app/demo/form/control/svg/svg.xml', '/app/demo/form/control/switch/', '/app/demo/form/control/switch/switch.js', '/app/demo/form/control/switch/switch.xml', '/app/demo/form/control/tab/', '/app/demo/form/control/tab/tab.js', '/app/demo/form/control/tab/tab.xml', '/app/demo/form/control/table/', '/app/demo/form/control/table/table.js', '/app/demo/form/control/table/table.xml', '/app/demo/form/control/tag/', '/app/demo/form/control/tag/tag.xml', '/app/demo/form/control/text/', '/app/demo/form/control/text/text.js', '/app/demo/form/control/text/text.xml', '/app/demo/form/control/tip/', '/app/demo/form/control/tip/tip.xml', '/app/demo/form/control/tuieditor/', '/app/demo/form/control/tuieditor/tuieditor.js', '/app/demo/form/control/tuieditor/tuieditor.xml', '/app/demo/form/control/vflow/', '/app/demo/form/control/vflow/vflow.css', '/app/demo/form/control/vflow/vflow.js', '/app/demo/form/control/vflow/vflow.xml', '/app/demo/form/control/video/', '/app/demo/form/control/video/video.js', '/app/demo/form/control/video/video.xml', '/app/demo/form/control/xterm/', '/app/demo/form/control/xterm/xterm.js', '/app/demo/form/control/xterm/xterm.xml', '/app/demo/form/event/', '/app/demo/form/event/form/', '/app/demo/form/event/form/form.css', '/app/demo/form/event/form/form.js', '/app/demo/form/event/form/form.xml', '/app/demo/form/event/other/', '/app/demo/form/event/other/other.js', '/app/demo/form/event/other/other.xml', '/app/demo/form/event/screen/', '/app/demo/form/event/screen/screen.js', '/app/demo/form/event/screen/screen.xml', '/app/demo/form/event/task/', '/app/demo/form/event/task/task.js', '/app/demo/form/event/task/task.xml', '/app/demo/form/main.css', '/app/demo/form/main.js', '/app/demo/form/main.xml', '/app/demo/form/method/', '/app/demo/form/method/acontrol/', '/app/demo/form/method/acontrol/acontrol.js', '/app/demo/form/method/acontrol/acontrol.xml', '/app/demo/form/method/aform/', '/app/demo/form/method/aform/aform.js', '/app/demo/form/method/aform/aform.xml', '/app/demo/form/method/aform/sd.js', '/app/demo/form/method/aform/sd.xml', '/app/demo/form/method/core/', '/app/demo/form/method/core/core.js', '/app/demo/form/method/core/core.xml', '/app/demo/form/method/dom/', '/app/demo/form/method/dom/dom.css', '/app/demo/form/method/dom/dom.js', '/app/demo/form/method/dom/dom.xml', '/app/demo/form/method/form/', '/app/demo/form/method/form/form.js', '/app/demo/form/method/form/form.xml', '/app/demo/form/method/form/test.xml', '/app/demo/form/method/fs/', '/app/demo/form/method/fs/fs.js', '/app/demo/form/method/fs/fs.xml', '/app/demo/form/method/fs/text.js', '/app/demo/form/method/fs/text.xml', '/app/demo/form/method/native/', '/app/demo/form/method/native/native.js', '/app/demo/form/method/native/native.xml', '/app/demo/form/method/storage/', '/app/demo/form/method/storage/storage.js', '/app/demo/form/method/storage/storage.xml', '/app/demo/form/method/system/', '/app/demo/form/method/system/system.js', '/app/demo/form/method/system/system.xml', '/app/demo/form/method/task/', '/app/demo/form/method/task/locale1.json', '/app/demo/form/method/task/locale2.json', '/app/demo/form/method/task/task.js', '/app/demo/form/method/task/task.xml', '/app/demo/form/method/theme/', '/app/demo/form/method/theme/theme.js', '/app/demo/form/method/theme/theme.xml', '/app/demo/form/method/tool/', '/app/demo/form/method/tool/tool.js', '/app/demo/form/method/tool/tool.xml', '/app/demo/form/method/zip/', '/app/demo/form/method/zip/zip.js', '/app/demo/form/method/zip/zip.xml', '/app/demo/form/solution/', '/app/demo/form/solution/backpanel/', '/app/demo/form/solution/backpanel/backpanel.js', '/app/demo/form/solution/backpanel/backpanel.xml', '/app/demo/global.css', '/app/demo/res/', '/app/demo/res/custombtn.cgc', '/app/demo/res/icon.svg', '/app/demo/res/img.jpg', '/app/demo/res/marker.svg', '/app/demo/res/r-1.svg', '/app/demo/res/r-2.svg', '/app/demo/res/sql.svg', '/app/demo/res/txt.svg', '/app/demo/res/video.mp4', '/app/demo/res/zip.svg', '/app/task/', '/app/task/app.js', '/app/task/config.json', '/app/task/form/', '/app/task/form/bar/', '/app/task/form/bar/bar.js', '/app/task/form/bar/bar.xml', '/app/task/form/desktop/', '/app/task/form/desktop/desktop.xml', '/app/task/locale/', '/app/task/locale/en.json', '/app/task/locale/ja.json', '/app/task/locale/sc.json', '/app/task/locale/tc.json', '/clickgo.js', '/clickgo.ts', '/control/', '/control/arteditor.cgc', '/control/box.cgc', '/control/common.cgc', '/control/desc.cgc', '/control/drawer.cgc', '/control/echarts.cgc', '/control/form.cgc', '/control/html.cgc', '/control/iconview.cgc', '/control/map.cgc', '/control/monaco.cgc', '/control/nav.cgc', '/control/page.cgc', '/control/property.cgc', '/control/table.cgc', '/control/task.cgc', '/control/tuieditor.cgc', '/control/xterm.cgc', '/ext/', '/ext/toastui-editor-all.min.js', '/global.css', '/icon.png', '/index.js', '/index.ts', '/lib/', '/lib/control.js', '/lib/control.ts', '/lib/core.js', '/lib/core.ts', '/lib/dom.js', '/lib/dom.ts', '/lib/form.js', '/lib/form.ts', '/lib/fs.js', '/lib/fs.ts', '/lib/native.js', '/lib/native.ts', '/lib/storage.js', '/lib/storage.ts', '/lib/task.js', '/lib/task.ts', '/lib/theme.js', '/lib/theme.ts', '/lib/tool.js', '/lib/tool.ts', '/lib/zip.js', '/lib/zip.ts', '/theme/', '/theme/byterun.cgt', '/theme/familiar.cgt', '/theme/light.cgt'];
|
|
16
16
|
|
|
17
17
|
/** --- fs lib 用到的语言包 --- */
|
|
18
18
|
const localeData: Record<string, {
|
|
@@ -113,12 +113,14 @@ export async function getContent(path: string, options?: {
|
|
|
113
113
|
'start'?: number;
|
|
114
114
|
'end'?: number;
|
|
115
115
|
'progress'?: (loaded: number, total: number) => void | Promise<void>;
|
|
116
|
+
'cache'?: string;
|
|
116
117
|
}, taskId?: number): Promise<string | Blob | null>;
|
|
117
118
|
export async function getContent(path: string, options: BufferEncoding | {
|
|
118
119
|
'encoding': BufferEncoding;
|
|
119
120
|
'start'?: number;
|
|
120
121
|
'end'?: number;
|
|
121
122
|
'progress'?: (loaded: number, total: number) => void | Promise<void>;
|
|
123
|
+
'cache'?: string;
|
|
122
124
|
}, taskId?: number): Promise<string | null>;
|
|
123
125
|
/**
|
|
124
126
|
* --- 读取完整文件或一段 ---
|
|
@@ -131,6 +133,7 @@ export async function getContent(path: string, options?: BufferEncoding | {
|
|
|
131
133
|
'start'?: number;
|
|
132
134
|
'end'?: number;
|
|
133
135
|
'progress'?: (loaded: number, total: number) => void | Promise<void>;
|
|
136
|
+
'cache'?: string;
|
|
134
137
|
}, taskId?: number): Promise<Blob | string | null> {
|
|
135
138
|
path = tool.urlResolve('/', path);
|
|
136
139
|
const fpath = path.slice(8);
|
|
@@ -157,21 +160,22 @@ export async function getContent(path: string, options?: BufferEncoding | {
|
|
|
157
160
|
ourl = path;
|
|
158
161
|
}
|
|
159
162
|
try {
|
|
160
|
-
|
|
163
|
+
/** --- 后缀 --- */
|
|
164
|
+
const rand = '?' + (options.cache ?? Math.random().toString());
|
|
161
165
|
let blob: Blob | null = null;
|
|
162
166
|
const headers: Record<string, string> = {};
|
|
163
167
|
if (start || end) {
|
|
164
168
|
headers['range'] = `bytes=${start === undefined ? '0' : start}-${end === undefined ? '' : end}`;
|
|
165
169
|
}
|
|
166
170
|
if (options.progress) {
|
|
167
|
-
blob = await tool.request(ourl + (!ourl.startsWith(loader.cdn) ?
|
|
171
|
+
blob = await tool.request(ourl + (!ourl.startsWith(loader.cdn) ? rand : ''), {
|
|
168
172
|
'headers': headers,
|
|
169
173
|
'progress': options.progress,
|
|
170
174
|
'responseType': 'blob'
|
|
171
175
|
});
|
|
172
176
|
}
|
|
173
177
|
else {
|
|
174
|
-
blob = await (await fetch(ourl + (!ourl.startsWith(loader.cdn) ?
|
|
178
|
+
blob = await (await fetch(ourl + (!ourl.startsWith(loader.cdn) ? rand : ''), {
|
|
175
179
|
'headers': headers
|
|
176
180
|
})).blob();
|
|
177
181
|
}
|
package/dist/lib/task.js
CHANGED
|
@@ -248,7 +248,8 @@ function run(url, opt = {}, ntid) {
|
|
|
248
248
|
}
|
|
249
249
|
app = yield core.fetchApp(url, {
|
|
250
250
|
'notifyId': notifyId,
|
|
251
|
-
'progress': opt.progress
|
|
251
|
+
'progress': opt.progress,
|
|
252
|
+
'cache': opt.cache
|
|
252
253
|
}, ntid);
|
|
253
254
|
if (notifyId) {
|
|
254
255
|
setTimeout(function () {
|
|
@@ -1159,7 +1160,7 @@ function run(url, opt = {}, ntid) {
|
|
|
1159
1160
|
}
|
|
1160
1161
|
dom.createToStyleList(taskId);
|
|
1161
1162
|
yield ((_f = opt.initProgress) === null || _f === void 0 ? void 0 : _f.call(opt, 'Control initialization ...'));
|
|
1162
|
-
const r = yield control.init(taskId, invoke);
|
|
1163
|
+
const r = yield control.init(taskId, invoke, opt.cache);
|
|
1163
1164
|
if (r < 0) {
|
|
1164
1165
|
dom.removeFromStyleList(taskId);
|
|
1165
1166
|
delete exports.list[taskId];
|
package/dist/lib/task.ts
CHANGED
|
@@ -290,7 +290,8 @@ export async function run(url: string | types.IApp, opt: types.ITaskRunOptions =
|
|
|
290
290
|
// --- 获取并加载 app 对象 ---
|
|
291
291
|
app = await core.fetchApp(url, {
|
|
292
292
|
'notifyId': notifyId,
|
|
293
|
-
'progress': opt.progress
|
|
293
|
+
'progress': opt.progress,
|
|
294
|
+
'cache': opt.cache
|
|
294
295
|
}, ntid);
|
|
295
296
|
// --- 无论是否成功,都可以先隐藏 notify 了 ---
|
|
296
297
|
if (notifyId) {
|
|
@@ -1305,7 +1306,7 @@ export async function run(url: string | types.IApp, opt: types.ITaskRunOptions =
|
|
|
1305
1306
|
dom.createToStyleList(taskId);
|
|
1306
1307
|
// --- 加载 control ---
|
|
1307
1308
|
await opt.initProgress?.('Control initialization ...');
|
|
1308
|
-
const r = await control.init(taskId, invoke);
|
|
1309
|
+
const r = await control.init(taskId, invoke, opt.cache);
|
|
1309
1310
|
if (r < 0) {
|
|
1310
1311
|
dom.removeFromStyleList(taskId);
|
|
1311
1312
|
delete list[taskId];
|
package/dist/theme/byterun.cgt
CHANGED
|
Binary file
|
package/dist/theme/familiar.cgt
CHANGED
|
Binary file
|
package/dist/theme/light.cgt
CHANGED
|
Binary file
|
package/package.json
CHANGED
package/types/index.d.ts
CHANGED
|
@@ -92,6 +92,7 @@ export type TGlobalEvent = 'error' | 'screenResize' | 'configChanged' | 'formCre
|
|
|
92
92
|
export interface ICoreFetchAppOptions {
|
|
93
93
|
'notifyId'?: number;
|
|
94
94
|
'progress'?: (loaded: number, total: number) => void | Promise<void>;
|
|
95
|
+
'cache'?: string;
|
|
95
96
|
}
|
|
96
97
|
|
|
97
98
|
/** --- 应用包解包后对象 --- */
|
|
@@ -329,6 +330,7 @@ export interface IMountHandler {
|
|
|
329
330
|
'start'?: number;
|
|
330
331
|
'end'?: number;
|
|
331
332
|
'progress'?: (loaded: number, total: number) => void | Promise<void>;
|
|
333
|
+
'cache'?: string;
|
|
332
334
|
}) => Blob | string | null | Promise<Blob | string | null>;
|
|
333
335
|
putContent?: (path: string, data: string | Blob, options?: {
|
|
334
336
|
'encoding'?: BufferEncoding | null;
|
|
@@ -439,6 +441,8 @@ export interface ITaskRunOptions {
|
|
|
439
441
|
'data'?: Record<string, any>;
|
|
440
442
|
/** --- 执行文件的基路径,一般在传入 APP 包时使用,以 .cga 结尾或以 / 结尾的路径 --- */
|
|
441
443
|
'path'?: string;
|
|
444
|
+
/** --- 是否禁用缓存加载,默认禁用 --- */
|
|
445
|
+
'cache'?: string;
|
|
442
446
|
}
|
|
443
447
|
|
|
444
448
|
export interface ICreateTimerOptions {
|
|
@@ -639,6 +643,15 @@ export interface IAbstractPanelShowEvent {
|
|
|
639
643
|
}
|
|
640
644
|
}
|
|
641
645
|
|
|
646
|
+
// --- Check Control ---
|
|
647
|
+
|
|
648
|
+
export interface ICheckChangeEvent extends ICustomEvent {
|
|
649
|
+
'detail': {
|
|
650
|
+
'value': boolean;
|
|
651
|
+
'indeterminate': boolean;
|
|
652
|
+
};
|
|
653
|
+
}
|
|
654
|
+
|
|
642
655
|
// --- Form Control ---
|
|
643
656
|
|
|
644
657
|
export interface IFormCloseEvent extends ICustomEvent {
|
|
@@ -827,6 +840,17 @@ export interface IPanelWentEvent {
|
|
|
827
840
|
};
|
|
828
841
|
}
|
|
829
842
|
|
|
843
|
+
// --- Radio Control ---
|
|
844
|
+
|
|
845
|
+
export interface IRadioChangeEvent extends ICustomEvent {
|
|
846
|
+
'detail': {
|
|
847
|
+
/** --- 设定的值 --- */
|
|
848
|
+
'value': string;
|
|
849
|
+
/** --- 选中的值 --- */
|
|
850
|
+
'selected': string;
|
|
851
|
+
};
|
|
852
|
+
}
|
|
853
|
+
|
|
830
854
|
// --- Select Control ---
|
|
831
855
|
|
|
832
856
|
export interface ISelectAddEvent extends ICustomEvent {
|
|
@@ -866,6 +890,14 @@ export interface ISelectTagclickEvent {
|
|
|
866
890
|
};
|
|
867
891
|
}
|
|
868
892
|
|
|
893
|
+
// --- Switch Control ---
|
|
894
|
+
|
|
895
|
+
export interface ISwitchChangeEvent extends ICustomEvent {
|
|
896
|
+
'detail': {
|
|
897
|
+
'value': boolean;
|
|
898
|
+
};
|
|
899
|
+
}
|
|
900
|
+
|
|
869
901
|
// --- Tab Control ---
|
|
870
902
|
|
|
871
903
|
export interface ITabCloseEvent extends ICustomEvent {
|