PageSourceSearch

https://www.calida.com/calida.public/theme/99c213212c2dfec2b91c4f8…yees-multiple-selection.plugin.ts.c29040.js

js calida.com collected 2026-09-25 19:50:46 UTC 10,302 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkquote_management=self.webpackChunkquote_management||[]).push([[86504],{68(e,t,s){s.d(t,{A:()=>i});class i{constructor(){this._request=null,this._errorHandlingInternal=!1}get(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"application/json",i=this._createPreparedRequest("GET",e,s);return this._sendRequest(i,null,t)}post(e,t,s){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"application/json";i=this._getContentType(t,i);let o=this._createPreparedRequest("POST",e,i);return this._sendRequest(o,t,s)}delete(e,t,s){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"application/json";i=this._getContentType(t,i);let o=this._createPreparedRequest("DELETE",e,i);return this._sendRequest(o,t,s)}patch(e,t,s){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"application/json";i=this._getContentType(t,i);let o=this._createPreparedRequest("PATCH",e,i);return this._sendRequest(o,t,s)}abort(){if(this._request)return this._request.abort()}setErrorHandlingInternal(e){this._errorHandlingInternal=e}_registerOnLoaded(e,t){t&&(!0===this._errorHandlingInternal?(e.addEventListener("load",()=>{t(e.responseText,e)}),e.addEventListener("abort",()=>{console.warn(`the request to ${e.responseURL} was aborted`)}),e.addEventListener("error",()=>{console.warn(`the request to ${e.responseURL} failed with status ${e.status}`)}),e.addEventListener("timeout",()=>{console.warn(`the request to ${e.responseURL} timed out`)})):e.addEventListener("loadend",()=>{t(e.responseText,e)}))}_sendRequest(e,t,s){return this._registerOnLoaded(e,s),e.send(t),e}_getContentType(e,t){return e instanceof FormData&&(t=!1),t}_createPreparedRequest(e,t,s){return this._request=new XMLHttpRequest,this._request.open(e,t),this._request.setRequestHeader("X-Requested-With","XMLHttpRequest"),s&&this._request.setRequestHeader("Content-type",s),this._request}}},504(e,t,s){s.r(t),s.d(t,{default:()=>r});var i=s(724),o=s(68),n=s(220);class l extends n.A{static #e=this.options={items:[],selectionInputSelector:".multiple-tag-input",dropdownMenuSelector:".dropdown-menu",dropdownItemSelector:".dropdown-item",multipleSelectionSelector:".dropdown multiple-selection",multipleDropdownSelector:".multiple-dropdown",multipleTagSelector:".multiple-tag",multipleTagRemoveSelector:".multiple-tag-remove"};init(){this.restRecords=0,this.page=1,this._client=new o.A,this.outsideClick=this._outsideClickHandler.bind(this),this.outsideFocus=this._outsideFocusHandler.bind(this),this.selectionInput=this.el.querySelector(this.options.selectionInputSelector),this.dropdownInstance=new bootstrap.Dropdown(this.selectionInput),this.dropdownMenu=this.el.querySelector(this.options.multipleDropdownSelector),this.el.addEventListener("click",e=>{this._onClickTagItemHandler(e),document.addEventListener("click",this.outsideClick),this.selectionInput.focus()}),this.dropdownMenu&&this.dropdownMenu.addEventListener("click",this._onClickDropdownItemHandler.bind(this)),this.selectionInput.addEventListener("focus",()=>{this.dropdownInstance.show(),document.addEventListener("keydown",this.outsideFocus),document.addEventListener("click",this.outsideClick)}),(this.options.employeeUrl||this.options.url)&&this.dropdownMenu&&(this._fetchItems(),this.dropdownMenu.addEventListener("scroll",()=>{this.dropdownMenu.scrollTop+this.dropdownMenu.clientHeight>=this.dropdownMenu.scrollHeight&&this.restRecords>0&&(this.page++,this._fetchItems())}))}_fetchItems(){let e=this.el.querySelector(this.options.dropdownMenuSelector),t=this.options.employeeUrl||this.options.url;e&&i.A.create(e),this._client.get(`${t}${t.includes("?")?"&":"?"}p=${this.page}`,t=>{let s=JSON.parse(t);if(s.elements?.length>0){this.options.items=this.options.items||{};let e=Object.keys(this.options.items).length;s.elements.forEach((t,s)=>{this.options.items[e+s]=t}),this._addDropdownItems(),this.restRecords=s.total-s.page*s.limit}e&&i.A.remove(e)})}setSelection(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,s=new Set(e);t&&s.add(t),this.el.querySelectorAll(`:scope > ${this.options.multipleTagSelector}
1`).forEach(e=>e.remove()),this.el.querySelectorAll(this.options.dropdownItemSelector).forEach(e=>{let t=e.dataset.optionId,i=!!t&&s.has(t),o=e.querySelector('input[type="checkbox"]');this._setItemDefault(e,!1),e.classList.toggle("active",i),o&&(o.checked=i),i&&this._addTagItem(e)}),this._setDefault(t),this._validationHandler()}_addDropdownItems(){!this.options.expandDropdown&&this.dropdownMenu&&(this.dropdownMenu.innerHTML="");let e=this.el.querySelector(":scope > button.multiple-tag-remove").cloneNode(!0);Object.keys(this.options.items).forEach(t=>{let s=this.options.items[t],i=s.name||`${s.account?.firstName??s.firstName} ${s.account?.lastName??s.lastName}`,o=document.createElement("div");o.classList.add("dropdown-item"),o.dataset.optionId=s.id,e&&this.el.dataset.b2bOrganizationUnitRemoveLabel&&e.setAttribute("aria-label",this.el.dataset.b2bOrganizationUnitRemoveLabel.replace(/%name%/g,`${i}`));let n=document.createElement("input");n.type="checkbox",n.classList.add("form-check-input"),n.id=`checkbox-${s.id}`;let l=!!this.el.querySelector(`${this.options.multipleTagSelector}[data-tag-id='${s.id}']`);l&&(o.classList.add("active"),n.checked=!0);let a=document.createElement("label");a.classList.add("form-check-label","pe-none"),a.innerHTML=`<span>${i}</span><br>${s.role?.name??""}`+e.outerHTML,a.setAttribute("for",`checkbox-${s.id}`),o.appendChild(n),o.appendChild(a),s.selected&&!l&&this._addTagItem(o),this.dropdownMenu?.appendChild(o)}),this.options.items={}}_onClickDropdownItemHandler(e){let t=e.target.closest(this.options.dropdownItemSelector),s=t?.querySelector('input[type="checkbox"]');t&&s&&(t.classList.contains("active")?(s.checked=!1,this._removeTagItem(t),t.classList.contains("is-default")&&(t.classList.remove("is-default"),t.dataset.title=t.dataset.title?.replace(`(${this.options.defaultText})`,""),this._setDefault())):(s.checked=!0,this._addTagItem(t),1===this.el.querySelectorAll(`${this.options.dropdownItemSelector}.active`).length&&this._setDefault()),this._validationHandler())}_onClickTagItemHandler(e){let t=e.target.closest(this.options.multipleTagRemoveSelector);if(t){let e=t.closest(this.options.multipleTagSelector);e&&this._removeTagItem(e)}this._validationHandler()}_addTagItem(e){let t=e.querySelector("span")?.textContent||"",s=document.createElement("div"),i=["d-inline-flex","align-items-center","gap-1","bg-body-secondary","border","ps-2","pe-1","multiple-tag"];e.classList.contains("is-default")&&i.push("is-default"),s.classList.add(...i),s.dataset.tagId=e.dataset.optionId,e.dataset.title&&s.setAttribute("title",e.dataset.title.split("\\n").join("\n"));let o=e.querySelector("button.multiple-tag-remove");if(o){let e=o.cloneNode(!0);e.classList.remove("d-none"),s.innerHTML=`<span>${t}</span>`+e.outerHTML}this.el.appendChild(s);let n=e.querySelector('input[type="checkbox"]');n&&(n.checked=!0,e.classList.add("active"))}_removeTagItem(e){if(e.classList.contains("active")){let t=this.el.querySelector(`${this.options.multipleTagSelector}[data-tag-id='${e.dataset.optionId}']`),s=e.querySelector('input[type="checkbox"]');s&&(s.checked=!1),e.classList.remove("active"),t?.remove();return}let t=this.el.querySelector(`${this.options.dropdownItemSelector}[data-option-id='${e.dataset.tagId}']`);if(t){let e=t.querySelector('input[type="checkbox"]');e&&(e.checked=!1),t.classList.remove("active"),t.classList.contains("is-default")&&(t.classList.remove("is-default"),t.dataset.title=t.dataset.title?.replace(` (${this.options.defaultText})`,""),this._setDefault())}e.remove()}_validationHandler(){let e=document.querySelector(this.options.checkboxValidationSelector),t=this.el.querySelectorAll(this.options.multipleTagSelector);e&&(e.checked=!!t.length,e.dispatchEvent(new Event("input")))}_setDefault(e){let t=Array.from(this.el.querySelectorAll(`${this.options.dropdownItemSelector}.active`)),s=null===e?null:t.find(t=>t.dataset.optionId===e)??t[0],i=document.querySelector(this.options.checkboxValidationSelector);if(this.el.querySelectorAll(this.options.dropdownItemSelector).forEach(e=>{this._setItemDefault(e,!1)}),s){this._setItemDefault(s,!0),i?.setAttribute("data-address-id",s.dataset.optionId);return}i?.setAttribute("data-address-id","")}_setItemDefault(e,t){let s=this.el.querySelector(`${this.options.multipleTagSelector}[data-tag-id='${e.dataset.optionId}']`);if(e.classList.toggle("is-default",t),s?.classList.toggle("is-default",t),!e.dataset.title||!this.options.defaultText)return;let i=e.dataset.title.split(/\\n|\n/),o=` (${this.options.defaultText})`;i[0]=i[0].replace(o,""),t&&(i[0]+=o);let n=i.join("\n");e.setAttribute("data-title",n),s?.setAttribute("title",n)}_outsideClickHandler(e){this.el.contains(e.target)||(this.dropdownInstance.hide(),document.removeEventListener("click",this.outsideClick))}_outsideFocusHandler(e){let t="Tab"===e.key;setTimeout(()=>{let e=!this.el.contains(document.activeElement);t&&e&&(this.dropdownInstance.hide(),document.removeEventListener("keydown",this.outsideFocus))})}}var a=s(900);class r extends l{static #e=this.options={...l.options,saveErrorMessage:"",saveUrl:""};_removeTagItem(e){this.saveNotificationEmployees(e,"delete"),super._removeTagItem(e)}_addTagItem(e){this.saveNotificationEmployees(e,"add"),super._addTagItem(e)}_addDropdownItems(){this._setItemNames(),super._addDropdownItems()}
1_setItemNames(){Object.values(this.options.items).forEach(e=>{let t=`${e.firstName??""} ${e.lastName??""}`.trim();e.name=e.email?`${e.email}${t?` (${t})`:""}`:t})}saveNotificationEmployees(e,t){let s=e.dataset.tagId||e.dataset.optionId,o=e.dataset.tagId?this.el:this.el.querySelector(this.options.dropdownMenuSelector);if(!this.options.saveUrl||!s)return;let n=new URLSearchParams;n.append("add"===t?"selectedEmployeeIds[]":"deletedEmployeeIds[]",s),o&&i.A.create(o),fetch(this.options.saveUrl,{method:"POST",body:n,credentials:"same-origin",headers:{"X-Requested-With":"XMLHttpRequest","Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"}}).then(e=>{if(!e.ok)throw Error((this.options.saveErrorMessage||"saveNotificationEmployeesFailed: %status%").replace("%status%",`${e.status}`))}).catch(e=>{(0,a.F)(e)}).finally(()=>{o&&i.A.remove(o)})}}}}]);

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.