1 line
1.6 KiB
JavaScript
1 line
1.6 KiB
JavaScript
document.addEventListener("dal-init-function",function(){yl.registerFunction("select2",function($,t){var a=$(t);function r(t,e){if(e){var a=$("<span>");return a.html(t),a}return t}function e(t){var e=r(t.text,(void 0!==a.attr("data-html")||void 0!==a.attr("data-result-html"))&&!t.create_id);return t.create_id?$("<span>").text(e).addClass("dal-create"):e}var l=null;a.attr("data-autocomplete-light-url")&&(l={url:a.attr("data-autocomplete-light-url"),dataType:"json",delay:250,data:function(t){return{q:t.term,page:t.page,create:a.attr("data-autocomplete-light-create")&&!a.attr("data-tags"),forward:yl.getForwards(a)}},processResults:function(t,e){return a.attr("data-tags")&&$.each(t.results,function(t,e){e.id=e.text}),t},cache:!0}),a.select2({tokenSeparators:a.attr("data-tags")?[","]:null,debug:!0,containerCssClass:":all:",placeholder:a.attr("data-placeholder")||"",language:a.attr("data-autocomplete-light-language"),minimumInputLength:a.attr("data-minimum-input-length")||0,allowClear:!a.is("[required]"),templateResult:e,templateSelection:function(t){return void 0!==t.selected_text?r(t.selected_text,void 0!==a.attr("data-html")||void 0!==a.attr("data-selected-html")):e(t)},ajax:l,with:null,tags:Boolean(a.attr("data-tags"))}),a.on("select2:selecting",function(t){var r,e=t.params.args.data;!0===e.create_id&&(t.preventDefault(),r=a,$.ajax({url:a.attr("data-autocomplete-light-url"),type:"POST",dataType:"json",data:{text:e.id,forward:yl.getForwards(a)},beforeSend:function(t,e){t.setRequestHeader("X-CSRFToken",document.csrftoken)},success:function(t,e,a){r.append($("<option>",{value:t.id,text:t.text,selected:!0})),r.trigger("change"),r.select2("close")}}))})})}); |