UNPKG

filecat

Version:
2 lines 15.7 kB
/*! For license information please see 674.f0ccb5aa9df4885cb7f2.js.LICENSE.txt */ "use strict";(self.webpackChunkfilecat=self.webpackChunkfilecat||[]).push([[674],{2674:(e,t,n)=>{n.r(t),n.d(t,{default:()=>F});var r=n(6540),o=n(6417),a=n(7444),i=n(5997),c=n(7952),u=n(7022);function l(){var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function a(n,r,o,a){var u=r&&r.prototype instanceof c?r:c,l=Object.create(u.prototype);return f(l,"_invoke",function(n,r,o){var a,c,u,l=0,f=o||[],s=!1,p={p:0,n:0,v:e,a:d,f:d.bind(e,4),d:function(t,n){return a=t,c=0,u=e,p.n=n,i}};function d(n,r){for(c=n,u=r,t=0;!s&&l&&!o&&t<f.length;t++){var o,a=f[t],d=p.p,h=a[2];n>3?(o=h===r)&&(u=a[(c=a[4])?5:(c=3,3)],a[4]=a[5]=e):a[0]<=d&&((o=n<2&&d<a[1])?(c=0,p.v=r,p.n=a[1]):d<h&&(o=n<3||a[0]>r||r>h)&&(a[4]=n,a[5]=r,p.n=h,c=0))}if(o||n>1)return i;throw s=!0,r}return function(o,f,h){if(l>1)throw TypeError("Generator is already running");for(s&&1===f&&d(f,h),c=f,u=h;(t=c<2?e:u)||!s;){a||(c?c<3?(c>1&&(p.n=-1),d(c,u)):p.n=u:p.v=u);try{if(l=2,a){if(c||(o="next"),t=a[o]){if(!(t=t.call(a,u)))throw TypeError("iterator result is not an object");if(!t.done)return t;u=t.value,c<2&&(c=0)}else 1===c&&(t=a.return)&&t.call(a),c<2&&(u=TypeError("The iterator does not provide a '"+o+"' method"),c=1);a=e}else if((t=(s=p.n<0)?u:n.call(r,p))!==i)break}catch(t){a=e,c=1,u=t}finally{l=1}}return{value:t,done:s}}}(n,o,a),!0),l}var i={};function c(){}function u(){}function s(){}t=Object.getPrototypeOf;var p=[][r]?t(t([][r]())):(f(t={},r,function(){return this}),t),d=s.prototype=c.prototype=Object.create(p);function h(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,f(e,o,"GeneratorFunction")),e.prototype=Object.create(d),e}return u.prototype=s,f(d,"constructor",s),f(s,"constructor",u),u.displayName="GeneratorFunction",f(s,o,"GeneratorFunction"),f(d),f(d,o,"Generator"),f(d,r,function(){return this}),f(d,"toString",function(){return"[object Generator]"}),(l=function(){return{w:a,m:h}})()}function f(e,t,n,r){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}f=function(e,t,n,r){function a(t,n){f(e,t,function(e){return this._invoke(t,n,e)})}t?o?o(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(a("next",0),a("throw",1),a("return",2))},f(e,t,n,r)}function s(e,t,n,r,o,a,i){try{var c=e[a](i),u=c.value}catch(e){return void n(e)}c.done?t(u):Promise.resolve(u).then(r,o)}function p(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function i(e){s(a,r,o,i,c,"next",e)}function c(e){s(a,r,o,i,c,"throw",e)}i(void 0)})}}function d(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a,i,c=[],u=!0,l=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=a.call(n)).done)&&(c.push(r.value),c.length!==t);u=!0);}catch(e){l=!0,o=e}finally{try{if(!u&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(l)throw o}}return c}}(e,t)||function(e,t){if(e){if("string"==typeof e)return h(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?h(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function h(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function m(e){var t=d((0,r.useState)(!1),2),n=t[0],o=t[1],a=d((0,r.useState)([]),2),i=a[0],c=a[1],f=function(e){c(e)},s=function(){var t=p(l().m(function t(){return l().w(function(t){for(;;)switch(t.n){case 0:if("folder"!==e.type){t.n=2;break}if(n||!e.click||i){t.n=1;break}return t.n=1,e.click(e,f,e.pre_path);case 1:o(!n),t.n=3;break;case 2:if(!e.click){t.n=3;break}return t.n=3,e.click(e,f,e.pre_path);case 3:return t.a(2)}},t)}));return function(){return t.apply(this,arguments)}}(),h=function(){var t=p(l().m(function t(){var n,r=arguments;return l().w(function(t){for(;;)switch(t.n){case 0:if(n=r.length>0&&void 0!==r[0]&&r[0],"folder"!==e.type||n){t.n=2;break}return t.n=1,e.click(e,f,e.pre_path);case 1:t.n=3;break;case 2:e.fatherNowToggleExpansion&&e.fatherNowToggleExpansion();case 3:return t.a(2)}},t)}));return function(){return t.apply(this,arguments)}}();return(0,r.useEffect)(function(){c(e.children)},[e.children]),r.createElement("div",{className:"studio-item"},r.createElement("div",{onClick:s,onContextMenu:function(t){t.stopPropagation(),t.nativeEvent.stopImmediatePropagation(),e.handleContextMenu&&e.handleContextMenu(t,e.name,e.pre_path,e.type===u.Iw.folder,h)},className:"studio-item-title"},r.createElement("i",{className:"material-icons studio-item-title-tag"},"file"==e.type?"":n?"arrow_drop_down":"arrow_right"),r.createElement("i",{className:"material-icons","file-type":e.type},"folder"===e.type?"folder":"text_snippet"),r.createElement("span",{className:"studio-item-name"},e.name)),n&&i&&r.createElement("div",{style:{marginLeft:20}},i.map(function(t,n){return r.createElement(r.Fragment,{key:n},r.createElement(m,{type:t.type,size:t.size,click:e.click,name:t.name,key:n,children:t.children,pre_path:"".concat(e.pre_path).concat(t.name).concat(t.type===u.Iw.folder?"/":""),handleContextMenu:e.handleContextMenu,fatherNowToggleExpansion:h}))})))}function y(e){return r.createElement("div",null,e.list.map(function(t,n){return r.createElement(m,{pre_path:"".concat(e.pre_path).concat(t.name).concat(t.type===u.Iw.folder?"/":""),key:n,name:t.name,type:t.type,handleContextMenu:e.handleContextMenu,fatherNowToggleExpansion:e.fatherNowToggleExpansion,children:t.children,click:e.click,size:t.size})}))}var v=n(6007),b=n(4289),w=n(3459),g=n(8247),E=n(2543),k=n.n(E),_=n(4251),S=n(5681),x=n(2389),j=n(8815);function O(){var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function a(n,r,o,a){var u=r&&r.prototype instanceof c?r:c,l=Object.create(u.prototype);return P(l,"_invoke",function(n,r,o){var a,c,u,l=0,f=o||[],s=!1,p={p:0,n:0,v:e,a:d,f:d.bind(e,4),d:function(t,n){return a=t,c=0,u=e,p.n=n,i}};function d(n,r){for(c=n,u=r,t=0;!s&&l&&!o&&t<f.length;t++){var o,a=f[t],d=p.p,h=a[2];n>3?(o=h===r)&&(u=a[(c=a[4])?5:(c=3,3)],a[4]=a[5]=e):a[0]<=d&&((o=n<2&&d<a[1])?(c=0,p.v=r,p.n=a[1]):d<h&&(o=n<3||a[0]>r||r>h)&&(a[4]=n,a[5]=r,p.n=h,c=0))}if(o||n>1)return i;throw s=!0,r}return function(o,f,h){if(l>1)throw TypeError("Generator is already running");for(s&&1===f&&d(f,h),c=f,u=h;(t=c<2?e:u)||!s;){a||(c?c<3?(c>1&&(p.n=-1),d(c,u)):p.n=u:p.v=u);try{if(l=2,a){if(c||(o="next"),t=a[o]){if(!(t=t.call(a,u)))throw TypeError("iterator result is not an object");if(!t.done)return t;u=t.value,c<2&&(c=0)}else 1===c&&(t=a.return)&&t.call(a),c<2&&(u=TypeError("The iterator does not provide a '"+o+"' method"),c=1);a=e}else if((t=(s=p.n<0)?u:n.call(r,p))!==i)break}catch(t){a=e,c=1,u=t}finally{l=1}}return{value:t,done:s}}}(n,o,a),!0),l}var i={};function c(){}function u(){}function l(){}t=Object.getPrototypeOf;var f=[][r]?t(t([][r]())):(P(t={},r,function(){return this}),t),s=l.prototype=c.prototype=Object.create(f);function p(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,l):(e.__proto__=l,P(e,o,"GeneratorFunction")),e.prototype=Object.create(s),e}return u.prototype=l,P(s,"constructor",l),P(l,"constructor",u),u.displayName="GeneratorFunction",P(l,o,"GeneratorFunction"),P(s),P(s,o,"Generator"),P(s,r,function(){return this}),P(s,"toString",function(){return"[object Generator]"}),(O=function(){return{w:a,m:p}})()}function P(e,t,n,r){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}P=function(e,t,n,r){function a(t,n){P(e,t,function(e){return this._invoke(t,n,e)})}t?o?o(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(a("next",0),a("throw",1),a("return",2))},P(e,t,n,r)}function A(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=G(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){c=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(c)throw a}}}}function C(e,t,n,r,o,a,i){try{var c=e[a](i),u=c.value}catch(e){return void n(e)}c.done?t(u):Promise.resolve(u).then(r,o)}function N(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function i(e){C(a,r,o,i,c,"next",e)}function c(e){C(a,r,o,i,c,"throw",e)}i(void 0)})}}function T(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a,i,c=[],u=!0,l=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=a.call(n)).done)&&(c.push(r.value),c.length!==t);u=!0);}catch(e){l=!0,o=e}finally{try{if(!u&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(l)throw o}}return c}}(e,t)||G(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function G(e,t){if(e){if("string"==typeof e)return M(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?M(e,t):void 0}}function M(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var I=r.lazy(function(){return Promise.all([n.e(960),n.e(91)]).then(n.bind(n,4091))});function F(e){var t=T((0,a.L4)(o.A.studio),2),n=t[0],l=t[1],f=T((0,r.useState)([]),2),s=f[0],p=f[1],d=T((0,r.useState)(""),2),h=d[0],m=d[1],E=T((0,r.useState)(""),2),P=(E[0],E[1]),C=T((0,r.useState)(!1),2),G=(C[0],C[1],T((0,r.useState)({path:"",name:""}),2)),M=G[0],F=G[1],L=T((0,r.useState)(""),2),z=L[0],D=L[1],U=T((0,a.L4)(o.A.confirm),2),$=(U[0],U[1]),R=T((0,r.useState)(!1),2),K=R[0],B=R[1],W=T((0,a.L4)(o.A.fileShellShow),2),X=W[0],Y=W[1],q=T((0,a.L4)(o.A.file_shell_hidden),2),H=q[0],J=q[1],Q=(0,r.useRef)(null),V=(0,r.useRef)(null),Z=T((0,r.useState)(!1),2),ee=Z[0],te=Z[1],ne=T((0,r.useState)(16),2),re=ne[0],oe=ne[1],ae=T((0,a.L4)(o.A.showPrompt),2),ie=(ae[0],ae[1]),ce=(0,x.Bd)().t;var ue=function(){var e=N(O().m(function e(){var t,r,o,a,i,c,u;return O().w(function(e){for(;;)switch(e.n){case 0:return t=(0,b.GG)("file",n.folder_path),m(t),e.n=1,v.$M.post("studio/get/item",{path:t});case 1:if((r=e.v).code===w.m.Sucess){o=[],a=[],i=A(r.data.list);try{for(i.s();!(c=i.n()).done;)"folder"===(u=c.value).type?o.push(u):"file"===u.type&&a.push(u)}catch(e){i.e(e)}finally{i.f()}p([].concat(o,a))}case 2:return e.a(2)}},e)}));return function(){return e.apply(this,arguments)}}();(0,r.useEffect)(function(){P(""),F({}),B(!1),n.folder_path&&ue()},[n]);var le=function(){var e=N(O().m(function e(t,n){var r;return O().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,v.$M.get("".concat(encodeURIComponent(n)));case 1:r=e.v,P(r.data),g.xK.set_value_temp(r.data),F({path:n,name:t}),D(n);case 2:return e.a(2)}},e)}));return function(t,n){return e.apply(this,arguments)}}(),fe=function(e,t){e.size>j.o5?$({open:!0,handle:function(){le(e.name,t),$({open:!1,handle:null}),B(!1)},title:"超过20MB了还要打开吗?"}):le(e.name,t)},se=function(){var e=N(O().m(function e(t,n,r){var o,a,i,c,u,l;return O().w(function(e){for(;;)switch(e.n){case 0:if("folder"!==t.type){e.n=2;break}return e.n=1,v.$M.post("studio/get/item",{path:"".concat(r)});case 1:if((o=e.v).code===w.m.Sucess){a=[],i=[],c=A(o.data.list);try{for(c.s();!(u=c.n()).done;)"folder"===(l=u.value).type?a.push(l):"file"===l.type&&i.push(l)}catch(e){c.e(e)}finally{c.f()}n([].concat(a,i))}e.n=4;break;case 2:if(!K){e.n=3;break}return $({open:!0,handle:function(){$({open:!1,handle:null}),B(!1),fe(t,r)},title:"确定不保存就切换吗?"}),e.a(2);case 3:fe(t,r);case 4:return e.a(2)}},e)}));return function(t,n,r){return e.apply(this,arguments)}}();function pe(){return de.apply(this,arguments)}function de(){return(de=N(O().m(function e(){var t;return O().w(function(e){for(;;)switch(e.n){case 0:if(K){e.n=1;break}return e.a(2);case 1:return t={context:g.xK.get_editor_value()},e.n=2,v.$M.post("save/".concat(encodeURIComponent(z)),t);case 2:0===e.v.code&&B(!1);case 3:return e.a(2)}},e)}))).apply(this,arguments)}var he=function(e){e.ctrlKey&&"s"===e.key&&(e.preventDefault(),K&&pe())};(0,r.useEffect)(function(){return document.addEventListener("keydown",he),function(){document.removeEventListener("keydown",he)}},[K]);var me=(0,r.useCallback)(k().throttle(function(e){var t=parseFloat(getComputedStyle(V.current).fontSize),n=window.innerWidth/t-4,r=e.clientX/t,o=2.25+Q.current.offsetWidth/t;r<=n&&r>=o&&oe(parseFloat(r.toFixed(2)))},32),[]),ye=function(){te(!1),V.current.removeEventListener("pointermove",me)},ve=[{r:ce("创建文件"),v:"创建文件"},{r:ce("创建目录"),v:"创建目录"},{r:ce("重命名"),v:"重命名"},{r:ce("删除"),v:"删除"}],be=[{r:ce("重命名"),v:"重命名"},{r:ce("删除"),v:"删除"}],we=function(e,t,n,r,o){e.preventDefault();var a=new _.i;a.path=n,a.filename=t,a.x=e.clientX,a.y=e.clientY,a.items=r?ve:be,o===ue&&(a.items=a.items.slice(0,2)),a.type=r?u.Iw.studio_folder:u.Iw.studio_file;var i=function(e){o(e)};a.textClick=function(e){switch(e){case"创建文件":ie({show:!0,type:S.PromptEnum.FileNew,overlay:!0,data:{dir:n,call:i}});break;case"创建目录":ie({show:!0,type:S.PromptEnum.DirNew,overlay:!0,data:{dir:n,call:i}});break;case"删除":if(K&&(M.path===n||M.path.includes(n))){ie({show:!0,type:S.PromptEnum.FilesDelete,overlay:!0,data:{path:n,call:function(){i(r),B(!1),F({}),P(""),g.xK.set_value_temp("")}}});break}ie({show:!0,type:S.PromptEnum.FilesDelete,overlay:!0,data:{path:n,call:r?function(){i(!0)}:i}});break;case"重命名":ie({show:!0,type:S.PromptEnum.FileRename,overlay:!0,data:{path:n,dir:(0,b.Yp)(n),call:function(){i(!0)},filename:t}})}},ie({show:!0,type:S.PromptEnum.FileMenu,overlay:!1,data:a})};return r.createElement("div",{className:"studio"},r.createElement(c.A,{ignore_tags:!0,left_children:[r.createElement(i.rA,{key:1,title:"取消",icon:"close",onClick:function(){l({}),Y({show:!1,path:""}),J(void 0)}}),r.createElement("title",{key:2},M.name)]},r.createElement(i.rA,{icon:"terminal",title:"shell",onClick:function(){void 0===H?X.show?Y({show:!1,path:""}):(Y({show:!0,path:(0,b.GG)("file",n.folder_path)}),J(!1)):J(!H)}}),K&&r.createElement(i.rA,{title:"保存",icon:"save",onClick:pe})),r.createElement("div",{className:"studio-body",ref:V},r.createElement("div",{className:"studio-nav",style:{width:"".concat(re-1,"em")},onContextMenu:function(e){we(e,M.name,(0,b.GG)("file",n.folder_path),!0,ue)}},r.createElement(y,{pre_path:h,list:s,click:se,handleContextMenu:we,fatherNowToggleExpansion:ue})),r.createElement("div",{className:"studio__divider",ref:Q,onPointerDown:function(){te(!0),V.current.addEventListener("pointermove",me)},onPointerUp:ye}),ee&&r.createElement("div",{className:"shell__overlay",onPointerUp:ye}),r.createElement("div",{className:"studio-editor",key:M.path},M.name&&r.createElement(I,{name:M.name,on_change:function(){K||B(!0)}}))))}}}]);