1"use strict";(self.webpackChunkPantera=self.webpackChunkPantera||[]).push([[441],{4977(e,t,s){s.r(t),s.d(t,{element_tree_picker_users:()=>o});var i=s(6329),l=s(547),n=s(7930);class c{constructor(e){this.classes={active:"active",hidden:"d-none",icons:{openFolder:["fas","fa-folder-open"],closedFolder:["fas","fa-folder"],item:["far","fa-file"]}},this.el=e,this._listeners()}getNodeLineage(e){const t=this.el.querySelector(`li[data-xsort-id="${e}"]`);return t?{id:e.toString(),path:t.dataset.lineage}:null}_listeners(){const e=this.el.querySelectorAll("li[data-xsort-id]");e.forEach(t=>{t.addEventListener("click",s=>{s.stopPropagation(),e.forEach(e=>e.classList.remove(this.classes.active)),t.classList.add(this.classes.active),this._onClick&&this._onClick(t.dataset.xsortId,{path:t.dataset.lineage,id:t.dataset.xsortId})})}),this._initFolding(),this._search()}_initFolding(){this.el.querySelectorAll("li[data-folder]:not(.xlistener)").forEach(e=>{const t=e.querySelector("i.fold"),s=e.querySelector("ul.xsortable");t.classList.add("xlistener"),t.addEventListener("click",e=>{e.stopImmediatePropagation(),s.classList.toggle(this.classes.hidden);const i=s.classList.contains(this.classes.hidden)?"closedFolder":"openFolder";this.setIcon(i,t)})})}setIcon(e,t){Object.keys(this.classes.icons).filter(t=>t!==e).forEach(e=>{this.classes.icons[e].forEach(e=>t.classList.remove(e))}),this.classes.icons[e].forEach(e=>t.classList.add(e))}_search(){const e=this.el.closest(".card-scroll").querySelector("input.search-control"),t=this.el.querySelectorAll("span.xtree-node-title");e.addEventListener("search-changed",()=>{const s=e.value.toLowerCase();t.forEach(e=>{let t=e.dataset.name,i=t.toLowerCase().indexOf(s);if(s&&i>=0){const l=t.substring(0,i),c=t.substring(i,i+s.length),o=t.substring(i+s.length);t=`${l}<span class='highlight'>${c}</span>${o}`,e.innerHTML=n.N.sanitizeHTMLXSS(t)}else e.innerHTML!==t&&(e.innerHTML=n.N.sanitizeHTMLXSS(t))})})}}class o extends HTMLDivElement{connectedCallback(){setTimeout(()=>this._init())}_init(){this.contentHelper=new l.Z,this.input=this.querySelector(".element-list-tree-input"),this.selectedContainer=this.querySelector(".element-list-tree-selected"),this.itemsContainer=this.querySelector(".element-list-tree-list-container"),this.buttons={moveTo:this.querySelector("a.element-list-tree-move-to"),moveFrom:this.querySelector("a.element-list-tree-move-from"),moveToAll:this.querySelector("a.element-list-tree-move-to-all"),moveFromAll:this.querySelector("a.element-list-tree-move-from-all")},this.checkAllInputs={to:this.itemsContainer.querySelector("input.list-check-all"),from:this.selectedContainer.querySelector("input.list-check-all")},this.router=this.dataset.router,this._initTree(),this._listeners(),this._search(),this.updateMoveButtonsState()}_initTree(){const e=this.querySelector('div[data-type="element-list-tree-picker"]');this.tree=new c(e),this.tree._onClick=(e,t)=>{this.currentLineage=t,this.contentHelper.update(`${this.router}/load/${e}`,{targetId:"element-list-tree-list",updateurl:!1,callback:()=>{this._initItems(),this.updateMoveButtonsState()}})}}_listeners(){this._checkAllListener(),this.buttons.moveTo.addEventListener("click",this.selectChecked.bind(this)),this.buttons.moveFrom.addEventListener("click",this.deselectChecked.bind(this)),this.buttons.moveToAll.addEventListener("click",()=>{this._toggleAllInputs(this.itemsContainer,!0),this.selectChecked(),this.updateMoveButtonsState()}),this.buttons.moveFromAll.addEventListener("click",()=>{this._toggleAllInputs(this.selectedContainer,!0),this.deselectChecked(),this.updateMoveButtonsState()}),this.selectedContainer.addEventListener("click",e=>{const t=e.target;if(t.closest(".remove-group-btn")){const e=t.closest("li[data-id]").querySelectorAll("input.list-item");return this.deselectItems(e),void this.updateMoveButtonsState()}t.matches('input[type="checkbox"]')&&this.updateMoveButtonsState()}),this.itemsContainer.addEventListener("click",e=>{e.target.matches('input[type="checkbox"]')&&this.updateMoveButtonsState()})}_initItems(){const e=this.itemsContainer.querySelectorAll("input.list-item"),t=this.selectedContainer.querySelectorAll("input.list-item");
1e.forEach(e=>{const s=e.getAttribute("value");for(let i=0;i<t.length;i++){const l=t[i];if(l.getAttribute("value")===s){e.dataset.selected="true",e.checked=!0,this.bindDeselectClickListener(e,l.closest("li"));break}}}),this.checkAllInputs.to.checked=!1;this.itemsContainer.querySelectorAll("li[data-id] input.list-check-all").forEach(e=>{const t=e.closest("li[data-id]");e.addEventListener("click",()=>{t.querySelectorAll('li.element-list-tree-item:not(.d-none) input.list-item:not([data-selected="true"]):not([disabled])').forEach(t=>t.checked=e.checked)})})}_checkAllListener(){this.checkAllInputs.to.addEventListener("click",()=>{const e=this.checkAllInputs.to.checked;this.queryGroupCheckboxes().forEach(t=>t.checked=e),this._toggleAllInputs(this.itemsContainer,e)}),this.checkAllInputs.from.addEventListener("click",()=>{this._toggleAllInputs(this.selectedContainer,this.checkAllInputs.from.checked)})}_toggleAllInputs(e,t){e.querySelectorAll('li.element-list-tree-item:not(.d-none) input.list-item:not([data-selected="true"]):not([disabled])').forEach(e=>e.checked=t)}_updateValue(){const e=this.selectedContainer.querySelectorAll("input.list-item"),t=[];e.forEach(e=>{t.push(e.getAttribute("value"))}),this.input.value=t.join(",")}selectChecked(){this.itemsContainer.querySelectorAll('input.list-item:checked:not([data-selected="true"])').forEach(e=>{e.checked=!1;const t=e.closest("li").cloneNode(!0),s=e.closest("li[data-id]").dataset.id,i=this.tree.getNodeLineage(Number(s));this.appendSelected(t,i),e.checked=!0,e.dataset.selected="true",this.bindDeselectClickListener(e,t)}),this._updateValue(),this.checkAllInputs.to.checked=!1,this.updateMoveButtonsState()}appendSelected(e,t){let s=this.selectedContainer.querySelector(`li[data-id="${t.id}"]`);if(s){s.querySelector("ul").append(e)}else{s=document.createElement("li"),s.dataset.id=t.id;const l=document.createElement("div");l.classList.add("element-list-tree-separator");const n=`\n <div class="element-list-tree-separator-bcrumb">\n ${t.path.split("/").map(e=>e?`<span class="tree-bcrumb">${e}</span>`:[]).join("")}\n </div>\n <div class="tree-bcrumb-divider">\n </div>\n <a data-tooltip="Pašalinti skyrių" href="javascript:;" class="btn btn-sm btn-dark btn-outlined btn-circle remove-group-btn">\n <i class="fas fa-times"></i>\n </a>\n `;l.innerHTML=n,s.append(l);const c=document.createElement("ul");c.append(e),s.append(c),this.selectedContainer.append(s),(new i.v).init(s.querySelector("a[data-tooltip]"))}}deselectChecked(){const e=this.selectedContainer.querySelectorAll("input.list-item:checked");this.deselectItems(e),this.updateMoveButtonsState()}deselectItems(e){this.itemsContainer.querySelectorAll('input.list-item[data-selected="true"]').forEach(t=>{const s=t.getAttribute("value");for(let i=0;i<e.length;i++){if(e[i].getAttribute("value")===s){delete t.dataset.selected,t.checked=!1;break}}}),e.forEach(e=>{e.closest("li").remove()}),this.removeEmptyGroups(),this._updateValue(),this.checkAllInputs.from.checked=!1}_search(){const e=(e,t,s)=>{e.addEventListener("search-changed",()=>{const i=t(),l=e.value.toLowerCase();i.forEach(e=>{const t=e.querySelector("label[for]").textContent.toLowerCase().indexOf(l);l&&-1===t?e.classList.add("d-none"):e.classList.remove("d-none")});s.querySelectorAll("li[data-id]").forEach(e=>{const t=e.querySelector("li:not(.d-none)");e.classList.toggle("d-none",null===t)})})},t=this.itemsContainer.closest(".element-list-tree-section").querySelector("input.search-control"),s=this.selectedContainer.closest(".element-list-tree-section").querySelector("input.search-control");e(t,()=>this.itemsContainer.querySelectorAll("li.element-list-tree-item"),this.itemsContainer),e(s,()=>this.selectedContainer.querySelectorAll("li.element-list-tree-item"),this.selectedContainer),this.globalItemSearch()}removeEmptyGroups(){this.selectedContainer.querySelectorAll("li[data-id]").forEach(e=>{e.querySelector("li")||e.remove()})}bindDeselectClickListener(e,t){const s=()=>{t.remove(),e.checked=!1,delete e.dataset.selected,this._updateV
1alue(),this.removeEmptyGroups(),e.removeEventListener("click",s)};e.addEventListener("click",s)}updateContent(e,t){this.contentHelper.update(e,{targetId:"element-list-tree-list",updateurl:!1,callback:()=>{this._initItems(),"function"==typeof t&&t()}})}globalItemSearch(){const e=document.getElementById("element-tree-picker-item-search"),t=e.closest('[is="select-simple"]');e.addEventListener("pantera:change",()=>{const s=e.value;s&&this.updateContent(`${this.router}/find_item/${s}`,()=>{const e=document.getElementById("element-list-tree-list"),i=Number(e.dataset.treeId);this.currentLineage=this.tree.getNodeLineage(i);const l=this.itemsContainer.querySelector(`input[value="${s}"].list-item`);l&&(l.checked=!0,this.buttons.moveTo.click(),t&&(t.value={id:null,text:null}))})})}queryGroupCheckboxes(){return this.itemsContainer.querySelectorAll("li[data-id] input.list-check-all")}updateMoveButtonsState(){const e='.element-list-tree-item input.list-item[type="checkbox"]:not([data-selected]):not([disabled])',t='input.list-item[type="checkbox"]:checked:not([data-selected])',s=this.itemsContainer.querySelectorAll(e).length>0;this.buttons.moveToAll.classList.toggle("d-none",!s);const i=this.itemsContainer.querySelectorAll(t).length>0;this.buttons.moveTo.classList.toggle("d-none",!i);const l=this.selectedContainer.querySelectorAll(e).length>0;this.buttons.moveFromAll.classList.toggle("d-none",!l);const n=this.selectedContainer.querySelectorAll(t).length>0;this.buttons.moveFrom.classList.toggle("d-none",!n)}}customElements.define("element-tree-picker-users",o,{extends:"div"})}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.