FileMaster
Search
Toggle Dark Mode
Home
/
.
/
wp-content
/
plugins
/
sureforms
/
assets
/
js
/
minified
/
blocks
Edit File: dropdown.min.js
function initializeDropdown(){document.querySelectorAll(".srfm-dropdown-common").forEach(n=>{if(n){if(!n.classList.contains("tomselected")&&"true"!==n.getAttribute("data-srfm-dropdown-initialized")||destroyTomSelect(n),n.setAttribute("data-srfm-dropdown-initialized","true"),!Array.from(n.options||[]).some(e=>e.value&&"string"==typeof e.text&&""!==e.text.trim()&&!e.disabled))return;let e={};var r=n.getAttribute("name");let t=n?.closest(".srfm-dropdown-block")?.querySelector(".srfm-error-message")?.getAttribute("data-srfm-id");"true"===n.getAttribute("data-multiple")&&(e={maxItems:null,hideSelected:!1});var i={maxOptions:null,hidePlaceholder:!0,plugins:["remove_button","clear_button"],openOnFocus:!1,onFocus(){t&&o.control_input.setAttribute("aria-describedby",t),o.hasOptions&&o.items&&wp.a11y.speak(o.items.toString())},onChange(e){Array.isArray(e)?e.forEach(e=>{wp.a11y.speak(e)}):wp.a11y.speak(e);var t=n.closest(".srfm-dropdown-block").querySelector(".srfm-input-dropdown-hidden");t&&(t.setAttribute("value",Array.isArray(e)?window.srfm.srfmUtility.prepareValue(e):e),t.dispatchEvent(new Event("change",{bubbles:!0})))},onItemAdd(){handleInputState(n),this.setTextboxValue(""),this.lastQuery=null,this.refreshOptions(!1)},onItemRemove(){handleInputState(n)},...e="false"===n.getAttribute("data-searchable")?{...e,controlInput:null}:e,render:{option(e,t){return`<div>${e.icon} <span>${t(e.text)}</span></div>`},item(e,t){return`<div>${e.icon} ${t(e.text)}</div>`}},onDropdownOpen(){o.dropdown_content.querySelectorAll(".option").forEach(e=>{"option"===e.getAttribute("role")&&e.setAttribute("role","menuitem")})}};n.classList.contains("tomselected")&&destroyTomSelect(n);let o=new TomSelect(n,i);requestAnimationFrame(()=>{var e=n.getAttribute("data-srfm-preserved-value"),t=n.getAttribute("data-preselected");let r=null;if(e)try{r=JSON.parse(e)}catch(e){}else if(t)try{r=JSON.parse(t)}catch(e){console.warn("Failed to parse preselected values for dropdown",e)}Array.isArray(r)&&0<r.length&&o.setValue(r);e=n.closest(".srfm-dropdown-block").querySelector(".srfm-input-dropdown-hidden");e&&0<o.items.length&&(t=1<o.items.length?window.srfm.srfmUtility.prepareValue(o.items):o.items[0],e.setAttribute("value",t),e.dispatchEvent(new Event("change",{bubbles:!0})))}),o.control_input&&o.control_input.setAttribute("aria-required",n.getAttribute("aria-required")),o.control.addEventListener("keydown",e=>{" "!==e.key||o.wrapper.classList.contains("dropdown-active")||(e.preventDefault(),o.open())}),o.control.addEventListener("click",()=>{o.wrapper.classList.contains("dropdown-active")||o.open()}),window?.addGlobalSrfmObject(r,o);var r=n.closest(".srfm-dropdown-block").querySelector(".ts-control"),s=r.querySelector(".clear-button"),s=(s&&(s.innerHTML='<svg aria-hidden="true" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12 4L4 12" stroke="currentColor" stroke-opacity="0.65" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round"/><path d="M4 4L12 12" stroke="currentColor" stroke-opacity="0.65" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round"/></svg>',s.setAttribute("tabindex","0"),s.setAttribute("role","button"),s.addEventListener("keydown",e=>{" "!==e.key&&"Enter"!==e.key||(e.preventDefault(),e.stopPropagation(),o.clear())})),document.createElement("div"));s.classList.add("ts-dropdown-icon"),s.innerHTML='<svg aria-hidden="true" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4 6L8 10L12 6" stroke="currentColor" stroke-opacity="0.65" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round" /></svg>',r.appendChild(s),null===i.controlInput&&(s=n.closest(".srfm-dropdown-block").querySelector(".srfm-dropdown-placeholder"),(i=document.createElement("span")).classList.add("ts-control-placeholder"),i.textContent=s.textContent,r.prepend(i)),n.disabled=!0}})}function handleInputState(e){var e=e.closest(".srfm-dropdown-block").querySelector(".ts-control"),t=e?.parentElement,e=e?.querySelector("input");e&&(t.classList.contains("full")?e.setAttribute("readonly",""):e.removeAttribute("readonly"))}function destroyTomSelect(e){if(e){var t=e.getAttribute("name");if(window?.srfm&&window.srfm[t])try{var r=window.srfm[t].getValue();r?Array.isArray(r)&&0<r.length?e.setAttribute("data-srfm-preserved-value",JSON.stringify(r)):"string"==typeof r&&""!==r&&e.setAttribute("data-srfm-preserved-value",JSON.stringify([r])):e.removeAttribute("data-srfm-preserved-value"),window.srfm[t].destroy(),delete window.srfm[t]}catch(e){}try{var o=e.tomselect||e.tomSelect;o&&o.destroy()}catch(e){}e.classList.remove("tomselected"),e.classList.remove("ts-hidden-accessible"),e.removeAttribute("tabindex"),e.removeAttribute("id"),e.disabled=!1;r=e.closest(".srfm-block-wrap.srfm-dropdown-common-wrap");r&&r.querySelectorAll("div.ts-wrapper")?.forEach(e=>e.remove()),e.removeAttribute("data-srfm-dropdown-initialized")}}document.addEventListener("srfm_form_before_submission",e=>{e=e.detail?.form.querySelectorAll(".srfm-dropdown-common");e&&(e.forEach(e=>{destroyTomSelect(e)}),setTimeout(()=>{initializeDropdown()},150))}),window.srfmInitializeDropdownField=initializeDropdown,window.srfmDestroyDropdownField=destroyTomSelect;
Save
Back