UNPKG

cloudcmd

Version:

File manager for the web with console and editor

2 lines 5.27 kB
!function(e){function t(t){for(var o,s,a=t[0],c=t[1],u=t[2],p=0,d=[];p<a.length;p++)s=a[p],Object.prototype.hasOwnProperty.call(r,s)&&r[s]&&d.push(r[s][0]),r[s]=0;for(o in c)Object.prototype.hasOwnProperty.call(c,o)&&(e[o]=c[o]);for(f&&f(t);d.length;)d.shift()();return i.push.apply(i,u||[]),n()}function n(){for(var e,t=0;t<i.length;t++){for(var n=i[t],o=!0,a=1;a<n.length;a++){var c=n[a];0!==r[c]&&(o=!1)}o&&(i.splice(t--,1),e=s(s.s=n[0]))}return e}var o={},r={20:0},i=[];function s(t){if(o[t])return o[t].exports;var n=o[t]={i:t,l:!1,exports:{}};return e[t].call(n.exports,n,n.exports,s),n.l=!0,n.exports}s.m=e,s.c=o,s.d=function(e,t,n){s.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},s.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},s.t=function(e,t){if(1&t&&(e=s(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(s.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)s.d(n,o,function(t){return e[t]}.bind(null,o));return n},s.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return s.d(t,"a",t),t},s.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},s.p="/dist/";var a=window.webpackJsonp=window.webpackJsonp||[],c=a.push.bind(a);a.push=t,a=a.slice();for(var u=0;u<a.length;u++)t(a[u]);var f=c;i.push([93,0]),n()}({167:function(e,t){},93:function(e,t,n){"use strict";n(167);const o=n(12),r=n(0),i=n(8),s=n(3),a=n(4),c=n(94),u=n(2),{time:f}=n(10),{FS:p}=n(6),{isImage:d,isAudio:l,getType:m}=n(97),h=n(15),w=n(16),y=n(1),{encode:g}=n(17),{assign:v}=Object,{isArray:b}=Array,x=r((e,t,n,o)=>e(o,t,n)),C=i((...e)=>{for(const t of e)t()}),O=e=>"function"==typeof e,S=x(w.add),j=a.css;e.exports.show=async function(e,t={}){const n=CloudCmd.prefixURL+p;if(_)return;t&&!1===t.bindKeys||w.addKey(B);if(P=u("div",{className:"view",notAppend:!0}),P.tabIndex=0,e)return b(e)?P.append(...e):P.append(e),void c.open(P,I(t));y.show.load();const r=n+k.path;switch(t.raw?"":await m(r)){default:return await async function(){const[e,t]=await k.getData();if(e)return y.hide();const n=document.createTextNode(t),o=$;CloudCmd.config("showFileName")&&(o.title=k.name);P.append(n),c.open(P,o)}();case"markdown":return await CloudCmd.Markdown.show(k.path);case"html":return E(r);case"image":return function(e,t){const n=k.files.map(DOM.getCurrentPath).filter(t=>d(t)||t===e),o=n.map(e=>{return{href:`${t}${e}`,title:g((n=e,n.split("/").pop()))};var n}),r={index:n.indexOf(k.path),autoSize:!0,arrows:!0,keys:!0,helpers:{title:{}}},i={...$,...r};c.open(o,i)}(k.path,n);case"media":return await async function(e){const[t,n]=await async function(e){!function(e){if(t=e,"string"!=typeof t)throw Error("src should be a string!");var t}(e);const[t,n]=await s(h.get,"view/media-tmpl");if(t)return[t];const{name:r}=k;D||(D=n);const i=l(r),a=o(D,{src:e,type:i?"audio":"video",name:r});return[null,u("div",{innerHTML:a})]}(e);if(t)return alert(t);const r={...$,autoSize:!0,afterShow:()=>{n.querySelector("audio, video").focus()}};c.open(n,r)}(r);case"pdf":return function(e){const t=T(e),n=v({},$);CloudCmd.config("showFileName")&&(n.title=k.name);c.open(t,n)}(r)}},e.exports.hide=A;let _=!1;CloudCmd.View=e.exports;const k=DOM.CurrentInfo,{Key:M}=CloudCmd;let P,D;const $={beforeShow:()=>{y.hide(),M.unsetBind()},beforeClose:()=>{w.rmKey(B),M.setBind()},afterShow:()=>{P.focus()},onOverlayClick:F,afterClose:()=>{},autoSize:!1,helpers:{title:{}}};function T(e){const t=u("iframe",{src:e,width:"100%",height:"100%"});return t.addEventListener("load",()=>{t.contentWindow.addEventListener("keydown",B)}),t}function E(e){c.open(T(e),$)}e.exports._Config=$,e.exports.init=async()=>{await async function(){const{DIR_DIST:e}=CloudCmd;f("View load"),_=!0,await j(e+"/view.css"),_=!1}();["click","contextmenu"].forEach(S(void 0,F))},e.exports._createIframe=T,e.exports._viewHtml=E;function I(e){const t=v({},$);if(!e)return t;const n=Object.keys(e);for(const o of n){const n=Boolean(t[o]),r=e[o];if(!O(r)||!n){t[o]=e[o];continue}const i=t[o];t[o]=C(i,r)}return t}function A(){c.close()}function F(e){!function(e){const t=DOM.getCurrentByPosition(e);if(!t)return;const{files:n,filesPassive:o}=k,r=n.includes(t),i=o.includes(t);if(!r&&!i)return;if(DOM.isCurrentFile(t))return;DOM.setCurrentFile(t)}({x:e.clientX,y:e.clientY})}function B({keyCode:e}){e===M.ESC&&A()}e.exports._initConfig=I},97:function(e,t,n){"use strict";const{extname:o}=n(98),r=n(0),i=e=>/\.(mp3|ogg|m4a)$/i.test(e),s=r((e,t)=>t.test(e)),a=e=>RegExp(`\\.${e}$`,"i");function c(e){return["jp(e|g|eg)","gif","png","bmp","webp","svg","ico"].map(a).some(s(e))}async function u(e){const{headers:t}=await fetch(e,{method:"HEAD"});for(const[e,n]of t)if("content-type"===e)return"."+n.split("/").pop();return""}e.exports.getType=async e=>{return o(e)||(e=await u(e)),/\.pdf$/i.test(e)?"pdf":c(e)?"image":i(t=e)||function(e){return/\.(mp4|avi|webm)$/i.test(e)}(t)?"media":(e=>/\.html$/.test(e))(e)?"html":(e=>/.\.md$/.test(e))(e)?"markdown":void 0;var t},e.exports.isImage=c,e.exports.isAudio=i,e.exports._detectType=u}}); //# sourceMappingURL=view.js.map