clickgo 3.11.13 → 3.11.15

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.
Files changed (56) hide show
  1. package/README.md +1 -1
  2. package/dist/app/demo/app.js +1 -1
  3. package/dist/app/demo/form/control/drawer/drawer.xml +9 -0
  4. package/dist/app/demo/form/control/form/form.js +2 -3
  5. package/dist/app/demo/form/control/form/form.xml +1 -1
  6. package/dist/app/demo/form/control/group/group.js +2 -0
  7. package/dist/app/demo/form/control/group/group.xml +16 -1
  8. package/dist/app/demo/form/control/list/list.js +1 -1
  9. package/dist/app/demo/form/control/list/list.xml +16 -8
  10. package/dist/app/demo/form/control/page/page.js +1 -0
  11. package/dist/app/demo/form/control/page/page.xml +14 -8
  12. package/dist/app/demo/form/control/select/select.js +1 -0
  13. package/dist/app/demo/form/control/select/select.xml +5 -4
  14. package/dist/app/demo/form/control/table/table.js +55 -11
  15. package/dist/app/demo/form/control/table/table.xml +51 -42
  16. package/dist/app/demo/form/main.xml +1 -1
  17. package/dist/app/demo/form/method/native/native.js +1 -1
  18. package/dist/app/demo/form/method/storage/storage.js +1 -1
  19. package/dist/clickgo.js +1 -1
  20. package/dist/clickgo.ts +1 -1
  21. package/dist/control/arteditor.cgc +0 -0
  22. package/dist/control/box.cgc +0 -0
  23. package/dist/control/common.cgc +0 -0
  24. package/dist/control/desc.cgc +0 -0
  25. package/dist/control/drawer.cgc +0 -0
  26. package/dist/control/echarts.cgc +0 -0
  27. package/dist/control/form.cgc +0 -0
  28. package/dist/control/html.cgc +0 -0
  29. package/dist/control/iconview.cgc +0 -0
  30. package/dist/control/map.cgc +0 -0
  31. package/dist/control/monaco.cgc +0 -0
  32. package/dist/control/nav.cgc +0 -0
  33. package/dist/control/page.cgc +0 -0
  34. package/dist/control/property.cgc +0 -0
  35. package/dist/control/table.cgc +0 -0
  36. package/dist/control/task.cgc +0 -0
  37. package/dist/control/tuieditor.cgc +0 -0
  38. package/dist/control/xterm.cgc +0 -0
  39. package/dist/global.css +1 -1
  40. package/dist/index.js +1 -1
  41. package/dist/lib/control.js +1 -1
  42. package/dist/lib/core.js +2 -2
  43. package/dist/lib/dom.js +15 -1
  44. package/dist/lib/dom.ts +18 -0
  45. package/dist/lib/form.js +52 -51
  46. package/dist/lib/form.ts +52 -51
  47. package/dist/lib/fs.js +19 -19
  48. package/dist/lib/storage.js +1 -1
  49. package/dist/lib/task.js +10 -7
  50. package/dist/lib/task.ts +4 -1
  51. package/dist/lib/zip.js +2 -2
  52. package/dist/theme/byterun.cgt +0 -0
  53. package/dist/theme/familiar.cgt +0 -0
  54. package/dist/theme/light.cgt +0 -0
  55. package/package.json +6 -6
  56. package/types/index.d.ts +19 -0
Binary file
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;--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)}
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%)}[data-cg-disabled]{cursor:not-allowed}#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/index.js CHANGED
@@ -98,8 +98,8 @@ class AbstractBoot {
98
98
  exports.AbstractBoot = AbstractBoot;
99
99
  function launcher(boot) {
100
100
  (function () {
101
- var _a;
102
101
  return __awaiter(this, void 0, void 0, function* () {
102
+ var _a;
103
103
  const paths = [
104
104
  loader.cdn + '/npm/vue@3.4.21/dist/vue.global.prod.min.js'
105
105
  ];
@@ -521,8 +521,8 @@ function buildComponents(taskId, formId, path) {
521
521
  this.onBeforeMount();
522
522
  },
523
523
  mounted: function () {
524
- var _a;
525
524
  return __awaiter(this, void 0, void 0, function* () {
525
+ var _a;
526
526
  if (((_a = this.element.dataset) === null || _a === void 0 ? void 0 : _a.cgRootcontrol) !== undefined) {
527
527
  const rc = this.parentByAccess('cgPCMap', this.element.dataset.cgRootcontrol);
528
528
  if (rc) {
package/dist/lib/core.js CHANGED
@@ -602,8 +602,8 @@ function readApp(blob) {
602
602
  });
603
603
  }
604
604
  exports.readApp = readApp;
605
- function fetchApp(url, opt = {}, taskId) {
606
- return __awaiter(this, void 0, void 0, function* () {
605
+ function fetchApp(url_1) {
606
+ return __awaiter(this, arguments, void 0, function* (url, opt = {}, taskId) {
607
607
  let cga = '';
608
608
  if (!url.endsWith('/')) {
609
609
  const lio = url.lastIndexOf('/');
package/dist/lib/dom.js CHANGED
@@ -32,7 +32,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
32
32
  });
33
33
  };
34
34
  Object.defineProperty(exports, "__esModule", { value: true });
35
- exports.createElement = exports.exitFullscreen = exports.fullscreen = exports.siblingsData = exports.siblings = exports.findParentByTag = exports.findParentByClass = exports.findParentByData = exports.bindResize = exports.bindMove = exports.is = exports.bindDrag = exports.setDragData = exports.bindLong = exports.allowEvent = exports.bindGesture = exports.bindDown = exports.bindDblClick = exports.bindClick = exports.getWatchInfo = exports.clearWatchProperty = exports.isWatchProperty = exports.watchProperty = exports.clearWatchStyle = exports.isWatchStyle = exports.watchStyle = exports.clearWatch = exports.isWatch = exports.unwatch = exports.watch = exports.getWatchCount = exports.clearWatchSize = exports.isWatchSize = exports.unwatchSize = exports.watchSize = exports.getWatchSizeCount = exports.getStyleCount = exports.removeStyle = exports.pushStyle = exports.removeFromStyleList = exports.createToStyleList = exports.hasTouchButMouse = exports.setGlobalCursor = exports.inPage = void 0;
35
+ exports.createElement = exports.exitFullscreen = exports.fullscreen = exports.siblingsData = exports.siblings = exports.index = exports.findParentByTag = exports.findParentByClass = exports.findParentByData = exports.bindResize = exports.bindMove = exports.is = exports.bindDrag = exports.setDragData = exports.bindLong = exports.allowEvent = exports.bindGesture = exports.bindDown = exports.bindDblClick = exports.bindClick = exports.getWatchInfo = exports.clearWatchProperty = exports.isWatchProperty = exports.watchProperty = exports.clearWatchStyle = exports.isWatchStyle = exports.watchStyle = exports.clearWatch = exports.isWatch = exports.unwatch = exports.watch = exports.getWatchCount = exports.clearWatchSize = exports.isWatchSize = exports.unwatchSize = exports.watchSize = exports.getWatchSizeCount = exports.getStyleCount = exports.removeStyle = exports.pushStyle = exports.removeFromStyleList = exports.createToStyleList = exports.hasTouchButMouse = exports.setGlobalCursor = exports.inPage = void 0;
36
36
  const clickgo = __importStar(require("../clickgo"));
37
37
  const form = __importStar(require("./form"));
38
38
  const core = __importStar(require("./core"));
@@ -1814,12 +1814,26 @@ function findParentByTag(el, name) {
1814
1814
  return null;
1815
1815
  }
1816
1816
  exports.findParentByTag = findParentByTag;
1817
+ function index(el) {
1818
+ let index = 0;
1819
+ let p = el.previousElementSibling;
1820
+ while (true) {
1821
+ if (!p) {
1822
+ break;
1823
+ }
1824
+ ++index;
1825
+ p = p.previousElementSibling;
1826
+ }
1827
+ return index;
1828
+ }
1829
+ exports.index = index;
1817
1830
  function siblings(el) {
1818
1831
  if (!el.parentNode) {
1819
1832
  return [];
1820
1833
  }
1821
1834
  const list = [];
1822
1835
  for (let i = 0; i < el.parentNode.children.length; ++i) {
1836
+ el.previousElementSibling;
1823
1837
  const e = el.parentNode.children.item(i);
1824
1838
  if (e === el) {
1825
1839
  continue;
package/dist/lib/dom.ts CHANGED
@@ -2270,6 +2270,23 @@ export function findParentByTag(el: HTMLElement, name: string): HTMLElement | nu
2270
2270
  return null;
2271
2271
  }
2272
2272
 
2273
+ /**
2274
+ * --- 判断一个元素是当前同级的第几位 ---
2275
+ * @param el 要判断的元素
2276
+ */
2277
+ export function index(el: HTMLElement): number {
2278
+ let index = 0;
2279
+ let p = el.previousElementSibling;
2280
+ while (true) {
2281
+ if (!p) {
2282
+ break;
2283
+ }
2284
+ ++index;
2285
+ p = p.previousElementSibling;
2286
+ }
2287
+ return index;
2288
+ }
2289
+
2273
2290
  /**
2274
2291
  * --- 查找指定 el 的同级所有元素 ---
2275
2292
  * @param el 基准
@@ -2281,6 +2298,7 @@ export function siblings(el: HTMLElement): HTMLElement[] {
2281
2298
  }
2282
2299
  const list: HTMLElement[] = [];
2283
2300
  for (let i = 0; i < el.parentNode.children.length; ++i) {
2301
+ el.previousElementSibling
2284
2302
  const e = el.parentNode.children.item(i) as HTMLElement;
2285
2303
  if (e === el) {
2286
2304
  continue;
package/dist/lib/form.js CHANGED
@@ -1816,52 +1816,52 @@ window.addEventListener('touchstart', doFocusAndPopEvent, {
1816
1816
  window.addEventListener('mousedown', doFocusAndPopEvent);
1817
1817
  function remove(formId) {
1818
1818
  const taskId = getTaskId(formId);
1819
- let title = '';
1820
- let icon = '';
1821
- if (task.list[taskId].forms[formId]) {
1822
- title = task.list[taskId].forms[formId].vroot.$refs.form.title;
1823
- icon = task.list[taskId].forms[formId].vroot.$refs.form.iconDataUrl;
1824
- const io = task.list[taskId].runtime.dialogFormIds.indexOf(formId);
1825
- if (io > -1) {
1826
- task.list[taskId].runtime.dialogFormIds.splice(io, 1);
1827
- }
1828
- task.list[taskId].forms[formId].vroot.$refs.form.$data.isShow = false;
1829
- setTimeout(function () {
1830
- var _a;
1831
- const fid = getMaxZIndexID({
1832
- 'formIds': [formId]
1833
- });
1834
- if (fid) {
1835
- changeFocus(fid);
1836
- }
1837
- else {
1838
- changeFocus();
1839
- }
1840
- if (!task.list[taskId]) {
1841
- return true;
1842
- }
1843
- task.list[taskId].forms[formId].vapp.unmount();
1844
- task.list[taskId].forms[formId].vapp._container.remove();
1845
- (_a = exports.elements.popList.querySelector('[data-form-id="' + formId.toString() + '"]')) === null || _a === void 0 ? void 0 : _a.remove();
1846
- if (io > -1) {
1847
- task.list[taskId].forms[formId].vroot.cgDialogCallback();
1848
- }
1849
- delete task.list[taskId].forms[formId];
1850
- dom.removeStyle(taskId, 'form', formId);
1851
- core.trigger('formRemoved', taskId, formId, title, icon);
1852
- dom.clearWatchStyle(formId);
1853
- dom.clearWatchProperty(formId);
1854
- native.clear(formId, taskId);
1855
- delete exports.activePanels[formId];
1856
- if (Object.keys(task.list[taskId].forms).length === 0) {
1857
- task.end(taskId);
1858
- }
1859
- }, 300);
1860
- return true;
1819
+ if (!task.list[taskId].forms[formId]) {
1820
+ return false;
1861
1821
  }
1862
- else {
1822
+ if (task.list[taskId].forms[formId].closed) {
1863
1823
  return false;
1864
1824
  }
1825
+ task.list[taskId].forms[formId].closed = true;
1826
+ const title = task.list[taskId].forms[formId].vroot.$refs.form.title;
1827
+ const icon = task.list[taskId].forms[formId].vroot.$refs.form.iconDataUrl;
1828
+ const io = task.list[taskId].runtime.dialogFormIds.indexOf(formId);
1829
+ if (io > -1) {
1830
+ task.list[taskId].runtime.dialogFormIds.splice(io, 1);
1831
+ }
1832
+ task.list[taskId].forms[formId].vroot.$refs.form.$data.isShow = false;
1833
+ setTimeout(function () {
1834
+ var _a;
1835
+ const fid = getMaxZIndexID({
1836
+ 'formIds': [formId]
1837
+ });
1838
+ if (fid) {
1839
+ changeFocus(fid);
1840
+ }
1841
+ else {
1842
+ changeFocus();
1843
+ }
1844
+ if (!task.list[taskId]) {
1845
+ return true;
1846
+ }
1847
+ task.list[taskId].forms[formId].vapp.unmount();
1848
+ task.list[taskId].forms[formId].vapp._container.remove();
1849
+ (_a = exports.elements.popList.querySelector('[data-form-id="' + formId.toString() + '"]')) === null || _a === void 0 ? void 0 : _a.remove();
1850
+ if (io > -1) {
1851
+ task.list[taskId].forms[formId].vroot.cgDialogCallback();
1852
+ }
1853
+ delete task.list[taskId].forms[formId];
1854
+ dom.removeStyle(taskId, 'form', formId);
1855
+ core.trigger('formRemoved', taskId, formId, title, icon);
1856
+ dom.clearWatchStyle(formId);
1857
+ dom.clearWatchProperty(formId);
1858
+ native.clear(formId, taskId);
1859
+ delete exports.activePanels[formId];
1860
+ if (Object.keys(task.list[taskId].forms).length === 0) {
1861
+ task.end(taskId);
1862
+ }
1863
+ }, 300);
1864
+ return true;
1865
1865
  }
1866
1866
  exports.remove = remove;
1867
1867
  function removePanel(id, vapp, el) {
@@ -1908,9 +1908,9 @@ function getForm(taskId, formId) {
1908
1908
  }
1909
1909
  return form;
1910
1910
  }
1911
- function createPanel(rootPanel, cls, opt = {}, taskId) {
1912
- var _a;
1913
- return __awaiter(this, void 0, void 0, function* () {
1911
+ function createPanel(rootPanel_1, cls_1) {
1912
+ return __awaiter(this, arguments, void 0, function* (rootPanel, cls, opt = {}, taskId) {
1913
+ var _a;
1914
1914
  if (rootPanel.element.dataset.cgControl !== 'panel') {
1915
1915
  const err = new Error('form.createPanel: -0');
1916
1916
  core.trigger('error', 0, 0, err, err.message);
@@ -2214,9 +2214,9 @@ function createPanel(rootPanel, cls, opt = {}, taskId) {
2214
2214
  });
2215
2215
  }
2216
2216
  exports.createPanel = createPanel;
2217
- function create(cls, data, opt = {}, taskId) {
2218
- var _a, _b;
2219
- return __awaiter(this, void 0, void 0, function* () {
2217
+ function create(cls_1, data_1) {
2218
+ return __awaiter(this, arguments, void 0, function* (cls, data, opt = {}, taskId) {
2219
+ var _a, _b;
2220
2220
  if (!taskId) {
2221
2221
  const err = new Error('form.create: -1');
2222
2222
  core.trigger('error', 0, 0, err, err.message);
@@ -2562,7 +2562,8 @@ function create(cls, data, opt = {}, taskId) {
2562
2562
  const nform = {
2563
2563
  'id': formId,
2564
2564
  'vapp': rtn.vapp,
2565
- 'vroot': rtn.vroot
2565
+ 'vroot': rtn.vroot,
2566
+ 'closed': false
2566
2567
  };
2567
2568
  t.forms[formId] = nform;
2568
2569
  yield tool.sleep(34);
@@ -2680,8 +2681,8 @@ function dialog(opt) {
2680
2681
  }
2681
2682
  exports.dialog = dialog;
2682
2683
  function confirm(opt) {
2683
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
2684
2684
  return __awaiter(this, void 0, void 0, function* () {
2685
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
2685
2686
  if (typeof opt === 'string') {
2686
2687
  opt = {
2687
2688
  'content': opt
package/dist/lib/form.ts CHANGED
@@ -2370,59 +2370,59 @@ window.addEventListener('mousedown', doFocusAndPopEvent);
2370
2370
  */
2371
2371
  export function remove(formId: number): boolean {
2372
2372
  const taskId: number = getTaskId(formId);
2373
- let title = '';
2374
- let icon = '';
2375
- if (task.list[taskId].forms[formId]) {
2376
- title = task.list[taskId].forms[formId].vroot.$refs.form.title;
2377
- icon = task.list[taskId].forms[formId].vroot.$refs.form.iconDataUrl;
2378
- const io = task.list[taskId].runtime.dialogFormIds.indexOf(formId);
2379
- if (io > -1) {
2380
- // --- 取消 dialog mask 记录 ---
2381
- task.list[taskId].runtime.dialogFormIds.splice(io, 1);
2382
- }
2383
- task.list[taskId].forms[formId].vroot.$refs.form.$data.isShow = false;
2384
- setTimeout(function() {
2385
- // --- 获取最大的 z index 窗体,并让他获取焦点 ---
2386
- const fid = getMaxZIndexID({
2387
- 'formIds': [formId]
2388
- });
2389
- if (fid) {
2390
- changeFocus(fid);
2391
- }
2392
- else {
2393
- changeFocus();
2394
- }
2395
- // --- 延长 100 秒是为了响应 100 毫秒的动画 ---
2396
- if (!task.list[taskId]) {
2397
- // --- 可能这时候 task 已经被结束了 ---
2398
- return true;
2399
- }
2400
- task.list[taskId].forms[formId].vapp.unmount();
2401
- task.list[taskId].forms[formId].vapp._container.remove();
2402
- elements.popList.querySelector('[data-form-id="' + formId.toString() + '"]')?.remove();
2403
- if (io > -1) {
2404
- // --- 如果是 dialog 则要执行回调 ---
2405
- task.list[taskId].forms[formId].vroot.cgDialogCallback();
2406
- }
2407
- delete task.list[taskId].forms[formId];
2408
- // --- 移除 form 的 style ---
2409
- dom.removeStyle(taskId, 'form', formId);
2410
- // --- 触发 formRemoved 事件 ---
2411
- core.trigger('formRemoved', taskId, formId, title, icon);
2412
- dom.clearWatchStyle(formId);
2413
- dom.clearWatchProperty(formId);
2414
- native.clear(formId, taskId);
2415
- delete activePanels[formId];
2416
- // --- 检测是否已经没有窗体了,如果没有了的话就要结束任务了 ---
2417
- if (Object.keys(task.list[taskId].forms).length === 0) {
2418
- task.end(taskId);
2419
- }
2420
- }, 300);
2421
- return true;
2373
+ if (!task.list[taskId].forms[formId]) {
2374
+ return false;
2422
2375
  }
2423
- else {
2376
+ if (task.list[taskId].forms[formId].closed) {
2424
2377
  return false;
2425
2378
  }
2379
+ task.list[taskId].forms[formId].closed = true;
2380
+ const title = task.list[taskId].forms[formId].vroot.$refs.form.title;
2381
+ const icon = task.list[taskId].forms[formId].vroot.$refs.form.iconDataUrl;
2382
+ const io = task.list[taskId].runtime.dialogFormIds.indexOf(formId);
2383
+ if (io > -1) {
2384
+ // --- 取消 dialog mask 记录 ---
2385
+ task.list[taskId].runtime.dialogFormIds.splice(io, 1);
2386
+ }
2387
+ task.list[taskId].forms[formId].vroot.$refs.form.$data.isShow = false;
2388
+ setTimeout(function() {
2389
+ // --- 获取最大的 z index 窗体,并让他获取焦点 ---
2390
+ const fid = getMaxZIndexID({
2391
+ 'formIds': [formId]
2392
+ });
2393
+ if (fid) {
2394
+ changeFocus(fid);
2395
+ }
2396
+ else {
2397
+ changeFocus();
2398
+ }
2399
+ // --- 延长 100 秒是为了响应 100 毫秒的动画 ---
2400
+ if (!task.list[taskId]) {
2401
+ // --- 可能这时候 task 已经被结束了 ---
2402
+ return true;
2403
+ }
2404
+ task.list[taskId].forms[formId].vapp.unmount();
2405
+ task.list[taskId].forms[formId].vapp._container.remove();
2406
+ elements.popList.querySelector('[data-form-id="' + formId.toString() + '"]')?.remove();
2407
+ if (io > -1) {
2408
+ // --- 如果是 dialog 则要执行回调 ---
2409
+ task.list[taskId].forms[formId].vroot.cgDialogCallback();
2410
+ }
2411
+ delete task.list[taskId].forms[formId];
2412
+ // --- 移除 form 的 style ---
2413
+ dom.removeStyle(taskId, 'form', formId);
2414
+ // --- 触发 formRemoved 事件 ---
2415
+ core.trigger('formRemoved', taskId, formId, title, icon);
2416
+ dom.clearWatchStyle(formId);
2417
+ dom.clearWatchProperty(formId);
2418
+ native.clear(formId, taskId);
2419
+ delete activePanels[formId];
2420
+ // --- 检测是否已经没有窗体了,如果没有了的话就要结束任务了 ---
2421
+ if (Object.keys(task.list[taskId].forms).length === 0) {
2422
+ task.end(taskId);
2423
+ }
2424
+ }, 300);
2425
+ return true;
2426
2426
  }
2427
2427
 
2428
2428
  /**
@@ -3265,7 +3265,8 @@ export async function create<T extends AbstractForm>(
3265
3265
  const nform: types.IForm = {
3266
3266
  'id': formId,
3267
3267
  'vapp': rtn.vapp,
3268
- 'vroot': rtn.vroot
3268
+ 'vroot': rtn.vroot,
3269
+ 'closed': false
3269
3270
  };
3270
3271
  // --- 挂载 form ---
3271
3272
  t.forms[formId] = nform;
package/dist/lib/fs.js CHANGED
@@ -104,8 +104,8 @@ function mount(name, handler, taskId) {
104
104
  }
105
105
  exports.mount = mount;
106
106
  function unmount(name) {
107
- var _a, _b;
108
107
  return __awaiter(this, void 0, void 0, function* () {
108
+ var _a, _b;
109
109
  if (!mounts[name]) {
110
110
  return true;
111
111
  }
@@ -119,8 +119,8 @@ function unmount(name) {
119
119
  }
120
120
  exports.unmount = unmount;
121
121
  function getContent(path, options, taskId) {
122
- var _a, _b, _c;
123
122
  return __awaiter(this, void 0, void 0, function* () {
123
+ var _a, _b, _c;
124
124
  path = tool.urlResolve('/', path);
125
125
  const fpath = path.slice(8);
126
126
  if (typeof options === 'string') {
@@ -244,9 +244,9 @@ function getContent(path, options, taskId) {
244
244
  });
245
245
  }
246
246
  exports.getContent = getContent;
247
- function putContent(path, data, options = {}, taskId) {
248
- var _a, _b;
249
- return __awaiter(this, void 0, void 0, function* () {
247
+ function putContent(path_1, data_1) {
248
+ return __awaiter(this, arguments, void 0, function* (path, data, options = {}, taskId) {
249
+ var _a, _b;
250
250
  path = tool.urlResolve('/', path);
251
251
  const fpath = path.slice(8);
252
252
  if (path.startsWith('/clickgo/')) {
@@ -287,8 +287,8 @@ function putContent(path, data, options = {}, taskId) {
287
287
  }
288
288
  exports.putContent = putContent;
289
289
  function readLink(path, encoding, taskId) {
290
- var _a, _b;
291
290
  return __awaiter(this, void 0, void 0, function* () {
291
+ var _a, _b;
292
292
  path = tool.urlResolve('/', path);
293
293
  const fpath = path.slice(8);
294
294
  if (path.startsWith('/clickgo/')) {
@@ -325,8 +325,8 @@ function readLink(path, encoding, taskId) {
325
325
  }
326
326
  exports.readLink = readLink;
327
327
  function symlink(filePath, linkPath, type, taskId) {
328
- var _a, _b;
329
328
  return __awaiter(this, void 0, void 0, function* () {
329
+ var _a, _b;
330
330
  filePath = tool.urlResolve('/', filePath);
331
331
  linkPath = tool.urlResolve('/', linkPath);
332
332
  if (filePath.startsWith('/clickgo/')) {
@@ -370,8 +370,8 @@ function symlink(filePath, linkPath, type, taskId) {
370
370
  }
371
371
  exports.symlink = symlink;
372
372
  function unlink(path, taskId) {
373
- var _a, _b;
374
373
  return __awaiter(this, void 0, void 0, function* () {
374
+ var _a, _b;
375
375
  path = tool.urlResolve('/', path);
376
376
  const fpath = path.slice(8);
377
377
  if (path.startsWith('/clickgo/')) {
@@ -487,8 +487,8 @@ function getClickGoStats(path) {
487
487
  });
488
488
  }
489
489
  function stats(path, taskId) {
490
- var _a, _b;
491
490
  return __awaiter(this, void 0, void 0, function* () {
491
+ var _a, _b;
492
492
  path = tool.urlResolve('/', path);
493
493
  if (path.endsWith('/')) {
494
494
  path = path.slice(0, -1);
@@ -719,9 +719,9 @@ function isFile(path, taskId) {
719
719
  });
720
720
  }
721
721
  exports.isFile = isFile;
722
- function mkdir(path, mode = 0o755, taskId) {
723
- var _a, _b;
724
- return __awaiter(this, void 0, void 0, function* () {
722
+ function mkdir(path_1) {
723
+ return __awaiter(this, arguments, void 0, function* (path, mode = 0o755, taskId) {
724
+ var _a, _b;
725
725
  path = tool.urlResolve('/', path);
726
726
  if (yield isDir(path, taskId)) {
727
727
  return true;
@@ -761,8 +761,8 @@ function mkdir(path, mode = 0o755, taskId) {
761
761
  }
762
762
  exports.mkdir = mkdir;
763
763
  function rmdir(path, taskId) {
764
- var _a, _b;
765
764
  return __awaiter(this, void 0, void 0, function* () {
765
+ var _a, _b;
766
766
  path = tool.urlResolve('/', path);
767
767
  const fpath = path.slice(8);
768
768
  if (path.startsWith('/clickgo/')) {
@@ -828,8 +828,8 @@ function rmdirDeep(path, taskId) {
828
828
  }
829
829
  exports.rmdirDeep = rmdirDeep;
830
830
  function chmod(path, mod, taskId) {
831
- var _a, _b;
832
831
  return __awaiter(this, void 0, void 0, function* () {
832
+ var _a, _b;
833
833
  path = tool.urlResolve('/', path);
834
834
  const fpath = path.slice(8);
835
835
  if (path.startsWith('/clickgo/')) {
@@ -866,8 +866,8 @@ function chmod(path, mod, taskId) {
866
866
  }
867
867
  exports.chmod = chmod;
868
868
  function rename(oldPath, newPath, taskId) {
869
- var _a, _b;
870
869
  return __awaiter(this, void 0, void 0, function* () {
870
+ var _a, _b;
871
871
  oldPath = tool.urlResolve('/', oldPath);
872
872
  newPath = tool.urlResolve('/', newPath);
873
873
  if (!oldPath.startsWith(newPath.slice(0, 9))) {
@@ -917,8 +917,8 @@ function rename(oldPath, newPath, taskId) {
917
917
  }
918
918
  exports.rename = rename;
919
919
  function readDir(path, encoding, taskId) {
920
- var _a, _b;
921
920
  return __awaiter(this, void 0, void 0, function* () {
921
+ var _a, _b;
922
922
  path = tool.urlResolve('/', path);
923
923
  if (path === '/') {
924
924
  const list = [
@@ -1141,8 +1141,8 @@ function readDir(path, encoding, taskId) {
1141
1141
  });
1142
1142
  }
1143
1143
  exports.readDir = readDir;
1144
- function copyFolder(from, to, ignore = [], taskId) {
1145
- return __awaiter(this, void 0, void 0, function* () {
1144
+ function copyFolder(from_1, to_1) {
1145
+ return __awaiter(this, arguments, void 0, function* (from, to, ignore = [], taskId) {
1146
1146
  let num = 0;
1147
1147
  if (!(yield isDir(from, taskId))) {
1148
1148
  return 0;
@@ -1180,8 +1180,8 @@ function copyFolder(from, to, ignore = [], taskId) {
1180
1180
  }
1181
1181
  exports.copyFolder = copyFolder;
1182
1182
  function copyFile(src, dest, taskId) {
1183
- var _a, _b;
1184
1183
  return __awaiter(this, void 0, void 0, function* () {
1184
+ var _a, _b;
1185
1185
  src = tool.urlResolve('/', src);
1186
1186
  dest = tool.urlResolve('/', dest);
1187
1187
  if (!src.startsWith(dest.slice(0, 9))) {
@@ -181,8 +181,8 @@ function all() {
181
181
  }
182
182
  exports.all = all;
183
183
  function clear(path) {
184
- var _a, _b;
185
184
  return __awaiter(this, void 0, void 0, function* () {
185
+ var _a, _b;
186
186
  if (!path) {
187
187
  return 0;
188
188
  }
package/dist/lib/task.js CHANGED
@@ -216,9 +216,9 @@ function getList() {
216
216
  return rtn;
217
217
  }
218
218
  exports.getList = getList;
219
- function run(url, opt = {}, ntid) {
220
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
221
- return __awaiter(this, void 0, void 0, function* () {
219
+ function run(url_1) {
220
+ return __awaiter(this, arguments, void 0, function* (url, opt = {}, ntid) {
221
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
222
222
  let app = null;
223
223
  if (typeof url === 'string') {
224
224
  if (!url.endsWith('/') && !url.endsWith('.cga')) {
@@ -554,9 +554,12 @@ function run(url, opt = {}, ntid) {
554
554
  findParentByClass: function (el, name) {
555
555
  return dom.findParentByClass(el, name);
556
556
  },
557
- findParentByTag(el, name) {
557
+ findParentByTag: function (el, name) {
558
558
  return dom.findParentByTag(el, name);
559
559
  },
560
+ index: function (el) {
561
+ return dom.index(el);
562
+ },
560
563
  siblings: function (el) {
561
564
  return dom.siblings(el);
562
565
  },
@@ -1331,9 +1334,9 @@ const locale = {
1331
1334
  'read-write': 'Đọc/ghi'
1332
1335
  }
1333
1336
  };
1334
- function checkPermission(vals, apply = false, applyHandler, taskId) {
1335
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
1336
- return __awaiter(this, void 0, void 0, function* () {
1337
+ function checkPermission(vals_1) {
1338
+ return __awaiter(this, arguments, void 0, function* (vals, apply = false, applyHandler, taskId) {
1339
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
1337
1340
  if (!taskId) {
1338
1341
  return [false];
1339
1342
  }
package/dist/lib/task.ts CHANGED
@@ -642,9 +642,12 @@ export async function run(url: string | types.IApp, opt: types.ITaskRunOptions =
642
642
  findParentByClass: function(el: HTMLElement, name: string): HTMLElement | null {
643
643
  return dom.findParentByClass(el, name);
644
644
  },
645
- findParentByTag(el: HTMLElement, name: string): HTMLElement | null {
645
+ findParentByTag: function(el: HTMLElement, name: string): HTMLElement | null {
646
646
  return dom.findParentByTag(el, name);
647
647
  },
648
+ index: function(el: HTMLElement): number {
649
+ return dom.index(el);
650
+ },
648
651
  siblings: function(el: HTMLElement): HTMLElement[] {
649
652
  return dom.siblings(el);
650
653
  },
package/dist/lib/zip.js CHANGED
@@ -45,8 +45,8 @@ class Zip {
45
45
  this._zip = zip;
46
46
  this._refreshList();
47
47
  }
48
- getContent(path, type = 'string') {
49
- return __awaiter(this, void 0, void 0, function* () {
48
+ getContent(path_1) {
49
+ return __awaiter(this, arguments, void 0, function* (path, type = 'string') {
50
50
  path = tool.urlResolve(this._path, path);
51
51
  const f = this._zip.file(path.slice(1));
52
52
  if (!f) {
Binary file
Binary file
Binary file