1"use strict";(globalThis.webpackChunkPlesk=globalThis.webpackChunkPlesk||[]).push([["views/smb/file-manager/code-editor"],{1836(e,t,a){a.r(t),a.d(t,{atobUnicode:()=>r,btoaUnicode:()=>n});const n=e=>btoa((e=>{const t=new Uint16Array(e.length);for(let a=0;a<t.length;a++)t[a]=e.charCodeAt(a);return String.fromCharCode(...new Uint8Array(t.buffer))})(e)),r=e=>(e=>{const t=new Uint8Array(e.length);for(let a=0;a<t.length;a++)t[a]=e.charCodeAt(a);return String.fromCharCode(...new Uint16Array(t.buffer))})(atob(e))},1842(e,t,a){a.r(t),a.d(t,{default:()=>c});var n=a(397),r=a(787),s=a.n(r),o=a(803),i=a.n(o),l=a(396);const d=({className:e="",readonly:t=!1,autoFocus:a=!0,children:r="",onInit:s=null,onChange:o=null,onSave:d,fileName:c,...u})=>(0,l.jsx)("div",{className:i()("file-manager__code-editor",e),...u,children:(0,l.jsx)(n.CodeEditor,{fileName:c,autofocus:a,readOnly:t,onInit:s,onChange:o,onSave:d,children:r})});d.propTypes={children:s().any,className:s().string,readonly:s().bool,autoFocus:s().bool,onInit:s().func,onChange:s().func,onSave:s().func.isRequired,fileName:s().string.isRequired};const c=d},1838(e,t,a){a.r(t),a.d(t,{default:()=>w});var n=a(396),r=a(787),s=a.n(r),o=a(397),i=a(95),l=a(806),d=a(672),c=a(1839),u=a(1855),m=a(1856),h=a(1836),p=a(663);const f=(0,n.memo)(c.default),g=e=>{switch(e){case d.MODE_EDIT:return(0,n.jsx)(o.Translate,{content:"titleTextEditor"});case d.MODE_CODE:return(0,n.jsx)(o.Translate,{content:"titleCodeEditor"});case d.MODE_SHOW:return(0,n.jsx)(o.Translate,{content:"titleCodeViewer"});case d.MODE_HTML:return(0,n.jsx)(o.Translate,{content:"titleHtmlEditor"});default:return}},v=({domainId:e,currentDir:t,file:a,line:r,type:s,mode:c,isOpen:h,onClose:v,handleReload:y,commonToaster:b=!1,plainForm:w=!1,editorHeight:x,onCancel:C})=>{const[j,S]=(0,n.useState)(c),[D,R]=(0,n.useState)(),[I,E]=(0,n.useState)(),[T,O]=(0,n.useState)(),[k,P]=(0,n.useState)(!1),[M,$]=(0,n.useState)(null),_=(0,l.useCollector)(),q=(0,n.useRef)(),L=(0,n.useRef)(e=>e),F=(({mode:e,domainId:t,currentDir:a,file:n,codepage:r})=>{const s=new URLSearchParams;return s.set("currentDir",a),s.set("file",n),r&&s.set("load_codepage",r),`/smb/file-manager/${e}/domainId/${t}/?${s}`})({domainId:e,currentDir:t,file:a,mode:j,codepage:T});(0,n.useLayoutEffect)(()=>{h&&(S(c),E(void 0),O(void 0))},[h,c]),(0,n.useEffect)(()=>{let e=e=>{E(e)};return h&&(e=>i.api.get(e))(F).then(t=>{e(t)}).catch($),()=>{e=()=>{}}},[F,h]);const N=(0,n.useCallback)(e=>{b?(0,p.addToast)(e):q.current.add(e)},[b]),H=(0,n.useCallback)(async(e,t)=>{let a;R(t?"apply":"submit"),e={..._.collect(),...e};try{a=await((e,t)=>{const a=new FormData;return Object.keys(t).forEach(e=>{a.append(e,t[e])}),i.api.post(e,a)})(F,e)}catch(e){return void N({intent:"danger",message:e.message})}finally{R(void 0)}const{status:r,message:s,statusMessages:o}=a;if("confirmationRequired"===r)return r;"error"===r?o.forEach(({content:e})=>{N({intent:"danger",message:(0,n.jsx)("span",{dangerouslySetInnerHTML:{__html:e}}),role:"alert"})}):(N({intent:r||"success",message:s,role:"status"}),t?E(t=>({...t,content:e.content})):v(),e.saveAs&&y())},[F,_,N,v,y]),B=(0,n.useCallback)(()=>{const{content:e}=_.collect()||{},{content:t}=I||{},a=L.current;a(t)!==a(e)?P(!0):v()},[_,I,v]),z=()=>{if(!I)return{submitButton:!1,applyButton:!1,cancelButton:!1};if("error"===I.status)return{submitButton:!1,applyButton:!1,cancelButton:!0};let e={submitButton:!1,applyButton:!1,cancelButton:{children:(0,n.jsx)(o.Translate,{content:"buttonCancel"}),"data-action":"cancel",onClick:C??B}};if(j===d.MODE_SHOW)I.readonly||(e={...e,additionalButtons:[(0,n.jsx)(o.Button,{onClick:()=>{E(void 0),S(d.MODE_CODE)},"data-action":"editInCodeEditor",children:(0,n.jsx)(o.Translate,{content:"buttonCodeEditor"})},"code"),(0,n.jsx)(o.Button,{onClick:()=>{E(void 0),S(d.MODE_EDIT)},"data-action":"editInTextEditor",children:(0,n.jsx)(o.Translate,{content:"buttonTextEditor"})},"text")]});else e={...e,submitButton:{children:(0,n.jsx)(o.Translate,{content:"buttonSubmit"}),"data-action":"submit"},applyButton:{children:(0,n.jsx)(o.Translate,{content:"buttonApply"}),intent:void 0,"data-action":"apply"},additionalButtons:[(0,n.jsx)(u.default,{onSubmit:H,disabled:Boolean(D)},"1")]};return e},U=(0,n.useRef)(H);(0,n.useEffect)(()=>{U.current=H},[H]);const A=(0,n.useCallback)(()=>U.current({},!0),[]),K=(0,n.useCallback)(e=>{L.current=e},[]),W=()=>M?(0,n.jsx)(o.StatusMessage,{intent:"danger",children:M.message}):I?"error"===I.status?(0,n.jsx)(o.StatusMessage,{intent:"danger",children:I.message}):(0,n.jsx)(f,{...I,domainId:e,currentDir:t,cursor:r?{line:r}
1:void 0,fileName:a,onCodepageChange:O,collector:_,onSave:A,registerSanitizer:K,handleAddToast:N,handleReload:y,editorHeight:x}):(0,n.jsx)(o.ContentLoader,{}),V=(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(m.default,{isOpen:k,onConfirm:()=>{v(),P(!1)},onCancel:()=>P(!1)}),!b&&(0,n.jsx)(o.Toaster,{ref:q,"data-type":"toaster"})]});return w?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.Form,{state:D,...z(),onSubmit:H,onClose:B,children:W()}),V]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.Drawer,{id:`file-editor-${j}`,"data-type":"editor",isOpen:h,size:"lg",title:g(j),subtitle:(0,n.jsx)("div",{className:"permissions__subtitle",children:(0,n.jsxs)("span",{children:[(0,n.jsx)(o.Icon,{src:(0,d.getTypeIcon)({type:s,name:a,isDirectory:!1}),size:"24"})," ",a]})}),form:{state:D,...z(),onSubmit:H},onClose:B,children:W()}),V]})};v.propTypes={domainId:s().string.isRequired,currentDir:s().string.isRequired,file:s().string.isRequired,type:s().string.isRequired,line:s().string,mode:s().oneOf([d.MODE_EDIT,d.MODE_CODE,d.MODE_SHOW,d.MODE_HTML]).isRequired,isOpen:s().bool.isRequired,onClose:s().func.isRequired,handleReload:s().func.isRequired,commonToaster:s().bool,plainForm:s().bool,editorHeight:s().number,onCancel:s().func};const y=()=>{},b=({queryParams:e="",onClose:t=y,...a})=>{const{messages:r}=i.Locale.getSection("smb.components.forms.file-manager.editor"),[s,d]=(0,l.useModal)("editor");let c,u,m,p,f;try{({mode:c,currentDir:u,file:m,type:p,line:f}=JSON.parse((0,h.atobUnicode)(s??e)))}catch{}const g=(0,n.useCallback)(()=>{e?t?.(u):d(!1)},[d,e,t,u]),b=Boolean(c&&u&&m&&p);return b?(0,n.jsx)(o.LocaleBetaProvider,{messages:r,children:(0,n.jsx)(v,{isOpen:b,mode:c,currentDir:u,file:m,line:f,type:p,onClose:g,queryParams:e,...a})}):null};b.propTypes={queryParams:s().string,onClose:s().func};const w=b},1856(e,t,a){a.r(t),a.d(t,{default:()=>l});var n=a(787),r=a.n(n),s=a(397),o=a(396);const i=({isOpen:e,onConfirm:t,onCancel:a})=>(0,o.jsx)(s.Dialog,{size:"xs",isOpen:e,cancelButton:!1,onClose:a,buttons:[(0,o.jsx)(s.Button,{onClick:t,children:(0,o.jsx)(s.Translate,{content:"exitConfirmationYes"})},"yes"),(0,o.jsx)(s.Button,{intent:"primary",onClick:a,children:(0,o.jsx)(s.Translate,{content:"exitConfirmationNo"})},"no")],"data-type":"exitDialog",children:(0,o.jsx)(s.Paragraph,{children:(0,o.jsx)(s.Translate,{content:"exitConfirmation"})})});i.propTypes={isOpen:r().bool.isRequired,onConfirm:r().func.isRequired,onCancel:r().func.isRequired};const l=i},1839(e,t,a){a.r(t),a.d(t,{default:()=>f});var n=a(397),r=a(396),s=a(787),o=a.n(s),i=a(803),l=a.n(i),d=a(95),c=a(1840),u=a(1842),m=a(1843),h=a(672);a(1854);const p=({content:e,codepage:t="",eol:a,collector:s,cursor:o=null,domainId:i,currentDir:p,mode:f,readonly:g=!1,codepageList:v={},eolList:y,onCodepageChange:b=null,fileName:w=null,onSave:x,registerSanitizer:C,handleAddToast:j,handleReload:S,wwwRootPath:D,editorHeight:R=null})=>{const[I,E]=(0,r.useState)(e),[T,O]=(0,r.useState)(t),[k,P]=(0,r.useState)(t),[M,$]=(0,r.useState)(a),_=(0,r.useRef)(null),q=(0,r.useRef)(()=>({}));(0,r.useEffect)(()=>{E(e)},[e]);const L=()=>
1{if(!_.current)return;const{parentNode:e}=_.current;if(R)_.current.style.height=`${R}px`;else{let t=_.current.closest(".pul-drawer__body").offsetHeight;t-=32,e.childNodes.forEach(e=>{if(e===_.current)return;const a=window.getComputedStyle(e);t-=e.offsetHeight+parseInt(a["margin-top"])+parseInt(a["margin-bottom"])}),_.current.style.height=`${t>300?t:300}px`}},F=(0,r.useCallback)(()=>{L()},[]);(0,r.useEffect)(()=>{L()},[R]);const N=e=>{if(_.current=e,_.current){window.addEventListener("resize",F),L();const t=e.CodeMirror;if(o&&t){const{line:e}=o,{top:a}=t.charCoords({line:e-1-2,ch:0},"local");t.scrollTo(null,a),t.setCursor(e-1,0)}t&&t.refresh()}},H=e=>{E(e)},B=(0,r.useRef)({content:I,codepage:T,saveCodepage:k,eol:M});B.current={content:I,codepage:T,saveCodepage:k,eol:M},(0,r.useEffect)(()=>{s.setCallback(()=>({...B.current,...q.current()}))},[s]),(0,r.useEffect)(()=>()=>{window.removeEventListener("resize",F)},[F]);const z=v?Object.keys(v).map(e=>({key:e,value:v[e]})):null,U=y?Object.keys(y).map(e=>({key:e,value:y[e]})):null;return(0,r.jsx)(n.LocaleBetaProvider,{messages:d.Locale.getSection("smb.controllers.file-manager.form").messages,children:(0,r.jsxs)("div",{className:l()("file-manager"),children:[(f===h.MODE_SHOW||f===h.MODE_EDIT)&&(0,r.jsxs)("fieldset",{children:[(0,r.jsx)("legend",{children:(0,r.jsx)(n.Translate,{content:"loadCodepage"})}),(0,r.jsx)("select",{value:T,onChange:e=>{O(e.target.value)},children:z.map(({key:e,value:t})=>(0,r.jsx)("option",{value:e,children:t},e))}),"Â ",(0,r.jsx)(n.Button,{onClick:()=>b(T),children:(0,r.jsx)(n.Translate,{content:"buttonReload"})}),(0,r.jsx)("p",{className:"hint",children:(0,r.jsx)(n.Translate,{content:"loadCodepageHint"})})]}),(f===h.MODE_SHOW||f===h.MODE_EDIT)&&(0,r.jsx)(c.default,{id:"code",rows:25,cols:80,readonly:f===h.MODE_SHOW||g,onInit:N,onChange:H,onSave:x,autoFocus:f===h.MODE_EDIT,children:I}),f===h.MODE_CODE&&(0,r.jsx)(u.default,{id:"code",rows:25,cols:80,readonly:g,onInit:N,onChange:H,onSave:x,fileName:w,children:I}),f===h.MODE_HTML&&(0,r.jsx)(m.default,{domainId:i,currentDir:p,wwwRootPath:D,readonly:g,onInit:N,onChange:H,onSave:x,registerSanitizer:C,getSavingValueRef:q,handleAddToast:j,handleReload:S,children:e}),f===h.MODE_EDIT&&(0,r.jsxs)("div",{className:"form-row",children:[(0,r.jsx)("div",{className:"field-name",children:(0,r.jsx)("label",{htmlFor:"saveCodepage",children:(0,r.jsx)(n.Translate,{content:"saveCodepage"})})}),(0,r.jsx)("div",{className:"field-value",children:(0,r.jsx)("select",{id:"saveCodepage",value:k,onChange:e=>{P(e.target.value)},children:z.map(({key:e,value:t})=>(0,r.jsx)("option",{value:e,children:t},e))})})]}),f===h.MODE_EDIT&&(0,r.jsxs)("div",{className:"form-row",children:[(0,r.jsx)("div",{className:"field-name",children:(0,r.jsx)("label",{htmlFor:"eol",children:(0,r.jsx)(n.Translate,{content:"eolLabel"})})}),(0,r.jsx)("div",{className:"field-value",children:(0,r.jsx)("select",{id:"eol",value:M,onChange:e=>{$(e.target.value)},children:U.map(({key:e,value:t})=>(0,r.jsx)("option",{value:e,children:t},e))})})]})]})})};p.propTypes={domainId:o().string.isRequired,currentDir:o().string.isRequired,wwwRootPath:o().string.isRequired,mode:o().oneOf([h.MODE_SHOW,h.MODE_EDIT,h.MODE_CODE,h.MODE_HTML]).isRequired,content:o().string.isRequired,readonly:o().bool,codepage:o().string,codepageList:o().object,eol:o().string.isRequired,eolList:o().object.isRequired,cursor:o().shape({line:o().number.isRequired}),collector:o().shape({setCallback:o().func.isRequired}).isRequired,onCodepageChange:o().func,fileName:o().string,onSave:o().func.isRequired,registerSanitizer:o().func.isRequired,handleAddToast:o().func.isRequired,handleReload:o().func.isRequired,editorHeight:o().number};const f=p},1844(e,t,a){a.r(t),a.d(t,{default:()=>g});var n=a(396),r=a(462),s=a(397),o=a(1845),i=a(1846),l=a(1848),d=a(1849),c=a(1850),u=a(1851),m=a(1852),h=a(1847),p=a(95);a(1853);const f=p.Locale.getSection("smb.components.forms.file-manager.html-editor.toolbar"),g=({domainId:e,currentDir:t,wwwRootPath:p,readonly:g=!1,onInit:v,onChange:y,onSave:b,registerSanitizer:w,getSavingValueRef:x,handleAddToast:C,handleReload:j,children:S})=>{const D=(0,n.lazy)(()=>a.e("jodit-editor").then(a.t.bind(a,3323,23)).then(e=>((0,l.initJodit)(e.Jodit,t),{default:e.default}))),R=(0,n.useRef)(null),I=(0,n.useCallback)(e=>{R.current=e},[]),E=(0,n.useRef)(null),T=document.documentElement.getAttribute("data-theme"),O="rtl"===document.documentElement.dir?"rtl":"ltr",{localeCode:k}=(0,r.usePageData)(),P=(0,n.useMemo)(()=>(0,c.getLanguage)(k),[k]),M=(0,n.useMemo)(()=>(0,u.getUploader)(e,t,C,j),[e,t,C,j]),$=(0,n.useCallback)(a=>new i.default({jodit:a,domainId:e,currentDir:t,wwwRootPath:p,onSave:b}),[e,t,p,b]),_=(0,n.useMemo)(()=>(0,m.getFilebrowser)(e,t,R),[e,t]),q=(0,n.useCallback)(e=>{const t=e.ctrlKey&&!e.metaKey||e.metaKey&&!e.ctrlKey;"s"!==e.key.toLowerCase()||!t||e.shiftKey||e.altKey||(e.preventDefault(),b())},[b]),L=(0,n.useCallback)(a=>{y((0,h.withOriginalImages)(a,e,t,p))},[y,e,t,p]),F=(0,n.useMemo)(()=>{const e={paste:{tooltip:f.lmsg("paste"),exec:async e=>{try{if(navigator.clipboard){const t=await navigator.clipboard.read();for(const a of t)if(a.types.includes("text/html")){const t=await a.getType("text/html"),n=await t.text();return e.selection.insertHTML(n,!1),!1}const a=await navigator.clipboard.readText();e.selection.insertHTML(a)}else e.execCommand("paste")}catch{e.execCommand("paste")}return!1}}};return{readonly:g,showPlaceholder:!1,autofocus:!0,theme:"dark"===T?"dark":void 0,language:P,direction:O,iframe:!0,editHTMLDocumentMode:!0,iframeStyle:"",iframeTitle:"",iframeDoctype:"",iframeSandbox:"allow-same-origin",tabIndex:0,allowTabNavigation:!1,height:"100%",allowResizeX:!1,allowResizeY:!1,statusbar:!1,addNewLine:!1,toolbarSticky:!0,toolbarAdaptive:!1,sourceEditor:$,spellcheck:!0,defaultActionOnPaste:"insert_as_html",askBeforePasteHTML:!1,askBeforePasteFromWord:!1,processPasteHTML:!0,cleanHTML:{fillEmptyParagraph:!1,replaceNBSP:!1,removeEmptyElements:!1,replaceOldTags:!1,allowTags:!1,denyTags:!1},beautifyHTML:!1,events:{keydown:q},buttons:o.default,uploader:M,filebrowser:_,controls:e}},[g,q,T,P,O,M,_,$]),N=(0,n.useMemo)(()=>(0,h.withPreviewImages)(S,e,t,p),[S,e,t,p]);return(0,n.useEffect)(()=>{v(E?.current)},[v]),(0,n.useEffect)(()=>{w(d.sanitizeContent)},[w]),(0,n.useImperativeHandle)(x,()=>()=>{if(!R.current)return{content:""};R.current.setReadOnly(!0);const a=R.current.getNativeEditorValue(),n=(0,h.withOriginalImages)(a,e,t,p);return R.current.setReadOnly(!1),{content:n}},[e,t,p]),(0,n.jsx)("div",{id:"html-editor",ref:E,children:(0,n.jsx)(n.Suspense,{fallback:(0,n.jsx)(s.Skeleton,{height:"100%"}),children:(0,n.jsx)(D,{editorRef:I,value:N,config:F,onChange:L})})})}},1846(e,t,a){a.r(t),a.d(t,{default:()=>l});var n=a(99),r=a(399),s=a(397),o=a(1847),i=a(396);const l=class{constructor({jodit:e,domainId:t,currentDir:a,wwwRootPath:l,onSave:d}){(0,n.default)(this,"jodit",void 0),(0,n.default)(this,"domainId",void 0),(0,n.default)(this,"currentDir",void 0),(0,n.default)(this,"wwwRootPath",void 0),(0,n.default)(this,"handleSave",void 0),(0,n.default)(this,"root",void 0),(0,n.default)(this,"init",()=>{this.root=(0,r.createRoot)(this.jodit.container.querySelector(".jodit-source"))}),(0,n.default)(this,"destruct",()=>{this.root?.unmount()}),(0,n.default)(this,"getValue",()=>this.jodit.value),(0,n.default)(this,"setValue",()=>{this.root?.render((0,i.jsx)(s.CodeEditor,{id:"html-source-editor",readOnly:this.jodit.getReadOnly(),onChange:e=>{this.jodit.value=(0,o.withPreviewImages)(e,this.domainId,this.currentDir,this.wwwRootPath)},onSave:this.handleSave,autofocus:!0,children:(0,o.withOriginalImages)(this.jodit.value,this.domainId,this.currentDir,this.wwwRootPath)}))}),(0,n.default)(this,"onReadyAlways",e=>{e()}),(0,n.default)(this,"insertRaw",()=>{}),(0,n.default)(this,"getSelectionStart",()=>{}),(0,n.default)(this,"getSelectionEnd",()=>{}),(0,n.default)(this,"setSelectionRange",()=>{}),(0,n.default)(this,"setPlaceHolder",()=>{}),(0,n.default)(this,"focus",()=>{}),(0,n.default)(this,"setReadOnly",()=>{}),(0,n.default)(this,"selectAll",()=>{}),this.jodit=e,this.domainId=t,this.currentDir=a,this.wwwRootPath=l,this.handleSave=d}}},1845(e,t,a){a.r(t),a.d(t,{default:()=>r});const n=a(95).Locale.getSection("smb.components.forms.file-manager.html-editor.toolbar"),r=["bold","italic","underline","strikethrough","|","ul","ol","|","brush","|",{text:n.lmsg("textStyle"),icon:"text_fields",tooltip:n.lmsg("textStyleDesc"),list:{font:"Font family",fontsize:"Font size",paragraph:"Insert format block",eraser:"Clear formatting",copyformat:"Copy format",lineHeight:"Line height",superscript:"Superscript",subscript:"Subscript"}},"|","hr","|","align","|","indent","outdent","|",{text:n.lmsg("insert"),icon:"add_photo_alternate",tooltip:n.lmsg("insertDesc"),list:{image:"Insert image",video:"Insert video",symbols:"Insert special character",link:"Insert link",table:"Insert table",file:"Insert file"}},"|","undo","redo","|","cut","copy",{name:"paste",icon:"paste",list:void 0},"|","find","---","source","|","print","|","fullsize","|","spellcheck","|","selectall","|"]},1852(e,t,a){a.r(t),a.d(t,{getFilebrowser:()=>s});var n=a(1847),r=a(672);const s=(e,t,a)=>{const s={url:`/smb/file-manager/list-data/domainId/${e}`,successStatuses:[200],processData:!0,prepareData:({path:e})=>({currentDir:e.startsWith("/")?e:`/${e}`})};return{ajax:s,showFileName:!0,showFileSize:!0,showFileChangeTime:!0,contextMenu:!1,saveStateInStorage:{storeLastOpenedFolder:!1},getThumbTemplate(e,t,a){const n=this.files.getFullElName("item"),{name:r,isImage:s,fileURL:o,imageURL:i,path:l,size:d,time:c}=e;return`<a\n data-jodit-file-browser-item="true"\n data-is-file="${s?0:1}"\n draggable="true"\n class="${n}"\n href="${o}"\n data-source="${a}"\n data-path="${l}"\n data-name="${r}"\n title="${r}"\n data-url="${o}">\n <img\n data-is-file="${s?0:1}"\n data-src="${o}"\n src="${i}"\n alt="${r}"\n loading="lazy"\n />\n <div class="${n}-info">
1\n <span class="${n}-info-filename">${r}</span>\n <span class="${n}-info-filesize">${d}</span>\n <span class="${n}-info-filechanged">${c}</span>\n </div>\n </a>`},permissionsPresets:{allowFileDownload:!1,allowFileMove:!1,allowFileRemove:!1,allowFileRename:!1,allowFileUpload:!1,allowFileUploadRemote:!1,allowFiles:!0,allowFolderCreate:!1,allowFolderMove:!1,allowFolderRemove:!1,allowFolderRename:!1,allowFolderTree:!1,allowFolders:!0,allowGeneratePdf:!1,allowImageCrop:!1,allowImageResize:!1},isSuccess:({status:e})=>"error"!==e,getMessage:({message:e=""})=>e,items:{...s,process:({data:s,state:{currentDir:o}})=>{const i=a?.current?.filebrowser?.state?.onlyImages;return{data:{sources:[{baseurl:"",path:(0,r.relativePath)(t,o),files:s.filter(({isDirectory:e})=>!e).map(({name:t,type:a,formatedSize:r,modificationDate:s})=>{const l="image"===a;return{name:t,type:a,isImage:l,size:r,changed:s,thumb:l?(0,n.withPreviewUrl)(t,e,o):void 0,thumbIsAbsolute:l,file:i?(0,n.withPreviewUrl)(t,e,o):void 0,fileIsAbsolute:i}}),name:"default"}]}}}},permissions:{...s,process:()=>({data:{permissions:{}}})},folder:{...s,process:({data:e,state:{currentDir:t}})=>({data:{sources:[{baseurl:"",path:t,folders:e.filter(({isDirectory:e})=>e).map(({name:e})=>e),name:"default"}]}})}}}},1850(e,t,a){a.r(t),a.d(t,{getLanguage:()=>n});const n=(e="")=>{switch(e=e.toLocaleLowerCase()){case"nb-no":case"uk-ua":return e.split("-")[1];case"cs-cz":case"pt-br":case"zh-cn":case"zh-tw":return e.replace("-","_");default:return e.split("-")[0]}}},1851(e,t,a){a.r(t),a.d(t,{getUploader:()=>s});var n=a(1847);const r=()=>document.querySelector('.jodit-drag-and-drop__file-box input[type="file"]')?.getAttribute("accept")?.includes("image"),s=(e,t,a,s)=>{const o=e=>{a({message:e,intent:"danger"})};return{url:`/smb/file-manager/upload/domainId/${e}/overwrite/false?currentDir=${encodeURIComponent(t)}`,getMessage:({message:e})=>e,isSuccess:({status:e})=>!!e,prepareData:e=>(r()&&e.set("image","true"),e),process:({status:e,message:t,files:a})=>({files:a,path:"",baseurl:"",error:"SUCCESS"===e?0:1,msg:t}),defaultHandlerSuccess({files:a,error:i,msg:l}){if(i)return void o(l);const d=r();a.forEach(a=>{d?this.s.insertImage((0,n.withPreviewUrl)(a,e,t),null,300):this.s.insertNode(this.createInside.fromHTML(`<a href="${a}" title="${a}">${a}</a>`))}),s()},error:e=>o(e)}}},1843(e,t,a){a.r(t),a.d(t,{default:()=>n.default});var n=a(1844)},1848(e,t,a){a.r(t),a.d(t,{initJodit:()=>o});const n="opensearchdialog",r="openreplacedialog",s=e=>{"Enter"===e.key&&e.preventDefault()},o=(e,t)=>{e.plugins.add("searchPreventEnter",e=>{e.events.on("afterCommand",t=>{if([n,r].includes(t)){e.container.querySelectorAll(".jodit-ui-search input").forEach(e=>{e.addEventListener("keydown",s)})}})}),e.plugins.add("filebrowserCurrentPath",e=>{e.filebrowser.events.on("beforeOpen",()=>{e.filebrowser.state.currentPath=t})}),e.defaultOptions.createAttributes={table:{style:"width: 100%; border: none; border-collapse: collapse; empty-cells: show; max-width: 100%;"},tr:{style:"border: 1px solid #ccc; padding: 2px 5px;"},td:{style:"border: 1px solid #ccc; padding: 2px 5px;"}}}},1849(e,t,a){a.r(t),a.d(t,{sanitizeContent:()=>n});const n=e=>{const t=/<body[\s\S]*<\/body>/im,a=t.exec(e);if(!a)return e;const n="{%%BODY%%}";return e=e.replace(t,n).replace(n,a[0].replace(/(<body[^>]*?)\sstyle\s*=\s*(['"])([^'"]*?)min-height["'\s]*:[\s"']*[0-9]+(px|%);["']*/im,"$1").replace(/(<body[^>]*?)\scontenteditable["'\s]*=[\s"']*true["']?/im,"$1").replace(/(<body[^>]*?)\sspellcheck["'\s]*=[\s"'](?:true|false)["']?/im,"$1").replace(/(<body[^>]*?)\sdir["'\s]*=[\s"'](?:ltr|rtl)["']?/im,"$1").replace(/<(style|script|span)[^>]+jodit[^>]+>.*?<\/\1>/g,"")).replace(/(class\s*=\s*)(['"])([^"']*)(jodit-wysiwyg|jodit)([^"']*\2)/g,"$1$2$3$5")}},1847(e,t,a){a.r(t),a.d(t,{withOriginalImages:()=>m,withPreviewImages:()=>l,withPreviewUrl:()=>p});var n=a(672),r=a(95);const s=/<img[^>]*\s+src\s*=\s*["']([^"']+)["']/gi,o=/<img[^>]*\s+(srcset)\s*=/gi,i=/<link[^>]*\s+href\s*=\s*["']([^"']+)["']/gi,l=(e,t,a,n)=>e.replace(s,d(p,t,a,n)).replace(o,c).replace(i,d(f,t,a,n)),d=(e,t,a,s)=>(o,i)=>{if(["http://","https://","//","data:"].some(e=>i.startsWith(e)))return o;const l=i.startsWith("/"),d=(0,r.unescapeHtml)(i),c=(0,n.baseName)(d),u=(0,n.joinPaths)(l?s:a,(0,n.dirName)(d));return o.replace(i,(0,r.escapeHtml)(e(c,t,u,l)))},c=(e,t)=>e.replace(t,`data-plesk-ignore-attr-${t}`),u=/data-plesk-ignore-attr-/gi,m=(e,t,a,n)=>e.replace(s,h(`/smb/file-manager/show-image/domainId/${t}
1/`,a,n)).replace(u,"").replace(i,h(`/smb/file-manager/preview-css/domainId/${t}/`,a,n)),h=(e,t,a)=>(s,o)=>{if(!o.startsWith(e))return s;const i=new URL((0,r.unescapeHtml)(o),window.location.origin),l=i.searchParams.get("file")||"",d=i.searchParams.get("currentDir")||t,c="true"===i.searchParams.get("root"),u=(0,n.joinPaths)(c?`/${(0,n.relativePath)(a,d)}`:(0,n.relativePath)(t,d),l);return s.replace(o,(0,r.escapeHtml)(u))},p=(e,t,a,n=!1)=>`/smb/file-manager/show-image/domainId/${t}/?file=${encodeURIComponent(e)}¤tDir=${encodeURIComponent(a)}${n?"&root=true":""}`,f=(e,t,a,n=!1)=>`/smb/file-manager/preview-css/domainId/${t}/?file=${encodeURIComponent(e)}¤tDir=${encodeURIComponent(a)}${n?"&root=true":""}`},1855(e,t,a){a.r(t),a.d(t,{default:()=>l});var n=a(396),r=a(787),s=a.n(r),o=a(397);const i=({onSubmit:e,disabled:t})=>{const[a,r]=(0,n.useState)(""),[s,i]=(0,n.useState)(!1),[l,d]=(0,n.useState)(!1),c=async(t=!1)=>{i(!1);"confirmationRequired"===await e({saveAs:a,overwrite:t})&&d(!0)};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.Popover,{target:(0,n.jsx)(o.Button,{size:"lg",onClick:()=>{i(!s)},"data-action":"saveAs",disabled:t,children:(0,n.jsx)(o.Translate,{content:"buttonSaveAs"})}),visible:s,onClose:()=>i(!1),"data-type":"saveAsPopover",children:(0,n.jsxs)("div",{children:[(0,n.jsx)(o.Input,{autoFocus:!0,value:a,onChange:e=>r(e.target.value),onKeyDown:e=>{"Enter"===e.key&&c()}})," ",(0,n.jsx)(o.Button,{intent:"primary",icon:"enter","data-action":"submit",onClick:()=>c()})]})},"1"),l&&(0,n.jsxs)(o.Dialog,{isOpen:!0,size:"xs",cancelButton:!1,buttons:[(0,n.jsx)(o.Button,{onClick:()=>{d(!1),c(!0)},children:(0,n.jsx)(o.Translate,{content:"exitConfirmationYes"})},"yes"),(0,n.jsx)(o.Button,{intent:"primary",onClick:()=>{d(!1)},children:(0,n.jsx)(o.Translate,{content:"exitConfirmationNo"})},"no")],children:[(0,n.jsx)(o.Paragraph,{children:(0,n.jsx)(o.Translate,{content:"fileOverwrite"})}),(0,n.jsx)(o.Paragraph,{children:(0,n.jsx)(o.Translate,{content:"fileOverwriteDescription"})})]})]})};i.propTypes={onSubmit:s().func.isRequired,disabled:s().bool.isRequired};const l=i},1840(e,t,a){a.r(t),a.d(t,{default:()=>c});var n=a(99),r=a(396),s=a(787),o=a.n(s),i=a(803),l=a.n(i);a(1841);class d extends r.Component{constructor(...e){super(...e),(0,n.default)(this,"state",{content:this.props.value||this.props.children}),(0,n.default)(this,"handleChange",e=>{if(this.props.readonly)return;const t=e.target.value;this.setState({content:t},()=>{const{onChange:e}=this.props;e&&e(t)})}),(0,n.default)(this,"handleKeyDown",e=>{const t=e.ctrlKey&&!e.metaKey||e.metaKey&&!e.ctrlKey;"s"!==e.key.toLowerCase()||!t||e.shiftKey||e.altKey||(e.preventDefault(),this.props.onSave())})}componentDidMount(){const{onInit:e}=this.props;e&&e(this.textareaNode)}componentWillReceiveProps({value:e,children:t}){const a=e||t;this.props.onChange&&a!==this.state.content&&(this.setState({content:a}),this.textareaNode.value=a)}shouldComponentUpdate({value:e,children:t}){return(e||t)!==this.state.content}render(){const{className:e,readonly:t,...a}=this.props,{content:n}=this.state;return delete a.children,delete a.value,delete a.onChange,(0,r.jsx)("textarea",{ref:e=>this.textareaNode=e,className:l()("file-manager__text-editor",e),defaultValue:n,onChange:this.handleChange,onKeyDown:this.handleKeyDown,readOnly:t,...a})}}d.propTypes={children:o().any,value:o().string,className:o().string,readonly:o().bool,onInit:o().func,onChange:o().func,onSave:o().func.isRequired},d.defaultProps={children:"",value:"",className:"",readonly:!1,onInit:null,onChange:null};const c=d},1837(e,t,a){a.r(t),a.d(t,{default:()=>n.default});var n=a(1838)},1888(e,t,a){a.r(t),a.d(t,{CodeEditorTabs:()=>i});var n=a(397),r=a(813),s=a(95),o=a(396);const i=({tabs:e,domainId:t})=>{const[a,i]=(0,o.useState)(e);(0,o.useEffect)(()=>{i(e)},[e]);const l=(0,r.default)(),d=e=>{l(`${window.location.pathname}${e}`)},c=async e=>{const n=a.filter(t=>t.title!==e.title);i(n);const r=new URLSearchParams(e.queryStr);if(await((e,t,a)=>{const n=new FormData;return n.append("file",e),t&&n.append("currentDir",t),n.append("domainId",a),s.api.post("/smb/file-manager/close-file",n)})(r.get("file")??e.title,r.get("currentDir"),r.get("domainId")??t),0===n.length)l("/smb/file-manager/list");else if(n.every(e=>!e.active)){const e=n[n.length-1];d(e.queryStr)}},u=a.findIndex(e=>e.active)+1;return(0,o.jsx)(n.Tabs,{active:u,children:a.map(e=>(0,o.jsx)(n.Tab,{onClick:()=>d(e.queryStr),title:e.title,onClose:()=>c(e)},e.queryStr))})}},1887(e,t,a){a.r(t),a.d(t,{EditorPage:()=>d,default:()=>c});var n=a(801),r=a(1837),s=a(813),o=a(396),i=a(715),l=a(1888);const d=({params:{domainId:e},queryParams:t,tabs:a})=>{const n=(0,s.default)(),[d]=(0,i.useSearchParams)(),c=(0,o.useCallback)(t=>{const a=d.get("search"),r=d.get("currentDir"),s=new URLSearchParams({domainId:e,currentDir:t??""});a&&(s.set("search",a),r&&s.set("currentDir",r)),n({pathname:"/smb/file-manager/list",search:s.toString()},{replace:!0})},[n,e,d]),[u,m]=(0,o.useState)(0);return(0,o.useEffect)(()=>{const e=document.querySelector(".pul-layout__content"),t=document.querySelector(".pul-layout__content-header"),a=document.querySelector(".pul-layout__footer");if(!e)return;const n=new ResizeObserver(e=>{for(const n of e){const e=t?.getBoundingClientRect().height||0,r=a?.getBoundingClientRect().height||0,s=window.innerHeight-n.target.getBoundingClientRect().top-r-e-88-45;m(Math.max(s,300))}});return n.observe(e),()=>n.disconnect()},[]),(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(l.CodeEditorTabs,{tabs:a,domainId:e}),!!u&&(0,o.jsx)(r.default,{domainId:e,commonToaster:!0,plainForm:!0,queryParams:t,editorHeight:u,handleReload:c,onClose:c})]})},c=(0,n.withPageLayout)(d,({domainId:e})=>({key:e}))},1886(e,t,a){a.r(t),a.d(t,{default:()=>n.default});var n=a(1887)},1854(e,t,a){a.r(t)},1853(e,t,a){a.r(t)},1841(e,t,a){a.r(t)}}]); 2//# sourceMappingURL=code-editor.js.map?623f34a96a6318511e70
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.