clickgo 3.1.0-dev9 → 3.1.2-dev11

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.
Binary file
Binary file
Binary file
package/dist/global.css CHANGED
@@ -1 +1 @@
1
- #cg-wrap{--cg:hsl(20, 100%, 65%);--success:hsl(150, 100%, 40%);--success-hover:hsl(150, 100%, 45%);--success-active:hsl(150, 100%, 30%);--success-focus:hsl(150, 100%, 35%);--success-disabled:hsl(150, 0%, 40%);--info:hsl(210, 100%, 50%);--info-hover:hsl(210, 100%, 60%);--info-active:hsl(210, 100%, 40%);--info-focus:hsl(210, 100%, 45%);--info-disabled:hsl(210, 0%, 50%);--warning:hsl(20, 100%, 70%);--warning-hover:hsl(20, 100%, 80%);--warning-active:hsl(20, 100%, 60%);--warning-focus:hsl(20, 100%, 65%);--warning-disabled:hsl(20, 0%, 70%);--danger:hsl(350, 100%, 50%);--danger-hover:hsl(350, 100%, 70%);--danger-active:hsl(350, 100%, 40%);--danger-focus:hsl(350, 100%, 45%);--danger-disabled:hsl(350, 0%, 50%);--system-color:hsl(0, 0%, 95%);--system-background:hsla(0, 0%, 0%, .5);--system-border-color:hsla(0, 0%, 100%, .2);--face:hsl(0, 0%, 95%);--g-color:hsl(0, 0%, 20%);--g-color-hover:hsl(0, 0%, 30%);--g-color-active:hsl(0, 0%, 10%);--g-color-focus:hsl(0, 0%, 15%);--g-color-disabled:hsl(0, 0%, 60%);--g-background:hsl(0, 0%, 95%);--g-background-hover:hsl(0, 0%, 100%);--g-background-active:hsl(0, 0%, 85%);--g-background-kp:hsl(0, 0%, 80%);--g-background-opacity:hsl(0, 0%, 50%, .2);--g-background-focus:hsl(0, 0%, 97.5%);--g-background-disabled:hsl(0, 0%, 75%);--g-border-color:hsl(0, 0%, 40%);--g-border-color-hover:hsl(0, 0%, 50%);--g-border-color-active:hsl(0, 0%, 30%);--g-border-color-focus:hsl(0, 0%, 35%);--g-border-color-disabled:hsl(0, 0%, 60%);--g-plain-color:var(--g-color);--g-plain-color-hover:var(--g-color-hover);--g-plain-color-active:var(--g-color-active);--g-plain-color-focus:var(--g-color-focus);--g-plain-color-disabled:var(--g-color-disabled);--g-plain-background:hsl(0, 0%, 100%);--g-plain-background-hover:hsl(0, 0%, 98%);--g-plain-background-active:hsl(0, 0%, 95%);--g-plain-background-focus:var(--g-plain-background);--g-plain-background-disabled:hsl(0, 0%, 95%);--g-plain-border-color:hsl(0, 0%, 70%);--g-plain-border-color-hover:hsl(0, 0%, 80%);--g-plain-border-color-active:hsl(0, 0%, 60%);--g-plain-border-color-focus:hsl(0, 0%, 65%);--g-plain-border-color-disabled:hsl(0, 0%, 60%)}#cg-form-list{z-index:20020000}#cg-pop-list{z-index:20020001}#cg-simpletask{z-index:20020002}#cg-rectangle{z-index:20020003;box-sizing:border-box;position:fixed;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:fixed;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:fixed;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-drag{z-index:20020003;box-sizing:border-box;position:fixed;border-radius:3px;pointer-events:none;background:var(--system-background);box-shadow:0 5px 20px rgba(0,0,0,.25);opacity:0;display:flex;justify-content:center;align-items:center}#cg-launcher{z-index:20020004;box-sizing:border-box;position:fixed;background:var(--system-background);-webkit-backdrop-filter:blur(30px) brightness(1.2);backdrop-filter:blur(30px) brightness(1.2);width:100%;height:100%;left:0;top:0;color:var(--system-color);display:none;flex-direction:column;transition:all .1s linear;transform:scale(1.2);opacity:0}#cg-launcher:not(.cg-show){pointer-events:none}#cg-launcher.cg-show{transform:scale(1);opacity:1}.cg-launcher-search{text-align:center;padding:50px}.cg-launcher-sinput{-webkit-appearance:none;padding:10px;height:38px;border:solid 1px var(--system-border-color);background:transparent;width:50%;border-radius:3px;color:var(--system-color)}.cg-launcher-sinput::placeholder{color:var(--system-border-color)}.cg-launcher-sinput::selection{background-color:var(--system-color);color:var(--g-color)}.cg-launcher-sinput:focus{outline:none;border-color:var(--system-color)}.cg-launcher-foldername{-webkit-appearance:none;height:38px;font-size:28px !important;border:none;background:transparent;width:50%;color:var(--system-color);text-align:center}.cg-launcher-foldername::selection{background-color:var(--system-color);color:var(--g-color)}.cg-launcher-foldername:focus{outline:none}.cg-launcher-item{width:190px;display:inline-flex;vertical-align:middle;margin-bottom:50px}.cg-launcher-inner{flex:1;width:0}.cg-launcher-icon{background-position:center;background-size:80px;height:80px;background-repeat:no-repeat}.cg-launcher-icon:active{filter:brightness(0.6)}.cg-launcher-name{font-size:13px;font-weight:bold;text-shadow:0 0 3px rgba(0,0,0,.6);text-align:center;margin-top:20px}.cg-launcher-icon,.cg-launcher-name{transition:all .1s linear;transition-property:opacity}.cg-launcher-space{width:50px}.cg-launcher-folder{display:flex;justify-content:center;height:80px}.cg-launcher-folder>div{height:80px;width:80px;background:rgba(255,255,255,.3);border-radius:20px;padding:10px 4px 4px 10px;transition:all .1s linear;transition-property:left,top,width,height,opacity;overflow-y:auto}.cg-launcher-folder>div::-webkit-scrollbar{display:none}.cg-launcher-folder>div .cg-launcher-item,.cg-launcher-folder>div .cg-launcher-space{transition:all .1s linear}.cg-launcher-folder>div.cg-show{padding:50px 0 0 50px}.cg-launcher-folder>div:not(.cg-show):active{filter:brightness(0.6)}.cg-launcher-folder>div:not(.cg-show) .cg-launcher-item{width:22px;margin-bottom:6px}.cg-launcher-folder>div:not(.cg-show) .cg-launcher-icon{background-size:16px;height:16px;pointer-events:none}.cg-launcher-folder>div:not(.cg-show) .cg-launcher-name{display:none}.cg-launcher-folder>div:not(.cg-show) .cg-launcher-space{width:6px}.cg-launcher-list{flex:1;height:0;overflow-y:auto;padding:0 0 0 50px}.cg-launcher-list::-webkit-scrollbar{display:none}.cg-launcher-list.cg-folder-open>.cg-launcher-item>.cg-launcher-inner>.cg-launcher-icon,.cg-launcher-list.cg-folder-open>.cg-launcher-item>.cg-launcher-inner>.cg-launcher-name{opacity:0}.cg-launcher-list.cg-folder-open>.cg-launcher-item>.cg-launcher-inner>.cg-launcher-folder>div:not(.cg-show){opacity:0}[data-cg-pop]{position:fixed;box-shadow:0px 5px 20px rgba(0,0,0,.25);transition:.1s ease-out;transition-property:transform,opacity;transform:translateY(-10px);opacity:0}[data-cg-pop]:not([data-cg-open]){pointer-events:none}[data-cg-pop][data-cg-open]{transform:translateY(0px);opacity:1}#cg-system{z-index:20020005}.cg-system-notify{background:var(--system-background);position:fixed;padding:15px;border-radius:3px;right:0;top:0;width:280px;font-size:14px;display:flex;transition:.1s ease-out;transition-property:transform,opacity;overflow:hidden;color:var(--system-color);box-shadow:0 5px 20px rgba(0,0,0,.25);-webkit-backdrop-filter:blur(30px) brightness(1.2);backdrop-filter:blur(30px) brightness(1.2)}.cg-system-icon{margin-right:10px;width:16px;height:16px;border-radius:50%}.cg-system-icon.cg-primary{background:var(--success)}.cg-system-icon.cg-info{background:var(--info)}.cg-system-icon.cg-warning{background:var(--warning)}.cg-system-icon.cg-danger{background:var(--danger)}.cg-system-icon.cg-progress{background:var(--cg)}.cg-system-notify-title{font-size:16px;font-weight:bold;padding-bottom:10px}.cg-system-notify-content{line-height:1.5;word-break:break-word}.cg-system-notify-progress{position:absolute;bottom:0;left:0;border-radius:1px;background:var(--cg);transition:width 1s ease-out;width:0%;height:2px}#cg-simpletask{left:0;bottom:-46px;width:100%;height:46px;top:initial;background:var(--system-background);-webkit-backdrop-filter:blur(30px) brightness(1.2);backdrop-filter:blur(30px) brightness(1.2);padding:5px 0 5px 5px;display:flex;color:var(--system-color);transition:bottom .1s ease-out;overflow-x:auto}#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}
1
+ #cg-wrap{--cg:hsl(20, 100%, 65%);--success:hsl(150, 100%, 40%);--success-hover:hsl(150, 100%, 45%);--success-active:hsl(150, 100%, 30%);--success-focus:hsl(150, 100%, 35%);--success-disabled:hsl(150, 0%, 40%);--info:hsl(210, 100%, 50%);--info-hover:hsl(210, 100%, 60%);--info-active:hsl(210, 100%, 40%);--info-focus:hsl(210, 100%, 45%);--info-disabled:hsl(210, 0%, 50%);--warning:hsl(20, 100%, 70%);--warning-hover:hsl(20, 100%, 80%);--warning-active:hsl(20, 100%, 60%);--warning-focus:hsl(20, 100%, 65%);--warning-disabled:hsl(20, 0%, 70%);--danger:hsl(350, 100%, 50%);--danger-hover:hsl(350, 100%, 70%);--danger-active:hsl(350, 100%, 40%);--danger-focus:hsl(350, 100%, 45%);--danger-disabled:hsl(350, 0%, 50%);--system-color:hsl(0, 0%, 95%);--system-background:hsla(0, 0%, 0%, .5);--system-border-color:hsla(0, 0%, 100%, .2);--face:hsl(0, 0%, 95%);--g-color:hsl(0, 0%, 20%);--g-color-hover:hsl(0, 0%, 30%);--g-color-active:hsl(0, 0%, 10%);--g-color-focus:hsl(0, 0%, 15%);--g-color-disabled:hsl(0, 0%, 60%);--g-background:hsl(0, 0%, 95%);--g-background-hover:hsl(0, 0%, 100%);--g-background-active:hsl(0, 0%, 85%);--g-background-kp:hsl(0, 0%, 80%);--g-background-opacity:hsl(0, 0%, 50%, .2);--g-background-focus:hsl(0, 0%, 97.5%);--g-background-disabled:hsl(0, 0%, 75%);--g-border-color:hsl(0, 0%, 40%);--g-border-color-hover:hsl(0, 0%, 50%);--g-border-color-active:hsl(0, 0%, 30%);--g-border-color-focus:hsl(0, 0%, 35%);--g-border-color-disabled:hsl(0, 0%, 60%);--g-plain-color:var(--g-color);--g-plain-color-hover:var(--g-color-hover);--g-plain-color-active:var(--g-color-active);--g-plain-color-focus:var(--g-color-focus);--g-plain-color-disabled:var(--g-color-disabled);--g-plain-background:hsl(0, 0%, 100%);--g-plain-background-hover:hsl(0, 0%, 98%);--g-plain-background-active:hsl(0, 0%, 95%);--g-plain-background-focus:var(--g-plain-background);--g-plain-background-disabled:hsl(0, 0%, 95%);--g-plain-border-color:hsl(0, 0%, 70%);--g-plain-border-color-hover:hsl(0, 0%, 80%);--g-plain-border-color-active:hsl(0, 0%, 60%);--g-plain-border-color-focus:hsl(0, 0%, 65%);--g-plain-border-color-disabled:hsl(0, 0%, 60%)}#cg-form-list{z-index:20020000}#cg-pop-list{z-index:20020001}#cg-simpletask{z-index:20020002}#cg-rectangle{z-index:20020003;box-sizing:border-box;position:fixed;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:fixed;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:fixed;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-drag{z-index:20020003;box-sizing:border-box;position:fixed;border-radius:3px;pointer-events:none;background:var(--system-background);box-shadow:0 5px 20px rgba(0,0,0,.25);opacity:0;display:flex;justify-content:center;align-items:center}#cg-launcher{z-index:20020004;box-sizing:border-box;position:fixed;background:var(--system-background);-webkit-backdrop-filter:blur(30px) brightness(1.2);backdrop-filter:blur(30px) brightness(1.2);width:100%;height:100%;left:0;top:0;color:var(--system-color);display:none;flex-direction:column;transition:all .1s linear;transform:scale(1.2);opacity:0}#cg-launcher:not(.cg-show){pointer-events:none}#cg-launcher.cg-show{transform:scale(1);opacity:1}.cg-launcher-search{text-align:center;padding:50px}.cg-launcher-sinput{-webkit-appearance:none;appearance:none;padding:10px;height:38px;border:solid 1px var(--system-border-color);background:rgba(0,0,0,0);width:50%;border-radius:3px;color:var(--system-color)}.cg-launcher-sinput::placeholder{color:var(--system-border-color)}.cg-launcher-sinput::selection{background-color:var(--system-color);color:var(--g-color)}.cg-launcher-sinput:focus{outline:none;border-color:var(--system-color)}.cg-launcher-foldername{-webkit-appearance:none;appearance:none;height:38px;font-size:28px !important;border:none;background:rgba(0,0,0,0);width:50%;color:var(--system-color);text-align:center}.cg-launcher-foldername::selection{background-color:var(--system-color);color:var(--g-color)}.cg-launcher-foldername:focus{outline:none}.cg-launcher-item{width:190px;display:inline-flex;vertical-align:middle;margin-bottom:50px}.cg-launcher-inner{flex:1;width:0}.cg-launcher-icon{background-position:center;background-size:80px;height:80px;background-repeat:no-repeat}.cg-launcher-icon:active{filter:brightness(0.6)}.cg-launcher-name{font-size:13px;font-weight:bold;text-shadow:0 0 3px rgba(0,0,0,.6);text-align:center;margin-top:20px}.cg-launcher-icon,.cg-launcher-name{transition:all .1s linear;transition-property:opacity}.cg-launcher-space{width:50px}.cg-launcher-folder{display:flex;justify-content:center;height:80px}.cg-launcher-folder>div{height:80px;width:80px;background:rgba(255,255,255,.3);border-radius:20px;padding:10px 4px 4px 10px;transition:all .1s linear;transition-property:left,top,width,height,opacity;overflow-y:auto}.cg-launcher-folder>div::-webkit-scrollbar{display:none}.cg-launcher-folder>div .cg-launcher-item,.cg-launcher-folder>div .cg-launcher-space{transition:all .1s linear}.cg-launcher-folder>div.cg-show{padding:50px 0 0 50px}.cg-launcher-folder>div:not(.cg-show):active{filter:brightness(0.6)}.cg-launcher-folder>div:not(.cg-show) .cg-launcher-item{width:22px;margin-bottom:6px}.cg-launcher-folder>div:not(.cg-show) .cg-launcher-icon{background-size:16px;height:16px;pointer-events:none}.cg-launcher-folder>div:not(.cg-show) .cg-launcher-name{display:none}.cg-launcher-folder>div:not(.cg-show) .cg-launcher-space{width:6px}.cg-launcher-list{flex:1;height:0;overflow-y:auto;padding:0 0 0 50px}.cg-launcher-list::-webkit-scrollbar{display:none}.cg-launcher-list.cg-folder-open>.cg-launcher-item>.cg-launcher-inner>.cg-launcher-icon,.cg-launcher-list.cg-folder-open>.cg-launcher-item>.cg-launcher-inner>.cg-launcher-name{opacity:0}.cg-launcher-list.cg-folder-open>.cg-launcher-item>.cg-launcher-inner>.cg-launcher-folder>div:not(.cg-show){opacity:0}[data-cg-pop]{position:fixed;box-shadow:0px 5px 20px rgba(0,0,0,.25);transition:.1s ease-out;transition-property:transform,opacity;transform:translateY(-10px);opacity:0}[data-cg-pop]:not([data-cg-open]){pointer-events:none}[data-cg-pop][data-cg-open]{transform:translateY(0px);opacity:1}#cg-system{z-index:20020005}.cg-system-notify{background:var(--system-background);position:fixed;padding:15px;border-radius:3px;right:0;top:0;width:280px;font-size:14px;display:flex;transition:.1s ease-out;transition-property:transform,opacity;overflow:hidden;color:var(--system-color);box-shadow:0 5px 20px rgba(0,0,0,.25);-webkit-backdrop-filter:blur(30px) brightness(1.2);backdrop-filter:blur(30px) brightness(1.2)}.cg-system-icon{margin-right:10px;width:16px;height:16px;border-radius:50%}.cg-system-icon.cg-primary{background:var(--success)}.cg-system-icon.cg-info{background:var(--info)}.cg-system-icon.cg-warning{background:var(--warning)}.cg-system-icon.cg-danger{background:var(--danger)}.cg-system-icon.cg-progress{background:var(--cg)}.cg-system-notify-title{font-size:16px;font-weight:bold;padding-bottom:10px}.cg-system-notify-content{line-height:1.5;word-break:break-word}.cg-system-notify-progress{position:absolute;bottom:0;left:0;border-radius:1px;background:var(--cg);transition:width 1s ease-out;width:0%;height:2px}#cg-simpletask{left:0;bottom:-46px;width:100%;height:46px;top:initial;background:var(--system-background);-webkit-backdrop-filter:blur(30px) brightness(1.2);backdrop-filter:blur(30px) brightness(1.2);padding:5px 0 5px 5px;display:flex;color:var(--system-color);transition:bottom .1s ease-out;overflow-x:auto}#cg-simpletask::-webkit-scrollbar{display:none}.cg-simpletask-item{background:rgba(0,0,0,.05);border-radius:3px;padding:10px;display:flex;align-items:center;margin-right:5px}.cg-simpletask-item:hover{background:rgba(0,0,0,.1)}.cg-simpletask-item:active{background:rgba(0,0,0,.2)}.cg-simpletask-icon{margin-right:5px;background-size:cover;width:16px;height:16px}
package/dist/index.js CHANGED
@@ -9,19 +9,27 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.launcher = exports.AbstractBoot = exports.getPlatform = exports.getNative = exports.getVersion = exports.vue = exports.zip = exports.tool = exports.theme = exports.task = exports.native = exports.fs = exports.form = exports.dom = exports.core = exports.control = exports.clickgo = void 0;
12
+ exports.launcher = exports.AbstractBoot = exports.hasFrame = exports.isImmersion = exports.getPlatform = exports.isNative = exports.getVersion = exports.vue = exports.zip = exports.tool = exports.theme = exports.task = exports.native = exports.fs = exports.form = exports.dom = exports.core = exports.control = exports.clickgo = void 0;
13
13
  function getVersion() {
14
14
  return exports.clickgo.getVersion();
15
15
  }
16
16
  exports.getVersion = getVersion;
17
- function getNative() {
18
- return exports.clickgo.getNative();
17
+ function isNative() {
18
+ return exports.clickgo.isNative();
19
19
  }
20
- exports.getNative = getNative;
20
+ exports.isNative = isNative;
21
21
  function getPlatform() {
22
22
  return exports.clickgo.getPlatform();
23
23
  }
24
24
  exports.getPlatform = getPlatform;
25
+ function isImmersion() {
26
+ return exports.clickgo.isImmersion();
27
+ }
28
+ exports.isImmersion = isImmersion;
29
+ function hasFrame() {
30
+ return exports.clickgo.hasFrame();
31
+ }
32
+ exports.hasFrame = hasFrame;
25
33
  class AbstractBoot {
26
34
  onError() {
27
35
  return;
@@ -71,6 +79,12 @@ class AbstractBoot {
71
79
  onLauncherFolderNameChanged() {
72
80
  return;
73
81
  }
82
+ onRuntimeFileLoad() {
83
+ return;
84
+ }
85
+ onRuntimeFileLoaded() {
86
+ return;
87
+ }
74
88
  }
75
89
  exports.AbstractBoot = AbstractBoot;
76
90
  function launcher(boot) {
@@ -98,7 +112,13 @@ function launcher(boot) {
98
112
  'dir': __dirname + '/',
99
113
  'after': after,
100
114
  'afterIgnore': new RegExp('^' + loader.cdn.replace(/\./g, '\\.')),
101
- 'map': map
115
+ 'map': map,
116
+ 'load': (url) => {
117
+ boot.onRuntimeFileLoad(url);
118
+ },
119
+ 'loaded': (url, state) => {
120
+ boot.onRuntimeFileLoaded(url, state);
121
+ }
102
122
  });
103
123
  const cg = loader.require('clickgo', files, {
104
124
  'dir': __dirname + '/',
package/dist/index.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  // npm publish --tag dev --access public
2
- import * as types from '~/types';
2
+ import * as types from '../types/index';
3
3
 
4
4
  // --- 以下不会真正加载,最终会在底部进行赋值 ---
5
5
  export let clickgo: typeof import('./clickgo');
@@ -19,18 +19,26 @@ export function getVersion(): string {
19
19
  return clickgo.getVersion();
20
20
  }
21
21
 
22
- export function getNative(): boolean {
23
- return clickgo.getNative();
22
+ export function isNative(): boolean {
23
+ return clickgo.isNative();
24
24
  }
25
25
 
26
26
  export function getPlatform(): NodeJS.Platform | 'web' {
27
27
  return clickgo.getPlatform();
28
28
  }
29
29
 
30
+ export function isImmersion(): boolean {
31
+ return clickgo.isImmersion();
32
+ }
33
+
34
+ export function hasFrame(): boolean {
35
+ return clickgo.hasFrame();
36
+ }
37
+
30
38
  /** --- 全局类 --- */
31
39
  export abstract class AbstractBoot {
32
40
 
33
- /** --- 入口文件 --- */
41
+ /** --- 入口方法 --- */
34
42
  public abstract main(): void | Promise<void>;
35
43
 
36
44
  /** --- 全局错误事件 --- */
@@ -129,6 +137,18 @@ export abstract class AbstractBoot {
129
137
  return;
130
138
  }
131
139
 
140
+ /** --- 环境文件准备加载时的事件 --- */
141
+ public onRuntimeFileLoad(url: string): void | Promise<void>;
142
+ public onRuntimeFileLoad(): void {
143
+ return;
144
+ }
145
+
146
+ /** --- 环境文件加载完成的事件 --- */
147
+ public onRuntimeFileLoaded(url: string, state: number): void | Promise<void>;
148
+ public onRuntimeFileLoaded(): void {
149
+ return;
150
+ }
151
+
132
152
  }
133
153
 
134
154
  export function launcher(boot: AbstractBoot): void {
@@ -161,7 +181,13 @@ export function launcher(boot: AbstractBoot): void {
161
181
  'dir': __dirname + '/',
162
182
  'after': after,
163
183
  'afterIgnore': new RegExp('^' + loader.cdn.replace(/\./g, '\\.')),
164
- 'map': map
184
+ 'map': map,
185
+ 'load': (url) => {
186
+ boot.onRuntimeFileLoad(url) as any;
187
+ },
188
+ 'loaded': (url, state) => {
189
+ boot.onRuntimeFileLoaded(url, state) as any;
190
+ }
165
191
  });
166
192
  const cg = loader.require('clickgo', files, {
167
193
  'dir': __dirname + '/',
@@ -444,7 +444,11 @@ function buildComponents(taskId, formId, path) {
444
444
  'template': control.layout,
445
445
  'props': control.props,
446
446
  'data': function () {
447
- return tool.clone(control.data);
447
+ const data = tool.clone(control.data);
448
+ if (data.props) {
449
+ delete data.props;
450
+ }
451
+ return tool.clone(data);
448
452
  },
449
453
  'methods': control.methods,
450
454
  'computed': computed,
@@ -603,7 +603,11 @@ export function buildComponents(
603
603
  'props': control.props,
604
604
 
605
605
  'data': function() {
606
- return tool.clone(control.data);
606
+ const data = tool.clone(control.data);
607
+ if (data.props) {
608
+ delete data.props;
609
+ }
610
+ return tool.clone(data);
607
611
  },
608
612
  'methods': control.methods,
609
613
  'computed': computed,
package/dist/lib/form.js CHANGED
@@ -58,7 +58,7 @@ class AbstractForm {
58
58
  this._firstShow = true;
59
59
  this.dialogResult = '';
60
60
  }
61
- static create(data) {
61
+ static create(data, layout) {
62
62
  return __awaiter(this, void 0, void 0, function* () {
63
63
  const frm = new this();
64
64
  const code = {
@@ -98,9 +98,12 @@ class AbstractForm {
98
98
  for (const item of cdata) {
99
99
  code.data[item[0]] = item[1];
100
100
  }
101
- const layout = task.list[frm.taskId].app.files[frm.filename.slice(0, -2) + 'xml'];
102
- if (typeof layout !== 'string') {
103
- return 0;
101
+ if (!layout) {
102
+ const l = task.list[frm.taskId].app.files[frm.filename.slice(0, -2) + 'xml'];
103
+ if (typeof l !== 'string') {
104
+ return 0;
105
+ }
106
+ layout = l;
104
107
  }
105
108
  const prot = tool.getClassPrototype(frm);
106
109
  code.methods = prot.method;
@@ -197,6 +200,21 @@ class AbstractForm {
197
200
  }
198
201
  core.trigger(name, this.taskId, this.formId, param1, param2);
199
202
  }
203
+ createForm(path, data) {
204
+ return __awaiter(this, void 0, void 0, function* () {
205
+ path = tool.urlResolve(this.filename, path);
206
+ const taskId = this.taskId;
207
+ const cls = class extends AbstractForm {
208
+ get filename() {
209
+ return path + '.js';
210
+ }
211
+ get taskId() {
212
+ return taskId;
213
+ }
214
+ };
215
+ return cls.create(data);
216
+ });
217
+ }
200
218
  get topMost() {
201
219
  return false;
202
220
  }
@@ -214,7 +232,7 @@ class AbstractForm {
214
232
  }
215
233
  show() {
216
234
  const v = this;
217
- v.$refs.form.$data.showData = true;
235
+ v.$refs.form.$data.isShow = true;
218
236
  if (this._firstShow) {
219
237
  this._firstShow = false;
220
238
  const area = core.getAvailArea();
@@ -226,12 +244,13 @@ class AbstractForm {
226
244
  v.$refs.form.setPropData('top', (area.height - v.$el.offsetHeight) / 2);
227
245
  }
228
246
  }
229
- v.$refs.form.$data.showData = true;
247
+ v.$refs.form.$data.isShow = true;
230
248
  changeFocus(this.formId);
231
249
  }
232
250
  }
233
251
  showDialog() {
234
252
  return __awaiter(this, void 0, void 0, function* () {
253
+ this.topMost = true;
235
254
  this.show();
236
255
  task.list[this.taskId].runtime.dialogFormIds.push(this.formId);
237
256
  return new Promise((resolve) => {
@@ -243,7 +262,7 @@ class AbstractForm {
243
262
  }
244
263
  hide() {
245
264
  const v = this;
246
- v.$refs.form.$data.showData = false;
265
+ v.$refs.form.$data.isShow = false;
247
266
  }
248
267
  onBeforeCreate() {
249
268
  return;
@@ -339,7 +358,7 @@ const elements = {
339
358
  'init': function () {
340
359
  this.wrap.id = 'cg-wrap';
341
360
  document.getElementsByTagName('body')[0].appendChild(this.wrap);
342
- if (clickgo.getNative() && (clickgo.getPlatform() === 'win32')) {
361
+ if (clickgo.isImmersion()) {
343
362
  this.wrap.addEventListener('mouseenter', function () {
344
363
  native.invoke('cg-mouse-ignore', native.getToken(), false);
345
364
  });
@@ -733,10 +752,10 @@ function get(formId) {
733
752
  return {
734
753
  'taskId': taskId,
735
754
  'title': item.vroot.$refs.form.title,
736
- 'icon': item.vroot.$refs.form.iconData,
755
+ 'icon': item.vroot.$refs.form.iconDataUrl,
737
756
  'stateMax': item.vroot.$refs.form.stateMaxData,
738
757
  'stateMin': item.vroot.$refs.form.stateMinData,
739
- 'show': item.vroot.$refs.form.showData,
758
+ 'show': item.vroot.$refs.form.isShow,
740
759
  'focus': item.vroot.formFocus
741
760
  };
742
761
  }
@@ -760,10 +779,10 @@ function getList(taskId) {
760
779
  list[fid] = {
761
780
  'taskId': taskId,
762
781
  'title': item.vroot.$refs.form.title,
763
- 'icon': item.vroot.$refs.form.iconData,
782
+ 'icon': item.vroot.$refs.form.iconDataUrl,
764
783
  'stateMax': item.vroot.$refs.form.stateMaxData,
765
784
  'stateMin': item.vroot.$refs.form.stateMinData,
766
- 'show': item.vroot.$refs.form.showData,
785
+ 'show': item.vroot.$refs.form.isShow,
767
786
  'focus': item.vroot.formFocus
768
787
  };
769
788
  }
@@ -812,31 +831,31 @@ function changeFocus(formId = 0) {
812
831
  }
813
832
  const taskId = parseInt((_b = el.getAttribute('data-task-id')) !== null && _b !== void 0 ? _b : '0');
814
833
  const t = task.list[taskId];
815
- if (t.forms[formId].vroot._topMost) {
816
- t.forms[formId].vroot.$refs.form.$data.zIndexData = ++info.topLastZIndex;
817
- }
818
- else {
819
- t.forms[formId].vroot.$refs.form.$data.zIndexData = ++info.lastZIndex;
820
- }
821
834
  if (t.runtime.dialogFormIds.length) {
822
835
  const dialogFormId = t.runtime.dialogFormIds[t.runtime.dialogFormIds.length - 1];
836
+ if (get(dialogFormId).stateMin) {
837
+ min(dialogFormId);
838
+ }
839
+ if (t.forms[dialogFormId].vroot._topMost) {
840
+ t.forms[dialogFormId].vroot.$refs.form.$data.zIndex = ++info.topLastZIndex;
841
+ }
842
+ else {
843
+ t.forms[dialogFormId].vroot.$refs.form.$data.zIndex = ++info.lastZIndex;
844
+ }
845
+ t.forms[dialogFormId].vapp._container.dataset.formFocus = '';
846
+ t.forms[dialogFormId].vroot._formFocus = true;
847
+ core.trigger('formFocused', taskId, dialogFormId);
823
848
  if (dialogFormId !== formId) {
824
- if (get(dialogFormId).stateMin) {
825
- min(dialogFormId);
826
- }
827
- if (task.list[taskId].forms[dialogFormId].vroot._topMost) {
828
- task.list[taskId].forms[dialogFormId].vroot.$refs.form.$data.zIndexData = ++info.topLastZIndex;
829
- }
830
- else {
831
- task.list[taskId].forms[dialogFormId].vroot.$refs.form.$data.zIndexData = ++info.lastZIndex;
832
- }
833
- task.list[taskId].forms[dialogFormId].vapp._container.dataset.formFocus = '';
834
- task.list[taskId].forms[dialogFormId].vroot._formFocus = true;
835
- core.trigger('formFocused', taskId, dialogFormId);
836
849
  clickgo.form.flash(dialogFormId, taskId);
837
850
  }
838
851
  }
839
852
  else {
853
+ if (t.forms[formId].vroot._topMost) {
854
+ t.forms[formId].vroot.$refs.form.$data.zIndex = ++info.topLastZIndex;
855
+ }
856
+ else {
857
+ t.forms[formId].vroot.$refs.form.$data.zIndex = ++info.lastZIndex;
858
+ }
840
859
  t.forms[formId].vapp._container.dataset.formFocus = '';
841
860
  t.forms[formId].vroot._formFocus = true;
842
861
  core.trigger('formFocused', taskId, formId);
@@ -1381,12 +1400,12 @@ function remove(formId) {
1381
1400
  let icon = '';
1382
1401
  if (task.list[taskId].forms[formId]) {
1383
1402
  title = task.list[taskId].forms[formId].vroot.$refs.form.title;
1384
- icon = task.list[taskId].forms[formId].vroot.$refs.form.iconData;
1403
+ icon = task.list[taskId].forms[formId].vroot.$refs.form.iconDataUrl;
1385
1404
  const io = task.list[taskId].runtime.dialogFormIds.indexOf(formId);
1386
1405
  if (io > -1) {
1387
1406
  task.list[taskId].runtime.dialogFormIds.splice(io, 1);
1388
1407
  }
1389
- task.list[taskId].forms[formId].vroot.$refs.form.$data.showData = false;
1408
+ task.list[taskId].forms[formId].vroot.$refs.form.$data.isShow = false;
1390
1409
  setTimeout(function () {
1391
1410
  const fid = getMaxZIndexID({
1392
1411
  'formIds': [formId]
@@ -1546,12 +1565,12 @@ function create(opt) {
1546
1565
  changeFocus(form.id);
1547
1566
  }
1548
1567
  else {
1549
- form.vroot.$refs.form.$data.zIndexData = ++info.topLastZIndex;
1568
+ form.vroot.$refs.form.$data.zIndex = ++info.topLastZIndex;
1550
1569
  }
1551
1570
  }
1552
1571
  else {
1553
1572
  form.vroot.$data._topMost = false;
1554
- form.vroot.$refs.form.$data.zIndexData = ++info.lastZIndex;
1573
+ form.vroot.$refs.form.$data.zIndex = ++info.lastZIndex;
1555
1574
  }
1556
1575
  return;
1557
1576
  }
@@ -1578,7 +1597,7 @@ function create(opt) {
1578
1597
  'current': t.current,
1579
1598
  'files': t.app.files
1580
1599
  });
1581
- this.$refs.form.iconData = (icon instanceof Blob) ? yield tool.blob2DataUrl(icon) : '';
1600
+ this.$refs.form.iconDataUrl = (icon instanceof Blob) ? yield tool.blob2DataUrl(icon) : '';
1582
1601
  }
1583
1602
  resolve({
1584
1603
  'vapp': vapp,
@@ -1635,7 +1654,15 @@ function create(opt) {
1635
1654
  return -8;
1636
1655
  }
1637
1656
  }
1638
- core.trigger('formCreated', opt.taskId, formId, rtn.vroot.$refs.form.title, rtn.vroot.$refs.form.iconData);
1657
+ core.trigger('formCreated', opt.taskId, formId, rtn.vroot.$refs.form.title, rtn.vroot.$refs.form.iconDataUrl);
1658
+ if (clickgo.isNative() && (formId === 1) && !clickgo.isImmersion() && !clickgo.hasFrame()) {
1659
+ rtn.vroot.$refs.form.isNativeSync = true;
1660
+ native.invoke('cg-set-size', native.getToken(), rtn.vroot.$refs.form.$el.offsetWidth, rtn.vroot.$refs.form.$el.offsetHeight);
1661
+ window.addEventListener('resize', function () {
1662
+ rtn.vroot.$refs.form.setPropData('width', window.innerWidth);
1663
+ rtn.vroot.$refs.form.setPropData('height', window.innerHeight);
1664
+ });
1665
+ }
1639
1666
  return formId;
1640
1667
  });
1641
1668
  }
@@ -1648,7 +1675,8 @@ function dialog(opt) {
1648
1675
  'content': opt
1649
1676
  };
1650
1677
  }
1651
- const taskId = opt.taskId;
1678
+ const nopt = opt;
1679
+ const taskId = nopt.taskId;
1652
1680
  if (!taskId) {
1653
1681
  resolve('');
1654
1682
  return;
@@ -1659,37 +1687,44 @@ function dialog(opt) {
1659
1687
  return;
1660
1688
  }
1661
1689
  const locale = t.locale.lang || core.config.locale;
1662
- if (opt.buttons === undefined) {
1663
- opt.buttons = [(_b = (_a = info.locale[locale]) === null || _a === void 0 ? void 0 : _a.ok) !== null && _b !== void 0 ? _b : info.locale['en'].ok];
1690
+ if (nopt.buttons === undefined) {
1691
+ nopt.buttons = [(_b = (_a = info.locale[locale]) === null || _a === void 0 ? void 0 : _a.ok) !== null && _b !== void 0 ? _b : info.locale['en'].ok];
1664
1692
  }
1665
- create({
1666
- 'code': {
1667
- data: {
1668
- 'buttons': opt.buttons
1669
- },
1670
- methods: {
1671
- select: function (button) {
1672
- var _a, _b;
1673
- const event = {
1674
- 'go': true,
1675
- preventDefault: function () {
1676
- this.go = false;
1677
- }
1678
- };
1679
- (_b = (_a = opt).select) === null || _b === void 0 ? void 0 : _b.call(_a, event, button);
1680
- if (event.go) {
1681
- this.dialogResult = button;
1682
- close(this.formId);
1683
- }
1693
+ const cls = class extends AbstractForm {
1694
+ constructor() {
1695
+ super(...arguments);
1696
+ this.buttons = nopt.buttons;
1697
+ }
1698
+ get taskId() {
1699
+ return taskId;
1700
+ }
1701
+ select(button) {
1702
+ var _a;
1703
+ const event = {
1704
+ 'go': true,
1705
+ preventDefault: function () {
1706
+ this.go = false;
1684
1707
  }
1708
+ };
1709
+ (_a = nopt.select) === null || _a === void 0 ? void 0 : _a.call(nopt, event, button);
1710
+ if (event.go) {
1711
+ this.dialogResult = button;
1712
+ close(this.formId);
1685
1713
  }
1686
- },
1687
- 'layout': `<form title="${(_c = opt.title) !== null && _c !== void 0 ? _c : 'dialog'}" :min="false" :max="false" :resize="false" border="${opt.title ? 'normal' : 'plain'}" direction="v"><dialog :buttons="buttons" @select="select"${opt.direction ? ` direction="${opt.direction}"` : ''}>${opt.content}</dialog></form>`,
1688
- 'taskId': taskId
1689
- }).then((fid) => __awaiter(this, void 0, void 0, function* () {
1690
- resolve(yield t.forms[fid].vroot.showDialog());
1691
- })).catch((e) => {
1692
- throw e;
1714
+ }
1715
+ };
1716
+ cls.create(undefined, `<form title="${(_c = nopt.title) !== null && _c !== void 0 ? _c : 'dialog'}" min="false" max="false" resize="false" height="0" border="${nopt.title ? 'normal' : 'plain'}" direction="v"><dialog :buttons="buttons" @select="select"${nopt.direction ? ` direction="${nopt.direction}"` : ''}>${nopt.content}</dialog></form>`).then((frm) => {
1717
+ if (typeof frm === 'number') {
1718
+ resolve('');
1719
+ return;
1720
+ }
1721
+ frm.showDialog().then((v) => {
1722
+ resolve(v);
1723
+ }).catch(() => {
1724
+ resolve('');
1725
+ });
1726
+ }).catch(() => {
1727
+ resolve('');
1693
1728
  });
1694
1729
  });
1695
1730
  }