Files
wyczarujprezent.pl/modules/leoelements/assets/js/control/autocomplete.min.js
2024-10-28 22:14:22 +01:00

8 lines
1.2 KiB
JavaScript

/**
* @Website: leotheme.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
* @description:
*/
jQuery(window).on("elementor:init",function(){var e=elementor.modules.controls.BaseData.extend({isSearch:!1,resultsRender:function(){var t=this,e=this.getControlValue();e&&(_.isArray(e)||(e=[e]),t.addControlSpinner(),jQuery.ajax({url:ajaxurl,type:"POST",data:{action:t.model.get("render"),ids:e.toString()},success:function(e){t.isSearch=!0,t.model.set("options",e),t.render()}}))},addControlSpinner:function(){this.ui.select.prop("disabled",!0),this.$el.find(".elementor-control-title").after('<span class="elementor-control-spinner">&nbsp;<i class="fa fa-spinner fa-spin"></i>&nbsp;</span>')},onReady:function(){var t=this;this.ui.select.select2({placeholder:"Search",allowClear:!0,minimumInputLength:2,ajax:{url:ajaxurl,dataType:"json",method:"post",delay:250,data:function(e){return{q:e.term,action:t.model.get("search")}},processResults:function(e){return{results:e}},cache:!0}}),this.isSearch||this.resultsRender()},onBeforeDestroy:function(){this.ui.select.data("select2")&&this.ui.select.select2("destroy"),this.$el.remove()}});elementor.addControlView("autocomplete",e)});