+import{c,v as d}from"./NcLoadingIcon-Dnz5uOJH.chunk.mjs";import{g as l,i as p}from"./NcNoteCard-C6xb7vi0-BGmS3PC6.chunk.mjs";import{l as f}from"./index-DfiDB3im.chunk.mjs";import{u as o,s as a}from"./index-3VGpnLgT.chunk.mjs";import{g as u}from"./Editor.singleton-BzjQBXPc.chunk.mjs";import{R as m}from"./RichTextReader-B7lIFwnN.chunk.mjs";import{n as k}from"./_plugin-vue2_normalizer-XSZyZ-Zg.chunk.mjs";import"./emoji-picker-DwlFXcXb.chunk.mjs";import"./vue.runtime.esm-CuYTBykc.chunk.mjs";import"./BaseReader-BX3dOKKq.chunk.mjs";import"./useEditorMethods-Bl4gS6Y5.chunk.mjs";import"./NcCheckboxRadioSwitch-VeztTzpz-BEJwe3c0.chunk.mjs";import"./logger-7gvbymeT.chunk.mjs";import"./MediaHandler.provider-QvoiqZaz.chunk.mjs";const n=p(),R=d("apps/text"+(n?"/public":"")+"/workspace",2),w=t("text","Readme")+"."+f("text","default_file_extension"),h=[w,"Readme.md","README.md","readme.md"],y={name:"RichWorkspace",components:{RichTextReader:m,Editor:u},props:{content:{type:String,default:""},path:{type:String,required:!0},active:{type:Boolean,default:!0},hasRichWorkspace:{type:Boolean,default:!1}},data(){return{localHasRichWorkspace:!1,focus:!1,folder:null,file:null,loaded:!1,ready:!1,autofocus:!1,hideMenu:!0,darkTheme:window?.OCA?.Accessibility?.theme==="dark",enabled:window?.OCA?.Text?.RichWorkspaceEnabled}},computed:{shareToken(){return l()}},watch:{path(){this.getFileInfo()},focus(e){e||document.querySelector("#rich-workspace .text-editor__main").scrollTo(0,0)},hasRichWorkspace(e){this.localHasRichWorkspace=e}},mounted(){this.localHasRichWorkspace=this.hasRichWorkspace,this.enabled&&this.hasRichWorkspace&&this.getFileInfo(),a("Text::showRichWorkspace",this.showRichWorkspace),a("Text::hideRichWorkspace",this.hideRichWorkspace),a("files:node:created",this.onFileCreated),a("files:node:deleted",this.onFileDeleted),a("files:node:renamed",this.onFileRenamed),this.listenKeydownEvents()},beforeDestroy(){o("Text::showRichWorkspace",this.showRichWorkspace),o("Text::hideRichWorkspace",this.hideRichWorkspace),o("files:node:created",this.onFileCreated),o("files:node:deleted",this.onFileDeleted),o("files:node:renamed",this.onFileRenamed),this.unlistenKeydownEvents()},methods:{onFocus(){this.focus=!0,this.hideMenu=!1,this.unlistenKeydownEvents()},reset(){this.localHasRichWorkspace=!1,this.file=null,this.focus=!1,this.$nextTick(()=>{this.creating=!1,this.getFileInfo()})},getFileInfo(e){if(!this.enabled)return;this.file=null,this.ready=!1,this.loaded=!0,this.autofocus=!1;const i={path:this.path};return n&&(i.shareToken=this.shareToken),c.get(R,{params:i}).then(s=>{const r=s.data.ocs.data;return this.folder=r.folder||null,this.file=r.file,this.editing=!0,this.loaded=!0,this.autofocus=e||!1,this.localHasRichWorkspace=!0,!0}).catch(s=>(s.response.data.ocs&&s.response.data.ocs.data.folder?this.folder=s.response.data.ocs.data.folder:this.folder=null,this.file=null,this.loaded=!0,this.ready=!0,this.creating=!1,!1))},showRichWorkspace(e){this.enabled=!0,this.getFileInfo(e?.autofocus||!1)},hideRichWorkspace(){this.enabled=!1},listenKeydownEvents(){window.addEventListener("keydown",this.onKeydown)},unlistenKeydownEvents(){window.removeEventListener("keydown",this.onKeydown)},onKeydown(e){e.key==="Tab"&&(this.hideMenu=!1)},onFileCreated(e){h.includes(e.basename)&&(this.localHasRichWorkspace=!0,this.getFileInfo(!0))},onFileDeleted(e){e.path===this.file?.path&&(this.localHasRichWorkspace=!1)},onFileRenamed(e){h.includes(e.basename)?this.localHasRichWorkspace=!0:e.fileid===this.file?.id&&e.path!==this.file?.path&&(this.localHasRichWorkspace=!1)}}};var W=function(){var e=this,i=e._self._c;return e.enabled&&e.localHasRichWorkspace?i("div",{class:{focus:e.focus,dark:e.darkTheme},attrs:{id:"rich-workspace"}},[!e.loaded||!e.ready?i("RichTextReader",{staticClass:"rich-workspace--preview",attrs:{content:e.content}}):e._e(),e.file?i("Editor",{directives:[{name:"show",rawName:"v-show",value:e.ready,expression:"ready"}],key:e.file.path,attrs:{"file-id":e.file.id,"relative-path":e.file.path,"share-token":e.shareToken,mime:e.file.mimetype,autofocus:e.autofocus,"hide-menu":e.hideMenu,active:"","rich-workspace":""},on:{ready:function(s){e.ready=!0},focus:e.onFocus,error:e.reset}}):e._e()],1):e._e()},v=[],F=k(y,W,v,!1,null,"52a1eff3");const q=F.exports;export{q as default};
0 commit comments