UNPKG

jodit-pro

Version:

PRO Version of Jodit Editor

2 lines (1 loc) 2.26 kB
var f=Object.defineProperty;var a=(l,e)=>f(l,"name",{value:e,configurable:!0});var c,h=function(l,e,t,n){var o=arguments.length,i=o<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(l,e,t,n);else for(var u=l.length-1;u>=0;u--)(r=l[u])&&(i=(o<3?r(i):o>3?r(e,t,i):r(e,t))||i);return o>3&&i&&Object.defineProperty(e,t,i),i};import{UIBackupItem as m}from"./item.js";import{KEY_DOWN as S,KEY_ENTER as v,KEY_UP as d}from"jodit/esm/core/constants.js";import{autobind as p,component as C,watch as b}from"jodit/esm/core/decorators/index.js";import{attr as _}from"jodit/esm/core/helpers/index.js";import{UIGroup as j}from"jodit/esm/core/ui/index.js";let s=(c=class extends j{className(){return"UIBackupList"}createContainer(e){const t=super.createContainer(e);return _(t,"tabIndex","-1"),t}constructor(e){super(e),this.elements=[],this.currentSelection=-1,e.e.on(this.container,"keydown",t=>{switch(t.key){case v:t.preventDefault(),t.stopPropagation(),this.onChoose(this.currentSelection);break;case S:this.selectNext();break;case d:this.selectPrevious();break}})}build(e){this.clear(),e.forEach((t,n)=>{const o=new m(this.jodit,t);this.append(o),this.j.e.on(o.container,"focus",()=>this.onSelect(n)).on(o.container,"click",()=>this.onSelect(n)).on(o.container,"dblclick",()=>this.onChoose(n))}),this.currentSelection=0,this.onChangeCurrentSelection(void 0,-1,0)}onChangeCurrentSelection(e,t,n){var o,i,r;(o=this.elements[t])===null||o===void 0||o.setMod("active",!1),(i=this.elements[n])===null||i===void 0||i.setMod("active",!0),(r=this.elements[n])===null||r===void 0||r.focus(),this.j.e.fire(this,"select",this.elements[n].data)}onSelect(e){this.currentSelection=e}onChoose(e){this.j.e.fire(this,"choose",this.elements[e??this.currentSelection].data)}selectNext(){this.currentSelection+1<=this.elements.length-1?this.currentSelection+=1:this.currentSelection=0}selectPrevious(){this.currentSelection-1>=0?this.currentSelection-=1:this.currentSelection=this.elements.length-1}},a(c,"UIBackupList"),c);h([b("currentSelection")],s.prototype,"onChangeCurrentSelection",null),h([p],s.prototype,"onSelect",null),h([p],s.prototype,"onChoose",null),s=h([C],s);export{s as UIBackupList};