").addClass(p.dropdownContentClass).appendTo(o),(d=x.attr("id"))&&(n.attr("id",d+"-selectized"),t("label[for='"+d+"']").attr("for",d+"-selectized")),h.settings.copyClassesToDropdown&&o.addClass(c),e.css({width:x[0].style.width}),h.plugins.names.length&&(u="plugin-"+h.plugins.names.join(" plugin-"),e.addClass(u),o.addClass(u)),(null===p.maxItems||p.maxItems>1)&&h.tagType===b&&x.attr("multiple","multiple"),h.settings.placeholder&&n.attr("placeholder",p.placeholder),!h.settings.splitOn&&h.settings.delimiter){var _=h.settings.delimiter.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&");h.settings.splitOn=new RegExp("\\s*"+_+"+\\s*")}x.attr("autocorrect")&&n.attr("autocorrect",x.attr("autocorrect")),x.attr("autocapitalize")&&n.attr("autocapitalize",x.attr("autocapitalize")),h.$wrapper=e,h.$control=i,h.$control_input=n,h.$dropdown=o,h.$dropdown_content=r,o.on("mouseenter","[data-selectable]",function(){return h.onOptionHover.apply(h,arguments)}),o.on("mousedown click","[data-selectable]",function(){return h.onOptionSelect.apply(h,arguments)}),D(i,"mousedown","*:not(input)",function(){return h.onItemSelect.apply(h,arguments)}),z(n),i.on({mousedown:function(){return h.onMouseDown.apply(h,arguments)},click:function(){return h.onClick.apply(h,arguments)}}),n.on({mousedown:function(t){t.stopPropagation()},keydown:function(){return h.onKeyDown.apply(h,arguments)},keyup:function(){return h.onKeyUp.apply(h,arguments)},keypress:function(){return h.onKeyPress.apply(h,arguments)},resize:function(){h.positionDropdown.apply(h,[])},blur:function(){return h.onBlur.apply(h,arguments)},focus:function(){return h.ignoreBlur=!1,h.onFocus.apply(h,arguments)},paste:function(){return h.onPaste.apply(h,arguments)}}),g.on("keydown"+f,function(t){h.isCmdDown=t[s?"metaKey":"ctrlKey"],h.isCtrlDown=t[s?"altKey":"ctrlKey"],h.isShiftDown=t.shiftKey}),g.on("keyup"+f,function(t){t.keyCode===w&&(h.isCtrlDown=!1),t.keyCode===v&&(h.isShiftDown=!1),t.keyCode===y&&(h.isCmdDown=!1)}),g.on("mousedown"+f,function(t){if(h.isFocused){if(t.target===h.$dropdown[0]||t.target.parentNode===h.$dropdown[0])return!1;h.$control.has(t.target).length||t.target===h.$control[0]||h.blur(t.target)}}),m.on(["scroll"+f,"resize"+f].join(" "),function(){h.isOpen&&h.positionDropdown.apply(h,arguments)}),m.on("mousemove"+f,function(){h.ignoreHover=!1}),this.revertSettings={$children:x.children().detach(),tabindex:x.attr("tabindex")},x.attr("tabindex",-1).hide().after(h.$wrapper),t.isArray(p.items)&&(h.setValue(p.items),delete p.items),C&&x.on("invalid"+f,function(t){t.preventDefault(),h.isInvalid=!0,h.refreshState()}),h.updateOriginalInput(),h.refreshItems(),h.refreshState(),h.updatePlaceholder(),h.isSetup=!0,x.is(":disabled")&&h.disable(),h.on("change",this.onChange),x.data("selectize",h),x.addClass("selectized"),h.trigger("initialize"),p.preload===!0&&h.onSearchChange("")},setupTemplates:function(){var e=this,i=e.settings.labelField,n=e.settings.optgroupLabelField,o={optgroup:function(t){return'
'+t.html+"
"},optgroup_header:function(t,e){return'"},option:function(t,e){return'
'+e(t[i])+"
"},item:function(t,e){return'
'+e(t[i])+"
"},option_create:function(t,e){return'
Add '+e(t.input)+"…
"}};e.settings.render=t.extend({},o,e.settings.render)},setupCallbacks:function(){var t,e,i={initialize:"onInitialize",change:"onChange",item_add:"onItemAdd",item_remove:"onItemRemove",clear:"onClear",option_add:"onOptionAdd",option_remove:"onOptionRemove",option_clear:"onOptionClear",optgroup_add:"onOptionGroupAdd",optgroup_remove:"onOptionGroupRemove",optgroup_clear:"onOptionGroupClear",dropdown_open:"onDropdownOpen",dropdown_close:"onDropdownClose",type:"onType",load:"onLoad",focus:"onFocus",blur:"onBlur"};for(t in i)i.hasOwnProperty(t)&&(e=this.settings[i[t]],e&&this.on(t,e))},onClick:function(t){var e=this;e.isFocused||(e.focus(),t.preventDefault())},onMouseDown:function(e){var i=this,n=e.isDefaultPrevented();if(t(e.target),i.isFocused){if(e.target!==i.$control_input[0])return"single"===i.settings.mode?i.isOpen?i.close():i.open():n||i.setActiveItem(null),!1}else n||window.setTimeout(function(){i.focus()},0)},onChange:function(){this.$input.trigger("change")},onPaste:function(e){var i=this;return i.isFull()||i.isInputHidden||i.isLocked?void e.preventDefault():void(i.settings.splitOn&&setTimeout(function(){var e=i.$control_input.val();if(e.match(i.settings.splitOn))for(var n=t.trim(e).split(i.settings.splitOn),o=0,s=n.length;o
a&&(c=r,r=a,a=c),o=r;o<=a;o++)l=d.$control[0].childNodes[o],d.$activeItems.indexOf(l)===-1&&(t(l).addClass("active"),d.$activeItems.push(l));i.preventDefault()}else"mousedown"===n&&d.isCtrlDown||"keydown"===n&&this.isShiftDown?e.hasClass("active")?(s=d.$activeItems.indexOf(e[0]),d.$activeItems.splice(s,1),e.removeClass("active")):d.$activeItems.push(e.addClass("active")[0]):(t(d.$activeItems).removeClass("active"),d.$activeItems=[e.addClass("active")[0]]);d.hideInput(),this.isFocused||d.focus()}},setActiveOption:function(e,i,n){var o,s,r,a,l,c=this;c.$activeOption&&c.$activeOption.removeClass("active"),c.$activeOption=null,e=t(e),e.length&&(c.$activeOption=e.addClass("active"),!i&&S(i)||(o=c.$dropdown_content.height(),s=c.$activeOption.outerHeight(!0),i=c.$dropdown_content.scrollTop()||0,r=c.$activeOption.offset().top-c.$dropdown_content.offset().top+i,a=r,l=r-o+s,r+s>o+i?c.$dropdown_content.stop().animate({scrollTop:l},n?c.settings.scrollDuration:0):r=0;i--)s.items.indexOf(T(n.items[i].id))!==-1&&n.items.splice(i,1);return n},refreshOptions:function(e){var i,o,s,r,a,l,c,u,d,h,p,f,m,g,v,y;"undefined"==typeof e&&(e=!0);var w=this,x=t.trim(w.$control_input.val()),b=w.search(x),_=w.$dropdown_content,C=w.$activeOption&&T(w.$activeOption.attr("data-value"));for(r=b.items.length,"number"==typeof w.settings.maxOptions&&(r=Math.min(r,w.settings.maxOptions)),a={},l=[],i=0;i0||m,w.hasOptions?(b.items.length>0?(v=C&&w.getOption(C),v&&v.length?g=v:"single"===w.settings.mode&&w.items.length&&(g=w.getOption(w.items[0])),g&&g.length||(g=y&&!w.settings.addPrecedence?w.getAdjacentOption(y,1):_.find("[data-selectable]:first"))):g=y,w.setActiveOption(g),e&&!w.isOpen&&w.open()):(w.setActiveOption(null),e&&w.isOpen&&w.close())},addOption:function(e){var i,n,o,s=this;if(t.isArray(e))for(i=0,n=e.length;i=0&&o0),e.$control_input.data("grow",!i&&!n)},isFull:function(){return null!==this.settings.maxItems&&this.items.length>=this.settings.maxItems},updateOriginalInput:function(t){var e,i,n,o,s=this;if(t=t||{},s.tagType===b){for(n=[],e=0,i=s.items.length;e'+E(o)+"");n.length||this.$input.attr("multiple")||n.push(''),s.$input.html(n.join(""))}else s.$input.val(s.getValue()),s.$input.attr("value",s.$input.val());s.isSetup&&(t.silent||s.trigger("change",s.$input.val()))},updatePlaceholder:function(){if(this.settings.placeholder){var t=this.$control_input;this.items.length?t.removeAttr("placeholder"):t.attr("placeholder",this.settings.placeholder),t.triggerHandler("update",{force:!0})}},open:function(){var t=this;t.isLocked||t.isOpen||"multi"===t.settings.mode&&t.isFull()||(t.focus(),t.isOpen=!0,t.refreshState(),t.$dropdown.css({visibility:"hidden",display:"block"}),t.positionDropdown(),t.$dropdown.css({visibility:"visible"}),t.trigger("dropdown_open",t.$dropdown))},close:function(){var t=this,e=t.isOpen;"single"===t.settings.mode&&t.items.length&&(t.hideInput(),t.$control_input.blur()),t.isOpen=!1,t.$dropdown.hide(),t.setActiveOption(null),t.refreshState(),e&&t.trigger("dropdown_close",t.$dropdown)},positionDropdown:function(){var t=this.$control,e="body"===this.settings.dropdownParent?t.offset():t.position();e.top+=t.outerHeight(!0),this.$dropdown.css({width:t.outerWidth(),top:e.top,left:e.left})},clear:function(t){var e=this;e.items.length&&(e.$control.children(":not(input)").remove(),e.items=[],e.lastQuery=null,e.setCaret(0),e.setActiveItem(null),e.updatePlaceholder(),e.updateOriginalInput({silent:t}),e.refreshState(),e.showInput(),e.trigger("clear"))},insertAtCaret:function(e){var i=Math.min(this.caretPos,this.items.length);0===i?this.$control.prepend(e):t(this.$control[0].childNodes[i]).before(e),this.setCaret(i+1)},deleteSelection:function(e){var i,n,o,s,r,a,l,c,u,d=this;if(o=e&&e.keyCode===m?-1:1,s=I(d.$control_input[0]),d.$activeOption&&!d.settings.hideSelected&&(l=d.getAdjacentOption(d.$activeOption,-1).attr("data-value")),r=[],d.$activeItems.length){for(u=d.$control.children(".active:"+(o>0?"last":"first")),a=d.$control.children(":not(input)").index(u),o>0&&a++,i=0,n=d.$activeItems.length;i0&&s.start===d.$control_input.val().length&&r.push(d.items[d.caretPos]));if(!r.length||"function"==typeof d.settings.onDelete&&d.settings.onDelete.apply(d,[r])===!1)return!1;for("undefined"!=typeof a&&d.setCaret(a);r.length;)d.removeItem(r.pop());return d.showInput(),d.positionDropdown(),d.refreshOptions(!0),l&&(c=d.getOption(l),c.length&&d.setActiveOption(c)),!0},advanceSelection:function(t,e){var i,n,o,s,r,a,l=this;0!==t&&(l.rtl&&(t*=-1),i=t>0?"last":"first",n=I(l.$control_input[0]),l.isFocused&&!l.isInputHidden?(s=l.$control_input.val().length,r=t<0?0===n.start&&0===n.length:n.start===s,r&&!s&&l.advanceCaret(t,e)):(a=l.$control.children(".active:"+i),a.length&&(o=l.$control.children(":not(input)").index(a),l.setActiveItem(null),l.setCaret(t>0?o+1:o))))},advanceCaret:function(t,e){var i,n,o=this;0!==t&&(i=t>0?"next":"prev",o.isShiftDown?(n=o.$control_input[i](),n.length&&(o.hideInput(),o.setActiveItem(n),e&&e.preventDefault())):o.setCaret(o.caretPos+t))},setCaret:function(e){var i=this;if(e="single"===i.settings.mode?i.items.length:Math.max(0,Math.min(i.items.length,e)),!i.isPending){var n,o,s,r;for(s=i.$control.children(":not(input)"),n=0,o=s.length;n'}},e),i.setup=function(){var n=i.setup;return function(){n.apply(i,arguments),i.$dropdown_header=t(e.html(e)),i.$dropdown.prepend(i.$dropdown_header)}}()}),M.define("optgroup_columns",function(e){var i=this;e=t.extend({equalizeWidth:!0,equalizeHeight:!0},e),this.getAdjacentOption=function(e,i){var n=e.closest("[data-group]").find("[data-selectable]"),o=n.index(e)+i;return o>=0&&o