File "dropdown-field.min.js"
Full Path: /home/stylijtl/public_html/wp-content/plugins/wpforms-lite/assets/js/admin/builder/modules/dropdown-field.min.js
File size: 5.92 KB
MIME-type: text/plain
Charset: utf-8
export default function(e,i,n,c,o){let t=o.$builder,r={config:{modernClass:"choicesjs-select",args:{searchEnabled:!1,searchChoices:!1,renderChoiceLimit:1,shouldSort:!1,callbackOnInit(){var e=n(this.containerOuter.element),i=e.closest(".wpforms-field").find("select");e.hasClass("is-disabled")&&e.removeClass("is-disabled"),i.is("[readonly]")&&(this.disable(),i.prop("disabled",!1)),this.passedElement.element.multiple&&this.getValue(!0).length&&n(this.input.element).addClass("choices__input--hidden"),e.find(".choices__item--selectable").each(function(){var e=n(this),i=wpf.decodeAllowedHTMLEntities(e.text());e.text(i)})}}},init(){r.bcInit(),r.bindEvents(),t.on("wpformsBuilderReady",r.ready)},bcInit(){c.dropdownField=r;["checkEmptyDynamicChoices"].forEach(e=>{c[e]=r[e]})},ready(){r.checkEmptyDynamicChoices()},bindEvents(){t.find("."+r.config.modernClass).each(function(){r.events.choicesInit(n(this))}),t.on("change",".wpforms-field-option-select .wpforms-field-option-row-multiple input",r.events.multiple),t.on("change",".wpforms-field-option-select .wpforms-field-option-row-style select, .wpforms-field-option-payment-select .wpforms-field-option-row-style select",r.events.applyStyle),t.on("click",".choices",function(e){var i=n(this),o=i.find("select").data("choicesjs");o&&i.hasClass("is-open")&&e.target.classList.contains("choices__inner")&&o.hideDropdown()})},checkEmptyDynamicChoices(){var e=wpf.orders.choices||{};Object.keys(e).length&&wpf.orders.fields.forEach(function(i){if(r.helpers.isDynamicChoices(i)){var o=n("#wpforms-field-"+i),t=r.helpers.getDynamicChoicesOptionType(i),s=r.helpers.getDynamicChoicesOptionSource(i),l=r.helpers.isDynamicChoicesOptionModern(i);let e=l?o.find(".has-no-choices").length:0===o.find(".primary-input option:not(.placeholder), .primary-input li").length;l&&!e&&(o=n("#wpforms-field-option-"+i+"-placeholder").val(),l=r.helpers.getInitialChoices(i),e=1===l.length&&l[0].label===o&&!0===l[0].placeholder),e&&c.FieldChoice.emptyChoicesNotice(i,s,t)}})},events:{choicesInit(e){var i=1===e.data("choicesjs-use-ajax"),o=r.config.args;let t;c.UndoRedo?.preventRecord(!0),t="select_pages"===e.data("choicesjs-callback-fn")?WPForms.Admin.Builder.WPFormsChoicesJS.setup(e[0],o,{action:"wpforms_ajax_search_pages_for_dropdown",nonce:i?wpforms_builder.nonce:null}):new Choices(e[0],o),c.UndoRedo?.preventRecord("continue"),r.helpers.setInstance(e,t),r.helpers.addPlaceholderChoice(e,t),e.closest(".choices").toggleClass("wpforms-hidden",!t.config.choices.length)},multiple(e){var i=n(this).closest(".wpforms-field-option-row-multiple").data().fieldId,o=r.helpers.getPrimarySelector(i),t=n(`#wpforms-field-option-row-${i}-choices input.default`),s=o.find(".placeholder"),l=r.helpers.isDynamicChoices(i),e=e.target.checked,c=e?"checkbox":"radio",c=(o.prop("multiple",e),t.prop("type",c),l&&o.find("option:selected").prop("selected",!1),t.filter(":checked"));!e&&c.length&&(t.prop("checked",!1),n(c.get(0)).prop("checked",!0)),s.length&&s.prop("selected",!e),r.helpers.update(i,l)},applyStyle(){var e=n(this),i=e.closest(".wpforms-field-option-row-style").data().fieldId;"modern"===e.val()?r.helpers.convertClassicToModern(i):r.helpers.convertModernToClassic(i)}},helpers:{convertModernToClassic:e=>{var i=r.helpers.getPrimarySelector(e),o=r.helpers.isDynamicChoices(e),i=r.helpers.getInstance(i),t=n("#wpforms-field-option-row-"+e+"-choices").find(".choices-list").find("li").length;i&&"function"==typeof i.destroy&&(i.destroy(),r.helpers.updatePlaceholderChoice(i,e)),o||c.FieldChoice.fieldChoiceUpdate("select",e,t)},getInitialChoices(e){e=r.helpers.getPrimarySelector(e);return r.helpers.getInstance(e).config.choices},convertClassicToModern(e){var i=r.helpers.getPrimarySelector(e);r.helpers.isDynamicChoices(e)||c.FieldChoice.fieldChoiceUpdate("select",e),r.events.choicesInit(i)},update(e,i){var o=r.helpers.getPrimarySelector(e);r.helpers.isModernSelect(o)?(r.helpers.convertModernToClassic(e),i||r.events.choicesInit(o)):i||c.FieldChoice.fieldChoiceUpdate("select",e)},addPlaceholderChoice(e,i){e=e.closest(".wpforms-field");if(e.length<=0)return!1;var o,t,s,e=e.data().fieldId;let l=r.helpers.hasDefaults(e);return r.helpers.isDynamicChoices(e)&&(l=!1),!1===r.helpers.searchPlaceholderChoice(i)&&!!i.config.choices.length&&(e=n("#wpforms-field-option-"+e+"-placeholder").val(),o=wpf.decodeAllowedHTMLEntities(e),s=!((t=n(i.passedElement.element).prop("multiple"))||l),i.setChoices([{value:"",label:o,selected:s,placeholder:!0}],"value","label",!1),t&&n(i.input.element).prop("placeholder",e),!0)},searchPlaceholderChoice(e){let o=!1;return e.config.choices.forEach(function(e,i){if(void 0!==e.placeholder&&!0===e.placeholder)return!(o={key:i,item:e})}),o},updatePlaceholderChoice(e,i){var o=n(e.passedElement.element),i=wpf.sanitizeHTML(n("#wpforms-field-option-"+i+"-placeholder").val()),e=r.helpers.searchPlaceholderChoice(e);let t={};"object"==typeof e&&(t=n(o.find("option").get(e.key))),""!==i?!n.isEmptyObject(t)&&t.length?t.addClass("placeholder").text(i):o.prepend('<option value="" class="placeholder">'+i+"</option>"):t.length&&t.remove()},isModernSelect(e){e=r.helpers.getInstance(e);return"object"==typeof e&&!n.isEmptyObject(e)&&e.initialised},setInstance(e,i){e.data("choicesjs",i)},getInstance(e){return e.data("choicesjs")},getDynamicChoicesOption(e){e=n("#wpforms-field-option-"+e+"-dynamic_choices");return!!e.length&&e},isDynamicChoices(e){e=r.helpers.getDynamicChoicesOption(e);return!!e.length&&""!==e.val()},isDynamicChoicesOptionModern(e){e=n("#wpforms-field-option-"+e+"-style");return!!e.length&&"modern"===e.val()},getDynamicChoicesOptionType(e){e=r.helpers.getDynamicChoicesOption(e);return!!e.length&&e.val()},getDynamicChoicesOptionSource(e){var i=r.helpers.getDynamicChoicesOptionType(e),e=n("#wpforms-field-option-"+e+"-dynamic_"+i);return!!e.length&&e.find("option:selected").text()},hasDefaults(e){return!!n(`#wpforms-field-option-row-${e}-choices .choices-list`).find("input.default:checked").length},getPrimarySelector(e){return n("#wpforms-field-"+e+" .primary-input")}}};return r}