iobroker.javascript
Version:
Rules Engine for ioBroker
2 lines • 1.07 MB
JavaScript
/*! For license information please see 838.32784fd6.chunk.js.LICENSE.txt */
(self.webpackChunkjs=self.webpackChunkjs||[]).push([[838],{31183:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=n(66086);t.default=r.AdminConnection},76046:(e,t,n)=>{"use strict";var r=n(64836);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=r(n(18698)),a=r(n(56690)),i=r(n(89728)),s=r(n(66115)),l=r(n(61655)),c=r(n(94993)),u=r(n(73808)),d=r(n(38416)),p=r(n(88564)),h=n(63108),m=r(n(15854)),f=n(35025),g=n(18967),v=n(59665),b=r(n(18181)),y=r(n(58844));function w(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function x(e){var t=function(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=(0,u.default)(e);if(t){var o=(0,u.default)(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return(0,c.default)(this,n)}}var C=function(e){(0,l.default)(n,e);var t=x(n);function n(e){var r;return(0,a.default)(this,n),r=t.call(this,e),(0,d.default)((0,s.default)(r),"handleClick",(function(e){r.setState({displayColorPicker:!r.state.displayColorPicker,anchorEl:r.state.displayColorPicker?null:e.currentTarget})})),(0,d.default)((0,s.default)(r),"handleClose",(function(){r.setState({displayColorPicker:!1,anchorEl:null})})),(0,d.default)((0,s.default)(r),"handleChange",(function(e){r.setState({color:e},(function(){return r.props.onChange&&r.props.onChange(n.getColor(e))}))})),r.state={displayColorPicker:!1,color:r.props.value||r.props.color,anchorEl:null},r}return(0,i.default)(n,[{key:"componentDidUpdate",value:function(e,t){var r=n.getColor(this.props.color||this.props.value);r!==t.color&&this.setState({color:r})}},{key:"renderCustomPalette",value:function(){var e=this;return this.props.customPalette?p.default.createElement("div",{style:{width:"100%",display:"flex",flexWrap:"flex"}},this.props.customPalette.map((function(t){return p.default.createElement(g.Button,{className:e.props.classes.button,key:t,onClick:function(){e.handleChange(t),setTimeout((function(){return e.handleClose()}),300)}},p.default.createElement("div",{className:e.props.classes.iconButton,style:{background:t}}))}))):null}},{key:"render",value:function(){var e=this,t=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?w(Object(n),!0).forEach((function(t){(0,d.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):w(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},this.props.style||{});t.position="relative";var n=this.state.color;return p.default.createElement("div",{style:t,className:this.props.className||""},this.props.noInputField?null:p.default.createElement(g.TextField,{disabled:this.props.disabled,variant:"standard",id:"ar_color_picker_name",style:n?{width:"calc(100% - 80px)"}:{width:"calc(100% - 56px)",marginRight:8},label:this.props.label||this.props.name||"color",value:n||"",margin:"dense",classes:{root:this.props.classes.textDense},onChange:function(t){return e.handleChange(t.target.value)}}),!this.props.noInputField&&n?p.default.createElement(g.IconButton,{disabled:this.props.disabled,onClick:function(){return e.handleChange("")},size:"small",className:this.props.classes.delButton,style:n?{}:{opacity:0,cursor:"default"}},p.default.createElement(v.Delete,null)):null,p.default.createElement("div",{className:y.default.clsx(this.props.classes.swatch,this.props.disabled&&this.props.classes.swatchDisabled),onClick:function(t){return!e.props.disabled&&e.handleClick(t)},title:b.default.t("ra_Select color"),style:{background:n?void 0:"transparent",border:n?void 0:"1px dashed #ccc",boxSizing:"border-box",marginTop:this.props.noInputField?0:void 0}},p.default.createElement("div",{className:this.props.classes.color,style:{background:n,width:this.props.noInputField?this.props.barWidth||16:this.props.barWidth||void 0}})),this.state.displayColorPicker&&!this.props.disabled?p.default.createElement(g.Menu,{classes:{paper:this.props.classes.popover,list:this.props.classes.popoverList},anchorEl:this.state.anchorEl,open:!0,onClose:function(){return e.handleClose()}},p.default.createElement(h.ChromePicker,{className:this.props.classes.picker,color:this.state.color||"",onChangeComplete:function(t){return e.handleChange(t)},styles:{picker:{background:"#112233"}}}),n&&this.props.noInputField?p.default.createElement(g.IconButton,{className:this.props.classes.closeButton,onClick:function(){return e.handleChange("")}},p.default.createElement(v.Delete,null)):null,p.default.createElement(g.IconButton,{className:this.props.classes.closeButton,onClick:function(){return e.handleClose()}},p.default.createElement(v.Close,null)),this.renderCustomPalette()):null)}}],[{key:"getColor",value:function(e,t){return e&&"object"===(0,o.default)(e)?e.rgb?t?"#".concat(e.rgb.r.toString(16).padStart(2,"0")).concat(e.rgb.g.toString(16).padStart(2,"0")).concat(e.rgb.b.toString(16).padStart(2,"0")):"rgba(".concat(e.rgb.r,",").concat(e.rgb.g,",").concat(e.rgb.b,",").concat(e.rgb.a,")"):t?"#".concat(e.r.toString(16).padStart(2,"0")).concat(e.g.toString(16).padStart(2,"0")).concat(e.b.toString(16).padStart(2,"0")):"rgba(".concat(e.r,",").concat(e.g,",").concat(e.b,",").concat(e.a,")"):t?n.rgb2hex(e||""):e||""}},{key:"rgb2hex",value:function(e){var t=e.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i),n=parseInt(t[1],10).toString(16).padStart(2,"0"),r=parseInt(t[2],10).toString(16).padStart(2,"0"),o=parseInt(t[3],10).toString(16).padStart(2,"0");return t&&4===t.length?"#".concat(n).concat(r).concat(o):e}}]),n}(p.default.Component);C.propTypes={disabled:m.default.bool,value:m.default.string,onChange:m.default.func.isRequired,label:m.default.string,name:m.default.string,style:m.default.object,className:m.default.string,customPalette:m.default.array,noInputField:m.default.bool,barWidth:m.default.number};var D=(0,f.withStyles)((function(e){return{color:{width:36,height:14,borderRadius:2},delButton:{marginTop:16},swatch:{marginTop:16,padding:5,background:e.palette.background.paper,borderRadius:1,boxShadow:"0 0 0 1px rgba(0,0,0,.1)",display:"inline-block",cursor:"pointer",verticalAlign:"middle"},swatchDisabled:{opacity:.5,cursor:"default"},popover:{backgroundColor:"#00000000",textAlign:"right"},popoverList:{padding:0},closeButton:{backgroundColor:"".concat(e.palette.background.paper," !important"),borderRadius:"0 0 25% 25%","&:hover":{backgroundColor:"".concat(e.palette.secondary.main," !important")}},cover:{position:"fixed",top:0,right:0,bottom:0,left:0},textDense:{marginTop:0,marginBottom:0},picker:{background:"".concat(e.palette.background.paper," !important")},iconButton:{width:16,height:16},button:{width:32,height:32,minWidth:32,minHeight:32}}}))(C);t.default=D},5634:(e,t,n)=>{"use strict";var r=n(64836),o=n(18698);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=r(n(27424)),i=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=o(e)&&"function"!=typeof e)return{default:e};var n=h(t);if(n&&n.has(e))return n.get(e);var r={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=a?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}return r.default=e,n&&n.set(e,r),r}(n(88564)),s=r(n(15854)),l=n(35025),c=n(18967),u=n(59665),d=r(n(58844)),p=r(n(18181));function h(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(h=function(e){return e?n:t})(e)}var m=function(e){var t=e.open,n=e.toggleTranslation,r=e.noTranslation,o=e.title,s=e.fullWidth,l=e.help,h=e.maxWidth,m=e.progress,f=e.icon,g=e.applyDisabled,v=e.applyButton,b=e.classes,y=e.onClose,w=e.children,x=e.titleButtonApply,C=e.titleButtonClose,D=e.onApply,E=e.textInput,S=e.defaultValue,k=e.overflowHidden,T=(0,i.useState)(S),_=(0,a.default)(T,2),A=_[0],F=_[1];(0,i.useEffect)((function(){F(S)}),[S]);var P=null;return f&&(P=f),i.default.createElement(c.Dialog,{open:t,maxWidth:h||"md",fullWidth:!!s,disableEscapeKeyDown:!1,onClose:y,classes:{paper:b.modalDialog}},o&&i.default.createElement(c.DialogTitle,null,f?i.default.createElement(P,{className:b.titleIcon}):null,o,"en"!==p.default.getLanguage()&&n?i.default.createElement(c.IconButton,{size:"large",className:d.default.clsx(b.languageButton,r&&b.languageButtonActive),onClick:function(){return n()},title:p.default.t("Disable/Enable translation")},i.default.createElement(u.Language,null)):null),i.default.createElement(c.DialogContent,{className:d.default.clsx(k?b.overflowHidden:null,b.content),style:{paddingTop:8}},E&&i.default.createElement(c.TextField,{autoComplete:"off",fullWidth:!0,autoFocus:!0,variant:"outlined",size:"medium",multiline:!0,value:A,onChange:function(e){return F(e.target.value)}}),w,l?i.default.createElement("div",null,l):null),i.default.createElement(c.DialogActions,null,v&&i.default.createElement(c.Button,{startIcon:i.default.createElement(u.Check,null),disabled:m||g&&S===A,onClick:function(){return D(E?A:"")},variant:"contained",color:"primary"},p.default.t(x)),i.default.createElement(c.Button,{color:"grey",onClick:y,disabled:m,variant:"contained",startIcon:i.default.createElement(u.Close,null)},p.default.t(C))))};m.defaultProps={open:!1,onApply:function(){},onClose:function(){},applyButton:!0,applyDisabled:!1,titleButtonClose:"Cancel",titleButtonApply:"Ok",overflowHidden:!1,help:""},m.propTypes={icon:s.default.object,open:s.default.bool,onClose:s.default.func,children:s.default.any,titleButtonClose:s.default.string,titleButtonApply:s.default.string,onApply:s.default.func,fullWidth:s.default.bool,maxWidth:s.default.string,applyButton:s.default.bool,applyDisabled:s.default.bool,overflowHidden:s.default.bool,help:s.default.string,noTranslation:s.default.bool,toggleTranslation:s.default.func};t.default=(0,l.withStyles)((function(e){return{modalDialog:{minWidth:400,maxWidth:800},overflowHidden:{display:"flex",overflow:"hidden"},titleIcon:{marginRight:5},content:{fontSize:16},languageButton:{position:"absolute",right:e.spacing(1),top:e.spacing(1)},languageButtonActive:{color:e.palette.primary.main}}}))(m)},27211:(e,t,n)=>{"use strict";var r=n(64836),o=n(18698);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=r(n(64687)),i=r(n(10434)),s=r(n(18698)),l=r(n(861)),c=r(n(17156)),u=r(n(56690)),d=r(n(89728)),p=r(n(66115)),h=r(n(61655)),m=r(n(94993)),f=r(n(73808)),g=r(n(38416)),v=I(n(88564)),b=n(35025),y=r(n(15854)),w=r(n(18267)),x=n(18967),C=n(59665),D=r(n(32548)),E=r(n(58844)),S=r(n(9922)),k=r(n(73933)),T=r(n(61723)),_=r(n(97104)),A=r(n(4039)),F=r(n(77054)),P=I(n(46964));function O(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(O=function(e){return e?n:t})(e)}function I(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=o(e)&&"function"!=typeof e)return{default:e};var n=O(t);if(n&&n.has(e))return n.get(e);var r={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=a?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}return r.default=e,n&&n.set(e,r),r}function j(e){var t=function(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=(0,f.default)(e);if(t){var o=(0,f.default)(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return(0,m.default)(this,n)}}var N=32,M=32,B=120,R="Not found",L={all:C.InsertDriveFile,images:C.Image,code:C.Code,txt:C.FontDownload,audio:C.AudioFile,video:C.Videocam},z="0_userdata.0";function V(e,t){return e.folder&&t.folder?e.name>t.name?1:e.name<t.name?-1:0:e.folder?-1:t.folder||e.name>t.name?1:e.name<t.name?-1:0}function W(e){var t=(e||"").split("/");return t.length&&t.pop(),t.join("/")}function H(e){var t=E.default.getFileExtension(e);return!!(t&&t.toLowerCase().match(/[a-z]+/)&&t.length<5)}var Z="Table",U="Tile",q=function(e){(0,h.default)(n,e);var t=j(n);function n(e){var r;(0,u.default)(this,n),r=t.call(this,e),(0,g.default)((0,p.default)(r),"onFileChange",(function(e,t,n){var o="".concat(e,"/").concat(t),a=o.lastIndexOf("/"),i=o.substring(0,a);console.log("File changed ".concat(o,"[").concat(n,"]")),r.state.folders[i]&&(r._tempTimeout[i]&&clearTimeout(r._tempTimeout[i]),r._tempTimeout[i]=setTimeout((function(){delete r._tempTimeout[i],r.browseFolder(i,!0).then((function(e){return r.setState({folders:e})}))}),300))})),(0,g.default)((0,p.default)(r),"setStateBackgroundImage",(function(){var e=["light","dark","colored","delete"];r.setState((function(t){var n=t.backgroundImage;return-1!==e.indexOf(n)&&e.length-1!==e.indexOf(n)?((window._localStorage||window.localStorage).setItem("files.backgroundImage",e[e.indexOf(n)+1]),{backgroundImage:e[e.indexOf(n)+1]}):((window._localStorage||window.localStorage).setItem("files.backgroundImage",e[0]),{backgroundImage:e[0]})}))})),(0,g.default)((0,p.default)(r),"getClassBackgroundImage",(function(){switch(r.state.backgroundImage){case"light":return r.props.classes.backgroundImageLight;case"dark":return r.props.classes.backgroundImageDark;case"colored":return r.props.classes.backgroundImageColored;default:return null}}));var o,a=(window._localStorage||window.localStorage).getItem("files.expanded")||"[]";if(r.props.limitPath){var i=r.props.limitPath.split("/");r.limitToObjectID=i[0],r.limitToPath=i.length?1===i.length&&""===i[0]?null:i.join("/"):null,r.limitToPath&&r.limitToPath.endsWith("/")&&r.limitToPath.substring(0,r.limitToPath.length-1)}try{a=JSON.parse(a),r.limitToPath&&(a=a.filter((function(e){return e.startsWith("".concat(r.limitToPath,"/"))||e===r.limitToPath||r.limitToPath.startsWith("".concat(e,"/"))})))}catch(f){a=[]}o=r.props.showViewTypeButton&&(window._localStorage||window.localStorage).getItem("files.viewType")||Z;var s=r.props.selected||(window._localStorage||window.localStorage).getItem("files.selected")||z,l="";if(e.restrictToFolder){s=e.restrictToFolder,l=e.restrictToFolder;var c=e.restrictToFolder.split("/");a=[];for(var d="",h=0;h<c.length;h++)d+=(d?"/":"")+c[h],a.push(d)}else Array.isArray(s)&&(s=s[0]),l=H(s)?W(s):s;var m=(window._localStorage||window.localStorage).getItem("files.backgroundImage")||null;return r.state={viewType:o,folders:{},filterEmpty:"false"!==(window._localStorage||window.localStorage).getItem("files.empty"),expanded:a,currentDir:l,expertMode:r.props.expertMode,addFolder:!1,uploadFile:!1,deleteItem:"",viewer:"",formatEditFile:"",path:s,selected:s,errorText:"",modalEditOfAccess:!1,backgroundImage:m,queueLength:0,loadAllFolders:!1,fileErrors:[],filterByType:e.filterByType||window.localStorage.getItem("files.filterByType")||"",showTypesMenu:null,restrictToFolder:e.restrictToFolder||""},r.imagePrefix=r.props.imagePrefix||"./files/",r.levelPadding=r.props.levelPadding||20,r.mounted=!0,r.suppressDeleteConfirm=0,r.browseList=[],r.browseListRunning=!1,r.initialReadFinished=!1,r.supportSubscribes=null,r._tempTimeout={},r}return(0,d.default)(n,[{key:"loadFolders",value:function(){var e=(0,c.default)(a.default.mark((function e(){var t,n=this;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.initialReadFinished=!1,e.next=3,this.browseFolder("/");case 3:if(t=e.sent,this.state.viewType!==Z){e.next=10;break}return e.next=7,this.browseFolders((0,l.default)(this.state.expanded),t);case 7:t=e.sent,e.next=14;break;case 10:if(!this.state.currentDir||"/"===this.state.currentDir||this.limitToObjectID&&!this.state.currentDir.startsWith(this.limitToObjectID)){e.next=14;break}return e.next=13,this.browseFolder(this.state.currentDir,t);case 13:t=e.sent;case 14:this.setState({folders:t},(function(){if(n.state.viewType!==Z||n.findItem(n.state.selected))n.scrollToSelected();else{for(var e,t=n.state.selected.split("/");t.length&&!n.findItem(t.join("/"));)t.pop();e=t.length?t.join("/"):z,n.setState({selected:e,path:e,pathFocus:!1},(function(){return n.scrollToSelected()}))}n.initialReadFinished=!0}));case 15:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"scrollToSelected",value:function(){if(this.mounted){var e=document.getElementById(this.state.selected);e&&e.scrollIntoView()}}},{key:"componentDidMount",value:function(){var e=this;return this.mounted=!0,this.loadFolders(),this.props.socket.checkFeatureSupported("BINARY_STATE_EVENT").then((function(t){e.supportSubscribes=t,e.supportSubscribes&&e.props.socket.subscribeFiles("*","*",e.onFileChange)}))}},{key:"componentWillUnmount",value:function(){this.supportSubscribes&&this.props.socket.unsubscribeFiles("*","*",this.onFileChange),this.mounted=!1,this.browseList=null,this.browseListRunning=!1,Object.values(this._tempTimeout).forEach((function(e){return e&&clearTimeout(e)})),this._tempTimeout={}}},{key:"browseFolders",value:function(e,t,n){var r=this;return t||(t={},Object.keys(this.state.folders).forEach((function(e){return t[e]=r.state.folders[e]}))),n?e&&e.length?this.browseFolder(e.shift(),t).then((function(){return setTimeout((function(){return r.browseFolders(e,t,n)}),0)})).catch((function(){return setTimeout((function(){return r.browseFolders(e,t,n)}),0)})):n(t):new Promise((function(n){r.browseFolders(e,t,n)}))}},{key:"readDirSerial",value:function(e,t){var n=this;return new Promise((function(r,o){n.browseList&&(n.browseList.push({resolve:r,reject:o,adapter:e,relPath:t}),!n.browseListRunning&&n.processBrowseList())}))}},{key:"processBrowseList",value:function(e){var t=this;!this.browseListRunning&&this.browseList&&this.browseList.length&&(this.browseListRunning=!0,this.browseList.length>10&&this.browseList.length%10||this.setState({queueLength:this.browseList.length}),this.browseList[0].processing=!0,this.props.socket.readDir(this.browseList[0].adapter,this.browseList[0].relPath).then((function(n){if(t.browseList){var r=t.browseList.shift();if(r){var o=r.resolve;r.resolve=null,r.reject=null,r.adapter=null,r.relPath=null,o(n),t.browseListRunning=!1,t.browseList.length?e<5?t.processBrowseList(e+1):setTimeout((function(){return t.processBrowseList(0)}),0):t.setState({queueLength:0})}else t.setState({queueLength:0})}})).catch((function(n){if(t.browseList){var r=t.browseList.shift();if(r){var o=r.reject;r.resolve=null,r.reject=null,r.adapter=null,r.relPath=null,o(n),t.browseListRunning=!1,t.browseList.length?e<5?t.processBrowseList(e+1):setTimeout((function(){return t.processBrowseList(0)}),0):t.setState({queueLength:0})}else t.setState({queueLength:0})}})))}},{key:"browseFolder",value:function(e,t,n,r){var o=this;if("boolean"===typeof t&&(r=t,t=null),t||(t={},Object.keys(this.state.folders).forEach((function(e){return t[e]=o.state.folders[e]}))),t[e]&&!r)return n?Promise.resolve(t):new Promise((function(n,r){Promise.all(t[e].filter((function(e){return e.folder})).map((function(e){return o.browseFolder(e.id,t,!0).catch((function(){}))}))).then((function(){return n(t)})).catch((function(e){return r(e)}))}));if(!e||"/"===e)return this.props.socket.readMetaItems().then((function(r){var a=[],i=null;if(o.state.restrictToFolder){var s=o.state.restrictToFolder.split("/")[0];r=r.filter((function(e){return e._id===s}))}else o.state.expertMode||(r=r.filter((function(e){return!e._id.endsWith(".admin")})));var l=r.findIndex((function(e){return"system.meta.uuid"===e._id}));return-1!==l&&r.splice(l,1),r.forEach((function(e){if(!o.limitToObjectID||o.limitToObjectID===e._id){var t={id:e._id,name:e._id,title:e.common&&e.common.name||e._id,meta:!0,from:e.from,ts:e.ts,color:e.common&&e.common.color,icon:e.common&&e.common.icon,folder:!0,acl:e.acl,level:0};t.id===z?i=t:a.push(t)}})),a.sort((function(e,t){return e.id>t.id?1:e.id<t.id?-1:0})),o.limitToObjectID&&o.limitToObjectID!==z||i&&a.unshift(i),t[e||"/"]=a,n?t:Promise.all(a.filter((function(e){return e.folder})).map((function(e){return o.browseFolder(e.id,t,!0).catch((function(){}))}))).then((function(){return t}))})).catch((function(e){return o.initialReadFinished&&window.alert("Cannot read meta items: ".concat(e))}));var a=e.split("/"),i=a.length,s=a.shift(),l=a.join("/");return this.readDirSerial(s,l).then((function(r){var a=[];return r.forEach((function(t){var n={id:"".concat(e,"/").concat(t.file),ext:E.default.getFileExtension(t.file),folder:t.isDir,name:t.file,size:t.stats&&t.stats.size,modified:t.modifiedAt,acl:t.acl,level:i};o.state.restrictToFolder?(n.folder&&(n.id.startsWith("".concat(o.state.restrictToFolder,"/"))||n.id===o.state.restrictToFolder||o.state.restrictToFolder.startsWith("".concat(n.id,"/")))||n.id.startsWith("".concat(o.state.restrictToFolder,"/")))&&a.push(n):o.limitToPath?(n.folder&&(n.id.startsWith("".concat(o.limitToPath,"/"))||n.id===o.limitToPath||o.limitToPath.startsWith("".concat(n.id,"/")))||n.id.startsWith("".concat(o.limitToPath,"/")))&&a.push(n):a.push(n)})),a.sort(V),t[e]=a,n?t:Promise.all(a.filter((function(e){return e.folder})).map((function(e){return o.browseFolder(e.id,t,!0)}))).then((function(){return t}))})).catch((function(n){return o.initialReadFinished&&window.alert("Cannot read ".concat(s).concat(l?"/".concat(l):"",": ").concat(n)),t[e]=[],t}))}},{key:"toggleFolder",value:function(e,t){var n=this;t&&t.stopPropagation();var r=(0,l.default)(this.state.expanded),o=r.indexOf(e.id);-1===o?(r.push(e.id),r.sort(),(window._localStorage||window.localStorage).setItem("files.expanded",JSON.stringify(r)),e.temp?this.setState({expanded:r}):this.browseFolder(e.id).then((function(e){return n.setState({expanded:r,folders:e})})).catch((function(t){return window.alert(t===R?n.props.t('ra_Cannot find "%s"',e.id):n.props.t('ra_Cannot read "%s"',e.id))}))):(r.splice(o,1),(window._localStorage||window.localStorage).setItem("files.expanded",JSON.stringify(r)),this.setState({expanded:r}))}},{key:"changeFolder",value:function(e,t){var n=this;e&&e.stopPropagation(),this.lastSelect=Date.now();var r=t||W(this.state.currentDir);return"/"===r&&(r=""),(window._localStorage||window.localStorage).setItem("files.currentDir",r),t&&e&&(e.altKey||e.shiftKey||e.ctrlKey||e.metaKey)?this.setState({selected:r}):r&&!this.state.folders[r]?this.browseFolder(r).then((function(e){return n.setState({folders:e,path:r,currentDir:r,selected:r,pathFocus:!1},(function(){return n.props.onSelect&&n.props.onSelect("")}))})):this.setState({currentDir:r,selected:r,path:r,pathFocus:!1},(function(){return n.props.onSelect&&n.props.onSelect("")}))}},{key:"select",value:function(e,t,n){var r=this;"function"===typeof t&&(n=t,t=null),t&&t.stopPropagation(),this.lastSelect=Date.now(),(window._localStorage||window.localStorage).setItem("files.selected",e),this.setState({selected:e,path:e,pathFocus:!1},(function(){if(r.props.onSelect){var t=E.default.getFileExtension(e);r.props.filterFiles&&!r.props.filterFiles.includes(t)||r.state.filterByType&&!P.EXTENSIONS[r.state.filterByType].includes(t)?r.props.onSelect(""):r.props.onSelect(e,!1,!!r.state.folders[e])}n&&n()}))}},{key:"renderFolder",value:function(e,t){var n=this;if(this.state.viewType===Z&&this.state.filterEmpty&&(!this.state.folders[e.id]||!this.state.folders[e.id].length)&&e.id!==z&&!e.temp)return null;var r=t?_.default:T.default,o=this.state.viewType===Z?e.level*this.levelPadding:0,a=e.name===z,i=a||"vis.0"===e.name||"vis-2.0"===e.name;return v.default.createElement("div",{key:e.id,id:e.id,style:this.state.viewType===Z?{marginLeft:o,width:"calc(100% - ".concat(o,"px")}:{},onClick:function(t){return n.state.viewType===Z?n.select(e.id,t):n.changeFolder(t,e.id)},onDoubleClick:function(t){return n.state.viewType===Z&&n.toggleFolder(e,t)},title:e.title&&"object"===(0,s.default)(e.title)?e.title[this.props.lang]||e.title.end||"":e.title||null,className:E.default.clsx("browserItem",this.props.classes["item".concat(this.state.viewType)],this.props.classes["itemFolder".concat(this.state.viewType)],this.state.selected===e.id&&this.props.classes.itemSelected,e.temp&&this.props.classes.itemFolderTemp)},v.default.createElement(r,{className:E.default.clsx(this.props.classes["itemFolderIcon".concat(this.state.viewType)],i&&this.props.classes.specialFolder),onClick:this.state.viewType===Z?function(t){return n.toggleFolder(e,t)}:void 0}),v.default.createElement("div",{className:E.default.clsx(this.props.classes["itemName".concat(this.state.viewType)],this.props.classes["itemNameFolder".concat(this.state.viewType)])},a?this.props.t("ra_User files"):e.name),v.default.createElement(x.Hidden,{smDown:!0},v.default.createElement("div",{className:this.props.classes["itemSize".concat(this.state.viewType)]},this.state.viewType===Z&&this.state.folders[e.id]?this.state.folders[e.id].length:"")),v.default.createElement(x.Hidden,{smDown:!0},this.state.viewType===Z&&this.props.expertMode?this.formatAcl(e.acl):null),v.default.createElement(x.Hidden,{smDown:!0},this.state.viewType===Z&&this.props.expertMode?v.default.createElement("div",{className:this.props.classes["itemDeleteButton".concat(this.state.viewType)]}):null),this.state.viewType===Z&&this.props.allowDownload?v.default.createElement("div",{className:this.props.classes["itemDownloadEmpty".concat(this.state.viewType)]}):null,this.state.viewType===Z&&this.props.allowDelete&&this.state.folders[e.id]&&this.state.folders[e.id].length?v.default.createElement(x.IconButton,{"aria-label":"delete",onClick:function(t){t.stopPropagation(),n.suppressDeleteConfirm>Date.now()?n.deleteItem(e.id):n.setState({deleteItem:e.id})},className:this.props.classes["itemDeleteButton".concat(this.state.viewType)],size:"large"},v.default.createElement(C.Delete,{fontSize:"small"})):this.state.viewType===Z&&this.props.allowDelete?v.default.createElement("div",{className:this.props.classes["itemDeleteButton".concat(this.state.viewType)]}):null)}},{key:"renderBackFolder",value:function(){var e=this;return v.default.createElement("div",{key:this.state.currentDir,id:this.state.currentDir,onClick:function(t){return e.changeFolder(t)},title:this.props.t("ra_Back to %s",W(this.state.currentDir)),className:E.default.clsx("browserItem",this.props.classes["item".concat(this.state.viewType)],this.props.classes["itemFolder".concat(this.state.viewType)])},v.default.createElement(T.default,{className:this.props.classes["itemFolderIcon".concat(this.state.viewType)]}),v.default.createElement(C.ArrowBack,{className:this.props.classes.itemFolderIconBack}),v.default.createElement("div",{className:E.default.clsx(this.props.classes["itemName".concat(this.state.viewType)],this.props.classes["itemNameFolder".concat(this.state.viewType)])},".."))}},{key:"formatSize",value:function(e){return v.default.createElement("div",{className:this.props.classes["itemSize".concat(this.state.viewType)]},e||0===e?E.default.formatBytes(e):"")}},{key:"formatAcl",value:function(e){var t=this,n=e&&(e.permissions||e.file);return n&&(n=n.toString(16).padStart(3,"0")),v.default.createElement("div",{className:this.props.classes["itemAccess".concat(this.state.viewType)]},this.props.modalEditOfAccessControl?v.default.createElement(x.IconButton,{size:"large",onClick:function(){return t.setState({modalEditOfAccess:!0})},className:this.props.classes["itemAclButton".concat(this.state.viewType)]},n||"---"):n||"---")}},{key:"getFileIcon",value:function(e){switch(e){case"json":case"json5":return v.default.createElement(C.Bookmark,{className:this.props.classes["itemIcon".concat(this.state.viewType)]});case"css":return v.default.createElement(C.BookmarkBorder,{className:this.props.classes["itemIcon".concat(this.state.viewType)]});case"js":case"ts":return v.default.createElement(C.Code,{className:this.props.classes["itemIcon".concat(this.state.viewType)]});case"html":case"md":return v.default.createElement(C.Description,{className:this.props.classes["itemIcon".concat(this.state.viewType)]});case"mp3":case"ogg":case"wav":case"m4a":case"mp4":case"flac":return v.default.createElement(C.MusicNote,{className:this.props.classes["itemIcon".concat(this.state.viewType)]});default:return v.default.createElement(C.InsertDriveFile,{className:this.props.classes["itemIcon".concat(this.state.viewType)]})}}},{key:"renderFile",value:function(e){var t=this,r=this.state.viewType===Z?e.level*this.levelPadding:0,o=E.default.getFileExtension(e.name);return v.default.createElement("div",{key:e.id,id:e.id,onDoubleClick:function(n){n.stopPropagation(),t.props.onSelect?t.props.filterFiles&&!t.props.filterFiles.includes(e.ext)||t.state.filterByType&&!P.EXTENSIONS[t.state.filterByType].includes(e.ext)||t.props.onSelect(e.id,!0,!!t.state.folders[e.id]):t.setState({viewer:t.imagePrefix+e.id,formatEditFile:o})},onClick:function(n){return t.select(e.id,n)},style:this.state.viewType===Z?{marginLeft:r,width:"calc(100% - ".concat(r,"px)")}:{},className:E.default.clsx("browserItem",this.props.classes["item".concat(this.state.viewType)],this.props.classes["itemFile".concat(this.state.viewType)],this.state.selected===e.id&&this.props.classes.itemSelected)},P.EXTENSIONS.images.includes(o)?this.state.fileErrors.includes(e.id)?v.default.createElement(A.default,{className:E.default.clsx(this.props.classes["itemImage".concat(this.state.viewType)],this.getClassBackgroundImage())}):v.default.createElement("img",{onError:function(n){n.target.onerror=null;var r=(0,l.default)(t.state.fileErrors);r.includes(e.id)||(r.push(e.id),t.setState({fileErrors:r}))},className:E.default.clsx(this.props.classes["itemImage".concat(this.state.viewType)],this.getClassBackgroundImage()),src:this.imagePrefix+e.id,alt:e.name}):this.getFileIcon(o),v.default.createElement("div",{className:this.props.classes["itemName".concat(this.state.viewType)]},e.name),v.default.createElement(x.Hidden,{smDown:!0},this.formatSize(e.size)),v.default.createElement(x.Hidden,{smDown:!0},this.state.viewType===Z&&this.props.expertMode?this.formatAcl(e.acl):null),v.default.createElement(x.Hidden,{smDown:!0},this.state.viewType===Z&&this.props.expertMode&&n.getEditFile(o)?v.default.createElement(x.IconButton,{"aria-label":"edit",onClick:function(n){n.stopPropagation(),t.props.onSelect?t.props.filterFiles&&!t.props.filterFiles.includes(e.ext)||t.state.filterByType&&!P.EXTENSIONS[t.state.filterByType].includes(e.ext)||t.props.onSelect(e.id,!0,!!t.state.folders[e.id]):t.setState({viewer:t.imagePrefix+e.id,formatEditFile:o})},className:this.props.classes["itemDeleteButton".concat(this.state.viewType)],size:"large"},v.default.createElement(C.Edit,{fontSize:"small"})):v.default.createElement("div",{className:this.props.classes["itemDeleteButton".concat(this.state.viewType)]})),this.state.viewType===Z&&this.props.allowDownload?v.default.createElement("a",{className:E.default.clsx("MuiButtonBase-root","MuiIconButton-root","MuiIconButton-sizeLarge",this.props.classes.itemDownloadButtonTable),tabIndex:"0",download:e.id,href:this.imagePrefix+e.id,onClick:function(e){e.stopPropagation()}},v.default.createElement(C.SaveAlt,null)):null,this.state.viewType===Z&&this.props.allowDelete&&"vis.0/"!==e.id&&"vis-2.0/"!==e.id&&e.id!==z?v.default.createElement(x.IconButton,{"aria-label":"delete",onClick:function(n){n.stopPropagation(),t.suppressDeleteConfirm>Date.now()?t.deleteItem(e.id):t.setState({deleteItem:e.id})},className:this.props.classes["itemDeleteButton".concat(this.state.viewType)],size:"large"},v.default.createElement(C.Delete,{fontSize:"small"})):this.state.viewType===Z&&this.props.allowDelete?v.default.createElement("div",{className:this.props.classes["itemDeleteButton".concat(this.state.viewType)]}):null)}},{key:"renderItems",value:function(e){var t=this;if(this.state.folders&&this.state.folders[e]){if(this.state.viewType===U){var n=[];return e&&"/"!==e&&n.push(this.renderBackFolder()),this.state.folders[e].forEach((function(e){e.folder?n.push(t.renderFolder(e)):t.props.filterFiles&&!t.props.filterFiles.includes(e.ext)||t.state.filterByType&&!P.EXTENSIONS[t.state.filterByType].includes(e.ext)||n.push(t.renderFile(e))})),n}return this.state.folders[e].map((function(e){var n=[];if(e.folder){var r=t.state.expanded.includes(e.id);n.push(t.renderFolder(e,r)),t.state.folders[e.id]&&r&&n.push(t.renderItems(e.id))}else{if(t.props.filterFiles&&!t.props.filterFiles.includes(e.ext)||t.state.filterByType&&!P.EXTENSIONS[t.state.filterByType].includes(e.ext))return null;n.push(t.renderFile(e))}return n}))}return v.default.createElement("div",{style:{position:"relative"}},v.default.createElement(x.CircularProgress,{key:e,color:"secondary",size:24}),v.default.createElement("div",{style:{position:"absolute",zIndex:2,top:4,width:24,textAlign:"center"}},this.state.queueLength))}},{key:"renderToolbar",value:function(){var e=this,t=this.props.showTypeSelector?L[this.state.filterByType||"all"]||L.all:null,n=this.findFirstFolder(this.state.selected);return v.default.createElement(x.Toolbar,{key:"toolbar",variant:"dense"},this.props.allowNonRestricted&&this.props.restrictToFolder?v.default.createElement(x.IconButton,{edge:"start",title:this.state.restrictToFolder?this.props.t("ra_Show all folders"):this.props.t("ra_Restrict to folder"),className:E.default.clsx(this.props.classes.menuButton,this.state.restrictToFolder&&this.props.classes.menuButtonRestrictActive),"aria-label":"restricted to folder",onClick:function(){return e.setState({restrictToFolder:e.state.restrictToFolder?"":e.props.restrictToFolder,loadAllFolders:!0})},size:"small"},v.default.createElement(C.FolderSpecial,{fontSize:"small"})):null,this.props.showExpertButton?v.default.createElement(x.IconButton,{edge:"start",title:this.props.t("ra_Toggle expert mode"),className:E.default.clsx(this.props.classes.menuButton,this.state.expertMode&&this.props.classes.menuButtonExpertActive),"aria-label":"expert mode",onClick:function(){return e.setState({expertMode:!e.state.expertMode})},size:"small"},v.default.createElement(k.default,{fontSize:"small"})):null,this.props.showViewTypeButton?v.default.createElement(x.IconButton,{edge:"start",title:this.props.t("ra_Toggle view mode"),className:this.props.classes.menuButton,"aria-label":"view mode",onClick:function(){var t=e.state.viewType===Z?U:Z;(window._localStorage||window.localStorage).setItem("files.viewType",t);var n=e.state.selected;H(n)&&(n=W(n)),e.setState({viewType:t,currentDir:n},(function(){e.state.viewType===Z&&e.scrollToSelected()}))},size:"small"},this.state.viewType!==Z?v.default.createElement(C.List,{fontSize:"small"}):v.default.createElement(C.ViewModule,{fontSize:"small"})):null,v.default.createElement(x.IconButton,{edge:"start",title:this.props.t("ra_Hide empty folders"),className:this.props.classes.menuButton,color:this.state.filterEmpty?"secondary":"inherit","aria-label":"filter empty",onClick:function(){(window._localStorage||window.localStorage).setItem("file.empty",!e.state.filterEmpty),e.setState({filterEmpty:!e.state.filterEmpty})},size:"small"},v.default.createElement(C.FolderOpen,{fontSize:"small"})),v.default.createElement(x.IconButton,{edge:"start",title:this.props.t("ra_Reload files"),className:this.props.classes.menuButton,color:"inherit","aria-label":"reload files",onClick:function(){return e.setState({folders:{}},(function(){return e.loadFolders()}))},size:"small"},v.default.createElement(C.Refresh,{fontSize:"small"})),this.props.allowCreateFolder?v.default.createElement(x.IconButton,{edge:"start",disabled:!this.state.selected||!n||this.limitToPath&&!this.state.selected.startsWith("".concat(this.limitToPath,"/"))&&this.limitToPath!==this.state.selected,title:this.props.t("ra_Create folder"),className:this.props.classes.menuButton,color:"inherit","aria-label":"add folder",onClick:function(){return e.setState({addFolder:!0})},size:"small"},v.default.createElement(C.CreateNewFolder,{fontSize:"small"})):null,this.props.allowUpload?v.default.createElement(x.IconButton,{edge:"start",disabled:!this.state.selected||!n||this.limitToPath&&!this.state.selected.startsWith("".concat(this.limitToPath,"/"))&&this.limitToPath!==this.state.selected,title:this.props.t("ra_Upload file"),className:this.props.classes.menuButton,color:"inherit","aria-label":"upload file",onClick:function(){return e.setState({uploadFile:!0})},size:"small"},v.default.createElement(C.Publish,{fontSize:"small"})):null,this.props.showTypeSelector?v.default.createElement(x.Tooltip,{title:this.props.t("ra_Filter files")},v.default.createElement(x.IconButton,{size:"small",onClick:function(t){return e.setState({showTypesMenu:t.target})}},v.default.createElement(t,{fontSize:"small"}))):null,this.state.showTypesMenu?v.default.createElement(x.Menu,{open:!0,anchorEl:this.state.showTypesMenu,onClose:function(){return e.setState({showTypesMenu:null})}},Object.keys(L).map((function(t){var n=L[t];return v.default.createElement(x.MenuItem,{key:t,selected:e.state.filterByType===t,onClick:function(){"all"===t?((window._localStorage||window.localStorage).removeItem("files.filterByType"),e.setState({filterByType:"",showTypesMenu:null})):((window._localStorage||window.localStorage).setItem("files.filterByType",t),e.setState({filterByType:t,showTypesMenu:null}))}},v.default.createElement(x.ListItemIcon,null,v.default.createElement(n,{fontSize:"small"})),v.default.createElement(x.ListItemText,null,e.props.t("ra_fileType_".concat(t))))}))):null,v.default.createElement(x.Tooltip,{title:this.props.t("ra_Background image")},v.default.createElement(x.IconButton,{color:"inherit",edge:"start",className:this.props.classes.menuButton,onClick:this.setStateBackgroundImage,size:"small"},v.default.createElement(C.Brightness6,{fontSize:"small"}))),this.state.viewType!==Z&&this.props.allowDelete?v.default.createElement(x.Tooltip,{title:this.props.t("ra_Delete")},v.default.createElement("span",null,v.default.createElement(x.IconButton,{"aria-label":"delete",disabled:!this.state.selected||"vis.0/"===this.state.selected||"vis-2.0/"===this.state.selected||this.state.selected===z,color:"inherit",edge:"start",className:this.props.classes.menuButton,onClick:function(t){t.stopPropagation(),e.suppressDeleteConfirm>Date.now()?e.deleteItem(e.state.selected):e.setState({deleteItem:e.state.selected})},size:"small"},v.default.createElement(C.Delete,{fontSize:"small"})))):null)}},{key:"findItem",value:function(e,t){if(!(t=t||this.state.folders))return null;var n=e.split("/");n.pop();var r=n.join("/")||"/";return t[r]?t[r].find((function(t){return t.id===e})):null}},{key:"renderInputDialog",value:function(){var e=this;if(this.state.addFolder){var t=this.findFirstFolder(this.state.selected);return t?v.default.createElement(S.default,{key:"inputDialog",applyText:this.props.t("ra_Create"),cancelText:this.props.t("ra_Cancel"),titleText:this.props.t("ra_Create new folder in %s",this.state.selected),promptText:this.props.t("ra_If no file will be created in the folder, it will disappear after the browser closed"),labelText:this.props.t("ra_Folder name"),verify:function(n){return e.state.folders[t].find((function(e){return e.name===n}))?"":e.props.t("ra_Duplicate name")},onClose:function(n){if(n){var r={};Object.keys(e.state.folders).forEach((function(t){return r[t]=e.state.folders[t]}));var o=e.findItem(t),a="".concat(t,"/").concat(n);r[t].push({id:a,level:o.level+1,name:n,folder:!0,temp:!0}),r[t].sort(V),r[a]=[];var i=(0,l.default)(e.state.expanded);i.includes(t)||(i.push(t),i.sort()),(window._localStorage||window.localStorage).setItem("files.expanded",JSON.stringify(i)),e.setState({addFolder:!1,folders:r,expanded:i},(function(){return e.select(a)}))}else e.setState({addFolder:!1})},replace:function(e){return e.replace(/[^-_\w\d]/,"_")}}):window.alert(this.props.t("ra_Invalid parent folder!"))}return null}},{key:"componentDidUpdate",value:function(){var e=this;this.setOpacityTimer&&clearTimeout(this.setOpacityTimer),this.setOpacityTimer=setTimeout((function(){e.setOpacityTimer=null;for(var t=window.document.getElementsByClassName("browserItem"),n=0;n<t.length;n++)t[n].style.opacity=1}),100)}},{key:"uploadFile",value:function(e,t){var n=e.split("/"),r=n.shift();return this.props.socket.writeFile64(r,n.join("/"),t).catch((function(e){return window.alert("Cannot write file: ".concat(e))}))}},{key:"findFirstFolder",value:function(e){var t=e,n=this.findItem(t);if(n&&!n.folder){var r=t.split("/");for(r.pop(),t="";r.length;){var o=this.findItem(r.join("/"));if(o&&o.folder){t=r.join("/");break}}}return t}},{key:"renderUpload",value:function(){var e=this;return this.state.uploadFile?[v.default.createElement(x.Fab,{key:"close",color:"primary","aria-label":"close",className:this.props.classes.uploadCloseButton,onClick:function(){return e.setState({uploadFile:!1})}},v.default.createElement(C.Close,null)),v.default.createElement(w.default,{key:"dropzone",onDragEnter:function(){return e.setState({uploadFile:"dragging"})},onDragLeave:function(){return e.setState({uploadFile:!0})},onDrop:function(t){var n=t.length;t.forEach((function(t){var r=new FileReader;r.onabort=function(){return console.log("file reading was aborted")},r.onerror=function(){return console.log("file reading has failed")},r.onload=function(){var o=e.findFirstFolder(e.state.selected);if(o){var a="".concat(o,"/").concat(t.name);e.uploadFile(a,r.result).then((function(){--n||e.setState({uploadFile:!1},(function(){if(e.supportSubscribes){var t=(0,l.default)(e.state.expanded);t.includes(o)||(t.push(o),t.sort(),(window._localStorage||window.localStorage).setItem("files.expanded",JSON.stringify(t))),e.setState({expanded:t},(function(){return e.select(a)}))}else setTimeout((function(){return e.browseFolder(o,!0).then((function(t){var n=(0,l.default)(e.state.expanded);n.includes(o)||(n.push(o),n.sort(),(window._localStorage||window.localStorage).setItem("files.expanded",JSON.stringify(n))),e.setState({folders:t,expanded:n},(function(){return e.select(a)}))}))}),500)}))}))}else window.alert(e.props.t("ra_Invalid parent folder!"))},r.readAsArrayBuffer(t)}))}},(function(t){var n=t.getRootProps,r=t.getInputProps;return v.default.createElement("div",(0,i.default)({className:E.default.clsx(e.props.classes.uploadDiv,"dragging"===e.state.uploadFile&&e.props.classes.uploadDivDragging)},n()),v.default.createElement("input",r()),v.default.createElement("div",{className:e.props.classes.uploadCenterDiv},v.default.createElement("div",{className:e.props.classes.uploadCenterTextAndIcon},v.default.createElement(C.Publish,{className:e.props.classes.uploadCenterIcon}),v.default.createElement("div",{className:e.props.classes.uploadCenterText},"dragging"===e.state.uploadFile?e.props.t("ra_Drop file here"):e.props.t("ra_Place your files here or click here to open the browse dialog")))))}))]:null}},{key:"deleteRecursive",value:function(e){var t=this,n=this.findItem(e);if(n.folder)return(this.state.folders[e]?Promise.all(this.state.folders[e].map((function(e){return t.deleteRecursive(e.id)}))):Promise.resolve()).then((function(){if(n.level>=1){var r=e.split("/"),o=r.shift();t.props.socket.deleteFolder(o,r.join("/")).then((function(){var e=JSON.parse(JSON.stringify(t.state.folders));delete e[n.id];var r=W(n.id),o=e[r];if(o){var a=o.indexOf(o.find((function(e){return e.id===n.id})));-1!==a&&o.splice(a,1),t.select(r,(function(){return t.setState({folders:e})}))}}))}}));var r=e.split("/"),o=r.shift();return r.length?this.props.socket.deleteFile(o,r.join("/")).catch((function(e){return window.alert("Cannot delete file: ".concat(e))})):Promise.resolve()}},{key:"deleteItem",value:function(e){var t=this;e=e||this.state.deleteItem,this.setState({deleteItem:""},(function(){return t.deleteRecursive(e).then((function(){var n={},r=t.state.expanded.indexOf(e);if(-1!==r){var o=(0,l.default)(t.state.expanded);o.splice(r,1),(window._localStorage||window.localStorage).setItem("files.expanded",JSON.stringify(o)),n.expanded=o}if(t.state.selected===e){var a=t.state.selected.split("/");a.pop(),n.selected=a.join("/")}if(t.supportSubscribes)t.setState(n);else{var i=t.findFirstFolder(e),s={};Object.keys(t.state.folders).forEach((function(e){e===i||e.startsWith("".concat(i,"/"))||(s[e]=t.state.folders[e])})),n.folders=s,t.setState(n,(function(){return setTimeout((function(){return t.browseFolders((0,l.default)(t.state.expanded),s).then((function(e){return t.setState({folders:e})}))}),200)}))}}))}))}},{key:"renderDeleteDialog",value:function(){var e=this;return!!this.state.deleteItem&&v.default.createElement(x.Dialog,{key:"deleteDialog",open:!0,onClose:function(){return e.setState({deleteItem:""})},"aria-labelledby":"ar_dialog_file_delete_title"},v.default.createElement(x.DialogTitle,{id:"ar_dialog_file_delete_title"},this.props.t("ra_Confirm deletion of %s",this.state.deleteItem.split("/").pop())),v.default.createElement(x.DialogContent,null,v.default.createElement(x.DialogContentText,null,this.props.t("ra_Are you sure?"))),v.default.createElement(x.DialogActions,null,v.default.createElement(x.Button,{color:"grey",variant:"contained",onClick:function(){e.suppressDeleteConfirm=Date.now()+3e5,e.deleteItem()}},this.props.t("ra_Delete (no confirm for 5 mins)")),v.default.createElement(x.Button,{variant:"contained",onClick:function(){return e.deleteItem()},color:"primary",autoFocus:!0},this.props.t("ra_Delete")),v.default.createElement(x.Button,{variant:"contained",onClick:function(){return e.setState({deleteItem:""})},color:"grey"},this.props.t("ra_Cancel"))))}},{key:"renderViewDialog",value:function(){var e=this;return this.state.viewer?v.default.createElement(P.default,{supportSubscribes:this.supportSubscribes,key:this.state.viewer,href:this.state.viewer,formatEditFile:this.state.formatEditFile,themeType:this.props.themeType,setStateBackgroundImage:this.setStateBackgroundImage,getClassBackgroundImage:this.getClassBackgroundImage,t:this.props.t,socket:this.props.socket,lang:this.props.lang,expertMode:this.state.expertMode,onClose:function(){return e.setState({viewer:"",formatEditFile:""})}}):null}},{key:"renderError",value:function(){var e=this;return this.state.errorText?v.default.createElement(D.default,{classes:{},key:"errorDialog",text:this.state.errorText,onClose:function(){return e.setState({errorText:""})}}):null}},{key:"updateItemsAcl",value:function(e){var t,n=this;this.cacheFolders=this.cacheFolders||JSON.parse(JSON.stringify(this.state.folders)),e.forEach((function(e){var r=n.findItem(e.id,n.cacheFolders);r&&JSON.stringify(r.acl)!==JSON.stringify(e.acl)&&(r.acl=e.acl,t=!0)})),t&&(this.cacheFoldersTimeout&&clearTimeout(this.cacheFoldersTimeout),this.cacheFoldersTimeout=setTimeout((function(){n.cacheFoldersTimeout=null;var e=n.cacheFolders;n.cacheFolders=null,n.setState({folders:e})}),200))}},{key:"changeToPath",value:function(){var e=this;setTimeout((function(){if(e.state.path!==e.state.selected&&(!e.lastSelect||Date.now()-e.lastSelect>100)){var t=e.state.path;H(e.state.path)&&(t=W(e.state.path)),new Promise((function(n){e.state.folders[t]?n(!0):e.browseFolder(t).then((function(t){return e.setState({folders:t},(function(){return n(!0)}))})).catch((function(n){return e.setState({errorText:n===R?e.props.t('ra_Cannot find "%s"',t):e.props.t('ra_Cannot read "%s"',t)})}))})).then((function(n){return n&&e.setState({selected:e.state.path,currentDir:t,pathFocus:!1})}))}else(!e.lastSelect||Date.now()-e.lastSelect>100)&&e.setState({pathFocus:!1})}),100)}},{key:"renderBreadcrumb",value:function(){var e=this,t=this.state.currentDir.startsWith("/")?this.state.currentDir.split("/"):"/".concat(this.state.currentDir).split("/"),n=[];return v.default.createElement(x.Breadcrumbs,{style:{paddingLeft:8}},t.map((function(r,o){r&&n.push(r);var a=n.join("/");return o<t.length-1?v.default.createElement("div",{key:"".concat(e.state.selected,"_").concat(o),className:e.props.classes.pathDivBreadcrumbDir,onClick:function(t){return e.changeFolder(t,a||"/")}},r||e.props.t("ra_Root")):v.default.createElement("div",{className:e.props.classes.pathDivBreadcrumbSelected,key:"".concat(e.state.selected,"_").concat(o),onClick:function(){return e.setState({pathFocus:!0})}},r)})))}},{key:"renderPath",value:function(){var e=this;return v.default.createElement("div",{key:"path",className:this.props.classes.pathDiv},this.state.pathFocus?v.default.createElement(x.Input,{value:this.state.path,onKeyDown:function(t){13===t.keyCode?e.changeToPath():27===t.keyCode&&e.setState({pathFocus:!1})},endAdornment:v.default.createElement(x.IconButton,{size:"small",onClick:function(){return e.changeToPath()}},v.default.createElement(C.KeyboardReturn,null)),onBlur:function(){return e.changeToPath()},onChange:function(t){return e.setState({path:t.target.value})},className:this.props.classes.pathDivInput}):this.renderBreadcrumb())}},{key:"render",value:function(){var e=this;return this.props.ready?(this.state.loadAllFolders&&!this.foldersLoading&&(this.foldersLoading=!0,setTimeout((function(){e.setState({loadAllFolders:!1,folders:{}},(function(){e.foldersLoading=!1,e.loadFolders()}))}),300)),v.default.createElement("div",{style:this.props.style,className:E.default.clsx(this.props.classes.root,this.props.className)},this.props.showToolbar?this.renderToolbar():null,this.state.viewType===U?this.renderPath():null,v.default.createElement("div",{className:E.default.clsx(this.props.classes.filesDiv,this.props.classes["filesDiv".concat(this.state.viewType)]),onClick:function(t){e.state.viewType!==Z&&(e.state.selected!==(e.state.currentDir||"/")?e.changeFolder(t,e.state.currentDir||"/"):t.stopPropagation())}},this.state.viewType===