UNPKG

jodit-pro

Version:

PRO Version of Jodit Editor

6 lines (5 loc) 2.29 kB
var d=Object.defineProperty;var f=(l,e)=>d(l,"name",{value:e,configurable:!0});var s,c=function(l,e,t,i){var r=arguments.length,n=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,m;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(l,e,t,i);else for(var a=l.length-1;a>=0;a--)(m=l[a])&&(n=(r<3?m(n):r>3?m(e,t,n):m(e,t))||n);return r>3&&n&&Object.defineProperty(e,t,n),n};import{component as v,watch as h}from"jodit/esm/core/decorators/index.js";import{attr as g,css as b,ctrlKey as p}from"jodit/esm/core/helpers/index.js";import{assert as u}from"jodit/esm/core/helpers/utils/assert.js";import{UIElement as I}from"jodit/esm/core/ui/index.js";import{Dom as w}from"jodit/esm/modules/index.js";import{FileBrowserItem as y}from"jodit/esm/modules/file-browser/builders/item.js";let o=(s=class extends I{className(){return"UIBrowserItem"}constructor(e,t){super(e),this.item=y.create(t),e.e.on(this.container,"click contextmenu dblclick",i=>(e.e.fire(i.type+"Item.filebrowser",this.item,p(i)||i.shiftKey,i),!1)),this.update()}render(){return`<div tabindex='-1'> <div class='&__image'></div> <div class='&__info'></div> <div class='&__heart'>*heart*</div> </div>`}onClickFavorite(){return this.bubble(e=>{this.jodit.e.fire(e,"toggleFavoriteItem",this.item)}),!1}onAction(e){return this.jodit.e.fire(e.type+"Item.filebrowser",this.item,p(e)||e.shiftKey,e),!1}update(){const e=this.getElm("image");u(e!=null,"image element does not exists"),b(e,"backgroundImage",`url(${encodeURI(this.item.imageURL)})`);const{type:t,file:i,time:r,size:n}=this.item;this.setMod("is-file",this.item.isImage===!1).setMod("type",t??"file").setElementValue("name",i).setElementValue("time",r).setElementValue("filesize",n),g(this.container,"title",t!=="folder"?`${i} ${r} ${n}`:i),super.update()}setElementValue(e,t){const i=this.getFullElName(e);let r=this.getElm(e);if(!t)return r&&w.safeRemove(r),this;if(!r){const n=this.getElm("info");u(n!=null,"wrapper element does not exist"),r=this.j.create.div(i),n.appendChild(r)}return r.innerText=t,this}},f(s,"UIBrowserItem"),s);c([h("heart:click")],o.prototype,"onClickFavorite",null),c([h(["container:click","container:contextmenu","container:dblclick"])],o.prototype,"onAction",null),o=c([v],o);export{o as UIBrowserItem};