Choices/assets/scripts/dist/bundle.js

1 line
7.5 KiB
JavaScript
Raw Normal View History

!function(e){function t(i){if(n[i])return n[i].exports;var o=n[i]={exports:{},id:i,loaded:!1};return e[i].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var n={};return t.m=e,t.c=n,t.p="/assets/scripts/dist/",t(0)}([function(e,t,n){e.exports=n(1)},function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),a=n(2),s=function(){function e(t){i(this,e);var n=document.createElement("fakeelement"),o=t||{},s={element:document.querySelector("[data-choice]"),disabled:!1,maxItems:5,debug:!0,placeholder:!1,callbackOnInit:function(){},callbackOnRender:function(){},callbackOnKeyUp:function(){},callbackOnKeyDown:function(){},callbackOnEntry:function(){},callbackOnRemove:function(){}};this.options=this.extend(s,o||{}),this.initialised=!1,this.supports="querySelector"in document&&"addEventListener"in document&&"classList"in n,this.element=this.options.element,this.valueArray=""!==this.element.value&&(0,a.isType)("Array",JSON.parse(this.element.value))?JSON.parse(this.element.value):[],this.onClick=this.onClick.bind(this),this.onKeyDown=this.onKeyDown.bind(this),this.onChange=this.onChange.bind(this),this.onFocus=this.onFocus.bind(this),this.onBlur=this.onChange.bind(this)}return o(e,[{key:"extend",value:function(){for(var e={},t=arguments.length,n=function(t){for(var n in t)e[n]=t[n]},i=0;t>i;i++){var o=arguments[i];(0,a.isType)("Object",o)?n(o):console.error("Custom options must be an object")}return e}},{key:"isOpen",value:function(){}},{key:"isDisabled",value:function(){}},{key:"isEmpty",value:function(){}},{key:"clearInput",value:function(){this.input.value&&(this.input.value="")}},{key:"onKeyDown",value:function(e){var t=this;if(13===e.keyCode&&e.target.value&&!function(){var e=t.input.value,n=function(){t.addItem(e),t.updateInputValue(e),t.clearInput(t.element)};t.options.maxItems?t.options.maxItems>t.list.children.length&&n():n()}(),8===e.keyCode&&!e.target.value){var n=function(){var e=t.list.children[t.list.children.length-1];e.parentNode.removeChild(e)};n(),e.preventDefault()}}},{key:"onFocus",value:function(e){}},{key:"onClick",value:function(e){}},{key:"onChange",value:function(e){}},{key:"addEventListeners",value:function(e){e.addEventListener("click",this.onClick),e.addEventListener("keydown",this.onKeyDown),e.addEventListener("change",this.onChange),e.addEventListener("focus",this.onFocus),e.addEventListener("blur",this.onBlur)}},{key:"removeEventListeners",value:function(e){e.removeEventListener("click",this.onClick),e.removeEventListener("keydown",this.onKeyDown),e.removeEventListener("change",this.onChange),e.removeEventListener("focus",this.onFocus),e.removeEventListener("blur",this.onBlur)}},{key:"setPlaceholder",value:function(){}},{key:"setValue",value:function(){}},{key:"getValue",value:function(){}},{key:"getPlaceholder",value:function(){}},{key:"search",value:function(){}},{key:"updateInputValue",value:function(e){this.options.debug&&console.debug("Update input value"),this.valueArray.push(e),this.element.value=JSON.stringify(this.valueArray)}},{key:"addItem",value:function(e){this.options.debug&&console.debug("Add item");var t=document.createElement("li");t.classList.add("choice__item"),t.textContent=e,this.list.appendChild(t)}},{key:"removeItem",value:function(){}},{key:"removeAllItems",value:function(){}},{key:"createItemList",value:function(){}},{key:"init",value:function(){this.supports||console.error("Your browser doesn'nt support shit"),this.initialised=!0,this.render(this.element)}},{key:"render",value:function(){var e=this;this.options.debug&&console.debug("Render");var t=document.createElement("div"),n=document.createElement("input"),i=document.createElement("ul");if(t.className="choice choice--active",this.element.classList.add("choice__input","choice__input--hidden"),this.element.tabInde