UNPKG

jodit-pro

Version:

PRO Version of Jodit Editor

5 lines (4 loc) 5.69 kB
var d=Object.defineProperty;var m=(r,e)=>d(r,"name",{value:e,configurable:!0});var a,i=function(r,e,s,h){var l=arguments.length,n=l<3?e:h===null?h=Object.getOwnPropertyDescriptor(e,s):h,g;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,s,h);else for(var c=r.length-1;c>=0;c--)(g=r[c])&&(n=(l<3?g(n):l>3?g(e,s,n):g(e,s))||n);return l>3&&n&&Object.defineProperty(e,s,n),n};import{component as w,watch as o}from"jodit/esm/core/decorators/index.js";import{css as u,isNumber as p,scrollIntoViewIfNeeded as f}from"jodit/esm/core/helpers/index.js";import{UIGroup as v}from"jodit/esm/core/ui/index.js";import{UIPreview as C}from"../preview/preview.js";import{UIBrowserSettings as S}from"../settings/settings.js";import{UISidebar as M}from"../sidebar/sidebar.js";import{UIBrowserSources as I}from"../sources/sources.js";import{UIBrowserStatusBar as b}from"../statusbar/statusbar.js";import{UIVirtualScroll as P}from"../virtual-scroll/virtual-scroll.js";let t=(a=class extends v{className(){return"UIBrowserPanel"}get countInRow(){if(this.state.view==="list"||!this.items.elements.length)return 1;const{container:e}=this.items.elements[0],s=u(e,"marginLeft");return Math.floor(this.items.container.offsetWidth/(e.offsetWidth+(p(s)?s:0)))}get countInColumn(){if(!this.items.elements.length)return 1;const{container:e}=this.items.elements[0],s=u(e,"marginTop");return Math.floor(this.items.container.offsetHeight/(e.offsetHeight+(p(s)?s:0)))}render(){return`<div> <div class='&__content'></div> <div class='&__footer'></div> </div>`}constructor(e,s){super(e),this.stateManager=s,this.syncMod=!0,this.sources=new I(this.j),this.sidebar=new M(this.jodit,[this.sources],this.stateManager.state),this.preview=new C(this.jodit,this.stateManager.state),this.statusbar=new b(this.j),this.items=new P(this.j,this.stateManager),this.settings=new S(this.jodit,this.stateManager.state),this.state=s.state,this.append(this.sidebar,"content"),this.append(this.items,"content"),this.append(this.settings,"content"),this.append(this.preview,"content"),this.append(this.statusbar,"footer"),this.onChangeElements(),this.onChangeSources(),this.onChangeView(),this.onChangeTileSize(),this.onChangeShowFavorites(),this.onChangeActiveElements(),this.onChangeFavorites(),this.onChangeShowSideBar(),this.onChangeShowSettings(),this.onChangeShowPreview(),this.onChangeTheme()}onChangeTheme(){this.setMod("theme",this.stateManager.state.theme)}onChangeElements(){this.items.build(this.stateManager.state.elements)}onChangeActiveElements(){this.state.activeElements.length||(this.state.info="",this.state.metaInfo=null),this.items.elements.forEach(e=>{e.setMod("active",!!this.stateManager.isActive(e.item))}),this.j.e.fire("changeSelection")}onChangeFavorites(){this.items.elements.forEach(e=>{e.setMod("favorite",!!this.stateManager.isFavorite(e.item))})}onChangeSources(){this.sources.build(this.stateManager.state.tree)}onChangeLastSelectedIndex(){var e;const s=(e=this.items.elements[this.stateManager.state.lastSelectedIndex])===null||e===void 0?void 0:e.container;s&&(f(s,this.items.container,this.j.od),s.focus())}onChangeInfo(){this.statusbar.value(this.state.info,"center")}onChangePathOrSource(){this.statusbar.value(this.state.currentPath?`${this.state.currentPath} (${this.state.currentSource})`:this.i18n("Home"),"left")}onChangeShowSettings(){this.settings.setMod("hidden",!this.stateManager.state.showSettings)}onChangeShowPreview(){this.preview.setMod("hidden",!this.stateManager.state.showPreview)}onChangeShowSideBar(){this.sidebar.setMod("hidden",!this.stateManager.state.showSideBar)}onChangeView(){this.items.setMod("view",this.stateManager.state.view)}onChangeTileSize(){this.items.setMod("size",this.stateManager.state.tileSize)}onChangeShowFavorites(){this.sidebar.setMod("show-favorites",this.stateManager.state.showFavorites),this.items.setMod("show-favorites",this.stateManager.state.showFavorites)}onItemDblClick(){return this.j.e.fire("select.filebrowser"),!1}onItemClick(e,s){this.stateManager.addActive(e,s)}onTogglePreview(){return this.state.showPreview=!this.state.showPreview,!1}onToggleFavoriteItem(e){this.stateManager.toggleFavorite(e)}onFolderClick(e){this.stateManager.state.currentSource=e.sourceName,this.stateManager.state.currentPath=e.path||"/",this.j.e.fire("afterOpenFolder.filebrowser")}},m(a,"UIBrowserPanel"),a);i([o("state.theme")],t.prototype,"onChangeTheme",null),i([o("state.elements")],t.prototype,"onChangeElements",null),i([o("state.activeElements")],t.prototype,"onChangeActiveElements",null),i([o(["state.favorites","state.elements"])],t.prototype,"onChangeFavorites",null),i([o("state.sources")],t.prototype,"onChangeSources",null),i([o("state.lastSelectedIndex")],t.prototype,"onChangeLastSelectedIndex",null),i([o("state.info")],t.prototype,"onChangeInfo",null),i([o(["state.currentPath","state.currentSource"])],t.prototype,"onChangePathOrSource",null),i([o("state.showSettings")],t.prototype,"onChangeShowSettings",null),i([o("state.showPreview")],t.prototype,"onChangeShowPreview",null),i([o("state.showSideBar")],t.prototype,"onChangeShowSideBar",null),i([o("state.view")],t.prototype,"onChangeView",null),i([o("state.tileSize")],t.prototype,"onChangeTileSize",null),i([o("state.showFavorites")],t.prototype,"onChangeShowFavorites",null),i([o(":dblclickItem.filebrowser")],t.prototype,"onItemDblClick",null),i([o(":clickItem.filebrowser")],t.prototype,"onItemClick",null),i([o(":togglePreview.filebrowser")],t.prototype,"onTogglePreview",null),i([o(":toggleFavoriteItem")],t.prototype,"onToggleFavoriteItem",null),i([o(":openFolder")],t.prototype,"onFolderClick",null),t=i([w],t);export{t as UIBrowserPanel};