UNPKG

tnt-form

Version:
2 lines (1 loc) 34.5 kB
(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}var ComponentList=function(){function ComponentList(form){_classCallCheck(this,ComponentList);this.form=form;this.components=[]}_createClass(ComponentList,[{key:"add",value:function add(component){component.setForm(this.form);this.components.push(component)}},{key:"remove",value:function remove(id){var index=this.getIndex(id);if(index!==false){this.components[index].destroy();this.components.splice(index,1)}}},{key:"get",value:function get(id){var index=this.getIndex(id);if(index!==false){return this.components[index]}for(var i=0;i<this.components.length;i++){if(this.components[i].components){var component=this.components[i].components.get(id);if(component){return component}}}return false}},{key:"getIndex",value:function getIndex(id){for(var i=0;i<this.components.length;i++){if(this.components[i].id==id){return i}}return false}},{key:"build",value:function build(){var el=document.createElement("div");this.components.forEach(function(c){el.appendChild(c.build())});return el}},{key:"validate",value:function validate(data){this.forEach(function(c){c.validate(data)})}},{key:"save",value:function save(data){this.forEach(function(c){return c.save(data)})}},{key:"forEach",value:function forEach(cb){this.components.forEach(function(c){if(!c.isDisabled){cb(c)}})}},{key:"forEachAll",value:function forEachAll(cb){this.components.forEach(function(c){cb(c)})}}]);return ComponentList}();module.exports=ComponentList},{}],2:[function(require,module,exports){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var Eventable=require("./eventable"),dom=require("./util/dom");var Component=function(_Eventable){_inherits(Component,_Eventable);function Component(id){var opts=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};_classCallCheck(this,Component);var _this=_possibleConstructorReturn(this,(Component.__proto__||Object.getPrototypeOf(Component)).call(this));_this.id=id;_this.isDisabled=false;_this.form=null;_this.errors=[];_this.setup();var _opts$v8nRequired=opts.v8nRequired;_this.v8nRequired=_opts$v8nRequired===undefined?false:_opts$v8nRequired;var _opts$label=opts.label;_this.label=_opts$label===undefined?false:_opts$label;var _opts$tooltip=opts.tooltip;_this.tooltip=_opts$tooltip===undefined?false:_opts$tooltip;return _this}_createClass(Component,[{key:"setup",value:function setup(){}},{key:"setForm",value:function setForm(form){this.form=form}},{key:"getValue",value:function getValue(){return null}},{key:"validate",value:function validate(){this.errors=[];if(this.v8nRequired&&this.getValue().toString().replace(/\s+/g,"")===""){this.errors.push({id:"required",default:"Required field"})}}},{key:"save",value:function save(data){data[this.id]=this.getValue()}},{key:"getContainer",value:function getContainer(){if(!this.el){throw new Error("Build the component first")}return this.el}},{key:"hide",value:function hide(){if(!this.isDisabled){this.isDisabled=true;this.getContainer().style.display="none";this.getContainer().disabled=true;if(this.components){this.components.forEachAll(function(c){c.hide()})}this.trigger("hide")}}},{key:"show",value:function show(){if(this.isDisabled){this.isDisabled=false;this.getContainer().style.display="";this.getContainer().disabled=false;if(this.components){this.components.forEachAll(function(c){c.show()})}this.trigger("show")}}},{key:"destroy",value:function destroy(){if(this.el){dom.remove(this.getContainer());delete this.el}}},{key:"build",value:function build(){this.el=document.createElement("fieldset");if(this.label){var label=document.createElement("label");label.textContent=this.label;this.el.appendChild(label);if(this.v8nRequired){label.classList.add("required")}}if(this.tooltip){var tooltip=document.createElement("span");tooltip.textContent=this.tooltip;this.el.appendChild(tooltip);tooltip.classList.add("tooltip")}return this.el}},{key:"postValidate",value:function postValidate(){if(this.errors.length){var errorMessage=this.form.errorMessages[this.errors[0].id]?this.form.errorMessages[this.errors[0].id]:this.errors[0].default;this.setError(errorMessage)}else{this.removeError()}}},{key:"setError",value:function setError(errorMessage){if(!this.error&&!this.form.inlineErrorMessages){this.error=document.createElement("span");this.error.textContent=errorMessage;this.getContainer().appendChild(this.error)}this.getContainer().classList.add("has-errors")}},{key:"removeError",value:function removeError(){this.getContainer().classList.remove("has-errors");if(this.error){dom.remove(this.error);delete this.error}}}]);return Component}(Eventable);module.exports=Component},{"./eventable":9,"./util/dom":13}],3:[function(require,module,exports){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _get=function get(object,property,receiver){if(object===null)object=Function.prototype;var desc=Object.getOwnPropertyDescriptor(object,property);if(desc===undefined){var parent=Object.getPrototypeOf(object);if(parent===null){return undefined}else{return get(parent,property,receiver)}}else if("value"in desc){return desc.value}else{var getter=desc.get;if(getter===undefined){return undefined}return getter.call(receiver)}};function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var Component=require("../component");var Checkbox=function(_Component){_inherits(Checkbox,_Component);function Checkbox(id,text){var opts=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};_classCallCheck(this,Checkbox);var _this=_possibleConstructorReturn(this,(Checkbox.__proto__||Object.getPrototypeOf(Checkbox)).call(this,id,opts));_this.text=text||"";return _this}_createClass(Checkbox,[{key:"getValue",value:function getValue(){return this.input.checked}},{key:"build",value:function build(){var _this2=this;_get(Checkbox.prototype.__proto__||Object.getPrototypeOf(Checkbox.prototype),"build",this).call(this);this.input=document.createElement("input");this.input.classList.add("single-checkbox");this.input.setAttribute("type","checkbox");this.input.setAttribute("id",this.id);this.textEl=document.createElement("label");this.textEl.textContent=this.text;this.textEl.classList.add("checkbox");this.textEl.setAttribute("for",this.id);this.getContainer().appendChild(this.input);this.getContainer().appendChild(this.textEl);this.input.addEventListener("change",function(e){_this2.trigger("change",{value:_this2.getValue()})});return this.getContainer()}}]);return Checkbox}(Component);module.exports=Checkbox},{"../component":2}],4:[function(require,module,exports){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _get=function get(object,property,receiver){if(object===null)object=Function.prototype;var desc=Object.getOwnPropertyDescriptor(object,property);if(desc===undefined){var parent=Object.getPrototypeOf(object);if(parent===null){return undefined}else{return get(parent,property,receiver)}}else if("value"in desc){return desc.value}else{var getter=desc.get;if(getter===undefined){return undefined}return getter.call(receiver)}};function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var Component=require("../component"),util=require("../util/util.js");var File=function(_Component){_inherits(File,_Component);function File(id){var opts=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};_classCallCheck(this,File);var _this=_possibleConstructorReturn(this,(File.__proto__||Object.getPrototypeOf(File)).call(this,id,opts));var _opts$accept=opts.accept;_this.accept=_opts$accept===undefined?"":_opts$accept;var _opts$multiple=opts.multiple;_this.multiple=_opts$multiple===undefined?false:_opts$multiple;return _this}_createClass(File,[{key:"getValue",value:function getValue(){return this.input.files}},{key:"validate",value:function validate(){_get(File.prototype.__proto__||Object.getPrototypeOf(File.prototype),"validate",this).call(this);this.postValidate()}},{key:"build",value:function build(){var _this2=this;_get(File.prototype.__proto__||Object.getPrototypeOf(File.prototype),"build",this).call(this);this.input=document.createElement("input");this.input.setAttribute("type","file");this.input.setAttribute("accept",this.accept);if(this.v8nRequired){this.input.required=true}if(this.multiple){this.input.setAttribute("multiple","")}this.preview=document.createElement("div");this.preview.classList.add("file-preview");this.getContainer().appendChild(this.input);this.getContainer().appendChild(this.preview);this.input.addEventListener("change",function(e){_this2.trigger("change");var files=_this2.input.files;var imageType=/image.*/;_this2.preview.innerHTML="";var _loop=function _loop(i){var file=files[i];var previewEl=document.createElement("div");previewEl.classList.add("file-preview-item");var filenameEl=document.createElement("div");filenameEl.classList.add("file-preview-item-filename");filenameEl.textContent=file.name;if(file.type.match(imageType)){var reader=new FileReader;reader.onload=function(e){var img=new Image;img.src=reader.result;previewEl.appendChild(img)};reader.readAsDataURL(file)}previewEl.appendChild(filenameEl);_this2.preview.appendChild(previewEl)};for(var i=0;i<files.length;i++){_loop(i)}});return this.getContainer()}}]);return File}(Component);module.exports=File},{"../component":2,"../util/util.js":14}],5:[function(require,module,exports){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _get=function get(object,property,receiver){if(object===null)object=Function.prototype;var desc=Object.getOwnPropertyDescriptor(object,property);if(desc===undefined){var parent=Object.getPrototypeOf(object);if(parent===null){return undefined}else{return get(parent,property,receiver)}}else if("value"in desc){return desc.value}else{var getter=desc.get;if(getter===undefined){return undefined}return getter.call(receiver)}};function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var Component=require("../component"),dom=require("../util/dom");var MultiCheckbox=function(_Component){_inherits(MultiCheckbox,_Component);function MultiCheckbox(id,checkboxes){var opts=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};_classCallCheck(this,MultiCheckbox);var _this=_possibleConstructorReturn(this,(MultiCheckbox.__proto__||Object.getPrototypeOf(MultiCheckbox)).call(this,id,opts));_this.checkboxes=checkboxes;_this.inputs=[];return _this}_createClass(MultiCheckbox,[{key:"getValue",value:function getValue(){var data={};this.inputs.forEach(function(input,index){data[index]=input.checked});return data}},{key:"build",value:function build(){var _this2=this;_get(MultiCheckbox.prototype.__proto__||Object.getPrototypeOf(MultiCheckbox.prototype),"build",this).call(this);var container=document.createElement("div");container.classList.add("multicheckbox");this.getContainer().appendChild(container);this.checkboxes.forEach(function(text,i){var checkboxId="multicheckbox-"+_this2.id+"-"+i;var wrap=document.createElement("div");var label=document.createElement("label");label.setAttribute("for",checkboxId);wrap.appendChild(label);var checkbox=document.createElement("input");checkbox.setAttribute("id",checkboxId);checkbox.setAttribute("type","checkbox");label.textContent=text;dom.prepend(wrap,checkbox);container.appendChild(wrap);checkbox.addEventListener("change",function(e){_this2.trigger("change",{value:_this2.getValue()})});_this2.inputs.push(checkbox)});return this.getContainer()}}]);return MultiCheckbox}(Component);module.exports=MultiCheckbox},{"../component":2,"../util/dom":13}],6:[function(require,module,exports){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _get=function get(object,property,receiver){if(object===null)object=Function.prototype;var desc=Object.getOwnPropertyDescriptor(object,property);if(desc===undefined){var parent=Object.getPrototypeOf(object);if(parent===null){return undefined}else{return get(parent,property,receiver)}}else if("value"in desc){return desc.value}else{var getter=desc.get;if(getter===undefined){return undefined}return getter.call(receiver)}};function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var Component=require("../component");var Select=function(_Component){_inherits(Select,_Component);function Select(id,values){var opts=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};_classCallCheck(this,Select);var _this=_possibleConstructorReturn(this,(Select.__proto__||Object.getPrototypeOf(Select)).call(this,id,opts));_this.values=values;var _opts$emptyOptionText=opts.emptyOptionText;_this.emptyOptionText=_opts$emptyOptionText===undefined?"":_opts$emptyOptionText;if(!_this.v8nRequired){_this.values.unshift(_this.emptyOptionText)}return _this}_createClass(Select,[{key:"getValue",value:function getValue(){var intValue=parseInt(this.select.value);if(!this.v8nRequired){if(intValue===0){return null}return intValue-1}return intValue}},{key:"validate",value:function validate(){_get(Select.prototype.__proto__||Object.getPrototypeOf(Select.prototype),"validate",this).call(this);var val=this.getValue();if(val<0||val>this.values.length-1){this.errors.push({id:"invalidOption",default:"Invalid option selected"})}this.postValidate()}},{key:"build",value:function build(){var _this2=this;_get(Select.prototype.__proto__||Object.getPrototypeOf(Select.prototype),"build",this).call(this);this.select=document.createElement("select");this.select.setAttribute("type","text");this.getContainer().appendChild(this.select);this.values.forEach(function(text,index){var option=document.createElement("option");option.setAttribute("value",index);option.textContent=text;_this2.select.appendChild(option)});this.select.addEventListener("change",function(e){_this2.trigger("change",{value:_this2.getValue()})});return this.getContainer()}}]);return Select}(Component);module.exports=Select},{"../component":2}],7:[function(require,module,exports){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var Component=require("../component"),ComponentList=require("../component-list");var Stack=function(_Component){_inherits(Stack,_Component);function Stack(id,components){var opts=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};_classCallCheck(this,Stack);var _this=_possibleConstructorReturn(this,(Stack.__proto__||Object.getPrototypeOf(Stack)).call(this,id,opts));var _opts$label=opts.label;_this.label=_opts$label===undefined?"":_opts$label;var _opts$direction=opts.direction;_this.direction=_opts$direction===undefined?"horizontal":_opts$direction;_this.rawComponents=components;return _this}_createClass(Stack,[{key:"build",value:function build(){var _this2=this;this.components=new ComponentList(this.form);this.rawComponents.forEach(function(c){return _this2.components.add(c)});this.el=document.createElement("div");this.el.classList.add("stack");this.el.classList.add(this.direction);var componentContainer=document.createElement("div");if(this.label){var label=document.createElement("div");label.classList.add("stack-title");label.textContent=this.label;componentContainer.appendChild(label);this.el.classList.add("has-title")}componentContainer.classList.add("stack-wrap");this.el.appendChild(componentContainer);componentContainer.appendChild(this.components.build());return this.el}},{key:"validate",value:function validate(data){var _this3=this;this.errors=[];this.components.validate(data);this.components.forEach(function(c){if(c.errors.length){_this3.errors.push({id:"stackContainsError",default:"One or more fields in the stack has an error"})}})}},{key:"save",value:function save(data){this.components.save(data)}}]);return Stack}(Component);module.exports=Stack},{"../component":2,"../component-list":1}],8:[function(require,module,exports){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _get=function get(object,property,receiver){if(object===null)object=Function.prototype;var desc=Object.getOwnPropertyDescriptor(object,property);if(desc===undefined){var parent=Object.getPrototypeOf(object);if(parent===null){return undefined}else{return get(parent,property,receiver)}}else if("value"in desc){return desc.value}else{var getter=desc.get;if(getter===undefined){return undefined}return getter.call(receiver)}};function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var Component=require("../component"),util=require("../util/util.js");var TextField=function(_Component){_inherits(TextField,_Component);function TextField(id){var opts=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};_classCallCheck(this,TextField);var _this=_possibleConstructorReturn(this,(TextField.__proto__||Object.getPrototypeOf(TextField)).call(this,id,opts));var _opts$v8nMaxLength=opts.v8nMaxLength;_this.v8nMaxLength=_opts$v8nMaxLength===undefined?255:_opts$v8nMaxLength;var _opts$v8nEmail=opts.v8nEmail;_this.v8nEmail=_opts$v8nEmail===undefined?false:_opts$v8nEmail;var _opts$multiline=opts.multiline;_this.multiline=_opts$multiline===undefined?false:_opts$multiline;var _opts$defaultValue=opts.defaultValue;_this.defaultValue=_opts$defaultValue===undefined?"":_opts$defaultValue;var _opts$placeholder=opts.placeholder;_this.placeholder=_opts$placeholder===undefined?"":_opts$placeholder;return _this}_createClass(TextField,[{key:"getValue",value:function getValue(){return this.input.value}},{key:"validate",value:function validate(){_get(TextField.prototype.__proto__||Object.getPrototypeOf(TextField.prototype),"validate",this).call(this);if(this.v8nEmail&&!util.RE_EMAIL.test(this.getValue())){this.errors.push({id:"invalidEmail",default:"Invalid Email"})}if(this.getValue().length>this.v8nMaxLength){this.errors.push({id:"maxLength",default:"Input is too long ( max "+this.v8nMaxLength+" )"})}this.postValidate()}},{key:"setError",value:function setError(errorMessage){_get(TextField.prototype.__proto__||Object.getPrototypeOf(TextField.prototype),"setError",this).call(this,errorMessage);if(this.form.inlineErrorMessages){this.input.value="";this.input.setAttribute("placeholder",errorMessage)}}},{key:"build",value:function build(){var _this2=this;_get(TextField.prototype.__proto__||Object.getPrototypeOf(TextField.prototype),"build",this).call(this);if(this.multiline){this.input=document.createElement("textarea");this.input.innerHTML=this.defaultValue}else{this.input=document.createElement("input");this.input.setAttribute("type","text");this.input.setAttribute("value",this.defaultValue)}if(this.v8nRequired){this.input.required=true}this.getContainer().appendChild(this.input);if(this.placeholder){this.input.setAttribute("placeholder",this.placeholder)}this.input.addEventListener("change",function(e){_this2.trigger("change",{value:_this2.getValue()})});this.input.addEventListener("keyup",function(e){_this2.trigger("change",{value:_this2.getValue()})});this.input.addEventListener("keydown",function(e){_this2.trigger("change",{value:_this2.getValue()})});return this.getContainer()}}]);return TextField}(Component);module.exports=TextField},{"../component":2,"../util/util.js":14}],9:[function(require,module,exports){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}var Eventable=function(){function Eventable(){_classCallCheck(this,Eventable)}_createClass(Eventable,[{key:"on",value:function on(eventName,cb){if(!this.eventListeners){this.eventListeners=[]}if(typeof this.eventListeners[eventName]==="undefined"){this.eventListeners[eventName]=[]}this.eventListeners[eventName].push(cb)}},{key:"trigger",value:function trigger(eventName,arg){if(!this.eventListeners){this.eventListeners=[]}if(typeof this.eventListeners[eventName]!=="undefined"){this.eventListeners[eventName].forEach(function(cb){cb(arg)})}}}]);return Eventable}();module.exports=Eventable},{}],10:[function(require,module,exports){"use strict";window.tntform=require("./index")},{"./index":12}],11:[function(require,module,exports){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var ComponentList=require("./component-list"),Eventable=require("./eventable");var Form=function(_Eventable){_inherits(Form,_Eventable);function Form(id){var opts=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};_classCallCheck(this,Form);var _this=_possibleConstructorReturn(this,(Form.__proto__||Object.getPrototypeOf(Form)).call(this));_this.id=id;_this.errorMessages={};_this.components=new ComponentList(_this);var _opts$submitButtonTex=opts.submitButtonText;_this.submitButtonText=_opts$submitButtonTex===undefined?"Send":_opts$submitButtonTex;var _opts$inlineErrorMess=opts.inlineErrorMessages;_this.inlineErrorMessages=_opts$inlineErrorMess===undefined?false:_opts$inlineErrorMess;return _this}_createClass(Form,[{key:"addField",value:function addField(component){this.components.add(component)}},{key:"removeField",value:function removeField(id){this.components.remove(id)}},{key:"getField",value:function getField(id){return this.components.get(id)}},{key:"build",value:function build(){var _this2=this;var container=document.createElement("form");container.setAttribute("enctype","multipart/form-data");var saveBtn=document.createElement("button");saveBtn.setAttribute("type","submit");saveBtn.textContent=this.submitButtonText;container.appendChild(this.components.build());container.appendChild(saveBtn);container.addEventListener("submit",function(e){if(_this2.validate()){_this2.save()}e.preventDefault()});return container}},{key:"setErrorMessages",value:function setErrorMessages(messages){this.errorMessages=messages}},{key:"validate",value:function validate(data){this.components.validate(data);var valid=true;this.components.forEach(function(c){if(c.errors.length){valid=false}c.postValidate()});return valid}},{key:"save",value:function save(){var data={};this.components.save(data);this.trigger("submit",{data:data})}}]);return Form}(Eventable);module.exports=Form},{"./component-list":1,"./eventable":9}],12:[function(require,module,exports){"use strict";module.exports={Form:require("./form"),Component:require("./component"),Checkbox:require("./component/checkbox"),MultiCheckbox:require("./component/multicheckbox"),Select:require("./component/select"),TextField:require("./component/textfield"),Stack:require("./component/stack"),File:require("./component/file")}},{"./component":2,"./component/checkbox":3,"./component/file":4,"./component/multicheckbox":5,"./component/select":6,"./component/stack":7,"./component/textfield":8,"./form":11}],13:[function(require,module,exports){"use strict";var dom={};dom.remove=function(htmlElement){htmlElement.parentNode.removeChild(htmlElement)};dom.prepend=function(parent,htmlElement){parent.insertBefore(htmlElement,parent.firstChild)};module.exports=dom},{}],14:[function(require,module,exports){"use strict";var util={};util.RE_EMAIL=/^[-a-z0-9~!$%^&*_=+}{\'?]+(\.[-a-z0-9~!$%^&*_=+}{\'?]+)*@([a-z0-9_][-a-z0-9_]*(\.[-a-z0-9_]+)*\.(aero|flights|arpa|biz|com|coop|edu|gov|info|int|mil|museum|name|net|org|pro|travel|mobi|[a-z][a-z])|([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))(:[0-9]{1,5})?$/i;module.exports=util},{}]},{},[10]);