Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/rospirotorg.ru/bitrix/js/ui/entity-selector/dist/ |
Upload File : |
this.BX=this.BX||{};this.BX.UI=this.BX.UI||{};(function(e,t,i,n,s,l){"use strict";let r=function(){function e(){babelHelpers.classCallCheck(this,e)}babelHelpers.createClass(e,null,[{key:"makeMultipleComparator",value:function e(t){const i=Object.keys(t).map((e=>`get${s.Text.capitalize(e)}`));const n=[];Object.values(t).forEach((e=>{const t=e.toLowerCase().trim();let i=true;let s=true;if(t==="desc"||t==="desc nulls first"){i=false}else if(t==="asc nulls first"){s=false}else if(t==="desc nulls last"){i=false;s=false}n.push({ascOrdering:i,nullsOrdering:s})}));const l=i.length;return(e,t)=>{let s=0;let r=0;while(r===0&&s<l){const l=i[s];const a=n[s];r=this.compareItemNodes(e,t,l,a.ascOrdering,a.nullsOrdering);s+=1}return r}}},{key:"compareItemNodes",value:function e(t,i,n,l,r){const a=t.getItem();const o=i.getItem();a.getCustomData().get();const u=a[n]();const h=o[n]();let c=0;if(u!==null&&h===null){c=r?-1:1}else if(u===null&&h!==null){c=r?1:-1}else if(u===null&&h===null){c=l?-1:1}else{if(s.Type.isString(u)){c=u.localeCompare(h)}else{c=u-h}}const d=l?1:-1;return c*d}}]);return e}();let a=function(){function e(){babelHelpers.classCallCheck(this,e)}babelHelpers.createClass(e,null,[{key:"isValid",value:function e(t){return s.Type.isString(t)&&(t===this.HTML||t===this.TEXT)}}]);return e}();babelHelpers.defineProperty(a,"TEXT","text");babelHelpers.defineProperty(a,"HTML","html");let o=function(){function e(t){babelHelpers.classCallCheck(this,e);babelHelpers.defineProperty(this,"text",null);babelHelpers.defineProperty(this,"type",null);if(s.Type.isPlainObject(t)){if(s.Type.isString(t.text)){this.text=t.text}if(a.isValid(t.type)){this.type=t.type}}else if(s.Type.isString(t)){this.text=t}}babelHelpers.createClass(e,[{key:"getText",value:function e(){return this.text}},{key:"getType",value:function e(){return this.type}},{key:"isNullable",value:function e(){return this.getText()===null}},{key:"renderTo",value:function e(t){const i=this.getText();if(i===null){return}if(this.getType()===null||this.getType()===a.TEXT){t.textContent=i}else if(this.getType()===a.HTML){t.innerHTML=i}}},{key:"toString",value:function e(){var t;return(t=this.getText())!==null&&t!==void 0?t:""}},{key:"toJSON",value:function e(){if(this.getType()===null){return this.getText()}else{return{text:this.getText(),type:this.getType()}}}}]);return e}();let u=function(){function e(){babelHelpers.classCallCheck(this,e)}babelHelpers.createClass(e,null,[{key:"mark",value:function e(t,i){let n=true;if(t instanceof o){if(t.getType()==="html"){n=false}t=t.getText()}if(!s.Type.isStringFilled(t)||!i||i.count()===0){return t}let l="";let r=0;let a="";i.forEach((e=>{if(r>e.getStartIndex()){return}a=t.substring(r,e.getStartIndex());l+=n?s.Text.encode(a):a;l+='<span class="ui-selector-highlight-mark">';a=t.substring(e.getStartIndex(),e.getEndIndex());l+=n?s.Text.encode(a):a;l+="</span>";r=e.getEndIndex()}));a=t.substring(r);l+=n?s.Text.encode(a):a;return l}}]);return e}();let h=function(){function e(t){babelHelpers.classCallCheck(this,e);babelHelpers.defineProperty(this,"title",null);babelHelpers.defineProperty(this,"textColor",null);babelHelpers.defineProperty(this,"bgColor",null);babelHelpers.defineProperty(this,"containers",new WeakMap);const i=s.Type.isPlainObject(t)?t:{};this.setTitle(i.title);this.setTextColor(i.textColor);this.setBgColor(i.bgColor)}babelHelpers.createClass(e,[{key:"getTitle",value:function e(){const t=this.getTitleNode();return t!==null&&!t.isNullable()?t.getText():""}},{key:"getTitleNode",value:function e(){return this.title}},{key:"setTitle",value:function e(t){if(s.Type.isStringFilled(t)||s.Type.isPlainObject(t)||t===null){this.title=t===null?null:new o(t)}}},{key:"getTextColor",value:function e(){return this.textColor}},{key:"setTextColor",value:function e(t){if(s.Type.isString(t)||t===null){this.textColor=t}}},{key:"getBgColor",value:function e(){return this.bgColor}},{key:"setBgColor",value:function e(t){if(s.Type.isString(t)||t===null){this.bgColor=t}}},{key:"getContainer",value:function e(t){let i=this.containers.get(t);if(!i){i=document.createElement("span");i.className="ui-selector-item-badge";this.containers.set(t,i)}return i}},{key:"renderTo",value:function e(t){const i=this.getContainer(t);const n=this.getTitleNode();if(n){this.getTitleNode().renderTo(i)}else{i.textContent=""}s.Dom.style(i,"color",this.getTextColor());s.Dom.style(i,"background-color",this.getBgColor());s.Dom.append(i,t)}},{key:"toJSON",value:function e(){return{title:this.getTitleNode(),textColor:this.getTextColor(),bgColor:this.getBgColor()}}}]);return e}();let c=function(){function e(t){babelHelpers.classCallCheck(this,e);babelHelpers.defineProperty(this,"name",null);babelHelpers.defineProperty(this,"type","string");babelHelpers.defineProperty(this,"searchable",true);babelHelpers.defineProperty(this,"system",false);babelHelpers.defineProperty(this,"sort",null);const i=s.Type.isPlainObject(t)?t:{};if(!s.Type.isStringFilled(i.name)){throw new Error('EntitySelector.SearchField: "name" parameter is required.')}this.name=i.name;this.setType(i.type);this.setSystem(i.system);this.setSort(i.sort);this.setSearchable(i.searchable)}babelHelpers.createClass(e,[{key:"getName",value:function e(){return this.name}},{key:"getType",value:function e(){return this.type}},{key:"setType",value:function e(t){if(s.Type.isStringFilled(t)){this.type=t}}},{key:"getSort",value:function e(){return this.sort}},{key:"setSort",value:function e(t){if(s.Type.isNumber(t)||t===null){this.sort=t}}},{key:"setSearchable",value:function e(t){if(s.Type.isBoolean(t)){this.searchable=t}}},{key:"isSearchable",value:function e(){return this.searchable}},{key:"setSystem",value:function e(t){if(s.Type.isBoolean(t)){this.system=t}}},{key:"isCustom",value:function e(){return!this.isSystem()}},{key:"isSystem",value:function e(){return this.system}}]);return e}();let d=function(){function e(t,i,n){babelHelpers.classCallCheck(this,e);babelHelpers.defineProperty(this,"field",null);babelHelpers.defineProperty(this,"queryWord",null);babelHelpers.defineProperty(this,"startIndex",null);babelHelpers.defineProperty(this,"endIndex",null);this.field=t;this.queryWord=i;this.startIndex=n;this.endIndex=n+i.length}babelHelpers.createClass(e,[{key:"getField",value:function e(){return this.field}},{key:"getQueryWord",value:function e(){return this.queryWord}},{key:"getStartIndex",value:function e(){return this.startIndex}},{key:"getEndIndex",value:function e(){return this.endIndex}}]);return e}();const g=(e,t)=>{if(e.getStartIndex()===t.getStartIndex()){return e.getEndIndex()>t.getEndIndex()?-1:1}else{return e.getStartIndex()>t.getStartIndex()?1:-1}};let f=function(){function e(t,n=[]){babelHelpers.classCallCheck(this,e);babelHelpers.defineProperty(this,"field",null);babelHelpers.defineProperty(this,"matchIndexes",new i.OrderedArray(g));this.field=t;this.addIndexes(n)}babelHelpers.createClass(e,[{key:"getField",value:function e(){return this.field}},{key:"getMatches",value:function e(){return this.matchIndexes}},{key:"addIndex",value:function e(t){this.matchIndexes.add(t)}},{key:"addIndexes",value:function e(t){if(s.Type.isArray(t)){t.forEach((e=>{this.addIndex(e)}))}}}]);return e}();let p=function(){function e(){babelHelpers.classCallCheck(this,e)}babelHelpers.createClass(e,null,[{key:"handleTransitionEnd",value:function e(t,i){const n=s.Type.isArray(i)?new Set(i):new Set([i]);return new Promise((function(e){const i=l=>{if(l.target!==t||!n.has(l.propertyName)){return}n.delete(l.propertyName);if(n.size===0){e(l);s.Event.unbind(t,"transitionend",i)}};s.Event.bind(t,"transitionend",i)}))}},{key:"handleAnimationEnd",value:function e(t,i){return new Promise((e=>{const n=l=>{if(!i||l.animationName===i){e(l);s.Event.unbind(t,"animationend",n)}};s.Event.bind(t,"animationend",n)}))}}]);return e}();const b=/^data:((?:\w+\/(?:(?!;).)+)?)((?:;[\w\W]*?[^;])*),(.+)$/;const y=e=>typeof e==="string"?e.match(b):false;function v(e){if(y(e)){return e}return encodeURI(e)}function T(e,t){m(e,t);t.add(e)}function m(e,t){if(t.has(e)){throw new TypeError("Cannot initialize the same private elements twice on an object")}}function C(e,t,i){k(e,t);return i}function k(e,t){if(e!==t){throw new TypeError("Private static access of wrong provenance")}}function S(e,t,i){if(!t.has(e)){throw new TypeError("attempted to get private field on non-instance")}return i}let H=function e(){babelHelpers.classCallCheck(this,e)};babelHelpers.defineProperty(H,"PARTIAL","partial");babelHelpers.defineProperty(H,"OVERRIDE","override");var I=new WeakSet;var O=new WeakSet;let x=function(){function e(t,n){babelHelpers.classCallCheck(this,e);T(this,O);T(this,I);babelHelpers.defineProperty(this,"item",null);babelHelpers.defineProperty(this,"tab",null);babelHelpers.defineProperty(this,"cache",new s.Cache.MemoryCache);babelHelpers.defineProperty(this,"parentNode",null);babelHelpers.defineProperty(this,"children",null);babelHelpers.defineProperty(this,"childItems",new WeakMap);babelHelpers.defineProperty(this,"loaded",false);babelHelpers.defineProperty(this,"dynamic",false);babelHelpers.defineProperty(this,"dynamicPromise",null);babelHelpers.defineProperty(this,"loader",null);babelHelpers.defineProperty(this,"open",false);babelHelpers.defineProperty(this,"autoOpen",false);babelHelpers.defineProperty(this,"focused",false);babelHelpers.defineProperty(this,"renderMode",H.PARTIAL);babelHelpers.defineProperty(this,"title",null);babelHelpers.defineProperty(this,"subtitle",null);babelHelpers.defineProperty(this,"supertitle",null);babelHelpers.defineProperty(this,"caption",null);babelHelpers.defineProperty(this,"captionOptions",{});babelHelpers.defineProperty(this,"avatar",null);babelHelpers.defineProperty(this,"avatarOptions",null);babelHelpers.defineProperty(this,"link",null);babelHelpers.defineProperty(this,"linkTitle",null);babelHelpers.defineProperty(this,"textColor",null);babelHelpers.defineProperty(this,"badges",null);babelHelpers.defineProperty(this,"badgesOptions",{});babelHelpers.defineProperty(this,"hidden",false);babelHelpers.defineProperty(this,"highlights",[]);babelHelpers.defineProperty(this,"renderWithDebounce",s.Runtime.debounce(this.render,50,this));const l=s.Type.isPlainObject(n)?n:{};if(s.Type.isObject(t)){this.item=t}let a=null;if(s.Type.isFunction(l.itemOrder)){a=l.itemOrder}else if(s.Type.isPlainObject(l.itemOrder)){a=r.makeMultipleComparator(l.itemOrder)}this.children=new i.OrderedArray(a);this.renderMode=l.renderMode===H.OVERRIDE?H.OVERRIDE:H.PARTIAL;if(this.renderMode===H.OVERRIDE){this.setTitle("");this.setSubtitle("");this.setSupertitle("");this.setCaption("");this.setLinkTitle("");this.avatar="";this.avatarOptions={bgSize:null,bgColor:null,bgImage:null,border:null,borderRadius:null,outline:null,outlineOffset:null};this.textColor="";this.link="";this.badges=[];this.captionOptions={fitContent:null,maxWidth:null,justifyContent:null};this.badgesOptions={fitContent:null,maxWidth:null,justifyContent:null}}this.setTitle(l.title);this.setSubtitle(l.subtitle);this.setSupertitle(l.supertitle);this.setCaption(l.caption);this.setCaptionOptions(l.captionOptions);this.setAvatar(l.avatar);this.setAvatarOptions(l.avatarOptions);this.setTextColor(l.textColor);this.setLink(l.link);this.setLinkTitle(l.linkTitle);this.setBadges(l.badges);this.setBadgesOptions(l.badgesOptions);this.setDynamic(l.dynamic);this.setOpen(l.open)}babelHelpers.createClass(e,[{key:"getItem",value:function e(){return this.item}},{key:"isRoot",value:function e(){return this.getParentNode()===null}},{key:"getDialog",value:function e(){return this.getTab().getDialog()}},{key:"setTab",value:function e(t){this.tab=t}},{key:"getTab",value:function e(){return this.tab}},{key:"getParentNode",value:function e(){return this.parentNode}},{key:"setParentNode",value:function e(t){this.parentNode=t}},{key:"getNextSibling",value:function e(){if(!this.getParentNode()){return null}const t=this.getParentNode().getChildren();const i=t.getIndex(this);return t.getByIndex(i+1)}},{key:"getPreviousSibling",value:function e(){if(!this.getParentNode()){return null}const t=this.getParentNode().getChildren();const i=t.getIndex(this);return t.getByIndex(i-1)}},{key:"addChildren",value:function e(t){if(!s.Type.isArray(t)){return}t.forEach((e=>{delete e.tabs;const t=this.getDialog().addItem(e);const i=this.addItem(t,e.nodeOptions);i.addChildren(e.children)}))}},{key:"addChild",value:function t(i){if(!(i instanceof e)){throw new Error("EntitySelector.ItemNode: an item must be an instance of EntitySelector.ItemNode.")}if(this.isChildOf(i)||i===this){throw new Error("EntitySelector.ItemNode: a child item cannot be a parent of current item.")}if(this.getChildren().has(i)||this.childItems.has(i.getItem())){return null}this.getChildren().add(i);this.childItems.set(i.getItem(),i);i.setTab(this.getTab());i.setParentNode(this);if(this.isRendered()){this.renderWithDebounce()}return i}},{key:"getDepthLevel",value:function e(){return this.isRoot()?0:this.getParentNode().getDepthLevel()+1}},{key:"addItem",value:function e(t,i){let n=this.childItems.get(t);if(!n){n=t.createNode(i);this.addChild(n)}return n}},{key:"addItems",value:function e(t){if(s.Type.isArray(t)){this.disableRender();t.forEach((e=>{if(s.Type.isArray(e)&&e.length===2){this.addItem(e[0],e[1])}else if(e instanceof Ne){this.addItem(e)}}));this.enableRender();if(this.isRendered()){this.renderWithDebounce()}}}},{key:"hasItem",value:function e(t){return this.childItems.has(t)}},{key:"removeChild",value:function e(t){if(!this.getChildren().has(t)){return false}t.removeChildren();if(t.isFocused()){t.unfocus()}t.setParentNode(null);t.getItem().removeNode(t);this.getChildren().delete(t);this.childItems.delete(t.getItem());if(this.isRendered()){s.Dom.remove(t.getOuterContainer())}return true}},{key:"removeChildren",value:function e(){if(!this.hasChildren()){return}this.getChildren().forEach((e=>{e.removeChildren();if(e.isFocused()){e.unfocus()}e.setParentNode(null);e.getItem().removeNode(e)}));this.getChildren().clear();this.childItems=new WeakMap;if(this.isRendered()){if(s.Browser.isIE()){s.Dom.clean(this.getChildrenContainer())}else{this.getChildrenContainer().textContent=""}}}},{key:"hasChild",value:function e(t){return this.getChildren().has(t)}},{key:"isChildOf",value:function e(t){let i=this.getParentNode();while(i!==null){if(i===t){return true}i=i.getParentNode()}return false}},{key:"getFirstChild",value:function e(){return this.children.getFirst()}},{key:"getLastChild",value:function e(){return this.children.getLast()}},{key:"getChildren",value:function e(){return this.children}},{key:"hasChildren",value:function e(){return this.children.count()>0}},{key:"loadChildren",value:function e(){if(!this.isDynamic()){throw new Error("EntitySelector.ItemNode.loadChildren: an item node is not dynamic.")}if(this.dynamicPromise){return this.dynamicPromise}this.dynamicPromise=s.ajax.runAction("ui.entityselector.getChildren",{json:{parentItem:this.getItem().getAjaxJson(),dialog:this.getDialog().getAjaxJson()},getParameters:{context:this.getDialog().getContext()}});this.dynamicPromise.then((e=>{if(e&&e.data&&s.Type.isPlainObject(e.data.dialog)){this.addChildren(e.data.dialog.items);this.render()}this.loaded=true}));this.dynamicPromise.catch((e=>{this.loaded=false;this.dynamicPromise=null;console.error(e)}));return this.dynamicPromise}},{key:"setOpen",value:function e(t){if(s.Type.isBoolean(t)){if(t&&this.isDynamic()&&!this.isLoaded()){this.setAutoOpen(true)}else{this.open=t}}}},{key:"isOpen",value:function e(){return this.open}},{key:"isAutoOpen",value:function e(){return this.autoOpen&&this.isDynamic()&&!this.isLoaded()}},{key:"setAutoOpen",value:function e(t){if(s.Type.isBoolean(t)){this.autoOpen=t}}},{key:"setDynamic",value:function e(t){if(s.Type.isBoolean(t)){this.dynamic=t}}},{key:"isDynamic",value:function e(){return this.dynamic}},{key:"isLoaded",value:function e(){return this.loaded}},{key:"getLoader",value:function e(){if(this.loader===null){this.loader=new l.Loader({target:this.getIndicatorContainer(),size:30})}return this.loader}},{key:"showLoader",value:function e(){void this.getLoader().show();s.Dom.addClass(this.getIndicatorContainer(),"ui-selector-item-indicator-hidden")}},{key:"hideLoader",value:function e(){void this.getLoader().hide();s.Dom.removeClass(this.getIndicatorContainer(),"ui-selector-item-indicator-hidden")}},{key:"destroyLoader",value:function e(){this.getLoader().destroy();this.loader=null;s.Dom.removeClass(this.getIndicatorContainer(),"ui-selector-item-indicator-hidden")}},{key:"expand",value:function e(){if(this.isOpen()||!this.hasChildren()&&!this.isDynamic()){return}if(this.isDynamic()&&!this.isLoaded()){this.loadChildren().then((()=>{this.destroyLoader();this.expand()}));this.showLoader();return}s.Dom.addClass(this.getOuterContainer(),"ui-selector-item-box-open");s.Dom.style(this.getChildrenContainer(),"height","0px");s.Dom.style(this.getChildrenContainer(),"opacity",0);requestAnimationFrame((()=>{requestAnimationFrame((()=>{s.Dom.style(this.getChildrenContainer(),"height",`${this.getChildrenContainer().scrollHeight}px`);s.Dom.style(this.getChildrenContainer(),"opacity",1);p.handleTransitionEnd(this.getChildrenContainer(),"height").then((()=>{s.Dom.style(this.getChildrenContainer(),"height",null);s.Dom.style(this.getChildrenContainer(),"opacity",null);s.Dom.addClass(this.getOuterContainer(),"ui-selector-item-box-open");this.setOpen(true)}))}))}))}},{key:"collapse",value:function e(){if(!this.isOpen()){return}s.Dom.style(this.getChildrenContainer(),"height",`${this.getChildrenContainer().offsetHeight}px`);requestAnimationFrame((()=>{requestAnimationFrame((()=>{s.Dom.style(this.getChildrenContainer(),"height","0px");s.Dom.style(this.getChildrenContainer(),"opacity",0);p.handleTransitionEnd(this.getChildrenContainer(),"height").then((()=>{s.Dom.style(this.getChildrenContainer(),"height",null);s.Dom.style(this.getChildrenContainer(),"opacity",null);s.Dom.removeClass(this.getOuterContainer(),"ui-selector-item-box-open");this.setOpen(false)}))}))}))}},{key:"render",value:function e(t=false){if(this.isRoot()){this.renderRoot(t);return}const i=this.getTitleNode();if(i){i.renderTo(this.getTitleContainer())}else{this.getTitleContainer().textContent=""}const n=this.getSupertitleNode();if(n){n.renderTo(this.getSupertitleContainer())}else{this.getSupertitleContainer().textContent=""}const l=this.getSubtitleNode();if(l){l.renderTo(this.getSubtitleContainer())}else{this.getSubtitleContainer().textContent=""}const r=this.getCaptionNode();if(r){r.renderTo(this.getCaptionContainer())}else{this.getCaptionContainer().textContent=""}const a=this.getCaptionOption("fitContent");if(s.Type.isBoolean(a)){s.Dom.style(this.getCaptionContainer(),"flex-shrink",a?0:null)}const o=this.getCaptionOption("justifyContent");if(s.Type.isStringFilled(o)||o===null){s.Dom.style(this.getCaptionContainer(),{flexGrow:o?"1":null,textAlign:o||null})}const u=this.getCaptionOption("maxWidth");if(s.Type.isString(u)||s.Type.isNumber(u)){s.Dom.style(this.getCaptionContainer(),"max-width",s.Type.isNumber(u)?`${u}px`:u)}if(s.Type.isStringFilled(this.getTextColor())){this.getTitleContainer().style.color=this.getTextColor()}else{this.getTitleContainer().style.removeProperty("color")}const h=this.getAvatar();if(s.Type.isStringFilled(h)){this.getAvatarContainer().style.backgroundImage=`url('${v(h)}')`}else{const e=this.getAvatarOption("bgImage");if(s.Type.isStringFilled(e)){this.getAvatarContainer().style.backgroundImage=e}else{this.getAvatarContainer().style.removeProperty("background-image")}}const c=this.getAvatarOption("bgColor");if(s.Type.isStringFilled(c)){this.getAvatarContainer().style.backgroundColor=c}else{this.getAvatarContainer().style.removeProperty("background-color")}const d=this.getAvatarOption("bgSize");if(s.Type.isStringFilled(d)){this.getAvatarContainer().style.backgroundSize=d}else{this.getAvatarContainer().style.removeProperty("background-size")}const g=this.getAvatarOption("border");if(s.Type.isStringFilled(g)){this.getAvatarContainer().style.border=g}else{this.getAvatarContainer().style.removeProperty("border")}const f=this.getAvatarOption("borderRadius");if(s.Type.isStringFilled(f)){this.getAvatarContainer().style.borderRadius=f}else{this.getAvatarContainer().style.removeProperty("border-radius")}const p=this.getAvatarOption("outline");s.Dom.style(this.getAvatarContainer(),"outline",p);const b=this.getAvatarOption("outlineOffset");s.Dom.style(this.getAvatarContainer(),"outline-offset",b);s.Dom.clean(this.getBadgeContainer());this.getBadges().forEach((e=>{e.renderTo(this.getBadgeContainer())}));const y=this.getBadgesOption("fitContent");if(s.Type.isBoolean(y)){s.Dom.style(this.getBadgeContainer(),"flex-shrink",y?0:null)}const T=this.getBadgesOption("justifyContent");if(s.Type.isStringFilled(T)||T===null){s.Dom.style(this.getBadgeContainer(),{flexGrow:T?"1":null,justifyContent:T||null})}const m=this.getBadgesOption("maxWidth");if(s.Type.isString(m)||s.Type.isNumber(m)){s.Dom.style(this.getBadgeContainer(),"max-width",s.Type.isNumber(m)?`${m}px`:m)}const C=this.getLinkTitleNode();if(C){C.renderTo(this.getLinkTextContainer())}else{this.getLinkTextContainer().textContent=""}if(this.hasChildren()||this.isDynamic()){s.Dom.addClass(this.getOuterContainer(),"ui-selector-item-box-has-children");if(this.getDepthLevel()>=this.getTab().getItemMaxDepth()){s.Dom.addClass(this.getOuterContainer(),"ui-selector-item-box-max-depth")}}else if(this.getOuterContainer().classList.contains("ui-selector-item-box-has-children")){s.Dom.removeClass(this.getOuterContainer(),["ui-selector-item-box-has-children","ui-selector-item-box-max-depth"])}if(this.hasChildren()){const e=this.getChildren().getAll().some((e=>e.isHidden()!==true));if(!e){S(this,I,D).call(this,true)}}this.toggleVisibility();this.highlight();this.renderChildren(t);if(this.isAutoOpen()){this.setAutoOpen(false);requestAnimationFrame((()=>{requestAnimationFrame((()=>{this.expand()}))}))}this.rendered=true}},{key:"renderRoot",value:function e(t=false){this.renderChildren(t);this.rendered=true;const i=this.getTab().getStub();if(i&&i.isAutoShow()&&(this.getDialog().isLoaded()||!this.getDialog().hasDynamicLoad())){if(this.hasChildren()){i.hide()}else{i.show()}}}},{key:"renderChildren",value:function e(t=false){if(!t){if(s.Browser.isIE()){s.Dom.clean(this.getChildrenContainer())}else{this.getChildrenContainer().textContent=""}}if(this.hasChildren()){let e=null;this.getChildren().forEach((i=>{i.render(t);const n=i.getOuterContainer();if(!t){s.Dom.append(n,this.getChildrenContainer())}if(!n.parentNode){if(e!==null){s.Dom.insertAfter(n,e.getOuterContainer())}else{s.Dom.append(n,this.getChildrenContainer())}}e=i}))}}},{key:"isRendered",value:function e(){return this.rendered&&this.getDialog()&&this.getDialog().isRendered()}},{key:"enableRender",value:function e(){this.rendered=true}},{key:"disableRender",value:function e(){this.rendered=false}},{key:"getRenderMode",value:function e(){return this.renderMode}},{key:"isHidden",value:function e(){return this.hidden===true||this.getItem().isHidden()===true}},{key:"setHidden",value:function e(t){if(!s.Type.isBoolean(t)||this.isRoot()){return}S(this,I,D).call(this,t);if(this.isRendered()){this.toggleVisibility();let e=this.getParentNode();const t=this.isHidden();while(e.isRoot()===false){if(t){const t=e.getChildren().getAll().some((e=>e.isHidden()!==true));if(!t){var i;S(i=e,I,D).call(i,true)}e.toggleVisibility()}else{var n;S(n=e,I,D).call(n,false);e.toggleVisibility();if(e.isHidden()){break}}e=e.getParentNode()}}}},{key:"toggleVisibility",value:function e(){if(this.isHidden()){s.Dom.addClass(this.getOuterContainer(),"--hidden")}else if(this.getOuterContainer().classList.contains("--hidden")){s.Dom.removeClass(this.getOuterContainer(),"--hidden")}}},{key:"getTitle",value:function e(){const t=this.getTitleNode();return t!==null?t.getText():null}},{key:"getTitleNode",value:function e(){return this.title!==null?this.title:this.getItem().getTitleNode()}},{key:"setTitle",value:function e(t){if(s.Type.isString(t)||s.Type.isPlainObject(t)){this.title=new o(t)}else if(t===null){this.title=null}}},{key:"getSubtitle",value:function e(){const t=this.getSubtitleNode();return t!==null?t.getText():null}},{key:"getSubtitleNode",value:function e(){return this.subtitle!==null?this.subtitle:this.getItem().getSubtitleNode()}},{key:"setSubtitle",value:function e(t){if(s.Type.isString(t)||s.Type.isPlainObject(t)){this.subtitle=new o(t)}else if(t===null){this.subtitle=null}}},{key:"getSupertitle",value:function e(){const t=this.getSupertitleNode();return t!==null?t.getText():null}},{key:"getSupertitleNode",value:function e(){return this.supertitle!==null?this.supertitle:this.getItem().getSupertitleNode()}},{key:"setSupertitle",value:function e(t){if(s.Type.isString(t)||s.Type.isPlainObject(t)){this.supertitle=new o(t)}else if(t===null){this.supertitle=null}}},{key:"getCaption",value:function e(){const t=this.getCaptionNode();return t!==null?t.getText():null}},{key:"getCaptionNode",value:function e(){return this.caption!==null?this.caption:this.getItem().getCaptionNode()}},{key:"setCaption",value:function e(t){if(s.Type.isString(t)||s.Type.isPlainObject(t)){this.caption=new o(t)}else if(t===null){this.caption=null}}},{key:"getCaptionOption",value:function e(t){if(!s.Type.isUndefined(this.captionOptions[t])){return this.captionOptions[t]}return this.getItem().getCaptionOption(t)}},{key:"setCaptionOption",value:function e(t,i){if(s.Type.isStringFilled(t)&&!s.Type.isUndefined(i)){this.captionOptions[t]=i}}},{key:"setCaptionOptions",value:function e(t){if(s.Type.isPlainObject(t)){Object.keys(t).forEach((e=>{this.setCaptionOption(e,t[e])}))}}},{key:"getAvatar",value:function e(){return this.avatar!==null?this.avatar:this.getItem().getAvatar()}},{key:"setAvatar",value:function e(t){if(s.Type.isString(t)||t===null){this.avatar=t}}},{key:"getAvatarOption",value:function e(t){return this.avatarOptions===null||s.Type.isUndefined(this.avatarOptions[t])?this.getItem().getAvatarOption(t):this.avatarOptions[t]}},{key:"setAvatarOption",value:function e(t,i){if(s.Type.isStringFilled(t)&&!s.Type.isUndefined(i)){if(this.avatarOptions===null){this.avatarOptions={}}this.avatarOptions[t]=i}}},{key:"setAvatarOptions",value:function e(t){if(s.Type.isPlainObject(t)){Object.keys(t).forEach((e=>{this.setAvatarOption(e,t[e])}))}}},{key:"getTextColor",value:function e(){return this.textColor!==null?this.textColor:this.getItem().getTextColor()}},{key:"setTextColor",value:function e(t){if(s.Type.isString(t)||t===null){this.textColor=t}}},{key:"getLink",value:function e(){return this.link!==null?this.getItem().replaceMacros(this.link):this.getItem().getLink()}},{key:"setLink",value:function e(t){if(s.Type.isString(t)||t===null){this.link=t}}},{key:"getLinkTitle",value:function e(){const t=this.getLinkTitleNode();return t!==null?t.getText():null}},{key:"getLinkTitleNode",value:function e(){return this.linkTitle!==null?this.linkTitle:this.getItem().getLinkTitleNode()}},{key:"setLinkTitle",value:function e(t){if(s.Type.isString(t)||s.Type.isPlainObject(t)){this.linkTitle=new o(t)}else if(t===null){this.linkTitle=null}}},{key:"getBadges",value:function e(){return this.badges!==null?this.badges:this.getItem().getBadges()}},{key:"setBadges",value:function e(t){if(s.Type.isArray(t)){this.badges=[];t.forEach((e=>{this.badges.push(new h(e))}))}else if(t===null){this.badges=null}}},{key:"getBadgesOption",value:function e(t){if(!s.Type.isUndefined(this.badgesOptions[t])){return this.badgesOptions[t]}return this.getItem().getBadgesOption(t)}},{key:"setBadgesOption",value:function e(t,i){if(s.Type.isStringFilled(t)&&!s.Type.isUndefined(i)){this.badgesOptions[t]=i}}},{key:"setBadgesOptions",value:function e(t){if(s.Type.isPlainObject(t)){Object.keys(t).forEach((e=>{this.setBadgesOption(e,t[e])}))}}},{key:"getOuterContainer",value:function e(){return this.cache.remember("outer-container",(()=>{let e="";if(this.hasChildren()||this.isDynamic()){e+=" ui-selector-item-box-has-children";if(this.getDepthLevel()>=this.getTab().getItemMaxDepth()){e+=" ui-selector-item-box-max-depth"}}else if(this.getItem().isSelected()){e+=" ui-selector-item-box-selected"}if(this.isOpen()){e+=" ui-selector-item-box-open"}const t=document.createElement("div");t.className=`ui-selector-item-box${e}`;t.appendChild(this.getContainer());t.appendChild(this.getChildrenContainer());return t}))}},{key:"getChildrenContainer",value:function e(){if(this.isRoot()&&this.getTab()){return this.getTab().getItemsContainer()}return this.cache.remember("children-container",(()=>{const e=document.createElement("div");e.className="ui-selector-item-children";return e}))}},{key:"getContainer",value:function e(){return this.cache.remember("container",(()=>{const e=document.createElement("div");e.className="ui-selector-item";s.Event.bind(e,"click",this.handleClick.bind(this));s.Event.bind(e,"mouseenter",this.handleMouseEnter.bind(this));s.Event.bind(e,"mouseleave",this.handleMouseLeave.bind(this));e.appendChild(this.getAvatarContainer());e.appendChild(this.getTitlesContainer());e.appendChild(this.getIndicatorContainer());if(s.Type.isStringFilled(this.getLink())){e.appendChild(this.getLinkContainer())}return e}))}},{key:"getAvatarContainer",value:function e(){return this.cache.remember("avatar",(()=>{const e=document.createElement("div");e.className="ui-selector-item-avatar";return e}))}},{key:"getTitlesContainer",value:function e(){return this.cache.remember("titles",(()=>{const e=document.createElement("div");e.className="ui-selector-item-titles";e.appendChild(this.getSupertitleContainer());e.appendChild(this.getTitleBoxContainer());e.appendChild(this.getSubtitleContainer());return e}))}},{key:"getTitleBoxContainer",value:function e(){return this.cache.remember("title-box",(()=>{const e=document.createElement("div");e.className="ui-selector-item-title-box";e.appendChild(this.getTitleContainer());e.appendChild(this.getBadgeContainer());e.appendChild(this.getCaptionContainer());return e}))}},{key:"getTitleContainer",value:function e(){return this.cache.remember("title",(()=>{const e=document.createElement("div");e.className="ui-selector-item-title";return e}))}},{key:"getSubtitleContainer",value:function e(){return this.cache.remember("subtitle",(()=>{const e=document.createElement("div");e.className="ui-selector-item-subtitle";return e}))}},{key:"getSupertitleContainer",value:function e(){return this.cache.remember("supertitle",(()=>{const e=document.createElement("div");e.className="ui-selector-item-supertitle";return e}))}},{key:"getCaptionContainer",value:function e(){return this.cache.remember("caption",(()=>{const e=document.createElement("div");e.className="ui-selector-item-caption";return e}))}},{key:"getIndicatorContainer",value:function e(){return this.cache.remember("indicator",(()=>{const e=document.createElement("div");e.className="ui-selector-item-indicator";return e}))}},{key:"getBadgeContainer",value:function e(){return this.cache.remember("badge",(()=>{const e=document.createElement("div");e.className="ui-selector-item-badges";return e}))}},{key:"getLinkContainer",value:function e(){return this.cache.remember("link",(()=>{const e=document.createElement("a");e.className="ui-selector-item-link";e.href=this.getLink();e.target="_blank";e.title="";s.Event.bind(e,"click",this.handleLinkClick.bind(this));e.appendChild(this.getLinkTextContainer());return e}))}},{key:"getLinkTextContainer",value:function e(){return this.cache.remember("link-text",(()=>{const e=document.createElement("span");e.className="ui-selector-item-link-text";return e}))}},{key:"showLink",value:function e(){if(s.Type.isStringFilled(this.getLink())){s.Dom.addClass(this.getLinkContainer(),"ui-selector-item-link--show");requestAnimationFrame((()=>{requestAnimationFrame((()=>{s.Dom.addClass(this.getLinkContainer(),"ui-selector-item-link--animate")}))}))}}},{key:"hideLink",value:function e(){if(s.Type.isStringFilled(this.getLink())){s.Dom.removeClass(this.getLinkContainer(),["ui-selector-item-link--show","ui-selector-item-link--animate"])}}},{key:"setHighlights",value:function e(t){this.highlights=t}},{key:"getHighlights",value:function e(){return this.highlights}},{key:"highlight",value:function e(){this.getHighlights().forEach((e=>{const t=e.getField();const i=t.getName();if(t.isCustom()){const t=this.getItem().getCustomData().get(i);this.getSubtitleContainer().innerHTML=u.mark(t,e.getMatches())}else if(t.getName()==="title"){this.getTitleContainer().innerHTML=u.mark(this.getItem().getTitleNode(),e.getMatches())}else if(t.getName()==="subtitle"){this.getSubtitleContainer().innerHTML=u.mark(this.getItem().getSubtitleNode(),e.getMatches())}else if(t.getName()==="supertitle"){this.getSupertitleContainer().innerHTML=u.mark(this.getItem().getSupertitleNode(),e.getMatches())}else if(t.getName()==="caption"){this.getCaptionContainer().innerHTML=u.mark(this.getItem().getCaptionNode(),e.getMatches())}}))}},{key:"select",value:function e(){if(this.hasChildren()||this.isDynamic()){return}s.Dom.addClass(this.getOuterContainer(),"ui-selector-item-box-selected")}},{key:"deselect",value:function e(){if(this.hasChildren()||this.isDynamic()){return}s.Dom.removeClass(this.getOuterContainer(),"ui-selector-item-box-selected")}},{key:"focus",value:function e(){if(this.isFocused()){return}this.focused=true;s.Dom.addClass(this.getOuterContainer(),"ui-selector-item-box-focused");this.getDialog().emit("ItemNode:onFocus",{node:this})}},{key:"unfocus",value:function e(){if(!this.isFocused()){return}this.focused=false;s.Dom.removeClass(this.getOuterContainer(),"ui-selector-item-box-focused");this.getDialog().emit("ItemNode:onUnfocus",{node:this})}},{key:"isFocused",value:function e(){return this.focused}},{key:"click",value:function e(){if(this.hasChildren()||this.isDynamic()){if(this.isOpen()){this.collapse()}else{this.expand()}}else{if(this.getItem().isSelected()){if(this.getItem().isDeselectable()){this.getItem().deselect()}if(this.getDialog().shouldHideOnDeselect()){this.getDialog().hide()}}else{this.getItem().select();if(this.getDialog().shouldClearSearchOnSelect()){this.getDialog().clearSearch()}if(this.getDialog().shouldHideOnSelect()){this.getDialog().hide()}}}this.getDialog().focusSearch()}},{key:"scrollIntoView",value:function e(){const t=this.getTab().getContainer();const i=this.getContainer();const n=s.Dom.getPosition(t);const l=s.Dom.getPosition(i);const r=9;if(l.top<n.top){t.scrollTop-=n.top-l.top+r}else if(l.bottom>n.bottom){t.scrollTop+=l.bottom-n.bottom+r}}},{key:"handleClick",value:function e(){this.click()}},{key:"handleLinkClick",value:function e(t){this.getDialog().emit("ItemNode:onLinkClick",{node:this,event:t});t.stopPropagation()}},{key:"handleMouseEnter",value:function e(){this.focus();this.showLink();S(this,O,P).call(this)}},{key:"handleMouseLeave",value:function e(){this.unfocus();this.hideLink()}}]);return e}();function D(e){if(s.Type.isBoolean(e)&&!this.isRoot()){this.hidden=e}}function P(){var e;if(C(e=this.constructor,x,E).call(e,this.getTitleContainer())){var t;this.getContainer().setAttribute("title",C(t=this.constructor,x,A).call(t,this.getTitleContainer().textContent))}else{s.Dom.attr(this.getContainer(),"title",null)}const i=[this.getSupertitleContainer(),this.getSubtitleContainer(),this.getCaptionContainer(),...this.getBadges().map((e=>e.getContainer(this.getBadgeContainer())))];i.forEach((e=>{var t;if(C(t=this.constructor,x,E).call(t,e)){var i;e.setAttribute("title",C(i=this.constructor,x,A).call(i,e.textContent))}else{s.Dom.attr(e,"title",null)}}))}function E(e){return e.offsetWidth<e.scrollWidth}function A(e){return e.replace(/[\t ]+/gm," ").replace(/\n+/gm,"\n").trim()}let w=function(){function e(t,i=[]){babelHelpers.classCallCheck(this,e);babelHelpers.defineProperty(this,"field",null);babelHelpers.defineProperty(this,"indexes",[]);this.field=t;this.addIndexes(i)}babelHelpers.createClass(e,[{key:"getField",value:function e(){return this.field}},{key:"getIndexes",value:function e(){return this.indexes}},{key:"addIndex",value:function e(t){this.getIndexes().push(t)}},{key:"addIndexes",value:function e(t){t.forEach((e=>{this.addIndex(e)}))}}]);return e}();let B=function(){function e(t,i){babelHelpers.classCallCheck(this,e);babelHelpers.defineProperty(this,"word","");babelHelpers.defineProperty(this,"startIndex",0);this.setWord(t);this.setStartIndex(i)}babelHelpers.createClass(e,[{key:"getWord",value:function e(){return this.word}},{key:"setWord",value:function e(t){if(s.Type.isStringFilled(t)){this.word=t}return this}},{key:"getStartIndex",value:function e(){return this.startIndex}},{key:"setStartIndex",value:function e(t){if(s.Type.isNumber(t)&&t>=0){this.startIndex=t}return this}}]);return e}(); /** * @license * Lodash <https://lodash.com/> * Copyright OpenJS Foundation and other contributors <https://openjsf.org/> * Released under MIT license <https://lodash.com/license> * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE> * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors */const L="\\ud800-\\udfff";const N="\\u0300-\\u036f";const F="\\ufe20-\\ufe2f";const R="\\u20d0-\\u20ff";const M="\\u1ab0-\\u1aff";const j="\\u1dc0-\\u1dff";const z=N+F+R+M+j;const $="\\u2700-\\u27bf";const W="a-z\\xdf-\\xf6\\xf8-\\xff";const U="\\xac\\xb1\\xd7\\xf7";const _="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf";const V="\\u2000-\\u206f";const q=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000";const Q="A-Z\\xc0-\\xd6\\xd8-\\xde";const G="\\ufe0e\\ufe0f";const X=U+_+V+q;const J="['\u2019]";const K=`[${X}]`;const Z=`[${z}]`;const Y="\\d";const ee=`[${$}]`;const te=`[${W}]`;const ie=`[^${L}${X+Y+$+W+Q}]`;const ne="\\ud83c[\\udffb-\\udfff]";const se=`(?:${Z}|${ne})`;const le=`[^${L}]`;const re="(?:\\ud83c[\\udde6-\\uddff]){2}";const ae="[\\ud800-\\udbff][\\udc00-\\udfff]";const oe=`[${Q}]`;const ue="\\u200d";const he=`(?:${te}|${ie})`;const ce=`(?:${oe}|${ie})`;const de=`(?:${J}(?:d|ll|m|re|s|t|ve))?`;const ge=`(?:${J}(?:D|LL|M|RE|S|T|VE))?`;const fe=`${se}?`;const pe=`[${G}]?`;const be=`(?:${ue}(?:${[le,re,ae].join("|")})${pe+fe})*`;const ye="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])";const ve="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])";const Te=pe+fe+be;const me=`(?:${[ee,re,ae].join("|")})${Te}`;const Ce=new RegExp([`${oe}?${te}+${de}(?=${[K,oe,"$"].join("|")})`,`${ce}+${ge}(?=${[K,oe+he,"$"].join("|")})`,`${oe}?${he}+${de}`,`${oe}+${ge}`,ve,ye,`${Y}+`,me].join("|"),"g");const ke=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;const Se=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;const He=/[^\s]+/g;const Ie=`!"#$%&'()*+,-./:;<=>?@[\\]^_\`{|}`;const Oe=new RegExp(`[${Ie}]`);let xe=function(){function e(){babelHelpers.classCallCheck(this,e);babelHelpers.defineProperty(this,"indexes",[])}babelHelpers.createClass(e,[{key:"addIndex",value:function e(t){if(s.Type.isObject(t)){this.getIndexes().push(t)}}},{key:"getIndexes",value:function e(){return this.indexes}}],[{key:"create",value:function t(i){const n=new e;const l=i.getEntity();if(!i.isSearchable()||!l.isSearchable()||i.isHidden()){return n}const r=l.getSearchFields();r.forEach((e=>{if(!e.isSearchable()){return}if(e.isSystem()){if(e.getName()==="title"){const t=i.getTitleNode();const s=t!==null&&t.getType()==="html";n.addIndex(this.createIndex(e,i.getTitle(),s))}else if(e.getName()==="subtitle"){const t=i.getSubtitleNode();const s=t!==null&&t.getType()==="html";n.addIndex(this.createIndex(e,i.getSubtitle(),s))}else if(e.getName()==="supertitle"){const t=i.getSupertitleNode();const s=t!==null&&t.getType()==="html";n.addIndex(this.createIndex(e,i.getSupertitle(),s))}else if(e.getName()==="caption"){const t=i.getCaptionNode();const s=t!==null&&t.getType()==="html";n.addIndex(this.createIndex(e,i.getCaption(),s))}}else{const t=i.getCustomData().get(e.getName());if(!s.Type.isUndefined(t)){n.addIndex(this.createIndex(e,t))}}}));return n}},{key:"createIndex",value:function e(t,i,n=false){if(!s.Type.isStringFilled(i)){return null}if(n){i=i.replace(/<\/?[^>]+>/g,(e=>" ".repeat(e.length)));i=i.replace(/&(?:#\d+|#x[\da-fA-F]+|[0-9a-zA-Z]+);/g,(e=>" ".repeat(e.length)))}let l=null;if(t.getType()==="string"){const e=this.splitText(i);if(s.Type.isArrayFilled(e)){this.fillComplexWords(e);this.fillNonCharWords(e,i);l=new w(t,e)}}else if(t.getType()==="email"){const e=i.indexOf("@");if(e!==-1){l=new w(t,[new B(i.toLowerCase(),0),new B(i.substr(e+1).toLowerCase(),e+1)])}}return l}},{key:"splitText",value:function e(t){if(!s.Type.isStringFilled(t)){return[]}return this.hasUnicodeWord(t)?this.splitUnicodeText(t):this.splitAsciiText(t)}},{key:"splitUnicodeText",value:function e(t){return this.splitTextInternal(t,Ce)}},{key:"splitAsciiText",value:function e(t){return this.splitTextInternal(t,ke)}},{key:"hasUnicodeWord",value:function e(t){return Se.test(t)}},{key:"splitTextInternal",value:function e(t,i){let n;const s=[];i.lastIndex=0;while((n=i.exec(t))!==null){if(n.index===i.lastIndex){i.lastIndex++}s.push(new B(n[0].toLowerCase(),n.index))}return s}},{key:"fillComplexWords",value:function e(t){if(t.length<2){return}let i=null;let n=null;t.forEach(((e,s)=>{const l=t[s+1];if(l){const s=e.getStartIndex()+e.getWord().length===l.getStartIndex();if(s){if(i===null){i=e.getWord();n=e.getStartIndex()}i+=l.getWord()}else if(i!==null){t.push(new B(i,n));i=null;n=null}}else if(i!==null){t.push(new B(i,n));i=null;n=null}}))}},{key:"fillNonCharWords",value:function e(t,i){if(!Oe.test(i)){return}let n;while((n=He.exec(i))!==null){if(n.index===He.lastIndex){He.lastIndex++}const e=n[0];if(Oe.test(e)){t.push(new B(e.toLowerCase(),n.index));for(let i=0;i<e.length;i++){const s=e[i];if(!Ie.includes(s)){break}const l=e.substr(i+1);if(l.length){t.push(new B(l.toLowerCase(),n.index+i+1))}}}}He.lastIndex=0}}]);return e}();let De=function(){function e(t){babelHelpers.classCallCheck(this,e);babelHelpers.defineProperty(this,"id",null);babelHelpers.defineProperty(this,"options",{});const i=s.Type.isPlainObject(t)?t:{};this.id=i.id;this.options=i.options}babelHelpers.createClass(e,[{key:"getId",value:function e(){return this.id}},{key:"getOptions",value:function e(){return this.options}},{key:"toJSON",value:function e(){return{id:this.getId(),options:this.getOptions()}}}]);return e}();let Pe=function(){function e(t){babelHelpers.classCallCheck(this,e);babelHelpers.defineProperty(this,"id",null);babelHelpers.defineProperty(this,"options",{});babelHelpers.defineProperty(this,"searchable",true);babelHelpers.defineProperty(this,"searchFields",null);babelHelpers.defineProperty(this,"dynamicLoad",false);babelHelpers.defineProperty(this,"dynamicSearch",false);babelHelpers.defineProperty(this,"substituteEntityId",null);babelHelpers.defineProperty(this,"searchCacheLimits",[]);babelHelpers.defineProperty(this,"filters",new Map);babelHelpers.defineProperty(this,"itemOptions",{});babelHelpers.defineProperty(this,"tagOptions",{});babelHelpers.defineProperty(this,"badgeOptions",[]);babelHelpers.defineProperty(this,"textNodes",new Map);let n=s.Type.isPlainObject(t)?t:{};if(!s.Type.isStringFilled(n.id)){throw new Error('EntitySelector.Entity: "id" parameter is required.')}const l=this.constructor.getEntityDefaultOptions(n.id)||{};n=s.Runtime.merge(JSON.parse(JSON.stringify(l)),n);this.id=n.id.toLowerCase();this.options=s.Type.isPlainObject(n.options)?n.options:{};this.itemOptions=s.Type.isPlainObject(n.itemOptions)?n.itemOptions:{};this.tagOptions=s.Type.isPlainObject(n.tagOptions)?n.tagOptions:{};this.badgeOptions=s.Type.isArray(n.badgeOptions)?n.badgeOptions:[];this.substituteEntityId=s.Type.isStringFilled(n.substituteEntityId)?n.substituteEntityId:null;if(s.Type.isArray(n.filters)){n.filters.forEach((e=>{this.addFilter(e)}))}this.searchFields=new i.OrderedArray(((e,t)=>{if(e.getSort()!==null&&t.getSort()===null){return-1}else if(e.getSort()===null&&t.getSort()!==null){return 1}else if(e.getSort()===null&&t.getSort()===null){return-1}else{return e.getSort()-t.getSort()}}));this.setSearchable(n.searchable);this.setDynamicLoad(n.dynamicLoad);this.setDynamicSearch(n.dynamicSearch);this.setSearchFields(n.searchFields);this.setSearchCacheLimits(n.searchCacheLimits)}babelHelpers.createClass(e,[{key:"getId",value:function e(){return this.id}},{key:"getOptions",value:function e(){return this.options}},{key:"getItemOptions",value:function e(){return this.itemOptions}},{key:"getItemOption",value:function e(t,i){return this.constructor.getOptionInternal(this.itemOptions,t,i)}},{key:"getTagOptions",value:function e(){return this.tagOptions}},{key:"getTagOption",value:function e(t,i){return this.constructor.getOptionInternal(this.tagOptions,t,i)}},{key:"getBadges",value:function e(t){const i=this.getItemOption("badges",t.getEntityType())||[];const n=[...i];this.badgeOptions.forEach((e=>{if(s.Type.isPlainObject(e.conditions)){for(const i in e.conditions){if(t.getCustomData().get(i)!==e.conditions[i]){return}}n.push(e)}}));return n}},{key:"getOptionTextNode",value:function e(t,i){if(!s.Type.isString(t)){return null}if(!s.Type.isString(i)){i="default"}let n=this.textNodes.get(t);let l=n?n.get(i):undefined;if(s.Type.isUndefined(l)){if(!n){n=new Map;this.textNodes.set(t,n)}const e=this.getItemOption(t,i);l=s.Type.isString(e)||s.Type.isPlainObject(e)?new o(e):null;n.set(i,l)}return l}},{key:"isSearchable",value:function e(){return this.searchable}},{key:"setSearchable",value:function e(t){if(s.Type.isBoolean(t)){this.searchable=t}}},{key:"getSearchFields",value:function e(){return this.searchFields}},{key:"setSearchFields",value:function e(t){this.searchFields.clear();const i=new c({name:"title",searchable:true,system:true,type:"string"});const n=new c({name:"subtitle",searchable:true,system:true,type:"string"});this.searchFields.add(i);this.searchFields.add(n);const l=s.Type.isArray(t)?t:[];l.forEach((e=>{const t=new c(e);if(t.isSystem()){if(t.getName()==="title"){this.searchFields.delete(i)}else if(t.getName()==="subtitle"){this.searchFields.delete(n)}}this.searchFields.add(t)}));this.searchFields.forEach(((e,t)=>{e.setSort(t)}))}},{key:"setSearchCacheLimits",value:function e(t){if(s.Type.isArrayFilled(t)){t.forEach((e=>{if(s.Type.isStringFilled(e)){this.searchCacheLimits.push(new RegExp(e,"i"))}}))}}},{key:"getSearchCacheLimits",value:function e(){return this.searchCacheLimits}},{key:"hasDynamicLoad",value:function e(){return this.dynamicLoad}},{key:"setDynamicLoad",value:function e(t){if(s.Type.isBoolean(t)){this.dynamicLoad=t}}},{key:"hasDynamicSearch",value:function e(){return this.dynamicSearch}},{key:"setDynamicSearch",value:function e(t){if(s.Type.isBoolean(t)){this.dynamicSearch=t}}},{key:"getFilters",value:function e(){return Array.from(this.filters.values())}},{key:"addFilters",value:function e(t){if(s.Type.isArray(t)){t.forEach((e=>{this.addFilter(e)}))}}},{key:"addFilter",value:function e(t){if(s.Type.isPlainObject(t)){const e=new De(t);this.filters.set(e.getId(),e)}}},{key:"getFilter",value:function e(t){return this.filters.get(t)||null}},{key:"getSubstituteEntityId",value:function e(){return this.substituteEntityId}},{key:"toJSON",value:function e(){return{id:this.getId(),options:this.getOptions(),searchable:this.isSearchable(),dynamicLoad:this.hasDynamicLoad(),dynamicSearch:this.hasDynamicSearch(),filters:this.getFilters(),substituteEntityId:this.getSubstituteEntityId()}}}],[{key:"getDefaultOptions",value:function e(){if(this.defaultOptions===null){this.defaultOptions={};this.getExtensions().forEach((e=>{const t=s.Extension.getSettings(e);const i=t.get("entities",[]);i.forEach((e=>{if(s.Type.isStringFilled(e.id)&&s.Type.isPlainObject(e.options)){this.defaultOptions[e.id]=JSON.parse(JSON.stringify(e.options))}}))}))}return this.defaultOptions}},{key:"getExtensions",value:function e(){if(this.extensions===null){const e=s.Extension.getSettings("ui.entity-selector");this.extensions=e.get("extensions",[])}return this.extensions}},{key:"getEntityDefaultOptions",value:function e(t){return this.getDefaultOptions()[t]||null}},{key:"getItemOptions",value:function e(t,i){if(!s.Type.isStringFilled(t)){return null}const n=this.getEntityDefaultOptions(t);const l=n&&n["itemOptions"]?n["itemOptions"]:null;if(s.Type.isUndefined(i)){return l}else{return l&&!s.Type.isUndefined(l[i])?l[i]:null}}},{key:"getTagOptions",value:function e(t,i){if(!s.Type.isStringFilled(t)){return null}const n=this.getEntityDefaultOptions(t);const l=n&&n["tagOptions"]?n["tagOptions"]:null;if(s.Type.isUndefined(i)){return l}else{return l&&!s.Type.isUndefined(l[i])?l[i]:null}}},{key:"getItemOption",value:function e(t,i,n){return this.getOptionInternal(this.getItemOptions(t),i,n)}},{key:"getTagOption",value:function e(t,i,n){return this.getOptionInternal(this.getTagOptions(t),i,n)}},{key:"getOptionInternal",value:function e(t,i,n){if(!s.Type.isPlainObject(t)){return null}if(t[n]&&!s.Type.isUndefined(t[n][i])){return t[n][i]}else if(t["default"]&&!s.Type.isUndefined(t["default"][i])){return t["default"][i]}return null}}]);return e}();babelHelpers.defineProperty(Pe,"extensions",null);babelHelpers.defineProperty(Pe,"defaultOptions",null);let Ee=function(){function e(){babelHelpers.classCallCheck(this,e)}babelHelpers.createClass(e,null,[{key:"createMapFromOptions",value:function e(t){if(s.Type.isPlainObject(t)){return new Map(Object.entries(t))}const i=new Map;if(s.Type.isArrayFilled(t)){t.forEach((e=>{if(s.Type.isArray(e)&&e.length===2&&s.Type.isString(e[0])){i.set(e[0],e[1])}}))}return i}},{key:"convertMapToObject",value:function e(t){const i={};if(s.Type.isMap(t)){t.forEach(((e,t)=>{if(s.Type.isString(t)){i[t]=e}}))}return i}}]);return e}();function Ae(e,t){we(e,t);t.add(e)}function we(e,t){if(t.has(e)){throw new TypeError("Cannot initialize the same private elements twice on an object")}}function Be(e,t,i){if(!t.has(e)){throw new TypeError("attempted to get private field on non-instance")}return i}var Le=new WeakSet;let Ne=function(){function e(t){babelHelpers.classCallCheck(this,e);Ae(this,Le);babelHelpers.defineProperty(this,"id",null);babelHelpers.defineProperty(this,"entityId",null);babelHelpers.defineProperty(this,"entityType",null);babelHelpers.defineProperty(this,"title",null);babelHelpers.defineProperty(this,"subtitle",null);babelHelpers.defineProperty(this,"supertitle",null);babelHelpers.defineProperty(this,"caption",null);babelHelpers.defineProperty(this,"captionOptions",{});babelHelpers.defineProperty(this,"avatar",null);babelHelpers.defineProperty(this,"avatarOptions",null);babelHelpers.defineProperty(this,"textColor",null);babelHelpers.defineProperty(this,"link",null);babelHelpers.defineProperty(this,"linkTitle",null);babelHelpers.defineProperty(this,"tagOptions",null);babelHelpers.defineProperty(this,"badges",null);babelHelpers.defineProperty(this,"badgesOptions",{});babelHelpers.defineProperty(this,"dialog",null);babelHelpers.defineProperty(this,"nodes",new Set);babelHelpers.defineProperty(this,"selected",false);babelHelpers.defineProperty(this,"searchable",true);babelHelpers.defineProperty(this,"saveable",true);babelHelpers.defineProperty(this,"deselectable",true);babelHelpers.defineProperty(this,"hidden",false);babelHelpers.defineProperty(this,"searchIndex",null);babelHelpers.defineProperty(this,"customData",null);babelHelpers.defineProperty(this,"sort",null);babelHelpers.defineProperty(this,"contextSort",null);babelHelpers.defineProperty(this,"globalSort",null);const i=s.Type.isPlainObject(t)?t:{};if(!s.Type.isStringFilled(i.id)&&!s.Type.isNumber(i.id)){throw new Error('EntitySelector.Item: "id" parameter is required.')}if(!s.Type.isStringFilled(i.entityId)){throw new Error('EntitySelector.Item: "entityId" parameter is required.')}this.id=i.id;this.entityId=i.entityId.toLowerCase();this.entityType=s.Type.isStringFilled(i.entityType)?i.entityType:"default";this.selected=s.Type.isBoolean(i.selected)?i.selected:false;this.customData=Ee.createMapFromOptions(i.customData);this.tagOptions=Ee.createMapFromOptions(i.tagOptions);this.setTitle(i.title);this.setSubtitle(i.subtitle);this.setSupertitle(i.supertitle);this.setCaption(i.caption);this.setCaptionOptions(i.captionOptions);this.setAvatar(i.avatar);this.setAvatarOptions(i.avatarOptions);this.setTextColor(i.textColor);this.setLink(i.link);this.setLinkTitle(i.linkTitle);this.setBadges(i.badges);this.setBadgesOptions(i.badgesOptions);this.setSearchable(i.searchable);this.setSaveable(i.saveable);this.setDeselectable(i.deselectable);this.setHidden(i.hidden);this.setContextSort(i.contextSort);this.setGlobalSort(i.globalSort);this.setSort(i.sort)}babelHelpers.createClass(e,[{key:"getId",value:function e(){return this.id}},{key:"getEntityId",value:function e(){return this.entityId}},{key:"getEntity",value:function e(){let t=this.getDialog().getEntity(this.getEntityId());if(t===null){t=new Pe({id:this.getEntityId()});this.getDialog().addEntity(t)}return t}},{key:"getEntityType",value:function e(){return this.entityType}},{key:"getTitle",value:function e(){const t=this.getTitleNode();return t!==null&&!t.isNullable()?t.getText():""}},{key:"getTitleNode",value:function e(){return this.title}},{key:"setTitle",value:function e(t){if(s.Type.isStringFilled(t)||s.Type.isPlainObject(t)||t===null){this.title=t===null?null:new o(t);this.resetSearchIndex();Be(this,Le,Fe).call(this)}}},{key:"getSubtitle",value:function e(){const t=this.getSubtitleNode();return t!==null?t.getText():null}},{key:"getSubtitleNode",value:function e(){return this.subtitle!==null?this.subtitle:this.getEntityTextNode("subtitle")}},{key:"setSubtitle",value:function e(t){if(s.Type.isString(t)||s.Type.isPlainObject(t)||t===null){this.subtitle=t===null?null:new o(t);this.resetSearchIndex();Be(this,Le,Fe).call(this)}}},{key:"getSupertitle",value:function e(){const t=this.getSupertitleNode();return t!==null?t.getText():null}},{key:"getSupertitleNode",value:function e(){return this.supertitle!==null?this.supertitle:this.getEntityTextNode("supertitle")}},{key:"setSupertitle",value:function e(t){if(s.Type.isString(t)||s.Type.isPlainObject(t)||t===null){this.supertitle=t===null?null:new o(t);this.resetSearchIndex();Be(this,Le,Fe).call(this)}}},{key:"getCaption",value:function e(){const t=this.getCaptionNode();return t!==null?t.getText():null}},{key:"getCaptionNode",value:function e(){return this.caption!==null?this.caption:this.getEntityTextNode("caption")}},{key:"setCaption",value:function e(t){if(s.Type.isString(t)||s.Type.isPlainObject(t)||t===null){this.caption=t===null?null:new o(t);this.resetSearchIndex();Be(this,Le,Fe).call(this)}}},{key:"getCaptionOption",value:function e(t){if(!s.Type.isUndefined(this.captionOptions[t])){return this.captionOptions[t]}const i=this.getEntityItemOption("captionOptions");if(s.Type.isPlainObject(i)&&!s.Type.isUndefined(i[t])){return i[t]}return null}},{key:"setCaptionOption",value:function e(t,i){if(s.Type.isStringFilled(t)&&!s.Type.isUndefined(i)){this.captionOptions[t]=i;Be(this,Le,Fe).call(this)}}},{key:"setCaptionOptions",value:function e(t){if(s.Type.isPlainObject(t)){Object.keys(t).forEach((e=>{this.setCaptionOption(e,t[e])}))}}},{key:"getAvatar",value:function e(){return this.avatar!==null?this.avatar:this.getEntityItemOption("avatar")}},{key:"setAvatar",value:function e(t){if(s.Type.isString(t)||t===null){this.avatar=t;Be(this,Le,Fe).call(this)}}},{key:"getAvatarOption",value:function e(t){if(this.avatarOptions!==null&&!s.Type.isUndefined(this.avatarOptions[t])){return this.avatarOptions[t]}const i=this.getEntityItemOption("avatarOptions");if(s.Type.isPlainObject(i)&&!s.Type.isUndefined(i[t])){return i[t]}return null}},{key:"setAvatarOption",value:function e(t,i){if(s.Type.isStringFilled(t)&&!s.Type.isUndefined(i)){if(this.avatarOptions===null){this.avatarOptions={}}this.avatarOptions[t]=i;Be(this,Le,Fe).call(this)}}},{key:"setAvatarOptions",value:function e(t){if(s.Type.isPlainObject(t)){Object.keys(t).forEach((e=>{this.setAvatarOption(e,t[e])}))}}},{key:"getTextColor",value:function e(){return this.textColor!==null?this.textColor:this.getEntityItemOption("textColor")}},{key:"setTextColor",value:function e(t){if(s.Type.isString(t)||t===null){this.textColor=t;Be(this,Le,Fe).call(this)}}},{key:"getLink",value:function e(){const t=this.link!==null?this.link:this.getEntityItemOption("link");return this.replaceMacros(t)}},{key:"setLink",value:function e(t){if(s.Type.isString(t)||t===null){this.link=t;Be(this,Le,Fe).call(this)}}},{key:"getLinkTitle",value:function e(){const t=this.getLinkTitleNode();return t!==null?t.getText():s.Loc.getMessage("UI_SELECTOR_ITEM_LINK_TITLE")}},{key:"getLinkTitleNode",value:function e(){return this.linkTitle!==null?this.linkTitle:this.getEntityTextNode("linkTitle")}},{key:"setLinkTitle",value:function e(t){if(s.Type.isString(t)||s.Type.isPlainObject(t)||t===null){this.linkTitle=t===null?null:new o(t);Be(this,Le,Fe).call(this)}}},{key:"getBadges",value:function e(){if(this.badges!==null){return this.badges}const t=this.getEntity().getBadges(this);if(s.Type.isArray(t)){this.setBadges(t)}else{this.badges=[]}return this.badges}},{key:"setBadges",value:function e(t){if(s.Type.isArray(t)){this.badges=[];t.forEach((e=>{this.badges.push(new h(e))}));Be(this,Le,Fe).call(this)}else if(t===null){this.badges=null;Be(this,Le,Fe).call(this)}}},{key:"getBadgesOption",value:function e(t){if(!s.Type.isUndefined(this.badgesOptions[t])){return this.badgesOptions[t]}const i=this.getEntityItemOption("badgesOptions");if(s.Type.isPlainObject(i)&&!s.Type.isUndefined(i[t])){return i[t]}return null}},{key:"setBadgesOption",value:function e(t,i){if(s.Type.isStringFilled(t)&&!s.Type.isUndefined(i)){this.badgesOptions[t]=i;Be(this,Le,Fe).call(this)}}},{key:"setBadgesOptions",value:function e(t){if(s.Type.isPlainObject(t)){Object.keys(t).forEach((e=>{this.setBadgesOption(e,t[e])}))}}},{key:"setDialog",value:function e(t){this.dialog=t}},{key:"getDialog",value:function e(){return this.dialog}},{key:"createNode",value:function e(t){const i=new x(this,t);this.nodes.add(i);return i}},{key:"removeNode",value:function e(t){this.nodes.delete(t)}},{key:"getNodes",value:function e(){return this.nodes}},{key:"select",value:function e(t=false){if(this.selected){return}const i=this.getDialog();const s=i&&!t;if(s){const e=new n.BaseEvent({data:{item:this}});i.emit("Item:onBeforeSelect",e);if(e.isDefaultPrevented()){return}}this.selected=true;if(i){i.handleItemSelect(this,!t)}if(this.isRendered()){this.getNodes().forEach((e=>{e.select()}))}if(s){i.emit("Item:onSelect",{item:this});i.saveRecentItem(this)}}},{key:"deselect",value:function e(t=false){if(!this.selected){return}const i=this.getDialog();if(i){const e=new n.BaseEvent({data:{item:this}});i.emit("Item:onBeforeDeselect",e);if(e.isDefaultPrevented()){return}}this.selected=false;if(this.isRendered()){this.getNodes().forEach((e=>{e.deselect()}))}if(i){i.handleItemDeselect(this,!t);i.emit("Item:onDeselect",{item:this})}}},{key:"isSelected",value:function e(){return this.selected}},{key:"setSearchable",value:function e(t){if(s.Type.isBoolean(t)){this.searchable=t}}},{key:"isSearchable",value:function e(){return this.searchable}},{key:"setSaveable",value:function e(t){if(s.Type.isBoolean(t)){this.saveable=t}}},{key:"isSaveable",value:function e(){return this.saveable}},{key:"setDeselectable",value:function e(t){if(s.Type.isBoolean(t)){this.deselectable=t;if(this.getDialog()&&this.getDialog().getTagSelector()){const e=this.getDialog().getTagSelector().getTag({id:this.getId(),entityId:this.getEntityId()});if(e){e.setDeselectable(t)}}}}},{key:"isDeselectable",value:function e(){return this.deselectable}},{key:"setHidden",value:function e(t){if(s.Type.isBoolean(t)){this.hidden=t;if(this.isRendered()){this.getNodes().forEach((e=>{e.setHidden(t)}))}}}},{key:"isHidden",value:function e(){return this.hidden}},{key:"setContextSort",value:function e(t){if(s.Type.isNumber(t)||t===null){this.contextSort=t}}},{key:"getContextSort",value:function e(){return this.contextSort}},{key:"setGlobalSort",value:function e(t){if(s.Type.isNumber(t)||t===null){this.globalSort=t}}},{key:"getGlobalSort",value:function e(){return this.globalSort}},{key:"setSort",value:function e(t){if(s.Type.isNumber(t)||t===null){this.sort=t}}},{key:"getSort",value:function e(){return this.sort}},{key:"getSearchIndex",value:function e(){if(this.searchIndex===null){this.searchIndex=xe.create(this)}return this.searchIndex}},{key:"resetSearchIndex",value:function e(){this.searchIndex=null}},{key:"getCustomData",value:function e(){return this.customData}},{key:"isRendered",value:function e(){return this.getDialog()&&this.getDialog().isRendered()}},{key:"getEntityItemOption",value:function e(t){return this.getEntity().getItemOption(t,this.getEntityType())}},{key:"getEntityTagOption",value:function e(t){return this.getEntity().getTagOption(t,this.getEntityType())}},{key:"getEntityTextNode",value:function e(t){return this.getEntity().getOptionTextNode(t,this.getEntityType())}},{key:"getTagOptions",value:function e(){return this.tagOptions}},{key:"getTagOption",value:function e(t){const i=this.getTagOptions().get(t);if(!s.Type.isUndefined(i)){return i}return null}},{key:"getTagGlobalOption",value:function e(t,i=false){if(!s.Type.isStringFilled(t)){return null}let n=this.getTagOption(t);if(n===null&&i===true&&this[t]!==null){n=this[t]}if(n===null&&this.getDialog().getTagSelector()){const e=`getTag${s.Text.toPascalCase(t)}`;if(s.Type.isFunction(this.getDialog().getTagSelector()[e])){n=this.getDialog().getTagSelector()[e]()}}if(n===null){n=this.getEntityTagOption(t)}if(n===null&&i===true){n=this.getEntityItemOption(t)}return n}},{key:"getTagBgColor",value:function e(){return this.getTagGlobalOption("bgColor")}},{key:"getTagTextColor",value:function e(){return this.getTagGlobalOption("textColor")}},{key:"getTagMaxWidth",value:function e(){return this.getTagGlobalOption("maxWidth")}},{key:"getTagFontWeight",value:function e(){return this.getTagGlobalOption("fontWeight")}},{key:"getTagAvatar",value:function e(){return this.getTagGlobalOption("avatar",true)}},{key:"getTagAvatarOptions",value:function e(){return this.getTagGlobalOption("avatarOptions",true)}},{key:"getTagLink",value:function e(){return this.replaceMacros(this.getTagGlobalOption("link",true))}},{key:"replaceMacros",value:function e(t){if(!s.Type.isStringFilled(t)){return t}return t.replace(/#id#/i,this.getId()).replace(/#element_id#/i,this.getId())}},{key:"createTag",value:function e(){return{id:this.getId(),entityId:this.getEntityId(),entityType:this.getEntityType(),title:this.getTagOption("title")||this.getTitleNode()&&this.getTitleNode().toJSON()||"",deselectable:this.isDeselectable(),avatar:this.getTagAvatar(),avatarOptions:this.getTagAvatarOptions(),link:this.getTagLink(),maxWidth:this.getTagMaxWidth(),textColor:this.getTagTextColor(),bgColor:this.getTagBgColor(),fontWeight:this.getTagFontWeight(),onclick:this.getTagOption("onclick")}}},{key:"getAjaxJson",value:function e(){return this.toJSON()}},{key:"toJSON",value:function e(){return{id:this.getId(),entityId:this.getEntityId(),entityType:this.getEntityType(),selected:this.isSelected(),deselectable:this.isDeselectable(),searchable:this.isSearchable(),saveable:this.isSaveable(),hidden:this.isHidden(),title:this.getTitleNode(),link:this.getLink(),linkTitle:this.getLinkTitleNode(),subtitle:this.getSubtitleNode(),supertitle:this.getSupertitleNode(),caption:this.getCaptionNode(),avatar:this.getAvatar(),textColor:this.getTextColor(),sort:this.getSort(),contextSort:this.getContextSort(),globalSort:this.getGlobalSort(),customData:Ee.convertMapToObject(this.getCustomData()),tagOptions:Ee.convertMapToObject(this.getTagOptions()),badges:this.getBadges()}}}]);return e}();function Fe(){if(this.isRendered()){this.getNodes().forEach((e=>{e.render()}))}}let Re=e=>e,Me;let je=function(){function e(t,i){babelHelpers.classCallCheck(this,e);babelHelpers.defineProperty(this,"tab",null);babelHelpers.defineProperty(this,"autoShow",true);babelHelpers.defineProperty(this,"cache",new s.Cache.MemoryCache);babelHelpers.defineProperty(this,"content",null);this.options=s.Type.isPlainObject(i)?i:{};this.tab=t;this.autoShow=this.getOption("autoShow",true)}babelHelpers.createClass(e,[{key:"render",value:function e(){throw new Error("You must implement render() method.")}},{key:"getTab",value:function e(){return this.tab}},{key:"getOuterContainer",value:function e(){return this.cache.remember("outer-container",(()=>s.Tag.render(Me||(Me=Re` <div class="ui-selector-tab-stub">${0}</div> `),this.render())))}},{key:"isAutoShow",value:function e(){return this.autoShow}},{key:"show",value:function e(){s.Dom.append(this.getOuterContainer(),this.getTab().getContainer())}},{key:"hide",value:function e(){s.Dom.remove(this.getOuterContainer())}},{key:"getOptions",value:function e(){return this.options}},{key:"getOption",value:function e(t,i){if(!s.Type.isUndefined(this.options[t])){return this.options[t]}else if(!s.Type.isUndefined(i)){return i}return null}}]);return e}();let ze=e=>e,$e,We,Ue,_e;let Ve=function(e){babelHelpers.inherits(t,e);function t(e,i){var n;babelHelpers.classCallCheck(this,t);n=babelHelpers.possibleConstructorReturn(this,babelHelpers.getPrototypeOf(t).call(this,e,i));babelHelpers.defineProperty(babelHelpers.assertThisInitialized(n),"content",null);return n}babelHelpers.createClass(t,[{key:"getContainer",value:function e(){return this.cache.remember("container",(()=>{const e=this.getOption("subtitle");const t=s.Type.isStringFilled(this.getOption("title"))?this.getOption("title"):this.getDefaultTitle();const i=this.getOption("icon")||this.getTab().getIcon("default");let n=35;if(s.Type.isNumber(this.getOption("iconOpacity"))){n=Math.min(100,Math.max(0,this.getOption("iconOpacity")))}const l=s.Type.isStringFilled(i)?`style="background-image: url('${v(i)}'); opacity: ${n/100};"`:"";const r=this.getOption("arrow",false)&&this.getTab().getDialog().getActiveFooter()!==null;return s.Tag.render($e||($e=ze` <div class="ui-selector-tab-default-stub"> <div class="ui-selector-tab-default-stub-icon" ${0}></div> <div class="ui-selector-tab-default-stub-titles"> <div class="ui-selector-tab-default-stub-title">${0}</div> ${0} </div> ${0} </div> `),l,t,e?s.Tag.render(We||(We=ze`<div class="ui-selector-tab-default-stub-subtitle">${0}</div>`),e):"",r?s.Tag.render(Ue||(Ue=ze`<div class="ui-selector-tab-default-stub-arrow"></div>`)):"")}))}},{key:"getDefaultTitle",value:function e(){const t=this.getTab().getTitleNode();if(t===null){return s.Loc.getMessage("UI_SELECTOR_TAB_STUB_TITLE").replace(/#TAB_TITLE#/,"")}const i=s.Tag.render(_e||(_e=ze`<span class="ui-selector-tab-default-stub-title"></span>`));t.renderTo(i);return s.Loc.getMessage("UI_SELECTOR_TAB_STUB_TITLE").replace(/#TAB_TITLE#/,i.innerHTML)}},{key:"render",value:function e(){return this.getContainer()}}]);return t}(je);let qe=e=>e,Qe;let Ge=function(){function e(t,i){babelHelpers.classCallCheck(this,e);babelHelpers.defineProperty(this,"dialog",null);babelHelpers.defineProperty(this,"tab",null);babelHelpers.defineProperty(this,"container",null);babelHelpers.defineProperty(this,"cache",new s.Cache.MemoryCache);this.options=s.Type.isPlainObject(i)?i:{};if(t instanceof vi){this.dialog=t}else{this.tab=t;this.dialog=this.tab.getDialog()}}babelHelpers.createClass(e,[{key:"getDialog",value:function e(){return this.dialog}},{key:"getTab",value:function e(){return this.tab}},{key:"show",value:function e(){s.Dom.addClass(this.getContainer(),"ui-selector-header--show")}},{key:"hide",value:function e(){s.Dom.removeClass(this.getContainer(),"ui-selector-header--show")}},{key:"getOptions",value:function e(){return this.options}},{key:"getOption",value:function e(t,i){if(!s.Type.isUndefined(this.options[t])){return this.options[t]}else if(!s.Type.isUndefined(i)){return i}return null}},{key:"getContainer",value:function e(){if(this.container===null){this.container=s.Tag.render(Qe||(Qe=qe` <div class="ui-selector-header">${0}</div> `),this.render())}return this.container}},{key:"render",value:function e(){throw new Error("You must implement render() method.")}}]);return e}();let Xe=e=>e,Je;let Ke=function(){function e(t,i){babelHelpers.classCallCheck(this,e);babelHelpers.defineProperty(this,"dialog",null);babelHelpers.defineProperty(this,"tab",null);babelHelpers.defineProperty(this,"container",null);babelHelpers.defineProperty(this,"cache",new s.Cache.MemoryCache);this.options=s.Type.isPlainObject(i)?i:{};if(t instanceof vi){this.dialog=t}else{this.tab=t;this.dialog=this.tab.getDialog()}}babelHelpers.createClass(e,[{key:"getDialog",value:function e(){return this.dialog}},{key:"getTab",value:function e(){return this.tab}},{key:"show",value:function e(){s.Dom.addClass(this.getContainer(),"ui-selector-footer--show")}},{key:"hide",value:function e(){s.Dom.removeClass(this.getContainer(),"ui-selector-footer--show")}},{key:"getOptions",value:function e(){return this.options}},{key:"getOption",value:function e(t,i){if(!s.Type.isUndefined(this.options[t])){return this.options[t]}else if(!s.Type.isUndefined(i)){return i}return null}},{key:"getContainer",value:function e(){if(this.container===null){this.container=s.Tag.render(Je||(Je=Xe` <div class="ui-selector-footer">${0}</div> `),this.render())}return this.container}},{key:"render",value:function e(){throw new Error("You must implement render() method.")}}]);return e}();let Ze=e=>e,Ye,et,tt,it,nt;let st=function(){function e(t,i){babelHelpers.classCallCheck(this,e);babelHelpers.defineProperty(this,"id",null);babelHelpers.defineProperty(this,"title",null);babelHelpers.defineProperty(this,"rootNode",null);babelHelpers.defineProperty(this,"dialog",null);babelHelpers.defineProperty(this,"stub",null);babelHelpers.defineProperty(this,"visible",true);babelHelpers.defineProperty(this,"rendered",false);babelHelpers.defineProperty(this,"locked",false);babelHelpers.defineProperty(this,"selected",false);babelHelpers.defineProperty(this,"hovered",false);babelHelpers.defineProperty(this,"icon",{});babelHelpers.defineProperty(this,"textColor",{});babelHelpers.defineProperty(this,"bgColor",{});babelHelpers.defineProperty(this,"itemMaxDepth",5);babelHelpers.defineProperty(this,"header",null);babelHelpers.defineProperty(this,"showDefaultHeader",true);babelHelpers.defineProperty(this,"footer",null);babelHelpers.defineProperty(this,"showDefaultFooter",true);babelHelpers.defineProperty(this,"showAvatars",null);babelHelpers.defineProperty(this,"cache",new s.Cache.MemoryCache);const n=s.Type.isPlainObject(i)?i:{};if(!s.Type.isStringFilled(n.id)){throw new Error('EntitySelector.Tab: "id" parameter is required.')}this.setDialog(t);this.id=n.id;this.showDefaultHeader=n.showDefaultHeader!==false;this.showDefaultFooter=n.showDefaultFooter!==false;this.rootNode=new x(null,{itemOrder:n.itemOrder});this.rootNode.setTab(this);this.setVisible(n.visible);this.setTitle(n.title);this.setItemMaxDepth(n.itemMaxDepth);this.setIcon(n.icon);this.setTextColor(n.textColor);this.setBgColor(n.bgColor);this.setStub(n.stub,n.stubOptions);this.setHeader(n.header,n.headerOptions);this.setFooter(n.footer,n.footerOptions);this.setShowAvatars(n.showAvatars)}babelHelpers.createClass(e,[{key:"getId",value:function e(){return this.id}},{key:"setDialog",value:function e(t){this.dialog=t}},{key:"getDialog",value:function e(){return this.dialog}},{key:"getStub",value:function e(){return this.stub}},{key:"setStub",value:function e(t,i){let n=null;const l=s.Type.isPlainObject(i)?i:{};if(s.Type.isString(t)||s.Type.isFunction(t)){const e=s.Type.isString(t)?s.Reflection.getClass(t):t;if(s.Type.isFunction(e)){n=new e(this,l);if(!(n instanceof je)){console.error("EntitySelector: stub is not an instance of BaseStub.");n=null}}}if(!n&&t!==false){n=new Ve(this,l)}this.stub=n}},{key:"getHeader",value:function e(){return this.header}},{key:"setHeader",value:function e(t,i){let n=null;if(t!==null){n=vi.createHeader(this,t,i);if(n===null){return}}if(this.isRendered()&&this.getHeader()!==null){s.Dom.remove(this.getHeader().getContainer());this.getDialog().adjustHeader()}this.header=n;if(this.isRendered()){this.getDialog().appendHeader(n);this.getDialog().adjustHeader()}}},{key:"canShowDefaultHeader",value:function e(){return this.showDefaultHeader}},{key:"enableDefaultHeader",value:function e(){this.showDefaultHeader=true;this.getDialog().adjustHeader()}},{key:"disableDefaultHeader",value:function e(){this.showDefaultHeader=false;this.getDialog().adjustHeader()}},{key:"getFooter",value:function e(){return this.footer}},{key:"setFooter",value:function e(t,i){let n=null;if(t!==null){n=vi.createFooter(this,t,i);if(n===null){return}}if(this.isRendered()&&this.getFooter()!==null){s.Dom.remove(this.getFooter().getContainer());this.getDialog().adjustFooter()}this.footer=n;if(this.isRendered()){this.getDialog().appendFooter(n);this.getDialog().adjustFooter()}}},{key:"canShowDefaultFooter",value:function e(){return this.showDefaultFooter}},{key:"enableDefaultFooter",value:function e(){this.showDefaultFooter=true;this.getDialog().adjustFooter()}},{key:"disableDefaultFooter",value:function e(){this.showDefaultFooter=false;this.getDialog().adjustFooter()}},{key:"setShowAvatars",value:function e(t){if(s.Type.isBoolean(t)||t===null){this.showAvatars=t;if(this.isRendered()){this.renderContainer()}}}},{key:"shouldShowAvatars",value:function e(){var t;return(t=this.showAvatars)!==null&&t!==void 0?t:this.getDialog().shouldShowAvatars()}},{key:"getRootNode",value:function e(){return this.rootNode}},{key:"setTitle",value:function e(t){if(s.Type.isStringFilled(t)||s.Type.isPlainObject(t)||t===null){this.title=t===null?null:new o(t);if(this.isRendered()){this.renderLabel()}}}},{key:"getTitle",value:function e(){const t=this.getTitleNode();return t!==null&&!t.isNullable()?t.getText():""}},{key:"getTitleNode",value:function e(){return this.title}},{key:"setIcon",value:function e(t){return this.setProperty("icon",t)}},{key:"getIcon",value:function e(t){return this.getPropertyByState("icon",t)}},{key:"setBgColor",value:function e(t){return this.setProperty("bgColor",t)}},{key:"getBgColor",value:function e(t){return this.getPropertyByState("bgColor",t)}},{key:"setTextColor",value:function e(t){return this.setProperty("textColor",t)}},{key:"getTextColor",value:function e(t){return this.getPropertyByState("textColor",t)}},{key:"setProperty",value:function e(t,i){const n=this[t];if(!n){return}if(s.Type.isPlainObject(i)){Object.keys(i).forEach((e=>{if(s.Type.isStringFilled(i[e])){n[e]=i[e]}}))}else if(s.Type.isStringFilled(i)){n["default"]=i}}},{key:"getPropertyByState",value:function e(t,i){const n=this[t];const l=s.Type.isStringFilled(i)?i:"default";if(!s.Type.isUndefined(n)&&!s.Type.isUndefined(n[l])){return n[l]}return null}},{key:"getPropertyByCurrentState",value:function e(t){const i=this[t];if(this.isSelected()&&this.isHovered()&&i.selectedHovered){return i.selectedHovered}else if(this.isSelected()&&i.selected){return i.selected}else if(this.isHovered()&&i.hovered){return i.hovered}else if(i.default){return i.default}return null}},{key:"setItemMaxDepth",value:function e(t){if(s.Type.isNumber(t)&&t>0){this.itemMaxDepth=t}}},{key:"getItemMaxDepth",value:function e(){return this.itemMaxDepth}},{key:"getContainer",value:function e(){return this.cache.remember("container",(()=>s.Tag.render(Ye||(Ye=Ze` <div class="ui-selector-tab-content">${0}</div> `),this.getItemsContainer())))}},{key:"getLabelContainer",value:function e(){return this.cache.remember("label",(()=>{const e=this.isVisible()?"":" ui-selector-tab-label-hidden";return s.Tag.render(et||(et=Ze` <div class="ui-selector-tab-label${0}" onclick="${0}" onmouseenter="${0}" onmouseleave="${0}" > ${0} ${0} </div> `),e,this.handleLabelClick.bind(this),this.handleLabelMouseEnter.bind(this),this.handleLabelMouseLeave.bind(this),this.getIconContainer(),this.getTitleContainer())}))}},{key:"getIconContainer",value:function e(){return this.cache.remember("icon",(()=>s.Tag.render(tt||(tt=Ze` <div class="ui-selector-tab-icon"></div> `))))}},{key:"getTitleContainer",value:function e(){return this.cache.remember("title",(()=>s.Tag.render(it||(it=Ze` <div class="ui-selector-tab-title"></div> `))))}},{key:"getItemsContainer",value:function e(){return this.cache.remember("items",(()=>s.Tag.render(nt||(nt=Ze` <div class="ui-selector-items"></div> `))))}},{key:"render",value:function e(){this.getRootNode().render();this.rendered=true}},{key:"renderLabel",value:function e(){s.Dom.style(this.getTitleContainer(),"color",this.getPropertyByCurrentState("textColor"));s.Dom.style(this.getLabelContainer(),"background-color",this.getPropertyByCurrentState("bgColor"));const t=this.getPropertyByCurrentState("icon");s.Dom.style(this.getIconContainer(),"background-image",t?`url('${v(t)}')`:null);const i=this.getTitleNode();if(i){this.getTitleNode().renderTo(this.getTitleContainer())}else{this.getTitleContainer().textContent=""}}},{key:"renderContainer",value:function e(){const t="ui-selector-tab-content--hide-avatars";if(this.shouldShowAvatars()){s.Dom.removeClass(this.getContainer(),t)}else{s.Dom.addClass(this.getContainer(),t)}}},{key:"isVisible",value:function e(){return this.visible}},{key:"setVisible",value:function e(t){if(s.Type.isBoolean(t)){this.visible=t;if(this.isRendered()){if(this.visible){s.Dom.remove(this.getLabelContainer(),"ui-selector-tab-label-hidden")}else{s.Dom.addClass(this.getLabelContainer(),"ui-selector-tab-label-hidden")}}}}},{key:"isRendered",value:function e(){return this.rendered&&this.getDialog()&&this.getDialog().isRendered()}},{key:"select",value:function e(){if(this.isSelected()){return}s.Dom.addClass(this.getContainer(),"ui-selector-tab-content-active");if(this.isVisible()){s.Dom.addClass(this.getLabelContainer(),"ui-selector-tab-label-active");this.renderLabel()}this.selected=true;if(this.isVisible()){this.renderLabel()}if(this.getHeader()){this.getHeader().show()}if(this.getFooter()){this.getFooter().show()}this.getDialog().emit("Tab:onSelect",{tab:this})}},{key:"deselect",value:function e(){if(!this.isSelected()){return}s.Dom.removeClass(this.getContainer(),"ui-selector-tab-content-active");if(this.isVisible()){s.Dom.removeClass(this.getLabelContainer(),"ui-selector-tab-label-active")}this.selected=false;if(this.isVisible()){this.renderLabel()}if(this.getHeader()){this.getHeader().hide()}if(this.getFooter()){this.getFooter().hide()}this.getDialog().emit("Tab:onDeselect",{tab:this})}},{key:"hover",value:function e(){if(this.isHovered()){return}s.Dom.addClass(this.getLabelContainer(),"ui-selector-tab-label-hover");this.hovered=true;this.renderLabel()}},{key:"unhover",value:function e(){if(!this.isHovered()){return}s.Dom.removeClass(this.getLabelContainer(),"ui-selector-tab-label-hover");this.hovered=false;this.renderLabel()}},{key:"isSelected",value:function e(){return this.selected}},{key:"isHovered",value:function e(){return this.hovered}},{key:"lock",value:function e(){this.locked=true;s.Dom.addClass(this.getContainer(),"ui-selector-tab-content-locked")}},{key:"unlock",value:function e(){this.locked=false;s.Dom.removeClass(this.getContainer(),"ui-selector-tab-content-locked")}},{key:"isLocked",value:function e(){return this.locked}},{key:"handleLabelClick",value:function e(){this.getDialog().selectTab(this.getId())}},{key:"handleLabelMouseEnter",value:function e(){this.hover()}},{key:"handleLabelMouseLeave",value:function e(){this.unhover()}}]);return e}();function lt(e,t,i){rt(e,t);t.set(e,i)}function rt(e,t){if(t.has(e)){throw new TypeError("Cannot initialize the same private elements twice on an object")}}var at=new WeakMap;let ot=function(e){babelHelpers.inherits(t,e);function t(...e){var i;babelHelpers.classCallCheck(this,t);i=babelHelpers.possibleConstructorReturn(this,babelHelpers.getPrototypeOf(t).call(this,...e));lt(babelHelpers.assertThisInitialized(i),at,{writable:true,value:void 0});return i}babelHelpers.createClass(t,[{key:"setEntityId",value:function e(t){if(s.Type.isStringFilled(t)){babelHelpers.classPrivateFieldSet(this,at,t)}}},{key:"getEntityId",value:function e(){return babelHelpers.classPrivateFieldGet(this,at)}}]);return t}(s.BaseError);let ut;function ht(e,t,i){ct(e,t);t.set(e,i)}function ct(e,t){if(t.has(e)){throw new TypeError("Cannot initialize the same private elements twice on an object")}}var dt=new WeakMap;ut=Symbol.iterator;let gt=function(){function e(){babelHelpers.classCallCheck(this,e);ht(this,dt,{writable:true,value:[]})}babelHelpers.createClass(e,[{key:"getByEntityId",value:function e(t){return babelHelpers.classPrivateFieldGet(this,dt).filter((e=>e.getEntityId()===t))}},{key:"add",value:function e(t){babelHelpers.classPrivateFieldGet(this,dt).push(t)}},{key:"has",value:function e(t){return babelHelpers.classPrivateFieldGet(this,dt).includes(t)}},{key:"clear",value:function e(){babelHelpers.classPrivateFieldSet(this,dt,[])}},{key:"getIndex",value:function e(t){return babelHelpers.classPrivateFieldGet(this,dt).indexOf(t)}},{key:"getByIndex",value:function e(t){if(s.Type.isNumber(t)&&t>=0){const e=babelHelpers.classPrivateFieldGet(this,dt)[t];return s.Type.isUndefined(e)?null:e}return null}},{key:ut,value:function(){return babelHelpers.classPrivateFieldGet(this,dt)[Symbol.iterator]()}}],[{key:"create",value:function e(t){const i=new this;t.forEach((e=>{if(!s.Type.isStringFilled(e.entityId)){return}const t=new ot;t.setEntityId(e.entityId);if(s.Type.isStringFilled(e.message)){t.setMessage(e.message)}if(!s.Type.isNil(e.code)){t.setCode(e.code)}if(s.Type.isArrayFilled(e.customData)){t.setCustomData(e.customData)}i.add(t)}));return i}}]);return e}();let ft=e=>e,pt,bt,yt,vt,Tt,mt;function Ct(e,t,i){kt(e,t);return i}function kt(e,t){if(e!==t){throw new TypeError("Private static access of wrong provenance")}}let St=function(){function e(t){babelHelpers.classCallCheck(this,e);babelHelpers.defineProperty(this,"id",null);babelHelpers.defineProperty(this,"entityId",null);babelHelpers.defineProperty(this,"entityType",null);babelHelpers.defineProperty(this,"title",null);babelHelpers.defineProperty(this,"avatar",null);babelHelpers.defineProperty(this,"avatarOptions",null);babelHelpers.defineProperty(this,"maxWidth",null);babelHelpers.defineProperty(this,"textColor",null);babelHelpers.defineProperty(this,"bgColor",null);babelHelpers.defineProperty(this,"fontWeight",null);babelHelpers.defineProperty(this,"link",null);babelHelpers.defineProperty(this,"onclick",null);babelHelpers.defineProperty(this,"clickable",null);babelHelpers.defineProperty(this,"deselectable",null);babelHelpers.defineProperty(this,"customData",null);babelHelpers.defineProperty(this,"cache",new s.Cache.MemoryCache);babelHelpers.defineProperty(this,"selector",null);babelHelpers.defineProperty(this,"rendered",false);const i=s.Type.isPlainObject(t)?t:{};if(!s.Type.isStringFilled(i.id)&&!s.Type.isNumber(i.id)){throw new Error('TagSelector.TagItem: "id" parameter is required.')}if(!s.Type.isStringFilled(i.entityId)){throw new Error('TagSelector.TagItem: "entityId" parameter is required.')}this.id=i.id;this.entityId=i.entityId.toLowerCase();this.entityType=s.Type.isStringFilled(i.entityType)?i.entityType:"default";this.customData=Ee.createMapFromOptions(i.customData);this.onclick=s.Type.isFunction(i.onclick)?i.onclick:null;this.link=s.Type.isStringFilled(i.link)?i.link:null;this.setTitle(i.title);this.setDeselectable(i.deselectable);this.setAvatar(i.avatar);this.setAvatarOptions(i.avatarOptions);this.setMaxWidth(i.maxWidth);this.setTextColor(i.textColor);this.setBgColor(i.bgColor);this.setFontWeight(i.fontWeight);this.setClickable(i.clickable)}babelHelpers.createClass(e,[{key:"getId",value:function e(){return this.id}},{key:"getEntityId",value:function e(){return this.entityId}},{key:"getEntityType",value:function e(){return this.entityType}},{key:"getSelector",value:function e(){return this.selector}},{key:"setSelector",value:function e(t){this.selector=t}},{key:"getTitle",value:function e(){return this.getTitleNode()&&!this.getTitleNode().isNullable()?this.getTitleNode().getText():""}},{key:"getTitleNode",value:function e(){return this.title}},{key:"setTitle",value:function e(t){if(s.Type.isStringFilled(t)||s.Type.isPlainObject(t)||t===null){this.title=t===null?null:new o(t)}}},{key:"getAvatar",value:function e(){if(this.avatar!==null){return this.avatar}if(this.getSelector().getTagAvatar()!==null){return this.getSelector().getTagAvatar()}if(this.getEntityTagOption("avatar")!==null){return this.getEntityTagOption("avatar")}return this.getEntityItemOption("avatar")}},{key:"setAvatar",value:function e(t){if(s.Type.isString(t)||t===null){this.avatar=t}}},{key:"getAvatarOption",value:function e(t){if(this.avatarOptions!==null&&!s.Type.isUndefined(this.avatarOptions[t])){return this.avatarOptions[t]}const i=this.getSelector().getTagAvatarOption(t);if(i!==null){return i[t]}const n=this.getEntityTagOption("avatarOptions");if(s.Type.isPlainObject(n)&&!s.Type.isUndefined(n[t])){return n[t]}const l=this.getEntityItemOption("avatarOptions");if(s.Type.isPlainObject(l)&&!s.Type.isUndefined(l[t])){return l[t]}return null}},{key:"setAvatarOption",value:function e(t,i){if(s.Type.isStringFilled(t)&&!s.Type.isUndefined(i)){if(this.avatarOptions===null){this.avatarOptions={}}this.avatarOptions[t]=i}}},{key:"setAvatarOptions",value:function e(t){if(s.Type.isPlainObject(t)){Object.keys(t).forEach((e=>{this.setAvatarOption(e,t[e])}))}}},{key:"getTextColor",value:function e(){if(this.textColor!==null){return this.textColor}if(this.getSelector().getTagTextColor()!==null){return this.getSelector().getTagTextColor()}return this.getEntityTagOption("textColor")}},{key:"setTextColor",value:function e(t){if(s.Type.isString(t)||t===null){this.textColor=t}}},{key:"getBgColor",value:function e(){if(this.bgColor!==null){return this.bgColor}if(this.getSelector().getTagBgColor()!==null){return this.getSelector().getTagBgColor()}return this.getEntityTagOption("bgColor")}},{key:"setBgColor",value:function e(t){if(s.Type.isString(t)||t===null){this.bgColor=t}}},{key:"getFontWeight",value:function e(){if(this.fontWeight!==null){return this.fontWeight}if(this.getSelector().getTagFontWeight()!==null){return this.getSelector().getTagFontWeight()}return this.getEntityTagOption("fontWeight")}},{key:"setFontWeight",value:function e(t){if(s.Type.isString(t)||t===null){this.fontWeight=t}}},{key:"getMaxWidth",value:function e(){if(this.maxWidth!==null){return this.maxWidth}if(this.getSelector().getTagMaxWidth()!==null){return this.getSelector().getTagMaxWidth()}return this.getEntityTagOption("maxWidth")}},{key:"setMaxWidth",value:function e(t){if(s.Type.isNumber(t)&&t>=0||t===null){this.maxWidth=t}}},{key:"setDeselectable",value:function e(t){if(s.Type.isBoolean(t)){this.deselectable=t}}},{key:"isDeselectable",value:function e(){return this.deselectable===null?this.getSelector().isDeselectable():this.deselectable}},{key:"getCustomData",value:function e(){return this.customData}},{key:"getLink",value:function e(){return this.link}},{key:"getOnclick",value:function e(){return this.onclick}},{key:"setClickable",value:function e(t){if(s.Type.isBoolean(t)){this.clickable=t}}},{key:"isClickable",value:function e(){if(this.clickable!==null){return this.clickable}if(this.getSelector().getTagClickable()!==null){return this.getSelector().getTagClickable()}if(this.getEntityTagOption("clickable")!==null){return this.getEntityTagOption("clickable")}if(this.getEntityItemOption("clickable")!==null){return this.getEntityItemOption("clickable")}return false}},{key:"render",value:function t(){const i=this.getTitleNode();if(i){var n;i.renderTo(this.getTitleContainer());const t=this.getTitleContainer().textContent;this.getContentContainer().setAttribute("title",Ct(n=this.constructor,e,Ht).call(n,t))}else{this.getTitleContainer().textContent="";s.Dom.attr(this.getContentContainer(),"title",null)}const l=this.getAvatar();const r=this.getAvatarOption("bgImage");if(s.Type.isStringFilled(l)){s.Dom.style(this.getAvatarContainer(),"background-image",`url('${v(l)}')`)}else{s.Dom.style(this.getAvatarContainer(),"background-image",r)}const a=this.getAvatarOption("bgColor");const o=this.getAvatarOption("bgSize");const u=this.getAvatarOption("border");const h=this.getAvatarOption("borderRadius");const c=this.getAvatarOption("outline");const d=this.getAvatarOption("outlineOffset");s.Dom.style(this.getAvatarContainer(),"background-color",a);s.Dom.style(this.getAvatarContainer(),"background-size",o);s.Dom.style(this.getAvatarContainer(),"border",u);s.Dom.style(this.getAvatarContainer(),"border-radius",h);s.Dom.style(this.getAvatarContainer(),"outline",c);s.Dom.style(this.getAvatarContainer(),"outline-offset",d);const g=l||a&&a!=="none"||r&&r!=="none";if(g){s.Dom.addClass(this.getContainer(),"ui-tag-selector-tag--has-avatar")}else{s.Dom.removeClass(this.getContainer(),"ui-tag-selector-tag--has-avatar")}const f=this.getMaxWidth();if(f>0){s.Dom.style(this.getContainer(),"max-width",`${f}px`)}else{s.Dom.style(this.getContainer(),"max-width",null)}if(this.isDeselectable()){s.Dom.removeClass(this.getContainer(),"ui-tag-selector-tag-readonly")}else{s.Dom.addClass(this.getContainer(),"ui-tag-selector-tag-readonly")}s.Dom.style(this.getTitleContainer(),"color",this.getTextColor());s.Dom.style(this.getTitleContainer(),"font-weight",this.getFontWeight());s.Dom.style(this.getContainer(),"background-color",this.getBgColor());this.rendered=true}},{key:"getContainer",value:function e(){return this.cache.remember("container",(()=>s.Tag.render(pt||(pt=ft` <div class="ui-tag-selector-item ui-tag-selector-tag"> ${0} ${0} </div> `),this.getContentContainer(),this.getRemoveIcon())))}},{key:"getContentContainer",value:function e(){return this.cache.remember("content-container",(()=>{if(s.Type.isStringFilled(this.getLink())){return s.Tag.render(bt||(bt=ft` <a class="ui-tag-selector-tag-content" onclick="${0}" href="${0}" target="_blank" > ${0} ${0} </a> `),this.handleContainerClick.bind(this),this.getLink(),this.getAvatarContainer(),this.getTitleContainer())}const e=this.isClickable()||this.getOnclick()!==null?" ui-tag-selector-tag-content--clickable":"";return s.Tag.render(yt||(yt=ft` <div class="ui-tag-selector-tag-content${0}" onclick="${0}" > ${0} ${0} </div> `),e,this.handleContainerClick.bind(this),this.getAvatarContainer(),this.getTitleContainer())}))}},{key:"getAvatarContainer",value:function e(){return this.cache.remember("avatar",(()=>s.Tag.render(vt||(vt=ft` <div class="ui-tag-selector-tag-avatar"></div> `))))}},{key:"getTitleContainer",value:function e(){return this.cache.remember("title",(()=>s.Tag.render(Tt||(Tt=ft` <div class="ui-tag-selector-tag-title"></div> `))))}},{key:"getRemoveIcon",value:function e(){return this.cache.remember("remove-icon",(()=>s.Tag.render(mt||(mt=ft` <div class="ui-tag-selector-tag-remove" onclick="${0}"></div> `),this.handleRemoveIconClick.bind(this))))}},{key:"getEntityTagOption",value:function e(t){return Pe.getTagOption(this.getEntityId(),t,this.getEntityType())}},{key:"getEntityItemOption",value:function e(t){return Pe.getItemOption(this.getEntityId(),t,this.getEntityType())}},{key:"isRendered",value:function e(){return this.rendered&&this.getSelector()&&this.getSelector().isRendered()}},{key:"remove",value:function e(t=true){if(t===false){s.Dom.remove(this.getContainer());return Promise.resolve()}return new Promise((e=>{s.Dom.style(this.getContainer(),"width",`${this.getContainer().offsetWidth}px`);s.Dom.addClass(this.getContainer(),"ui-tag-selector-tag--remove");p.handleAnimationEnd(this.getContainer(),"ui-tag-selector-tag-remove").then((()=>{s.Dom.remove(this.getContainer());e()})).catch((()=>{}))}))}},{key:"show",value:function e(){return new Promise((e=>{s.Dom.addClass(this.getContainer(),"ui-tag-selector-tag--show");p.handleAnimationEnd(this.getContainer(),"ui-tag-selector-tag-show").then((()=>{s.Dom.removeClass(this.getContainer(),"ui-tag-selector-tag--show");e()})).catch((()=>{}))}))}},{key:"handleContainerClick",value:function e(){const t=this.getOnclick();if(s.Type.isFunction(t)){t(this)}const i=this.getSelector();i.emit("TagItem:onClick",{item:this})}},{key:"handleRemoveIconClick",value:function e(t){t.stopPropagation();if(this.isDeselectable()){this.getSelector().removeTag(this)}}}]);return e}();function Ht(e){return e.replaceAll(/[\t ]+/gm," ").replaceAll(/\n+/gm,"\n").trim()}let It=e=>e,Ot,xt,Dt,Pt,Et,At,wt;let Bt=function(e){babelHelpers.inherits(t,e);function t(e){var i;babelHelpers.classCallCheck(this,t);i=babelHelpers.possibleConstructorReturn(this,babelHelpers.getPrototypeOf(t).call(this));babelHelpers.defineProperty(babelHelpers.assertThisInitialized(i),"tags",[]);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(i),"cache",new s.Cache.MemoryCache);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(i),"multiple",true);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(i),"readonly",false);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(i),"locked",false);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(i),"deselectable",true);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(i),"addButtonCaption",null);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(i),"addButtonCaptionMore",null);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(i),"createButtonCaption",null);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(i),"addButtonVisible",true);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(i),"createButtonVisible",false);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(i),"textBoxVisible",false);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(i),"textBoxWidth",null);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(i),"maxHeight",null);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(i),"placeholder","");babelHelpers.defineProperty(babelHelpers.assertThisInitialized(i),"textBoxAutoHide",false);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(i),"textBoxOldValue","");babelHelpers.defineProperty(babelHelpers.assertThisInitialized(i),"tagAvatar",null);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(i),"tagAvatarOptions",null);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(i),"tagTextColor",null);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(i),"tagBgColor",null);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(i),"tagFontWeight",null);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(i),"tagMaxWidth",null);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(i),"tagClickable",null);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(i),"dialog",null);i.setEventNamespace("BX.UI.EntitySelector.TagSelector");const n=s.Type.isPlainObject(e)?e:{};i.id=s.Type.isStringFilled(n.id)?n.id:`ui-tag-selector-${s.Text.getRandom().toLowerCase()}`;i.multiple=s.Type.isBoolean(n.multiple)?n.multiple:true;i.addButtonVisible=n.showAddButton!==false;i.createButtonVisible=n.showCreateButton===true;i.textBoxVisible=n.showTextBox===true;i.setReadonly(n.readonly);i.setLocked(n.locked);i.setAddButtonCaption(n.addButtonCaption);i.setAddButtonCaptionMore(n.addButtonCaptionMore);i.setCreateButtonCaption(n.createButtonCaption);i.setPlaceholder(n.placeholder);i.setTextBoxAutoHide(n.textBoxAutoHide);i.setTextBoxWidth(n.textBoxWidth);i.setDeselectable(n.deselectable);i.setMaxHeight(n.maxHeight);i.setTagAvatar(n.tagAvatar);i.setTagAvatarOptions(n.tagAvatarOptions);i.setTagMaxWidth(n.tagMaxWidth);i.setTagTextColor(n.tagTextColor);i.setTagBgColor(n.tagBgColor);i.setTagFontWeight(n.tagFontWeight);i.setTagClickable(n.tagClickable);if(s.Type.isPlainObject(n.dialogOptions)){let e=s.Type.isArray(n.items)?n.items:[];if(s.Type.isArray(n.dialogOptions.selectedItems)){e=e.concat(n.dialogOptions.selectedItems)}const t=Object.assign({},n.dialogOptions,{tagSelectorOptions:null,selectedItems:e,multiple:i.isMultiple(),tagSelector:babelHelpers.assertThisInitialized(i)});new vi(t)}else if(s.Type.isArray(n.items)){n.items.forEach((e=>{i.addTag(e)}))}i.subscribeFromOptions(n.events);return i}babelHelpers.createClass(t,[{key:"getDialog",value:function e(){return this.dialog}},{key:"setDialog",value:function e(t){this.dialog=t}},{key:"setReadonly",value:function e(t){if(s.Type.isBoolean(t)){this.readonly=t;if(this.isRendered()){if(t){s.Dom.addClass(this.getOuterContainer(),"ui-tag-selector-container-readonly")}else{s.Dom.removeClass(this.getOuterContainer(),"ui-tag-selector-container-readonly")}}}}},{key:"isReadonly",value:function e(){return this.readonly}},{key:"setLocked",value:function e(t){if(s.Type.isBoolean(t)){this.locked=t;if(t){s.Dom.addClass(this.getOuterContainer(),"ui-tag-selector-container-locked");this.getTextBox().disabled=true}else{s.Dom.removeClass(this.getOuterContainer(),"ui-tag-selector-container-locked");this.getTextBox().disabled=false}}}},{key:"lock",value:function e(){if(!this.isLocked()){this.setLocked(true)}}},{key:"unlock",value:function e(){if(this.isLocked()){this.setLocked(false)}}},{key:"isLocked",value:function e(){return this.locked}},{key:"isMultiple",value:function e(){return this.multiple}},{key:"setDeselectable",value:function e(t){if(s.Type.isBoolean(t)){const e=this.deselectable!==t;this.deselectable=t;if(e){this.updateTags()}}}},{key:"isDeselectable",value:function e(){return this.deselectable}},{key:"getTag",value:function e(t){if(t instanceof St){return this.getTags().find((e=>e===t))}else if(s.Type.isPlainObject(t)){const{id:e,entityId:i}=t;return this.getTags().find((t=>t.getId()===e&&t.getEntityId()===i))}return null}},{key:"addTag",value:function e(t){if(!s.Type.isObjectLike(t)){throw new Error("TagSelector.addTag: wrong item options.")}if(this.getTag(t)){return null}const i=new St(t);i.setSelector(this);const l=new n.BaseEvent({data:{tag:i}});this.emit("onBeforeTagAdd",l);if(l.isDefaultPrevented()){return null}if(!this.isMultiple()){this.removeTags()}this.tags.push(i);this.emit("onTagAdd",{tag:i});if(this.isRendered()){i.render();this.getItemsContainer().insertBefore(i.getContainer(),this.getTextBox());if(t.animate!==false){i.show().then((()=>{this.getContainer().scrollTop=this.getContainer().scrollHeight-this.getContainer().offsetHeight;this.emit("onAfterTagAdd",{tag:i})}))}else{this.emit("onAfterTagAdd",{tag:i})}this.toggleAddButtonCaption()}else{this.emit("onAfterTagAdd",{tag:i})}return i}},{key:"removeTag",value:function e(t,i=true){const s=this.getTag(t);if(!s){return}const l=new n.BaseEvent({data:{tag:s}});this.emit("onBeforeTagRemove",l);if(l.isDefaultPrevented()){return}this.tags=this.tags.filter((e=>e!==s));this.emit("onTagRemove",{tag:s});if(this.isRendered()){s.remove(i).then((()=>{this.toggleAddButtonCaption();this.emit("onAfterTagRemove",{tag:s})}))}else{this.emit("onAfterTagRemove",{tag:s})}}},{key:"removeTags",value:function e(){this.getTags().forEach((e=>{this.removeTag(e,false)}))}},{key:"getTags",value:function e(){return this.tags}},{key:"renderTo",value:function e(t){this.rendered=true;this.getTags().forEach((e=>{e.render();this.getItemsContainer().insertBefore(e.getContainer(),this.getTextBox())}));if(s.Type.isDomNode(t)){s.Dom.append(this.getOuterContainer(),t)}}},{key:"isRendered",value:function e(){return this.rendered}},{key:"updateTags",value:function e(){if(this.isRendered()){this.getTags().forEach((e=>{e.render()}))}}},{key:"getOuterContainer",value:function e(){return this.cache.remember("outer-container",(()=>{let e=this.isReadonly()?" ui-tag-selector-container-readonly":"";e+=this.isLocked()?" ui-tag-selector-container-locked":"";return s.Tag.render(Ot||(Ot=It` <div class="ui-tag-selector-outer-container${0}">${0}</div> `),e,this.getContainer())}))}},{key:"getContainer",value:function e(){return this.cache.remember("container",(()=>{const e=this.getMaxHeight()?` style="max-height: ${this.getMaxHeight()}px; -ms-overflow-style: -ms-autohiding-scrollbar;"`:"";return s.Tag.render(xt||(xt=It` <div class="ui-tag-selector-container" onclick="${0}" ${0} > ${0} ${0} </div> `),this.handleContainerClick.bind(this),e,this.getItemsContainer(),this.getCreateButton())}))}},{key:"getItemsContainer",value:function e(){return this.cache.remember("items-container",(()=>s.Tag.render(Dt||(Dt=It` <div class="ui-tag-selector-items"> ${0} ${0} </div> `),this.getTextBox(),this.getAddButton())))}},{key:"getTextBox",value:function e(){return this.cache.remember("text-box",(()=>{const e=this.textBoxVisible?"":" ui-tag-selector-item-hidden";const t=s.Tag.render(Pt||(Pt=It` <input type="text" class="ui-tag-selector-item ui-tag-selector-text-box${0}" autocomplete="off" placeholder="${0}" oninput="${0}" onblur="${0}" onkeyup="${0}" onkeydown="${0}" value="" > `),e,s.Text.encode(this.getPlaceholder()),this.handleTextBoxInput.bind(this),this.handleTextBoxBlur.bind(this),this.handleTextBoxKeyUp.bind(this),this.handleTextBoxKeyDown.bind(this));const i=this.getTextBoxWidth();if(i!==null){s.Dom.style(t,"width",s.Type.isStringFilled(i)?i:`${i}px`)}if(this.isLocked()){t.disabled=true}return t}))}},{key:"getItemsHeight",value:function e(){return this.getItemsContainer().scrollHeight}},{key:"calcHeight",value:function e(){if(this.getMaxHeight()!==null){return Math.min(this.getItemsHeight(),this.getMaxHeight())}return Math.max(this.getItemsHeight(),this.getMinHeight())}},{key:"getTextBoxValue",value:function e(){return this.getTextBox().value}},{key:"clearTextBox",value:function e(){this.getTextBox().value="";this.textBoxOldValue=""}},{key:"showTextBox",value:function e(){this.textBoxVisible=true;s.Dom.removeClass(this.getTextBox(),"ui-tag-selector-item-hidden")}},{key:"hideTextBox",value:function e(){this.textBoxVisible=false;s.Dom.addClass(this.getTextBox(),"ui-tag-selector-item-hidden")}},{key:"focusTextBox",value:function e(){this.getTextBox().focus()}},{key:"setTextBoxAutoHide",value:function e(t){if(s.Type.isBoolean(t)){this.textBoxAutoHide=t}}},{key:"getTextBoxWidth",value:function e(){return this.textBoxWidth}},{key:"setTextBoxWidth",value:function e(t){if(s.Type.isStringFilled(t)||t===null){this.textBoxWidth=t;if(this.isRendered()){s.Dom.style(this.getTextBox(),"width",t)}}else if(s.Type.isNumber(t)&&t>0){this.textBoxWidth=t;if(this.isRendered()){s.Dom.style(this.getTextBox(),"width",`${t}px`)}}}},{key:"getTagMaxWidth",value:function e(){return this.tagMaxWidth}},{key:"setTagMaxWidth",value:function e(t){if(s.Type.isNumber(t)&&t>=0||t===null){this.tagMaxWidth=t;this.updateTags()}}},{key:"getTagAvatar",value:function e(){return this.tagAvatar}},{key:"setTagAvatar",value:function e(t){if(s.Type.isString(t)||t===null){this.tagAvatar=t;this.updateTags()}}},{key:"getTagClickable",value:function e(){return this.tagClickable}},{key:"setTagClickable",value:function e(t){if(s.Type.isBoolean(t)||t===null){this.tagClickable=t;this.updateTags()}}},{key:"getTagAvatarOptions",value:function e(){return this.tagAvatarOptions}},{key:"getTagAvatarOption",value:function e(t){if(this.tagAvatarOptions!==null&&!s.Type.isUndefined(this.tagAvatarOptions[t])){return this.tagAvatarOptions[t]}return null}},{key:"setTagAvatarOption",value:function e(t,i){if(s.Type.isStringFilled(t)&&!s.Type.isUndefined(i)){if(this.tagAvatarOptions===null){this.tagAvatarOptions={}}this.tagAvatarOptions[t]=i;this.updateTags()}}},{key:"setTagAvatarOptions",value:function e(t){if(s.Type.isPlainObject(t)){Object.keys(t).forEach((e=>{this.setTagAvatarOption(e,t[e])}))}}},{key:"getTagTextColor",value:function e(){return this.tagTextColor}},{key:"setTagTextColor",value:function e(t){if(s.Type.isString(t)||t===null){this.tagTextColor=t;this.updateTags()}}},{key:"getTagBgColor",value:function e(){return this.tagBgColor}},{key:"setTagBgColor",value:function e(t){if(s.Type.isString(t)||t===null){this.tagBgColor=t;this.updateTags()}}},{key:"getTagFontWeight",value:function e(){return this.tagFontWeight}},{key:"setTagFontWeight",value:function e(t){if(s.Type.isString(t)||t===null){this.tagFontWeight=t;this.updateTags()}}},{key:"getPlaceholder",value:function e(){return this.placeholder}},{key:"setPlaceholder",value:function e(t){if(s.Type.isStringFilled(t)){this.placeholder=t;if(this.isRendered()){this.getTextBox().placeholder=t}}}},{key:"getMaxHeight",value:function e(){return this.maxHeight}},{key:"getMinHeight",value:function e(){return 34}},{key:"setMaxHeight",value:function e(t){if(s.Type.isNumber(t)&&t>0||t===null){this.maxHeight=t;if(this.isRendered()){s.Dom.style(this.getContainer(),"max-height",t>0?`${t}px`:null);s.Dom.style(this.getContainer(),"-ms-overflow-style",t>0?"-ms-autohiding-scrollbar":null)}}}},{key:"getAddButton",value:function e(){return this.cache.remember("add-button",(()=>{const e=this.addButtonVisible?"":" ui-tag-selector-item-hidden";return s.Tag.render(Et||(Et=It` <span class="ui-tag-selector-item ui-tag-selector-add-button${0}"> ${0} </span> `),e,this.getAddButtonLink())}))}},{key:"getAddButtonLink",value:function e(){return this.cache.remember("add-button-link",(()=>{const e=s.Text.encode(this.getActualButtonCaption());return s.Tag.render(At||(At=It` <span class="ui-tag-selector-add-button-caption" onclick="${0}">${0}</span> `),this.handleAddButtonClick.bind(this),e)}))}},{key:"getAddButtonCaption",value:function e(){return this.addButtonCaption===null?s.Loc.getMessage("UI_TAG_SELECTOR_ADD_BUTTON_CAPTION"):this.addButtonCaption}},{key:"setAddButtonCaption",value:function e(t){if(s.Type.isStringFilled(t)){this.addButtonCaption=t;if(this.isRendered()){this.toggleAddButtonCaption()}}}},{key:"getAddButtonCaptionMore",value:function e(){return this.addButtonCaptionMore===null?this.isMultiple()?s.Loc.getMessage("UI_TAG_SELECTOR_ADD_BUTTON_CAPTION"):s.Loc.getMessage("UI_TAG_SELECTOR_ADD_BUTTON_CAPTION_SINGLE"):this.addButtonCaptionMore}},{key:"setAddButtonCaptionMore",value:function e(t){if(s.Type.isStringFilled(t)){this.addButtonCaptionMore=t;if(this.isRendered()){this.toggleAddButtonCaption()}}}},{key:"toggleAddButtonCaption",value:function e(){if(this.getAddButtonCaptionMore()===null){return}this.getAddButtonLink().textContent=this.getActualButtonCaption()}},{key:"getActualButtonCaption",value:function e(){return this.getTags().length>0&&this.getAddButtonCaptionMore()!==null?this.getAddButtonCaptionMore():this.getAddButtonCaption()}},{key:"showAddButton",value:function e(){this.addButtonVisible=true;s.Dom.removeClass(this.getAddButton(),"ui-tag-selector-item-hidden")}},{key:"hideAddButton",value:function e(){this.addButtonVisible=false;s.Dom.addClass(this.getAddButton(),"ui-tag-selector-item-hidden")}},{key:"getCreateButton",value:function e(){return this.cache.remember("create-button",(()=>{const e=this.createButtonVisible?"":" ui-tag-selector-item-hidden";return s.Tag.render(wt||(wt=It` <div class="ui-tag-selector-create-button${0}"> <span class="ui-tag-selector-create-button-caption" onclick="${0}" >${0}</span> </div> `),e,this.handleCreateButtonClick.bind(this),s.Text.encode(this.getCreateButtonCaption()))}))}},{key:"showCreateButton",value:function e(){this.createButtonVisible=true;s.Dom.removeClass(this.getCreateButton(),"ui-tag-selector-item-hidden")}},{key:"hideCreateButton",value:function e(){this.createButtonVisible=false;s.Dom.addClass(this.getCreateButton(),"ui-tag-selector-item-hidden")}},{key:"getCreateButtonCaption",value:function e(){return this.createButtonCaption===null?s.Loc.getMessage("UI_TAG_SELECTOR_CREATE_BUTTON_CAPTION"):this.createButtonCaption}},{key:"setCreateButtonCaption",value:function e(t){if(s.Type.isStringFilled(t)){this.createButtonCaption=t;if(this.isRendered()){this.getCreateButton().children[0].textContent=t}}}},{key:"handleContainerClick",value:function e(t){this.emit("onContainerClick",{event:t})}},{key:"handleTextBoxInput",value:function e(t){const i=this.getTextBoxValue();if(i!==this.textBoxOldValue){this.textBoxOldValue=i;this.emit("onInput",{event:t})}}},{key:"handleTextBoxBlur",value:function e(t){this.emit("onBlur",{event:t});if(this.textBoxAutoHide){this.clearTextBox();this.showAddButton();this.hideTextBox()}}},{key:"handleTextBoxKeyUp",value:function e(t){this.emit("onKeyUp",{event:t});if(t.key==="Enter"){this.emit("onEnter",{event:t});if(this.textBoxAutoHide){this.clearTextBox();this.showAddButton();this.hideTextBox()}}}},{key:"handleTextBoxKeyDown",value:function e(t){if(t.key==="Enter"){t.preventDefault();if(s.Browser.isMac()&&t.metaKey||t.ctrlKey){this.emit("onMetaEnter",{event:t})}}this.emit("onKeyDown",{event:t})}},{key:"handleAddButtonClick",value:function e(t){this.hideAddButton();this.showTextBox();this.focusTextBox();this.emit("onAddButtonClick",{event:t})}},{key:"handleCreateButtonClick",value:function e(t){this.emit("onCreateButtonClick",{event:t})}}]);return t}(n.EventEmitter);let Lt=function(){function e(t){babelHelpers.classCallCheck(this,e);babelHelpers.defineProperty(this,"dialog",null);babelHelpers.defineProperty(this,"lockedTab",null);babelHelpers.defineProperty(this,"enabled",false);this.dialog=t;this.dialog.subscribe("onShow",this.handleDialogShow.bind(this));this.dialog.subscribe("onHide",this.handleDialogHide.bind(this));this.dialog.subscribe("onDestroy",this.handleDialogDestroy.bind(this));this.handleDocumentKeyDown=this.handleDocumentKeyDown.bind(this);this.handleDocumentMouseMove=this.handleDocumentMouseMove.bind(this)}babelHelpers.createClass(e,[{key:"getDialog",value:function e(){return this.dialog}},{key:"enable",value:function e(){if(!this.isEnabled()){this.bindEvents()}this.enabled=true}},{key:"disable",value:function e(){if(this.isEnabled()){this.unbindEvents();this.unlockTab()}this.enabled=false}},{key:"isEnabled",value:function e(){return this.enabled}},{key:"bindEvents",value:function e(){s.Event.bind(document,"keydown",this.handleDocumentKeyDown)}},{key:"unbindEvents",value:function e(){s.Event.unbind(document,"keydown",this.handleDocumentKeyDown)}},{key:"getNextNode",value:function e(){if(!this.getActiveNode()){return null}let t=null;let i=this.getActiveNode();if(i.hasChildren()&&i.isOpen()){t=i.getFirstChild()}while(t===null&&i!==null){t=i.getNextSibling();if(t){break}i=i.getParentNode()}return t}},{key:"getPreviousNode",value:function e(){if(!this.getActiveNode()){return null}let t=this.getActiveNode().getPreviousSibling();if(t){while(t.hasChildren()&&t.isOpen()){const e=t.getLastChild();if(e===null){break}t=e}}else{if(this.getActiveNode().getParentNode()&&!this.getActiveNode().getParentNode().isRoot()){t=this.getActiveNode().getParentNode()}}return t}},{key:"getFirstNode",value:function e(){const t=this.getDialog().getActiveTab();return t&&t.getRootNode().getFirstChild()}},{key:"getLastNode",value:function e(){const t=this.getDialog().getActiveTab();if(!t){return null}let i=t.getRootNode().getLastChild();if(i!==null){while(i.hasChildren()&&i.isOpen()){const e=i.getLastChild();if(e===null){break}i=e}}return i}},{key:"getActiveNode",value:function e(){return this.getDialog().getFocusedNode()}},{key:"focusOnNode",value:function e(t){if(t){t.focus();t.scrollIntoView()}}},{key:"lockTab",value:function e(){const t=this.getDialog().getActiveTab();if(this.lockedTab===t){return}else if(this.lockedTab!==null){this.unlockTab()}this.lockedTab=t;this.lockedTab.lock();s.Event.bind(document,"mousemove",this.handleDocumentMouseMove)}},{key:"unlockTab",value:function e(){if(this.lockedTab===null){return}this.lockedTab.unlock();this.lockedTab=null;s.Event.unbind(document,"mousemove",this.handleDocumentMouseMove)}},{key:"handleDialogShow",value:function e(){this.enable()}},{key:"handleDialogHide",value:function e(){this.disable()}},{key:"handleDialogDestroy",value:function e(){this.disable()}},{key:"handleDocumentMouseMove",value:function e(){this.unlockTab()}},{key:"handleDocumentKeyDown",value:function e(t){if(!this.getDialog().isOpen()){this.unbindEvents();return}if(t.metaKey||t.ctrlKey||t.altKey){return}const i=this.getDialog().getActiveTab();if(!i){return}const n=this.constructor.keyMap[t.key]||t.key;if(i===this.getDialog().getSearchTab()&&["ArrowLeft","ArrowRight"].includes(n)){return}const s=this[`handle${n}Press`];if(s){s.call(this,t);this.lockTab(i);t.preventDefault()}}},{key:"handleArrowDownPress",value:function e(){if(!this.getActiveNode()){const e=this.getFirstNode();this.focusOnNode(e)}else{const e=this.getNextNode();if(e){this.focusOnNode(e)}else{const e=this.getFirstNode();this.focusOnNode(e)}}}},{key:"handleArrowUpPress",value:function e(){if(!this.getActiveNode()){const e=this.getLastNode();this.focusOnNode(e)}else{const e=this.getPreviousNode();if(e){this.focusOnNode(e)}else{const e=this.getLastNode();this.focusOnNode(e)}}}},{key:"handleArrowRightPress",value:function e(){if(this.getActiveNode()){this.getActiveNode().expand()}}},{key:"handleArrowLeftPress",value:function e(){if(!this.getActiveNode()){return}if(this.getActiveNode().isOpen()){this.getActiveNode().collapse()}else{const e=this.getActiveNode().getParentNode();if(e&&!e.isRoot()){this.focusOnNode(e)}}}},{key:"handleEnterPress",value:function e(){if(this.getActiveNode()){this.getActiveNode().click()}}},{key:"handleTabPress",value:function e(t){const i=this.getDialog().getActiveTab();if(!i){this.getDialog().selectFirstTab();return}if(t.shiftKey){const e=this.getDialog().getPreviousTab();if(e){this.getDialog().selectTab(e.getId())}else{this.getDialog().selectLastTab()}}else{const e=this.getDialog().getNextTab();if(e){this.getDialog().selectTab(e.getId())}else{this.getDialog().selectFirstTab()}}}}]);return e}();babelHelpers.defineProperty(Lt,"keyMap",{Down:"ArrowDown",Up:"ArrowUp",Left:"ArrowLeft",Right:"ArrowRight",Spacebar:"Space"," ":"Space"});let Nt=function(){function e(t){babelHelpers.classCallCheck(this,e);babelHelpers.defineProperty(this,"dialog",null);babelHelpers.defineProperty(this,"sliders",new Set);this.dialog=t;this.dialog.subscribe("onShow",this.handleDialogShow.bind(this));this.dialog.subscribe("onHide",this.handleDialogHide.bind(this));this.dialog.subscribe("onDestroy",this.handleDialogDestroy.bind(this));this.handleSliderOpen=this.handleSliderOpen.bind(this);this.handleSliderClose=this.handleSliderClose.bind(this);this.handleSliderDestroy=this.handleSliderDestroy.bind(this)}babelHelpers.createClass(e,[{key:"getDialog",value:function e(){return this.dialog}},{key:"bindEvents",value:function e(){this.unbindEvents();if(top.BX){top.BX.Event.EventEmitter.subscribe("SidePanel.Slider:onOpen",this.handleSliderOpen);top.BX.Event.EventEmitter.subscribe("SidePanel.Slider:onCloseComplete",this.handleSliderClose);top.BX.Event.EventEmitter.subscribe("SidePanel.Slider:onDestroy",this.handleSliderDestroy)}}},{key:"unbindEvents",value:function e(){if(top.BX){top.BX.Event.EventEmitter.unsubscribe("SidePanel.Slider:onOpen",this.handleSliderOpen);top.BX.Event.EventEmitter.unsubscribe("SidePanel.Slider:onCloseComplete",this.handleSliderClose);top.BX.Event.EventEmitter.unsubscribe("SidePanel.Slider:onDestroy",this.handleSliderDestroy)}}},{key:"isDialogInSlider",value:function e(t){if(t.getFrameWindow()){return t.getFrameWindow().document.contains(this.getDialog().getContainer())}else{return t.getContainer().contains(this.getDialog().getContainer())}}},{key:"handleDialogShow",value:function e(){this.bindEvents()}},{key:"handleDialogHide",value:function e(){this.sliders.clear();this.unbindEvents();this.getDialog().unfreeze()}},{key:"handleDialogDestroy",value:function e(){this.sliders.clear();this.unbindEvents()}},{key:"handleSliderOpen",value:function e(t){const[i]=t.getData();const n=i.getSlider();if(!this.isDialogInSlider(n)){this.sliders.add(n);this.getDialog().freeze()}}},{key:"handleSliderClose",value:function e(t){const[i]=t.getData();const n=i.getSlider();this.sliders.delete(n);if(this.sliders.size===0){this.getDialog().unfreeze()}}},{key:"handleSliderDestroy",value:function e(t){const[i]=t.getData();const n=i.getSlider();if(this.isDialogInSlider(n)){this.unbindEvents();this.dialog.destroy()}else{this.sliders.delete(n);if(this.sliders.size===0){this.getDialog().unfreeze()}}}}]);return e}();let Ft=e=>e,Rt;let Mt=function(e){babelHelpers.inherits(t,e);function t(e,i){var n;babelHelpers.classCallCheck(this,t);n=babelHelpers.possibleConstructorReturn(this,babelHelpers.getPrototypeOf(t).call(this,e,i));babelHelpers.defineProperty(babelHelpers.assertThisInitialized(n),"content",null);n.setContent(n.getOption("content"));return n}babelHelpers.createClass(t,[{key:"render",value:function e(){const t=s.Tag.render(Rt||(Rt=Ft` <div> ${0} </div> `),this.getContent()?this.getContent():"");const i=this.getOption("containerClass","ui-selector-header-default");const n=this.getOption("containerStyles",{});s.Dom.addClass(t,i);s.Dom.style(t,n);return t}},{key:"getContent",value:function e(){return this.content}},{key:"setContent",value:function e(t){if(s.Type.isStringFilled(t)||s.Type.isDomNode(t)||s.Type.isArrayFilled(t)){this.content=t}}}]);return t}(Ge);let jt=e=>e,zt;let $t=function(e){babelHelpers.inherits(t,e);function t(e,i){var n;babelHelpers.classCallCheck(this,t);n=babelHelpers.possibleConstructorReturn(this,babelHelpers.getPrototypeOf(t).call(this,e,i));babelHelpers.defineProperty(babelHelpers.assertThisInitialized(n),"content",null);n.setContent(n.getOption("content"));return n}babelHelpers.createClass(t,[{key:"render",value:function e(){const t=s.Tag.render(zt||(zt=jt` <div> ${0} </div> `),this.getContent()?this.getContent():"");const i=this.getOption("containerClass","ui-selector-footer-default");const n=this.getOption("containerStyles",{});s.Dom.addClass(t,i);s.Dom.style(t,n);return t}},{key:"getContent",value:function e(){return this.content}},{key:"setContent",value:function e(t){if(s.Type.isStringFilled(t)||s.Type.isDomNode(t)||s.Type.isArrayFilled(t)){this.content=t}}}]);return t}(Ke);let Wt=function(e){babelHelpers.inherits(t,e);function t(e,i){babelHelpers.classCallCheck(this,t);const n="data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2223%22%20height%3D%2223%22%20fill%3D%"+"22none%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Cpath%20d%3D%22M14.432%2013.985a.96."+"96%200%2000-.96-.96H8.505a.96.96%200%20000%201.92h4.967c.53%200%20.96-.43.96-.96zM14.432%2011."+"009a.96.96%200%2000-.96-.96H8.505a.96.96%200%20000%201.92h4.967c.53%200%20.96-.43.96-.96zM14."+"432%208.033a.96.96%200%2000-.96-.96H8.505a.96.96%200%20000%201.92h4.967c.53%200%20.96-.43.96-."+"96z%22%20fill%3D%22%23ABB1B8%22/%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd"+"%22%20d%3D%22M10.988%2019.52c1.8%200%203.469-.558%204.844-1.51l2.205%202.204a1.525%201.525%200%20"+"102.157-2.157l-2.205-2.205a8.512%208.512%200%2010-7%203.668zm0-2.403a6.108%206.108%200%20100-12.2"+"16%206.108%206.108%200%20000%2012.216z%22%20fill%3D%22%23ABB1B8%22/%3E%3C/svg%3E";const l={title:s.Loc.getMessage("UI_SELECTOR_RECENT_TAB_TITLE"),itemOrder:{sort:"asc"},visible:!e.isDropdownMode(),stub:!e.isDropdownMode(),icon:{default:n,selected:n.replace(/ABB1B8/g,"fff")}};const r=Object.assign({},l,i);r.id="recents";return babelHelpers.possibleConstructorReturn(this,babelHelpers.getPrototypeOf(t).call(this,e,r))}return t}(st);let Ut=function(){function e(t,i,n=[]){babelHelpers.classCallCheck(this,e);babelHelpers.defineProperty(this,"item",null);babelHelpers.defineProperty(this,"queryWords",null);babelHelpers.defineProperty(this,"matchFields",new Map);babelHelpers.defineProperty(this,"sort",null);this.item=t;this.queryWords=i;this.addIndexes(n)}babelHelpers.createClass(e,[{key:"getItem",value:function e(){return this.item}},{key:"getQueryWords",value:function e(){return this.queryWords}},{key:"getMatchFields",value:function e(){return this.matchFields}},{key:"getSort",value:function e(){return this.sort}},{key:"addIndex",value:function e(t){let i=this.matchFields.get(t.getField());if(!i){i=new f(t.getField());this.matchFields.set(t.getField(),i);const e=t.getField().getSort();if(e!==null){this.sort=this.sort===null?e:Math.min(this.sort,e)}}i.addIndex(t)}},{key:"addIndexes",value:function e(t){t.forEach((e=>{this.addIndex(e)}))}}]);return e}();const _t=new Intl.Collator(undefined,{sensitivity:"base"});let Vt=function(){function e(){babelHelpers.classCallCheck(this,e)}babelHelpers.createClass(e,null,[{key:"matchItems",value:function e(t,i){const n=[];const s=i.getQueryWords();let l=i.getResultLimit();for(let e=0;e<t.length;e++){if(l===0){break}const i=t[e];if(i.isSelected()||!i.isSearchable()||i.isHidden()||!i.getEntity().isSearchable()){continue}const r=this.matchItem(i,s);if(r){n.push(r);l--}}return n}},{key:"matchItem",value:function e(t,i){let n=[];for(let e=0;e<i.length;e++){const s=i[e];const l=this.matchWord(t,s);if(l.length===0){return null}else{n=n.concat(l)}}if(n.length>0){return new Ut(t,i,n)}else{return null}}},{key:"matchWord",value:function e(t,i){const n=t.getSearchIndex().getIndexes();const s=[];for(let e=0;e<n.length;e++){const t=n[e];const l=t.getIndexes();for(let e=0;e<l.length;e++){const n=l[e];const r=n.getWord().substring(0,i.length);if(_t.compare(i,r)===0){s.push(new d(t.getField(),i,n.getStartIndex()))}}if(s.length>0){break}}return s}}]);return e}();let qt=function(){function e(t){babelHelpers.classCallCheck(this,e);babelHelpers.defineProperty(this,"queryWords",[]);babelHelpers.defineProperty(this,"query","");babelHelpers.defineProperty(this,"cacheable",true);babelHelpers.defineProperty(this,"dynamicSearchEntities",[]);babelHelpers.defineProperty(this,"resultLimit",100);this.query=t.trim().replace(/\s\s+/g," ");this.queryWords=s.Type.isStringFilled(this.query)?this.query.split(" "):[]}babelHelpers.createClass(e,[{key:"getQueryWords",value:function e(){return this.queryWords}},{key:"getQuery",value:function e(){return this.query}},{key:"isEmpty",value:function e(){return this.getQueryWords().length===0}},{key:"setCacheable",value:function e(t){if(s.Type.isBoolean(t)){this.cacheable=t}}},{key:"isCacheable",value:function e(){return this.cacheable}},{key:"setResultLimit",value:function e(t){if(s.Type.isNumber(t)&&t>=0){this.resultLimit=t}}},{key:"getResultLimit",value:function e(){return this.resultLimit}},{key:"hasDynamicSearch",value:function e(){return this.getDynamicSearchEntities().length>0}},{key:"hasDynamicSearchEntity",value:function e(t){return this.getDynamicSearchEntities().includes(t)}},{key:"setDynamicSearchEntities",value:function e(t){if(s.Type.isArrayFilled(t)){t.forEach((e=>{if(s.Type.isStringFilled(e)&&!this.hasDynamicSearchEntity(e)){this.dynamicSearchEntities.push(e)}}))}return this.dynamicSearchEntities}},{key:"getDynamicSearchEntities",value:function e(){return this.dynamicSearchEntities}},{key:"getAjaxJson",value:function e(){return this.toJSON()}},{key:"toJSON",value:function e(){return{queryWords:this.getQueryWords(),query:this.getQuery(),dynamicSearchEntities:this.getDynamicSearchEntities()}}}]);return e}();let Qt=e=>e,Gt,Xt,Jt,Kt,Zt;let Yt=function(){function e(t){babelHelpers.classCallCheck(this,e);babelHelpers.defineProperty(this,"tab",null);babelHelpers.defineProperty(this,"loader",null);babelHelpers.defineProperty(this,"cache",new s.Cache.MemoryCache);this.tab=t}babelHelpers.createClass(e,[{key:"getTab",value:function e(){return this.tab}},{key:"getLoader",value:function e(){if(this.loader===null){this.loader=new l.Loader({target:this.getIconContainer(),size:32})}return this.loader}},{key:"getContainer",value:function e(){return this.cache.remember("container",(()=>s.Tag.render(Gt||(Gt=Qt` <div class="ui-selector-search-loader"> ${0} ${0} </div> `),this.getBoxContainer(),this.getSpacerContainer())))}},{key:"getBoxContainer",value:function e(){return this.cache.remember("box-container",(()=>s.Tag.render(Xt||(Xt=Qt` <div class="ui-selector-search-loader-box"> ${0} ${0} </div>`),this.getIconContainer(),this.getTextContainer())))}},{key:"getIconContainer",value:function e(){return this.cache.remember("icon",(()=>s.Tag.render(Jt||(Jt=Qt`<div class="ui-selector-search-loader-icon"></div>`))))}},{key:"getTextContainer",value:function e(){return this.cache.remember("text",(()=>s.Tag.render(Kt||(Kt=Qt` <div class="ui-selector-search-loader-text">${0}</div> `),s.Loc.getMessage("UI_SELECTOR_SEARCH_LOADER_TEXT"))))}},{key:"getSpacerContainer",value:function e(){return this.cache.remember("spacer",(()=>s.Tag.render(Zt||(Zt=Qt`<div class="ui-selector-search-loader-spacer"></div>`))))}},{key:"show",value:function e(){if(!this.getContainer().parentNode){s.Dom.append(this.getContainer(),this.getTab().getContainer())}void this.getLoader().show();s.Dom.addClass(this.getContainer(),"ui-selector-search-loader--show");requestAnimationFrame((()=>{s.Dom.addClass(this.getContainer(),"ui-selector-search-loader--animate")}))}},{key:"hide",value:function e(){if(this.loader===null){return}s.Dom.removeClass(this.getContainer(),["ui-selector-search-loader--show","ui-selector-search-loader--animate"]);void this.getLoader().hide()}},{key:"isShown",value:function e(){return this.loader!==null&&this.loader.isShown()}}]);return e}();let ei=e=>e,ti,ii,ni,si;let li=function(e){babelHelpers.inherits(t,e);function t(e,i){var n;babelHelpers.classCallCheck(this,t);n=babelHelpers.possibleConstructorReturn(this,babelHelpers.getPrototypeOf(t).call(this,e,i));babelHelpers.defineProperty(babelHelpers.assertThisInitialized(n),"loader",null);n.getDialog().subscribe("onSearch",n.handleOnSearch.bind(babelHelpers.assertThisInitialized(n)));const s=n.getDialog().getTagSelector();if(s){s.subscribe("onMetaEnter",n.handleMetaEnter.bind(babelHelpers.assertThisInitialized(n)))}return n}babelHelpers.createClass(t,[{key:"render",value:function e(){return s.Tag.render(ti||(ti=ei` <div class="ui-selector-search-footer" onclick="${0}"> <div class="ui-selector-search-footer-box"> ${0} ${0} ${0} </div> <div class="ui-selector-search-footer-cmd">${0}</div> </div> `),this.handleClick.bind(this),this.getLabelContainer(),this.getQueryContainer(),this.getLoaderContainer(),s.Browser.isMac()?"⌘+Enter":"Ctrl+Enter")}},{key:"getLoader",value:function e(){if(this.loader===null){this.loader=new l.Loader({target:this.getLoaderContainer(),size:17,color:"rgba(82, 92, 105, 0.9)"})}return this.loader}},{key:"showLoader",value:function e(){void this.getLoader().show()}},{key:"hideLoader",value:function e(){void this.getLoader().hide()}},{key:"setLabel",value:function e(t){if(s.Type.isString(t)){this.getLabelContainer().textContent=t}}},{key:"getLabelContainer",value:function e(){return this.cache.remember("label",(()=>s.Tag.render(ii||(ii=ei` <span class="ui-selector-search-footer-label">${0}</span> `),this.getOption("label",s.Loc.getMessage("UI_SELECTOR_CREATE_ITEM_LABEL")))))}},{key:"getQueryContainer",value:function e(){return this.cache.remember("name-container",(()=>s.Tag.render(ni||(ni=ei` <span class="ui-selector-search-footer-query"></span> `))))}},{key:"getLoaderContainer",value:function e(){return this.cache.remember("loader",(()=>s.Tag.render(si||(si=ei` <div class="ui-selector-search-footer-loader"></div> `))))}},{key:"createItem",value:function e(){const t=this.getDialog().getTagSelector();if(t&&t.isLocked()){return}const i=()=>{this.hideLoader();if(this.getDialog().getTagSelector()){this.getDialog().getTagSelector().unlock();this.getDialog().focusSearch()}};event.preventDefault();this.showLoader();if(t){t.lock()}this.getDialog().emitAsync("Search:onItemCreateAsync",{searchQuery:this.getTab().getLastSearchQuery()}).then((()=>{this.getTab().clearResults();this.getDialog().clearSearch();if(this.getDialog().getActiveTab()===this.getTab()){this.getDialog().selectFirstTab()}i()})).catch((()=>{i()}))}},{key:"handleClick",value:function e(){this.createItem()}},{key:"handleMetaEnter",value:function e(t){const i=t.getData().event;i.stopPropagation();if(this.getDialog().getActiveTab()!==this.getTab()){return}this.handleClick()}},{key:"handleOnSearch",value:function e(t){const{query:i}=t.getData();this.getQueryContainer().textContent=i}}]);return t}(Ke);let ri=function(e){babelHelpers.inherits(t,e);function t(e,i,n){var l;babelHelpers.classCallCheck(this,t);const r={title:s.Loc.getMessage("UI_SELECTOR_SEARCH_TAB_TITLE"),visible:false,stub:true,stubOptions:{autoShow:false,title:s.Loc.getMessage("UI_SELECTOR_SEARCH_STUB_TITLE"),subtitle:s.Loc.getMessage("UI_SELECTOR_SEARCH_STUB_SUBTITLE_MSGVER_1")}};const a={...r,...i};a.id="search";a.stubOptions.autoShow=false;l=babelHelpers.possibleConstructorReturn(this,babelHelpers.getPrototypeOf(t).call(this,e,a));babelHelpers.defineProperty(babelHelpers.assertThisInitialized(l),"lastSearchQuery",null);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(l),"queryCache",new Set);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(l),"queryXhr",null);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(l),"searchLoader",new Yt(babelHelpers.assertThisInitialized(l)));babelHelpers.defineProperty(babelHelpers.assertThisInitialized(l),"allowCreateItem",false);n=s.Type.isPlainObject(n)?n:{};l.setAllowCreateItem(n.allowCreateItem,n.footerOptions);l.loadWithDebounce=s.Runtime.debounce((()=>{l.load(l.getLastSearchQuery())}),500);return l}babelHelpers.createClass(t,[{key:"search",value:function e(t){const i=new qt(t);const n=this.getDynamicEntities(i);i.setDynamicSearchEntities(n);if(i.isEmpty()){this.getSearchLoader().hide();return}this.lastSearchQuery=i;const s=Vt.matchItems(this.getDialog().getItems(),i);this.clearResults();this.appendResults(s);if(this.getDialog().shouldFocusOnFirst()){this.getDialog().focusOnFirstNode()}if(this.shouldLoad(i)){this.loadWithDebounce();if(!this.isEmptyResult()){this.getStub().hide()}}else if(!this.getSearchLoader().isShown()){this.toggleEmptyResult()}}},{key:"getLastSearchQuery",value:function e(){return this.lastSearchQuery}},{key:"setAllowCreateItem",value:function e(t,i){if(s.Type.isBoolean(t)){this.allowCreateItem=t;if(t){this.setFooter(li,i)}else{this.setFooter(null)}}}},{key:"canCreateItem",value:function e(){return this.allowCreateItem}},{key:"appendResults",value:function e(t){t.sort(((e,t)=>{const i=e.getSort();const n=t.getSort();if(i!==null&&n!==null&&i!==n){return i-n}if(i!==null&&n===null){return-1}if(i===null&&n!==null){return 1}const s=e.getItem().getContextSort();const l=t.getItem().getContextSort();if(s!==null&&l===null){return-1}if(s===null&&l!==null){return 1}if(s!==null&&l!==null){return l-s}const r=e.getItem().getGlobalSort();const a=t.getItem().getGlobalSort();if(r!==null&&a===null){return-1}if(r===null&&a!==null){return 1}if(r!==null&&a!==null){return a-r}return 0}));this.getRootNode().disableRender();t.forEach((e=>{const t=e.getItem();if(!this.getRootNode().hasItem(t)){const i=this.getRootNode().addItem(t);i.setHighlights(e.getMatchFields())}}));this.getRootNode().enableRender();this.getRootNode().render(true)}},{key:"getDynamicEntities",value:function e(t){const i=[];this.getDialog().getEntities().forEach((e=>{if(e.isSearchable()){const n=e.getSearchCacheLimits().some((e=>e.test(t.getQuery())));if(n){i.push(e.getId())}}}));return i}},{key:"isQueryCacheable",value:function e(t){return t.isCacheable()&&!t.hasDynamicSearch()}},{key:"isQueryLoaded",value:function e(t){let i=false;this.queryCache.forEach((e=>{if(i===false&&t.getQuery().startsWith(e)){i=true}}));return i}},{key:"addCacheQuery",value:function e(t){if(this.isQueryCacheable(t)){this.queryCache.add(t.getQuery())}}},{key:"removeCacheQuery",value:function e(t){this.queryCache.delete(t.getQuery())}},{key:"shouldLoad",value:function e(t){if(!this.isQueryCacheable(t)){return true}if(!this.getDialog().hasDynamicSearch()){return false}return!this.isQueryLoaded(t)}},{key:"load",value:function e(t){if(!this.shouldLoad(t)){return}this.addCacheQuery(t);this.getStub().hide();this.getSearchLoader().show();s.ajax.runAction("ui.entityselector.doSearch",{json:{dialog:this.getDialog().getAjaxJson(),searchQuery:t.getAjaxJson()},onrequeststart:e=>{this.queryXhr=e},getParameters:{context:this.getDialog().getContext()}}).then((e=>{this.getSearchLoader().hide();if(!e||!e.data||!e.data.dialog||!e.data.dialog.items){this.removeCacheQuery(t);this.toggleEmptyResult();this.getDialog().emit("SearchTab:onLoad",{searchTab:this});return}if(e.data.searchQuery&&e.data.searchQuery.cacheable===false){var i;this.removeCacheQuery(t);if(((i=this.getLastSearchQuery())===null||i===void 0?void 0:i.getQuery())!==t.getQuery()){this.loadWithDebounce()}}if(s.Type.isArrayFilled(e.data.dialog.items)){const t=new Set;e.data.dialog.items.forEach((e=>{delete e.tabs;delete e.children;const i=this.getDialog().addItem(e);t.add(i)}));const i=this.isEmptyResult();const n=Vt.matchItems([...t.values()],this.getLastSearchQuery());this.appendResults(n);if(i&&this.getDialog().shouldFocusOnFirst()){this.getDialog().focusOnFirstNode()}}if(s.Type.isArrayFilled(e.data.dialog.errors)){this.getDialog().emitEntityErrors(e.data.dialog.errors)}this.toggleEmptyResult();this.getDialog().emit("SearchTab:onLoad",{searchTab:this})})).catch((e=>{this.removeCacheQuery(t);this.getSearchLoader().hide();this.toggleEmptyResult();console.error(e)}))}},{key:"getSearchLoader",value:function e(){return this.searchLoader}},{key:"clearResults",value:function e(){this.getRootNode().removeChildren()}},{key:"isEmptyResult",value:function e(){return!this.getRootNode().hasChildren()}},{key:"toggleEmptyResult",value:function e(){if(this.isEmptyResult()){this.getStub().show()}else{this.getStub().hide()}}}]);return t}(st);let ai=e=>e,oi,ui,hi,ci,di,gi,fi;let pi=function e(){babelHelpers.classCallCheck(this,e)};babelHelpers.defineProperty(pi,"UNSENT","UNSENT");babelHelpers.defineProperty(pi,"LOADING","LOADING");babelHelpers.defineProperty(pi,"DONE","DONE");let bi=function e(){babelHelpers.classCallCheck(this,e)};babelHelpers.defineProperty(bi,"INSIDE","INSIDE");babelHelpers.defineProperty(bi,"OUTSIDE","OUTSIDE");const yi=new Map;let vi=function(e){babelHelpers.inherits(i,e);babelHelpers.createClass(i,null,[{key:"getById",value:function e(t){return yi.get(t)||null}},{key:"getInstances",value:function e(){return Array.from(yi.values())}}]);function i(e){var t;babelHelpers.classCallCheck(this,i);t=babelHelpers.possibleConstructorReturn(this,babelHelpers.getPrototypeOf(i).call(this));babelHelpers.defineProperty(babelHelpers.assertThisInitialized(t),"id",null);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(t),"items",new Map);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(t),"tabs",new Map);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(t),"entities",new Map);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(t),"targetNode",null);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(t),"popup",null);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(t),"cache",new s.Cache.MemoryCache);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(t),"multiple",true);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(t),"hideOnSelect",null);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(t),"hideOnDeselect",null);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(t),"addTagOnSelect",null);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(t),"clearSearchOnSelect",true);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(t),"context",null);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(t),"selectedItems",new Set);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(t),"preselectedItems",[]);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(t),"undeselectedItems",[]);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(t),"dropdownMode",false);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(t),"frozen",false);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(t),"frozenProps",{});babelHelpers.defineProperty(babelHelpers.assertThisInitialized(t),"hideByEsc",true);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(t),"autoHide",true);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(t),"autoHideHandler",null);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(t),"offsetTop",5);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(t),"offsetLeft",0);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(t),"cacheable",true);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(t),"width",565);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(t),"height",420);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(t),"maxLabelWidth",160);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(t),"minLabelWidth",45);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(t),"alwaysShowLabels",false);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(t),"showAvatars",true);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(t),"compactView",false);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(t),"activeTab",null);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(t),"recentTab",null);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(t),"searchTab",null);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(t),"rendered",false);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(t),"loadState",pi.UNSENT);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(t),"loader",null);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(t),"tagSelector",null);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(t),"tagSelectorMode",null);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(t),"tagSelectorHeight",null);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(t),"saveRecentItemsWithDebounce",s.Runtime.debounce(t.saveRecentItems,2e3,babelHelpers.assertThisInitialized(t)));babelHelpers.defineProperty(babelHelpers.assertThisInitialized(t),"recentItemsToSave",[]);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(t),"recentItemsLimit",null);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(t),"navigation",null);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(t),"header",null);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(t),"footer",null);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(t),"popupOptions",{});babelHelpers.defineProperty(babelHelpers.assertThisInitialized(t),"focusOnFirst",true);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(t),"focusedNode",null);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(t),"clearUnavailableItems",false);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(t),"overlappingObserver",null);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(t),"offsetAnimation",true);t.setEventNamespace("BX.UI.EntitySelector.Dialog");const n=s.Type.isPlainObject(e)?e:{};t.id=s.Type.isStringFilled(n.id)?n.id:`ui-selector-${s.Text.getRandom().toLowerCase()}`;t.multiple=s.Type.isBoolean(n.multiple)?n.multiple:true;t.context=s.Type.isStringFilled(n.context)?n.context:null;t.clearUnavailableItems=n.clearUnavailableItems===true;t.compactView=n.compactView===true;t.dropdownMode=s.Type.isBoolean(n.dropdownMode)?n.dropdownMode:false;t.alwaysShowLabels=s.Type.isBoolean(n.alwaysShowLabels)?n.alwaysShowLabels:false;if(s.Type.isArray(n.entities)){n.entities.forEach((e=>{t.addEntity(e)}))}if(n.tagSelector instanceof Bt){t.tagSelectorMode=bi.OUTSIDE;t.setTagSelector(n.tagSelector)}else if(n.enableSearch===true){const e={placeholder:s.Loc.getMessage("UI_TAG_SELECTOR_SEARCH_PLACEHOLDER"),maxHeight:102,textBoxWidth:105};const i=s.Type.isPlainObject(n.tagSelectorOptions)?n.tagSelectorOptions:{};const l={dialogOptions:null,showTextBox:true,showAddButton:false,showCreateButton:false,multiple:t.isMultiple()};const r=Object.assign(e,i,l);const a=new Bt(r);t.tagSelectorMode=bi.INSIDE;t.setTagSelector(a)}t.setTargetNode(n.targetNode);t.setHideOnSelect(n.hideOnSelect);t.setHideOnDeselect(n.hideOnDeselect);t.setAddTagOnSelect(n.addTagOnSelect);t.setClearSearchOnSelect(n.clearSearchOnSelect);t.setWidth(n.width);void t.setHeight(n.height);t.setAutoHide(n.autoHide);t.setAutoHideHandler(n.autoHideHandler);t.setHideByEsc(n.hideByEsc);t.setOffsetLeft(n.offsetLeft);t.setOffsetTop(n.offsetTop);t.setCacheable(n.cacheable);t.setFocusOnFirst(n.focusOnFirst);t.setShowAvatars(n.showAvatars);t.setRecentItemsLimit(n.recentItemsLimit);t.setOffsetAnimation(n.offsetAnimation);t.recentTab=new Wt(babelHelpers.assertThisInitialized(t),n.recentTabOptions);t.searchTab=new ri(babelHelpers.assertThisInitialized(t),n.searchTabOptions,n.searchOptions);t.addTab(t.recentTab);t.addTab(t.searchTab);t.setPreselectedItems(n.preselectedItems);t.setUndeselectedItems(n.undeselectedItems);t.setOptions(n);const l=n.preload===true||t.getPreselectedItems().length>0;if(l){t.load()}if(s.Type.isPlainObject(n.popupOptions)){const e=new Set(["overlay","bindOptions","targetContainer","zIndexOptions","events","animation","className"]);const i={};Object.keys(n.popupOptions).forEach((t=>{if(e.has(t)){i[t]=n.popupOptions[t]}}));t.popupOptions=i}t.navigation=new Lt(babelHelpers.assertThisInitialized(t));new Nt(babelHelpers.assertThisInitialized(t));t.subscribe("ItemNode:onFocus",t.handleItemNodeFocus.bind(babelHelpers.assertThisInitialized(t)));t.subscribe("ItemNode:onUnfocus",t.handleItemNodeUnfocus.bind(babelHelpers.assertThisInitialized(t)));t.subscribeFromOptions(n.events);yi.set(t.id,babelHelpers.assertThisInitialized(t));return t}babelHelpers.createClass(i,[{key:"show",value:function e(){this.load();this.getPopup().show()}},{key:"hide",value:function e(){this.getPopup().close()}},{key:"destroy",value:function e(){if(this.destroying){return}this.destroying=true;this.emit("onDestroy");this.disconnectTabOverlapping();yi.delete(this.getId());if(this.isRendered()){this.getPopup().destroy()}for(const e in this){if(this.hasOwnProperty(e)){delete this[e]}}Object.setPrototypeOf(this,null)}},{key:"isOpen",value:function e(){return this.popup&&this.popup.isShown()}},{key:"adjustPosition",value:function e(){if(this.isRendered()){this.getPopup().adjustPosition()}}},{key:"search",value:function e(t){const i=s.Type.isStringFilled(t)?t.trim():"";const l=new n.BaseEvent({data:{query:i}});this.emit("onBeforeSearch",l);if(l.isDefaultPrevented()){return}if(!s.Type.isStringFilled(i)){this.selectFirstTab();if(this.getSearchTab()){this.getSearchTab().clearResults()}}else if(this.getSearchTab()){this.selectTab(this.getSearchTab().getId());this.getSearchTab().search(i)}this.emit("onSearch",{query:i})}},{key:"addItem",value:function e(t){if(!s.Type.isPlainObject(t)){throw new Error("EntitySelector.addItem: wrong item options.")}let i=this.getItem(t);if(!i){i=new Ne(t);const e=this.getUndeselectedItems().some((e=>e[0]===i.getEntityId()&&String(e[1])===String(i.getId())));if(e){i.setDeselectable(false)}i.setDialog(this);const n=this.getEntity(i.getEntityId());if(n===null){this.addEntity({id:i.getEntityId()})}let s=this.items.get(i.getEntityId());if(!s){s=new Map;this.items.set(i.getEntityId(),s)}s.set(String(i.getId()),i);if(i.isSelected()){this.handleItemSelect(i)}}let n=[];if(s.Type.isArray(t.tabs)){n=t.tabs}else if(s.Type.isStringFilled(t.tabs)){n=[t.tabs]}const l=s.Type.isArray(t.children)?t.children:[];n.forEach((e=>{const n=this.getTab(e);if(n){const e=n.getRootNode().addItem(i,t.nodeOptions);e.addChildren(l)}}));return i}},{key:"removeItem",value:function e(t){t=this.getItem(t);if(t){this.handleItemDeselect(t);t.getNodes().forEach((e=>{e.getParentNode().removeChild(e)}));const e=this.getEntityItemsInternal(t.getEntityId());if(e){e.delete(String(t.getId()));if(e.size===0){this.items.delete(t.getEntityId())}}}return t}},{key:"removeItems",value:function e(){this.getItemsInternal().forEach((e=>{e.forEach((e=>{this.removeItem(e)}))}))}},{key:"getItem",value:function e(t){let i=null;let n=null;if(s.Type.isArray(t)&&t.length===2){[n,i]=t}else if(t instanceof Ne){i=t.getId();n=t.getEntityId()}else if(s.Type.isObjectLike(t)){({id:i,entityId:n}=t)}const l=this.getEntityItemsInternal(n);if(l){return l.get(String(i))||null}return null}},{key:"getSelectedItems",value:function e(){return Array.from(this.selectedItems)}},{key:"getItems",value:function e(){const t=[];this.getItemsInternal().forEach((e=>{Array.prototype.push.apply(t,Array.from(e.values()))}));return t}},{key:"getItemsInternal",value:function e(){return this.items}},{key:"getEntityItems",value:function e(t){const i=this.getEntityItemsInternal(t);return i===null?[]:Array.from(i.values())}},{key:"getEntityItemsInternal",value:function e(t){return this.items.get(t)||null}},{key:"validateItemIds",value:function e(t){if(!s.Type.isArrayFilled(t)){return[]}const i=[];t.forEach((e=>{if(!s.Type.isArray(e)||e.length!==2){return}const[t,n]=e;if(s.Type.isStringFilled(t)&&(s.Type.isStringFilled(n)||s.Type.isNumber(n))){i.push(e)}}));return i}},{key:"addTab",value:function e(t){if(s.Type.isPlainObject(t)){t=new st(this,t)}if(!(t instanceof st)){throw new Error("EntitySelector: a tab must be an instance of EntitySelector.Tab.")}if(this.getTab(t.getId())){console.error(`EntitySelector: the "${t.getId()}" tab is already existed.`);return t}t.setDialog(this);this.tabs.set(t.getId(),t);if(this.isRendered()){this.insertTab(t)}return t}},{key:"getTabs",value:function e(){return Array.from(this.tabs.values())}},{key:"getTab",value:function e(t){return this.tabs.get(t)||null}},{key:"getRecentTab",value:function e(){return this.recentTab}},{key:"getSearchTab",value:function e(){return this.searchTab}},{key:"selectTab",value:function e(t){const i=this.getTab(t);if(!i||i===this.getActiveTab()){return i}if(this.getActiveTab()){this.getActiveTab().deselect()}this.activeTab=i;i.select();if(!i.isRendered()){i.render()}requestAnimationFrame((()=>{requestAnimationFrame((()=>{this.focusSearch()}))}));this.clearNodeFocus();if(this.shouldFocusOnFirst()){this.focusOnFirstNode()}this.adjustHeader();this.adjustFooter();return i}},{key:"insertTab",value:function e(t){t.renderLabel();t.renderContainer();s.Dom.append(t.getLabelContainer(),this.getLabelsContainer());s.Dom.append(t.getContainer(),this.getTabContentsContainer());if(t.getHeader()){s.Dom.append(t.getHeader().getContainer(),this.getHeaderContainer())}if(t.getFooter()){s.Dom.append(t.getFooter().getContainer(),this.getFooterContainer())}}},{key:"selectFirstTab",value:function e(t=true){const i=this.getTabs();for(let e=0;e<i.length;e++){const n=i[e];if(t===false||n.isVisible()){return this.selectTab(n.getId())}}if(this.isDropdownMode()){return this.selectTab(this.getRecentTab().getId())}return null}},{key:"selectLastTab",value:function e(t=true){const i=this.getTabs();for(let e=i.length-1;e>=0;e--){const n=i[e];if(t===false||n.isVisible()){return this.selectTab(n.getId())}}if(this.isDropdownMode()){return this.selectTab(this.getRecentTab().getId())}return null}},{key:"getActiveTab",value:function e(){return this.activeTab}},{key:"getNextTab",value:function e(t=true){let i=null;let n=false;const s=this.getTabs();for(let e=0;e<s.length;e++){const l=s[e];if(t&&!l.isVisible()){continue}if(l===this.getActiveTab()){n=true}else if(n){i=l;break}}return i}},{key:"getPreviousTab",value:function e(t=true){let i=null;let n=false;const s=this.getTabs();for(let e=s.length-1;e>=0;e--){const l=s[e];if(t&&!l.isVisible()){continue}if(l===this.getActiveTab()){n=true}else if(n){i=l;break}}return i}},{key:"removeTab",value:function e(t){const i=this.getTab(t);if(!i){return}i.getRootNode().removeChildren();this.tabs.delete(t);s.Dom.remove(i.getLabelContainer(),this.getLabelsContainer());s.Dom.remove(i.getContainer(),this.getTabContentsContainer());if(i.getHeader()){s.Dom.remove(i.getHeader().getContainer(),this.getHeaderContainer())}if(i.getFooter()){s.Dom.remove(i.getFooter().getContainer(),this.getFooterContainer())}this.selectFirstTab()}},{key:"addEntity",value:function e(t){if(s.Type.isPlainObject(t)){t=new Pe(t)}if(!(t instanceof Pe)){throw new Error("EntitySelector: an entity must be an instance of EntitySelector.Entity.")}if(this.hasEntity(t.getId())){console.error(`EntitySelector: the "${t.getId()}" entity is already existed.`);return t}this.entities.set(t.getId(),t);return t}},{key:"getEntity",value:function e(t){return this.entities.get(t)||null}},{key:"hasEntity",value:function e(t){return this.entities.has(t)}},{key:"getEntities",value:function e(){return Array.from(this.entities.values())}},{key:"removeEntity",value:function e(t){this.removeEntityItems(t);this.entities.delete(t)}},{key:"removeEntityItems",value:function e(t){const i=this.getEntityItemsInternal(t);if(i){i.forEach((e=>{this.removeItem(e)}))}}},{key:"getHeader",value:function e(){return this.header}},{key:"getActiveHeader",value:function e(){if(!this.getActiveTab()){return null}if(this.getActiveTab().getHeader()){return this.getActiveTab().getHeader()}return this.getHeader()&&this.getActiveTab().canShowDefaultHeader()?this.getHeader():null}},{key:"adjustHeader",value:function e(){if(!this.getActiveTab()){return}if(this.getActiveTab().getHeader()){if(this.getHeader()){this.getHeader().hide()}this.getActiveTab().getHeader().show()}else{if(this.getHeader()){if(this.getActiveTab().canShowDefaultHeader()){this.getHeader().show()}else{this.getHeader().hide()}}}}},{key:"setHeader",value:function e(t,i){let n=null;if(t!==null){n=this.constructor.createHeader(this,t,i);if(n===null){return null}}if(this.isRendered()&&this.getHeader()!==null){s.Dom.remove(this.getHeader().getContainer());this.adjustHeader()}this.header=n;if(this.isRendered()){this.appendHeader(n);this.adjustHeader()}return n}},{key:"appendHeader",value:function e(t){if(t instanceof Ge){s.Dom.append(t.getContainer(),this.getHeaderContainer())}}},{key:"getFooter",value:function e(){return this.footer}},{key:"getActiveFooter",value:function e(){if(!this.getActiveTab()){return null}if(this.getActiveTab().getFooter()){return this.getActiveTab().getFooter()}return this.getFooter()&&this.getActiveTab().canShowDefaultFooter()?this.getFooter():null}},{key:"adjustFooter",value:function e(){if(!this.getActiveTab()){return}if(this.getActiveTab().getFooter()){if(this.getFooter()){this.getFooter().hide()}this.getActiveTab().getFooter().show()}else{if(this.getFooter()){if(this.getActiveTab().canShowDefaultFooter()){this.getFooter().show()}else{this.getFooter().hide()}}}}},{key:"setFooter",value:function e(t,i){let n=null;if(t!==null){n=this.constructor.createFooter(this,t,i);if(n===null){return null}}if(this.isRendered()&&this.getFooter()!==null){s.Dom.remove(this.getFooter().getContainer());this.adjustFooter()}this.footer=n;if(this.isRendered()){this.appendFooter(n);this.adjustFooter()}return n}},{key:"appendFooter",value:function e(t){if(t instanceof Ke){s.Dom.append(t.getContainer(),this.getFooterContainer())}}},{key:"getId",value:function e(){return this.id}},{key:"getContext",value:function e(){return this.context}},{key:"getNavigation",value:function e(){return this.navigation}},{key:"deselectAll",value:function e(){this.getSelectedItems().forEach((e=>{e.deselect()}))}},{key:"isMultiple",value:function e(){return this.multiple}},{key:"setTargetNode",value:function e(t){if(!s.Type.isDomNode(t)&&!s.Type.isNull(t)&&!s.Type.isObject(t)){return}this.targetNode=t;if(this.isRendered()){this.getPopup().setBindElement(this.targetNode);this.getPopup().adjustPosition()}}},{key:"getTargetNode",value:function e(){if(this.targetNode===null){if(this.getTagSelectorMode()===bi.OUTSIDE){return this.getTagSelector().getOuterContainer()}}return this.targetNode}},{key:"setHideOnSelect",value:function e(t){if(s.Type.isBoolean(t)){this.hideOnSelect=t}}},{key:"shouldHideOnSelect",value:function e(){if(this.hideOnSelect!==null){return this.hideOnSelect}return!this.isMultiple()}},{key:"setHideOnDeselect",value:function e(t){if(s.Type.isBoolean(t)){this.hideOnDeselect=t}}},{key:"shouldHideOnDeselect",value:function e(){if(this.hideOnDeselect!==null){return this.hideOnDeselect}return false}},{key:"setClearSearchOnSelect",value:function e(t){if(s.Type.isBoolean(t)){this.clearSearchOnSelect=t}}},{key:"shouldClearSearchOnSelect",value:function e(){return this.clearSearchOnSelect}},{key:"setAddTagOnSelect",value:function e(t){if(s.Type.isBoolean(t)){this.addTagOnSelect=t}}},{key:"shouldAddTagOnSelect",value:function e(){if(this.addTagOnSelect!==null){return this.addTagOnSelect}return this.isMultiple()||this.isTagSelectorOutside()}},{key:"setShowAvatars",value:function e(t){if(s.Type.isBoolean(t)){this.showAvatars=t;if(this.isRendered()){this.getTabs().forEach((e=>{e.renderContainer()}))}}}},{key:"shouldShowAvatars",value:function e(){return this.showAvatars}},{key:"setRecentItemsLimit",value:function e(t){if(s.Type.isNumber(t)&&t>0){this.recentItemsLimit=t}}},{key:"getRecentItemsLimit",value:function e(){return this.recentItemsLimit}},{key:"setOffsetAnimation",value:function e(t){if(s.Type.isBoolean(t)){this.offsetAnimation=t;if(this.isRendered()&&!this.offsetAnimation){s.Dom.removeClass(this.getPopup().getPopupContainer(),"ui-selector-popup-offset-animation")}}}},{key:"isCompactView",value:function e(){return this.compactView}},{key:"setAutoHide",value:function e(t){if(s.Type.isBoolean(t)){this.autoHide=t;if(this.isRendered()){this.getPopup().setAutoHide(t)}}}},{key:"isAutoHide",value:function e(){return this.autoHide}},{key:"setAutoHideHandler",value:function e(t){if(s.Type.isFunction(t)||t===null){this.autoHideHandler=t}}},{key:"setHideByEsc",value:function e(t){if(s.Type.isBoolean(t)){this.hideByEsc=t;if(this.isRendered()){this.getPopup().setClosingByEsc(t)}}}},{key:"shouldHideByEsc",value:function e(){return this.hideByEsc}},{key:"getWidth",value:function e(){return this.width}},{key:"setWidth",value:function e(t){if(s.Type.isNumber(t)&&t>0){this.width=t;if(this.isRendered()){s.Dom.style(this.getContainer(),"width",`${t}px`)}}}},{key:"getHeight",value:function e(){return this.height}},{key:"setHeight",value:function e(t){if(s.Type.isNumber(t)&&t>0){this.height=t;if(this.isRendered()){s.Dom.style(this.getContainer(),"height",`${t}px`);return p.handleTransitionEnd(this.getContainer(),"height")}else{return Promise.resolve()}}else{return Promise.resolve()}}},{key:"getOffsetLeft",value:function e(){return this.offsetLeft}},{key:"setOffsetLeft",value:function e(t){if(s.Type.isNumber(t)&&t>=0){this.offsetLeft=t;if(this.isRendered()){this.getPopup().setOffset({offsetLeft:t});this.adjustPosition()}}}},{key:"getOffsetTop",value:function e(){return this.offsetTop}},{key:"setOffsetTop",value:function e(t){if(s.Type.isNumber(t)&&t>=0){this.offsetTop=t;if(this.isRendered()){this.getPopup().setOffset({offsetTop:t});this.adjustPosition()}}}},{key:"getZindex",value:function e(){return this.getPopup().getZindex()}},{key:"isCacheable",value:function e(){return this.cacheable}},{key:"setCacheable",value:function e(t){if(s.Type.isBoolean(t)){this.cacheable=t;if(this.isRendered()){this.getPopup().setCacheable(t)}}}},{key:"shouldFocusOnFirst",value:function e(){return this.focusOnFirst}},{key:"setFocusOnFirst",value:function e(t){if(s.Type.isBoolean(t)){this.focusOnFirst=t}}},{key:"focusOnFirstNode",value:function e(){if(this.getActiveTab()){const e=this.getActiveTab().getRootNode().getFirstChild();if(e){e.focus();return e}}return null}},{key:"getFocusedNode",value:function e(){return this.focusedNode}},{key:"clearNodeFocus",value:function e(){if(this.focusedNode){this.focusedNode.unfocus();this.focusedNode=null}}},{key:"isDropdownMode",value:function e(){return this.dropdownMode}},{key:"setPreselectedItems",value:function e(t){this.preselectedItems=this.validateItemIds(t)}},{key:"getPreselectedItems",value:function e(){return this.preselectedItems}},{key:"setUndeselectedItems",value:function e(t){this.undeselectedItems=this.validateItemIds(t)}},{key:"getUndeselectedItems",value:function e(){return this.undeselectedItems}},{key:"setOptions",value:function e(t){const i=s.Type.isPlainObject(t)?t:{};if(s.Type.isArray(i.tabs)){i.tabs.forEach((e=>{this.addTab(e)}))}if(s.Type.isArray(i.selectedItems)){i.selectedItems.forEach((e=>{const t=Object.assign({},s.Type.isPlainObject(e)?e:{});t.selected=true;this.addItem(t)}))}if(s.Type.isArray(i.items)){i.items.forEach((e=>{this.addItem(e)}))}this.setHeader(i.header,i.headerOptions);this.setFooter(i.footer,i.footerOptions)}},{key:"getMaxLabelWidth",value:function e(){return this.maxLabelWidth}},{key:"getMinLabelWidth",value:function e(){return this.minLabelWidth}},{key:"expandLabels",value:function e(t=true){const i=parseInt(this.getPopup().getPopupContainer().style.left,10);if(i>this.getMinLabelWidth()){s.Dom.removeClass(this.getLabelsContainer(),"ui-selector-tab-labels--animate-hide");if(t){s.Dom.addClass(this.getLabelsContainer(),"ui-selector-tab-labels--animate-show");s.Dom.style(this.getLabelsContainer(),"max-width",`${Math.min(i,this.getMaxLabelWidth())}px`);p.handleTransitionEnd(this.getLabelsContainer(),"max-width").then((()=>{s.Dom.removeClass(this.getLabelsContainer(),"ui-selector-tab-labels--animate-show");s.Dom.addClass(this.getLabelsContainer(),"ui-selector-tab-labels--active")})).catch((()=>{}))}else{s.Dom.style(this.getLabelsContainer(),"max-width",`${Math.min(i,this.getMaxLabelWidth())}px`)}}else{s.Dom.addClass(this.getLabelsContainer(),"ui-selector-tab-labels--active")}}},{key:"collapseLabels",value:function e(t=true){s.Dom.removeClass(this.getLabelsContainer(),"ui-selector-tab-labels--animate-show");s.Dom.removeClass(this.getLabelsContainer(),"ui-selector-tab-labels--active");if(t){s.Dom.addClass(this.getLabelsContainer(),"ui-selector-tab-labels--animate-hide");p.handleTransitionEnd(this.getLabelsContainer(),"max-width").then((()=>{s.Dom.removeClass(this.getLabelsContainer(),"ui-selector-tab-labels--animate-hide")})).catch((()=>{}))}s.Dom.style(this.getLabelsContainer(),"max-width",null)}},{key:"getTagSelector",value:function e(){return this.tagSelector}},{key:"getTagSelectorMode",value:function e(){return this.tagSelectorMode}},{key:"isTagSelectorInside",value:function e(){return this.getTagSelector()&&this.getTagSelectorMode()===bi.INSIDE}},{key:"isTagSelectorOutside",value:function e(){return this.getTagSelector()&&this.getTagSelectorMode()===bi.OUTSIDE}},{key:"getTagSelectorQuery",value:function e(){return this.getTagSelector()?this.getTagSelector().getTextBoxValue():""}},{key:"setTagSelector",value:function e(t){this.tagSelector=t;this.tagSelector.subscribe("onInput",s.Runtime.debounce(this.handleTagSelectorInput,200,this));this.tagSelector.subscribe("onAddButtonClick",this.handleTagSelectorAddButtonClick.bind(this));this.tagSelector.subscribe("onTagRemove",this.handleTagSelectorTagRemove.bind(this));this.tagSelector.subscribe("onAfterTagRemove",this.handleTagSelectorAfterTagRemove.bind(this));this.tagSelector.subscribe("onAfterTagAdd",this.handleTagSelectorAfterTagAdd.bind(this));this.tagSelector.subscribe("onContainerClick",this.handleTagSelectorClick.bind(this));this.tagSelector.setDialog(this)}},{key:"focusSearch",value:function e(){if(this.getTagSelector()){if(this.getActiveTab()!==this.getSearchTab()){this.getTagSelector().clearTextBox()}this.getTagSelector().focusTextBox()}}},{key:"clearSearch",value:function e(){if(this.getTagSelector()){this.getTagSelector().clearTextBox();if(this.getActiveTab()===this.getSearchTab()){this.selectFirstTab()}}}},{key:"getLoader",value:function e(){if(this.loader===null){this.loader=new l.Loader({target:this.getTabsContainer(),size:100})}return this.loader}},{key:"showLoader",value:function e(){void this.getLoader().show()}},{key:"hideLoader",value:function e(){if(this.loader!==null){void this.getLoader().hide()}}},{key:"destroyLoader",value:function e(){if(this.loader!==null){this.getLoader().destroy()}this.loader=null}},{key:"getPopup",value:function e(){if(this.popup!==null){return this.popup}this.getTabs().forEach((e=>{this.insertTab(e)}));const i={...this.popupOptions};const n=i.events;delete i.events;this.popup=new t.Popup({contentPadding:0,padding:0,offsetTop:this.getOffsetTop(),offsetLeft:this.getOffsetLeft(),animation:{showClassName:"ui-selector-popup-animation-show",closeClassName:"ui-selector-popup-animation-close",closeAnimationType:"animation"},bindElement:this.getTargetNode(),bindOptions:{forceBindPosition:true},autoHide:this.isAutoHide(),autoHideHandler:this.handleAutoHide.bind(this),closeByEsc:this.shouldHideByEsc(),cacheable:this.isCacheable(),events:{onFirstShow:this.handlePopupFirstShow.bind(this),onShow:this.handlePopupShow.bind(this),onAfterShow:this.handlePopupAfterShow.bind(this),onAfterClose:this.handlePopupAfterClose.bind(this),onDestroy:this.handlePopupDestroy.bind(this)},content:this.getContainer(),...i});this.popup.subscribeFromOptions(n);this.rendered=true;this.selectFirstTab();return this.popup}},{key:"isRendered",value:function e(){return this.rendered}},{key:"getContainer",value:function e(){return this.cache.remember("container",(()=>{let e="";if(this.getTagSelectorMode()===bi.INSIDE){e=s.Tag.render(oi||(oi=ai`<div class="ui-selector-search"></div>`));this.getTagSelector().renderTo(e)}const t=this.isCompactView()?" ui-selector-dialog--compact-view":"";return s.Tag.render(ui||(ui=ai` <div class="ui-selector-dialog${0}" style="width:${0}px; height:${0}px;" > ${0} ${0} ${0} ${0} </div> `),t,this.getWidth(),this.getHeight(),this.getHeaderContainer(),e,this.getTabsContainer(),this.getFooterContainer())}))}},{key:"getTabsContainer",value:function e(){return this.cache.remember("tabs-container",(()=>s.Tag.render(hi||(hi=ai` <div class="ui-selector-tabs"> ${0} ${0} </div> `),this.getTabContentsContainer(),this.getLabelsContainer())))}},{key:"getTabContentsContainer",value:function e(){return this.cache.remember("tab-contents",(()=>s.Tag.render(ci||(ci=ai`<div class="ui-selector-tab-contents"></div>`))))}},{key:"getLabelsContainer",value:function e(){return this.cache.remember("labels-container",(()=>s.Tag.render(di||(di=ai` <div class="ui-selector-tab-labels" onmouseenter="${0}" onmouseleave="${0}" ></div> `),this.alwaysShowLabels?null:this.handleLabelsMouseEnter.bind(this),this.alwaysShowLabels?null:this.handleLabelsMouseLeave.bind(this))))}},{key:"getHeaderContainer",value:function e(){return this.cache.remember("header",(()=>{const e=this.getHeader()&&this.getHeader().getContainer();return s.Tag.render(gi||(gi=ai` <div class="ui-selector-header-container">${0}</div> `),e?e:"")}))}},{key:"getFooterContainer",value:function e(){return this.cache.remember("footer",(()=>{const e=this.getFooter()&&this.getFooter().getContainer();return s.Tag.render(fi||(fi=ai` <div class="ui-selector-footer-container">${0}</div> `),e?e:"")}))}},{key:"freeze",value:function e(){if(this.isFrozen()){return}this.frozenProps={autoHide:this.isAutoHide(),hideByEsc:this.shouldHideByEsc()};this.setAutoHide(false);this.setHideByEsc(false);this.getNavigation().disable();s.Dom.addClass(this.getContainer(),"ui-selector-dialog--freeze");this.frozen=true}},{key:"unfreeze",value:function e(){if(!this.isFrozen()){return}this.setAutoHide(this.frozenProps.autoHide!==false);this.setHideByEsc(this.frozenProps.hideByEsc!==false);this.getNavigation().enable();s.Dom.removeClass(this.getContainer(),"ui-selector-dialog--freeze");this.frozen=false}},{key:"isFrozen",value:function e(){return this.frozen}},{key:"hasRecentItems",value:function e(){return new Promise(((e,t)=>{s.ajax.runAction("ui.entityselector.load",{json:{dialog:this.getAjaxJson()},getParameters:{context:this.getContext()}}).then((t=>{e(t.data&&t.data.dialog&&s.Type.isArrayFilled(t.data.dialog.recentItems))})).catch((e=>{t(e)}))}))}},{key:"load",value:function e(){if(this.loadState!==pi.UNSENT||!this.hasDynamicLoad()){return}if(this.getTagSelector()){this.getTagSelector().lock()}setTimeout((()=>{if(this.isLoading()){this.showLoader()}}),400);this.loadState=pi.LOADING;s.ajax.runAction("ui.entityselector.load",{json:{dialog:this.getAjaxJson()},getParameters:{context:this.getContext()}}).then((e=>{if(e&&e.data&&s.Type.isPlainObject(e.data.dialog)){this.loadState=pi.DONE;const t=s.Type.isArrayFilled(e.data.dialog.entities)?e.data.dialog.entities:[];t.forEach((e=>{const t=this.getEntity(e.id);if(t){t.setDynamicSearch(e.dynamicSearch)}}));this.setOptions(e.data.dialog);this.getPreselectedItems().forEach((e=>{const t=this.getItem(e);if(t){t.select(true)}}));const i=e.data.dialog.recentItems;if(s.Type.isArray(i)){const t=new Map;const n=e.data.dialog.items;if(s.Type.isArray(n)){n.forEach((e=>{if(e.nodeOptions){const i=this.getItem(e);if(i){t.set(i,e.nodeOptions)}}}))}const l=i.map((e=>{const i=this.getItem(e);return[i,t.get(i)]}));this.getRecentTab().getRootNode().addItems(l)}if(!this.getRecentTab().getRootNode().hasChildren()&&this.getRecentTab().getStub()){this.getRecentTab().getStub().show()}if(this.getTagSelector()){this.getTagSelector().unlock()}if(this.isRendered()){if(this.isDropdownMode()&&this.getActiveTab()===this.getRecentTab()){this.selectFirstTab()}else if(!this.getActiveTab()){this.selectFirstTab()}}this.focusSearch();this.destroyLoader();if(this.shouldFocusOnFirst()){this.focusOnFirstNode()}if(s.Type.isArrayFilled(e.data.dialog.errors)){this.emitEntityErrors(e.data.dialog.errors)}this.emit("onLoad")}})).catch((e=>{this.loadState=pi.UNSENT;if(this.getTagSelector()){this.getTagSelector().unlock()}this.focusSearch();this.destroyLoader();this.emit("onLoadError",{error:e});console.error(e)}))}},{key:"isLoaded",value:function e(){return this.loadState===pi.DONE}},{key:"isLoading",value:function e(){return this.loadState===pi.LOADING}},{key:"hasDynamicLoad",value:function e(){let e=false;this.entities.forEach((t=>{e=e||t.hasDynamicLoad()}));return e}},{key:"hasDynamicSearch",value:function e(){let e=false;this.entities.forEach((t=>{e=e||t.isSearchable()&&t.hasDynamicSearch()}));return e}},{key:"saveRecentItem",value:function e(t){if(this.getContext()===null||!t.isSaveable()){return}this.recentItemsToSave.push(t);this.saveRecentItemsWithDebounce()}},{key:"saveRecentItems",value:function e(){if(!s.Type.isArrayFilled(this.recentItemsToSave)){return}s.ajax.runAction("ui.entityselector.saveRecentItems",{json:{dialog:this.getAjaxJson(),recentItems:this.recentItemsToSave.map((e=>e.getAjaxJson()))},getParameters:{context:this.getContext()}}).then((e=>{})).catch((e=>{console.error(e)}));this.recentItemsToSave=[]}},{key:"shouldClearUnavailableItems",value:function e(){return this.clearUnavailableItems}},{key:"handleTagSelectorInput",value:function e(){if(this.getTagSelectorMode()===bi.OUTSIDE&&!this.isOpen()){this.show()}const t=this.getTagSelector().getTextBoxValue();this.search(t)}},{key:"handleTagSelectorAddButtonClick",value:function e(){this.show()}},{key:"handleTagSelectorTagRemove",value:function e(t){const{tag:i}=t.getData();const n=this.getItem({id:i.getId(),entityId:i.getEntityId()});if(n){n.deselect()}this.focusSearch()}},{key:"handleTagSelectorAfterTagRemove",value:function e(){this.adjustByTagSelector()}},{key:"handleTagSelectorAfterTagAdd",value:function e(){this.adjustByTagSelector()}},{key:"adjustByTagSelector",value:function e(){if(this.getTagSelectorMode()===bi.OUTSIDE){this.adjustPosition()}else if(this.getTagSelectorMode()===bi.INSIDE){const e=this.getTagSelector().calcHeight();if(e>0){const t=e-(this.tagSelectorHeight||this.getTagSelector().getMinHeight());this.tagSelectorHeight=e;if(t!==0){const e=this.getHeight();this.setHeight(e+t).then((()=>{this.adjustPosition()}))}}}}},{key:"handleTagSelectorClick",value:function e(){this.focusSearch()}},{key:"handleItemSelect",value:function e(t,i=true){const n=this.isMultiple()?i:this.getSelectedItems().length===0;if(!this.isMultiple()){this.deselectAll();if(this.getSelectedItems().length>0){console.error("EntitySelector: some items are still selected.",this.getSelectedItems())}}if(this.getTagSelector()&&this.shouldAddTagOnSelect()){const e=t.createTag();e.animate=n;this.getTagSelector().addTag(e)}this.selectedItems.add(t)}},{key:"handleItemDeselect",value:function e(t,i=true){const n=i&&this.isMultiple();this.selectedItems.delete(t);if(this.getTagSelector()){this.getTagSelector().removeTag({id:t.getId(),entityId:t.getEntityId()},n)}}},{key:"handlePopupAfterShow",value:function e(){this.focusSearch();this.adjustByTagSelector();this.emit("onShow")}},{key:"handlePopupFirstShow",value:function e(){this.emit("onFirstShow");this.observeTabOverlapping()}},{key:"handlePopupShow",value:function e(){if(this.offsetAnimation){requestAnimationFrame((()=>{requestAnimationFrame((()=>{s.Dom.addClass(this.getPopup().getPopupContainer(),"ui-selector-popup-offset-animation")}))}))}if(this.alwaysShowLabels){setTimeout((()=>{this.expandLabels(false)}),0)}}},{key:"handleAutoHide",value:function e(t){const i=t.target;const n=this.getPopup().getPopupContainer();if(i===n||n.contains(i)){return false}if(this.isTagSelectorOutside()&&i===this.getTagSelector().getTextBox()&&s.Type.isStringFilled(this.getTagSelector().getTextBoxValue())){return false}if(this.autoHideHandler!==null){const e=this.autoHideHandler(t,this);if(s.Type.isBoolean(e)){return e}}return true}},{key:"observeTabOverlapping",value:function e(){this.disconnectTabOverlapping();this.overlappingObserver=new MutationObserver((()=>{if(this.getLabelsContainer().offsetWidth>0){const e=parseInt(this.getPopup().getPopupContainer().style.left,10);if(e<this.getMinLabelWidth()){s.Dom.style(this.getPopup().getPopupContainer(),"left",`${this.getMinLabelWidth()}px`);this.collapseLabels(false)}else if(this.alwaysShowLabels){this.expandLabels(false)}}}));this.overlappingObserver.observe(this.getPopup().getPopupContainer(),{attributes:true,attributeFilter:["style"]})}},{key:"disconnectTabOverlapping",value:function e(){if(this.overlappingObserver){this.overlappingObserver.disconnect()}}},{key:"handlePopupAfterClose",value:function e(){if(this.isTagSelectorOutside()){if(this.getActiveTab()&&this.getActiveTab()===this.getSearchTab()){this.selectFirstTab()}this.getTagSelector().clearTextBox();this.getTagSelector().showAddButton();this.getTagSelector().hideTextBox()}if(this.offsetAnimation){s.Dom.removeClass(this.getPopup().getPopupContainer(),"ui-selector-popup-offset-animation")}this.emit("onHide")}},{key:"handlePopupDestroy",value:function e(){this.destroy()}},{key:"handleLabelsMouseEnter",value:function e(){this.expandLabels()}},{key:"handleLabelsMouseLeave",value:function e(){this.collapseLabels()}},{key:"handleItemNodeFocus",value:function e(t){const{node:i}=t.getData();if(this.focusedNode===i){return}this.clearNodeFocus();this.focusedNode=i}},{key:"handleItemNodeUnfocus",value:function e(){this.clearNodeFocus()}},{key:"getAjaxJson",value:function e(){return{id:this.getId(),context:this.getContext(),entities:this.getEntities(),preselectedItems:this.getPreselectedItems(),recentItemsLimit:this.getRecentItemsLimit(),clearUnavailableItems:this.shouldClearUnavailableItems()}}},{key:"emitEntityErrors",value:function e(t){const i=gt.create(t);this.emit("Entity:onError",{errors:[...i]});this.getEntities().forEach((e=>{const t=e.getId();this.emit(`Entity:${t}:onError`,{errors:i.getByEntityId(t)})}))}}],[{key:"createHeader",value:function e(t,i,n){if(!s.Type.isStringFilled(i)&&!s.Type.isArrayFilled(i)&&!s.Type.isDomNode(i)&&!s.Type.isFunction(i)){return null}let l=null;const r=s.Type.isPlainObject(n)?n:{};if(s.Type.isFunction(i)||s.Type.isString(i)){const e=s.Type.isString(i)?s.Reflection.getClass(i):i;if(s.Type.isFunction(e)){l=new e(t,r);if(!(l instanceof Ge)){console.error("EntitySelector: header is not an instance of BaseHeader.");l=null}}}if(i!==null&&!l){l=new Mt(t,Object.assign({},r,{content:i}))}return l}},{key:"createFooter",value:function e(t,i,n){if(!s.Type.isStringFilled(i)&&!s.Type.isArrayFilled(i)&&!s.Type.isDomNode(i)&&!s.Type.isFunction(i)){return null}let l=null;const r=s.Type.isPlainObject(n)?n:{};if(s.Type.isFunction(i)||s.Type.isString(i)){const e=s.Type.isString(i)?s.Reflection.getClass(i):i;if(s.Type.isFunction(e)){l=new e(t,r);if(!(l instanceof Ke)){console.error("EntitySelector: footer is not an instance of BaseFooter.");l=null}}}if(i!==null&&!l){l=new $t(t,Object.assign({},r,{content:i}))}return l}}]);return i}(n.EventEmitter);const Ti={Dialog:vi,Item:Ne,Tab:st,Entity:Pe,TagSelector:Bt,TagItem:St,BaseHeader:Ge,DefaultHeader:Mt,BaseFooter:Ke,DefaultFooter:$t,BaseStub:je,DefaultStub:Ve,EntityError:ot};e.EntitySelector=Ti;e.Dialog=vi;e.Item=Ne;e.Tab=st;e.Entity=Pe;e.TagSelector=Bt;e.TagItem=St;e.BaseHeader=Ge;e.DefaultHeader=Mt;e.BaseFooter=Ke;e.DefaultFooter=$t;e.BaseStub=je;e.DefaultStub=Ve;e.EntityError=ot})(this.BX.UI.EntitySelector=this.BX.UI.EntitySelector||{},BX.Main,BX.Collections,BX.Event,BX,BX); //# sourceMappingURL=entity-selector.bundle.map.js