cloudcmd 18.0.2 → 18.2.0
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/ChangeLog +11 -0
- package/HELP.md +127 -122
- package/README.md +1 -1
- package/bin/cloudcmd.mjs +3 -0
- package/common/cloudfunc.js +11 -0
- package/dist/cloudcmd.common.js +3 -3
- package/dist/cloudcmd.common.js.map +1 -1
- package/dist/cloudcmd.css +1 -1
- package/dist/cloudcmd.js +1 -1
- package/dist/cloudcmd.js.map +1 -1
- package/dist/modules/cloud.js +1 -1
- package/dist/modules/cloud.js.map +1 -1
- package/dist/modules/command-line.js +1 -1
- package/dist/modules/command-line.js.map +1 -1
- package/dist/modules/config.js +1 -1
- package/dist/modules/config.js.map +1 -1
- package/dist/modules/contact.js +1 -1
- package/dist/modules/contact.js.map +1 -1
- package/dist/modules/edit-file-vim.js +1 -1
- package/dist/modules/edit-file-vim.js.map +1 -1
- package/dist/modules/edit-file.js +1 -1
- package/dist/modules/edit-file.js.map +1 -1
- package/dist/modules/edit-names-vim.js +1 -1
- package/dist/modules/edit-names-vim.js.map +1 -1
- package/dist/modules/edit-names.js +1 -1
- package/dist/modules/edit-names.js.map +1 -1
- package/dist/modules/edit.js +1 -1
- package/dist/modules/edit.js.map +1 -1
- package/dist/modules/help.js +1 -1
- package/dist/modules/help.js.map +1 -1
- package/dist/modules/konsole.js +1 -1
- package/dist/modules/konsole.js.map +1 -1
- package/dist/modules/markdown.js +1 -1
- package/dist/modules/markdown.js.map +1 -1
- package/dist/modules/menu.js +1 -1
- package/dist/modules/menu.js.map +1 -1
- package/dist/modules/operation.js +1 -1
- package/dist/modules/operation.js.map +1 -1
- package/dist/modules/polyfill.js +1 -1
- package/dist/modules/polyfill.js.map +1 -1
- package/dist/modules/terminal-run.js +1 -1
- package/dist/modules/terminal-run.js.map +1 -1
- package/dist/modules/terminal.js +1 -1
- package/dist/modules/terminal.js.map +1 -1
- package/dist/modules/upload.js +1 -1
- package/dist/modules/upload.js.map +1 -1
- package/dist/modules/user-menu.js +1 -1
- package/dist/modules/user-menu.js.map +1 -1
- package/dist/modules/view.js +1 -1
- package/dist/modules/view.js.map +1 -1
- package/dist/sw.js +1 -1
- package/dist/sw.js.map +1 -1
- package/dist-dev/cloudcmd.common.js +4 -132
- package/dist-dev/cloudcmd.css +11 -6
- package/dist-dev/cloudcmd.js +2 -2
- package/dist-dev/modules/menu.js +1 -1
- package/dist-dev/modules/terminal-run.js +1 -1
- package/dist-dev/sw.js +1 -1
- package/font/fontello.eot +0 -0
- package/font/fontello.json +6 -0
- package/font/fontello.svg +2 -0
- package/font/fontello.ttf +0 -0
- package/font/fontello.woff +0 -0
- package/font/fontello.woff2 +0 -0
- package/json/config.json +1 -0
- package/json/help.json +2 -0
- package/man/cloudcmd.1 +2 -0
- package/package.json +3 -3
- package/server/route.mjs +1 -0
- package/server/user-menu.mjs +5 -5
- package/tmpl/config.hbs +6 -0
package/dist/cloudcmd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e){function t(t){for(var r,i,a=t[0],l=t[1],c=t[2],d=0,f=[];d<a.length;d++)i=a[d],Object.prototype.hasOwnProperty.call(o,i)&&o[i]&&f.push(o[i][0]),o[i]=0;for(r in l)Object.prototype.hasOwnProperty.call(l,r)&&(e[r]=l[r]);for(u&&u(t);f.length;)f.shift()();return s.push.apply(s,c||[]),n()}function n(){for(var e,t=0;t<s.length;t++){for(var n=s[t],r=!0,a=1;a<n.length;a++){var l=n[a];0!==o[l]&&(r=!1)}r&&(s.splice(t--,1),e=i(i.s=n[0]))}return e}var r={},o={21:0},s=[];function i(t){if(r[t])return r[t].exports;var n=r[t]={i:t,l:!1,exports:{}};return e[t].call(n.exports,n,n.exports,i),n.l=!0,n.exports}i.m=e,i.c=r,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)i.d(n,r,function(t){return e[t]}.bind(null,r));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="/dist/";var a=window.webpackJsonp=window.webpackJsonp||[],l=a.push.bind(a);a.push=t,a=a.slice();for(var c=0;c<a.length;c++)t(a[c]);var u=l;s.push([42,0]),n()}({143:function(e,t){},169:function(e,t){},170:function(e,t){},171:function(e,t){},172:function(e,t){},173:function(e,t){},25:function(e,t,n){"use strict";const r=n(3);async function o(e){if(!navigator.serviceWorker)return;const t="https:"===location.protocol,n="localhost"===location.hostname;if(!t&&!n)return;const{serviceWorker:o}=navigator,s=o.register.bind(o),[i,a]=await r(s,e+"/sw.js");return i?null:a}e.exports.registerSW=o,e.exports.unregisterSW=async function(e){const t=await o(e);null==t||t.unregister(e)},e.exports.listenSW=(e,...t)=>{null==e||e.addEventListener(...t)}},34:function(e,t,n){"use strict";const r=n(35),o=n(7),s=n(31),i=n(17),a=n(36),l=n(69),c=n(76),{createBinder:u}=n(77),d=DOM.CurrentInfo,f=o();f([]);const{assign:p}=Object,C=u();function m(e){const{key:t,shift:n,keyCode:r,keyIdentifier:o}=e,s=t||function(e){const t=e.substring(2),n=parseInt(t,16);return String.fromCharCode(n)}(o);return[function(e,t){switch(t){case a.DOT:return".";case a.HYPHEN:return e?"_":"-";case a.EQUAL:return e?"+":"="}return""}(n,r),s]}async function g(e){const{keyCode:t}=e;if(void 0===e.altKey)return;const n=e.altKey,o=e.ctrlKey,i=e.metaKey,u=t>=a.ZERO&&t<=a.Z,p=/Numpad/.test(e.code),[g,D]=m(e);if(!C.isBind())return;(e=>{const{_config:t,config:n}=CloudCmd;e===a.ESC&&t("vim",!n("vim"))})(t);const h=CloudCmd.config("vim");if(!h&&!p&&!n&&!o&&!i&&(u||g))return c(D,f);f([]),await async function(e){let t,n,o,i,l,c=d.element;const{name:u,panel:f,path:p,isDir:C}=d,{Operation:m,changeDir:g,config:D}=CloudCmd,{keyCode:h}=e,w=e.altKey,O=e.shiftKey,y=e.ctrlKey,v=e.metaKey,M=y||v;c&&(o=c.previousSibling,i=c.nextSibling);switch(h){case a.TAB:DOM.changePanel(),e.preventDefault();break;case a.INSERT:case a.INSERT_MAC:DOM.toggleSelectedFile(c).setCurrentFile(i);break;case a.DELETE:O?m.show("delete:silent"):m.show("delete");break;case a.ASTERISK:DOM.toggleAllSelectedFiles(c);break;case a.PLUS:DOM.expandSelection(),e.preventDefault();break;case a.MINUS:DOM.shrinkSelection(),e.preventDefault();break;case a.F1:CloudCmd.Help.show(),e.preventDefault();break;case a.F2:CloudCmd.UserMenu.show();break;case a.F3:e.preventDefault(),d.isDir?await g(p):O?CloudCmd.View.show(null,{raw:!0}):M?CloudCmd.sortPanel("name"):CloudCmd.View.show();break;case a.F4:D("vim")?CloudCmd.EditFileVim.show():CloudCmd.EditFile.show(),e.preventDefault();break;case a.F5:M?CloudCmd.sortPanel("date"):w?m.show("pack"):m.show("copy"),e.preventDefault();break;case a.F6:M?CloudCmd.sortPanel("size"):O?DOM.renameCurrent(c):m.show("move"),e.preventDefault();break;case a.F7:O?DOM.promptNewFile():DOM.promptNewDir(),e.preventDefault();break;case a.F8:m.show("delete"),e.preventDefault();break;case a.F9:w?m.show("extract"):CloudCmd.Menu.show(),e.preventDefault();break;case a.F10:CloudCmd.Config.show(),e.preventDefault();break;case a.TRA:if(e.preventDefault(),O)return CloudCmd.Terminal.show();CloudCmd.Konsole.show();break;case a.BRACKET_CLOSE:CloudCmd.Konsole.show(),e.preventDefault();break;case a.SPACE:e.preventDefault(),n=!C||".."===u||DOM.isSelected(c),n||await DOM.loadCurrentSize(c),DOM.toggleSelectedFile(c);break;case a.U:M&&(DOM.swapPanels(),e.preventDefault());break;case a.UP:O&&DOM.toggleSelectedFile(c),DOM.setCurrentFile(o),e.preventDefault();break;case a.DOWN:O&&DOM.toggleSelectedFile(c),DOM.setCurrentFile(i),e.preventDefault();break;case a.LEFT:if(!w)return;e.preventDefault(),l=d.panel.getAttribute("data-name"),"js-right"===l&&DOM.duplicatePanel();break;case a.RIGHT:if(!w)return;e.preventDefault(),l=d.panel.getAttribute("data-name"),"js-left"===l&&DOM.duplicatePanel();break;case a.HOME:DOM.setCurrentFile(d.first),e.preventDefault();break;case a.END:DOM.setCurrentFile(d.last),e.preventDefault();break;case a.PAGE_DOWN:for(DOM.scrollByPages(f,1),t=0;t<30&&c.nextSibling;t++)c=c.nextSibling;DOM.setCurrentFile(c),e.preventDefault();break;case a.PAGE_UP:for(DOM.scrollByPages(f,-1),t=0;t<30&&c.previousSibling;t++)c=c.previousSibling;DOM.setCurrentFile(c),e.preventDefault();break;case a.ENTER:d.isDir?await g(p):CloudCmd.View.show();break;case a.BACKSPACE:CloudCmd.goToParentDir(),e.preventDefault();break;case a.BACKSLASH:M&&await g("/");break;case a.A:M&&(DOM.selectAllFiles(),e.preventDefault());break;case a.G:w&&(DOM.goToDirectory(),e.preventDefault());break;case a.M:M&&(D("vim")?CloudCmd.EditNamesVim.show():CloudCmd.EditNames.show(),e.preventDefault());break;case a.P:if(!M)return;e.preventDefault(),r.writeText(d.dirPath).catch(CloudCmd.log);break;case a.R:M&&(CloudCmd.log("reloading page...\n"),CloudCmd.refresh(),e.preventDefault());break;case a.C:M&&s.copy();break;case a.X:M&&s.cut();break;case a.V:M&&s.paste();break;case a.Z:M&&s.clear();break;case a.COLON:CloudCmd.CommandLine.show(),e.preventDefault();break;case a.D:M&&(CloudCmd.log("clearing storage..."),await DOM.Storage.clear(),CloudCmd.log("storage cleared"),e.preventDefault())}}(e),t>=a.F1&&t<=a.F10||h&&l(D,e)}e.exports=p(C,a),e.exports.bind=()=>{i.addKey(g,!0),C.setBind()},e.exports._listener=g},42:function(e,t,n){"use strict";const r=n(12);n(43);const o=n(8),s=n(4),{registerSW:i,listenSW:a}=n(25),l="development"===r.env.NODE_ENV;function c(e){return e?e.indexOf("/")?"/"+e:e:""}e.exports=async e=>{window.Util=n(10),window.CloudFunc=n(6),window.DOM=n(11),window.CloudCmd=n(66),await async function(e){const{prefix:t}=e,n=await i(t);a(n,"updatefound",u(e))}(e),n(79),n(34),n(82);const t=c(e.prefix);window.CloudCmd.init(t,e)},window.CloudCmd=e.exports;const u=o(async e=>{if(l)return;const{DOM:t}=window,n=c(e.prefix);await s.js(n+"/dist/cloudcmd.common.js"),await s.js(n+"/dist/cloudcmd.js"),console.log("cloudcmd: sw: updated"),t.Events.removeAll(),window.CloudCmd(e)})},43:function(e,t,n){"use strict";n(143),n(169),n(170),n(171),n(172),n(173)},66:function(e,t,n){"use strict";const r=n(12),o=n(21),s=n(30),i=n(13),a=n(4),l=n(3),{addSlashToEnd:c}=n(32),u=n(33),d=n(0),f=n(1),{unregisterSW:p}=n(25),C=n(68),m=n(34),{apiURL:g,formatMsg:D,buildFromJSON:h}=n(6),w=n(78),O="development"===r.env.NODE_ENV;function y(e){let t;o.call(this);const n=this,r=e.CurrentInfo,{Storage:s,Files:y}=e;this.log=(...e)=>{O&&console.log(...e)},this.prefix="",this.prefixSocket="",this.prefixURL="",this.MIN_ONE_PANEL_WIDTH=1155,this.HOST=location.origin||location.protocol+"//"+location.host,this.TITLE="Cloud Commander",this.sort={left:"name",right:"name"},this.order={left:"asc",right:"asc"},this.changeDir=async(t,o={})=>{const{isRefresh:a,panel:l,history:u=!0,noCurrent:d,currentName:p}=o,C=a;let m,g;!d&&l&&l!==r.panel&&(e.changePanel(),m=!0),(m||C||!u)&&(g="top"),f.show.load(g,l),await async function(t,o={},a){const{RESTful:l}=e;n.log(`reading dir: "${t}";`);const c=n.config("dirStorage")&&await s.getJson(t),u=o.currentName||r.name,{noCurrent:d,refresh:f}=o;if(!f&&c)return await k(c,a,o);const p=e.getPanelPosition(a),C=n.sort[p],m=n.order[p],g=i("?sort={{ sort }}&order={{ order }}",{sort:C,order:m}),[,D]=await l.read(t+g,"json");if(!D)return;o.sort=C,o.order=m,await k(D,a,o),f&&!d&&e.setCurrentByName(u);if(!n.config("dirStorage"))return;s.setJson(t,D)}(c(t),{refresh:C,history:u,noCurrent:d,currentName:p},l)},this.init=async(r,o)=>{n.prefix=r,n.prefixURL=`${r}${g}`,n.prefixSocket=o.prefixSocket,n.DIR_DIST=r+"/dist",n.DIR_MODULES=this.DIR_DIST+"/modules",n.config=e=>o[e],n.config.if=d((e,t,n)=>o[e]&&t(n)),n._config=(e,t)=>{"password"!==e&&(o[e]=t)},o.oneFilePanel&&(n.MIN_ONE_PANEL_WIDTH=1/0),document.body.scrollIntoViewIfNeeded||await a.js(n.DIR_MODULES+"/polyfill.js"),await v(),await async function(){const r=e.getFiles();n.on("current-file",e.updateCurrentInfo),n.on("current-name",M);const o=await s.get("current-name"),i=o&&e.getCurrentByName(o)||r[0];r&&e.setCurrentFile(i,{history:!location.hash});const a=e.getCurrentDirPath();t=n.Listeners,t.init();if(b().forEach(t.setOnPanel),t.initKeysPanel(),!n.config("dirStorage"))return;await s.get(a)||await s.setJson(a,C())}(),await async function(){const{prefix:e}=n,t=e+"/dist/cloudcmd.common.css";await a.css(t)}(),n.route(location.hash)},this.route=t=>{const r=t.split("/");if(!t)return;const[o]=r,s=u(o.slice(1)).replace(/.js$/,"");const i=r[1],a=e.getCurrentByName(i);if(!i||a)e.setCurrentFile(a),n.execFromModule(s,"show");else{const e=D("set current file",i,"error");n.log(e)}},this.logOut=async()=>{const t=n.prefix+"/logout",{prefix:r}=n;await e.Storage.clear(),p(r),e.load.ajax({url:t,error:()=>document.location.reload()})};const v=async()=>{n.Key=m,n.Key.bind();const[,e]=await l(y.get,"modules"),t=f.show.load,r={edit:t,menu:t};if(e)for(const t of e.local)w({name:null,path:t,dobefore:r[t]})};async function M(e){await s.set("current-name",e)}function b(){const e=["left"];return n.config("oneFilePanel")?e:[...e,"right"]}async function k(o,s,i){const{history:a,noCurrent:c}=i,[u,[d,f,p,C]]=await l(y.get,["file","path","link","pathLink"]);if(u)return e.Dialog.alert(u.responseText);const m=s||e.getPanel(),{prefix:g}=n,{dir:D,name:w}=r,{childNodes:O}=m;let v=O.length;for(;v--;)m.removeChild(m.lastChild);if(m.innerHTML=h({sort:i.sort,order:i.order,data:o,id:m.id,prefix:g,template:{file:d,path:f,pathLink:C,link:p}}),t.setOnPanel(m),!c){let t;".."===w&&"/"!==D&&(t=e.getCurrentByName(D)),t||([t]=e.getFiles(m)),e.setCurrentFile(t,{history:a}),n.emit("active-dir",r.dirPath)}}this.execFromModule=async(e,t,...r)=>{await n[e]();(0,n[e][t])(...r)},this.refresh=async(t={})=>{const{panel:o=r.panel,currentName:s}=t,i=e.getCurrentDirPath(o),a=null==t?void 0:t.noCurrent;await n.changeDir(i,{isRefresh:!0,history:!1,panel:o,noCurrent:a,currentName:s})},this.goToParentDir=async()=>{const{dir:t,dirPath:o,parentDirPath:s,panel:i}=r;if(o===s)return;const a=s;await n.changeDir(a);const l=e.getCurrentByName(t),[c]=e.getFiles(i);e.setCurrentFile(l||c,{history:history})}}s(y,o),e.exports=new y(DOM),a.addErrorListener((e,t)=>{const n=`file ${t} could not be loaded`;f.show.error(n)})},68:function(e,t,n){"use strict";const r=DOM.CurrentInfo;e.exports=()=>({path:DOM.getCurrentDirPath(),files:(r.files||[]).filter(e=>".."!==DOM.getCurrentName(e)).map(e=>{const t=DOM.getCurrentName(e),n=DOM.getCurrentSize(e),r=DOM.getCurrentOwner(e);return{name:t,size:n,mode:DOM.getCurrentMode(e),owner:r,date:DOM.getCurrentDate(e),type:DOM.getCurrentType(e)}})})},69:function(e,t,n){"use strict";const r=n(70),o=n(71),{setCurrent:s,selectFileNotParent:i}=n(75),{Dialog:a}=DOM,l={...DOM,...CloudCmd};e.exports=async(e,t,n=l)=>{const o=c(t,n);await r(e,o)};const c=(e,t)=>{const{Info:n=DOM.CurrentInfo,Operation:r,unselectFiles:i,setCurrentFile:l,setCurrentByName:c,getCurrentName:u,toggleSelectedFile:d,Buffer:f={}}=t;return{escape:i,remove:()=>{r.show("delete")},makeDirectory:()=>{e.stopImmediatePropagation(),e.preventDefault(),DOM.promptNewDir()},makeFile:()=>{e.stopImmediatePropagation(),e.preventDefault(),DOM.promptNewFile()},terminal:()=>{CloudCmd.Terminal.show()},edit:()=>{CloudCmd.EditFileVim.show()},copy:()=>{f.copy(),i()},select:()=>{const e=n.element;d(e)},paste:f.paste,moveNext:({count:e,isVisual:t,isDelete:o})=>{s("next",{count:e,isVisual:t,isDelete:o},{Info:n,setCurrentFile:l,unselectFiles:i,Operation:r})},movePrevious:({count:e,isVisual:t,isDelete:o})=>{s("previous",{count:e,isVisual:t,isDelete:o},{Info:n,setCurrentFile:l,unselectFiles:i,Operation:r})},find:async()=>{e.preventDefault();const[,t]=await a.prompt("Find","");if(!t)return;const r=n.files.map(u),[s]=o.find(t,r);c(s)},findNext:()=>{const e=o.findNext();c(e)},findPrevious:()=>{const e=o.findPrevious();c(e)}}};e.exports.selectFile=i},70:function(e,t,n){"use strict";const r=n(7),o=r(""),s=r(!1),i=()=>{s(!1)},a=()=>{o("")},l=()=>{};function c(e){const t="d"===e[0];t&&(s(!0),e=e.split("").slice(1).join(""));var n;return{count:(n=e)?"g"===n?1:parseInt(n):1,isDelete:t,isVisual:s()}}e.exports=(e,t={})=>{const n=o(),r=s(),u=o(n.concat(e)),{escape:d=l,moveNext:f=l,movePrevious:p=l,remove:C=l,copy:m=l,paste:g=l,select:D=l,find:h=l,findNext:w=l,findPrevious:O=l,makeFile:y=l,makeDirectory:v=l,terminal:M=l,edit:b=l}=t;if("Enter"===e)return a();if("Escape"===e)return s(!1),d(),a();if("j"===e||"w"===e){const{count:e,isDelete:t,isVisual:r}=c(n);return!isNaN(e)&&f({count:e,isVisual:r,isDelete:t}),a()}if("k"===e||"b"===e){const{count:e,isDelete:t,isVisual:r}=c(n);return!isNaN(e)&&p({count:e,isVisual:r,isDelete:t}),a()}if("gg"===u||"^"===e){const{isDelete:e,isVisual:t}=c(n);return p({count:1/0,isVisual:t,isDelete:e}),a()}return"md"===u?(v(),a()):"tt"===u?(M(),a()):"e"===u?(b(),a()):"mf"===u?(y(),a()):"d"!==e||!s()&&"d"!==n?"G"===e||"$"===e?(f({count:1/0,isVisual:r}),a()):"y"===e?s()?(i(),m(),a()):a():/^p$/i.test(e)?(g(),a()):/^v$/i.test(e)?(s(!s()),D(),a()):"/"===e?(h(),a()):"n"===e?(w(),a()):"N"===e?(O(),a()):" "===e?a():void 0:(i(),C(),a())}},71:function(e,t,n){"use strict";const r=n(7),o=n(72),s=r([]),i=r(0);function a(e,t){return e===t-1?0:++e}function l(e,t){return e?--e:t-1}e.exports.find=(e,t)=>{const n=o(e,t);return s(n),i(0),n},e.exports.findNext=()=>{const e=s(),t=a(i(),e.length);return i(t),e[i()]},e.exports.findPrevious=()=>{const e=s(),t=l(i(),e.length);return i(t),e[t]},e.exports._next=a,e.exports._previous=l},75:function(e,t,n){"use strict";function r(e,{getCurrentName:t,selectFile:n}=DOM){".."!==t(e)&&n(e)}e.exports.selectFileNotParent=r,e.exports.setCurrent=(e,{count:t,isVisual:n,isDelete:o},{Info:s,setCurrentFile:i,unselectFiles:a,Operation:l})=>{let c=s.element;const u=n?r:a;u(c);const d=e+"Sibling";for(let e=0;e<t;e++){const e=c[d];if(!e)break;c=e,u(c)}i(c),o&&l.show("delete")}},76:function(e,t,n){"use strict";const{escapeRegExp:r}=n(10),o=DOM.CurrentInfo;e.exports=function(e,t){let n,s=0,i=!1,a=0;const l=r(e),c=new RegExp(`^${l}.*$`,"i"),{files:u}=o,d=t(),f=d.length;for(;a<f&&e===d[a];)a++;a||t([]);const p=s=a;t(t().concat(e));var C;DOM.getFilenames(u).filter(e=>c.test(e)).filter((C=e=>".."===e,e=>!C(e))).some(e=>{const t=DOM.getCurrentByName(e);if(!s)return i=!0,DOM.setCurrentFile(t),!0;p===s&&(n=t),--s}),i||(DOM.setCurrentFile(n),t([e]))}},77:function(e,t,n){"use strict";e.exports.createBinder=()=>{let e=!1;return{isBind:()=>e,setBind(){e=!0},unsetBind(){e=!1}}}},78:function(e,t,n){"use strict";const r=n(5),o=n(3),s=n(4).js,i=n(33);e.exports=function(e){if(!e)return;const{path:t}=e,n=t&&i(t).replace(/.js$/,"");const a=e.dobefore;CloudCmd[n]||(CloudCmd[n]=async()=>{r(a);const{DIR_MODULES:e}=CloudCmd,o=`${e}/${t}.js`;await s(o);const i=async e=>e&&e(),l=CloudCmd[n];return Object.assign(i,l),CloudCmd[n]=i,CloudCmd.log("init",n),await l.init(),i},CloudCmd[n].show=async(...e)=>{CloudCmd.log("show",n,e);const t=CloudCmd[n],[r,s]=await o(t);return r?console.error(r):await s.show(...e)})}},79:function(e,t,n){"use strict";const r=n(5),o=n(20),s=n(0),i=n(3),a=n(35),l=n(80),c=n(38),{FS:u}=n(6),d=s(n(81)),f=RegExp(String.fromCharCode(160),"g");e.exports.init=async()=>{await Promise.all([M(),b(),void DOM.Events.add(["unload","beforeunload"],e=>{const{Key:t}=CloudCmd,n=null==t?void 0:t.isBind();if(!n)return e.preventDefault(),"Please make sure that you saved all work."}),void m.add("popstate",async({state:e})=>{const t=(e||"").replace(u,"");if(!t)return CloudCmd.route(location.hash);await CloudCmd.changeDir(t,{history:!1})}),void m.add("resize",()=>{const e=window.innerWidth<CloudCmd.MIN_ONE_PANEL_WIDTH;if(!e)return;const{panel:t}=C,n=!t;if(n)return;const r=t.getAttribute("data-name"),o="js-left"===r;o||DOM.changePanel()}),h(),w()])},CloudCmd.Listeners=e.exports;const p=s((e,t)=>{for(const n of e)n(t)}),C=DOM.CurrentInfo,{Events:m}=DOM,g={mousedown:r.with(y,(function(e){const t={alt:e.altKey,ctrl:e.ctrlKey,meta:e.metaKey,shift:e.shiftKey},n=v(e.target),r=C.name;DOM.setCurrentFile(n);const o=C.name;let s=[];t.shift?s=function(e,t){const n=DOM.getAllFiles(),r=DOM.getFilenames(n),o=d(r),s=o(e),i=o(t);return l(s,i,n)}(r,o):s.push(C.element);0===e.button&&function(e,t){const n=/Mac/.test(window.navigator.platform);if(!e)throw Error("key should not be undefined!");const[r]=t;if(n&&e.meta||e.ctrl)return DOM.toggleSelectedFile(r);if(e.shift)t.map(DOM.selectFile)}(t,s)})),click:p([function(e){e.preventDefault(),function(e){const{panel:t}=C,n=DOM.getByDataName("js-files",t);(function(e){for(;"UL"!==e.tagName;)e=e.parentElement;return e})(e)!==n&&DOM.changePanel()}(e.target)},e=>{const t=/Mac/.test(window.navigator.platform),{shiftKey:n,metaKey:r,ctrlKey:o}=e;n||t&&r||o||DOM.unselectFiles()}]),dragstart:r.with(y,(function(e){const{prefixURL:t}=CloudCmd,n=v(e.target),{isDir:r}=C;let o=DOM.getCurrentLink(n),s=DOM.getCurrentName(n);r&&(s+=D,o=document.createElement("a"),o.textContent=s,o.href=t+"/pack"+C.path+D);e.dataTransfer.setData("DownloadURL","application/octet-stream:"+s+":"+o)})),dblclick:r.with(y,(async function(e){e.preventDefault();const t=v(e.target),n=DOM.isCurrentIsDir(t),r=DOM.getCurrentPath(t);if(!n)return CloudCmd.View.show();await CloudCmd.changeDir(r)})),touchstart:r.with(y,(async function(e){const t=v(e.target);if(!DOM.isCurrentIsDir(t))return;if(!DOM.isCurrentFile(t))return;await CloudCmd.changeDir(DOM.getCurrentPath(t))}))};let D;function h(){const e=DOM.getFM(),t=e=>e.dataset,n=e=>/^js-(left|right)$/.test(e.dataset.name);m.addClick(e,e=>{const r=e.target;if("js-fm-header"!==r.parentElement.dataset.name)return;const o=(r.dataset.name||"").replace("js-","");if(!/^(name|size|date)$/.test(o))return;const s=function e(t,n=[]){return t?e(t.parentElement,n.concat(t)):n}(r).filter(t).filter(n).pop();CloudCmd.sortPanel(o,s)})}async function w(){const[,e]=await i(DOM.Files.get,"config"),t=null==e?void 0:e.packer;D=DOM.getPackerExt(t)}e.exports.initKeysPanel=()=>{const e=DOM.getById("js-keyspanel");e&&m.addClick(e,({target:e})=>{const{id:t}=e,n=e=>{const{Operation:t}=CloudCmd;return t.show.bind(null,e)},o={f1:CloudCmd.Help.show,f2:CloudCmd.UserMenu.show,f3:CloudCmd.View.show,f4:CloudCmd.EditFile.show,f5:n("copy"),f6:n("move"),f7:DOM.promptNewDir,f8:n("delete"),f9:CloudCmd.Menu.show,f10:CloudCmd.Config.show,"~":CloudCmd.Konsole.show,"shift~":CloudCmd.Terminal.show,contact:CloudCmd.Contact.show};r(o[t])})};async function O(e,t){t.preventDefault();const n=t.target,r=n.getAttribute("data-name"),o=function(e){const t=C.panel;return!t||e.getAttribute("data-name")!==t.getAttribute("data-name")}(e);if("js-copy-path"===r)return s=n,void a.writeText(s.parentElement.title).then(CloudCmd.log).catch(CloudCmd.log);var s;if("js-refresh"===r)return CloudCmd.refresh({panel:e,noCurrent:o});if("js-path-link"!==r)return;const{href:i}=n,l=function(e){const t=CloudCmd.HOST,{prefix:n}=CloudCmd,r=RegExp("^"+n+u);return decodeURI(e).replace(t,"").replace(r,"").replace("%%","%25%").replace(f," ")||"/"}(i);await CloudCmd.changeDir(l,{isRefresh:!1,panel:o?e:C.panel})}function y(e,t){const{target:n}=t,{tagName:r}=n;"UL"!==r&&e(t)}function v(e){if(!e)return e;for(;"LI"!==e.tagName;)e=e.parentElement;return e}function M(){const e=DOM.getFM();m.addOnce("contextmenu",e,e=>{CloudCmd.Menu.show({x:e.clientX,y:e.clientY})}),m.addContextMenu(e,e=>{CloudCmd.Menu.ENABLED||e.preventDefault()})}function b(){const e=DOM.getByClassAll("panel"),t=({target:e})=>{e.classList.add("selected-panel")},n=({target:e})=>{e.classList.remove("selected-panel")},r=e=>{const{files:t,items:n}=e.dataTransfer,{length:r}=t;if(e.preventDefault(),r&&(!n||!n.length||!n[0].webkitGetAsEntry))return c(t);const o=Array.from(n).filter(e=>"file"===e.kind);if(o.length)return DOM.uploadDirectory(o);const{Operation:s}=CloudCmd,i=e.shiftKey?"move":"copy";return s.show(i)},o=e=>{const{dataTransfer:t}=e,{effectAllowed:n}=t;/move|linkMove/.test(n)?t.dropEffect="move":t.dropEffect="copy",e.preventDefault()};for(const s of e)m.add("dragover",s,o).add("drop",s,r).add("dragenter",t).add(["dragleave","drop"],n)}e.exports.setOnPanel=e=>{const t=(e=>o.string(e)?DOM.getByDataName("js-"+e):e)(e),n=DOM.getByDataName("js-files",t),r=DOM.getByDataName("js-path",t);m.addClick(r,function(e){return O.bind(null,e)}(t)),m.add(n,g)}},80:function(e,t,n){"use strict";e.exports=(e,t,n)=>e<t?n.slice(e,t+1):e>t?n.slice(t,e+1):[n[e]]},81:function(e,t,n){"use strict";e.exports=(e,t)=>{const n=e.indexOf(t);return~n?n:0}},82:function(e,t,n){"use strict";const r=n(11),o=r.CurrentInfo,{sort:s,order:i}=CloudCmd,a=r.getPanelPosition();let l=s[a];const{getPanel:c}=r;CloudCmd.sortPanel=(e,t=c())=>{const n=t.dataset.name.replace("js-","");e!==l?i[n]="asc":"asc"===i[n]?i[n]="desc":i[n]="asc",l=e,s[n]=e;const r=n!==o.panelPosition;CloudCmd.refresh({panel:t,noCurrent:r})}}});
|
|
1
|
+
!function(e){function t(t){for(var r,i,a=t[0],l=t[1],c=t[2],d=0,f=[];d<a.length;d++)i=a[d],Object.prototype.hasOwnProperty.call(o,i)&&o[i]&&f.push(o[i][0]),o[i]=0;for(r in l)Object.prototype.hasOwnProperty.call(l,r)&&(e[r]=l[r]);for(u&&u(t);f.length;)f.shift()();return s.push.apply(s,c||[]),n()}function n(){for(var e,t=0;t<s.length;t++){for(var n=s[t],r=!0,a=1;a<n.length;a++){var l=n[a];0!==o[l]&&(r=!1)}r&&(s.splice(t--,1),e=i(i.s=n[0]))}return e}var r={},o={21:0},s=[];function i(t){if(r[t])return r[t].exports;var n=r[t]={i:t,l:!1,exports:{}};return e[t].call(n.exports,n,n.exports,i),n.l=!0,n.exports}i.m=e,i.c=r,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)i.d(n,r,function(t){return e[t]}.bind(null,r));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="/dist/";var a=window.webpackJsonp=window.webpackJsonp||[],l=a.push.bind(a);a.push=t,a=a.slice();for(var c=0;c<a.length;c++)t(a[c]);var u=l;s.push([40,0]),n()}({132:function(e,t){},158:function(e,t){},159:function(e,t){},160:function(e,t){},161:function(e,t){},162:function(e,t){},25:function(e,t,n){"use strict";const r=n(3);async function o(e){if(!navigator.serviceWorker)return;const t="https:"===location.protocol,n="localhost"===location.hostname;if(!t&&!n)return;const{serviceWorker:o}=navigator,s=o.register.bind(o),[i,a]=await r(s,e+"/sw.js");return i?null:a}e.exports.registerSW=o,e.exports.unregisterSW=async function(e){const t=await o(e);null==t||t.unregister(e)},e.exports.listenSW=(e,...t)=>{null==e||e.addEventListener(...t)}},34:function(e,t,n){"use strict";const r=n(35),o=n(7),s=n(31),i=n(16),a=n(36),l=n(67),c=n(74),{createBinder:u}=n(75),d=DOM.CurrentInfo,f=o();f([]);const{assign:p}=Object,C=u();function m(e){const{key:t,shift:n,keyCode:r,keyIdentifier:o}=e,s=t||function(e){const t=e.substring(2),n=parseInt(t,16);return String.fromCharCode(n)}(o);return[function(e,t){switch(t){case a.DOT:return".";case a.HYPHEN:return e?"_":"-";case a.EQUAL:return e?"+":"="}return""}(n,r),s]}async function g(e){const{keyCode:t}=e;if(void 0===e.altKey)return;const n=e.altKey,o=e.ctrlKey,i=e.metaKey,u=t>=a.ZERO&&t<=a.Z,p=/Numpad/.test(e.code),[g,D]=m(e);if(!C.isBind())return;(e=>{const{_config:t,config:n}=CloudCmd;e===a.ESC&&t("vim",!n("vim"))})(t);const h=CloudCmd.config("vim");if(!h&&!p&&!n&&!o&&!i&&(u||g))return c(D,f);f([]),await async function(e){let t,n,o,i,l,c=d.element;const{name:u,panel:f,path:p,isDir:C}=d,{Operation:m,changeDir:g,config:D}=CloudCmd,{keyCode:h}=e,w=e.altKey,O=e.shiftKey,y=e.ctrlKey,v=e.metaKey,M=y||v;c&&(o=c.previousSibling,i=c.nextSibling);switch(h){case a.TAB:DOM.changePanel(),e.preventDefault();break;case a.INSERT:case a.INSERT_MAC:DOM.toggleSelectedFile(c).setCurrentFile(i);break;case a.DELETE:O?m.show("delete:silent"):m.show("delete");break;case a.ASTERISK:DOM.toggleAllSelectedFiles(c);break;case a.PLUS:DOM.expandSelection(),e.preventDefault();break;case a.MINUS:DOM.shrinkSelection(),e.preventDefault();break;case a.F1:CloudCmd.Help.show(),e.preventDefault();break;case a.F2:CloudCmd.UserMenu.show();break;case a.F3:e.preventDefault(),d.isDir?await g(p):O?CloudCmd.View.show(null,{raw:!0}):M?CloudCmd.sortPanel("name"):CloudCmd.View.show();break;case a.F4:D("vim")?CloudCmd.EditFileVim.show():CloudCmd.EditFile.show(),e.preventDefault();break;case a.F5:M?CloudCmd.sortPanel("date"):w?m.show("pack"):m.show("copy"),e.preventDefault();break;case a.F6:M?CloudCmd.sortPanel("size"):O?DOM.renameCurrent(c):m.show("move"),e.preventDefault();break;case a.F7:O?DOM.promptNewFile():DOM.promptNewDir(),e.preventDefault();break;case a.F8:m.show("delete"),e.preventDefault();break;case a.F9:w?m.show("extract"):CloudCmd.Menu.show(),e.preventDefault();break;case a.F10:CloudCmd.Config.show(),e.preventDefault();break;case a.TRA:if(e.preventDefault(),O)return CloudCmd.Terminal.show();CloudCmd.Konsole.show();break;case a.BRACKET_CLOSE:CloudCmd.Konsole.show(),e.preventDefault();break;case a.SPACE:e.preventDefault(),n=!C||".."===u||DOM.isSelected(c),n||await DOM.loadCurrentSize(c),DOM.toggleSelectedFile(c);break;case a.U:M&&(DOM.swapPanels(),e.preventDefault());break;case a.UP:O&&DOM.toggleSelectedFile(c),DOM.setCurrentFile(o),e.preventDefault();break;case a.DOWN:O&&DOM.toggleSelectedFile(c),DOM.setCurrentFile(i),e.preventDefault();break;case a.LEFT:if(!w)return;e.preventDefault(),l=d.panel.getAttribute("data-name"),"js-right"===l&&DOM.duplicatePanel();break;case a.RIGHT:if(!w)return;e.preventDefault(),l=d.panel.getAttribute("data-name"),"js-left"===l&&DOM.duplicatePanel();break;case a.HOME:DOM.setCurrentFile(d.first),e.preventDefault();break;case a.END:DOM.setCurrentFile(d.last),e.preventDefault();break;case a.PAGE_DOWN:for(DOM.scrollByPages(f,1),t=0;t<30&&c.nextSibling;t++)c=c.nextSibling;DOM.setCurrentFile(c),e.preventDefault();break;case a.PAGE_UP:for(DOM.scrollByPages(f,-1),t=0;t<30&&c.previousSibling;t++)c=c.previousSibling;DOM.setCurrentFile(c),e.preventDefault();break;case a.ENTER:d.isDir?await g(p):CloudCmd.View.show();break;case a.BACKSPACE:CloudCmd.goToParentDir(),e.preventDefault();break;case a.BACKSLASH:M&&await g("/");break;case a.A:M&&(DOM.selectAllFiles(),e.preventDefault());break;case a.G:w&&(DOM.goToDirectory(),e.preventDefault());break;case a.M:M&&(D("vim")?CloudCmd.EditNamesVim.show():CloudCmd.EditNames.show(),e.preventDefault());break;case a.P:if(!M)return;e.preventDefault(),r.writeText(d.dirPath).catch(CloudCmd.log);break;case a.R:M&&(CloudCmd.log("reloading page...\n"),CloudCmd.refresh(),e.preventDefault());break;case a.C:M&&s.copy();break;case a.X:M&&s.cut();break;case a.V:M&&s.paste();break;case a.Z:M&&s.clear();break;case a.COLON:CloudCmd.CommandLine.show(),e.preventDefault();break;case a.D:M&&(CloudCmd.log("clearing storage..."),await DOM.Storage.clear(),CloudCmd.log("storage cleared"),e.preventDefault());break;case a.DOT:if(v&&O){const e=!CloudCmd.config("showDotFiles");CloudCmd._config("showDotFiles",e),CloudCmd.refresh(),await DOM.RESTful.Config.write({showDotFiles:e})}}}(e),t>=a.F1&&t<=a.F10||h&&l(D,e)}e.exports=p(C,a),e.exports.bind=()=>{i.addKey(g,!0),C.setBind()},e.exports._listener=g},40:function(e,t,n){"use strict";const r=n(20);n(41);const o=n(8),s=n(4),{registerSW:i,listenSW:a}=n(25),l="development"===r.env.NODE_ENV;function c(e){return e?e.indexOf("/")?"/"+e:e:""}e.exports=async e=>{window.Util=n(10),window.CloudFunc=n(6),window.DOM=n(11),window.CloudCmd=n(64),await async function(e){const{prefix:t}=e,n=await i(t);a(n,"updatefound",u(e))}(e),n(77),n(34),n(80);const t=c(e.prefix);window.CloudCmd.init(t,e)},window.CloudCmd=e.exports;const u=o(async e=>{if(l)return;const{DOM:t}=window,n=c(e.prefix);await s.js(n+"/dist/cloudcmd.common.js"),await s.js(n+"/dist/cloudcmd.js"),console.log("cloudcmd: sw: updated"),t.Events.removeAll(),window.CloudCmd(e)})},41:function(e,t,n){"use strict";n(132),n(158),n(159),n(160),n(161),n(162)},64:function(e,t,n){"use strict";const r=n(20),o=n(21),s=n(30),i=n(12),a=n(4),l=n(3),{addSlashToEnd:c}=n(32),u=n(33),d=n(0),f=n(1),{unregisterSW:p}=n(25),C=n(66),m=n(34),{apiURL:g,formatMsg:D,buildFromJSON:h}=n(6),w=n(76),O="development"===r.env.NODE_ENV;function y(e){let t;o.call(this);const n=this,r=e.CurrentInfo,{Storage:s,Files:y}=e;this.log=(...e)=>{O&&console.log(...e)},this.prefix="",this.prefixSocket="",this.prefixURL="",this.MIN_ONE_PANEL_WIDTH=1155,this.HOST=location.origin||location.protocol+"//"+location.host,this.TITLE="Cloud Commander",this.sort={left:"name",right:"name"},this.order={left:"asc",right:"asc"},this.changeDir=async(t,o={})=>{const{isRefresh:a,panel:l,history:u=!0,noCurrent:d,currentName:p}=o,C=a;let m,g;!d&&l&&l!==r.panel&&(e.changePanel(),m=!0),(m||C||!u)&&(g="top"),f.show.load(g,l),await async function(t,o={},a){const{RESTful:l}=e;n.log(`reading dir: "${t}";`);const c=n.config("dirStorage")&&await s.getJson(t),u=o.currentName||r.name,{noCurrent:d,refresh:f}=o;if(!f&&c)return await k(c,a,o);const p=e.getPanelPosition(a),C=n.sort[p],m=n.order[p],g=i("?sort={{ sort }}&order={{ order }}",{sort:C,order:m}),[,D]=await l.read(t+g,"json");if(!D)return;o.sort=C,o.order=m,await k(D,a,o),f&&!d&&e.setCurrentByName(u);if(!n.config("dirStorage"))return;s.setJson(t,D)}(c(t),{refresh:C,history:u,noCurrent:d,currentName:p,showDotFiles:n.config("showDotFiles")},l)},this.init=async(r,o)=>{n.prefix=r,n.prefixURL=`${r}${g}`,n.prefixSocket=o.prefixSocket,n.DIR_DIST=r+"/dist",n.DIR_MODULES=this.DIR_DIST+"/modules",n.config=e=>o[e],n.config.if=d((e,t,n)=>o[e]&&t(n)),n._config=(e,t)=>{"password"!==e&&(o[e]=t)},o.oneFilePanel&&(n.MIN_ONE_PANEL_WIDTH=1/0),document.body.scrollIntoViewIfNeeded||await a.js(n.DIR_MODULES+"/polyfill.js"),await v(),await async function(){const r=e.getFiles();n.on("current-file",e.updateCurrentInfo),n.on("current-name",M);const o=await s.get("current-name"),i=o&&e.getCurrentByName(o)||r[0];r&&e.setCurrentFile(i,{history:!location.hash});const a=e.getCurrentDirPath();t=n.Listeners,t.init();if(b().forEach(t.setOnPanel),t.initKeysPanel(),!n.config("dirStorage"))return;await s.get(a)||await s.setJson(a,C())}(),await async function(){const{prefix:e}=n,t=e+"/dist/cloudcmd.common.css";await a.css(t)}(),n.route(location.hash)},this.route=t=>{const r=t.split("/");if(!t)return;const[o]=r,s=u(o.slice(1)).replace(/.js$/,"");const i=r[1],a=e.getCurrentByName(i);if(!i||a)e.setCurrentFile(a),n.execFromModule(s,"show");else{const e=D("set current file",i,"error");n.log(e)}},this.logOut=async()=>{const t=n.prefix+"/logout",{prefix:r}=n;await e.Storage.clear(),p(r),e.load.ajax({url:t,error:()=>document.location.reload()})};const v=async()=>{n.Key=m,n.Key.bind();const[,e]=await l(y.get,"modules"),t=f.show.load,r={edit:t,menu:t};if(e)for(const t of e.local)w({name:null,path:t,dobefore:r[t]})};async function M(e){await s.set("current-name",e)}function b(){const e=["left"];return n.config("oneFilePanel")?e:[...e,"right"]}async function k(o,s,i){const{history:a,noCurrent:c,showDotFiles:u}=i,[d,[f,p,C,m]]=await l(y.get,["file","path","link","pathLink"]);if(d)return e.Dialog.alert(d.responseText);const g=s||e.getPanel(),{prefix:D}=n,{dir:w,name:O}=r,{childNodes:v}=g;let M=v.length;for(;M--;)g.removeChild(g.lastChild);if(g.innerHTML=h({sort:i.sort,order:i.order,data:o,id:g.id,prefix:D,showDotFiles:u,template:{file:f,path:p,pathLink:m,link:C}}),t.setOnPanel(g),!c){let t;".."===O&&"/"!==w&&(t=e.getCurrentByName(w)),t||([t]=e.getFiles(g)),e.setCurrentFile(t,{history:a}),n.emit("active-dir",r.dirPath)}}this.execFromModule=async(e,t,...r)=>{await n[e]();(0,n[e][t])(...r)},this.refresh=async(t={})=>{const{panel:o=r.panel,currentName:s}=t,i=e.getCurrentDirPath(o),a=null==t?void 0:t.noCurrent;await n.changeDir(i,{isRefresh:!0,history:!1,panel:o,noCurrent:a,currentName:s})},this.goToParentDir=async()=>{const{dir:t,dirPath:o,parentDirPath:s,panel:i}=r;if(o===s)return;const a=s;await n.changeDir(a);const l=e.getCurrentByName(t),[c]=e.getFiles(i);e.setCurrentFile(l||c,{history:history})}}s(y,o),e.exports=new y(DOM),a.addErrorListener((e,t)=>{const n=`file ${t} could not be loaded`;f.show.error(n)})},66:function(e,t,n){"use strict";const r=DOM.CurrentInfo;e.exports=()=>({path:DOM.getCurrentDirPath(),files:(r.files||[]).filter(e=>".."!==DOM.getCurrentName(e)).map(e=>{const t=DOM.getCurrentName(e),n=DOM.getCurrentSize(e),r=DOM.getCurrentOwner(e);return{name:t,size:n,mode:DOM.getCurrentMode(e),owner:r,date:DOM.getCurrentDate(e),type:DOM.getCurrentType(e)}})})},67:function(e,t,n){"use strict";const r=n(68),o=n(69),{setCurrent:s,selectFileNotParent:i}=n(73),{Dialog:a}=DOM,l={...DOM,...CloudCmd};e.exports=async(e,t,n=l)=>{const o=c(t,n);await r(e,o)};const c=(e,t)=>{const{Info:n=DOM.CurrentInfo,Operation:r,unselectFiles:i,setCurrentFile:l,setCurrentByName:c,getCurrentName:u,toggleSelectedFile:d,Buffer:f={}}=t;return{escape:i,remove:()=>{r.show("delete")},makeDirectory:()=>{e.stopImmediatePropagation(),e.preventDefault(),DOM.promptNewDir()},makeFile:()=>{e.stopImmediatePropagation(),e.preventDefault(),DOM.promptNewFile()},terminal:()=>{CloudCmd.Terminal.show()},edit:()=>{CloudCmd.EditFileVim.show()},copy:()=>{f.copy(),i()},select:()=>{const e=n.element;d(e)},paste:f.paste,moveNext:({count:e,isVisual:t,isDelete:o})=>{s("next",{count:e,isVisual:t,isDelete:o},{Info:n,setCurrentFile:l,unselectFiles:i,Operation:r})},movePrevious:({count:e,isVisual:t,isDelete:o})=>{s("previous",{count:e,isVisual:t,isDelete:o},{Info:n,setCurrentFile:l,unselectFiles:i,Operation:r})},find:async()=>{e.preventDefault();const[,t]=await a.prompt("Find","");if(!t)return;const r=n.files.map(u),[s]=o.find(t,r);c(s)},findNext:()=>{const e=o.findNext();c(e)},findPrevious:()=>{const e=o.findPrevious();c(e)}}};e.exports.selectFile=i},68:function(e,t,n){"use strict";const r=n(7),o=r(""),s=r(!1),i=()=>{s(!1)},a=()=>{o("")},l=()=>{};function c(e){const t="d"===e[0];t&&(s(!0),e=e.split("").slice(1).join(""));var n;return{count:(n=e)?"g"===n?1:parseInt(n):1,isDelete:t,isVisual:s()}}e.exports=(e,t={})=>{const n=o(),r=s(),u=o(n.concat(e)),{escape:d=l,moveNext:f=l,movePrevious:p=l,remove:C=l,copy:m=l,paste:g=l,select:D=l,find:h=l,findNext:w=l,findPrevious:O=l,makeFile:y=l,makeDirectory:v=l,terminal:M=l,edit:b=l}=t;if("Enter"===e)return a();if("Escape"===e)return s(!1),d(),a();if("j"===e||"w"===e){const{count:e,isDelete:t,isVisual:r}=c(n);return!isNaN(e)&&f({count:e,isVisual:r,isDelete:t}),a()}if("k"===e||"b"===e){const{count:e,isDelete:t,isVisual:r}=c(n);return!isNaN(e)&&p({count:e,isVisual:r,isDelete:t}),a()}if("gg"===u||"^"===e){const{isDelete:e,isVisual:t}=c(n);return p({count:1/0,isVisual:t,isDelete:e}),a()}return"md"===u?(v(),a()):"tt"===u?(M(),a()):"e"===u?(b(),a()):"mf"===u?(y(),a()):"d"!==e||!s()&&"d"!==n?"G"===e||"$"===e?(f({count:1/0,isVisual:r}),a()):"y"===e?s()?(i(),m(),a()):a():/^p$/i.test(e)?(g(),a()):/^v$/i.test(e)?(s(!s()),D(),a()):"/"===e?(h(),a()):"n"===e?(w(),a()):"N"===e?(O(),a()):" "===e?a():void 0:(i(),C(),a())}},69:function(e,t,n){"use strict";const r=n(7),o=n(70),s=r([]),i=r(0);function a(e,t){return e===t-1?0:++e}function l(e,t){return e?--e:t-1}e.exports.find=(e,t)=>{const n=o(e,t);return s(n),i(0),n},e.exports.findNext=()=>{const e=s(),t=a(i(),e.length);return i(t),e[i()]},e.exports.findPrevious=()=>{const e=s(),t=l(i(),e.length);return i(t),e[t]},e.exports._next=a,e.exports._previous=l},73:function(e,t,n){"use strict";function r(e,{getCurrentName:t,selectFile:n}=DOM){".."!==t(e)&&n(e)}e.exports.selectFileNotParent=r,e.exports.setCurrent=(e,{count:t,isVisual:n,isDelete:o},{Info:s,setCurrentFile:i,unselectFiles:a,Operation:l})=>{let c=s.element;const u=n?r:a;u(c);const d=e+"Sibling";for(let e=0;e<t;e++){const e=c[d];if(!e)break;c=e,u(c)}i(c),o&&l.show("delete")}},74:function(e,t,n){"use strict";const{escapeRegExp:r}=n(10),o=DOM.CurrentInfo;e.exports=function(e,t){let n,s=0,i=!1,a=0;const l=r(e),c=new RegExp(`^${l}.*$`,"i"),{files:u}=o,d=t(),f=d.length;for(;a<f&&e===d[a];)a++;a||t([]);const p=s=a;t(t().concat(e));var C;DOM.getFilenames(u).filter(e=>c.test(e)).filter((C=e=>".."===e,e=>!C(e))).some(e=>{const t=DOM.getCurrentByName(e);if(!s)return i=!0,DOM.setCurrentFile(t),!0;p===s&&(n=t),--s}),i||(DOM.setCurrentFile(n),t([e]))}},75:function(e,t,n){"use strict";e.exports.createBinder=()=>{let e=!1;return{isBind:()=>e,setBind(){e=!0},unsetBind(){e=!1}}}},76:function(e,t,n){"use strict";const r=n(5),o=n(3),s=n(4).js,i=n(33);e.exports=function(e){if(!e)return;const{path:t}=e,n=t&&i(t).replace(/.js$/,"");const a=e.dobefore;CloudCmd[n]||(CloudCmd[n]=async()=>{r(a);const{DIR_MODULES:e}=CloudCmd,o=`${e}/${t}.js`;await s(o);const i=async e=>e&&e(),l=CloudCmd[n];return Object.assign(i,l),CloudCmd[n]=i,CloudCmd.log("init",n),await l.init(),i},CloudCmd[n].show=async(...e)=>{CloudCmd.log("show",n,e);const t=CloudCmd[n],[r,s]=await o(t);return r?console.error(r):await s.show(...e)})}},77:function(e,t,n){"use strict";const r=n(5),o=n(19),s=n(0),i=n(3),a=n(35),l=n(78),c=n(38),{FS:u}=n(6),d=s(n(79)),f=RegExp(String.fromCharCode(160),"g");e.exports.init=async()=>{await Promise.all([M(),b(),void DOM.Events.add(["unload","beforeunload"],e=>{const{Key:t}=CloudCmd,n=null==t?void 0:t.isBind();if(!n)return e.preventDefault(),"Please make sure that you saved all work."}),void m.add("popstate",async({state:e})=>{const t=(e||"").replace(u,"");if(!t)return CloudCmd.route(location.hash);await CloudCmd.changeDir(t,{history:!1})}),void m.add("resize",()=>{const e=window.innerWidth<CloudCmd.MIN_ONE_PANEL_WIDTH;if(!e)return;const{panel:t}=C,n=!t;if(n)return;const r=t.getAttribute("data-name"),o="js-left"===r;o||DOM.changePanel()}),h(),w()])},CloudCmd.Listeners=e.exports;const p=s((e,t)=>{for(const n of e)n(t)}),C=DOM.CurrentInfo,{Events:m}=DOM,g={mousedown:r.with(y,(function(e){const t={alt:e.altKey,ctrl:e.ctrlKey,meta:e.metaKey,shift:e.shiftKey},n=v(e.target),r=C.name;DOM.setCurrentFile(n);const o=C.name;let s=[];t.shift?s=function(e,t){const n=DOM.getAllFiles(),r=DOM.getFilenames(n),o=d(r),s=o(e),i=o(t);return l(s,i,n)}(r,o):s.push(C.element);0===e.button&&function(e,t){const n=/Mac/.test(window.navigator.platform);if(!e)throw Error("key should not be undefined!");const[r]=t;if(n&&e.meta||e.ctrl)return DOM.toggleSelectedFile(r);if(e.shift)t.map(DOM.selectFile)}(t,s)})),click:p([function(e){e.preventDefault(),function(e){const{panel:t}=C,n=DOM.getByDataName("js-files",t);(function(e){for(;"UL"!==e.tagName;)e=e.parentElement;return e})(e)!==n&&DOM.changePanel()}(e.target)},e=>{const t=/Mac/.test(window.navigator.platform),{shiftKey:n,metaKey:r,ctrlKey:o}=e;n||t&&r||o||DOM.unselectFiles()}]),dragstart:r.with(y,(function(e){const{prefixURL:t}=CloudCmd,n=v(e.target),{isDir:r}=C;let o=DOM.getCurrentLink(n),s=DOM.getCurrentName(n);r&&(s+=D,o=document.createElement("a"),o.textContent=s,o.href=t+"/pack"+C.path+D);e.dataTransfer.setData("DownloadURL","application/octet-stream:"+s+":"+o)})),dblclick:r.with(y,(async function(e){e.preventDefault();const t=v(e.target),n=DOM.isCurrentIsDir(t),r=DOM.getCurrentPath(t);if(!n)return CloudCmd.View.show();await CloudCmd.changeDir(r)})),touchstart:r.with(y,(async function(e){const t=v(e.target);if(!DOM.isCurrentIsDir(t))return;if(!DOM.isCurrentFile(t))return;await CloudCmd.changeDir(DOM.getCurrentPath(t))}))};let D;function h(){const e=DOM.getFM(),t=e=>e.dataset,n=e=>/^js-(left|right)$/.test(e.dataset.name);m.addClick(e,e=>{const r=e.target;if("js-fm-header"!==r.parentElement.dataset.name)return;const o=(r.dataset.name||"").replace("js-","");if(!/^(name|size|date)$/.test(o))return;const s=function e(t,n=[]){return t?e(t.parentElement,n.concat(t)):n}(r).filter(t).filter(n).pop();CloudCmd.sortPanel(o,s)})}async function w(){const[,e]=await i(DOM.Files.get,"config"),t=null==e?void 0:e.packer;D=DOM.getPackerExt(t)}e.exports.initKeysPanel=()=>{const e=DOM.getById("js-keyspanel");e&&m.addClick(e,({target:e})=>{const{id:t}=e,n=e=>{const{Operation:t}=CloudCmd;return t.show.bind(null,e)},o={f1:CloudCmd.Help.show,f2:CloudCmd.UserMenu.show,f3:CloudCmd.View.show,f4:CloudCmd.EditFile.show,f5:n("copy"),f6:n("move"),f7:DOM.promptNewDir,f8:n("delete"),f9:CloudCmd.Menu.show,f10:CloudCmd.Config.show,"~":CloudCmd.Konsole.show,"shift~":CloudCmd.Terminal.show,contact:CloudCmd.Contact.show};r(o[t])})};async function O(e,t){t.preventDefault();const n=t.target,r=n.getAttribute("data-name"),o=function(e){const t=C.panel;return!t||e.getAttribute("data-name")!==t.getAttribute("data-name")}(e);if("js-copy-path"===r)return s=n,void a.writeText(s.parentElement.title).then(CloudCmd.log).catch(CloudCmd.log);var s;if("js-refresh"===r)return CloudCmd.refresh({panel:e,noCurrent:o});if("js-path-link"!==r)return;const{href:i}=n,l=function(e){const t=CloudCmd.HOST,{prefix:n}=CloudCmd,r=RegExp("^"+n+u);return decodeURI(e).replace(t,"").replace(r,"").replace("%%","%25%").replace(f," ")||"/"}(i);await CloudCmd.changeDir(l,{isRefresh:!1,panel:o?e:C.panel})}function y(e,t){const{target:n}=t,{tagName:r}=n;"UL"!==r&&e(t)}function v(e){if(!e)return e;for(;"LI"!==e.tagName;)e=e.parentElement;return e}function M(){const e=DOM.getFM();m.addOnce("contextmenu",e,e=>{CloudCmd.Menu.show({x:e.clientX,y:e.clientY})}),m.addContextMenu(e,e=>{CloudCmd.Menu.ENABLED||e.preventDefault()})}function b(){const e=DOM.getByClassAll("panel"),t=({target:e})=>{e.classList.add("selected-panel")},n=({target:e})=>{e.classList.remove("selected-panel")},r=e=>{const{files:t,items:n}=e.dataTransfer,{length:r}=t;if(e.preventDefault(),r&&(!n||!n.length||!n[0].webkitGetAsEntry))return c(t);const o=Array.from(n).filter(e=>"file"===e.kind);if(o.length)return DOM.uploadDirectory(o);const{Operation:s}=CloudCmd,i=e.shiftKey?"move":"copy";return s.show(i)},o=e=>{const{dataTransfer:t}=e,{effectAllowed:n}=t;/move|linkMove/.test(n)?t.dropEffect="move":t.dropEffect="copy",e.preventDefault()};for(const s of e)m.add("dragover",s,o).add("drop",s,r).add("dragenter",t).add(["dragleave","drop"],n)}e.exports.setOnPanel=e=>{const t=(e=>o.string(e)?DOM.getByDataName("js-"+e):e)(e),n=DOM.getByDataName("js-files",t),r=DOM.getByDataName("js-path",t);m.addClick(r,function(e){return O.bind(null,e)}(t)),m.add(n,g)}},78:function(e,t,n){"use strict";e.exports=(e,t,n)=>e<t?n.slice(e,t+1):e>t?n.slice(t,e+1):[n[e]]},79:function(e,t,n){"use strict";e.exports=(e,t)=>{const n=e.indexOf(t);return~n?n:0}},80:function(e,t,n){"use strict";const r=n(11),o=r.CurrentInfo,{sort:s,order:i}=CloudCmd,a=r.getPanelPosition();let l=s[a];const{getPanel:c}=r;CloudCmd.sortPanel=(e,t=c())=>{const n=t.dataset.name.replace("js-","");e!==l?i[n]="asc":"asc"===i[n]?i[n]="desc":i[n]="asc",l=e,s[n]=e;const r=n!==o.panelPosition;CloudCmd.refresh({panel:t,noCurrent:r})}}});
|
|
2
2
|
//# sourceMappingURL=cloudcmd.js.map
|