From 6e865dcfe8691eea637451223ac1558ed687d271 Mon Sep 17 00:00:00 2001 From: Kevin Chappell Date: Wed, 16 Mar 2016 04:02:41 +0000 Subject: [PATCH 1/2] Fix IE Element.remove() polyfill from actually Windows machine --- demo/assets/js/form-builder.js | 177 ++++++++++++-------------- demo/assets/js/form-builder.min.js | 4 +- demo/assets/js/form-render.min.js.map | 2 +- dist/form-builder.js | 177 ++++++++++++-------------- dist/form-builder.min.js | 4 +- src/js/polyfills.js | 19 +-- 6 files changed, 179 insertions(+), 204 deletions(-) diff --git a/demo/assets/js/form-builder.js b/demo/assets/js/form-builder.js index 0c981c193..321904b96 100644 --- a/demo/assets/js/form-builder.js +++ b/demo/assets/js/form-builder.js @@ -16,11 +16,11 @@ var formBuilderHelpers = function formBuilderHelpers(opts, formBuilder) { formBuilder.events = formBuilderEvents(opts, _helpers); - /** - * Convert an attrs object into a string - * - * @param {object} attrs object of attributes for markup - * @return {string} + /** + * Convert an attrs object into a string + * + * @param {object} attrs object of attributes for markup + * @return {string} */ _helpers.attrString = function (attrs) { var attributes = []; @@ -34,11 +34,11 @@ var formBuilderHelpers = function formBuilderHelpers(opts, formBuilder) { return attributes.join(' '); }; - /** - * Convert camelCase into lowercase-hyphen - * - * @param {string} str - * @return {string} + /** + * Convert camelCase into lowercase-hyphen + * + * @param {string} str + * @return {string} */ _helpers.hyphenCase = function (str) { str = str.replace(/([A-Z])/g, function ($1) { @@ -67,10 +67,10 @@ var formBuilderHelpers = function formBuilderHelpers(opts, formBuilder) { }; }; - /** - * Add a mobile class - * - * @return {string} + /** + * Add a mobile class + * + * @return {string} */ _helpers.mobileClass = function () { var mobileClass = ''; @@ -82,11 +82,11 @@ var formBuilderHelpers = function formBuilderHelpers(opts, formBuilder) { return mobileClass; }; - /** - * Callback for when a drag begins - * - * @param {object} event - * @param {object} ui + /** + * Callback for when a drag begins + * + * @param {object} event + * @param {object} ui */ _helpers.startMoving = function (event, ui) { event = event; @@ -94,11 +94,11 @@ var formBuilderHelpers = function formBuilderHelpers(opts, formBuilder) { _helpers.startIndex = $('li', this).index(ui.item); }; - /** - * Callback for when a drag ends - * - * @param {object} event - * @param {object} ui + /** + * Callback for when a drag ends + * + * @param {object} event + * @param {object} ui */ _helpers.stopMoving = function (event, ui) { event = event; @@ -111,9 +111,9 @@ var formBuilderHelpers = function formBuilderHelpers(opts, formBuilder) { _helpers.doCancel = false; }; - /** - * jQuery UI sortable beforeStop callback used for both lists. - * Logic for canceling the sort or drop. + /** + * jQuery UI sortable beforeStop callback used for both lists. + * Logic for canceling the sort or drop. */ _helpers.beforeStop = function (event, ui) { event = event; @@ -140,33 +140,33 @@ var formBuilderHelpers = function formBuilderHelpers(opts, formBuilder) { }); }; - /** - * Make strings safe to be used as classes - * - * @param {string} str string to be converted - * @return {string} converter string + /** + * Make strings safe to be used as classes + * + * @param {string} str string to be converted + * @return {string} converter string */ _helpers.safename = function (str) { return str.replace(/\s/g, '-').replace(/[^a-zA-Z0-9\-]/g, '').toLowerCase(); }; - /** - * Strips non-numbers from a number only input - * - * @param {string} str string with possible number - * @return {string} string without numbers + /** + * Strips non-numbers from a number only input + * + * @param {string} str string with possible number + * @return {string} string without numbers */ _helpers.forceNumber = function (str) { return str.replace(/[^0-9]/g, ''); }; - /** - * hide and show mouse tracking tooltips, only used for disabled - * fields in the editor. - * - * @todo remove or refactor to make better use - * @param {object} tt jQuery option with nexted tooltip - * @return {void} + /** + * hide and show mouse tracking tooltips, only used for disabled + * fields in the editor. + * + * @todo remove or refactor to make better use + * @param {object} tt jQuery option with nexted tooltip + * @return {void} */ _helpers.initTooltip = function (tt) { var tooltip = tt.find('.tooltip'); @@ -314,10 +314,10 @@ var formBuilderHelpers = function formBuilderHelpers(opts, formBuilder) { $('input[toggle]', $prevHolder).kcToggle(); }; - /** - * Generate preview markup - * @param {object} attrs - * @return {string} preview markup for field + /** + * Generate preview markup + * @param {object} attrs + * @return {string} preview markup for field */ _helpers.fieldPreview = function (attrs) { var i, @@ -463,10 +463,10 @@ var formBuilderHelpers = function formBuilderHelpers(opts, formBuilder) { } }; - /** - * Display a custom tooltip for disabled fields. - * - * @param {object} field + /** + * Display a custom tooltip for disabled fields. + * + * @param {object} field */ _helpers.disabledTT = { className: 'frmb-tt', @@ -553,12 +553,12 @@ var formBuilderHelpers = function formBuilderHelpers(opts, formBuilder) { return field; }; - /** - * Closes and open dialog - * - * @param {Object} overlay Existing overlay if there is one - * @param {Object} dialog Existing dialog - * @return {Event} Triggers modalClosed event + /** + * Closes and open dialog + * + * @param {Object} overlay Existing overlay if there is one + * @param {Object} dialog Existing dialog + * @return {Event} Triggers modalClosed event */ _helpers.closeConfirm = function (overlay, dialog) { overlay = overlay || document.getElementsByClassName('form-builder-overlay')[0]; @@ -569,9 +569,9 @@ var formBuilderHelpers = function formBuilderHelpers(opts, formBuilder) { document.dispatchEvent(formBuilder.events.modalClosed); }; - /** - * Adds overlay to the page. Used for modals. - * @return {Object} + /** + * Adds overlay to the page. Used for modals. + * @return {Object} */ _helpers.showOverlay = function () { var overlay = _helpers.markup('div', null, { @@ -587,14 +587,14 @@ var formBuilderHelpers = function formBuilderHelpers(opts, formBuilder) { return overlay; }; - /** - * Custom confirmation dialog - * - * @param {Object} message Content to be displayed in the dialog - * @param {Func} yesAction callback to fire if they confirm - * @param {Boolean} coords location to put the dialog - * @param {String} className Custom class to be added to the dialog - * @return {Object} Reference to the modal + /** + * Custom confirmation dialog + * + * @param {Object} message Content to be displayed in the dialog + * @param {Func} yesAction callback to fire if they confirm + * @param {Boolean} coords location to put the dialog + * @param {String} className Custom class to be added to the dialog + * @return {Object} Reference to the modal */ _helpers.confirm = function (message, yesAction) { var coords = arguments.length <= 2 || arguments[2] === undefined ? false : arguments[2]; @@ -637,13 +637,13 @@ var formBuilderHelpers = function formBuilderHelpers(opts, formBuilder) { return miniModal; }; - /** - * Popup dialog the does not require confirmation. - * @param {String|DOM|Array} content - * @param {Boolean} coords false if no coords are provided. Without coordinates - * the popup will appear center screen. - * @param {String} className classname to be added to the dialog - * @return {Object} dom + /** + * Popup dialog the does not require confirmation. + * @param {String|DOM|Array} content + * @param {Boolean} coords false if no coords are provided. Without coordinates + * the popup will appear center screen. + * @param {String} className classname to be added to the dialog + * @return {Object} dom */ _helpers.dialog = function (content) { var coords = arguments.length <= 1 || arguments[1] === undefined ? false : arguments[1]; @@ -675,8 +675,8 @@ var formBuilderHelpers = function formBuilderHelpers(opts, formBuilder) { return miniModal; }; - /** - * Removes all fields from the form + /** + * Removes all fields from the form */ _helpers.removeAllfields = function () { var form = document.getElementById(opts.formID); @@ -2101,21 +2101,12 @@ if (typeof Object.assign !== 'function') { } // Element.remove() polyfill -if (typeof Element.remove !== 'function') { - (function () { - var _this = this; - - Element.prototype.remove = function () { - _this.parentElement.removeChild(_this); - }; - NodeList.prototype.remove = HTMLCollection.prototype.remove = function () { - for (var i = this.length - 1; i >= 0; i--) { - if (this[i] && this[i].parentElement) { - this[i].parentElement.removeChild(this[i]); - } - } - }; - })(); +if (!('remove' in Element.prototype)) { + Element.prototype.remove = function () { + if (this.parentNode) { + this.parentNode.removeChild(this); + } + }; } // Event polyfill diff --git a/demo/assets/js/form-builder.min.js b/demo/assets/js/form-builder.min.js index dda45ace2..0afa332e8 100644 --- a/demo/assets/js/form-builder.min.js +++ b/demo/assets/js/form-builder.min.js @@ -3,6 +3,6 @@ formBuilder - http://kevinchappell.github.io/formBuilder/ Version: 1.9.4 Author: Kevin Chappell */ -"use strict";var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},formBuilderHelpers=function(e,t){var a={doCancel:!1};return t.events=formBuilderEvents(e,a),a.attrString=function(e){var t=[];for(var l in e)e.hasOwnProperty(l)&&(l=a.safeAttr(l,e[l]),t.push(l.name+l.value));return t.join(" ")},a.hyphenCase=function(e){return e=e.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()}),e.replace(/\s/g,"-").replace(/^-+/g,"")},a.safeAttrName=function(e){var t={className:"class"};return t[e]||a.hyphenCase(e)},a.safeAttr=function(e,t){return e=a.safeAttrName(e),t=window.JSON.stringify(t),t=t?"="+t:"",{name:e,value:t}},a.mobileClass=function(){var e="";return function(t){(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4)))&&(e=" fb-mobile")}(navigator.userAgent||navigator.vendor||window.opera),e},a.startMoving=function(e,t){e=e,t.item.show().addClass("moving"),a.startIndex=$("li",this).index(t.item)},a.stopMoving=function(e,t){e=e,t.item.removeClass("moving"),a.doCancel&&($(t.sender).sortable("cancel"),$(this).sortable("cancel")),a.save(),a.doCancel=!1},a.beforeStop=function(t,l){t=t;var s=document.getElementById(e.formID),o=s.children.length-1,n=[];a.stopIndex=l.placeholder.index()-1,l.item.parent().hasClass("frmb-control")&&n.push(!0),e.prepend&&n.push(0===a.stopIndex),e.append&&n.push(a.stopIndex+1===o),a.doCancel=n.some(function(e){return e===!0})},a.safename=function(e){return e.replace(/\s/g,"-").replace(/[^a-zA-Z0-9\-]/g,"").toLowerCase()},a.forceNumber=function(e){return e.replace(/[^0-9]/g,"")},a.initTooltip=function(e){var t=e.find(".tooltip");e.mouseenter(function(){t.outerWidth()>200&&t.addClass("max-width"),t.css("left",e.width()+14),t.stop(!0,!0).fadeIn("fast")}).mouseleave(function(){e.find(".tooltip").stop(!0,!0).fadeOut("fast")}),t.hide()},a.xmlSave=function(e){var a=$(e).toXML();return window.JSON.stringify(a)===window.JSON.stringify(t.formData)?!1:void(t.formData=a)},a.jsonSave=function(){e.notify.warning("json data not available yet")},a.save=function(){var l=a.getElement(),s=document.getElementById(e.formID),o={xml:a.xmlSave,json:a.jsonSave};o[e.dataType](s),l&&(l.value=t.formData,window.jQuery?$(l).trigger("change"):l.onchange())},a.getElement=function(){var l=!1;return t.element&&(l=t.element,l.id||a.makeId(l),l.onchange||(l.onchange=function(){e.notify.success(e.messages.formUpdated)})),l},a.makeId=function(){var e=arguments.length<=0||void 0===arguments[0]?!1:arguments[0],t=(new Date).getTime();return e.tagName+"-"+t},a.updatePreview=function(e){var t=e.data("fieldData")||{},l=e.attr("class");if(-1===l.indexOf("ui-sortable-handle")){var s,o=$(".prev-holder",e),n=$(".fld-subtype",e).val();l=l.replace("-field form-field",""),s=n?n:l;var i,r={type:s,label:$(".fld-label",e).val()},c=$(".fld-maxlength",e);c&&(r.maxlength=c.val()),r.className=$(".fld-className",e).val()||t.className||"";var d=$(".fld-placeholder",e).val();d&&(r.placeholder=d);var p=$(".btn-style",e).val();p&&(r.style=p),"checkbox"===l&&(r.toggle=$(".checkbox-toggle",e).is(":checked")),l.match(/(select|checkbox-group|radio-group)/)&&(r.values=[],r.multiple=$('[name="multiple"]',e).is(":checked"),$(".sortable-options li",e).each(function(){var e={};e.selected=$(".option-selected",this).is(":checked"),e.value=$(".option-value",this).val(),e.label=$(".option-label",this).val(),r.values.push(e)})),r.className=a.classNames(e,r),e.data("fieldData",r),i=a.fieldPreview(r),o.html(i),$("input[toggle]",o).kcToggle()}},a.fieldPreview=function(t){var l,s="",o=(new Date).getTime(),n=t.toggle?"toggle":"",i=a.attrString(t);switch(t.type){case"textarea":case"rich-text":s="";break;case"button":case"submit":s="";break;case"select":var r="",c=t.multiple?"multiple":"";for(t.values.reverse(),t.placeholder&&(r+=""),l=t.values.length-1;l>=0;l--){var d=t.values[l].selected&&!t.placeholder?"selected":"";r+='"}s="<"+t.type+' class="'+t.className+'" '+c+">"+r+"";break;case"checkbox-group":case"radio-group":var p=t.type.replace("-group",""),u=p+"-"+o;for(t.values.reverse(),l=t.values.length-1;l>=0;l--){var m=t.values[l].selected?"checked":"",f=p+"-"+o+"-"+l;s+='
"}break;case"text":case"password":case"email":case"date":case"file":s="";break;case"color":s=' '+e.messages.selectColor;break;case"hidden":case"checkbox":s='";break;case"autocomplete":s='';break;default:s="<"+t.type+">"}return s},a.updateMultipleSelect=function(){$(document.getElementById(e.formID)).on("change",'input[name="multiple"]',function(){var e=$(this).parents(".field-options:eq(0)").find(".sortable-options input.option-selected");this.checked?e.each(function(){$(this).prop("type","checkbox")}):e.each(function(){$(this).removeAttr("checked").prop("type","radio")})})},a.debounce=function(e){var t,a=arguments.length<=1||void 0===arguments[1]?250:arguments[1],l=arguments.length<=2||void 0===arguments[2]?!1:arguments[2];return function(){var s=this,o=arguments,n=function(){t=null,l||e.apply(s,o)},i=l&&!t;clearTimeout(t),t=setTimeout(n,a),i&&e.apply(s,o)}},a.htmlEncode=function(e){return $("
").text(e).html()},a.htmlDecode=function(e){return $("
").html(e).text()},a.validateForm=function(){var t=$(document.getElementById(e.formID)),a=[];$('input[name="label"], input[type="text"].option',t).each(function(){if(""===$(this).val()){var t=$(this).parents("li.form-field"),l=$(this);a.push({field:t,error:e.messages.labelEmpty,attribute:l})}}),a.length&&(alert("Error: "+a[0].error),$("html, body").animate({scrollTop:a[0].field.offset().top},1e3,function(){var e=$(".toggle-form",a[0].field).attr("id");$(".toggle-form",a[0].field).addClass("open").parent().next(".prev-holder").slideUp(250),$("#"+e+"-fld").slideDown(250,function(){a[0].attribute.addClass("error")})}))},a.disabledTT={className:"frmb-tt",add:function(t){var l=e.messages.fieldNonEditable;if(l){var s=a.markup("p",l,{className:a.disabledTT.className});t.append(s)}},remove:function(e){$(".frmb-tt",e).remove()}},a.classNames=function(e,t){var a=["checkbox","checkbox-group","radio-group","button"],l=t.type,s=t.style,o=[],n={button:"btn",submit:"btn"},i=e[0].querySelector(".fld-className").value,r=n[l];return i&&o.push(i),r?(o.push(r),s&&o.push(r+"-"+s)):-1===a.indexOf(l)&&o.push("form-control"),o.join(" ")},a.markup=function(e){var t=arguments.length<=1||void 0===arguments[1]?"":arguments[1],l=arguments.length<=2||void 0===arguments[2]?{}:arguments[2],s=void 0,o=document.createElement(e),n=function(e){return Array.isArray(e)?"array":"undefined"==typeof e?"undefined":_typeof(e)},i={string:function(e){o.innerHTML=e},object:function(e){return o.appendChild(e)},array:function(e){for(var t=0;t').insertAfter(t).append(t);o.toggleClass("on",t.is(":checked"));var n='
'+s.labels.on+"
",i='
'+s.labels.off+"
",r='
',c='
'+n+r+i+"
";o.append(c),o.click(function(){t.attr("checked",!t.attr("checked")),e(this).toggleClass("on")})};e.fn.kcToggle=function(a){var l=this;return l.each(function(){var l=e(this);if(!l.data("kcToggle")){var s=new t(l,a);l.data("kcToggle",s)}})}}(jQuery),function(e){var t=function(t,a){var l=this,s={dataType:"xml",disableFields:{},append:!1,prepend:!1,defaultFields:[],fieldRemoveWarn:!1,roles:{1:"Administrator"},serializePrefix:"frmb",messages:{addOption:"Add Option",allFieldsRemoved:"All fields were removed.",allowSelect:"Allow Select",autocomplete:"Autocomplete",button:"Button",cannotBeEmpty:"This field cannot be empty",checkboxGroup:"Checkbox Group",checkbox:"Checkbox",checkboxes:"Checkboxes",className:"Class",clearAllMessage:"Are you sure you want to remove all items?",clearAll:"Clear",close:"Close",copy:"Copy To Clipboard",dateField:"Date Field",description:"Help Text",descriptionField:"Description",devMode:"Developer Mode",editNames:"Edit Names",editorTitle:"Form Elements",editXML:"Edit XML",fieldDeleteWarning:!1,fieldVars:"Field Variables",fieldNonEditable:"This field cannot be edited.",fieldRemoveWarning:"Are you sure you want to remove this field?",fileUpload:"File Upload",formUpdated:"Form Updated",getStarted:"Drag a field from the right to this area",hide:"Edit",hidden:"Hidden Input",label:"Label",labelEmpty:"Field Label cannot be empty",limitRole:"Limit access to one or more of the following roles:",mandatory:"Mandatory",maxlength:"Max Length",minOptionMessage:"This field requires a minimum of 2 options",name:"Name",no:"No",off:"Off",on:"On",option:"Option",optional:"optional",optionLabelPlaceholder:"Label",optionValuePlaceholder:"Value",optionEmpty:"Option value required",paragraph:"Paragraph",placeholder:"Placeholder",placeholders:{value:"Value",label:"Label",text:"",textarea:"",email:"Enter you email",placeholder:"",className:"space separated classes",password:"Enter your password"},preview:"Preview",radioGroup:"Radio Group",radio:"Radio",removeMessage:"Remove Element",remove:"×",required:"Required",richText:"Rich Text Editor",roles:"Access",save:"Save",selectOptions:"Options",select:"Select",selectColor:"Select Color",selectionsMessage:"Allow Multiple Selections",size:"Size",sizes:{xs:"Extra Small",sm:"Small",m:"Default",lg:"Large"},style:"Style",styles:{btn:{"default":"Default",danger:"Danger",info:"Info",primary:"Primary",success:"Success",warning:"Warning"}},subtype:"Type",subtypes:{text:["text","password","email","color"],button:["button","submit"]},text:"Text Field",textArea:"Text Area",toggle:"Toggle",warning:"Warning!",viewXML:"</>",yes:"Yes"},notify:{error:function(e){return console.error(e)},success:function(e){return console.log(e)},warning:function(e){return console.warn(e)}}};s.messages.subtypes.password=s.messages.subtypes.text,s.messages.subtypes.email=s.messages.subtypes.text,s.messages.subtypes.color=s.messages.subtypes.text,s.messages.subtypes.submit=s.messages.subtypes.button;var o=e.extend(!0,s,t),n=e(a),i="frmb-"+e("ul[id^=frmb-]").length++;o.formID=i,l.element=a;for(var r=e("
",s='
'+n+" "+s+"
"}return s},W=function(e){var t=arguments.length<=1||void 0===arguments[1]?"":arguments[1],a=["text","textarea","select"],l=o.messages.placeholders,s=l[e]||"",n="",i=[];"placeholder"===e&&-1===a.indexOf(t)&&i.push(!0);var r=i.some(function(e){return e===!0});if(!r){var c="";n+='',n='
'+c+" "+n+"
"}return n},Y=function(t,a,l){var s=e(a).find('input[name="label"]').val(),n=s?s:t,i=c.markup("a",o.messages.remove,{id:"del_"+d,className:"del-button btn delete-confirm",title:o.messages.removeMessage}),p=c.markup("a",null,{id:"frm-"+d,className:"toggle-form btn icon-pencil",title:o.messages.hide}),u=c.markup("div",[p,i],{className:"field-actions"}).outerHTML,m=l.required,f=l.toggle||void 0,v=""!==l.description?'?':"",g=u;g+='"+v+' *",g+=c.markup("div","",{className:"prev-holder"}).outerHTML,g+='
',g+='
',g+='
',g+="";var h=c.markup("input",null,{className:"required",type:"checkbox",name:"required-"+d,id:"required-"+d,value:1});h.defaultChecked="true"===m,g+=h.outerHTML,g+=c.markup("label",o.messages.required,{className:"required-label","for":"required-"+d}).outerHTML,g+="
","checkbox"===l.type&&(g+='
',g+="",g+='",g+="
"),g+=a,g+=c.markup("a",o.messages.close,{className:"close-field"}).outerHTML,g+="
",g+="
";var b=c.markup("li",g,{"class":l.type+"-field form-field",id:"frm-"+d+"-item"}),y=e(b);y.data("fieldData",{attrs:l}),"undefined"!=typeof c.stopIndex?e("> li",r).eq(c.stopIndex).after(y):r.append(y),c.updatePreview(y),e(document.getElementById("frm-"+d+"-item")).hide().slideDown(250),d++},U=function(e,t,a,l){var s={selected:l?"checkbox":"radio"},n={selected:a,label:"",value:""},i=Object.assign(n,t),r=[];for(var d in i)if(i.hasOwnProperty(d)){var p={type:s[d]||"text","class":"option-"+d,placeholder:o.messages.placeholders[d],value:i[d],name:e},u=c.markup("input",null,p);"selected"===d&&(u.checked=i.selected),r.push(u)}var m={className:"remove btn",title:o.messages.removeMessage};r.push(c.markup("a",o.messages.remove,m));var f=c.markup("li",r);return f.outerHTML};r.on("click touchstart",".remove",function(t){var a=e(this).parents(".form-field:eq(0)");t.preventDefault();var l=e(this).parents(".sortable-options:eq(0)").children("li").length;2>=l?o.notify.error("Error: "+o.messages.minOptionMessage):e(this).parent("li").slideUp("250",function(){e(this).remove()}),O.call(a)}),r.on("touchstart","input",function(t){if(t.handled===!0)return!1;if("checkbox"===e(this).attr("type"))e(this).trigger("click");else{e(this).focus();var a=e(this).val();e(this).val(a)}}),r.on("click touchstart",".toggle-form",function(t){if(t.stopPropagation(),t.preventDefault(),t.handled===!0)return!1;var a=e(this).attr("id");c.toggleEdit(a+"-item"),t.handled=!0}),c.toggleEdit=function(t){var a=document.getElementById(t),l=e(".toggle-form",a),s=e(".frm-holder",a);l.toggleClass("open"),e(".prev-holder",a).slideToggle(250),s.slideToggle(250)},r.on("keyup change",'input[name="label"]',function(){e(".field-label",e(this).closest("li")).text(e(this).val())}),r.delegate("input.error","keyup",function(){e(this).removeClass("error")}),r.on("keyup",'input[name="description"]',function(){var t=e(this).parents(".form-field:eq(0)"),a=e(".tooltip-element",t),l=e(this).val();if(""!==l)if(a.length)a.attr("tooltip",l).css("display","inline-block");else{var s='?';e(".field-label",t).after(s)}else a.length&&a.css("display","none")}),c.updateMultipleSelect(),r.delegate('input[name="name"]',"keyup",function(){e(this).val(c.safename(e(this).val())),""===e(this).val()?e(this).addClass("field_error").attr("placeholder",o.messages.cannotBeEmpty):e(this).removeClass("field_error")}),r.delegate("input.fld-maxlength","keyup",function(){e(this).val(c.forceNumber(e(this).val()))}),r.on("click touchstart",".delete-confirm",function(t){t.preventDefault();var a=this.getBoundingClientRect(),l=document.body.getBoundingClientRect(),s={pageX:a.left+a.width/2,pageY:a.top-l.top-12},n=e(this).attr("id").replace(/del_/,""),i=e(document.getElementById("frm-"+n+"-item")),d=function(){i.slideUp(250,function(){i.removeClass("deleting"),i.remove(),c.save()})};if(document.addEventListener("modalClosed",function(){i.removeClass("deleting")},!1),o.fieldRemoveWarn){var p=c.markup("h3",o.messages.warning),u=c.markup("p",o.messages.fieldRemoveWarning);c.confirm([p,u],d,s),i.addClass("deleting")}else d(i);1===e("> li",r).length&&S.addClass("empty").attr("data-content",o.messages.getStarted)}),r.on("click",".style-wrap button",function(){var t=e(this).val(),a=e(this).parent(),l=a.prev(".btn-style");l.val(t),e(this).siblings(".btn").removeClass("active"),e(this).addClass("active"),O.call(a)}),r.on("click","input.required",function(){var t=e(this).parents("li.form-field").find(".required-asterisk");t.toggle()}),r.on("click",'input[name="enable_roles"]',function(){var t=e(this).siblings("div.available-roles"),a=e(this);t.slideToggle(250,function(){a.is(":checked")||e('input[type="checkbox"]',t).removeAttr("checked")})}),r.on("click",".add-opt",function(t){t.preventDefault();var a=e(this).parents(".field-options:eq(0)"),l=e('[name="multiple"]',a),s=e(".option-selected:eq(0)",a),o=!1;o=l.length?l.prop("checked"):"checkbox"===s.attr("type");var n=s.attr("name");e(".sortable-options",a).append(U(n,!1,!1,o)),c.updateMultipleSelect()}),r.on("click touchstart",".close-field",function(){var t=e(this).parents("li.form-field:eq(0)").attr("id");c.toggleEdit(t)}),r.on("mouseover mouseout",".remove, .del-button",function(){e(this).parents("li:eq(0)").toggleClass("delete")});var G=e(document.getElementById(i+"-view-data"));G.click(function(e){e.preventDefault();var t=c.htmlEncode(n.val()),a=c.markup("code",t,{className:"xml"}),l=c.markup("pre",a);c.dialog(l,null,"data-dialog")});var V=e(document.getElementById(i+"-clear-all"));V.click(function(){var t=e("li.form-field"),a=this.getBoundingClientRect(),l=document.body.getBoundingClientRect(),s={pageX:a.left+a.width/2,pageY:a.top-l.top-12};t.length?c.confirm("Are you sure you want to clear all fields?",function(){c.removeAllfields(),o.notify.success(o.messages.allFieldsRemoved),c.save()},s):c.dialog("There are no fields to clear",{pageX:s.pageX,pageY:s.pageY})}),e(document.getElementById(i+"-save")).click(function(e){e.preventDefault(),c.save(),c.validateForm(e)});var J=!1,Q=[],Z="68,69,86";return e(".fb-save").mouseover(function(){J=!0}).mouseout(function(){J=!1}),e(document.documentElement).keydown(function(t){Q.push(t.keyCode),Q.toString().indexOf(Z)>=0&&(e(".action-links").toggle(),e(".view-data").toggle(),Q=[])}),e(".dev-mode-link").click(function(t){t.preventDefault();var a=e(this);S.toggleClass("dev-mode"),a.parent().css("opacity",1),S.hasClass("dev-mode")?(a.siblings(".action-links-inner").css("width","100%"),a.html(o.messages.devMode+" "+o.messages.on).css("color","#8CC63F")):(a.siblings(".action-links-inner").css("width",0), -a.html(o.messages.devMode+" "+o.messages.off).css("color","#666666"),J=!1,e(".action-links").toggle(),e(".view-data").toggle())}),e(document.getElementById(i+"-edit-names")).click(function(t){t.preventDefault(),e(this).toggleClass("active"),e(".name-wrap",r).slideToggle(250,function(){S.toggleClass("edit-names")})}),e(document.getElementById(i+"-allow-select")).click(function(t){t.preventDefault(),e(this).toggleClass("active"),e(".allow-multi, .option-selected",r).slideToggle(250,function(){S.toggleClass("allow-select")})}),e(document.getElementById(i+"-edit-xml")).click(function(t){t.preventDefault(),e(this).toggleClass("active"),e("textarea.idea-template").show(),e(".template-textarea-wrap").slideToggle(250),S.toggleClass("edit-xml")}),n.parent().find('p[id*="ideaTemplate"]').remove(),n.wrap('
'),$(),r.css("min-height",m.height()),document.dispatchEvent(l.events.loaded),l};e.fn.formBuilder=function(a){return this.each(function(){var l,s=this;if(e(s).data("formBuilder")){var o=e(s).parents(".form-builder:eq(0)"),n=e(s).clone();o.before(n),o.remove(),l=new t(a,n[0]),n.data("formBuilder",l)}else l=new t(a,s),e(s).data("formBuilder",l)})}}(jQuery),function(e){e.fn.toXML=function(t){var a={prepend:"",attributes:["class"]},l=e.extend(a,t),s="",o={};o.getType=function(t){var a=e(".fld-subtype",t).val()||t.attr("class").replace("-field form-field","");return a},o.hyphenCase=function(e){return e.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()})},o.attrString=function(e){var t=[];for(var a in e)if(e.hasOwnProperty(a)&&e[a]){var l=a+'="'+e[a]+'"';t.push(l)}return t.join(" ")};var n=function(t){var a=[];return e(".sortable-options li",t).each(function(){var t=e(this),l='value="'+e(".option-value",t).val()+'"',s=e(".option-label",t).val(),o=e(".option-selected",t).is(":checked")?' selected="true"':"";a.push("\n "+s+"")}),a.join("")};return this.each(function(){e(this).children().length>=1&&(s+="\n ",e(this).children().each(function(){var t=e(this),a=t.data("fieldData");if(!t.hasClass("moving")&&!t.hasClass("disabled"))for(var i=0;i",d&&(s+=n(t),s+="\n ")}}),s+="\n \n")}),s}}(jQuery),"function"!=typeof Object.assign&&!function(){var e=arguments;Object.assign=function(t){if(void 0===t||null===t)throw new TypeError("Cannot convert undefined or null to object");for(var a=Object(t),l=1;l=0;e--)this[e]&&this[e].parentElement&&this[e].parentElement.removeChild(this[e])}}(),"function"!=typeof Event&&!function(){Event=function(e){var t=document.createEvent("Event");return t.initEvent(e,!0,!0),t}}(); +"use strict";var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},formBuilderHelpers=function(e,t){var a={doCancel:!1};return t.events=formBuilderEvents(e,a),a.attrString=function(e){var t=[];for(var l in e)e.hasOwnProperty(l)&&(l=a.safeAttr(l,e[l]),t.push(l.name+l.value));return t.join(" ")},a.hyphenCase=function(e){return e=e.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()}),e.replace(/\s/g,"-").replace(/^-+/g,"")},a.safeAttrName=function(e){var t={className:"class"};return t[e]||a.hyphenCase(e)},a.safeAttr=function(e,t){return e=a.safeAttrName(e),t=window.JSON.stringify(t),t=t?"="+t:"",{name:e,value:t}},a.mobileClass=function(){var e="";return function(t){(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4)))&&(e=" fb-mobile")}(navigator.userAgent||navigator.vendor||window.opera),e},a.startMoving=function(e,t){e=e,t.item.show().addClass("moving"),a.startIndex=$("li",this).index(t.item)},a.stopMoving=function(e,t){e=e,t.item.removeClass("moving"),a.doCancel&&($(t.sender).sortable("cancel"),$(this).sortable("cancel")),a.save(),a.doCancel=!1},a.beforeStop=function(t,l){t=t;var s=document.getElementById(e.formID),o=s.children.length-1,n=[];a.stopIndex=l.placeholder.index()-1,l.item.parent().hasClass("frmb-control")&&n.push(!0),e.prepend&&n.push(0===a.stopIndex),e.append&&n.push(a.stopIndex+1===o),a.doCancel=n.some(function(e){return e===!0})},a.safename=function(e){return e.replace(/\s/g,"-").replace(/[^a-zA-Z0-9\-]/g,"").toLowerCase()},a.forceNumber=function(e){return e.replace(/[^0-9]/g,"")},a.initTooltip=function(e){var t=e.find(".tooltip");e.mouseenter(function(){t.outerWidth()>200&&t.addClass("max-width"),t.css("left",e.width()+14),t.stop(!0,!0).fadeIn("fast")}).mouseleave(function(){e.find(".tooltip").stop(!0,!0).fadeOut("fast")}),t.hide()},a.xmlSave=function(e){var a=$(e).toXML();return window.JSON.stringify(a)===window.JSON.stringify(t.formData)?!1:void(t.formData=a)},a.jsonSave=function(){e.notify.warning("json data not available yet")},a.save=function(){var l=a.getElement(),s=document.getElementById(e.formID),o={xml:a.xmlSave,json:a.jsonSave};o[e.dataType](s),l&&(l.value=t.formData,window.jQuery?$(l).trigger("change"):l.onchange())},a.getElement=function(){var l=!1;return t.element&&(l=t.element,l.id||a.makeId(l),l.onchange||(l.onchange=function(){e.notify.success(e.messages.formUpdated)})),l},a.makeId=function(){var e=arguments.length<=0||void 0===arguments[0]?!1:arguments[0],t=(new Date).getTime();return e.tagName+"-"+t},a.updatePreview=function(e){var t=e.data("fieldData")||{},l=e.attr("class");if(-1===l.indexOf("ui-sortable-handle")){var s,o=$(".prev-holder",e),n=$(".fld-subtype",e).val();l=l.replace("-field form-field",""),s=n?n:l;var i,r={type:s,label:$(".fld-label",e).val()},c=$(".fld-maxlength",e);c&&(r.maxlength=c.val()),r.className=$(".fld-className",e).val()||t.className||"";var d=$(".fld-placeholder",e).val();d&&(r.placeholder=d);var p=$(".btn-style",e).val();p&&(r.style=p),"checkbox"===l&&(r.toggle=$(".checkbox-toggle",e).is(":checked")),l.match(/(select|checkbox-group|radio-group)/)&&(r.values=[],r.multiple=$('[name="multiple"]',e).is(":checked"),$(".sortable-options li",e).each(function(){var e={};e.selected=$(".option-selected",this).is(":checked"),e.value=$(".option-value",this).val(),e.label=$(".option-label",this).val(),r.values.push(e)})),r.className=a.classNames(e,r),e.data("fieldData",r),i=a.fieldPreview(r),o.html(i),$("input[toggle]",o).kcToggle()}},a.fieldPreview=function(t){var l,s="",o=(new Date).getTime(),n=t.toggle?"toggle":"",i=a.attrString(t);switch(t.type){case"textarea":case"rich-text":s="";break;case"button":case"submit":s="";break;case"select":var r="",c=t.multiple?"multiple":"";for(t.values.reverse(),t.placeholder&&(r+=""),l=t.values.length-1;l>=0;l--){var d=t.values[l].selected&&!t.placeholder?"selected":"";r+='"}s="<"+t.type+' class="'+t.className+'" '+c+">"+r+"";break;case"checkbox-group":case"radio-group":var p=t.type.replace("-group",""),u=p+"-"+o;for(t.values.reverse(),l=t.values.length-1;l>=0;l--){var m=t.values[l].selected?"checked":"",f=p+"-"+o+"-"+l;s+='
"}break;case"text":case"password":case"email":case"date":case"file":s="";break;case"color":s=' '+e.messages.selectColor;break;case"hidden":case"checkbox":s='";break;case"autocomplete":s='';break;default:s="<"+t.type+">"}return s},a.updateMultipleSelect=function(){$(document.getElementById(e.formID)).on("change",'input[name="multiple"]',function(){var e=$(this).parents(".field-options:eq(0)").find(".sortable-options input.option-selected");this.checked?e.each(function(){$(this).prop("type","checkbox")}):e.each(function(){$(this).removeAttr("checked").prop("type","radio")})})},a.debounce=function(e){var t,a=arguments.length<=1||void 0===arguments[1]?250:arguments[1],l=arguments.length<=2||void 0===arguments[2]?!1:arguments[2];return function(){var s=this,o=arguments,n=function(){t=null,l||e.apply(s,o)},i=l&&!t;clearTimeout(t),t=setTimeout(n,a),i&&e.apply(s,o)}},a.htmlEncode=function(e){return $("
").text(e).html()},a.htmlDecode=function(e){return $("
").html(e).text()},a.validateForm=function(){var t=$(document.getElementById(e.formID)),a=[];$('input[name="label"], input[type="text"].option',t).each(function(){if(""===$(this).val()){var t=$(this).parents("li.form-field"),l=$(this);a.push({field:t,error:e.messages.labelEmpty,attribute:l})}}),a.length&&(alert("Error: "+a[0].error),$("html, body").animate({scrollTop:a[0].field.offset().top},1e3,function(){var e=$(".toggle-form",a[0].field).attr("id");$(".toggle-form",a[0].field).addClass("open").parent().next(".prev-holder").slideUp(250),$("#"+e+"-fld").slideDown(250,function(){a[0].attribute.addClass("error")})}))},a.disabledTT={className:"frmb-tt",add:function(t){var l=e.messages.fieldNonEditable;if(l){var s=a.markup("p",l,{className:a.disabledTT.className});t.append(s)}},remove:function(e){$(".frmb-tt",e).remove()}},a.classNames=function(e,t){var a=["checkbox","checkbox-group","radio-group","button"],l=t.type,s=t.style,o=[],n={button:"btn",submit:"btn"},i=e[0].querySelector(".fld-className").value,r=n[l];return i&&o.push(i),r?(o.push(r),s&&o.push(r+"-"+s)):-1===a.indexOf(l)&&o.push("form-control"),o.join(" ")},a.markup=function(e){var t=arguments.length<=1||void 0===arguments[1]?"":arguments[1],l=arguments.length<=2||void 0===arguments[2]?{}:arguments[2],s=void 0,o=document.createElement(e),n=function(e){return Array.isArray(e)?"array":"undefined"==typeof e?"undefined":_typeof(e)},i={string:function(e){o.innerHTML=e},object:function(e){return o.appendChild(e)},array:function(e){for(var t=0;t').insertAfter(t).append(t);o.toggleClass("on",t.is(":checked"));var n='
'+s.labels.on+"
",i='
'+s.labels.off+"
",r='
',c='
'+n+r+i+"
";o.append(c),o.click(function(){t.attr("checked",!t.attr("checked")),e(this).toggleClass("on")})};e.fn.kcToggle=function(a){var l=this;return l.each(function(){var l=e(this);if(!l.data("kcToggle")){var s=new t(l,a);l.data("kcToggle",s)}})}}(jQuery),function(e){var t=function(t,a){var l=this,s={dataType:"xml",disableFields:{},append:!1,prepend:!1,defaultFields:[],fieldRemoveWarn:!1,roles:{1:"Administrator"},serializePrefix:"frmb",messages:{addOption:"Add Option",allFieldsRemoved:"All fields were removed.",allowSelect:"Allow Select",autocomplete:"Autocomplete",button:"Button",cannotBeEmpty:"This field cannot be empty",checkboxGroup:"Checkbox Group",checkbox:"Checkbox",checkboxes:"Checkboxes",className:"Class",clearAllMessage:"Are you sure you want to remove all items?",clearAll:"Clear",close:"Close",copy:"Copy To Clipboard",dateField:"Date Field",description:"Help Text",descriptionField:"Description",devMode:"Developer Mode",editNames:"Edit Names",editorTitle:"Form Elements",editXML:"Edit XML",fieldDeleteWarning:!1,fieldVars:"Field Variables",fieldNonEditable:"This field cannot be edited.",fieldRemoveWarning:"Are you sure you want to remove this field?",fileUpload:"File Upload",formUpdated:"Form Updated",getStarted:"Drag a field from the right to this area",hide:"Edit",hidden:"Hidden Input",label:"Label",labelEmpty:"Field Label cannot be empty",limitRole:"Limit access to one or more of the following roles:",mandatory:"Mandatory",maxlength:"Max Length",minOptionMessage:"This field requires a minimum of 2 options",name:"Name",no:"No",off:"Off",on:"On",option:"Option",optional:"optional",optionLabelPlaceholder:"Label",optionValuePlaceholder:"Value",optionEmpty:"Option value required",paragraph:"Paragraph",placeholder:"Placeholder",placeholders:{value:"Value",label:"Label",text:"",textarea:"",email:"Enter you email",placeholder:"",className:"space separated classes",password:"Enter your password"},preview:"Preview",radioGroup:"Radio Group",radio:"Radio",removeMessage:"Remove Element",remove:"×",required:"Required",richText:"Rich Text Editor",roles:"Access",save:"Save",selectOptions:"Options",select:"Select",selectColor:"Select Color",selectionsMessage:"Allow Multiple Selections",size:"Size",sizes:{xs:"Extra Small",sm:"Small",m:"Default",lg:"Large"},style:"Style",styles:{btn:{"default":"Default",danger:"Danger",info:"Info",primary:"Primary",success:"Success",warning:"Warning"}},subtype:"Type",subtypes:{text:["text","password","email","color"],button:["button","submit"]},text:"Text Field",textArea:"Text Area",toggle:"Toggle",warning:"Warning!",viewXML:"</>",yes:"Yes"},notify:{error:function(e){return console.error(e)},success:function(e){return console.log(e)},warning:function(e){return console.warn(e)}}};s.messages.subtypes.password=s.messages.subtypes.text,s.messages.subtypes.email=s.messages.subtypes.text,s.messages.subtypes.color=s.messages.subtypes.text,s.messages.subtypes.submit=s.messages.subtypes.button;var o=e.extend(!0,s,t),n=e(a),i="frmb-"+e("ul[id^=frmb-]").length++;o.formID=i,l.element=a;for(var r=e("
",s='
'+n+" "+s+"
"}return s},W=function(e){var t=arguments.length<=1||void 0===arguments[1]?"":arguments[1],a=["text","textarea","select"],l=o.messages.placeholders,s=l[e]||"",n="",i=[];"placeholder"===e&&-1===a.indexOf(t)&&i.push(!0);var r=i.some(function(e){return e===!0});if(!r){var c="";n+='',n='
'+c+" "+n+"
"}return n},Y=function(t,a,l){var s=e(a).find('input[name="label"]').val(),n=s?s:t,i=c.markup("a",o.messages.remove,{id:"del_"+d,className:"del-button btn delete-confirm",title:o.messages.removeMessage}),p=c.markup("a",null,{id:"frm-"+d,className:"toggle-form btn icon-pencil",title:o.messages.hide}),u=c.markup("div",[p,i],{className:"field-actions"}).outerHTML,m=l.required,f=l.toggle||void 0,v=""!==l.description?'?':"",g=u;g+='"+v+' *",g+=c.markup("div","",{className:"prev-holder"}).outerHTML,g+='
',g+='
',g+='
',g+="";var h=c.markup("input",null,{className:"required",type:"checkbox",name:"required-"+d,id:"required-"+d,value:1});h.defaultChecked="true"===m,g+=h.outerHTML,g+=c.markup("label",o.messages.required,{className:"required-label","for":"required-"+d}).outerHTML,g+="
","checkbox"===l.type&&(g+='
',g+="",g+='",g+="
"),g+=a,g+=c.markup("a",o.messages.close,{className:"close-field"}).outerHTML,g+="
",g+="
";var b=c.markup("li",g,{"class":l.type+"-field form-field",id:"frm-"+d+"-item"}),y=e(b);y.data("fieldData",{attrs:l}),"undefined"!=typeof c.stopIndex?e("> li",r).eq(c.stopIndex).after(y):r.append(y),c.updatePreview(y),e(document.getElementById("frm-"+d+"-item")).hide().slideDown(250),d++},U=function(e,t,a,l){var s={selected:l?"checkbox":"radio"},n={selected:a,label:"",value:""},i=Object.assign(n,t),r=[];for(var d in i)if(i.hasOwnProperty(d)){var p={type:s[d]||"text","class":"option-"+d,placeholder:o.messages.placeholders[d],value:i[d],name:e},u=c.markup("input",null,p);"selected"===d&&(u.checked=i.selected),r.push(u)}var m={className:"remove btn",title:o.messages.removeMessage};r.push(c.markup("a",o.messages.remove,m));var f=c.markup("li",r);return f.outerHTML};r.on("click touchstart",".remove",function(t){var a=e(this).parents(".form-field:eq(0)");t.preventDefault();var l=e(this).parents(".sortable-options:eq(0)").children("li").length;2>=l?o.notify.error("Error: "+o.messages.minOptionMessage):e(this).parent("li").slideUp("250",function(){e(this).remove()}),O.call(a)}),r.on("touchstart","input",function(t){if(t.handled===!0)return!1;if("checkbox"===e(this).attr("type"))e(this).trigger("click");else{e(this).focus();var a=e(this).val();e(this).val(a)}}),r.on("click touchstart",".toggle-form",function(t){if(t.stopPropagation(),t.preventDefault(),t.handled===!0)return!1;var a=e(this).attr("id");c.toggleEdit(a+"-item"),t.handled=!0}),c.toggleEdit=function(t){var a=document.getElementById(t),l=e(".toggle-form",a),s=e(".frm-holder",a);l.toggleClass("open"),e(".prev-holder",a).slideToggle(250),s.slideToggle(250)},r.on("keyup change",'input[name="label"]',function(){e(".field-label",e(this).closest("li")).text(e(this).val())}),r.delegate("input.error","keyup",function(){e(this).removeClass("error")}),r.on("keyup",'input[name="description"]',function(){var t=e(this).parents(".form-field:eq(0)"),a=e(".tooltip-element",t),l=e(this).val();if(""!==l)if(a.length)a.attr("tooltip",l).css("display","inline-block");else{var s='?';e(".field-label",t).after(s)}else a.length&&a.css("display","none")}),c.updateMultipleSelect(),r.delegate('input[name="name"]',"keyup",function(){e(this).val(c.safename(e(this).val())),""===e(this).val()?e(this).addClass("field_error").attr("placeholder",o.messages.cannotBeEmpty):e(this).removeClass("field_error")}),r.delegate("input.fld-maxlength","keyup",function(){e(this).val(c.forceNumber(e(this).val()))}),r.on("click touchstart",".delete-confirm",function(t){t.preventDefault();var a=this.getBoundingClientRect(),l=document.body.getBoundingClientRect(),s={pageX:a.left+a.width/2,pageY:a.top-l.top-12},n=e(this).attr("id").replace(/del_/,""),i=e(document.getElementById("frm-"+n+"-item")),d=function(){i.slideUp(250,function(){i.removeClass("deleting"),i.remove(),c.save()})};if(document.addEventListener("modalClosed",function(){i.removeClass("deleting")},!1),o.fieldRemoveWarn){var p=c.markup("h3",o.messages.warning),u=c.markup("p",o.messages.fieldRemoveWarning);c.confirm([p,u],d,s),i.addClass("deleting")}else d(i);1===e("> li",r).length&&S.addClass("empty").attr("data-content",o.messages.getStarted)}),r.on("click",".style-wrap button",function(){var t=e(this).val(),a=e(this).parent(),l=a.prev(".btn-style");l.val(t),e(this).siblings(".btn").removeClass("active"),e(this).addClass("active"),O.call(a)}),r.on("click","input.required",function(){var t=e(this).parents("li.form-field").find(".required-asterisk");t.toggle()}),r.on("click",'input[name="enable_roles"]',function(){var t=e(this).siblings("div.available-roles"),a=e(this);t.slideToggle(250,function(){a.is(":checked")||e('input[type="checkbox"]',t).removeAttr("checked")})}),r.on("click",".add-opt",function(t){t.preventDefault();var a=e(this).parents(".field-options:eq(0)"),l=e('[name="multiple"]',a),s=e(".option-selected:eq(0)",a),o=!1;o=l.length?l.prop("checked"):"checkbox"===s.attr("type");var n=s.attr("name");e(".sortable-options",a).append(U(n,!1,!1,o)),c.updateMultipleSelect()}),r.on("click touchstart",".close-field",function(){var t=e(this).parents("li.form-field:eq(0)").attr("id");c.toggleEdit(t)}),r.on("mouseover mouseout",".remove, .del-button",function(){e(this).parents("li:eq(0)").toggleClass("delete")});var G=e(document.getElementById(i+"-view-data"));G.click(function(e){e.preventDefault();var t=c.htmlEncode(n.val()),a=c.markup("code",t,{className:"xml"}),l=c.markup("pre",a);c.dialog(l,null,"data-dialog")});var V=e(document.getElementById(i+"-clear-all"));V.click(function(){var t=e("li.form-field"),a=this.getBoundingClientRect(),l=document.body.getBoundingClientRect(),s={pageX:a.left+a.width/2,pageY:a.top-l.top-12};t.length?c.confirm("Are you sure you want to clear all fields?",function(){c.removeAllfields(),o.notify.success(o.messages.allFieldsRemoved),c.save()},s):c.dialog("There are no fields to clear",{pageX:s.pageX,pageY:s.pageY})}),e(document.getElementById(i+"-save")).click(function(e){e.preventDefault(),c.save(),c.validateForm(e)});var J=!1,Q=[],Z="68,69,86";return e(".fb-save").mouseover(function(){J=!0}).mouseout(function(){J=!1}),e(document.documentElement).keydown(function(t){Q.push(t.keyCode),Q.toString().indexOf(Z)>=0&&(e(".action-links").toggle(),e(".view-data").toggle(),Q=[])}),e(".dev-mode-link").click(function(t){t.preventDefault();var a=e(this);S.toggleClass("dev-mode"),a.parent().css("opacity",1),S.hasClass("dev-mode")?(a.siblings(".action-links-inner").css("width","100%"),a.html(o.messages.devMode+" "+o.messages.on).css("color","#8CC63F")):(a.siblings(".action-links-inner").css("width",0), +a.html(o.messages.devMode+" "+o.messages.off).css("color","#666666"),J=!1,e(".action-links").toggle(),e(".view-data").toggle())}),e(document.getElementById(i+"-edit-names")).click(function(t){t.preventDefault(),e(this).toggleClass("active"),e(".name-wrap",r).slideToggle(250,function(){S.toggleClass("edit-names")})}),e(document.getElementById(i+"-allow-select")).click(function(t){t.preventDefault(),e(this).toggleClass("active"),e(".allow-multi, .option-selected",r).slideToggle(250,function(){S.toggleClass("allow-select")})}),e(document.getElementById(i+"-edit-xml")).click(function(t){t.preventDefault(),e(this).toggleClass("active"),e("textarea.idea-template").show(),e(".template-textarea-wrap").slideToggle(250),S.toggleClass("edit-xml")}),n.parent().find('p[id*="ideaTemplate"]').remove(),n.wrap('
'),$(),r.css("min-height",m.height()),document.dispatchEvent(l.events.loaded),l};e.fn.formBuilder=function(a){return this.each(function(){var l,s=this;if(e(s).data("formBuilder")){var o=e(s).parents(".form-builder:eq(0)"),n=e(s).clone();o.before(n),o.remove(),l=new t(a,n[0]),n.data("formBuilder",l)}else l=new t(a,s),e(s).data("formBuilder",l)})}}(jQuery),function(e){e.fn.toXML=function(t){var a={prepend:"",attributes:["class"]},l=e.extend(a,t),s="",o={};o.getType=function(t){var a=e(".fld-subtype",t).val()||t.attr("class").replace("-field form-field","");return a},o.hyphenCase=function(e){return e.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()})},o.attrString=function(e){var t=[];for(var a in e)if(e.hasOwnProperty(a)&&e[a]){var l=a+'="'+e[a]+'"';t.push(l)}return t.join(" ")};var n=function(t){var a=[];return e(".sortable-options li",t).each(function(){var t=e(this),l='value="'+e(".option-value",t).val()+'"',s=e(".option-label",t).val(),o=e(".option-selected",t).is(":checked")?' selected="true"':"";a.push("\n "+s+"")}),a.join("")};return this.each(function(){e(this).children().length>=1&&(s+="\n ",e(this).children().each(function(){var t=e(this),a=t.data("fieldData");if(!t.hasClass("moving")&&!t.hasClass("disabled"))for(var i=0;i",d&&(s+=n(t),s+="\n ")}}),s+="\n \n")}),s}}(jQuery),"function"!=typeof Object.assign&&!function(){var e=arguments;Object.assign=function(t){if(void 0===t||null===t)throw new TypeError("Cannot convert undefined or null to object");for(var a=Object(t),l=1;l').insertAfter(element).append(element);\n\n $kcToggle.toggleClass('on', element.is(':checked'));\n\n var kctOn = '
' + opts.labels.on + '
',\n kctOff = '
' + opts.labels.off + '
',\n kctHandle = '
',\n kctInner = '
' + kctOn + kctHandle + kctOff + '
';\n\n $kcToggle.append(kctInner);\n\n $kcToggle.click(function () {\n element.attr('checked', !element.attr('checked'));\n $(this).toggleClass('on');\n });\n };\n\n $.fn.kcToggle = function (options) {\n var toggle = this;\n return toggle.each(function () {\n var element = $(this);\n if (element.data('kcToggle')) {\n return;\n }\n var kcToggle = new Toggle(element, options);\n element.data('kcToggle', kcToggle);\n });\n };\n})(jQuery);\n'use strict';\n\n// render the formBuilder XML into html\nvar FormRender = function FormRender(options, element) {\n 'use strict';\n\n var formRender = this,\n defaults = {\n destroyTemplate: true, // @todo\n container: false,\n dataType: 'xml',\n formData: false,\n label: {\n selectColor: 'Select Color',\n noFormData: 'No form data.',\n formRendered: 'Form Rendered'\n },\n render: true,\n notify: {\n error: function error(message) {\n return console.error(message);\n },\n success: function success(message) {\n return console.log(message);\n },\n warning: function warning(message) {\n return console.warn(message);\n }\n }\n },\n _helpers = {};\n\n var opts = $.extend(defaults, options);\n\n /**\n * Require the html element if it has been lost\n *\n * @return {object} javascript object for html element\n */\n _helpers.getElement = function () {\n if (!element.id) {\n element.id = _helpers.makeId(element);\n }\n\n return document.getElementById(element.id);\n };\n\n /**\n * Make an ID for this element using current date and tag\n *\n * @param {Boolean} element\n * @return {String} new id for element\n */\n _helpers.makeId = function (element) {\n var epoch = new Date().getTime();\n\n return element.tagName + '-' + epoch;\n };\n\n if (!opts.formData && element) {\n element = _helpers.getElement();\n opts.formData = element.value;\n }\n\n /**\n * Generate markup wrapper where needed\n *\n * @param {string} type\n * @param {object} attrs\n * @param {string} content we wrap this\n * @return {string}\n */\n _helpers.markup = function (type) {\n var attrs = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n var content = arguments.length <= 2 || arguments[2] === undefined ? '' : arguments[2];\n\n attrs = _helpers.attrString(attrs);\n content = Array.isArray(content) ? content.join('') : content;\n var inlineElems = ['input'],\n template = inlineElems.indexOf(type) === -1 ? '<' + type + ' ' + attrs + '>' + content + '' : '<' + type + ' ' + attrs + '/>';\n return template;\n };\n\n /**\n * Generate preview markup\n * @param {object} field\n * @return {string} preview markup for field\n * @todo\n */\n _helpers.fieldRender = function (field) {\n var fieldMarkup = '',\n fieldLabel = '',\n optionsMarkup = '';\n var fieldAttrs = _helpers.parseAttrs(field.attributes),\n fieldDesc = fieldAttrs.description || '',\n fieldRequired = '',\n fieldOptions = $('option', field);\n fieldAttrs.id = fieldAttrs.name;\n\n if (fieldAttrs.required) {\n fieldAttrs.required = null;\n fieldAttrs['aria-required'] = 'true';\n fieldRequired = '*';\n }\n\n if (fieldAttrs.type !== 'hidden') {\n if (fieldDesc) {\n fieldDesc = '?';\n }\n var fieldLabelText = fieldAttrs.label || '';\n fieldLabel = '';\n }\n\n var fieldLabelVal = fieldAttrs.label;\n\n delete fieldAttrs.label;\n delete fieldAttrs.description;\n\n var fieldAttrsString = _helpers.attrString(fieldAttrs);\n\n switch (fieldAttrs.type) {\n case 'textarea':\n case 'rich-text':\n delete fieldAttrs.type;\n delete fieldAttrs.value;\n fieldMarkup = fieldLabel + '';\n break;\n case 'select':\n fieldAttrs.type = fieldAttrs.type.replace('-group', '');\n\n if (fieldOptions.length) {\n fieldOptions.each(function (index, el) {\n index = index;\n var optionAttrs = _helpers.parseAttrs(el.attributes),\n optionAttrsString = _helpers.attrString(optionAttrs),\n optionText = el.innerHTML || el.innerContent || el.innerText || el.childNodes[0].nodeValue || el.value;\n optionsMarkup += '';\n });\n }\n fieldMarkup = fieldLabel + '';\n break;\n case 'checkbox-group':\n case 'radio-group':\n fieldAttrs.type = fieldAttrs.type.replace('-group', '');\n\n delete fieldAttrs.className;\n\n if (fieldOptions.length) {\n (function () {\n var optionName = fieldAttrs.type === 'checkbox' ? fieldAttrs.name + '[]' : fieldAttrs.name;\n fieldOptions.each(function (index, el) {\n var optionAttrs = $.extend({}, fieldAttrs, _helpers.parseAttrs(el.attributes)),\n optionAttrsString = void 0,\n optionText = void 0;\n\n if (optionAttrs.selected) {\n delete optionAttrs.selected;\n optionAttrs.checked = null;\n }\n\n optionAttrs.name = optionName;\n optionAttrs.id = fieldAttrs.id + '-' + index;\n optionAttrsString = _helpers.attrString(optionAttrs);\n optionText = el.innerHTML || el.innerContent || el.innerText || el.value || '';\n\n optionsMarkup += '
';\n });\n })();\n }\n fieldMarkup = fieldLabel + '
' + optionsMarkup + '
';\n break;\n case 'text':\n case 'password':\n case 'email':\n case 'file':\n case 'hidden':\n case 'date':\n case 'autocomplete':\n fieldMarkup = fieldLabel + ' ';\n break;\n case 'color':\n fieldMarkup = fieldLabel + ' ' + opts.label.selectColor;\n break;\n case 'button':\n case 'submit':\n fieldMarkup = '';\n break;\n case 'checkbox':\n fieldMarkup = ' ' + fieldLabel;\n\n if (fieldAttrs.toggle) {\n setTimeout(function () {\n $(document.getElementById(fieldAttrs.id)).kcToggle();\n }, 100);\n }\n break;\n default:\n fieldMarkup = '<' + fieldAttrs.type + '>';\n }\n\n if (fieldAttrs.type !== 'hidden') {\n fieldMarkup = _helpers.markup('div', {\n className: 'form-group field-' + fieldAttrs.id\n }, fieldMarkup);\n }\n\n return fieldMarkup;\n };\n\n _helpers.attrString = function (attrs) {\n var attributes = [];\n\n for (var attr in attrs) {\n if (attrs.hasOwnProperty(attr)) {\n attr = _helpers.safeAttr(attr, attrs[attr]);\n attributes.push(attr.name + attr.value);\n }\n }\n return attributes.join(' ');\n };\n\n _helpers.safeAttr = function (name, value) {\n var safeAttr = {\n className: 'class'\n };\n\n name = safeAttr[name] || name;\n value = value ? window.JSON.stringify(value) : false;\n value = value ? '=' + value : '';\n\n return {\n name: name,\n value: value\n };\n };\n\n _helpers.parseAttrs = function (attrNodes) {\n var fieldAttrs = {};\n for (var attr in attrNodes) {\n if (attrNodes.hasOwnProperty(attr)) {\n fieldAttrs[attrNodes[attr].nodeName] = attrNodes[attr].nodeValue;\n }\n }\n return fieldAttrs;\n };\n\n // Begin the core plugin\n var rendered = [];\n\n var formData = $.parseXML(opts.formData),\n fields = $('field', formData);\n // @todo - form configuration settings (control position, creatorId, theme etc)\n // settings = $('settings', formData);\n\n if (!formData) {\n opts.notify.error(opts.label.noFormData);\n return false;\n } else {\n opts.notify.success(opts.label.formRendered);\n }\n\n // generate field markup if we have fields\n if (fields.length) {\n fields.each(function (index, field) {\n index = index;\n rendered.push(_helpers.fieldRender(field));\n });\n }\n\n var output = rendered.join('');\n\n if (opts.render) {\n if (opts.container && opts.container.length) {\n opts.container.html(output);\n } else if (element) {\n element.replaceWith(output);\n }\n } else {\n formRender.markup = output;\n }\n\n return formRender;\n};\n\n(function ($) {\n 'use strict';\n\n $.fn.formRender = function (options) {\n this.each(function () {\n var formRender = new FormRender(options, this);\n return formRender;\n });\n };\n})(jQuery);","(function($) {\n 'use strict';\n\n var Toggle = function(element, options) {\n\n var defaults = {\n theme: 'fresh',\n labels: {\n off: 'Off',\n on: 'On'\n }\n };\n\n var opts = $.extend(defaults, options),\n $kcToggle = $('
').insertAfter(element).append(element);\n\n $kcToggle.toggleClass('on', element.is(':checked'));\n\n var kctOn = `
${opts.labels.on}
`,\n kctOff = `
${opts.labels.off}
`,\n kctHandle = `
`,\n kctInner = `
${kctOn}${kctHandle}${kctOff}
`;\n\n $kcToggle.append(kctInner);\n\n $kcToggle.click(function() {\n element.attr('checked', !element.attr('checked'));\n $(this).toggleClass('on');\n });\n\n };\n\n $.fn.kcToggle = function(options) {\n var toggle = this;\n return toggle.each(function() {\n var element = $(this);\n if (element.data('kcToggle')) {\n return;\n }\n var kcToggle = new Toggle(element, options);\n element.data('kcToggle', kcToggle);\n });\n };\n\n})(jQuery);\n","// render the formBuilder XML into html\nvar FormRender = function(options, element) {\n 'use strict';\n\n var formRender = this,\n defaults = {\n destroyTemplate: true, // @todo\n container: false,\n dataType: 'xml',\n formData: false,\n label: {\n selectColor: 'Select Color',\n noFormData: 'No form data.',\n formRendered: 'Form Rendered'\n },\n render: true,\n notify: {\n error: function(message) {\n return console.error(message);\n },\n success: function(message) {\n return console.log(message);\n },\n warning: function(message) {\n return console.warn(message);\n }\n }\n },\n _helpers = {};\n\n var opts = $.extend(defaults, options);\n\n\n /**\n * Require the html element if it has been lost\n *\n * @return {object} javascript object for html element\n */\n _helpers.getElement = function() {\n if (!element.id) {\n element.id = _helpers.makeId(element);\n }\n\n return document.getElementById(element.id);\n };\n\n /**\n * Make an ID for this element using current date and tag\n *\n * @param {Boolean} element\n * @return {String} new id for element\n */\n _helpers.makeId = function(element) {\n let epoch = new Date().getTime();\n\n return `${element.tagName}-${epoch}`;\n };\n\n if (!opts.formData && element) {\n element = _helpers.getElement();\n opts.formData = element.value;\n }\n\n /**\n * Generate markup wrapper where needed\n *\n * @param {string} type\n * @param {object} attrs\n * @param {string} content we wrap this\n * @return {string}\n */\n _helpers.markup = function(type, attrs = {}, content = '') {\n attrs = _helpers.attrString(attrs);\n content = Array.isArray(content) ? content.join('') : content;\n let inlineElems = ['input'],\n template = inlineElems.indexOf(type) === -1 ? `<${type} ${attrs}>${content}` : `<${type} ${attrs}/>`;\n return template;\n };\n\n /**\n * Generate preview markup\n * @param {object} field\n * @return {string} preview markup for field\n * @todo\n */\n _helpers.fieldRender = function(field) {\n var fieldMarkup = '',\n fieldLabel = '',\n optionsMarkup = '';\n var fieldAttrs = _helpers.parseAttrs(field.attributes),\n fieldDesc = fieldAttrs.description || '',\n fieldRequired = '',\n fieldOptions = $('option', field);\n fieldAttrs.id = fieldAttrs.name;\n\n if (fieldAttrs.required) {\n fieldAttrs.required = null;\n fieldAttrs['aria-required'] = 'true';\n fieldRequired = `*`;\n }\n\n if (fieldAttrs.type !== 'hidden') {\n if (fieldDesc) {\n fieldDesc = `?`;\n }\n let fieldLabelText = fieldAttrs.label || '';\n fieldLabel = ``;\n }\n\n var fieldLabelVal = fieldAttrs.label;\n\n delete fieldAttrs.label;\n delete fieldAttrs.description;\n\n var fieldAttrsString = _helpers.attrString(fieldAttrs);\n\n switch (fieldAttrs.type) {\n case 'textarea':\n case 'rich-text':\n delete fieldAttrs.type;\n delete fieldAttrs.value;\n fieldMarkup = `${fieldLabel}`;\n break;\n case 'select':\n fieldAttrs.type = fieldAttrs.type.replace('-group', '');\n\n if (fieldOptions.length) {\n fieldOptions.each(function(index, el) {\n index = index;\n let optionAttrs = _helpers.parseAttrs(el.attributes),\n optionAttrsString = _helpers.attrString(optionAttrs),\n optionText = el.innerHTML || el.innerContent || el.innerText || el.childNodes[0].nodeValue || el.value;\n optionsMarkup += ``;\n });\n }\n fieldMarkup = `${fieldLabel}`;\n break;\n case 'checkbox-group':\n case 'radio-group':\n fieldAttrs.type = fieldAttrs.type.replace('-group', '');\n\n delete fieldAttrs.className;\n\n if (fieldOptions.length) {\n let optionName = fieldAttrs.type === 'checkbox' ? fieldAttrs.name + '[]' : fieldAttrs.name;\n fieldOptions.each(function(index, el) {\n let optionAttrs = $.extend({}, fieldAttrs, _helpers.parseAttrs(el.attributes)),\n optionAttrsString,\n optionText;\n\n if (optionAttrs.selected) {\n delete optionAttrs.selected;\n optionAttrs.checked = null;\n }\n\n optionAttrs.name = optionName;\n optionAttrs.id = fieldAttrs.id + '-' + index;\n optionAttrsString = _helpers.attrString(optionAttrs);\n optionText = el.innerHTML || el.innerContent || el.innerText || el.value || '';\n\n optionsMarkup += `
`;\n });\n }\n fieldMarkup = `${fieldLabel}
${optionsMarkup}
`;\n break;\n case 'text':\n case 'password':\n case 'email':\n case 'file':\n case 'hidden':\n case 'date':\n case 'autocomplete':\n fieldMarkup = `${fieldLabel} `;\n break;\n case 'color':\n fieldMarkup = `${fieldLabel} ${opts.label.selectColor}`;\n break;\n case 'button':\n case 'submit':\n fieldMarkup = ``;\n break;\n case 'checkbox':\n fieldMarkup = ` ${fieldLabel}`;\n\n if (fieldAttrs.toggle) {\n setTimeout(function() {\n $(document.getElementById(fieldAttrs.id)).kcToggle();\n }, 100);\n }\n break;\n default:\n fieldMarkup = `<${fieldAttrs.type}>`;\n }\n\n if (fieldAttrs.type !== 'hidden') {\n fieldMarkup = _helpers.markup('div', {\n className: 'form-group field-' + fieldAttrs.id\n }, fieldMarkup);\n }\n\n return fieldMarkup;\n };\n\n _helpers.attrString = function(attrs) {\n let attributes = [];\n\n for (var attr in attrs) {\n if (attrs.hasOwnProperty(attr)) {\n attr = _helpers.safeAttr(attr, attrs[attr]);\n attributes.push(attr.name + attr.value);\n }\n }\n return attributes.join(' ');\n };\n\n _helpers.safeAttr = function(name, value) {\n let safeAttr = {\n className: 'class'\n };\n\n name = safeAttr[name] || name;\n value = value ? window.JSON.stringify(value) : false;\n value = value ? `=${value}` : '';\n\n return {\n name,\n value\n };\n };\n\n _helpers.parseAttrs = function(attrNodes) {\n var fieldAttrs = {};\n for (var attr in attrNodes) {\n if (attrNodes.hasOwnProperty(attr)) {\n fieldAttrs[attrNodes[attr].nodeName] = attrNodes[attr].nodeValue;\n }\n }\n return fieldAttrs;\n };\n\n // Begin the core plugin\n var rendered = [];\n\n var formData = $.parseXML(opts.formData),\n fields = $('field', formData);\n // @todo - form configuration settings (control position, creatorId, theme etc)\n // settings = $('settings', formData);\n\n if (!formData) {\n opts.notify.error(opts.label.noFormData);\n return false;\n } else {\n opts.notify.success(opts.label.formRendered);\n }\n\n // generate field markup if we have fields\n if (fields.length) {\n fields.each(function(index, field) {\n index = index;\n rendered.push(_helpers.fieldRender(field));\n });\n }\n\n var output = rendered.join('');\n\n if (opts.render) {\n if (opts.container && opts.container.length) {\n opts.container.html(output);\n } else if (element) {\n element.replaceWith(output);\n }\n } else {\n formRender.markup = output;\n }\n\n return formRender;\n\n};\n\n(function($) {\n 'use strict';\n\n $.fn.formRender = function(options) {\n this.each(function() {\n let formRender = new FormRender(options, this);\n return formRender;\n });\n };\n\n})(jQuery);\n"],"sourceRoot":"/source/"} \ No newline at end of file +{"version":3,"sources":["form-render.min.js","kc-toggle.js","form-render.js"],"names":["$","Toggle","element","options","defaults","theme","labels","off","on","opts","extend","$kcToggle","insertAfter","append","toggleClass","is","kctOn","kctOff","kctHandle","kctInner","click","attr","this","fn","kcToggle","toggle","each","data","jQuery","FormRender","formRender","destroyTemplate","container","dataType","formData","label","selectColor","noFormData","formRendered","render","notify","error","message","console","success","log","warning","warn","_helpers","getElement","id","makeId","document","getElementById","epoch","Date","getTime","tagName","value","markup","type","attrs","arguments","length","undefined","content","attrString","Array","isArray","join","inlineElems","template","indexOf","fieldRender","field","fieldMarkup","fieldLabel","optionsMarkup","fieldAttrs","parseAttrs","attributes","fieldDesc","description","fieldRequired","fieldOptions","name","required","fieldLabelText","fieldLabelVal","fieldAttrsString","replace","index","el","optionAttrs","optionAttrsString","optionText","innerHTML","innerContent","innerText","childNodes","nodeValue","className","optionName","selected","checked","setTimeout","hasOwnProperty","safeAttr","push","window","JSON","stringify","attrNodes","nodeName","rendered","parseXML","fields","output","html","replaceWith"],"mappings":"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","file":"form-render.min.js","sourcesContent":["'use strict';\n\n(function ($) {\n 'use strict';\n\n var Toggle = function Toggle(element, options) {\n\n var defaults = {\n theme: 'fresh',\n labels: {\n off: 'Off',\n on: 'On'\n }\n };\n\n var opts = $.extend(defaults, options),\n $kcToggle = $('
').insertAfter(element).append(element);\n\n $kcToggle.toggleClass('on', element.is(':checked'));\n\n var kctOn = '
' + opts.labels.on + '
',\n kctOff = '
' + opts.labels.off + '
',\n kctHandle = '
',\n kctInner = '
' + kctOn + kctHandle + kctOff + '
';\n\n $kcToggle.append(kctInner);\n\n $kcToggle.click(function () {\n element.attr('checked', !element.attr('checked'));\n $(this).toggleClass('on');\n });\n };\n\n $.fn.kcToggle = function (options) {\n var toggle = this;\n return toggle.each(function () {\n var element = $(this);\n if (element.data('kcToggle')) {\n return;\n }\n var kcToggle = new Toggle(element, options);\n element.data('kcToggle', kcToggle);\n });\n };\n})(jQuery);\n'use strict';\n\n// render the formBuilder XML into html\nvar FormRender = function FormRender(options, element) {\n 'use strict';\n\n var formRender = this,\n defaults = {\n destroyTemplate: true, // @todo\n container: false,\n dataType: 'xml',\n formData: false,\n label: {\n selectColor: 'Select Color',\n noFormData: 'No form data.',\n formRendered: 'Form Rendered'\n },\n render: true,\n notify: {\n error: function error(message) {\n return console.error(message);\n },\n success: function success(message) {\n return console.log(message);\n },\n warning: function warning(message) {\n return console.warn(message);\n }\n }\n },\n _helpers = {};\n\n var opts = $.extend(defaults, options);\n\n /**\r\n * Require the html element if it has been lost\r\n *\r\n * @return {object} javascript object for html element\r\n */\n _helpers.getElement = function () {\n if (!element.id) {\n element.id = _helpers.makeId(element);\n }\n\n return document.getElementById(element.id);\n };\n\n /**\r\n * Make an ID for this element using current date and tag\r\n *\r\n * @param {Boolean} element\r\n * @return {String} new id for element\r\n */\n _helpers.makeId = function (element) {\n var epoch = new Date().getTime();\n\n return element.tagName + '-' + epoch;\n };\n\n if (!opts.formData && element) {\n element = _helpers.getElement();\n opts.formData = element.value;\n }\n\n /**\r\n * Generate markup wrapper where needed\r\n *\r\n * @param {string} type\r\n * @param {object} attrs\r\n * @param {string} content we wrap this\r\n * @return {string}\r\n */\n _helpers.markup = function (type) {\n var attrs = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n var content = arguments.length <= 2 || arguments[2] === undefined ? '' : arguments[2];\n\n attrs = _helpers.attrString(attrs);\n content = Array.isArray(content) ? content.join('') : content;\n var inlineElems = ['input'],\n template = inlineElems.indexOf(type) === -1 ? '<' + type + ' ' + attrs + '>' + content + '' : '<' + type + ' ' + attrs + '/>';\n return template;\n };\n\n /**\r\n * Generate preview markup\r\n * @param {object} field\r\n * @return {string} preview markup for field\r\n * @todo\r\n */\n _helpers.fieldRender = function (field) {\n var fieldMarkup = '',\n fieldLabel = '',\n optionsMarkup = '';\n var fieldAttrs = _helpers.parseAttrs(field.attributes),\n fieldDesc = fieldAttrs.description || '',\n fieldRequired = '',\n fieldOptions = $('option', field);\n fieldAttrs.id = fieldAttrs.name;\n\n if (fieldAttrs.required) {\n fieldAttrs.required = null;\n fieldAttrs['aria-required'] = 'true';\n fieldRequired = '*';\n }\n\n if (fieldAttrs.type !== 'hidden') {\n if (fieldDesc) {\n fieldDesc = '?';\n }\n var fieldLabelText = fieldAttrs.label || '';\n fieldLabel = '';\n }\n\n var fieldLabelVal = fieldAttrs.label;\n\n delete fieldAttrs.label;\n delete fieldAttrs.description;\n\n var fieldAttrsString = _helpers.attrString(fieldAttrs);\n\n switch (fieldAttrs.type) {\n case 'textarea':\n case 'rich-text':\n delete fieldAttrs.type;\n delete fieldAttrs.value;\n fieldMarkup = fieldLabel + '';\n break;\n case 'select':\n fieldAttrs.type = fieldAttrs.type.replace('-group', '');\n\n if (fieldOptions.length) {\n fieldOptions.each(function (index, el) {\n index = index;\n var optionAttrs = _helpers.parseAttrs(el.attributes),\n optionAttrsString = _helpers.attrString(optionAttrs),\n optionText = el.innerHTML || el.innerContent || el.innerText || el.childNodes[0].nodeValue || el.value;\n optionsMarkup += '';\n });\n }\n fieldMarkup = fieldLabel + '';\n break;\n case 'checkbox-group':\n case 'radio-group':\n fieldAttrs.type = fieldAttrs.type.replace('-group', '');\n\n delete fieldAttrs.className;\n\n if (fieldOptions.length) {\n (function () {\n var optionName = fieldAttrs.type === 'checkbox' ? fieldAttrs.name + '[]' : fieldAttrs.name;\n fieldOptions.each(function (index, el) {\n var optionAttrs = $.extend({}, fieldAttrs, _helpers.parseAttrs(el.attributes)),\n optionAttrsString = void 0,\n optionText = void 0;\n\n if (optionAttrs.selected) {\n delete optionAttrs.selected;\n optionAttrs.checked = null;\n }\n\n optionAttrs.name = optionName;\n optionAttrs.id = fieldAttrs.id + '-' + index;\n optionAttrsString = _helpers.attrString(optionAttrs);\n optionText = el.innerHTML || el.innerContent || el.innerText || el.value || '';\n\n optionsMarkup += '
';\n });\n })();\n }\n fieldMarkup = fieldLabel + '
' + optionsMarkup + '
';\n break;\n case 'text':\n case 'password':\n case 'email':\n case 'file':\n case 'hidden':\n case 'date':\n case 'autocomplete':\n fieldMarkup = fieldLabel + ' ';\n break;\n case 'color':\n fieldMarkup = fieldLabel + ' ' + opts.label.selectColor;\n break;\n case 'button':\n case 'submit':\n fieldMarkup = '';\n break;\n case 'checkbox':\n fieldMarkup = ' ' + fieldLabel;\n\n if (fieldAttrs.toggle) {\n setTimeout(function () {\n $(document.getElementById(fieldAttrs.id)).kcToggle();\n }, 100);\n }\n break;\n default:\n fieldMarkup = '<' + fieldAttrs.type + '>';\n }\n\n if (fieldAttrs.type !== 'hidden') {\n fieldMarkup = _helpers.markup('div', {\n className: 'form-group field-' + fieldAttrs.id\n }, fieldMarkup);\n }\n\n return fieldMarkup;\n };\n\n _helpers.attrString = function (attrs) {\n var attributes = [];\n\n for (var attr in attrs) {\n if (attrs.hasOwnProperty(attr)) {\n attr = _helpers.safeAttr(attr, attrs[attr]);\n attributes.push(attr.name + attr.value);\n }\n }\n return attributes.join(' ');\n };\n\n _helpers.safeAttr = function (name, value) {\n var safeAttr = {\n className: 'class'\n };\n\n name = safeAttr[name] || name;\n value = value ? window.JSON.stringify(value) : false;\n value = value ? '=' + value : '';\n\n return {\n name: name,\n value: value\n };\n };\n\n _helpers.parseAttrs = function (attrNodes) {\n var fieldAttrs = {};\n for (var attr in attrNodes) {\n if (attrNodes.hasOwnProperty(attr)) {\n fieldAttrs[attrNodes[attr].nodeName] = attrNodes[attr].nodeValue;\n }\n }\n return fieldAttrs;\n };\n\n // Begin the core plugin\n var rendered = [];\n\n var formData = $.parseXML(opts.formData),\n fields = $('field', formData);\n // @todo - form configuration settings (control position, creatorId, theme etc)\n // settings = $('settings', formData);\n\n if (!formData) {\n opts.notify.error(opts.label.noFormData);\n return false;\n } else {\n opts.notify.success(opts.label.formRendered);\n }\n\n // generate field markup if we have fields\n if (fields.length) {\n fields.each(function (index, field) {\n index = index;\n rendered.push(_helpers.fieldRender(field));\n });\n }\n\n var output = rendered.join('');\n\n if (opts.render) {\n if (opts.container && opts.container.length) {\n opts.container.html(output);\n } else if (element) {\n element.replaceWith(output);\n }\n } else {\n formRender.markup = output;\n }\n\n return formRender;\n};\n\n(function ($) {\n 'use strict';\n\n $.fn.formRender = function (options) {\n this.each(function () {\n var formRender = new FormRender(options, this);\n return formRender;\n });\n };\n})(jQuery);","(function($) {\r\n 'use strict';\r\n\r\n var Toggle = function(element, options) {\r\n\r\n var defaults = {\r\n theme: 'fresh',\r\n labels: {\r\n off: 'Off',\r\n on: 'On'\r\n }\r\n };\r\n\r\n var opts = $.extend(defaults, options),\r\n $kcToggle = $('
').insertAfter(element).append(element);\r\n\r\n $kcToggle.toggleClass('on', element.is(':checked'));\r\n\r\n var kctOn = `
${opts.labels.on}
`,\r\n kctOff = `
${opts.labels.off}
`,\r\n kctHandle = `
`,\r\n kctInner = `
${kctOn}${kctHandle}${kctOff}
`;\r\n\r\n $kcToggle.append(kctInner);\r\n\r\n $kcToggle.click(function() {\r\n element.attr('checked', !element.attr('checked'));\r\n $(this).toggleClass('on');\r\n });\r\n\r\n };\r\n\r\n $.fn.kcToggle = function(options) {\r\n var toggle = this;\r\n return toggle.each(function() {\r\n var element = $(this);\r\n if (element.data('kcToggle')) {\r\n return;\r\n }\r\n var kcToggle = new Toggle(element, options);\r\n element.data('kcToggle', kcToggle);\r\n });\r\n };\r\n\r\n})(jQuery);\r\n","// render the formBuilder XML into html\r\nvar FormRender = function(options, element) {\r\n 'use strict';\r\n\r\n var formRender = this,\r\n defaults = {\r\n destroyTemplate: true, // @todo\r\n container: false,\r\n dataType: 'xml',\r\n formData: false,\r\n label: {\r\n selectColor: 'Select Color',\r\n noFormData: 'No form data.',\r\n formRendered: 'Form Rendered'\r\n },\r\n render: true,\r\n notify: {\r\n error: function(message) {\r\n return console.error(message);\r\n },\r\n success: function(message) {\r\n return console.log(message);\r\n },\r\n warning: function(message) {\r\n return console.warn(message);\r\n }\r\n }\r\n },\r\n _helpers = {};\r\n\r\n var opts = $.extend(defaults, options);\r\n\r\n\r\n /**\r\n * Require the html element if it has been lost\r\n *\r\n * @return {object} javascript object for html element\r\n */\r\n _helpers.getElement = function() {\r\n if (!element.id) {\r\n element.id = _helpers.makeId(element);\r\n }\r\n\r\n return document.getElementById(element.id);\r\n };\r\n\r\n /**\r\n * Make an ID for this element using current date and tag\r\n *\r\n * @param {Boolean} element\r\n * @return {String} new id for element\r\n */\r\n _helpers.makeId = function(element) {\r\n let epoch = new Date().getTime();\r\n\r\n return `${element.tagName}-${epoch}`;\r\n };\r\n\r\n if (!opts.formData && element) {\r\n element = _helpers.getElement();\r\n opts.formData = element.value;\r\n }\r\n\r\n /**\r\n * Generate markup wrapper where needed\r\n *\r\n * @param {string} type\r\n * @param {object} attrs\r\n * @param {string} content we wrap this\r\n * @return {string}\r\n */\r\n _helpers.markup = function(type, attrs = {}, content = '') {\r\n attrs = _helpers.attrString(attrs);\r\n content = Array.isArray(content) ? content.join('') : content;\r\n let inlineElems = ['input'],\r\n template = inlineElems.indexOf(type) === -1 ? `<${type} ${attrs}>${content}` : `<${type} ${attrs}/>`;\r\n return template;\r\n };\r\n\r\n /**\r\n * Generate preview markup\r\n * @param {object} field\r\n * @return {string} preview markup for field\r\n * @todo\r\n */\r\n _helpers.fieldRender = function(field) {\r\n var fieldMarkup = '',\r\n fieldLabel = '',\r\n optionsMarkup = '';\r\n var fieldAttrs = _helpers.parseAttrs(field.attributes),\r\n fieldDesc = fieldAttrs.description || '',\r\n fieldRequired = '',\r\n fieldOptions = $('option', field);\r\n fieldAttrs.id = fieldAttrs.name;\r\n\r\n if (fieldAttrs.required) {\r\n fieldAttrs.required = null;\r\n fieldAttrs['aria-required'] = 'true';\r\n fieldRequired = `*`;\r\n }\r\n\r\n if (fieldAttrs.type !== 'hidden') {\r\n if (fieldDesc) {\r\n fieldDesc = `?`;\r\n }\r\n let fieldLabelText = fieldAttrs.label || '';\r\n fieldLabel = ``;\r\n }\r\n\r\n var fieldLabelVal = fieldAttrs.label;\r\n\r\n delete fieldAttrs.label;\r\n delete fieldAttrs.description;\r\n\r\n var fieldAttrsString = _helpers.attrString(fieldAttrs);\r\n\r\n switch (fieldAttrs.type) {\r\n case 'textarea':\r\n case 'rich-text':\r\n delete fieldAttrs.type;\r\n delete fieldAttrs.value;\r\n fieldMarkup = `${fieldLabel}`;\r\n break;\r\n case 'select':\r\n fieldAttrs.type = fieldAttrs.type.replace('-group', '');\r\n\r\n if (fieldOptions.length) {\r\n fieldOptions.each(function(index, el) {\r\n index = index;\r\n let optionAttrs = _helpers.parseAttrs(el.attributes),\r\n optionAttrsString = _helpers.attrString(optionAttrs),\r\n optionText = el.innerHTML || el.innerContent || el.innerText || el.childNodes[0].nodeValue || el.value;\r\n optionsMarkup += ``;\r\n });\r\n }\r\n fieldMarkup = `${fieldLabel}`;\r\n break;\r\n case 'checkbox-group':\r\n case 'radio-group':\r\n fieldAttrs.type = fieldAttrs.type.replace('-group', '');\r\n\r\n delete fieldAttrs.className;\r\n\r\n if (fieldOptions.length) {\r\n let optionName = fieldAttrs.type === 'checkbox' ? fieldAttrs.name + '[]' : fieldAttrs.name;\r\n fieldOptions.each(function(index, el) {\r\n let optionAttrs = $.extend({}, fieldAttrs, _helpers.parseAttrs(el.attributes)),\r\n optionAttrsString,\r\n optionText;\r\n\r\n if (optionAttrs.selected) {\r\n delete optionAttrs.selected;\r\n optionAttrs.checked = null;\r\n }\r\n\r\n optionAttrs.name = optionName;\r\n optionAttrs.id = fieldAttrs.id + '-' + index;\r\n optionAttrsString = _helpers.attrString(optionAttrs);\r\n optionText = el.innerHTML || el.innerContent || el.innerText || el.value || '';\r\n\r\n optionsMarkup += `
`;\r\n });\r\n }\r\n fieldMarkup = `${fieldLabel}
${optionsMarkup}
`;\r\n break;\r\n case 'text':\r\n case 'password':\r\n case 'email':\r\n case 'file':\r\n case 'hidden':\r\n case 'date':\r\n case 'autocomplete':\r\n fieldMarkup = `${fieldLabel} `;\r\n break;\r\n case 'color':\r\n fieldMarkup = `${fieldLabel} ${opts.label.selectColor}`;\r\n break;\r\n case 'button':\r\n case 'submit':\r\n fieldMarkup = ``;\r\n break;\r\n case 'checkbox':\r\n fieldMarkup = ` ${fieldLabel}`;\r\n\r\n if (fieldAttrs.toggle) {\r\n setTimeout(function() {\r\n $(document.getElementById(fieldAttrs.id)).kcToggle();\r\n }, 100);\r\n }\r\n break;\r\n default:\r\n fieldMarkup = `<${fieldAttrs.type}>`;\r\n }\r\n\r\n if (fieldAttrs.type !== 'hidden') {\r\n fieldMarkup = _helpers.markup('div', {\r\n className: 'form-group field-' + fieldAttrs.id\r\n }, fieldMarkup);\r\n }\r\n\r\n return fieldMarkup;\r\n };\r\n\r\n _helpers.attrString = function(attrs) {\r\n let attributes = [];\r\n\r\n for (var attr in attrs) {\r\n if (attrs.hasOwnProperty(attr)) {\r\n attr = _helpers.safeAttr(attr, attrs[attr]);\r\n attributes.push(attr.name + attr.value);\r\n }\r\n }\r\n return attributes.join(' ');\r\n };\r\n\r\n _helpers.safeAttr = function(name, value) {\r\n let safeAttr = {\r\n className: 'class'\r\n };\r\n\r\n name = safeAttr[name] || name;\r\n value = value ? window.JSON.stringify(value) : false;\r\n value = value ? `=${value}` : '';\r\n\r\n return {\r\n name,\r\n value\r\n };\r\n };\r\n\r\n _helpers.parseAttrs = function(attrNodes) {\r\n var fieldAttrs = {};\r\n for (var attr in attrNodes) {\r\n if (attrNodes.hasOwnProperty(attr)) {\r\n fieldAttrs[attrNodes[attr].nodeName] = attrNodes[attr].nodeValue;\r\n }\r\n }\r\n return fieldAttrs;\r\n };\r\n\r\n // Begin the core plugin\r\n var rendered = [];\r\n\r\n var formData = $.parseXML(opts.formData),\r\n fields = $('field', formData);\r\n // @todo - form configuration settings (control position, creatorId, theme etc)\r\n // settings = $('settings', formData);\r\n\r\n if (!formData) {\r\n opts.notify.error(opts.label.noFormData);\r\n return false;\r\n } else {\r\n opts.notify.success(opts.label.formRendered);\r\n }\r\n\r\n // generate field markup if we have fields\r\n if (fields.length) {\r\n fields.each(function(index, field) {\r\n index = index;\r\n rendered.push(_helpers.fieldRender(field));\r\n });\r\n }\r\n\r\n var output = rendered.join('');\r\n\r\n if (opts.render) {\r\n if (opts.container && opts.container.length) {\r\n opts.container.html(output);\r\n } else if (element) {\r\n element.replaceWith(output);\r\n }\r\n } else {\r\n formRender.markup = output;\r\n }\r\n\r\n return formRender;\r\n\r\n};\r\n\r\n(function($) {\r\n 'use strict';\r\n\r\n $.fn.formRender = function(options) {\r\n this.each(function() {\r\n let formRender = new FormRender(options, this);\r\n return formRender;\r\n });\r\n };\r\n\r\n})(jQuery);\r\n"],"sourceRoot":"/source/"} \ No newline at end of file diff --git a/dist/form-builder.js b/dist/form-builder.js index 0c981c193..321904b96 100644 --- a/dist/form-builder.js +++ b/dist/form-builder.js @@ -16,11 +16,11 @@ var formBuilderHelpers = function formBuilderHelpers(opts, formBuilder) { formBuilder.events = formBuilderEvents(opts, _helpers); - /** - * Convert an attrs object into a string - * - * @param {object} attrs object of attributes for markup - * @return {string} + /** + * Convert an attrs object into a string + * + * @param {object} attrs object of attributes for markup + * @return {string} */ _helpers.attrString = function (attrs) { var attributes = []; @@ -34,11 +34,11 @@ var formBuilderHelpers = function formBuilderHelpers(opts, formBuilder) { return attributes.join(' '); }; - /** - * Convert camelCase into lowercase-hyphen - * - * @param {string} str - * @return {string} + /** + * Convert camelCase into lowercase-hyphen + * + * @param {string} str + * @return {string} */ _helpers.hyphenCase = function (str) { str = str.replace(/([A-Z])/g, function ($1) { @@ -67,10 +67,10 @@ var formBuilderHelpers = function formBuilderHelpers(opts, formBuilder) { }; }; - /** - * Add a mobile class - * - * @return {string} + /** + * Add a mobile class + * + * @return {string} */ _helpers.mobileClass = function () { var mobileClass = ''; @@ -82,11 +82,11 @@ var formBuilderHelpers = function formBuilderHelpers(opts, formBuilder) { return mobileClass; }; - /** - * Callback for when a drag begins - * - * @param {object} event - * @param {object} ui + /** + * Callback for when a drag begins + * + * @param {object} event + * @param {object} ui */ _helpers.startMoving = function (event, ui) { event = event; @@ -94,11 +94,11 @@ var formBuilderHelpers = function formBuilderHelpers(opts, formBuilder) { _helpers.startIndex = $('li', this).index(ui.item); }; - /** - * Callback for when a drag ends - * - * @param {object} event - * @param {object} ui + /** + * Callback for when a drag ends + * + * @param {object} event + * @param {object} ui */ _helpers.stopMoving = function (event, ui) { event = event; @@ -111,9 +111,9 @@ var formBuilderHelpers = function formBuilderHelpers(opts, formBuilder) { _helpers.doCancel = false; }; - /** - * jQuery UI sortable beforeStop callback used for both lists. - * Logic for canceling the sort or drop. + /** + * jQuery UI sortable beforeStop callback used for both lists. + * Logic for canceling the sort or drop. */ _helpers.beforeStop = function (event, ui) { event = event; @@ -140,33 +140,33 @@ var formBuilderHelpers = function formBuilderHelpers(opts, formBuilder) { }); }; - /** - * Make strings safe to be used as classes - * - * @param {string} str string to be converted - * @return {string} converter string + /** + * Make strings safe to be used as classes + * + * @param {string} str string to be converted + * @return {string} converter string */ _helpers.safename = function (str) { return str.replace(/\s/g, '-').replace(/[^a-zA-Z0-9\-]/g, '').toLowerCase(); }; - /** - * Strips non-numbers from a number only input - * - * @param {string} str string with possible number - * @return {string} string without numbers + /** + * Strips non-numbers from a number only input + * + * @param {string} str string with possible number + * @return {string} string without numbers */ _helpers.forceNumber = function (str) { return str.replace(/[^0-9]/g, ''); }; - /** - * hide and show mouse tracking tooltips, only used for disabled - * fields in the editor. - * - * @todo remove or refactor to make better use - * @param {object} tt jQuery option with nexted tooltip - * @return {void} + /** + * hide and show mouse tracking tooltips, only used for disabled + * fields in the editor. + * + * @todo remove or refactor to make better use + * @param {object} tt jQuery option with nexted tooltip + * @return {void} */ _helpers.initTooltip = function (tt) { var tooltip = tt.find('.tooltip'); @@ -314,10 +314,10 @@ var formBuilderHelpers = function formBuilderHelpers(opts, formBuilder) { $('input[toggle]', $prevHolder).kcToggle(); }; - /** - * Generate preview markup - * @param {object} attrs - * @return {string} preview markup for field + /** + * Generate preview markup + * @param {object} attrs + * @return {string} preview markup for field */ _helpers.fieldPreview = function (attrs) { var i, @@ -463,10 +463,10 @@ var formBuilderHelpers = function formBuilderHelpers(opts, formBuilder) { } }; - /** - * Display a custom tooltip for disabled fields. - * - * @param {object} field + /** + * Display a custom tooltip for disabled fields. + * + * @param {object} field */ _helpers.disabledTT = { className: 'frmb-tt', @@ -553,12 +553,12 @@ var formBuilderHelpers = function formBuilderHelpers(opts, formBuilder) { return field; }; - /** - * Closes and open dialog - * - * @param {Object} overlay Existing overlay if there is one - * @param {Object} dialog Existing dialog - * @return {Event} Triggers modalClosed event + /** + * Closes and open dialog + * + * @param {Object} overlay Existing overlay if there is one + * @param {Object} dialog Existing dialog + * @return {Event} Triggers modalClosed event */ _helpers.closeConfirm = function (overlay, dialog) { overlay = overlay || document.getElementsByClassName('form-builder-overlay')[0]; @@ -569,9 +569,9 @@ var formBuilderHelpers = function formBuilderHelpers(opts, formBuilder) { document.dispatchEvent(formBuilder.events.modalClosed); }; - /** - * Adds overlay to the page. Used for modals. - * @return {Object} + /** + * Adds overlay to the page. Used for modals. + * @return {Object} */ _helpers.showOverlay = function () { var overlay = _helpers.markup('div', null, { @@ -587,14 +587,14 @@ var formBuilderHelpers = function formBuilderHelpers(opts, formBuilder) { return overlay; }; - /** - * Custom confirmation dialog - * - * @param {Object} message Content to be displayed in the dialog - * @param {Func} yesAction callback to fire if they confirm - * @param {Boolean} coords location to put the dialog - * @param {String} className Custom class to be added to the dialog - * @return {Object} Reference to the modal + /** + * Custom confirmation dialog + * + * @param {Object} message Content to be displayed in the dialog + * @param {Func} yesAction callback to fire if they confirm + * @param {Boolean} coords location to put the dialog + * @param {String} className Custom class to be added to the dialog + * @return {Object} Reference to the modal */ _helpers.confirm = function (message, yesAction) { var coords = arguments.length <= 2 || arguments[2] === undefined ? false : arguments[2]; @@ -637,13 +637,13 @@ var formBuilderHelpers = function formBuilderHelpers(opts, formBuilder) { return miniModal; }; - /** - * Popup dialog the does not require confirmation. - * @param {String|DOM|Array} content - * @param {Boolean} coords false if no coords are provided. Without coordinates - * the popup will appear center screen. - * @param {String} className classname to be added to the dialog - * @return {Object} dom + /** + * Popup dialog the does not require confirmation. + * @param {String|DOM|Array} content + * @param {Boolean} coords false if no coords are provided. Without coordinates + * the popup will appear center screen. + * @param {String} className classname to be added to the dialog + * @return {Object} dom */ _helpers.dialog = function (content) { var coords = arguments.length <= 1 || arguments[1] === undefined ? false : arguments[1]; @@ -675,8 +675,8 @@ var formBuilderHelpers = function formBuilderHelpers(opts, formBuilder) { return miniModal; }; - /** - * Removes all fields from the form + /** + * Removes all fields from the form */ _helpers.removeAllfields = function () { var form = document.getElementById(opts.formID); @@ -2101,21 +2101,12 @@ if (typeof Object.assign !== 'function') { } // Element.remove() polyfill -if (typeof Element.remove !== 'function') { - (function () { - var _this = this; - - Element.prototype.remove = function () { - _this.parentElement.removeChild(_this); - }; - NodeList.prototype.remove = HTMLCollection.prototype.remove = function () { - for (var i = this.length - 1; i >= 0; i--) { - if (this[i] && this[i].parentElement) { - this[i].parentElement.removeChild(this[i]); - } - } - }; - })(); +if (!('remove' in Element.prototype)) { + Element.prototype.remove = function () { + if (this.parentNode) { + this.parentNode.removeChild(this); + } + }; } // Event polyfill diff --git a/dist/form-builder.min.js b/dist/form-builder.min.js index ec6d1dc7b..92e82cae1 100644 --- a/dist/form-builder.min.js +++ b/dist/form-builder.min.js @@ -3,5 +3,5 @@ formBuilder - http://kevinchappell.github.io/formBuilder/ Version: 1.9.4 Author: Kevin Chappell */ -"use strict";var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},formBuilderHelpers=function(e,t){var a={doCancel:!1};return t.events=formBuilderEvents(e,a),a.attrString=function(e){var t=[];for(var l in e)e.hasOwnProperty(l)&&(l=a.safeAttr(l,e[l]),t.push(l.name+l.value));return t.join(" ")},a.hyphenCase=function(e){return e=e.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()}),e.replace(/\s/g,"-").replace(/^-+/g,"")},a.safeAttrName=function(e){var t={className:"class"};return t[e]||a.hyphenCase(e)},a.safeAttr=function(e,t){return e=a.safeAttrName(e),t=window.JSON.stringify(t),t=t?"="+t:"",{name:e,value:t}},a.mobileClass=function(){var e="";return function(t){(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4)))&&(e=" fb-mobile")}(navigator.userAgent||navigator.vendor||window.opera),e},a.startMoving=function(e,t){e=e,t.item.show().addClass("moving"),a.startIndex=$("li",this).index(t.item)},a.stopMoving=function(e,t){e=e,t.item.removeClass("moving"),a.doCancel&&($(t.sender).sortable("cancel"),$(this).sortable("cancel")),a.save(),a.doCancel=!1},a.beforeStop=function(t,l){t=t;var s=document.getElementById(e.formID),o=s.children.length-1,n=[];a.stopIndex=l.placeholder.index()-1,l.item.parent().hasClass("frmb-control")&&n.push(!0),e.prepend&&n.push(0===a.stopIndex),e.append&&n.push(a.stopIndex+1===o),a.doCancel=n.some(function(e){return e===!0})},a.safename=function(e){return e.replace(/\s/g,"-").replace(/[^a-zA-Z0-9\-]/g,"").toLowerCase()},a.forceNumber=function(e){return e.replace(/[^0-9]/g,"")},a.initTooltip=function(e){var t=e.find(".tooltip");e.mouseenter(function(){t.outerWidth()>200&&t.addClass("max-width"),t.css("left",e.width()+14),t.stop(!0,!0).fadeIn("fast")}).mouseleave(function(){e.find(".tooltip").stop(!0,!0).fadeOut("fast")}),t.hide()},a.xmlSave=function(e){var a=$(e).toXML();return window.JSON.stringify(a)===window.JSON.stringify(t.formData)?!1:void(t.formData=a)},a.jsonSave=function(){e.notify.warning("json data not available yet")},a.save=function(){var l=a.getElement(),s=document.getElementById(e.formID),o={xml:a.xmlSave,json:a.jsonSave};o[e.dataType](s),l&&(l.value=t.formData,window.jQuery?$(l).trigger("change"):l.onchange())},a.getElement=function(){var l=!1;return t.element&&(l=t.element,l.id||a.makeId(l),l.onchange||(l.onchange=function(){e.notify.success(e.messages.formUpdated)})),l},a.makeId=function(){var e=arguments.length<=0||void 0===arguments[0]?!1:arguments[0],t=(new Date).getTime();return e.tagName+"-"+t},a.updatePreview=function(e){var t=e.data("fieldData")||{},l=e.attr("class");if(-1===l.indexOf("ui-sortable-handle")){var s,o=$(".prev-holder",e),n=$(".fld-subtype",e).val();l=l.replace("-field form-field",""),s=n?n:l;var i,r={type:s,label:$(".fld-label",e).val()},c=$(".fld-maxlength",e);c&&(r.maxlength=c.val()),r.className=$(".fld-className",e).val()||t.className||"";var d=$(".fld-placeholder",e).val();d&&(r.placeholder=d);var p=$(".btn-style",e).val();p&&(r.style=p),"checkbox"===l&&(r.toggle=$(".checkbox-toggle",e).is(":checked")),l.match(/(select|checkbox-group|radio-group)/)&&(r.values=[],r.multiple=$('[name="multiple"]',e).is(":checked"),$(".sortable-options li",e).each(function(){var e={};e.selected=$(".option-selected",this).is(":checked"),e.value=$(".option-value",this).val(),e.label=$(".option-label",this).val(),r.values.push(e)})),r.className=a.classNames(e,r),e.data("fieldData",r),i=a.fieldPreview(r),o.html(i),$("input[toggle]",o).kcToggle()}},a.fieldPreview=function(t){var l,s="",o=(new Date).getTime(),n=t.toggle?"toggle":"",i=a.attrString(t);switch(t.type){case"textarea":case"rich-text":s="";break;case"button":case"submit":s="";break;case"select":var r="",c=t.multiple?"multiple":"";for(t.values.reverse(),t.placeholder&&(r+=""),l=t.values.length-1;l>=0;l--){var d=t.values[l].selected&&!t.placeholder?"selected":"";r+='"}s="<"+t.type+' class="'+t.className+'" '+c+">"+r+"";break;case"checkbox-group":case"radio-group":var p=t.type.replace("-group",""),u=p+"-"+o;for(t.values.reverse(),l=t.values.length-1;l>=0;l--){var m=t.values[l].selected?"checked":"",f=p+"-"+o+"-"+l;s+='
"}break;case"text":case"password":case"email":case"date":case"file":s="";break;case"color":s=' '+e.messages.selectColor;break;case"hidden":case"checkbox":s='";break;case"autocomplete":s='';break;default:s="<"+t.type+">"}return s},a.updateMultipleSelect=function(){$(document.getElementById(e.formID)).on("change",'input[name="multiple"]',function(){var e=$(this).parents(".field-options:eq(0)").find(".sortable-options input.option-selected");this.checked?e.each(function(){$(this).prop("type","checkbox")}):e.each(function(){$(this).removeAttr("checked").prop("type","radio")})})},a.debounce=function(e){var t,a=arguments.length<=1||void 0===arguments[1]?250:arguments[1],l=arguments.length<=2||void 0===arguments[2]?!1:arguments[2];return function(){var s=this,o=arguments,n=function(){t=null,l||e.apply(s,o)},i=l&&!t;clearTimeout(t),t=setTimeout(n,a),i&&e.apply(s,o)}},a.htmlEncode=function(e){return $("
").text(e).html()},a.htmlDecode=function(e){return $("
").html(e).text()},a.validateForm=function(){var t=$(document.getElementById(e.formID)),a=[];$('input[name="label"], input[type="text"].option',t).each(function(){if(""===$(this).val()){var t=$(this).parents("li.form-field"),l=$(this);a.push({field:t,error:e.messages.labelEmpty,attribute:l})}}),a.length&&(alert("Error: "+a[0].error),$("html, body").animate({scrollTop:a[0].field.offset().top},1e3,function(){var e=$(".toggle-form",a[0].field).attr("id");$(".toggle-form",a[0].field).addClass("open").parent().next(".prev-holder").slideUp(250),$("#"+e+"-fld").slideDown(250,function(){a[0].attribute.addClass("error")})}))},a.disabledTT={className:"frmb-tt",add:function(t){var l=e.messages.fieldNonEditable;if(l){var s=a.markup("p",l,{className:a.disabledTT.className});t.append(s)}},remove:function(e){$(".frmb-tt",e).remove()}},a.classNames=function(e,t){var a=["checkbox","checkbox-group","radio-group","button"],l=t.type,s=t.style,o=[],n={button:"btn",submit:"btn"},i=e[0].querySelector(".fld-className").value,r=n[l];return i&&o.push(i),r?(o.push(r),s&&o.push(r+"-"+s)):-1===a.indexOf(l)&&o.push("form-control"),o.join(" ")},a.markup=function(e){var t=arguments.length<=1||void 0===arguments[1]?"":arguments[1],l=arguments.length<=2||void 0===arguments[2]?{}:arguments[2],s=void 0,o=document.createElement(e),n=function(e){return Array.isArray(e)?"array":"undefined"==typeof e?"undefined":_typeof(e)},i={string:function(e){o.innerHTML=e},object:function(e){return o.appendChild(e)},array:function(e){for(var t=0;t').insertAfter(t).append(t);o.toggleClass("on",t.is(":checked"));var n='
'+s.labels.on+"
",i='
'+s.labels.off+"
",r='
',c='
'+n+r+i+"
";o.append(c),o.click(function(){t.attr("checked",!t.attr("checked")),e(this).toggleClass("on")})};e.fn.kcToggle=function(a){var l=this;return l.each(function(){var l=e(this);if(!l.data("kcToggle")){var s=new t(l,a);l.data("kcToggle",s)}})}}(jQuery),function(e){var t=function(t,a){var l=this,s={dataType:"xml",disableFields:{},append:!1,prepend:!1,defaultFields:[],fieldRemoveWarn:!1,roles:{1:"Administrator"},serializePrefix:"frmb",messages:{addOption:"Add Option",allFieldsRemoved:"All fields were removed.",allowSelect:"Allow Select",autocomplete:"Autocomplete",button:"Button",cannotBeEmpty:"This field cannot be empty",checkboxGroup:"Checkbox Group",checkbox:"Checkbox",checkboxes:"Checkboxes",className:"Class",clearAllMessage:"Are you sure you want to remove all items?",clearAll:"Clear",close:"Close",copy:"Copy To Clipboard",dateField:"Date Field",description:"Help Text",descriptionField:"Description",devMode:"Developer Mode",editNames:"Edit Names",editorTitle:"Form Elements",editXML:"Edit XML",fieldDeleteWarning:!1,fieldVars:"Field Variables",fieldNonEditable:"This field cannot be edited.",fieldRemoveWarning:"Are you sure you want to remove this field?",fileUpload:"File Upload",formUpdated:"Form Updated",getStarted:"Drag a field from the right to this area",hide:"Edit",hidden:"Hidden Input",label:"Label",labelEmpty:"Field Label cannot be empty",limitRole:"Limit access to one or more of the following roles:",mandatory:"Mandatory",maxlength:"Max Length",minOptionMessage:"This field requires a minimum of 2 options",name:"Name",no:"No",off:"Off",on:"On",option:"Option",optional:"optional",optionLabelPlaceholder:"Label",optionValuePlaceholder:"Value",optionEmpty:"Option value required",paragraph:"Paragraph",placeholder:"Placeholder",placeholders:{value:"Value",label:"Label",text:"",textarea:"",email:"Enter you email",placeholder:"",className:"space separated classes",password:"Enter your password"},preview:"Preview",radioGroup:"Radio Group",radio:"Radio",removeMessage:"Remove Element",remove:"×",required:"Required",richText:"Rich Text Editor",roles:"Access",save:"Save",selectOptions:"Options",select:"Select",selectColor:"Select Color",selectionsMessage:"Allow Multiple Selections",size:"Size",sizes:{xs:"Extra Small",sm:"Small",m:"Default",lg:"Large"},style:"Style",styles:{btn:{"default":"Default",danger:"Danger",info:"Info",primary:"Primary",success:"Success",warning:"Warning"}},subtype:"Type",subtypes:{text:["text","password","email","color"],button:["button","submit"]},text:"Text Field",textArea:"Text Area",toggle:"Toggle",warning:"Warning!",viewXML:"</>",yes:"Yes"},notify:{error:function(e){return console.error(e)},success:function(e){return console.log(e)},warning:function(e){return console.warn(e)}}};s.messages.subtypes.password=s.messages.subtypes.text,s.messages.subtypes.email=s.messages.subtypes.text,s.messages.subtypes.color=s.messages.subtypes.text,s.messages.subtypes.submit=s.messages.subtypes.button;var o=e.extend(!0,s,t),n=e(a),i="frmb-"+e("ul[id^=frmb-]").length++;o.formID=i,l.element=a;for(var r=e("
",s='
'+n+" "+s+"
"}return s},W=function(e){var t=arguments.length<=1||void 0===arguments[1]?"":arguments[1],a=["text","textarea","select"],l=o.messages.placeholders,s=l[e]||"",n="",i=[];"placeholder"===e&&-1===a.indexOf(t)&&i.push(!0);var r=i.some(function(e){return e===!0});if(!r){var c="";n+='',n='
'+c+" "+n+"
"}return n},Y=function(t,a,l){var s=e(a).find('input[name="label"]').val(),n=s?s:t,i=c.markup("a",o.messages.remove,{id:"del_"+d,className:"del-button btn delete-confirm",title:o.messages.removeMessage}),p=c.markup("a",null,{id:"frm-"+d,className:"toggle-form btn icon-pencil",title:o.messages.hide}),u=c.markup("div",[p,i],{className:"field-actions"}).outerHTML,m=l.required,f=l.toggle||void 0,v=""!==l.description?'?':"",g=u;g+='"+v+' *",g+=c.markup("div","",{className:"prev-holder"}).outerHTML,g+='
',g+='
',g+='
',g+="";var h=c.markup("input",null,{className:"required",type:"checkbox",name:"required-"+d,id:"required-"+d,value:1});h.defaultChecked="true"===m,g+=h.outerHTML,g+=c.markup("label",o.messages.required,{className:"required-label","for":"required-"+d}).outerHTML,g+="
","checkbox"===l.type&&(g+='
',g+="",g+='",g+="
"),g+=a,g+=c.markup("a",o.messages.close,{className:"close-field"}).outerHTML,g+="
",g+="
";var b=c.markup("li",g,{"class":l.type+"-field form-field",id:"frm-"+d+"-item"}),y=e(b);y.data("fieldData",{attrs:l}),"undefined"!=typeof c.stopIndex?e("> li",r).eq(c.stopIndex).after(y):r.append(y),c.updatePreview(y),e(document.getElementById("frm-"+d+"-item")).hide().slideDown(250),d++},U=function(e,t,a,l){var s={selected:l?"checkbox":"radio"},n={selected:a,label:"",value:""},i=Object.assign(n,t),r=[];for(var d in i)if(i.hasOwnProperty(d)){var p={type:s[d]||"text","class":"option-"+d,placeholder:o.messages.placeholders[d],value:i[d],name:e},u=c.markup("input",null,p);"selected"===d&&(u.checked=i.selected),r.push(u)}var m={className:"remove btn",title:o.messages.removeMessage};r.push(c.markup("a",o.messages.remove,m));var f=c.markup("li",r);return f.outerHTML};r.on("click touchstart",".remove",function(t){var a=e(this).parents(".form-field:eq(0)");t.preventDefault();var l=e(this).parents(".sortable-options:eq(0)").children("li").length;2>=l?o.notify.error("Error: "+o.messages.minOptionMessage):e(this).parent("li").slideUp("250",function(){e(this).remove()}),O.call(a)}),r.on("touchstart","input",function(t){if(t.handled===!0)return!1;if("checkbox"===e(this).attr("type"))e(this).trigger("click");else{e(this).focus();var a=e(this).val();e(this).val(a)}}),r.on("click touchstart",".toggle-form",function(t){if(t.stopPropagation(),t.preventDefault(),t.handled===!0)return!1;var a=e(this).attr("id");c.toggleEdit(a+"-item"),t.handled=!0}),c.toggleEdit=function(t){var a=document.getElementById(t),l=e(".toggle-form",a),s=e(".frm-holder",a);l.toggleClass("open"),e(".prev-holder",a).slideToggle(250),s.slideToggle(250)},r.on("keyup change",'input[name="label"]',function(){e(".field-label",e(this).closest("li")).text(e(this).val())}),r.delegate("input.error","keyup",function(){e(this).removeClass("error")}),r.on("keyup",'input[name="description"]',function(){var t=e(this).parents(".form-field:eq(0)"),a=e(".tooltip-element",t),l=e(this).val();if(""!==l)if(a.length)a.attr("tooltip",l).css("display","inline-block");else{var s='?';e(".field-label",t).after(s)}else a.length&&a.css("display","none")}),c.updateMultipleSelect(),r.delegate('input[name="name"]',"keyup",function(){e(this).val(c.safename(e(this).val())),""===e(this).val()?e(this).addClass("field_error").attr("placeholder",o.messages.cannotBeEmpty):e(this).removeClass("field_error")}),r.delegate("input.fld-maxlength","keyup",function(){e(this).val(c.forceNumber(e(this).val()))}),r.on("click touchstart",".delete-confirm",function(t){t.preventDefault();var a=this.getBoundingClientRect(),l=document.body.getBoundingClientRect(),s={pageX:a.left+a.width/2,pageY:a.top-l.top-12},n=e(this).attr("id").replace(/del_/,""),i=e(document.getElementById("frm-"+n+"-item")),d=function(){i.slideUp(250,function(){i.removeClass("deleting"),i.remove(),c.save()})};if(document.addEventListener("modalClosed",function(){i.removeClass("deleting")},!1),o.fieldRemoveWarn){var p=c.markup("h3",o.messages.warning),u=c.markup("p",o.messages.fieldRemoveWarning);c.confirm([p,u],d,s),i.addClass("deleting")}else d(i);1===e("> li",r).length&&S.addClass("empty").attr("data-content",o.messages.getStarted)}),r.on("click",".style-wrap button",function(){var t=e(this).val(),a=e(this).parent(),l=a.prev(".btn-style");l.val(t),e(this).siblings(".btn").removeClass("active"),e(this).addClass("active"),O.call(a)}),r.on("click","input.required",function(){var t=e(this).parents("li.form-field").find(".required-asterisk");t.toggle()}),r.on("click",'input[name="enable_roles"]',function(){var t=e(this).siblings("div.available-roles"),a=e(this);t.slideToggle(250,function(){a.is(":checked")||e('input[type="checkbox"]',t).removeAttr("checked")})}),r.on("click",".add-opt",function(t){t.preventDefault();var a=e(this).parents(".field-options:eq(0)"),l=e('[name="multiple"]',a),s=e(".option-selected:eq(0)",a),o=!1;o=l.length?l.prop("checked"):"checkbox"===s.attr("type");var n=s.attr("name");e(".sortable-options",a).append(U(n,!1,!1,o)),c.updateMultipleSelect()}),r.on("click touchstart",".close-field",function(){var t=e(this).parents("li.form-field:eq(0)").attr("id");c.toggleEdit(t)}),r.on("mouseover mouseout",".remove, .del-button",function(){e(this).parents("li:eq(0)").toggleClass("delete")});var G=e(document.getElementById(i+"-view-data"));G.click(function(e){e.preventDefault();var t=c.htmlEncode(n.val()),a=c.markup("code",t,{className:"xml"}),l=c.markup("pre",a);c.dialog(l,null,"data-dialog")});var V=e(document.getElementById(i+"-clear-all"));V.click(function(){var t=e("li.form-field"),a=this.getBoundingClientRect(),l=document.body.getBoundingClientRect(),s={pageX:a.left+a.width/2,pageY:a.top-l.top-12};t.length?c.confirm("Are you sure you want to clear all fields?",function(){c.removeAllfields(),o.notify.success(o.messages.allFieldsRemoved),c.save()},s):c.dialog("There are no fields to clear",{pageX:s.pageX,pageY:s.pageY})}),e(document.getElementById(i+"-save")).click(function(e){e.preventDefault(),c.save(),c.validateForm(e)});var J=!1,Q=[],Z="68,69,86";return e(".fb-save").mouseover(function(){J=!0}).mouseout(function(){J=!1}),e(document.documentElement).keydown(function(t){Q.push(t.keyCode),Q.toString().indexOf(Z)>=0&&(e(".action-links").toggle(),e(".view-data").toggle(),Q=[])}),e(".dev-mode-link").click(function(t){t.preventDefault();var a=e(this);S.toggleClass("dev-mode"),a.parent().css("opacity",1),S.hasClass("dev-mode")?(a.siblings(".action-links-inner").css("width","100%"),a.html(o.messages.devMode+" "+o.messages.on).css("color","#8CC63F")):(a.siblings(".action-links-inner").css("width",0), -a.html(o.messages.devMode+" "+o.messages.off).css("color","#666666"),J=!1,e(".action-links").toggle(),e(".view-data").toggle())}),e(document.getElementById(i+"-edit-names")).click(function(t){t.preventDefault(),e(this).toggleClass("active"),e(".name-wrap",r).slideToggle(250,function(){S.toggleClass("edit-names")})}),e(document.getElementById(i+"-allow-select")).click(function(t){t.preventDefault(),e(this).toggleClass("active"),e(".allow-multi, .option-selected",r).slideToggle(250,function(){S.toggleClass("allow-select")})}),e(document.getElementById(i+"-edit-xml")).click(function(t){t.preventDefault(),e(this).toggleClass("active"),e("textarea.idea-template").show(),e(".template-textarea-wrap").slideToggle(250),S.toggleClass("edit-xml")}),n.parent().find('p[id*="ideaTemplate"]').remove(),n.wrap('
'),$(),r.css("min-height",m.height()),document.dispatchEvent(l.events.loaded),l};e.fn.formBuilder=function(a){return this.each(function(){var l,s=this;if(e(s).data("formBuilder")){var o=e(s).parents(".form-builder:eq(0)"),n=e(s).clone();o.before(n),o.remove(),l=new t(a,n[0]),n.data("formBuilder",l)}else l=new t(a,s),e(s).data("formBuilder",l)})}}(jQuery),function(e){e.fn.toXML=function(t){var a={prepend:"",attributes:["class"]},l=e.extend(a,t),s="",o={};o.getType=function(t){var a=e(".fld-subtype",t).val()||t.attr("class").replace("-field form-field","");return a},o.hyphenCase=function(e){return e.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()})},o.attrString=function(e){var t=[];for(var a in e)if(e.hasOwnProperty(a)&&e[a]){var l=a+'="'+e[a]+'"';t.push(l)}return t.join(" ")};var n=function(t){var a=[];return e(".sortable-options li",t).each(function(){var t=e(this),l='value="'+e(".option-value",t).val()+'"',s=e(".option-label",t).val(),o=e(".option-selected",t).is(":checked")?' selected="true"':"";a.push("\n "+s+"")}),a.join("")};return this.each(function(){e(this).children().length>=1&&(s+="\n ",e(this).children().each(function(){var t=e(this),a=t.data("fieldData");if(!t.hasClass("moving")&&!t.hasClass("disabled"))for(var i=0;i",d&&(s+=n(t),s+="\n ")}}),s+="\n \n")}),s}}(jQuery),"function"!=typeof Object.assign&&!function(){var e=arguments;Object.assign=function(t){if(void 0===t||null===t)throw new TypeError("Cannot convert undefined or null to object");for(var a=Object(t),l=1;l=0;e--)this[e]&&this[e].parentElement&&this[e].parentElement.removeChild(this[e])}}(),"function"!=typeof Event&&!function(){Event=function(e){var t=document.createEvent("Event");return t.initEvent(e,!0,!0),t}}(); \ No newline at end of file +"use strict";var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},formBuilderHelpers=function(e,t){var a={doCancel:!1};return t.events=formBuilderEvents(e,a),a.attrString=function(e){var t=[];for(var l in e)e.hasOwnProperty(l)&&(l=a.safeAttr(l,e[l]),t.push(l.name+l.value));return t.join(" ")},a.hyphenCase=function(e){return e=e.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()}),e.replace(/\s/g,"-").replace(/^-+/g,"")},a.safeAttrName=function(e){var t={className:"class"};return t[e]||a.hyphenCase(e)},a.safeAttr=function(e,t){return e=a.safeAttrName(e),t=window.JSON.stringify(t),t=t?"="+t:"",{name:e,value:t}},a.mobileClass=function(){var e="";return function(t){(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4)))&&(e=" fb-mobile")}(navigator.userAgent||navigator.vendor||window.opera),e},a.startMoving=function(e,t){e=e,t.item.show().addClass("moving"),a.startIndex=$("li",this).index(t.item)},a.stopMoving=function(e,t){e=e,t.item.removeClass("moving"),a.doCancel&&($(t.sender).sortable("cancel"),$(this).sortable("cancel")),a.save(),a.doCancel=!1},a.beforeStop=function(t,l){t=t;var s=document.getElementById(e.formID),o=s.children.length-1,n=[];a.stopIndex=l.placeholder.index()-1,l.item.parent().hasClass("frmb-control")&&n.push(!0),e.prepend&&n.push(0===a.stopIndex),e.append&&n.push(a.stopIndex+1===o),a.doCancel=n.some(function(e){return e===!0})},a.safename=function(e){return e.replace(/\s/g,"-").replace(/[^a-zA-Z0-9\-]/g,"").toLowerCase()},a.forceNumber=function(e){return e.replace(/[^0-9]/g,"")},a.initTooltip=function(e){var t=e.find(".tooltip");e.mouseenter(function(){t.outerWidth()>200&&t.addClass("max-width"),t.css("left",e.width()+14),t.stop(!0,!0).fadeIn("fast")}).mouseleave(function(){e.find(".tooltip").stop(!0,!0).fadeOut("fast")}),t.hide()},a.xmlSave=function(e){var a=$(e).toXML();return window.JSON.stringify(a)===window.JSON.stringify(t.formData)?!1:void(t.formData=a)},a.jsonSave=function(){e.notify.warning("json data not available yet")},a.save=function(){var l=a.getElement(),s=document.getElementById(e.formID),o={xml:a.xmlSave,json:a.jsonSave};o[e.dataType](s),l&&(l.value=t.formData,window.jQuery?$(l).trigger("change"):l.onchange())},a.getElement=function(){var l=!1;return t.element&&(l=t.element,l.id||a.makeId(l),l.onchange||(l.onchange=function(){e.notify.success(e.messages.formUpdated)})),l},a.makeId=function(){var e=arguments.length<=0||void 0===arguments[0]?!1:arguments[0],t=(new Date).getTime();return e.tagName+"-"+t},a.updatePreview=function(e){var t=e.data("fieldData")||{},l=e.attr("class");if(-1===l.indexOf("ui-sortable-handle")){var s,o=$(".prev-holder",e),n=$(".fld-subtype",e).val();l=l.replace("-field form-field",""),s=n?n:l;var i,r={type:s,label:$(".fld-label",e).val()},c=$(".fld-maxlength",e);c&&(r.maxlength=c.val()),r.className=$(".fld-className",e).val()||t.className||"";var d=$(".fld-placeholder",e).val();d&&(r.placeholder=d);var p=$(".btn-style",e).val();p&&(r.style=p),"checkbox"===l&&(r.toggle=$(".checkbox-toggle",e).is(":checked")),l.match(/(select|checkbox-group|radio-group)/)&&(r.values=[],r.multiple=$('[name="multiple"]',e).is(":checked"),$(".sortable-options li",e).each(function(){var e={};e.selected=$(".option-selected",this).is(":checked"),e.value=$(".option-value",this).val(),e.label=$(".option-label",this).val(),r.values.push(e)})),r.className=a.classNames(e,r),e.data("fieldData",r),i=a.fieldPreview(r),o.html(i),$("input[toggle]",o).kcToggle()}},a.fieldPreview=function(t){var l,s="",o=(new Date).getTime(),n=t.toggle?"toggle":"",i=a.attrString(t);switch(t.type){case"textarea":case"rich-text":s="";break;case"button":case"submit":s="";break;case"select":var r="",c=t.multiple?"multiple":"";for(t.values.reverse(),t.placeholder&&(r+=""),l=t.values.length-1;l>=0;l--){var d=t.values[l].selected&&!t.placeholder?"selected":"";r+='"}s="<"+t.type+' class="'+t.className+'" '+c+">"+r+"";break;case"checkbox-group":case"radio-group":var p=t.type.replace("-group",""),u=p+"-"+o;for(t.values.reverse(),l=t.values.length-1;l>=0;l--){var m=t.values[l].selected?"checked":"",f=p+"-"+o+"-"+l;s+='
"}break;case"text":case"password":case"email":case"date":case"file":s="";break;case"color":s=' '+e.messages.selectColor;break;case"hidden":case"checkbox":s='";break;case"autocomplete":s='';break;default:s="<"+t.type+">"}return s},a.updateMultipleSelect=function(){$(document.getElementById(e.formID)).on("change",'input[name="multiple"]',function(){var e=$(this).parents(".field-options:eq(0)").find(".sortable-options input.option-selected");this.checked?e.each(function(){$(this).prop("type","checkbox")}):e.each(function(){$(this).removeAttr("checked").prop("type","radio")})})},a.debounce=function(e){var t,a=arguments.length<=1||void 0===arguments[1]?250:arguments[1],l=arguments.length<=2||void 0===arguments[2]?!1:arguments[2];return function(){var s=this,o=arguments,n=function(){t=null,l||e.apply(s,o)},i=l&&!t;clearTimeout(t),t=setTimeout(n,a),i&&e.apply(s,o)}},a.htmlEncode=function(e){return $("
").text(e).html()},a.htmlDecode=function(e){return $("
").html(e).text()},a.validateForm=function(){var t=$(document.getElementById(e.formID)),a=[];$('input[name="label"], input[type="text"].option',t).each(function(){if(""===$(this).val()){var t=$(this).parents("li.form-field"),l=$(this);a.push({field:t,error:e.messages.labelEmpty,attribute:l})}}),a.length&&(alert("Error: "+a[0].error),$("html, body").animate({scrollTop:a[0].field.offset().top},1e3,function(){var e=$(".toggle-form",a[0].field).attr("id");$(".toggle-form",a[0].field).addClass("open").parent().next(".prev-holder").slideUp(250),$("#"+e+"-fld").slideDown(250,function(){a[0].attribute.addClass("error")})}))},a.disabledTT={className:"frmb-tt",add:function(t){var l=e.messages.fieldNonEditable;if(l){var s=a.markup("p",l,{className:a.disabledTT.className});t.append(s)}},remove:function(e){$(".frmb-tt",e).remove()}},a.classNames=function(e,t){var a=["checkbox","checkbox-group","radio-group","button"],l=t.type,s=t.style,o=[],n={button:"btn",submit:"btn"},i=e[0].querySelector(".fld-className").value,r=n[l];return i&&o.push(i),r?(o.push(r),s&&o.push(r+"-"+s)):-1===a.indexOf(l)&&o.push("form-control"),o.join(" ")},a.markup=function(e){var t=arguments.length<=1||void 0===arguments[1]?"":arguments[1],l=arguments.length<=2||void 0===arguments[2]?{}:arguments[2],s=void 0,o=document.createElement(e),n=function(e){return Array.isArray(e)?"array":"undefined"==typeof e?"undefined":_typeof(e)},i={string:function(e){o.innerHTML=e},object:function(e){return o.appendChild(e)},array:function(e){for(var t=0;t').insertAfter(t).append(t);o.toggleClass("on",t.is(":checked"));var n='
'+s.labels.on+"
",i='
'+s.labels.off+"
",r='
',c='
'+n+r+i+"
";o.append(c),o.click(function(){t.attr("checked",!t.attr("checked")),e(this).toggleClass("on")})};e.fn.kcToggle=function(a){var l=this;return l.each(function(){var l=e(this);if(!l.data("kcToggle")){var s=new t(l,a);l.data("kcToggle",s)}})}}(jQuery),function(e){var t=function(t,a){var l=this,s={dataType:"xml",disableFields:{},append:!1,prepend:!1,defaultFields:[],fieldRemoveWarn:!1,roles:{1:"Administrator"},serializePrefix:"frmb",messages:{addOption:"Add Option",allFieldsRemoved:"All fields were removed.",allowSelect:"Allow Select",autocomplete:"Autocomplete",button:"Button",cannotBeEmpty:"This field cannot be empty",checkboxGroup:"Checkbox Group",checkbox:"Checkbox",checkboxes:"Checkboxes",className:"Class",clearAllMessage:"Are you sure you want to remove all items?",clearAll:"Clear",close:"Close",copy:"Copy To Clipboard",dateField:"Date Field",description:"Help Text",descriptionField:"Description",devMode:"Developer Mode",editNames:"Edit Names",editorTitle:"Form Elements",editXML:"Edit XML",fieldDeleteWarning:!1,fieldVars:"Field Variables",fieldNonEditable:"This field cannot be edited.",fieldRemoveWarning:"Are you sure you want to remove this field?",fileUpload:"File Upload",formUpdated:"Form Updated",getStarted:"Drag a field from the right to this area",hide:"Edit",hidden:"Hidden Input",label:"Label",labelEmpty:"Field Label cannot be empty",limitRole:"Limit access to one or more of the following roles:",mandatory:"Mandatory",maxlength:"Max Length",minOptionMessage:"This field requires a minimum of 2 options",name:"Name",no:"No",off:"Off",on:"On",option:"Option",optional:"optional",optionLabelPlaceholder:"Label",optionValuePlaceholder:"Value",optionEmpty:"Option value required",paragraph:"Paragraph",placeholder:"Placeholder",placeholders:{value:"Value",label:"Label",text:"",textarea:"",email:"Enter you email",placeholder:"",className:"space separated classes",password:"Enter your password"},preview:"Preview",radioGroup:"Radio Group",radio:"Radio",removeMessage:"Remove Element",remove:"×",required:"Required",richText:"Rich Text Editor",roles:"Access",save:"Save",selectOptions:"Options",select:"Select",selectColor:"Select Color",selectionsMessage:"Allow Multiple Selections",size:"Size",sizes:{xs:"Extra Small",sm:"Small",m:"Default",lg:"Large"},style:"Style",styles:{btn:{"default":"Default",danger:"Danger",info:"Info",primary:"Primary",success:"Success",warning:"Warning"}},subtype:"Type",subtypes:{text:["text","password","email","color"],button:["button","submit"]},text:"Text Field",textArea:"Text Area",toggle:"Toggle",warning:"Warning!",viewXML:"</>",yes:"Yes"},notify:{error:function(e){return console.error(e)},success:function(e){return console.log(e)},warning:function(e){return console.warn(e)}}};s.messages.subtypes.password=s.messages.subtypes.text,s.messages.subtypes.email=s.messages.subtypes.text,s.messages.subtypes.color=s.messages.subtypes.text,s.messages.subtypes.submit=s.messages.subtypes.button;var o=e.extend(!0,s,t),n=e(a),i="frmb-"+e("ul[id^=frmb-]").length++;o.formID=i,l.element=a;for(var r=e("
",s='
'+n+" "+s+"
"}return s},W=function(e){var t=arguments.length<=1||void 0===arguments[1]?"":arguments[1],a=["text","textarea","select"],l=o.messages.placeholders,s=l[e]||"",n="",i=[];"placeholder"===e&&-1===a.indexOf(t)&&i.push(!0);var r=i.some(function(e){return e===!0});if(!r){var c="";n+='',n='
'+c+" "+n+"
"}return n},Y=function(t,a,l){var s=e(a).find('input[name="label"]').val(),n=s?s:t,i=c.markup("a",o.messages.remove,{id:"del_"+d,className:"del-button btn delete-confirm",title:o.messages.removeMessage}),p=c.markup("a",null,{id:"frm-"+d,className:"toggle-form btn icon-pencil",title:o.messages.hide}),u=c.markup("div",[p,i],{className:"field-actions"}).outerHTML,m=l.required,f=l.toggle||void 0,v=""!==l.description?'?':"",g=u;g+='"+v+' *",g+=c.markup("div","",{className:"prev-holder"}).outerHTML,g+='
',g+='
',g+='
',g+="";var h=c.markup("input",null,{className:"required",type:"checkbox",name:"required-"+d,id:"required-"+d,value:1});h.defaultChecked="true"===m,g+=h.outerHTML,g+=c.markup("label",o.messages.required,{className:"required-label","for":"required-"+d}).outerHTML,g+="
","checkbox"===l.type&&(g+='
',g+="",g+='",g+="
"),g+=a,g+=c.markup("a",o.messages.close,{className:"close-field"}).outerHTML,g+="
",g+="
";var b=c.markup("li",g,{"class":l.type+"-field form-field",id:"frm-"+d+"-item"}),y=e(b);y.data("fieldData",{attrs:l}),"undefined"!=typeof c.stopIndex?e("> li",r).eq(c.stopIndex).after(y):r.append(y),c.updatePreview(y),e(document.getElementById("frm-"+d+"-item")).hide().slideDown(250),d++},U=function(e,t,a,l){var s={selected:l?"checkbox":"radio"},n={selected:a,label:"",value:""},i=Object.assign(n,t),r=[];for(var d in i)if(i.hasOwnProperty(d)){var p={type:s[d]||"text","class":"option-"+d,placeholder:o.messages.placeholders[d],value:i[d],name:e},u=c.markup("input",null,p);"selected"===d&&(u.checked=i.selected),r.push(u)}var m={className:"remove btn",title:o.messages.removeMessage};r.push(c.markup("a",o.messages.remove,m));var f=c.markup("li",r);return f.outerHTML};r.on("click touchstart",".remove",function(t){var a=e(this).parents(".form-field:eq(0)");t.preventDefault();var l=e(this).parents(".sortable-options:eq(0)").children("li").length;2>=l?o.notify.error("Error: "+o.messages.minOptionMessage):e(this).parent("li").slideUp("250",function(){e(this).remove()}),O.call(a)}),r.on("touchstart","input",function(t){if(t.handled===!0)return!1;if("checkbox"===e(this).attr("type"))e(this).trigger("click");else{e(this).focus();var a=e(this).val();e(this).val(a)}}),r.on("click touchstart",".toggle-form",function(t){if(t.stopPropagation(),t.preventDefault(),t.handled===!0)return!1;var a=e(this).attr("id");c.toggleEdit(a+"-item"),t.handled=!0}),c.toggleEdit=function(t){var a=document.getElementById(t),l=e(".toggle-form",a),s=e(".frm-holder",a);l.toggleClass("open"),e(".prev-holder",a).slideToggle(250),s.slideToggle(250)},r.on("keyup change",'input[name="label"]',function(){e(".field-label",e(this).closest("li")).text(e(this).val())}),r.delegate("input.error","keyup",function(){e(this).removeClass("error")}),r.on("keyup",'input[name="description"]',function(){var t=e(this).parents(".form-field:eq(0)"),a=e(".tooltip-element",t),l=e(this).val();if(""!==l)if(a.length)a.attr("tooltip",l).css("display","inline-block");else{var s='?';e(".field-label",t).after(s)}else a.length&&a.css("display","none")}),c.updateMultipleSelect(),r.delegate('input[name="name"]',"keyup",function(){e(this).val(c.safename(e(this).val())),""===e(this).val()?e(this).addClass("field_error").attr("placeholder",o.messages.cannotBeEmpty):e(this).removeClass("field_error")}),r.delegate("input.fld-maxlength","keyup",function(){e(this).val(c.forceNumber(e(this).val()))}),r.on("click touchstart",".delete-confirm",function(t){t.preventDefault();var a=this.getBoundingClientRect(),l=document.body.getBoundingClientRect(),s={pageX:a.left+a.width/2,pageY:a.top-l.top-12},n=e(this).attr("id").replace(/del_/,""),i=e(document.getElementById("frm-"+n+"-item")),d=function(){i.slideUp(250,function(){i.removeClass("deleting"),i.remove(),c.save()})};if(document.addEventListener("modalClosed",function(){i.removeClass("deleting")},!1),o.fieldRemoveWarn){var p=c.markup("h3",o.messages.warning),u=c.markup("p",o.messages.fieldRemoveWarning);c.confirm([p,u],d,s),i.addClass("deleting")}else d(i);1===e("> li",r).length&&S.addClass("empty").attr("data-content",o.messages.getStarted)}),r.on("click",".style-wrap button",function(){var t=e(this).val(),a=e(this).parent(),l=a.prev(".btn-style");l.val(t),e(this).siblings(".btn").removeClass("active"),e(this).addClass("active"),O.call(a)}),r.on("click","input.required",function(){var t=e(this).parents("li.form-field").find(".required-asterisk");t.toggle()}),r.on("click",'input[name="enable_roles"]',function(){var t=e(this).siblings("div.available-roles"),a=e(this);t.slideToggle(250,function(){a.is(":checked")||e('input[type="checkbox"]',t).removeAttr("checked")})}),r.on("click",".add-opt",function(t){t.preventDefault();var a=e(this).parents(".field-options:eq(0)"),l=e('[name="multiple"]',a),s=e(".option-selected:eq(0)",a),o=!1;o=l.length?l.prop("checked"):"checkbox"===s.attr("type");var n=s.attr("name");e(".sortable-options",a).append(U(n,!1,!1,o)),c.updateMultipleSelect()}),r.on("click touchstart",".close-field",function(){var t=e(this).parents("li.form-field:eq(0)").attr("id");c.toggleEdit(t)}),r.on("mouseover mouseout",".remove, .del-button",function(){e(this).parents("li:eq(0)").toggleClass("delete")});var G=e(document.getElementById(i+"-view-data"));G.click(function(e){e.preventDefault();var t=c.htmlEncode(n.val()),a=c.markup("code",t,{className:"xml"}),l=c.markup("pre",a);c.dialog(l,null,"data-dialog")});var V=e(document.getElementById(i+"-clear-all"));V.click(function(){var t=e("li.form-field"),a=this.getBoundingClientRect(),l=document.body.getBoundingClientRect(),s={pageX:a.left+a.width/2,pageY:a.top-l.top-12};t.length?c.confirm("Are you sure you want to clear all fields?",function(){c.removeAllfields(),o.notify.success(o.messages.allFieldsRemoved),c.save()},s):c.dialog("There are no fields to clear",{pageX:s.pageX,pageY:s.pageY})}),e(document.getElementById(i+"-save")).click(function(e){e.preventDefault(),c.save(),c.validateForm(e)});var J=!1,Q=[],Z="68,69,86";return e(".fb-save").mouseover(function(){J=!0}).mouseout(function(){J=!1}),e(document.documentElement).keydown(function(t){Q.push(t.keyCode),Q.toString().indexOf(Z)>=0&&(e(".action-links").toggle(),e(".view-data").toggle(),Q=[])}),e(".dev-mode-link").click(function(t){t.preventDefault();var a=e(this);S.toggleClass("dev-mode"),a.parent().css("opacity",1),S.hasClass("dev-mode")?(a.siblings(".action-links-inner").css("width","100%"),a.html(o.messages.devMode+" "+o.messages.on).css("color","#8CC63F")):(a.siblings(".action-links-inner").css("width",0), +a.html(o.messages.devMode+" "+o.messages.off).css("color","#666666"),J=!1,e(".action-links").toggle(),e(".view-data").toggle())}),e(document.getElementById(i+"-edit-names")).click(function(t){t.preventDefault(),e(this).toggleClass("active"),e(".name-wrap",r).slideToggle(250,function(){S.toggleClass("edit-names")})}),e(document.getElementById(i+"-allow-select")).click(function(t){t.preventDefault(),e(this).toggleClass("active"),e(".allow-multi, .option-selected",r).slideToggle(250,function(){S.toggleClass("allow-select")})}),e(document.getElementById(i+"-edit-xml")).click(function(t){t.preventDefault(),e(this).toggleClass("active"),e("textarea.idea-template").show(),e(".template-textarea-wrap").slideToggle(250),S.toggleClass("edit-xml")}),n.parent().find('p[id*="ideaTemplate"]').remove(),n.wrap('
'),$(),r.css("min-height",m.height()),document.dispatchEvent(l.events.loaded),l};e.fn.formBuilder=function(a){return this.each(function(){var l,s=this;if(e(s).data("formBuilder")){var o=e(s).parents(".form-builder:eq(0)"),n=e(s).clone();o.before(n),o.remove(),l=new t(a,n[0]),n.data("formBuilder",l)}else l=new t(a,s),e(s).data("formBuilder",l)})}}(jQuery),function(e){e.fn.toXML=function(t){var a={prepend:"",attributes:["class"]},l=e.extend(a,t),s="",o={};o.getType=function(t){var a=e(".fld-subtype",t).val()||t.attr("class").replace("-field form-field","");return a},o.hyphenCase=function(e){return e.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()})},o.attrString=function(e){var t=[];for(var a in e)if(e.hasOwnProperty(a)&&e[a]){var l=a+'="'+e[a]+'"';t.push(l)}return t.join(" ")};var n=function(t){var a=[];return e(".sortable-options li",t).each(function(){var t=e(this),l='value="'+e(".option-value",t).val()+'"',s=e(".option-label",t).val(),o=e(".option-selected",t).is(":checked")?' selected="true"':"";a.push("\n "+s+"")}),a.join("")};return this.each(function(){e(this).children().length>=1&&(s+="\n ",e(this).children().each(function(){var t=e(this),a=t.data("fieldData");if(!t.hasClass("moving")&&!t.hasClass("disabled"))for(var i=0;i",d&&(s+=n(t),s+="\n ")}}),s+="\n \n")}),s}}(jQuery),"function"!=typeof Object.assign&&!function(){var e=arguments;Object.assign=function(t){if(void 0===t||null===t)throw new TypeError("Cannot convert undefined or null to object");for(var a=Object(t),l=1;l { - this.parentElement.removeChild(this); - }; - NodeList.prototype.remove = HTMLCollection.prototype.remove = function() { - for (var i = this.length - 1; i >= 0; i--) { - if (this[i] && this[i].parentElement) { - this[i].parentElement.removeChild(this[i]); - } - } - }; - })(); +if (!('remove' in Element.prototype)) { + Element.prototype.remove = function() { + if (this.parentNode) { + this.parentNode.removeChild(this); + } + }; } // Event polyfill From 551fda406bd18cb8eca37b6b6a4c8b9b6eabd44f Mon Sep 17 00:00:00 2001 From: Kevin Chappell Date: Wed, 16 Mar 2016 04:07:45 +0000 Subject: [PATCH 2/2] version bump readme update --- CHANGELOG.md | 1 + README.md | 2 +- bower.json | 2 +- demo/assets/css/demo.css | 2 +- demo/assets/css/form-builder.css | 2 +- demo/assets/css/form-builder.min.css | 2 +- demo/assets/css/form-render.css | 2 +- demo/assets/css/form-render.min.css | 2 +- demo/assets/js/form-builder.js | 2 +- demo/assets/js/form-builder.min.js | 2 +- demo/assets/js/form-render.js | 2 +- demo/assets/js/form-render.min.js | 2 +- dist/form-builder.css | 2 +- dist/form-builder.js | 2 +- dist/form-builder.min.css | 2 +- dist/form-builder.min.js | 2 +- dist/form-render.css | 2 +- dist/form-render.js | 2 +- dist/form-render.min.css | 2 +- dist/form-render.min.js | 2 +- package.json | 2 +- 21 files changed, 21 insertions(+), 20 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 644a2cd0f..192d1345c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,6 @@ # Changelog +- v1.9.5 - Bugfix: IE Element.remove() polyfill [#91](https://github.com/kevinchappell/formBuilder/pull/91) - v1.9.4 - Bugfix: IE compatibility issues [#90](https://github.com/kevinchappell/formBuilder/pull/90) - v1.9.3 - Bugfix: Update .jshintrc [#89](https://github.com/kevinchappell/formBuilder/pull/89) - v1.9.2 - Bugfix: remove CustomEvent, no IE support [#88](https://github.com/kevinchappell/formBuilder/pull/88) diff --git a/README.md b/README.md index 144e8b40a..d43cc2fea 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -formBuilder v1.9.4 +formBuilder v1.9.5 =========== [![Join the chat at https://gitter.im/kevinchappell/formBuilder](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/kevinchappell/formBuilder?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) diff --git a/bower.json b/bower.json index 1a21ff15b..bb95f9f1a 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "formBuilder", - "version": "1.9.4", + "version": "1.9.5", "main": [ "dist/*" ], diff --git a/demo/assets/css/demo.css b/demo/assets/css/demo.css index 4ded6acda..279169879 100644 --- a/demo/assets/css/demo.css +++ b/demo/assets/css/demo.css @@ -1,6 +1,6 @@ /* formBuilder - http://kevinchappell.github.io/formBuilder/ -Version: 1.9.4 +Version: 1.9.5 Author: Kevin Chappell */ article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,pre code,section{display:block}a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font:inherit;vertical-align:baseline}blockquote,table{margin-bottom:20px}code,pre{padding:1%;box-shadow:0 0 10px rgba(0,0,0,.1);width:100%}dl dd,dl p,ol,ul{padding-left:20px}td,th{padding:10px}#forkme_banner,#project_title,dl dt,h1,strong{font-weight:700}dl dd,dl p,em{font-style:italic}body{box-sizing:border-box;color:#373737;background:#212121;font-size:14px;font-family:'Myriad Pro',Calibri,Helvetica,Arial,sans-serif;line-height:1.42857143;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{margin:10px 0;font-weight:700;color:#222;font-family:'Lucida Grande',Calibri,Helvetica,Arial,sans-serif;letter-spacing:-1px}h1{font-size:36px}h2{padding-bottom:10px;font-size:32px}h3{font-size:24px}h4{font-size:21px}h5{font-size:18px}h6{font-size:16px}p{margin:10px 0 15px}footer p{color:#f2f2f2}a{text-decoration:none;color:#0090ff;text-shadow:none;-webkit-transition:text-shadow .5s ease;transition:text-shadow .5s ease}a:focus,a:hover{text-decoration:underline}p img{display:inline;margin:0;padding:0;vertical-align:middle;text-align:center;border:none}code,pre{color:#222;background-color:#fff;font-family:Monaco,"Bitstream Vera Sans Mono","Lucida Console",Terminal,monospace;font-size:14px;border-radius:2px}table,td{border:1px solid #373737}pre{overflow:auto;white-space:pre-wrap}code{margin:0 3px}pre code{box-shadow:none}blockquote{color:#666;padding:0 0 0 20px;border-left:3px solid #bbb}dl,ol,ul{margin-bottom:15px}ul{list-style:disc}ol{list-style:decimal}hr{height:1px;margin-bottom:5px;border-bottom:1px dashed #999}table{border-collapse:collapse;border-spacing:0;text-align:left}th{font-family:'Lucida Grande','Helvetica Neue',Helvetica,Arial,sans-serif;background:#373737;color:#fff}.outer{width:100%}.inner{position:relative;max-width:1080px;padding:20px 10px;margin:0 auto}#downloads,#forkme_banner{position:absolute;z-index:10}#forkme_banner{display:block;top:0;right:10px;padding:10px 50px 10px 10px;color:#fff;background:url(../img/blacktocat.png) 95% 50% no-repeat #0090ff;box-shadow:0 0 10px rgba(0,0,0,.5);border-bottom-left-radius:2px;border-bottom-right-radius:2px}#header_wrap{background:-webkit-linear-gradient(top,#373737,#212121);background:linear-gradient(to bottom,#373737,#212121)}#header_wrap .inner{padding:50px 10px 30px}#project_title{margin:0;color:#fff;font-size:42px;text-shadow:#111 0 0 10px}#project_tagline{color:#fff;font-size:24px;font-weight:300;background:0 0;text-shadow:#111 0 0 10px}#downloads{width:210px;bottom:-40px;right:0;height:70px;background:url(../img/icon_download.png) 0 90% no-repeat}.tar_download_link,.zip_download_link{display:block;float:right;width:90px;height:70px;text-indent:-5000px;overflow:hidden}.zip_download_link{background:url(../img/sprite_download.png) bottom left no-repeat}.tar_download_link{background:url(../img/sprite_download.png) bottom right no-repeat;margin-left:10px}.zip_download_link:hover{background:url(../img/sprite_download.png) top left no-repeat}.tar_download_link:hover{background:url(../img/sprite_download.png) top right no-repeat}fieldset,legend{border:1px solid #999;background:#fefefe}#main_content_wrap{background-color:#f2f2f2;background-image:url(data:image/png;base64,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);border-top:1px solid #111;border-bottom:1px solid #111}#footer_wrap{background:#212121}@media screen and (max-width:480px){.inner,code,pre{min-width:320px;max-width:480px}body{font-size:14px}#downloads{display:none}#project_title{font-size:32px}h1{font-size:28px}h2{font-size:24px}h3{font-size:21px}h4{font-size:18px}h5{font-size:14px}h6{font-size:12px}code,pre{font-size:11px;width:100%;padding:1%}}.clearfix:after,.clearfix:before{content:" ";display:table}.clearfix:after{clear:both}.demo-wrap{width:100%}.donate-plea{width:50%;float:left;text-align:left}.donate-plea h3{color:#fff;margin-top:0}.donate-plea form{float:left;margin-bottom:10px}.copyright{float:right;text-align:right}.badges{margin-top:-30px}.social{margin-top:-40px}.social .chicklets{text-indent:-9999px}em{color:#999;display:block}fieldset{padding:20px;margin:20px 0}legend{padding:5px 10px}#rendered-form{clear:both;float:left;width:62%;margin-right:2%}#rendered-form .form-group>label{font-weight:700;font-size:1.1em}.render-description{width:36%;float:right;overflow:hidden}#main_content hr{clear:both}.build-form{margin-bottom:30px} \ No newline at end of file diff --git a/demo/assets/css/form-builder.css b/demo/assets/css/form-builder.css index 57c8199ce..54b70341f 100644 --- a/demo/assets/css/form-builder.css +++ b/demo/assets/css/form-builder.css @@ -1,6 +1,6 @@ /* formBuilder - http://kevinchappell.github.io/formBuilder/ -Version: 1.9.4 +Version: 1.9.5 Author: Kevin Chappell */ @charset "UTF-8"; diff --git a/demo/assets/css/form-builder.min.css b/demo/assets/css/form-builder.min.css index a19aadf9b..99242964f 100644 --- a/demo/assets/css/form-builder.min.css +++ b/demo/assets/css/form-builder.min.css @@ -1,6 +1,6 @@ /* formBuilder - http://kevinchappell.github.io/formBuilder/ -Version: 1.9.4 +Version: 1.9.5 Author: Kevin Chappell */ @charset "UTF-8";.btn,.btn-group{display:inline-block;vertical-align:middle}.btn,.frmb-control li{-moz-user-select:none;-ms-user-select:none}.btn-group>.btn,.input-group .form-control{float:left;position:relative}.btn,.btn.active,.btn.btn-active,.btn:active,.form-control{background-image:none}.btn-group,.btn-group>.btn,.frmb li,.input-group{position:relative}*{box-sizing:border-box}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}.btn,.frmb .prev-holder label,.frmb li.disabled label,.frmb li.no-fields label{font-weight:400}textarea{overflow:auto}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-group .input-group .form-control:last-child,.btn-group .input-group-addon:last-child,.btn-group .input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.btn-group .input-group-btn:first-child>.btn:not(:first-child),.btn-group .input-group-btn:last-child>.btn,.btn-group .input-group-btn:last-child>.btn-group>.btn,.btn-group .input-group-btn:last-child>.dropdown-toggle,.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn{color:#fff;padding:6px 12px;margin-bottom:0;font-size:14px;line-height:1.42857143;text-align:center;white-space:nowrap;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid transparent;border-radius:4px}.btn.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn.btn-sm,.btn.btn-xs{font-size:12px;line-height:1.5;border-radius:3px}.btn.btn-sm{padding:5px 10px}.btn.btn-xs{padding:1px 5px}.btn-primary{background-color:#337ab7;border-color:#2e6da4}.btn-primary.active,.btn-primary.btn-active,.btn-primary:active,.btn-primary:hover{background-color:#286090;border-color:#204d74}.btn-danger{background-color:#d9534f;border-color:#d43f3a}.btn-danger:hover,.form-actions .clear-all:hover{background-color:#c9302c;border-color:#ac2925}.btn-default{background-color:#fff;border-color:#ccc}.btn-success{background-color:#5cb85c;border-color:#4cae4c}.btn-success:hover{background-color:#449d44;border-color:#398439}.btn-info{background-color:#5bc0de;border-color:#46b8da}.btn-info:hover{background-color:#31b0d5;border-color:#269abc}.btn-warning{background-color:#f0ad4e;border-color:#eea236}.btn-warning:hover{background-color:#ec971f;border-color:#d58512}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.input-group .form-control{z-index:2;width:100%;margin-bottom:0}.input-group{display:table;border-collapse:separate}.form-control,output{display:block;font-size:14px;line-height:1.42857143;color:#555}textarea.form-control{height:auto}.form-control{height:34px;width:100%;padding:6px 12px;background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-group{margin-bottom:15px}.pull-right{float:right}.pull-left{float:left}.cb-wrap,.form-actions{float:right}@font-face{font-family:form-builder-font;src:url(data:application/vnd.ms-fontobject;base64,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);src:url(data:application/vnd.ms-fontobject;base64,OCIAAGwhAAABAAIAAAAAAAIABQMAAAAAAAABAJABAAAAAExQAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAMHyFyQAAAAAAAAAAAAAAAAAAAAAAACIAZgBvAHIAbQAtAGIAdQBpAGwAZABlAHIALQBmAG8AbgB0AAAADgBSAGUAZwB1AGwAYQByAAAAFgBWAGUAcgBzAGkAbwBuACAAMQAuADAAAAAiAGYAbwByAG0ALQBiAHUAaQBsAGQAZQByAC0AZgBvAG4AdAAAAAAAAAEAAAAPAIAAAwBwR1NVQrD+s+0AAAD8AAAAQk9TLzI+IElGAAABQAAAAFZjbWFw6YEeXwAAAZgAAAI0Y3Z0IAAAAAAAABV0AAAACmZwZ22IkJBZAAAVgAAAC3BnYXNwAAAAEAAAFWwAAAAIZ2x5ZvmjZJoAAAPMAAAMmmhlYWQJDZT4AAAQaAAAADZoaGVhB5cDYgAAEKAAAAAkaG10eDqWAAAAABDEAAAAQGxvY2Ed/RryAAARBAAAACJtYXhwANwMCgAAESgAAAAgbmFtZdVcxKAAABFIAAADOXBvc3QBz/nkAAAUhAAAAOhwcmVw3WsDhQAAIPAAAAB7AAEAAAAKAB4ALAABREZMVAAIAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQAGAAAAAQAAAAAAAQOpAZAABQAAAnoCvAAAAIwCegK8AAAB4AAxAQIAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABA6ADoDgNS/2oAWgNSAJYAAAABAAAAAAAAAAAABQAAAAMAAAAsAAAABAAAAXAAAQAAAAAAagADAAEAAAAsAAMACgAAAXAABAA+AAAABAAEAAEAAOgO//8AAOgA//8AAAABAAQAAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAAAQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAxAAAAAAAAAAPAADoAAAA6AAAAAABAADoAQAA6AEAAAACAADoAgAA6AIAAAADAADoAwAA6AMAAAAEAADoBAAA6AQAAAAFAADoBQAA6AUAAAAGAADoBgAA6AYAAAAHAADoBwAA6AcAAAAIAADoCAAA6AgAAAAJAADoCQAA6AkAAAAKAADoCgAA6AoAAAALAADoCwAA6AsAAAAMAADoDAAA6AwAAAANAADoDQAA6A0AAAAOAADoDgAA6A4AAAAPABAAAP9qA+gDUgADAAcACwAPABMAFwAbAB8AIwAnACsASwBQAFQAWAB8ACVAInRbVlVSUU9MQzUqKCYkIiAeHBkYFhQSEA0MCggGBAIAEC0rATMVIycjFTM3IxUzIxUzNRUzNSMXMzUjJxUzNQMzNSMXMzUjFzM1IzMjFTMBFRQOASsBERQGIyEiJjURND4BMyE1IzUhFSMVITIeAQMpARUhJTUjFTM1IxUBNCYjIREjNSM1MzUjNTM1ISIGHQEUFjMhFSMVITUjNSEyNjUBdz8/fT4+fT4++j8+Pn0+Pj8/vD8/fT8/fT8/vD8/AbUaKxkfIhz9EhwjGisZAZZ9ATl9AVcZKxq7/on+iQLu/Y8/vD8CsBIO/qk/Pj4+Pv5qDhERDgGWfQE5fQFXDhICGj99Pj4+Pz99Pj4+Pz8//c0/Pz8/Pz8CkPoZKhr+iBwiIhwCzxkrGj8+Pj8aK/3UvPs+Pj4+AdQOEv7HPz4/Pj8SDvoOET4/Pz4RDgAADwAA/2oDoQNSAAMABwALAA8AEwAXABsAHwAjADMANwA7AD8ATwBzACNAIGBTS0Q+PDo4NjQvKCIgHhwaGBYUEhAODAoIBgQCAA8tKxczNSMXMzUjJzM1IxczNSMnMzUjATM1IyczNSMBMzUjJzM1IwM1NCYnIyIGBxUUFjczMjYBMzUjJzM1IxczNSM3NTQmJyMiBh0BFBY3MzI2NxEUBiMhIiY1ETQ2OwE1NDY7ATIWHQEzNTQ2OwEyFhcVMzIWR6GhxbKyxaGhxbKyxaGhAZuzs9aysgGsoaHWs7PEDAYkBwoBDAYkBwoBm6Gh1rOz1qGhEgoIIwgKCggjCArXLBz87h0qKh1INCUkJTTWNiQjJTQBRx0qT6GhoSSysrIkof3Eofqh/cShJLIBMKEHCgEMBqEHDAEK/iayJKGhoWuhBwoBDAahBwwBCiz9NR0qKh0Cyx0qNiU0NCU2NiU0NCU2KgACAAD/yAPiAsIAFAApAAi1JBwUBAItKwERFA4BIyEiLgE1ETQ+ATMhMhYXNwcJAQUlNTQmIyEiBhURFBYzITI2NQNMGisZ/c4ZKxoaKxkCMiEzCpbV/tT+zgEyASwRDv3ODhISDgIyDhECGv4MGSsaGisZAjIZKxoqIVfz/pUBlmS2DA4REQ79zg4SEg4AAAAIAAD/qAPoA1IAAwAHAAsADwATABcAGwAfABVAEh8cGxgXFBIQDQwJCAYEAgAILSsRITUhFSE1IQUVITURNSEVNSE1IQ8BJxcTBycXEwcnFwPo/BgD6PwYAXcCM/3NAjP9zX2cXl6cnF5enJxeXgMUPrs+uz8//c0/P/o/vF4gfgG2XiB9AbVeIH0AAAsAAP+oA+gDUgADAAcACwAPABMAIAApADUAPgBLAFQAG0AYUExFPzo2MColIRoUERAODAoIBgQCAAstKxEhNSEVITUhBSE1IQUhFSEVNSEVAyIuATQ+ATIeARQOASciBhQWMjY0JgMiLgE0PgEzMhYUBiciBhQWMjY0JgMiLgE0PgEyHgEUDgEnIgYUFjI2NCYD6PwYA+j8GAE5AnH9jwJx/Y8Ccf2P2xkrGhorMisaGisZDhERHBERDhkrGhorGSc3NycOEREbEhINGSsaGisyKxoaKxkOEREcEREDFD67Pvo/+j/6Pz8BthoqMisaGisyKhp9EhwRERwS/oIaKzIrGjVSNX0RHBEVFBX+jxorMisaGisyKxp+EhwRERwSABUAAP+oA+gDFAAPABMAFwAbAB8ANwA7AD8AQwBHAEsATwBTAFcAWwBfAHcAewB/AIMAhwAvQCyGhIKAfXx6eHZkXlxaWFVUUVBNTElIRURBQD08OTgiIB4cGhgWFBIQBwAVLSsBISIGFREUFjMhMjY1ETQmBTMVIxUzFSMBIREhNSE1ITUhNTMVMzUzFTM1MxUzNTMVMzUzFTM1MyUVIz0CMxUXFSM9AjMVFxUjPQIzFRcVIz0CMxUXIzUzNSM1MzUjNSMVIzUjFSM1IxUjNSMVIzUjFSM1ITUhNSEBNSEVNSE1ISchNSEDqvyVHCMjHANrHCIi/HkyMjIyA2v8lQNr/JUDa/yVMl1SV1FeS15RXiz9b0tSqFFRqUtLr1FRijIyMjIyXlFYS15RXktdMgNr/JUDa/0SAnH9jwJxff4MAfQDFCId/RIcIyMcAu4cI4QSDRP9iQIsDRMMEw0NDQ0NDQ0NDQ0fExMNEhINExMNEhINExMNEhINExMNEhIgEw0SDQYMDAwMDAwMDAwZDBP9lT8/fT8+PwAAAAAQAAD/qAPoA1IADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPAA/AEMARwAlQCJFREFAPj07OTc1MzEuLSspJyUjIR8dGxkWFRMRDw0EABAtKxkBMRQWMyEyNjURMxEFIRUhFSEVIRU1IRUTIzUzBTMVIxEzFSM3MxUjNzMVIzcVIzUlMxUjNzMVIzczFSMBJzMFNTMVMzUzFSMcAnEcIvr8VwJx/Y8Ccf2PAnH6vLz80z8/Pz99Pz99Pz+8P/6JPz99Pz99Pz8B1T93/Pk/Pj8DUvyVHCMjHAIzATg+vLu8+ry8AnG8Pz79zT4+Pj4+Pj4++j4+Pj4+AXBF+j8/Pz8ABgAA/6gD6AMUAAMABwALAA8AHwAjABFADiEgGxMODAkIBgQBAAYtKzc1IRUlITUhHQEhPQEhFSETETQmIyEiBhURFBYzITI2AxEhEbwB9P4MAnH9jwJx/Y8CcbsiHPyVHCMjHANrHCI+/JWjPj76Pn0+Pvo+/c0C7hwjIh39EhwjIwMK/RIC7gAAAAADAAD/5wPoAtUAHwAjACcACrcmJCEgFAQDLSsBITUzNSMVMxUjIgYVERQWOwEVIxUzNSM1ITI2NRE0JgERMxEpAREhA6r9b176XpwbJCMcnF76XgKRHCIj/HqcAs/9bwKRAlg/Pj4/Jhj+iRwjPj8/PiMcAXcYJv5LAXf+iQF3AAQAAP+xA00C/wAGABQAGQAkAA1ACiAdFxUPCAIABC0rFzcnBxUzFQE0IyIHAQYVFDMyNwE2JxcBIzUBFA8BJzc2Mh8BFssygzNIAV8MBQT+0QQNBQQBLwMe6P4w6ANNFF3oXRQ7FoMUBzODMzxHAgYMBP7SBAYMBAEuBHHo/i/pAZodFV3pXBUVgxYAAwAA/6gDqgMUAAQACAAPAAq3DQoHBQIAAy0rJSEVITUHIzUzATcXIxEjEQHV/isDqj99ff1w+vqcvKP7+30+Abb6+v7HATkAFgAAAAAD6AJYAAMABwALAA8AEwAXABsAHwAjACcAKwAvADMANwA7AD8AQwBHAEsATwBTAFcAMUAuVlRSUE5MSkhGREJAPjw6ODY0MjAuLCooJiQiIB4cGhgWFBIQDgwKCAYEAgAWLSsTMzUjFzM1IxczNSMXMzUjFzM1IxczNSMXMzUjBTM1IwUzNSMFMzUjBTM1IwUzNSMFMzUjBTM1IxczNSMXMzUjFzM1IxczNSMXMzUjFzM1IxMzNSMBMzUjPz4+fT4+fT4+fT4+fT4+fT4+fT4+/NM/PwOqPj78Vj8/A6o+PvxWPz8Dqj4+/NM/P30/P30/P30/P30/P30/P30/Pz8+PvxWPz8CGj4+Pj4+Pj4+Pj4+Pj59P30+fT99Pn0/fT59Pz8/Pz8/Pz8/Pz8/PwF3Pv4MPwAAAAEAAP9qAYoDUgAgAAazHAwBLSsBFAYnIxEzMh4BDwEGIi8BJjQ2OwERIyImNj8BNjIfARYBiRYOR0cPFAIMjwoeCo8KFA9ISA4WAgmPCxwLjwsCnw4WAf3EFB4LjgsLjgseFAI8FB4LjgsLjgsAAAAHAAAAAAPoAlgAAwAHAAsADwAYACEALAATQBAoIh0ZFBAODAoIBgQCAActKxMhNSEDMxEjEyE1KQEzESMFIgYUFjI2NCYnMhYUBiImNDYXMxU3MwcXIycVIz4Da/yVPj8/PwNr/JUDaz4+/dgiJydDJychMDk5YDo6yR9mKHF5KW0fAho+/ksBd/5KPwF3XzJWMjJWMhlAbEBAbEAEYGBqem5uAAEAAP+0Aw8DCAA2AAazCQIBLSslFAYjIicBJjQ2MhcBFhQGIicBJiIGFhcBFjMyNjc0JwEmIyIGFB8BFhQGIi8BJjU0NjMyFwEWAw9YQUs4/k4/fLBAAVIFIhAG/q4sdFIBKgGxIy4kLgEk/rwOExAWDuUGJA8F5SNALTEiAUU3TUFYNwGyQK98P/6uBRAiBQFTK1R1K/5PJDAjLiMBRA4WIg/kBhAiBeUiMS5AJP68NgAAAAEAAAABAADJhXwwXw889QALA+gAAAAA0wMoqwAAAADTAyisAAD/agPoA1IAAAAIAAIAAAAAAAAAAQAAA1L/agBaA+gAAP//A+gAAQAAAAAAAAAAAAAAAAAAABAD6AAAA+gAAAOgAAAD6AAAA+gAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA1kAAAPoAAAD6AAAAawAAAPoAAADEQAAAAAAAAC+AXABuAH+Ao4DXAPcBCIEYgSoBMwFagWiBfQGTQAAAAEAAAAQAIgAFgAAAAAAAgAAABAAcwAAAEILcAAAAAAAAAASAN4AAQAAAAAAAAA1AAAAAQAAAAAAAQARADUAAQAAAAAAAgAHAEYAAQAAAAAAAwARAE0AAQAAAAAABAARAF4AAQAAAAAABQALAG8AAQAAAAAABgARAHoAAQAAAAAACgArAIsAAQAAAAAACwATALYAAwABBAkAAABqAMkAAwABBAkAAQAiATMAAwABBAkAAgAOAVUAAwABBAkAAwAiAWMAAwABBAkABAAiAYUAAwABBAkABQAWAacAAwABBAkABgAiAb0AAwABBAkACgBWAd8AAwABBAkACwAmAjVDb3B5cmlnaHQgKEMpIDIwMTYgYnkgb3JpZ2luYWwgYXV0aG9ycyBAIGZvbnRlbGxvLmNvbWZvcm0tYnVpbGRlci1mb250UmVndWxhcmZvcm0tYnVpbGRlci1mb250Zm9ybS1idWlsZGVyLWZvbnRWZXJzaW9uIDEuMGZvcm0tYnVpbGRlci1mb250R2VuZXJhdGVkIGJ5IHN2ZzJ0dGYgZnJvbSBGb250ZWxsbyBwcm9qZWN0Lmh0dHA6Ly9mb250ZWxsby5jb20AQwBvAHAAeQByAGkAZwBoAHQAIAAoAEMAKQAgADIAMAAxADYAIABiAHkAIABvAHIAaQBnAGkAbgBhAGwAIABhAHUAdABoAG8AcgBzACAAQAAgAGYAbwBuAHQAZQBsAGwAbwAuAGMAbwBtAGYAbwByAG0ALQBiAHUAaQBsAGQAZQByAC0AZgBvAG4AdABSAGUAZwB1AGwAYQByAGYAbwByAG0ALQBiAHUAaQBsAGQAZQByAC0AZgBvAG4AdABmAG8AcgBtAC0AYgB1AGkAbABkAGUAcgAtAGYAbwBuAHQAVgBlAHIAcwBpAG8AbgAgADEALgAwAGYAbwByAG0ALQBiAHUAaQBsAGQAZQByAC0AZgBvAG4AdABHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAAAAgAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAQIBAwEEAQUBBgEHAQgBCQEKAQsBDAENAQ4BDwEQAREADGF1dG9jb21wbGV0ZQhjYWxlbmRhcghjaGVja2JveA5jaGVja2JveC1ncm91cAtyYWRpby1ncm91cAlyaWNoLXRleHQGc2VsZWN0CXRleHQtYXJlYQp0ZXh0LWlucHV0BnBlbmNpbApmaWxlLWlucHV0DGhpZGRlbi1pbnB1dA9yZXNpemUtdmVydGljYWwMYnV0dG9uLWlucHV0BmF0dGFjaAAAAAEAAf//AA8AAAAAAAAAAAAAAACwACwgsABVWEVZICBLuAAOUUuwBlNaWLA0G7AoWWBmIIpVWLACJWG5CAAIAGNjI2IbISGwAFmwAEMjRLIAAQBDYEItsAEssCBgZi2wAiwgZCCwwFCwBCZasigBCkNFY0VSW1ghIyEbilggsFBQWCGwQFkbILA4UFghsDhZWSCxAQpDRWNFYWSwKFBYIbEBCkNFY0UgsDBQWCGwMFkbILDAUFggZiCKimEgsApQWGAbILAgUFghsApgGyCwNlBYIbA2YBtgWVlZG7ABK1lZI7AAUFhlWVktsAMsIEUgsAQlYWQgsAVDUFiwBSNCsAYjQhshIVmwAWAtsAQsIyEjISBksQViQiCwBiNCsQEKQ0VjsQEKQ7AAYEVjsAMqISCwBkMgiiCKsAErsTAFJbAEJlFYYFAbYVJZWCNZISCwQFNYsAErGyGwQFkjsABQWGVZLbAFLLAHQyuyAAIAQ2BCLbAGLLAHI0IjILAAI0JhsAJiZrABY7ABYLAFKi2wBywgIEUgsAtDY7gEAGIgsABQWLBAYFlmsAFjYESwAWAtsAgssgcLAENFQiohsgABAENgQi2wCSywAEMjRLIAAQBDYEItsAosICBFILABKyOwAEOwBCVgIEWKI2EgZCCwIFBYIbAAG7AwUFiwIBuwQFlZI7AAUFhlWbADJSNhRESwAWAtsAssICBFILABKyOwAEOwBCVgIEWKI2EgZLAkUFiwABuwQFkjsABQWGVZsAMlI2FERLABYC2wDCwgsAAjQrILCgNFWCEbIyFZKiEtsA0ssQICRbBkYUQtsA4ssAFgICCwDENKsABQWCCwDCNCWbANQ0qwAFJYILANI0JZLbAPLCCwEGJmsAFjILgEAGOKI2GwDkNgIIpgILAOI0IjLbAQLEtUWLEEZERZJLANZSN4LbARLEtRWEtTWLEEZERZGyFZJLATZSN4LbASLLEAD0NVWLEPD0OwAWFCsA8rWbAAQ7ACJUKxDAIlQrENAiVCsAEWIyCwAyVQWLEBAENgsAQlQoqKIIojYbAOKiEjsAFhIIojYbAOKiEbsQEAQ2CwAiVCsAIlYbAOKiFZsAxDR7ANQ0dgsAJiILAAUFiwQGBZZrABYyCwC0NjuAQAYiCwAFBYsEBgWWawAWNgsQAAEyNEsAFDsAA+sgEBAUNgQi2wEywAsQACRVRYsA8jQiBFsAsjQrAKI7AAYEIgYLABYbUQEAEADgBCQopgsRIGK7ByKxsiWS2wFCyxABMrLbAVLLEBEystsBYssQITKy2wFyyxAxMrLbAYLLEEEystsBkssQUTKy2wGiyxBhMrLbAbLLEHEystsBwssQgTKy2wHSyxCRMrLbAeLACwDSuxAAJFVFiwDyNCIEWwCyNCsAojsABgQiBgsAFhtRAQAQAOAEJCimCxEgYrsHIrGyJZLbAfLLEAHistsCAssQEeKy2wISyxAh4rLbAiLLEDHistsCMssQQeKy2wJCyxBR4rLbAlLLEGHistsCYssQceKy2wJyyxCB4rLbAoLLEJHistsCksIDywAWAtsCosIGCwEGAgQyOwAWBDsAIlYbABYLApKiEtsCsssCorsCoqLbAsLCAgRyAgsAtDY7gEAGIgsABQWLBAYFlmsAFjYCNhOCMgilVYIEcgILALQ2O4BABiILAAUFiwQGBZZrABY2AjYTgbIVktsC0sALEAAkVUWLABFrAsKrABFTAbIlktsC4sALANK7EAAkVUWLABFrAsKrABFTAbIlktsC8sIDWwAWAtsDAsALABRWO4BABiILAAUFiwQGBZZrABY7ABK7ALQ2O4BABiILAAUFiwQGBZZrABY7ABK7AAFrQAAAAAAEQ+IzixLwEVKi2wMSwgPCBHILALQ2O4BABiILAAUFiwQGBZZrABY2CwAENhOC2wMiwuFzwtsDMsIDwgRyCwC0NjuAQAYiCwAFBYsEBgWWawAWNgsABDYbABQ2M4LbA0LLECABYlIC4gR7AAI0KwAiVJiopHI0cjYSBYYhshWbABI0KyMwEBFRQqLbA1LLAAFrAEJbAEJUcjRyNhsAlDK2WKLiMgIDyKOC2wNiywABawBCWwBCUgLkcjRyNhILAEI0KwCUMrILBgUFggsEBRWLMCIAMgG7MCJgMaWUJCIyCwCEMgiiNHI0cjYSNGYLAEQ7ACYiCwAFBYsEBgWWawAWNgILABKyCKimEgsAJDYGQjsANDYWRQWLACQ2EbsANDYFmwAyWwAmIgsABQWLBAYFlmsAFjYSMgILAEJiNGYTgbI7AIQ0awAiWwCENHI0cjYWAgsARDsAJiILAAUFiwQGBZZrABY2AjILABKyOwBENgsAErsAUlYbAFJbACYiCwAFBYsEBgWWawAWOwBCZhILAEJWBkI7ADJWBkUFghGyMhWSMgILAEJiNGYThZLbA3LLAAFiAgILAFJiAuRyNHI2EjPDgtsDgssAAWILAII0IgICBGI0ewASsjYTgtsDkssAAWsAMlsAIlRyNHI2GwAFRYLiA8IyEbsAIlsAIlRyNHI2EgsAUlsAQlRyNHI2GwBiWwBSVJsAIlYbkIAAgAY2MjIFhiGyFZY7gEAGIgsABQWLBAYFlmsAFjYCMuIyAgPIo4IyFZLbA6LLAAFiCwCEMgLkcjRyNhIGCwIGBmsAJiILAAUFiwQGBZZrABYyMgIDyKOC2wOywjIC5GsAIlRlJYIDxZLrErARQrLbA8LCMgLkawAiVGUFggPFkusSsBFCstsD0sIyAuRrACJUZSWCA8WSMgLkawAiVGUFggPFkusSsBFCstsD4ssDUrIyAuRrACJUZSWCA8WS6xKwEUKy2wPyywNiuKICA8sAQjQoo4IyAuRrACJUZSWCA8WS6xKwEUK7AEQy6wKystsEAssAAWsAQlsAQmIC5HI0cjYbAJQysjIDwgLiM4sSsBFCstsEEssQgEJUKwABawBCWwBCUgLkcjRyNhILAEI0KwCUMrILBgUFggsEBRWLMCIAMgG7MCJgMaWUJCIyBHsARDsAJiILAAUFiwQGBZZrABY2AgsAErIIqKYSCwAkNgZCOwA0NhZFBYsAJDYRuwA0NgWbADJbACYiCwAFBYsEBgWWawAWNhsAIlRmE4IyA8IzgbISAgRiNHsAErI2E4IVmxKwEUKy2wQiywNSsusSsBFCstsEMssDYrISMgIDywBCNCIzixKwEUK7AEQy6wKystsEQssAAVIEewACNCsgABARUUEy6wMSotsEUssAAVIEewACNCsgABARUUEy6wMSotsEYssQABFBOwMiotsEcssDQqLbBILLAAFkUjIC4gRoojYTixKwEUKy2wSSywCCNCsEgrLbBKLLIAAEErLbBLLLIAAUErLbBMLLIBAEErLbBNLLIBAUErLbBOLLIAAEIrLbBPLLIAAUIrLbBQLLIBAEIrLbBRLLIBAUIrLbBSLLIAAD4rLbBTLLIAAT4rLbBULLIBAD4rLbBVLLIBAT4rLbBWLLIAAEArLbBXLLIAAUArLbBYLLIBAEArLbBZLLIBAUArLbBaLLIAAEMrLbBbLLIAAUMrLbBcLLIBAEMrLbBdLLIBAUMrLbBeLLIAAD8rLbBfLLIAAT8rLbBgLLIBAD8rLbBhLLIBAT8rLbBiLLA3Ky6xKwEUKy2wYyywNyuwOystsGQssDcrsDwrLbBlLLAAFrA3K7A9Ky2wZiywOCsusSsBFCstsGcssDgrsDsrLbBoLLA4K7A8Ky2waSywOCuwPSstsGossDkrLrErARQrLbBrLLA5K7A7Ky2wbCywOSuwPCstsG0ssDkrsD0rLbBuLLA6Ky6xKwEUKy2wbyywOiuwOystsHAssDorsDwrLbBxLLA6K7A9Ky2wciyzCQQCA0VYIRsjIVlCK7AIZbADJFB4sAEVMC0AS7gAyFJYsQEBjlmwAbkIAAgAY3CxAAVCsQAAKrEABUKxAAgqsQAFQrEACCqxAAVCuQAAAAkqsQAFQrkAAAAJKrEDAESxJAGIUViwQIhYsQNkRLEmAYhRWLoIgAABBECIY1RYsQMARFlZWVmxAAwquAH/hbAEjbECAEQA) format("embedded-opentype"),url(data:application/font-woff;base64,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) format("woff"),url(data:application/x-font-ttf;base64,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) format("truetype"),url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxtZXRhZGF0YT5Db3B5cmlnaHQgKEMpIDIwMTYgYnkgb3JpZ2luYWwgYXV0aG9ycyBAIGZvbnRlbGxvLmNvbTwvbWV0YWRhdGE+CjxkZWZzPgo8Zm9udCBpZD0iZm9ybS1idWlsZGVyLWZvbnQiIGhvcml6LWFkdi14PSIxMDAwIiA+Cjxmb250LWZhY2UgZm9udC1mYW1pbHk9ImZvcm0tYnVpbGRlci1mb250IiBmb250LXdlaWdodD0iNDAwIiBmb250LXN0cmV0Y2g9Im5vcm1hbCIgdW5pdHMtcGVyLWVtPSIxMDAwIiBhc2NlbnQ9Ijg1MCIgZGVzY2VudD0iLTE1MCIgLz4KPG1pc3NpbmctZ2x5cGggaG9yaXotYWR2LXg9IjEwMDAiIC8+CjxnbHlwaCBnbHlwaC1uYW1lPSJhdXRvY29tcGxldGUiIHVuaWNvZGU9IiYjeGU4MDA7IiBkPSJNMzc1IDUzOGg2M3YtNjNoLTYzdjYzeiBtLTEyNSA2MmgtNjJ2LTYyaDYydjYyeiBtMTI1IDBoLTYydi02Mmg2MnY2MnogbS0yNTAtNjJ2LTYzaDYzdjYzaC02M3ogbTYzLTEyNWg2MnY2MmgtNjJ2LTYyeiBtMTI1IDBoNjJ2NjJoLTYydi02MnogbS02MyAxMjV2LTYzaDYzdjYzaC02M3ogbS0xMjUtNTYzaDYzdjYzaC02M3YtNjN6IG0xMjUgMGg2M3Y2M2gtNjN2LTYzeiBtMTI1IDBoNjN2NjNoLTYzdi02M3ogbTE4OCA2M2gtNjN2LTYzaDYzdjYzeiBtNDM3IDU5M3YtMjUwYzAtNTAtNDQtOTMtOTQtOTNoLTMxdi0xODgtMTg4YzAtMzctMjUtNjItNjItNjJoLTc1MGMtMzggMC02MyAyNS02MyA2MnY3MTljMCA1MCA0NCA5NCA5NCA5NGgxODcgMjE5djMxIDMyaC02Mi02M3YzMSAzMWgxNTYgMTU3di0zMS0zMWgtNjMtNjJ2LTMyLTMxaDE4NyAxNTZjNTAgMCA5NC00NCA5NC05NHogbS0xODctNTMxaC0zNzUtMzc1di0xODhoNzUwdjE4OHogbS02MjUgNjN2NjJoLTYzdi02Mmg2M3ogbTEyNSAwdjYyaC02M3YtNjJoNjN6IG02MjUgNDY4YzAgMTktMTMgMzItMzIgMzJoLTM0M3YtMTU3LTE1NmgtMzItMzF2MzEgMzJoLTYydjYyaDYydjMxIDMyaC02MnY2Mmg2MnYzMSAzMmgtNDA2Yy0xOSAwLTMxLTEzLTMxLTMydi0yNTBjMC0xOCAxMi0zMSAzMS0zMWg0MDZ2LTYyaC0xMjV2LTMyLTMxaDE1NiAxNTd2MzEgMzJoLTEyNXY2MmgzNDNjMTkgMCAzMiAxMyAzMiAzMXYyNTB6IiBob3Jpei1hZHYteD0iMTAwMCIgLz4KPGdseXBoIGdseXBoLW5hbWU9ImNhbGVuZGFyIiB1bmljb2RlPSImI3hlODAxOyIgZD0iTTcxLTc5aDE2MXYxNjFoLTE2MXYtMTYxeiBtMTk3IDBoMTc4djE2MWgtMTc4di0xNjF6IG0tMTk3IDE5N2gxNjF2MTc4aC0xNjF2LTE3OHogbTE5NyAwaDE3OHYxNzhoLTE3OHYtMTc4eiBtLTE5NyAyMTRoMTYxdjE2MWgtMTYxdi0xNjF6IG00MTEtNDExaDE3OXYxNjFoLTE3OXYtMTYxeiBtLTIxNCA0MTFoMTc4djE2MWgtMTc4di0xNjF6IG00MjgtNDExaDE2MXYxNjFoLTE2MXYtMTYxeiBtLTIxNCAxOTdoMTc5djE3OGgtMTc5di0xNzh6IG0tMTk2IDQ4MnYxNjFxMCA3LTYgMTJ0LTEyIDZoLTM2cS03IDAtMTItNnQtNi0xMnYtMTYxcTAtNyA2LTEzdDEyLTVoMzZxNyAwIDEyIDV0NiAxM3ogbTQxMC00ODJoMTYxdjE3OGgtMTYxdi0xNzh6IG0tMjE0IDIxNGgxNzl2MTYxaC0xNzl2LTE2MXogbTIxNCAwaDE2MXYxNjFoLTE2MXYtMTYxeiBtMTggMjY4djE2MXEwIDctNSAxMnQtMTMgNmgtMzVxLTggMC0xMy02dC01LTEydi0xNjFxMC03IDUtMTN0MTMtNWgzNXE4IDAgMTMgNXQ1IDEzeiBtMjE1IDM2di03MTVxMC0yOS0yMi01MHQtNTAtMjFoLTc4NnEtMjkgMC01MCAyMXQtMjEgNTB2NzE1cTAgMjkgMjEgNTB0NTAgMjFoNzJ2NTRxMCAzNyAyNiA2M3Q2MyAyNmgzNnEzNyAwIDYzLTI2dDI2LTYzdi01NGgyMTR2NTRxMCAzNyAyNyA2M3Q2MyAyNmgzNXEzNyAwIDYzLTI2dDI3LTYzdi01NGg3MXEyOSAwIDUwLTIxdDIyLTUweiIgaG9yaXotYWR2LXg9IjkyOC42IiAvPgo8Z2x5cGggZ2x5cGgtbmFtZT0iY2hlY2tib3giIHVuaWNvZGU9IiYjeGU4MDI7IiBkPSJNODQ0IDUzOHYtNTAwYzAtNTEtNDQtOTQtOTQtOTRoLTU2MmMtNTAgMC05NCA0My05NCA5NHY1NjJjMCA1MCA0NCA5NCA5NCA5NGg1NjJjNDQgMCA4MS0zMSA5NC03NWwxNTAgODctMTUwLTE2OHogbS02My03NWwtMzAwLTM2My0zMDYgNDA2IDMwNi0xMDAgMzAwIDE4MnYxMmMwIDE5LTEyIDMxLTMxIDMxaC01NjJjLTE5IDAtMzItMTItMzItMzF2LTU2MmMwLTE5IDEzLTMyIDMyLTMyaDU2MmMxOSAwIDMxIDEzIDMxIDMydjQyNXoiIGhvcml6LWFkdi14PSIxMDAwIiAvPgo8Z2x5cGggZ2x5cGgtbmFtZT0iY2hlY2tib3gtZ3JvdXAiIHVuaWNvZGU9IiYjeGU4MDM7IiBkPSJNMCA3ODhoMTAwMHY2MmgtMTAwMHYtNjJ6IG0wLTEyNWgxMDAwdjYyaC0xMDAwdi02MnogbTM3NS0xMjV2LTYzaDU2M3Y2M2gtNTYzeiBtNTYzLTU2M3Y2M2gtNTYzdi02M2g1NjN6IG0tNTYzIDI1MGg1NjN2NjNoLTU2M3YtNjN6IG0tMTI1LTEyNWwtMTU2LTk0LTk0IDMyIDk0LTEyNiAxNTYgMTg4eiBtMCAyNTBsLTE1Ni05NC05NCAzMiA5NC0xMjUgMTU2IDE4N3ogbTAgMjUwbC0xNTYtOTQtOTQgMzIgOTQtMTI1IDE1NiAxODd6IiBob3Jpei1hZHYteD0iMTAwMCIgLz4KPGdseXBoIGdseXBoLW5hbWU9InJhZGlvLWdyb3VwIiB1bmljb2RlPSImI3hlODA0OyIgZD0iTTAgNzg4aDEwMDB2NjJoLTEwMDB2LTYyeiBtMC0xMjVoMTAwMHY2MmgtMTAwMHYtNjJ6IG0zMTMtMTg4aDYyNXY2M2gtNjI1di02M3ogbTYyNS0xODdoLTYyNXYtNjNoNjI1djYzeiBtMC0zMTN2NjNoLTYyNXYtNjNoNjI1eiBtLTg0NCA0MzhjLTUwIDAtOTQgNDMtOTQgOTNzNDQgOTQgOTQgOTQgOTQtNDQgOTQtOTQtNDQtOTMtOTQtOTN6IG0wIDEyNWMtMTkgMC0zMS0xMy0zMS0zMnMxMi0zMSAzMS0zMSAzMSAxMyAzMSAzMS0xMiAzMi0zMSAzMnogbTAtMzgyYy01MCAwLTk0IDQ0LTk0IDk0czQ0IDk0IDk0IDk0IDk0LTM4IDk0LTk0LTQ0LTk0LTk0LTk0eiBtMCAxMjVjLTE5IDAtMzEtMTItMzEtMzFzMTItMzEgMzEtMzEgMzEgMTkgMzEgMzEtMTIgMzEtMzEgMzF6IG0wLTM2OWMtNTAgMC05NCA0NC05NCA5NHM0NCA5NCA5NCA5NCA5NC00NCA5NC05NC00NC05NC05NC05NHogbTAgMTI2Yy0xOSAwLTMxLTEzLTMxLTMyczEyLTMxIDMxLTMxIDMxIDEyIDMxIDMxLTEyIDMyLTMxIDMyeiIgaG9yaXotYWR2LXg9IjEwMDAiIC8+CjxnbHlwaCBnbHlwaC1uYW1lPSJyaWNoLXRleHQiIHVuaWNvZGU9IiYjeGU4MDU7IiBkPSJNOTM4IDc4OGgtODc1Yy0zOCAwLTYzLTI1LTYzLTYzdi03NTBjMC0zOCAyNS02MyA2My02M2g4NzVjMzcgMCA2MiAyNSA2MiA2M3Y3NTBjMCAzOC0yNSA2My02MiA2M3ogbS04NzUtMTMyaDUwdi0xOGgtNTB2MTh6IG0wLTMxaDUwdi0xOWgtNTB2MTl6IG04NzUtNjUwaC04NzV2NTU2aDg3NXYtNTU2eiBtMCA1NjloLTg3NXYxOWg4NzV2LTE5eiBtMCAzMWgtODc1djE5aDUwdi0xM2g5M3YxM2g4MnYtMTNoODd2MTNoODF2LTEzaDk0djEzaDc1di0xM2g5NHYxM2g4MXYtMTNoOTR2MTNoNDR2LTE5eiBtLTY1NyA1MHYtMTloLTc1djE5aDc1eiBtLTc1IDEzdjE4aDgydi0xOGgtODJ6IG0yNTAtMTN2LTE5aC04MXYxOWg4MXogbS04MSAxM3YxOGg4MXYtMThoLTgxeiBtMjUwLTEzdi0xOWgtNzV2MTloNzV6IG0tNzUgMTN2MThoNzV2LTE4aC03NXogbTI1MC0xM3YtMTloLTgxdjE5aDgxeiBtLTgxIDEzdjE4aDgxdi0xOGgtODF6IG0yMTktMzJoLTUwdjE5aDUwdi0xOXogbTAgMzJoLTUwdjE4aDUwdi0xOHogbTAgMzFoLTUwdjZoLTk0di0xMmgtODF2MTJoLTg4di0xMmgtNzV2MTJoLTk0di0xMmgtODF2MTJoLTk0di0xMmgtNzV2MTJoLTkzdi0xMmgtNTB2MjVoODc1di0xOXogbTAgMzFoLTg3NXYxOWg4NzV2LTE5eiBtLTc1MC02MDB2NjNoNjI1di02M2gtNjI1eiBtNjI1IDEyNWgtNjI1djYzaDYyNXYtNjN6IG0tMTI1IDEyNWgtNTAwdjYzaDUwMHYtNjN6IiBob3Jpei1hZHYteD0iMTAwMCIgLz4KPGdseXBoIGdseXBoLW5hbWU9InNlbGVjdCIgdW5pY29kZT0iJiN4ZTgwNjsiIGQ9Ik0wIDg1MHYtODc1aDBjMC0zOCAyNS02MyA2My02M2g2MjVjMzcgMCA2MiAyNSA2MiA2M2gwdjU2M2gyNTB2MzEyaC0xMDAweiBtNjMtNjJoNjI1di0xODhoLTYyNXYxODh6IG0wLTM3NWg2MjV2LTE4OGgtNjI1djE4OHogbTAtNDM4djE4OGg2MjV2LTE4OGgtNjI1eiBtODc1IDYyNWgtMTg4djE4OGgxODh2LTE4OHogbS04MTMgMTI1aDYzdi02MmgtNjN2NjJ6IG0wLTYyNWg2M3YtNjJoLTYzdjYyeiBtMTI1IDBoNjN2LTYyaC02M3Y2MnogbTEyNSAwaDYzdi02MmgtNjN2NjJ6IG0xODggMHYtNjJoLTYzdjYyaDYzeiBtLTQzOCAyNTBoNjN2LTYyaC02M3Y2MnogbTEyNSAwaDYzdi02MmgtNjN2NjJ6IG0xMjUgMGg2M3YtNjJoLTYzdjYyeiBtNDY5IDMwNmwtNjMgNjloMTE5bC01Ni02OXogbS03MTktMTgxdjYzaDYzdi02M2gtNjNsMCAweiBtMTI1IDB2NjNoNjN2LTYzaC02M2wwIDB6IiBob3Jpei1hZHYteD0iMTAwMCIgLz4KPGdseXBoIGdseXBoLW5hbWU9InRleHQtYXJlYSIgdW5pY29kZT0iJiN4ZTgwNzsiIGQ9Ik0xODggMTYzdjYyaDUwMHYtNjJoLTUwMGwwIDB6IG0wIDI1MGg2MjV2NjJoLTYyNXYtNjJsMCAweiBtMC02M3YtNjJoNjI1djYyaC02MjVsMCAweiBtNjI1IDI1MGgtNjI1di02Mmg2MjV2NjJsMCAweiBtMTg3LTYyNXY3NTBjMCAzOC0yNSA2My02MiA2M2gtODc1Yy0zOCAwLTYzLTI1LTYzLTYzdi03NTBjMC0zOCAyNS02MyA2My02M2g4NzVjMzcgMCA2MiAyNSA2MiA2M3ogbS02MiA3NTB2LTc1MGgtODc1djc1MGg4NzV6IiBob3Jpei1hZHYteD0iMTAwMCIgLz4KPGdseXBoIGdseXBoLW5hbWU9InRleHQtaW5wdXQiIHVuaWNvZGU9IiYjeGU4MDg7IiBkPSJNOTM4IDYwMGgtNjU3djYzaDk0djYyaC05NC02Mi05NHYtNjJoOTR2LTYzaC0xNTZjLTM4IDAtNjMtMzEtNjMtNjJ2LTM3NWMwLTM4IDI1LTYzIDYzLTYzaDE1NnYtNjJoLTk0di02M2gyNTB2NjNoLTk0djYyaDY1N2MzNyAwIDYyIDI1IDYyIDYzdjM3NWMwIDMxLTI1IDYyLTYyIDYyeiBtLTg3NS00Mzd2Mzc1aDE1NnYtMzc1aC0xNTZ6IG04NzUgMGgtNjU3djM3NWg2NTd2LTM3NXoiIGhvcml6LWFkdi14PSIxMDAwIiAvPgo8Z2x5cGggZ2x5cGgtbmFtZT0icGVuY2lsIiB1bmljb2RlPSImI3hlODA5OyIgZD0iTTIwMy03bDUwIDUxLTEzMSAxMzEtNTEtNTF2LTYwaDcydi03MWg2MHogbTI5MSA1MThxMCAxMi0xMiAxMi01IDAtOS00bC0zMDMtMzAycS00LTQtNC0xMCAwLTEyIDEzLTEyIDUgMCA5IDRsMzAzIDMwMnEzIDQgMyAxMHogbS0zMCAxMDdsMjMyLTIzMi00NjQtNDY1aC0yMzJ2MjMzeiBtMzgxLTU0cTAtMjktMjAtNTBsLTkzLTkzLTIzMiAyMzMgOTMgOTJxMjAgMjEgNTAgMjEgMjkgMCA1MS0yMWwxMzEtMTMxcTIwLTIyIDIwLTUxeiIgaG9yaXotYWR2LXg9Ijg1Ny4xIiAvPgo8Z2x5cGggZ2x5cGgtbmFtZT0iZmlsZS1pbnB1dCIgdW5pY29kZT0iJiN4ZTgwYTsiIGQ9Ik00NjkgMTYzaC00Njl2LTI1MWg5Mzh2MjUxaC00Njl6IG00MDYtMTI1aC0xMjV2NjJoMTI1di02MnogbS02NTYgNTAwbDI1MCAyNTAgMjUwLTI1MGgtMTU2di0zMTNoLTE4OHYzMTN6IiBob3Jpei1hZHYteD0iMTAwMCIgLz4KPGdseXBoIGdseXBoLW5hbWU9ImhpZGRlbi1pbnB1dCIgdW5pY29kZT0iJiN4ZTgwYjsiIGQ9Ik02MyA1MzhsNjIgMCAwIDYyLTYyIDB6IG0xMjUgMGw2MiAwIDAgNjItNjIgMHogbTEyNSAwbDYyIDAgMCA2Mi02MiAweiBtMTI1IDBsNjIgMCAwIDYyLTYyIDB6IG0xMjUgMGw2MiAwIDAgNjItNjIgMHogbTEyNSAwbDYyIDAgMCA2Mi02MiAweiBtMTI1IDBsNjIgMCAwIDYyLTYyIDB6IG0tODEzLTYzbDYzIDAgMCA2My02MyAweiBtOTM4LTYybDYyIDAgMCA2Mi02MiAweiBtLTkzOC02M2w2MyAwIDAgNjMtNjMgMHogbTkzOC02Mmw2MiAwIDAgNjItNjIgMHogbS05MzgtNjNsNjMgMCAwIDYzLTYzIDB6IG05MzgtNjJsNjIgMCAwIDYyLTYyIDB6IG0tODEzLTYzbDYzIDAgMCA2My02MyAweiBtMTI1IDBsNjMgMCAwIDYzLTYzIDB6IG0xMjUgMGw2MyAwIDAgNjMtNjMgMHogbTEyNSAwbDYzIDAgMCA2My02MyAweiBtMTI1IDBsNjMgMCAwIDYzLTYzIDB6IG0xMjUgMGw2MyAwIDAgNjMtNjMgMHogbTEyNSAwbDYzIDAgMCA2My02MyAweiBtNjMgNDM4bDYyIDAgMCA2Mi02MiAweiBtLTkzOC00MzhsNjMgMCAwIDYzLTYzIDB6IiBob3Jpei1hZHYteD0iMTAwMCIgLz4KPGdseXBoIGdseXBoLW5hbWU9InJlc2l6ZS12ZXJ0aWNhbCIgdW5pY29kZT0iJiN4ZTgwYzsiIGQ9Ik0zOTMgNjcxcTAtMTQtMTEtMjV0LTI1LTEwaC03MXYtNTcyaDcxcTE1IDAgMjUtMTB0MTEtMjUtMTEtMjZsLTE0My0xNDJxLTEwLTExLTI1LTExdC0yNSAxMWwtMTQzIDE0MnEtMTAgMTEtMTAgMjZ0MTAgMjUgMjUgMTBoNzJ2NTcyaC03MnEtMTQgMC0yNSAxMHQtMTAgMjUgMTAgMjZsMTQzIDE0MnExMSAxMSAyNSAxMXQyNS0xMWwxNDMtMTQycTExLTExIDExLTI2eiIgaG9yaXotYWR2LXg9IjQyOC42IiAvPgo8Z2x5cGggZ2x5cGgtbmFtZT0iYnV0dG9uLWlucHV0IiB1bmljb2RlPSImI3hlODBkOyIgZD0iTTYyIDUzOGw4NzUgMCAwIDYyLTg3NSAweiBtLTYyLTM3NWw2MyAwIDAgMzc1LTYzIDB6IG02My02M2w4NzUgMCAwIDYzLTg3NSAweiBtODc1IDYzbDYyIDAgMCAzNzUtNjIgMHogbS01NTIgMjgwcS0zNCAwLTU0LTI1LTE5LTI1LTE5LTY4IDAtNDMgMTktNjggMjAtMjUgNTQtMjUgMzMgMCA1MyAyNSAxOSAyNSAxOSA2OCAwIDQzLTE5IDY4LTIwIDI1LTUzIDI1eiBtMCAyNXE0OCAwIDc2LTMyIDI5LTMyIDI5LTg2IDAtNTQtMjktODYtMjgtMzItNzYtMzItNDggMC03NyAzMi0yOSAzMi0yOSA4NiAwIDU0IDI5IDg2IDI5IDMyIDc3IDMyeiBtMTUzLTRsMzEgMCAwLTk2IDEwMiA5NiA0MCAwLTExMy0xMDYgMTIxLTEyMi00MSAwLTEwOSAxMTAgMC0xMTAtMzEgMCAwIDIyOHoiIGhvcml6LWFkdi14PSIxMDAwIiAvPgo8Z2x5cGggZ2x5cGgtbmFtZT0iYXR0YWNoIiB1bmljb2RlPSImI3hlODBlOyIgZD0iTTc4MyA3N3EwLTY1LTQ0LTEwOXQtMTA5LTQ0cS03NSAwLTEzMSA1NWwtNDM0IDQzNHEtNjMgNjQtNjMgMTUxIDAgODggNjIgMTUwdDE1MCA2MnE4OCAwIDE1Mi02M2wzMzgtMzM4cTUtNSA1LTEyIDAtOS0xNy0yNnQtMjYtMTdxLTcgMC0xMyA1bC0zMzggMzM5cS00NCA0My0xMDEgNDMtNTkgMC0xMDAtNDJ0LTQwLTEwMXEwLTU4IDQyLTEwMWw0MzMtNDMzcTM1LTM2IDgxLTM2IDM2IDAgNTkgMjR0MjQgNTlxMCA0Ni0zNiA4MWwtMzI0IDMyNHEtMTQgMTQtMzMgMTQtMTYgMC0yNy0xMXQtMTEtMjdxMC0xOCAxNC0zM2wyMjktMjI4cTYtNiA2LTEzIDAtOS0xOC0yNnQtMjYtMTdxLTcgMC0xMiA1bC0yMjkgMjI5cS0zNSAzNC0zNSA4MyAwIDQ2IDMyIDc4dDc3IDMycTQ5IDAgODMtMzZsMzI1LTMyNHE1NS01NCA1NS0xMzF6IiBob3Jpei1hZHYteD0iNzg1LjciIC8+CjwvZm9udD4KPC9kZWZzPgo8L3N2Zz4=) format("svg");font-weight:400;font-style:normal}[class*=" icon-"]:before,[class^=icon-]:before{font-family:form-builder-font;font-style:normal;font-weight:400;speak:none;display:inline-block;text-decoration:inherit;width:1em;margin-right:.2em;text-align:center;font-variant:normal;text-transform:none;line-height:1em;margin-left:.2em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.frmb .field-actions a:hover,.frmb li .close-field:hover{text-decoration:none}.icon-autocomplete:before{content:'\e800'}.icon-calendar:before{content:'\e801'}.icon-checkbox:before{content:'\e802'}.icon-checkbox-group:before{content:'\e803'}.icon-radio-group:before{content:'\e804'}.icon-rich-text:before{content:'\e805'}.icon-select:before{content:'\e806'}.icon-text-area:before{content:'\e807'}.icon-text-input:before{content:'\e808'}.icon-pencil:before{content:'\e809'}.icon-file-input:before{content:'\e80a'}.icon-hidden-input:before{content:'\e80b'}.icon-resize-vertical:before{content:'\e80c'}.icon-button-input:before{content:'\e80d'}.icon-attach:before{content:'\e80e'}@-webkit-keyframes PLACEHOLDER{0%{height:1px}100%{height:15px}}.cb-wrap{width:26%}.cb-wrap h4{margin-top:0;color:#666}.cb-wrap .save:hover{color:#08fe00}@media (max-width:481px){.cb-wrap{width:64px}.cb-wrap h4{display:none}}.frmb-control li{cursor:move;list-style:none;margin:0 0 3px;padding:10px;text-align:left;background:#fff;-webkit-user-select:none;user-select:none}.frmb-control li:first-child{border-radius:5px 5px 0 0}.frmb-control li:last-child{border-radius:0 0 5px 5px}.frmb-control li:before{margin-right:10px;font-size:16px}.frmb-control li:hover{background-color:#f2f2f2}.frmb-control li.ui-state-highlight{width:0;overflow:hidden;padding:0;margin:0;border:0}.frmb-control li.smallme{-webkit-transform:scale(.2);transform:scale(.2)}.frmb-control li.ui-sortable-helper{border-radius:5px;-webkit-transition:box-shadow 250ms,-webkit-transform 250ms;transition:box-shadow 250ms,-webkit-transform 250ms;transition:box-shadow 250ms,transform 250ms;transition:box-shadow 250ms,transform 250ms,-webkit-transform 250ms;-webkit-transform:scale(1.1);transform:scale(1.1);box-shadow:2px 2px 6px 0 #666;border:1px solid #fff}.frmb-control li.moving{opacity:.6}@media (max-width:481px){.frmb-control li:before{font-size:30px}.frmb-control li span{display:none}}.frmb-control{margin:0;padding:0}.form-actions .clear-all:hover{color:#fff}.frmb{list-style-type:none;min-height:200px;margin:0 6px 0 0;padding:0;-webkit-transition:background-color .5s ease-in-out;transition:background-color .5s ease-in-out}.frmb.removing{overflow:hidden}.empty .frmb{border:3px dashed #ccc;margin-right:5px;background-color:rgba(255,255,255,.25)}.frmb li{padding:6px;clear:both;margin-left:0;margin-bottom:3px;background-color:#fff;-webkit-transition:background-color 250ms ease-in-out,margin-top .5s;transition:background-color 250ms ease-in-out,margin-top .5s}.frmb li.hidden-field{background-color:rgba(255,255,255,.6)}.frmb li:first-child{border-top-right-radius:5px;border-top-left-radius:5px}.frmb li:first-child .field-actions .btn:last-child{border-radius:0 5px 0 0}.frmb li:last-child{border-bottom-right-radius:5px;border-bottom-left-radius:5px}.frmb li:hover{border-color:#66afe9;outline:0;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.frmb li:hover li :hover{background:#fefefe}@keyframes PLACEHOLDER{0%{height:0}100%{height:15px}}.frmb li.frmb-placeholder,.frmb li.ui-state-highlight{height:0;padding:0;background:-webkit-radial-gradient(center ellipse,#545454 0,transparent 75%);background:radial-gradient(ellipse at center,#545454 0,transparent 75%);border:0;-webkit-clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);visibility:visible;overflow:hidden;margin-bottom:3px;-webkit-animation:PLACEHOLDER 250ms forwards;animation:PLACEHOLDER 250ms forwards}.frmb li.moving,.frmb li.ui-sortable-helper{-webkit-transition:box-shadow .5s ease-in-out;transition:box-shadow .5s ease-in-out;box-shadow:2px 2px 6px 0 #666;border:1px solid #fff;border-radius:5px}.frmb li.disabled{z-index:1}.frmb li.disabled [type=checkbox]{float:left;margin-right:10px}.frmb li.disabled h2{border-bottom:0 none}.frmb li.disabled label{font-size:12px;color:#666}.frmb li.disabled .prev-holder{cursor:default;line-height:28px;padding-left:5px}.frmb li .close-field{position:absolute;color:#666;left:50%;bottom:6px;background:#fff;border-top:1px solid #d7d7d7;border-left:1px solid #d7d7d7;border-right:1px solid #D7D7D7;-webkit-transform:translateX(-50%);transform:translateX(-50%);padding:0 5px;border-top-right-radius:3px;border-top-left-radius:3px;cursor:pointer;-webkit-transition:background-color 250ms ease-in-out;transition:background-color 250ms ease-in-out}.frmb li.delete:hover,.frmb li.delete:hover .close-field,.frmb li.deleting,.frmb li.deleting .close-field,.frmb li:hover li.delete:hover,.frmb li:hover li.delete:hover .close-field{background-color:#fdd}.frmb li.deleting{z-index:20;pointer-events:none}.frmb.disabled{padding:0 5px}.frmb.disabled :hover{border-color:transparent}.frmb.disabled .form-element{float:none;margin-bottom:10px;overflow:visible;padding:5px 0;position:relative}.frmb .frm-holder{display:none}.frmb .tooltip{left:20px}.frmb .prev-holder{display:block;margin-top:12px}.frmb .prev-holder input[type=color]{width:60px;padding:2px;display:inline-block}.frmb .prev-holder input[type=date]{width:auto}.frmb .prev-holder select[multiple]{height:auto}.frmb .required-asterisk{display:none}.frmb .field-label,.frmb .legend{color:#666;margin-bottom:5px}.frmb .disabled .field-label{display:block}.frmb .button-field .field-label{display:none}.frmb .field-actions{position:absolute;top:0;right:0}.frmb .field-actions .btn{display:inline-block;width:32px;height:32px;padding:0;opacity:0;border-radius:0;border-color:#b3b3b3;color:#b3b3b3;line-height:32px;font-size:16px;border-width:0 0 1px 1px}.frmb .field-actions .btn:first-child{border-bottom-left-radius:5px}.frmb .field-actions .toggle-form{font-size:.85em;background-color:rgba(255,255,255,.75)}.frmb .field-actions .toggle-form:hover{color:#000}.frmb .field-actions .del-button:hover{background-color:#c66865;color:#fff}.stage-wrap{position:relative;float:left;width:74%}@media (max-width:481px){.stage-wrap{width:calc(100% - 64px)}}.stage-wrap .action-links{width:calc(100% - 141px);display:none;float:right;overflow:hidden;text-align:right}.stage-wrap.empty:after{content:attr(data-content);position:absolute;text-align:center;top:50%;left:0;width:100%;margin-top:-1em}.stage-wrap .action-links .active{font-weight:700;color:#000}.form-group{width:100%;clear:left;float:none}.form-group input[type=checkbox]{margin:12px 5px 0 2%}.option-actions{text-align:right}.sortable-options-wrap{width:81.33333333%;display:inline-block}ol.sortable-options{display:inline-block;width:100%;margin-left:2%;background:#b3b3b3;margin-bottom:0;border-radius:5px;list-style:none;padding:0}ol.sortable-options li{cursor:move;margin:1px}.tooltip-element,[tooltip]:hover:after{cursor:default;font-size:12px;color:#fff}ol.sortable-options li:nth-child(1) .remove,ol.sortable-options li:nth-child(2) .remove{display:none}ol.sortable-options li .remove{position:absolute;opacity:1;right:14px;height:17px;width:17px;line-height:17px;text-align:center;top:14px;font-size:18px;padding:0;color:#C10000}ol.sortable-options li .remove:hover{background-color:#C10000;text-decoration:none;color:#fff}ol.sortable-options input[type=checkbox],ol.sortable-options input[type=radio]{margin:0;width:7%}ol.sortable-options input[type=text]{width:calc(44.5% - 17px);margin:0 1%;float:none}.form-elements .field-options .add-area .add{clear:both}.form-elements{padding:10px 5px;background:#f7f7f7;border-radius:3px;margin:12px 0 0;border:1px solid #d7d7d7}.form-elements input[type=text],.form-elements select{width:81.33333333%;-webkit-transition:background 250ms ease-in-out;transition:background 250ms ease-in-out;margin-left:2%;padding:6px 12px;border:1px solid #AFAFAB;background-color:#fff;float:left}.col-md-6 .form-elements input[type=text],.col-md-6 .form-elements select,.col-md-8 .form-elements input[type=text],.col-md-8 .form-elements select{width:100%}.form-elements .btn-group{margin-left:2%}.button-field .form-elements{margin-top:32px}[tooltip]{position:relative}[tooltip]:hover:after{background:#262626;background:rgba(0,0,0,.9);border-radius:5px 5px 5px 0;bottom:23px;content:attr(tooltip);padding:10px 5px;position:absolute;z-index:98;left:2px;width:230px;text-shadow:none;line-height:1.5em}.form-wrap:after,[tooltip]:hover:before{content:""}[tooltip]:hover:before{border:solid;border-color:#222 transparent;border-width:6px 6px 0;bottom:17px;left:2px;position:absolute;z-index:99;cursor:default}.tooltip-element{visibility:visible;background:#000;width:16px;height:16px;border-radius:8px;display:inline-block;text-align:center;line-height:16px;margin:0 5px}.kc-toggle{position:relative;margin:4px 0 0 2px;width:60px;height:21px;border-radius:3px;cursor:pointer;overflow:hidden;display:inline-block;background:#e9e9e9;border:1px solid #cbcbcb;vertical-align:bottom;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kc-toggle .kct-inner{position:absolute;top:0;left:-28px;width:115px;height:100%;-webkit-transition:left 150ms ease;transition:left 150ms ease}.kc-toggle.on .kct-inner{background:#e2e2e2;background:-webkit-linear-gradient(top,#e2e2e2 0,#fff 100%);background:linear-gradient(to bottom,#e2e2e2 0,#fff 100%);left:0}.kc-toggle input{display:none;position:absolute;z-index:-1;opacity:0;margin:0;padding:0;width:100%;height:100%}.kct-handle,.kct-off,.kct-on{position:relative}.kc-toggle .kct-on{color:#12a912}.kct-off{color:#666}.kct-handle,.kct-off,.kct-on{width:28px;height:100%;font-family:Arial,Tahoma,sans-serif;font-size:12px;text-align:center;line-height:22px;font-weight:700;float:left}.kct-handle{height:17px;background:#fff;background:-webkit-linear-gradient(top,#fff 0,#cecece 100%);background:linear-gradient(to bottom,#fff 0,#cecece 100%);border:1px solid #999;font-weight:100;color:#4b4b4b;text-shadow:none;border-radius:3px;margin:1px}textarea.idea-template{display:none;width:617px;color:#fefefe;font:13px/19px courier;padding-left:40px;height:1055px}.template-textarea-wrap{display:none;height:250px;overflow-x:hidden;overflow-y:auto}.template-textarea-wrap textarea{width:98%;height:92%}.form-wrap:after{display:table;clear:both}.cb-wrap,.stage-wrap{vertical-align:top}.action-links .action-links-inner{overflow:hidden;width:0;height:20px;-webkit-transition:width 250ms;transition:width 250ms}.action-links .dev-mode-link{-webkit-transition:color 250ms;transition:color 250ms;color:#666;cursor:pointer;padding-right:2px}.stage-wrap h4{margin-top:0;color:#666}.action-links a.clear-all:hover,.del-button:hover,ul.frmb span.required{color:#C10000}.action-links a{color:#666}.form-elements input[type=text].error{border-radius:0;border:1px solid #C10000}.form-elements input[type=text].fld-maxlength{width:10%}.form-elements input.field_error{background:#fefefe;border:1px solid #afafab}.form-elements .false-label,.form-elements label{width:16.66666667%;padding-top:7px;margin-bottom:0;text-align:right;font-weight:700;float:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.col-md-6 .form-elements .false-label,.col-md-6 .form-elements label,.col-md-8 .form-elements .false-label,.col-md-8 .form-elements label{display:block}.form-elements label.multiple,.form-elements label.required-label,.form-elements label.roles-label,.form-elements label.toggle-label{text-align:left;float:none;margin-bottom:-3px;font-weight:400;width:calc(81.3333% - 23px)}.form-elements label em{display:block;font-weight:400;font-size:.75em}.form-elements label.maxlength-label{line-height:1em}.form-group .available-roles{display:none;padding:5px 10px;margin:5px 0 10px 133px;width:434px;background:#e6e6e6;box-shadow:inset 0 0 2px 0 #999}.form-elements .available-roles label{font-weight:400;width:auto;float:none;display:inline}.form-elements .available-roles input{display:inline;top:auto}.form-elements,.form-group,.multi-row span,textarea{display:block}.form-elements:after,.form-group:after{content:".";display:block;height:0;clear:both;visibility:hidden}.form-elements .field-options div:hover,.frmb .legend,.frmb .prev-holder,.frmb .prev-holder *{cursor:move}.prev-holder input[type=checkbox],.prev-holder input[type=radio]{margin-right:5px}.frmb-tt{position:absolute;border:1px solid #262626;background-color:#666;border-radius:5px;padding:5px;color:#fff;z-index:20;text-align:left;font-size:12px;pointer-events:none}.frmb-tt:after,.frmb-tt:before{content:'';position:absolute;border-style:solid;border-width:10px 10px 0;border-color:#666 transparent;display:block;width:0;z-index:1;margin-left:-10px;bottom:-10px;left:20px}.frmb-tt a{text-decoration:underline;color:#fff}.fb-mobile .frmb li .del-button,.fb-mobile .frmb li .toggle-form,.frmb li:hover .del-button,.frmb li:hover .toggle-form{opacity:1}.fresh .frmb .legend .element-info{display:inline-block;visibility:visible;line-height:12px;margin-left:6px}.frmb-xml pre.ui-dialog-content{white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word;font-size:12px;padding:0 30px;margin-top:0}.action-links a.export-xml:hover,.toggle-form.closed:hover{color:#6fc245}a.btn.toggle-form{margin-left:5px;opacity:0}a.btn.toggle-form:hover{border-color:#ccc}a.btn.toggle-form:before{margin:0}.formb-field-vars .copy-var{display:inline-block;width:24px;height:24px;background:#999;text-indent:-9999px}.ite-warning{box-shadow:1px 1px 4px 0 rgba(50,50,50,.5);border-radius:0;border:1px solid #ddd;font-size:12px;line-height:1.5em}.ite-warning .ui-dialog-buttonpane{height:27px}.ite-warning button{color:#4479B9;margin:0}.ite-warning button:focus{outline:0;font-weight:700}.ite-warning button.cancel:before{content:"|";margin-right:15px;padding:0}.ite-warning .ui-dialog-content{padding:0 15px 10px}.ite-warning .ui-dialog-titlebar-close{display:none}.ite-warning .ui-widget-header{height:15px}.ite-warning h3{color:#666;margin-bottom:10px}.ite-warning button{background:0 0;padding:2px 5px}.required-asterisk{display:none;color:#C10000}.ui-button .ui-button-text{line-height:0}.form-builder-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.5);display:none;z-index:10}.form-builder-overlay.visible{display:block}.form-builder-dialog{position:absolute;border-radius:5px;background:#fff;z-index:20;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);top:0;left:0;padding:10px;box-shadow:0 3px 10px #000}.form-builder-dialog h3{margin-top:0}.form-builder-dialog.data-dialog{width:65%;background-color:#23241f}.form-builder-dialog.data-dialog pre{background:0 0;border:0;box-shadow:none;margin:0;color:#f2f2f2}.form-builder-dialog.positioned{-webkit-transform:translate(-50%,-100%);transform:translate(-50%,-100%)}.form-builder-dialog.positioned .button-wrap:before{content:'';width:0;height:0;border-left:15px solid transparent;border-right:15px solid transparent;border-top:10px solid #fff;position:absolute;left:50%;top:100%;-webkit-transform:translate(-50%,10px);transform:translate(-50%,10px)}.form-builder-dialog .button-wrap{position:relative;margin-top:10px;text-align:right;clear:both}.form-builder-dialog .button-wrap .btn{margin-left:10px} \ No newline at end of file diff --git a/demo/assets/css/form-render.css b/demo/assets/css/form-render.css index e87daaa57..1cb626738 100644 --- a/demo/assets/css/form-render.css +++ b/demo/assets/css/form-render.css @@ -1,6 +1,6 @@ /* formBuilder - http://kevinchappell.github.io/formBuilder/ -Version: 1.9.4 +Version: 1.9.5 Author: Kevin Chappell */ * { diff --git a/demo/assets/css/form-render.min.css b/demo/assets/css/form-render.min.css index 637a30002..e442987d4 100644 --- a/demo/assets/css/form-render.min.css +++ b/demo/assets/css/form-render.min.css @@ -1,6 +1,6 @@ /* formBuilder - http://kevinchappell.github.io/formBuilder/ -Version: 1.9.4 +Version: 1.9.5 Author: Kevin Chappell */ .btn,.btn-group{display:inline-block;vertical-align:middle}.btn-group>.btn,.input-group .form-control{float:left;position:relative}.btn,.btn.active,.btn.btn-active,.btn:active,.form-control{background-image:none}.btn-group,.btn-group>.btn,.input-group,.kc-toggle{position:relative}*{box-sizing:border-box}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}textarea{overflow:auto}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-group .input-group .form-control:last-child,.btn-group .input-group-addon:last-child,.btn-group .input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.btn-group .input-group-btn:first-child>.btn:not(:first-child),.btn-group .input-group-btn:last-child>.btn,.btn-group .input-group-btn:last-child>.btn-group>.btn,.btn-group .input-group-btn:last-child>.dropdown-toggle,.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn{color:#fff;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;border-radius:4px}.btn.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn.btn-sm,.btn.btn-xs{font-size:12px;line-height:1.5;border-radius:3px}.btn.btn-sm{padding:5px 10px}.btn.btn-xs{padding:1px 5px}.btn-primary{background-color:#337ab7;border-color:#2e6da4}.btn-primary.active,.btn-primary.btn-active,.btn-primary:active,.btn-primary:hover{background-color:#286090;border-color:#204d74}.btn-danger{background-color:#d9534f;border-color:#d43f3a}.btn-danger:hover{background-color:#c9302c;border-color:#ac2925}.btn-default{background-color:#fff;border-color:#ccc}.btn-success{background-color:#5cb85c;border-color:#4cae4c}.btn-success:hover{background-color:#449d44;border-color:#398439}.btn-info{background-color:#5bc0de;border-color:#46b8da}.btn-info:hover{background-color:#31b0d5;border-color:#269abc}.btn-warning{background-color:#f0ad4e;border-color:#eea236}.btn-warning:hover{background-color:#ec971f;border-color:#d58512}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.input-group .form-control{z-index:2;width:100%;margin-bottom:0}.input-group{display:table;border-collapse:separate}.form-control,output{display:block;font-size:14px;line-height:1.42857143;color:#555}textarea.form-control{height:auto}.form-control{height:34px;width:100%;padding:6px 12px;background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-group{margin-bottom:15px}.pull-right{float:right}.pull-left{float:left}.kc-toggle{margin:4px 0 0 2px;width:60px;height:21px;border-radius:3px;cursor:pointer;overflow:hidden;display:inline-block;background:#e9e9e9;border:1px solid #cbcbcb;vertical-align:bottom;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kc-toggle .kct-inner{position:absolute;top:0;left:-28px;width:115px;height:100%;-webkit-transition:left 150ms ease;transition:left 150ms ease}.kc-toggle.on .kct-inner{background:#e2e2e2;background:-webkit-linear-gradient(top,#e2e2e2 0,#fff 100%);background:linear-gradient(to bottom,#e2e2e2 0,#fff 100%);left:0}.kc-toggle input{display:none;position:absolute;z-index:-1;opacity:0;margin:0;padding:0;width:100%;height:100%}.kct-handle,.kct-off,.kct-on,[tooltip]{position:relative}.kc-toggle .kct-on{color:#12a912}.kct-off{color:#666}.kct-handle,.kct-off,.kct-on{width:28px;height:100%;font-family:Arial,Tahoma,sans-serif;font-size:12px;text-align:center;line-height:22px;font-weight:700;float:left}.kct-handle{height:17px;background:#fff;background:-webkit-linear-gradient(top,#fff 0,#cecece 100%);background:linear-gradient(to bottom,#fff 0,#cecece 100%);border:1px solid #999;font-weight:100;color:#4b4b4b;text-shadow:none;border-radius:3px;margin:1px}.form-group .required{color:#C10000}[tooltip]:hover:after{background:#262626;background:rgba(0,0,0,.9);border-radius:5px 5px 5px 0;bottom:23px;color:#fff;content:attr(tooltip);padding:10px 5px;position:absolute;z-index:98;left:2px;width:230px;text-shadow:none;font-size:12px;line-height:1.5em}[tooltip]:hover:before{border:solid;border-color:#222 transparent;border-width:6px 6px 0;bottom:17px;content:"";left:2px;position:absolute;z-index:99}.tooltip-element{color:#fff;background:#000;width:16px;height:16px;border-radius:8px;display:inline-block;text-align:center;line-height:16px;margin:0 5px;font-size:12px}.form-control[type=color]{width:60px;padding:2px;display:inline-block}.form-control[multiple]{height:auto} \ No newline at end of file diff --git a/demo/assets/js/form-builder.js b/demo/assets/js/form-builder.js index 321904b96..c878a8f5a 100644 --- a/demo/assets/js/form-builder.js +++ b/demo/assets/js/form-builder.js @@ -1,6 +1,6 @@ /* formBuilder - http://kevinchappell.github.io/formBuilder/ -Version: 1.9.4 +Version: 1.9.5 Author: Kevin Chappell */ 'use strict'; diff --git a/demo/assets/js/form-builder.min.js b/demo/assets/js/form-builder.min.js index 0afa332e8..8215698a2 100644 --- a/demo/assets/js/form-builder.min.js +++ b/demo/assets/js/form-builder.min.js @@ -1,6 +1,6 @@ /* formBuilder - http://kevinchappell.github.io/formBuilder/ -Version: 1.9.4 +Version: 1.9.5 Author: Kevin Chappell */ "use strict";var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},formBuilderHelpers=function(e,t){var a={doCancel:!1};return t.events=formBuilderEvents(e,a),a.attrString=function(e){var t=[];for(var l in e)e.hasOwnProperty(l)&&(l=a.safeAttr(l,e[l]),t.push(l.name+l.value));return t.join(" ")},a.hyphenCase=function(e){return e=e.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()}),e.replace(/\s/g,"-").replace(/^-+/g,"")},a.safeAttrName=function(e){var t={className:"class"};return t[e]||a.hyphenCase(e)},a.safeAttr=function(e,t){return e=a.safeAttrName(e),t=window.JSON.stringify(t),t=t?"="+t:"",{name:e,value:t}},a.mobileClass=function(){var e="";return function(t){(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4)))&&(e=" fb-mobile")}(navigator.userAgent||navigator.vendor||window.opera),e},a.startMoving=function(e,t){e=e,t.item.show().addClass("moving"),a.startIndex=$("li",this).index(t.item)},a.stopMoving=function(e,t){e=e,t.item.removeClass("moving"),a.doCancel&&($(t.sender).sortable("cancel"),$(this).sortable("cancel")),a.save(),a.doCancel=!1},a.beforeStop=function(t,l){t=t;var s=document.getElementById(e.formID),o=s.children.length-1,n=[];a.stopIndex=l.placeholder.index()-1,l.item.parent().hasClass("frmb-control")&&n.push(!0),e.prepend&&n.push(0===a.stopIndex),e.append&&n.push(a.stopIndex+1===o),a.doCancel=n.some(function(e){return e===!0})},a.safename=function(e){return e.replace(/\s/g,"-").replace(/[^a-zA-Z0-9\-]/g,"").toLowerCase()},a.forceNumber=function(e){return e.replace(/[^0-9]/g,"")},a.initTooltip=function(e){var t=e.find(".tooltip");e.mouseenter(function(){t.outerWidth()>200&&t.addClass("max-width"),t.css("left",e.width()+14),t.stop(!0,!0).fadeIn("fast")}).mouseleave(function(){e.find(".tooltip").stop(!0,!0).fadeOut("fast")}),t.hide()},a.xmlSave=function(e){var a=$(e).toXML();return window.JSON.stringify(a)===window.JSON.stringify(t.formData)?!1:void(t.formData=a)},a.jsonSave=function(){e.notify.warning("json data not available yet")},a.save=function(){var l=a.getElement(),s=document.getElementById(e.formID),o={xml:a.xmlSave,json:a.jsonSave};o[e.dataType](s),l&&(l.value=t.formData,window.jQuery?$(l).trigger("change"):l.onchange())},a.getElement=function(){var l=!1;return t.element&&(l=t.element,l.id||a.makeId(l),l.onchange||(l.onchange=function(){e.notify.success(e.messages.formUpdated)})),l},a.makeId=function(){var e=arguments.length<=0||void 0===arguments[0]?!1:arguments[0],t=(new Date).getTime();return e.tagName+"-"+t},a.updatePreview=function(e){var t=e.data("fieldData")||{},l=e.attr("class");if(-1===l.indexOf("ui-sortable-handle")){var s,o=$(".prev-holder",e),n=$(".fld-subtype",e).val();l=l.replace("-field form-field",""),s=n?n:l;var i,r={type:s,label:$(".fld-label",e).val()},c=$(".fld-maxlength",e);c&&(r.maxlength=c.val()),r.className=$(".fld-className",e).val()||t.className||"";var d=$(".fld-placeholder",e).val();d&&(r.placeholder=d);var p=$(".btn-style",e).val();p&&(r.style=p),"checkbox"===l&&(r.toggle=$(".checkbox-toggle",e).is(":checked")),l.match(/(select|checkbox-group|radio-group)/)&&(r.values=[],r.multiple=$('[name="multiple"]',e).is(":checked"),$(".sortable-options li",e).each(function(){var e={};e.selected=$(".option-selected",this).is(":checked"),e.value=$(".option-value",this).val(),e.label=$(".option-label",this).val(),r.values.push(e)})),r.className=a.classNames(e,r),e.data("fieldData",r),i=a.fieldPreview(r),o.html(i),$("input[toggle]",o).kcToggle()}},a.fieldPreview=function(t){var l,s="",o=(new Date).getTime(),n=t.toggle?"toggle":"",i=a.attrString(t);switch(t.type){case"textarea":case"rich-text":s="";break;case"button":case"submit":s="";break;case"select":var r="",c=t.multiple?"multiple":"";for(t.values.reverse(),t.placeholder&&(r+=""),l=t.values.length-1;l>=0;l--){var d=t.values[l].selected&&!t.placeholder?"selected":"";r+='"}s="<"+t.type+' class="'+t.className+'" '+c+">"+r+"";break;case"checkbox-group":case"radio-group":var p=t.type.replace("-group",""),u=p+"-"+o;for(t.values.reverse(),l=t.values.length-1;l>=0;l--){var m=t.values[l].selected?"checked":"",f=p+"-"+o+"-"+l;s+='
"}break;case"text":case"password":case"email":case"date":case"file":s="";break;case"color":s=' '+e.messages.selectColor;break;case"hidden":case"checkbox":s='";break;case"autocomplete":s='';break;default:s="<"+t.type+">"}return s},a.updateMultipleSelect=function(){$(document.getElementById(e.formID)).on("change",'input[name="multiple"]',function(){var e=$(this).parents(".field-options:eq(0)").find(".sortable-options input.option-selected");this.checked?e.each(function(){$(this).prop("type","checkbox")}):e.each(function(){$(this).removeAttr("checked").prop("type","radio")})})},a.debounce=function(e){var t,a=arguments.length<=1||void 0===arguments[1]?250:arguments[1],l=arguments.length<=2||void 0===arguments[2]?!1:arguments[2];return function(){var s=this,o=arguments,n=function(){t=null,l||e.apply(s,o)},i=l&&!t;clearTimeout(t),t=setTimeout(n,a),i&&e.apply(s,o)}},a.htmlEncode=function(e){return $("
").text(e).html()},a.htmlDecode=function(e){return $("
").html(e).text()},a.validateForm=function(){var t=$(document.getElementById(e.formID)),a=[];$('input[name="label"], input[type="text"].option',t).each(function(){if(""===$(this).val()){var t=$(this).parents("li.form-field"),l=$(this);a.push({field:t,error:e.messages.labelEmpty,attribute:l})}}),a.length&&(alert("Error: "+a[0].error),$("html, body").animate({scrollTop:a[0].field.offset().top},1e3,function(){var e=$(".toggle-form",a[0].field).attr("id");$(".toggle-form",a[0].field).addClass("open").parent().next(".prev-holder").slideUp(250),$("#"+e+"-fld").slideDown(250,function(){a[0].attribute.addClass("error")})}))},a.disabledTT={className:"frmb-tt",add:function(t){var l=e.messages.fieldNonEditable;if(l){var s=a.markup("p",l,{className:a.disabledTT.className});t.append(s)}},remove:function(e){$(".frmb-tt",e).remove()}},a.classNames=function(e,t){var a=["checkbox","checkbox-group","radio-group","button"],l=t.type,s=t.style,o=[],n={button:"btn",submit:"btn"},i=e[0].querySelector(".fld-className").value,r=n[l];return i&&o.push(i),r?(o.push(r),s&&o.push(r+"-"+s)):-1===a.indexOf(l)&&o.push("form-control"),o.join(" ")},a.markup=function(e){var t=arguments.length<=1||void 0===arguments[1]?"":arguments[1],l=arguments.length<=2||void 0===arguments[2]?{}:arguments[2],s=void 0,o=document.createElement(e),n=function(e){return Array.isArray(e)?"array":"undefined"==typeof e?"undefined":_typeof(e)},i={string:function(e){o.innerHTML=e},object:function(e){return o.appendChild(e)},array:function(e){for(var t=0;t').insertAfter(t).append(t);o.toggleClass("on",t.is(":checked"));var n='
'+s.labels.on+"
",i='
'+s.labels.off+"
",r='
',c='
'+n+r+i+"
";o.append(c),o.click(function(){t.attr("checked",!t.attr("checked")),e(this).toggleClass("on")})};e.fn.kcToggle=function(a){var l=this;return l.each(function(){var l=e(this);if(!l.data("kcToggle")){var s=new t(l,a);l.data("kcToggle",s)}})}}(jQuery),function(e){var t=function(t,a){var l=this,s={dataType:"xml",disableFields:{},append:!1,prepend:!1,defaultFields:[],fieldRemoveWarn:!1,roles:{1:"Administrator"},serializePrefix:"frmb",messages:{addOption:"Add Option",allFieldsRemoved:"All fields were removed.",allowSelect:"Allow Select",autocomplete:"Autocomplete",button:"Button",cannotBeEmpty:"This field cannot be empty",checkboxGroup:"Checkbox Group",checkbox:"Checkbox",checkboxes:"Checkboxes",className:"Class",clearAllMessage:"Are you sure you want to remove all items?",clearAll:"Clear",close:"Close",copy:"Copy To Clipboard",dateField:"Date Field",description:"Help Text",descriptionField:"Description",devMode:"Developer Mode",editNames:"Edit Names",editorTitle:"Form Elements",editXML:"Edit XML",fieldDeleteWarning:!1,fieldVars:"Field Variables",fieldNonEditable:"This field cannot be edited.",fieldRemoveWarning:"Are you sure you want to remove this field?",fileUpload:"File Upload",formUpdated:"Form Updated",getStarted:"Drag a field from the right to this area",hide:"Edit",hidden:"Hidden Input",label:"Label",labelEmpty:"Field Label cannot be empty",limitRole:"Limit access to one or more of the following roles:",mandatory:"Mandatory",maxlength:"Max Length",minOptionMessage:"This field requires a minimum of 2 options",name:"Name",no:"No",off:"Off",on:"On",option:"Option",optional:"optional",optionLabelPlaceholder:"Label",optionValuePlaceholder:"Value",optionEmpty:"Option value required",paragraph:"Paragraph",placeholder:"Placeholder",placeholders:{value:"Value",label:"Label",text:"",textarea:"",email:"Enter you email",placeholder:"",className:"space separated classes",password:"Enter your password"},preview:"Preview",radioGroup:"Radio Group",radio:"Radio",removeMessage:"Remove Element",remove:"×",required:"Required",richText:"Rich Text Editor",roles:"Access",save:"Save",selectOptions:"Options",select:"Select",selectColor:"Select Color",selectionsMessage:"Allow Multiple Selections",size:"Size",sizes:{xs:"Extra Small",sm:"Small",m:"Default",lg:"Large"},style:"Style",styles:{btn:{"default":"Default",danger:"Danger",info:"Info",primary:"Primary",success:"Success",warning:"Warning"}},subtype:"Type",subtypes:{text:["text","password","email","color"],button:["button","submit"]},text:"Text Field",textArea:"Text Area",toggle:"Toggle",warning:"Warning!",viewXML:"</>",yes:"Yes"},notify:{error:function(e){return console.error(e)},success:function(e){return console.log(e)},warning:function(e){return console.warn(e)}}};s.messages.subtypes.password=s.messages.subtypes.text,s.messages.subtypes.email=s.messages.subtypes.text,s.messages.subtypes.color=s.messages.subtypes.text,s.messages.subtypes.submit=s.messages.subtypes.button;var o=e.extend(!0,s,t),n=e(a),i="frmb-"+e("ul[id^=frmb-]").length++;o.formID=i,l.element=a;for(var r=e("
",s='
'+n+" "+s+"
"}return s},W=function(e){var t=arguments.length<=1||void 0===arguments[1]?"":arguments[1],a=["text","textarea","select"],l=o.messages.placeholders,s=l[e]||"",n="",i=[];"placeholder"===e&&-1===a.indexOf(t)&&i.push(!0);var r=i.some(function(e){return e===!0});if(!r){var c="";n+='',n='
'+c+" "+n+"
"}return n},Y=function(t,a,l){var s=e(a).find('input[name="label"]').val(),n=s?s:t,i=c.markup("a",o.messages.remove,{id:"del_"+d,className:"del-button btn delete-confirm",title:o.messages.removeMessage}),p=c.markup("a",null,{id:"frm-"+d,className:"toggle-form btn icon-pencil",title:o.messages.hide}),u=c.markup("div",[p,i],{className:"field-actions"}).outerHTML,m=l.required,f=l.toggle||void 0,v=""!==l.description?'?':"",g=u;g+='"+v+' *",g+=c.markup("div","",{className:"prev-holder"}).outerHTML,g+='
',g+='
',g+='
',g+="";var h=c.markup("input",null,{className:"required",type:"checkbox",name:"required-"+d,id:"required-"+d,value:1});h.defaultChecked="true"===m,g+=h.outerHTML,g+=c.markup("label",o.messages.required,{className:"required-label","for":"required-"+d}).outerHTML,g+="
","checkbox"===l.type&&(g+='
',g+="",g+='",g+="
"),g+=a,g+=c.markup("a",o.messages.close,{className:"close-field"}).outerHTML,g+="
",g+="
";var b=c.markup("li",g,{"class":l.type+"-field form-field",id:"frm-"+d+"-item"}),y=e(b);y.data("fieldData",{attrs:l}),"undefined"!=typeof c.stopIndex?e("> li",r).eq(c.stopIndex).after(y):r.append(y),c.updatePreview(y),e(document.getElementById("frm-"+d+"-item")).hide().slideDown(250),d++},U=function(e,t,a,l){var s={selected:l?"checkbox":"radio"},n={selected:a,label:"",value:""},i=Object.assign(n,t),r=[];for(var d in i)if(i.hasOwnProperty(d)){var p={type:s[d]||"text","class":"option-"+d,placeholder:o.messages.placeholders[d],value:i[d],name:e},u=c.markup("input",null,p);"selected"===d&&(u.checked=i.selected),r.push(u)}var m={className:"remove btn",title:o.messages.removeMessage};r.push(c.markup("a",o.messages.remove,m));var f=c.markup("li",r);return f.outerHTML};r.on("click touchstart",".remove",function(t){var a=e(this).parents(".form-field:eq(0)");t.preventDefault();var l=e(this).parents(".sortable-options:eq(0)").children("li").length;2>=l?o.notify.error("Error: "+o.messages.minOptionMessage):e(this).parent("li").slideUp("250",function(){e(this).remove()}),O.call(a)}),r.on("touchstart","input",function(t){if(t.handled===!0)return!1;if("checkbox"===e(this).attr("type"))e(this).trigger("click");else{e(this).focus();var a=e(this).val();e(this).val(a)}}),r.on("click touchstart",".toggle-form",function(t){if(t.stopPropagation(),t.preventDefault(),t.handled===!0)return!1;var a=e(this).attr("id");c.toggleEdit(a+"-item"),t.handled=!0}),c.toggleEdit=function(t){var a=document.getElementById(t),l=e(".toggle-form",a),s=e(".frm-holder",a);l.toggleClass("open"),e(".prev-holder",a).slideToggle(250),s.slideToggle(250)},r.on("keyup change",'input[name="label"]',function(){e(".field-label",e(this).closest("li")).text(e(this).val())}),r.delegate("input.error","keyup",function(){e(this).removeClass("error")}),r.on("keyup",'input[name="description"]',function(){var t=e(this).parents(".form-field:eq(0)"),a=e(".tooltip-element",t),l=e(this).val();if(""!==l)if(a.length)a.attr("tooltip",l).css("display","inline-block");else{var s='?';e(".field-label",t).after(s)}else a.length&&a.css("display","none")}),c.updateMultipleSelect(),r.delegate('input[name="name"]',"keyup",function(){e(this).val(c.safename(e(this).val())),""===e(this).val()?e(this).addClass("field_error").attr("placeholder",o.messages.cannotBeEmpty):e(this).removeClass("field_error")}),r.delegate("input.fld-maxlength","keyup",function(){e(this).val(c.forceNumber(e(this).val()))}),r.on("click touchstart",".delete-confirm",function(t){t.preventDefault();var a=this.getBoundingClientRect(),l=document.body.getBoundingClientRect(),s={pageX:a.left+a.width/2,pageY:a.top-l.top-12},n=e(this).attr("id").replace(/del_/,""),i=e(document.getElementById("frm-"+n+"-item")),d=function(){i.slideUp(250,function(){i.removeClass("deleting"),i.remove(),c.save()})};if(document.addEventListener("modalClosed",function(){i.removeClass("deleting")},!1),o.fieldRemoveWarn){var p=c.markup("h3",o.messages.warning),u=c.markup("p",o.messages.fieldRemoveWarning);c.confirm([p,u],d,s),i.addClass("deleting")}else d(i);1===e("> li",r).length&&S.addClass("empty").attr("data-content",o.messages.getStarted)}),r.on("click",".style-wrap button",function(){var t=e(this).val(),a=e(this).parent(),l=a.prev(".btn-style");l.val(t),e(this).siblings(".btn").removeClass("active"),e(this).addClass("active"),O.call(a)}),r.on("click","input.required",function(){var t=e(this).parents("li.form-field").find(".required-asterisk");t.toggle()}),r.on("click",'input[name="enable_roles"]',function(){var t=e(this).siblings("div.available-roles"),a=e(this);t.slideToggle(250,function(){a.is(":checked")||e('input[type="checkbox"]',t).removeAttr("checked")})}),r.on("click",".add-opt",function(t){t.preventDefault();var a=e(this).parents(".field-options:eq(0)"),l=e('[name="multiple"]',a),s=e(".option-selected:eq(0)",a),o=!1;o=l.length?l.prop("checked"):"checkbox"===s.attr("type");var n=s.attr("name");e(".sortable-options",a).append(U(n,!1,!1,o)),c.updateMultipleSelect()}),r.on("click touchstart",".close-field",function(){var t=e(this).parents("li.form-field:eq(0)").attr("id");c.toggleEdit(t)}),r.on("mouseover mouseout",".remove, .del-button",function(){e(this).parents("li:eq(0)").toggleClass("delete")});var G=e(document.getElementById(i+"-view-data"));G.click(function(e){e.preventDefault();var t=c.htmlEncode(n.val()),a=c.markup("code",t,{className:"xml"}),l=c.markup("pre",a);c.dialog(l,null,"data-dialog")});var V=e(document.getElementById(i+"-clear-all"));V.click(function(){var t=e("li.form-field"),a=this.getBoundingClientRect(),l=document.body.getBoundingClientRect(),s={pageX:a.left+a.width/2,pageY:a.top-l.top-12};t.length?c.confirm("Are you sure you want to clear all fields?",function(){c.removeAllfields(),o.notify.success(o.messages.allFieldsRemoved),c.save()},s):c.dialog("There are no fields to clear",{pageX:s.pageX,pageY:s.pageY})}),e(document.getElementById(i+"-save")).click(function(e){e.preventDefault(),c.save(),c.validateForm(e)});var J=!1,Q=[],Z="68,69,86";return e(".fb-save").mouseover(function(){J=!0}).mouseout(function(){J=!1}),e(document.documentElement).keydown(function(t){Q.push(t.keyCode),Q.toString().indexOf(Z)>=0&&(e(".action-links").toggle(),e(".view-data").toggle(),Q=[])}),e(".dev-mode-link").click(function(t){t.preventDefault();var a=e(this);S.toggleClass("dev-mode"),a.parent().css("opacity",1),S.hasClass("dev-mode")?(a.siblings(".action-links-inner").css("width","100%"),a.html(o.messages.devMode+" "+o.messages.on).css("color","#8CC63F")):(a.siblings(".action-links-inner").css("width",0), diff --git a/demo/assets/js/form-render.js b/demo/assets/js/form-render.js index 54dde87ee..527cf3b7e 100644 --- a/demo/assets/js/form-render.js +++ b/demo/assets/js/form-render.js @@ -1,6 +1,6 @@ /* formBuilder - http://kevinchappell.github.io/formBuilder/ -Version: 1.9.4 +Version: 1.9.5 Author: Kevin Chappell */ 'use strict'; diff --git a/demo/assets/js/form-render.min.js b/demo/assets/js/form-render.min.js index a49fcb23b..a16bd4b60 100644 --- a/demo/assets/js/form-render.min.js +++ b/demo/assets/js/form-render.min.js @@ -1,6 +1,6 @@ /* formBuilder - http://kevinchappell.github.io/formBuilder/ -Version: 1.9.4 +Version: 1.9.5 Author: Kevin Chappell */ "use strict";!function(e){var t=function(t,r){var n={theme:"fresh",labels:{off:"Off",on:"On"}},a=e.extend(n,r),o=e('
').insertAfter(t).append(t);o.toggleClass("on",t.is(":checked"));var i='
'+a.labels.on+"
",c='
'+a.labels.off+"
",l='
',s='
'+i+l+c+"
";o.append(s),o.click(function(){t.attr("checked",!t.attr("checked")),e(this).toggleClass("on")})};e.fn.kcToggle=function(r){var n=this;return n.each(function(){var n=e(this);if(!n.data("kcToggle")){var a=new t(n,r);n.data("kcToggle",a)}})}}(jQuery);var FormRender=function(e,t){var r=this,n={destroyTemplate:!0,container:!1,dataType:"xml",formData:!1,label:{selectColor:"Select Color",noFormData:"No form data.",formRendered:"Form Rendered"},render:!0,notify:{error:function(e){return console.error(e)},success:function(e){return console.log(e)},warning:function(e){return console.warn(e)}}},a={},o=$.extend(n,e);a.getElement=function(){return t.id||(t.id=a.makeId(t)),document.getElementById(t.id)},a.makeId=function(e){var t=(new Date).getTime();return e.tagName+"-"+t},!o.formData&&t&&(t=a.getElement(),o.formData=t.value),a.markup=function(e){var t=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],r=arguments.length<=2||void 0===arguments[2]?"":arguments[2];t=a.attrString(t),r=Array.isArray(r)?r.join(""):r;var n=["input"],o=-1===n.indexOf(e)?"<"+e+" "+t+">"+r+"":"<"+e+" "+t+"/>";return o},a.fieldRender=function(e){var t="",r="",n="",i=a.parseAttrs(e.attributes),c=i.description||"",l="",s=$("option",e);if(i.id=i.name,i.required&&(i.required=null,i["aria-required"]="true",l='*'),"hidden"!==i.type){c&&(c='?');var d=i.label||"";r='"}var u=i.label;delete i.label,delete i.description;var f=a.attrString(i);switch(i.type){case"textarea":case"rich-text":delete i.type,delete i.value,t=r+"";break;case"select":i.type=i.type.replace("-group",""),s.length&&s.each(function(e,t){e=e;var r=a.parseAttrs(t.attributes),o=a.attrString(r),i=t.innerHTML||t.innerContent||t.innerText||t.childNodes[0].nodeValue||t.value;n+=""}),t=r+"";break;case"checkbox-group":case"radio-group":i.type=i.type.replace("-group",""),delete i.className,s.length&&!function(){var e="checkbox"===i.type?i.name+"[]":i.name;s.each(function(t,r){var o=$.extend({},i,a.parseAttrs(r.attributes)),c=void 0,l=void 0;o.selected&&(delete o.selected,o.checked=null),o.name=e,o.id=i.id+"-"+t,c=a.attrString(o),l=r.innerHTML||r.innerContent||r.innerText||r.value||"",n+="
"})}(),t=r+'
'+n+"
";break;case"text":case"password":case"email":case"file":case"hidden":case"date":case"autocomplete":t=r+" ";break;case"color":t=r+" "+o.label.selectColor;break;case"button":case"submit":t="";break;case"checkbox":t=" "+r,i.toggle&&setTimeout(function(){$(document.getElementById(i.id)).kcToggle()},100);break;default:t="<"+i.type+">"}return"hidden"!==i.type&&(t=a.markup("div",{className:"form-group field-"+i.id},t)),t},a.attrString=function(e){var t=[];for(var r in e)e.hasOwnProperty(r)&&(r=a.safeAttr(r,e[r]),t.push(r.name+r.value));return t.join(" ")},a.safeAttr=function(e,t){var r={className:"class"};return e=r[e]||e,t=t?window.JSON.stringify(t):!1,t=t?"="+t:"",{name:e,value:t}},a.parseAttrs=function(e){var t={};for(var r in e)e.hasOwnProperty(r)&&(t[e[r].nodeName]=e[r].nodeValue);return t};var i=[],c=$.parseXML(o.formData),l=$("field",c);if(!c)return o.notify.error(o.label.noFormData),!1;o.notify.success(o.label.formRendered),l.length&&l.each(function(e,t){e=e,i.push(a.fieldRender(t))});var s=i.join("");return o.render?o.container&&o.container.length?o.container.html(s):t&&t.replaceWith(s):r.markup=s,r};!function(e){e.fn.formRender=function(e){this.each(function(){var t=new FormRender(e,this);return t})}}(jQuery); diff --git a/dist/form-builder.css b/dist/form-builder.css index 57c8199ce..54b70341f 100644 --- a/dist/form-builder.css +++ b/dist/form-builder.css @@ -1,6 +1,6 @@ /* formBuilder - http://kevinchappell.github.io/formBuilder/ -Version: 1.9.4 +Version: 1.9.5 Author: Kevin Chappell */ @charset "UTF-8"; diff --git a/dist/form-builder.js b/dist/form-builder.js index 321904b96..c878a8f5a 100644 --- a/dist/form-builder.js +++ b/dist/form-builder.js @@ -1,6 +1,6 @@ /* formBuilder - http://kevinchappell.github.io/formBuilder/ -Version: 1.9.4 +Version: 1.9.5 Author: Kevin Chappell */ 'use strict'; diff --git a/dist/form-builder.min.css b/dist/form-builder.min.css index a19aadf9b..99242964f 100644 --- a/dist/form-builder.min.css +++ b/dist/form-builder.min.css @@ -1,6 +1,6 @@ /* formBuilder - http://kevinchappell.github.io/formBuilder/ -Version: 1.9.4 +Version: 1.9.5 Author: Kevin Chappell */ @charset "UTF-8";.btn,.btn-group{display:inline-block;vertical-align:middle}.btn,.frmb-control li{-moz-user-select:none;-ms-user-select:none}.btn-group>.btn,.input-group .form-control{float:left;position:relative}.btn,.btn.active,.btn.btn-active,.btn:active,.form-control{background-image:none}.btn-group,.btn-group>.btn,.frmb li,.input-group{position:relative}*{box-sizing:border-box}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}.btn,.frmb .prev-holder label,.frmb li.disabled label,.frmb li.no-fields label{font-weight:400}textarea{overflow:auto}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-group .input-group .form-control:last-child,.btn-group .input-group-addon:last-child,.btn-group .input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.btn-group .input-group-btn:first-child>.btn:not(:first-child),.btn-group .input-group-btn:last-child>.btn,.btn-group .input-group-btn:last-child>.btn-group>.btn,.btn-group .input-group-btn:last-child>.dropdown-toggle,.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn{color:#fff;padding:6px 12px;margin-bottom:0;font-size:14px;line-height:1.42857143;text-align:center;white-space:nowrap;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid transparent;border-radius:4px}.btn.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn.btn-sm,.btn.btn-xs{font-size:12px;line-height:1.5;border-radius:3px}.btn.btn-sm{padding:5px 10px}.btn.btn-xs{padding:1px 5px}.btn-primary{background-color:#337ab7;border-color:#2e6da4}.btn-primary.active,.btn-primary.btn-active,.btn-primary:active,.btn-primary:hover{background-color:#286090;border-color:#204d74}.btn-danger{background-color:#d9534f;border-color:#d43f3a}.btn-danger:hover,.form-actions .clear-all:hover{background-color:#c9302c;border-color:#ac2925}.btn-default{background-color:#fff;border-color:#ccc}.btn-success{background-color:#5cb85c;border-color:#4cae4c}.btn-success:hover{background-color:#449d44;border-color:#398439}.btn-info{background-color:#5bc0de;border-color:#46b8da}.btn-info:hover{background-color:#31b0d5;border-color:#269abc}.btn-warning{background-color:#f0ad4e;border-color:#eea236}.btn-warning:hover{background-color:#ec971f;border-color:#d58512}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.input-group .form-control{z-index:2;width:100%;margin-bottom:0}.input-group{display:table;border-collapse:separate}.form-control,output{display:block;font-size:14px;line-height:1.42857143;color:#555}textarea.form-control{height:auto}.form-control{height:34px;width:100%;padding:6px 12px;background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-group{margin-bottom:15px}.pull-right{float:right}.pull-left{float:left}.cb-wrap,.form-actions{float:right}@font-face{font-family:form-builder-font;src:url(data:application/vnd.ms-fontobject;base64,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);src:url(data:application/vnd.ms-fontobject;base64,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) format("embedded-opentype"),url(data:application/font-woff;base64,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) format("woff"),url(data:application/x-font-ttf;base64,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) format("truetype"),url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxtZXRhZGF0YT5Db3B5cmlnaHQgKEMpIDIwMTYgYnkgb3JpZ2luYWwgYXV0aG9ycyBAIGZvbnRlbGxvLmNvbTwvbWV0YWRhdGE+CjxkZWZzPgo8Zm9udCBpZD0iZm9ybS1idWlsZGVyLWZvbnQiIGhvcml6LWFkdi14PSIxMDAwIiA+Cjxmb250LWZhY2UgZm9udC1mYW1pbHk9ImZvcm0tYnVpbGRlci1mb250IiBmb250LXdlaWdodD0iNDAwIiBmb250LXN0cmV0Y2g9Im5vcm1hbCIgdW5pdHMtcGVyLWVtPSIxMDAwIiBhc2NlbnQ9Ijg1MCIgZGVzY2VudD0iLTE1MCIgLz4KPG1pc3NpbmctZ2x5cGggaG9yaXotYWR2LXg9IjEwMDAiIC8+CjxnbHlwaCBnbHlwaC1uYW1lPSJhdXRvY29tcGxldGUiIHVuaWNvZGU9IiYjeGU4MDA7IiBkPSJNMzc1IDUzOGg2M3YtNjNoLTYzdjYzeiBtLTEyNSA2MmgtNjJ2LTYyaDYydjYyeiBtMTI1IDBoLTYydi02Mmg2MnY2MnogbS0yNTAtNjJ2LTYzaDYzdjYzaC02M3ogbTYzLTEyNWg2MnY2MmgtNjJ2LTYyeiBtMTI1IDBoNjJ2NjJoLTYydi02MnogbS02MyAxMjV2LTYzaDYzdjYzaC02M3ogbS0xMjUtNTYzaDYzdjYzaC02M3YtNjN6IG0xMjUgMGg2M3Y2M2gtNjN2LTYzeiBtMTI1IDBoNjN2NjNoLTYzdi02M3ogbTE4OCA2M2gtNjN2LTYzaDYzdjYzeiBtNDM3IDU5M3YtMjUwYzAtNTAtNDQtOTMtOTQtOTNoLTMxdi0xODgtMTg4YzAtMzctMjUtNjItNjItNjJoLTc1MGMtMzggMC02MyAyNS02MyA2MnY3MTljMCA1MCA0NCA5NCA5NCA5NGgxODcgMjE5djMxIDMyaC02Mi02M3YzMSAzMWgxNTYgMTU3di0zMS0zMWgtNjMtNjJ2LTMyLTMxaDE4NyAxNTZjNTAgMCA5NC00NCA5NC05NHogbS0xODctNTMxaC0zNzUtMzc1di0xODhoNzUwdjE4OHogbS02MjUgNjN2NjJoLTYzdi02Mmg2M3ogbTEyNSAwdjYyaC02M3YtNjJoNjN6IG02MjUgNDY4YzAgMTktMTMgMzItMzIgMzJoLTM0M3YtMTU3LTE1NmgtMzItMzF2MzEgMzJoLTYydjYyaDYydjMxIDMyaC02MnY2Mmg2MnYzMSAzMmgtNDA2Yy0xOSAwLTMxLTEzLTMxLTMydi0yNTBjMC0xOCAxMi0zMSAzMS0zMWg0MDZ2LTYyaC0xMjV2LTMyLTMxaDE1NiAxNTd2MzEgMzJoLTEyNXY2MmgzNDNjMTkgMCAzMiAxMyAzMiAzMXYyNTB6IiBob3Jpei1hZHYteD0iMTAwMCIgLz4KPGdseXBoIGdseXBoLW5hbWU9ImNhbGVuZGFyIiB1bmljb2RlPSImI3hlODAxOyIgZD0iTTcxLTc5aDE2MXYxNjFoLTE2MXYtMTYxeiBtMTk3IDBoMTc4djE2MWgtMTc4di0xNjF6IG0tMTk3IDE5N2gxNjF2MTc4aC0xNjF2LTE3OHogbTE5NyAwaDE3OHYxNzhoLTE3OHYtMTc4eiBtLTE5NyAyMTRoMTYxdjE2MWgtMTYxdi0xNjF6IG00MTEtNDExaDE3OXYxNjFoLTE3OXYtMTYxeiBtLTIxNCA0MTFoMTc4djE2MWgtMTc4di0xNjF6IG00MjgtNDExaDE2MXYxNjFoLTE2MXYtMTYxeiBtLTIxNCAxOTdoMTc5djE3OGgtMTc5di0xNzh6IG0tMTk2IDQ4MnYxNjFxMCA3LTYgMTJ0LTEyIDZoLTM2cS03IDAtMTItNnQtNi0xMnYtMTYxcTAtNyA2LTEzdDEyLTVoMzZxNyAwIDEyIDV0NiAxM3ogbTQxMC00ODJoMTYxdjE3OGgtMTYxdi0xNzh6IG0tMjE0IDIxNGgxNzl2MTYxaC0xNzl2LTE2MXogbTIxNCAwaDE2MXYxNjFoLTE2MXYtMTYxeiBtMTggMjY4djE2MXEwIDctNSAxMnQtMTMgNmgtMzVxLTggMC0xMy02dC01LTEydi0xNjFxMC03IDUtMTN0MTMtNWgzNXE4IDAgMTMgNXQ1IDEzeiBtMjE1IDM2di03MTVxMC0yOS0yMi01MHQtNTAtMjFoLTc4NnEtMjkgMC01MCAyMXQtMjEgNTB2NzE1cTAgMjkgMjEgNTB0NTAgMjFoNzJ2NTRxMCAzNyAyNiA2M3Q2MyAyNmgzNnEzNyAwIDYzLTI2dDI2LTYzdi01NGgyMTR2NTRxMCAzNyAyNyA2M3Q2MyAyNmgzNXEzNyAwIDYzLTI2dDI3LTYzdi01NGg3MXEyOSAwIDUwLTIxdDIyLTUweiIgaG9yaXotYWR2LXg9IjkyOC42IiAvPgo8Z2x5cGggZ2x5cGgtbmFtZT0iY2hlY2tib3giIHVuaWNvZGU9IiYjeGU4MDI7IiBkPSJNODQ0IDUzOHYtNTAwYzAtNTEtNDQtOTQtOTQtOTRoLTU2MmMtNTAgMC05NCA0My05NCA5NHY1NjJjMCA1MCA0NCA5NCA5NCA5NGg1NjJjNDQgMCA4MS0zMSA5NC03NWwxNTAgODctMTUwLTE2OHogbS02My03NWwtMzAwLTM2My0zMDYgNDA2IDMwNi0xMDAgMzAwIDE4MnYxMmMwIDE5LTEyIDMxLTMxIDMxaC01NjJjLTE5IDAtMzItMTItMzItMzF2LTU2MmMwLTE5IDEzLTMyIDMyLTMyaDU2MmMxOSAwIDMxIDEzIDMxIDMydjQyNXoiIGhvcml6LWFkdi14PSIxMDAwIiAvPgo8Z2x5cGggZ2x5cGgtbmFtZT0iY2hlY2tib3gtZ3JvdXAiIHVuaWNvZGU9IiYjeGU4MDM7IiBkPSJNMCA3ODhoMTAwMHY2MmgtMTAwMHYtNjJ6IG0wLTEyNWgxMDAwdjYyaC0xMDAwdi02MnogbTM3NS0xMjV2LTYzaDU2M3Y2M2gtNTYzeiBtNTYzLTU2M3Y2M2gtNTYzdi02M2g1NjN6IG0tNTYzIDI1MGg1NjN2NjNoLTU2M3YtNjN6IG0tMTI1LTEyNWwtMTU2LTk0LTk0IDMyIDk0LTEyNiAxNTYgMTg4eiBtMCAyNTBsLTE1Ni05NC05NCAzMiA5NC0xMjUgMTU2IDE4N3ogbTAgMjUwbC0xNTYtOTQtOTQgMzIgOTQtMTI1IDE1NiAxODd6IiBob3Jpei1hZHYteD0iMTAwMCIgLz4KPGdseXBoIGdseXBoLW5hbWU9InJhZGlvLWdyb3VwIiB1bmljb2RlPSImI3hlODA0OyIgZD0iTTAgNzg4aDEwMDB2NjJoLTEwMDB2LTYyeiBtMC0xMjVoMTAwMHY2MmgtMTAwMHYtNjJ6IG0zMTMtMTg4aDYyNXY2M2gtNjI1di02M3ogbTYyNS0xODdoLTYyNXYtNjNoNjI1djYzeiBtMC0zMTN2NjNoLTYyNXYtNjNoNjI1eiBtLTg0NCA0MzhjLTUwIDAtOTQgNDMtOTQgOTNzNDQgOTQgOTQgOTQgOTQtNDQgOTQtOTQtNDQtOTMtOTQtOTN6IG0wIDEyNWMtMTkgMC0zMS0xMy0zMS0zMnMxMi0zMSAzMS0zMSAzMSAxMyAzMSAzMS0xMiAzMi0zMSAzMnogbTAtMzgyYy01MCAwLTk0IDQ0LTk0IDk0czQ0IDk0IDk0IDk0IDk0LTM4IDk0LTk0LTQ0LTk0LTk0LTk0eiBtMCAxMjVjLTE5IDAtMzEtMTItMzEtMzFzMTItMzEgMzEtMzEgMzEgMTkgMzEgMzEtMTIgMzEtMzEgMzF6IG0wLTM2OWMtNTAgMC05NCA0NC05NCA5NHM0NCA5NCA5NCA5NCA5NC00NCA5NC05NC00NC05NC05NC05NHogbTAgMTI2Yy0xOSAwLTMxLTEzLTMxLTMyczEyLTMxIDMxLTMxIDMxIDEyIDMxIDMxLTEyIDMyLTMxIDMyeiIgaG9yaXotYWR2LXg9IjEwMDAiIC8+CjxnbHlwaCBnbHlwaC1uYW1lPSJyaWNoLXRleHQiIHVuaWNvZGU9IiYjeGU4MDU7IiBkPSJNOTM4IDc4OGgtODc1Yy0zOCAwLTYzLTI1LTYzLTYzdi03NTBjMC0zOCAyNS02MyA2My02M2g4NzVjMzcgMCA2MiAyNSA2MiA2M3Y3NTBjMCAzOC0yNSA2My02MiA2M3ogbS04NzUtMTMyaDUwdi0xOGgtNTB2MTh6IG0wLTMxaDUwdi0xOWgtNTB2MTl6IG04NzUtNjUwaC04NzV2NTU2aDg3NXYtNTU2eiBtMCA1NjloLTg3NXYxOWg4NzV2LTE5eiBtMCAzMWgtODc1djE5aDUwdi0xM2g5M3YxM2g4MnYtMTNoODd2MTNoODF2LTEzaDk0djEzaDc1di0xM2g5NHYxM2g4MXYtMTNoOTR2MTNoNDR2LTE5eiBtLTY1NyA1MHYtMTloLTc1djE5aDc1eiBtLTc1IDEzdjE4aDgydi0xOGgtODJ6IG0yNTAtMTN2LTE5aC04MXYxOWg4MXogbS04MSAxM3YxOGg4MXYtMThoLTgxeiBtMjUwLTEzdi0xOWgtNzV2MTloNzV6IG0tNzUgMTN2MThoNzV2LTE4aC03NXogbTI1MC0xM3YtMTloLTgxdjE5aDgxeiBtLTgxIDEzdjE4aDgxdi0xOGgtODF6IG0yMTktMzJoLTUwdjE5aDUwdi0xOXogbTAgMzJoLTUwdjE4aDUwdi0xOHogbTAgMzFoLTUwdjZoLTk0di0xMmgtODF2MTJoLTg4di0xMmgtNzV2MTJoLTk0di0xMmgtODF2MTJoLTk0di0xMmgtNzV2MTJoLTkzdi0xMmgtNTB2MjVoODc1di0xOXogbTAgMzFoLTg3NXYxOWg4NzV2LTE5eiBtLTc1MC02MDB2NjNoNjI1di02M2gtNjI1eiBtNjI1IDEyNWgtNjI1djYzaDYyNXYtNjN6IG0tMTI1IDEyNWgtNTAwdjYzaDUwMHYtNjN6IiBob3Jpei1hZHYteD0iMTAwMCIgLz4KPGdseXBoIGdseXBoLW5hbWU9InNlbGVjdCIgdW5pY29kZT0iJiN4ZTgwNjsiIGQ9Ik0wIDg1MHYtODc1aDBjMC0zOCAyNS02MyA2My02M2g2MjVjMzcgMCA2MiAyNSA2MiA2M2gwdjU2M2gyNTB2MzEyaC0xMDAweiBtNjMtNjJoNjI1di0xODhoLTYyNXYxODh6IG0wLTM3NWg2MjV2LTE4OGgtNjI1djE4OHogbTAtNDM4djE4OGg2MjV2LTE4OGgtNjI1eiBtODc1IDYyNWgtMTg4djE4OGgxODh2LTE4OHogbS04MTMgMTI1aDYzdi02MmgtNjN2NjJ6IG0wLTYyNWg2M3YtNjJoLTYzdjYyeiBtMTI1IDBoNjN2LTYyaC02M3Y2MnogbTEyNSAwaDYzdi02MmgtNjN2NjJ6IG0xODggMHYtNjJoLTYzdjYyaDYzeiBtLTQzOCAyNTBoNjN2LTYyaC02M3Y2MnogbTEyNSAwaDYzdi02MmgtNjN2NjJ6IG0xMjUgMGg2M3YtNjJoLTYzdjYyeiBtNDY5IDMwNmwtNjMgNjloMTE5bC01Ni02OXogbS03MTktMTgxdjYzaDYzdi02M2gtNjNsMCAweiBtMTI1IDB2NjNoNjN2LTYzaC02M2wwIDB6IiBob3Jpei1hZHYteD0iMTAwMCIgLz4KPGdseXBoIGdseXBoLW5hbWU9InRleHQtYXJlYSIgdW5pY29kZT0iJiN4ZTgwNzsiIGQ9Ik0xODggMTYzdjYyaDUwMHYtNjJoLTUwMGwwIDB6IG0wIDI1MGg2MjV2NjJoLTYyNXYtNjJsMCAweiBtMC02M3YtNjJoNjI1djYyaC02MjVsMCAweiBtNjI1IDI1MGgtNjI1di02Mmg2MjV2NjJsMCAweiBtMTg3LTYyNXY3NTBjMCAzOC0yNSA2My02MiA2M2gtODc1Yy0zOCAwLTYzLTI1LTYzLTYzdi03NTBjMC0zOCAyNS02MyA2My02M2g4NzVjMzcgMCA2MiAyNSA2MiA2M3ogbS02MiA3NTB2LTc1MGgtODc1djc1MGg4NzV6IiBob3Jpei1hZHYteD0iMTAwMCIgLz4KPGdseXBoIGdseXBoLW5hbWU9InRleHQtaW5wdXQiIHVuaWNvZGU9IiYjeGU4MDg7IiBkPSJNOTM4IDYwMGgtNjU3djYzaDk0djYyaC05NC02Mi05NHYtNjJoOTR2LTYzaC0xNTZjLTM4IDAtNjMtMzEtNjMtNjJ2LTM3NWMwLTM4IDI1LTYzIDYzLTYzaDE1NnYtNjJoLTk0di02M2gyNTB2NjNoLTk0djYyaDY1N2MzNyAwIDYyIDI1IDYyIDYzdjM3NWMwIDMxLTI1IDYyLTYyIDYyeiBtLTg3NS00Mzd2Mzc1aDE1NnYtMzc1aC0xNTZ6IG04NzUgMGgtNjU3djM3NWg2NTd2LTM3NXoiIGhvcml6LWFkdi14PSIxMDAwIiAvPgo8Z2x5cGggZ2x5cGgtbmFtZT0icGVuY2lsIiB1bmljb2RlPSImI3hlODA5OyIgZD0iTTIwMy03bDUwIDUxLTEzMSAxMzEtNTEtNTF2LTYwaDcydi03MWg2MHogbTI5MSA1MThxMCAxMi0xMiAxMi01IDAtOS00bC0zMDMtMzAycS00LTQtNC0xMCAwLTEyIDEzLTEyIDUgMCA5IDRsMzAzIDMwMnEzIDQgMyAxMHogbS0zMCAxMDdsMjMyLTIzMi00NjQtNDY1aC0yMzJ2MjMzeiBtMzgxLTU0cTAtMjktMjAtNTBsLTkzLTkzLTIzMiAyMzMgOTMgOTJxMjAgMjEgNTAgMjEgMjkgMCA1MS0yMWwxMzEtMTMxcTIwLTIyIDIwLTUxeiIgaG9yaXotYWR2LXg9Ijg1Ny4xIiAvPgo8Z2x5cGggZ2x5cGgtbmFtZT0iZmlsZS1pbnB1dCIgdW5pY29kZT0iJiN4ZTgwYTsiIGQ9Ik00NjkgMTYzaC00Njl2LTI1MWg5Mzh2MjUxaC00Njl6IG00MDYtMTI1aC0xMjV2NjJoMTI1di02MnogbS02NTYgNTAwbDI1MCAyNTAgMjUwLTI1MGgtMTU2di0zMTNoLTE4OHYzMTN6IiBob3Jpei1hZHYteD0iMTAwMCIgLz4KPGdseXBoIGdseXBoLW5hbWU9ImhpZGRlbi1pbnB1dCIgdW5pY29kZT0iJiN4ZTgwYjsiIGQ9Ik02MyA1MzhsNjIgMCAwIDYyLTYyIDB6IG0xMjUgMGw2MiAwIDAgNjItNjIgMHogbTEyNSAwbDYyIDAgMCA2Mi02MiAweiBtMTI1IDBsNjIgMCAwIDYyLTYyIDB6IG0xMjUgMGw2MiAwIDAgNjItNjIgMHogbTEyNSAwbDYyIDAgMCA2Mi02MiAweiBtMTI1IDBsNjIgMCAwIDYyLTYyIDB6IG0tODEzLTYzbDYzIDAgMCA2My02MyAweiBtOTM4LTYybDYyIDAgMCA2Mi02MiAweiBtLTkzOC02M2w2MyAwIDAgNjMtNjMgMHogbTkzOC02Mmw2MiAwIDAgNjItNjIgMHogbS05MzgtNjNsNjMgMCAwIDYzLTYzIDB6IG05MzgtNjJsNjIgMCAwIDYyLTYyIDB6IG0tODEzLTYzbDYzIDAgMCA2My02MyAweiBtMTI1IDBsNjMgMCAwIDYzLTYzIDB6IG0xMjUgMGw2MyAwIDAgNjMtNjMgMHogbTEyNSAwbDYzIDAgMCA2My02MyAweiBtMTI1IDBsNjMgMCAwIDYzLTYzIDB6IG0xMjUgMGw2MyAwIDAgNjMtNjMgMHogbTEyNSAwbDYzIDAgMCA2My02MyAweiBtNjMgNDM4bDYyIDAgMCA2Mi02MiAweiBtLTkzOC00MzhsNjMgMCAwIDYzLTYzIDB6IiBob3Jpei1hZHYteD0iMTAwMCIgLz4KPGdseXBoIGdseXBoLW5hbWU9InJlc2l6ZS12ZXJ0aWNhbCIgdW5pY29kZT0iJiN4ZTgwYzsiIGQ9Ik0zOTMgNjcxcTAtMTQtMTEtMjV0LTI1LTEwaC03MXYtNTcyaDcxcTE1IDAgMjUtMTB0MTEtMjUtMTEtMjZsLTE0My0xNDJxLTEwLTExLTI1LTExdC0yNSAxMWwtMTQzIDE0MnEtMTAgMTEtMTAgMjZ0MTAgMjUgMjUgMTBoNzJ2NTcyaC03MnEtMTQgMC0yNSAxMHQtMTAgMjUgMTAgMjZsMTQzIDE0MnExMSAxMSAyNSAxMXQyNS0xMWwxNDMtMTQycTExLTExIDExLTI2eiIgaG9yaXotYWR2LXg9IjQyOC42IiAvPgo8Z2x5cGggZ2x5cGgtbmFtZT0iYnV0dG9uLWlucHV0IiB1bmljb2RlPSImI3hlODBkOyIgZD0iTTYyIDUzOGw4NzUgMCAwIDYyLTg3NSAweiBtLTYyLTM3NWw2MyAwIDAgMzc1LTYzIDB6IG02My02M2w4NzUgMCAwIDYzLTg3NSAweiBtODc1IDYzbDYyIDAgMCAzNzUtNjIgMHogbS01NTIgMjgwcS0zNCAwLTU0LTI1LTE5LTI1LTE5LTY4IDAtNDMgMTktNjggMjAtMjUgNTQtMjUgMzMgMCA1MyAyNSAxOSAyNSAxOSA2OCAwIDQzLTE5IDY4LTIwIDI1LTUzIDI1eiBtMCAyNXE0OCAwIDc2LTMyIDI5LTMyIDI5LTg2IDAtNTQtMjktODYtMjgtMzItNzYtMzItNDggMC03NyAzMi0yOSAzMi0yOSA4NiAwIDU0IDI5IDg2IDI5IDMyIDc3IDMyeiBtMTUzLTRsMzEgMCAwLTk2IDEwMiA5NiA0MCAwLTExMy0xMDYgMTIxLTEyMi00MSAwLTEwOSAxMTAgMC0xMTAtMzEgMCAwIDIyOHoiIGhvcml6LWFkdi14PSIxMDAwIiAvPgo8Z2x5cGggZ2x5cGgtbmFtZT0iYXR0YWNoIiB1bmljb2RlPSImI3hlODBlOyIgZD0iTTc4MyA3N3EwLTY1LTQ0LTEwOXQtMTA5LTQ0cS03NSAwLTEzMSA1NWwtNDM0IDQzNHEtNjMgNjQtNjMgMTUxIDAgODggNjIgMTUwdDE1MCA2MnE4OCAwIDE1Mi02M2wzMzgtMzM4cTUtNSA1LTEyIDAtOS0xNy0yNnQtMjYtMTdxLTcgMC0xMyA1bC0zMzggMzM5cS00NCA0My0xMDEgNDMtNTkgMC0xMDAtNDJ0LTQwLTEwMXEwLTU4IDQyLTEwMWw0MzMtNDMzcTM1LTM2IDgxLTM2IDM2IDAgNTkgMjR0MjQgNTlxMCA0Ni0zNiA4MWwtMzI0IDMyNHEtMTQgMTQtMzMgMTQtMTYgMC0yNy0xMXQtMTEtMjdxMC0xOCAxNC0zM2wyMjktMjI4cTYtNiA2LTEzIDAtOS0xOC0yNnQtMjYtMTdxLTcgMC0xMiA1bC0yMjkgMjI5cS0zNSAzNC0zNSA4MyAwIDQ2IDMyIDc4dDc3IDMycTQ5IDAgODMtMzZsMzI1LTMyNHE1NS01NCA1NS0xMzF6IiBob3Jpei1hZHYteD0iNzg1LjciIC8+CjwvZm9udD4KPC9kZWZzPgo8L3N2Zz4=) format("svg");font-weight:400;font-style:normal}[class*=" icon-"]:before,[class^=icon-]:before{font-family:form-builder-font;font-style:normal;font-weight:400;speak:none;display:inline-block;text-decoration:inherit;width:1em;margin-right:.2em;text-align:center;font-variant:normal;text-transform:none;line-height:1em;margin-left:.2em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.frmb .field-actions a:hover,.frmb li .close-field:hover{text-decoration:none}.icon-autocomplete:before{content:'\e800'}.icon-calendar:before{content:'\e801'}.icon-checkbox:before{content:'\e802'}.icon-checkbox-group:before{content:'\e803'}.icon-radio-group:before{content:'\e804'}.icon-rich-text:before{content:'\e805'}.icon-select:before{content:'\e806'}.icon-text-area:before{content:'\e807'}.icon-text-input:before{content:'\e808'}.icon-pencil:before{content:'\e809'}.icon-file-input:before{content:'\e80a'}.icon-hidden-input:before{content:'\e80b'}.icon-resize-vertical:before{content:'\e80c'}.icon-button-input:before{content:'\e80d'}.icon-attach:before{content:'\e80e'}@-webkit-keyframes PLACEHOLDER{0%{height:1px}100%{height:15px}}.cb-wrap{width:26%}.cb-wrap h4{margin-top:0;color:#666}.cb-wrap .save:hover{color:#08fe00}@media (max-width:481px){.cb-wrap{width:64px}.cb-wrap h4{display:none}}.frmb-control li{cursor:move;list-style:none;margin:0 0 3px;padding:10px;text-align:left;background:#fff;-webkit-user-select:none;user-select:none}.frmb-control li:first-child{border-radius:5px 5px 0 0}.frmb-control li:last-child{border-radius:0 0 5px 5px}.frmb-control li:before{margin-right:10px;font-size:16px}.frmb-control li:hover{background-color:#f2f2f2}.frmb-control li.ui-state-highlight{width:0;overflow:hidden;padding:0;margin:0;border:0}.frmb-control li.smallme{-webkit-transform:scale(.2);transform:scale(.2)}.frmb-control li.ui-sortable-helper{border-radius:5px;-webkit-transition:box-shadow 250ms,-webkit-transform 250ms;transition:box-shadow 250ms,-webkit-transform 250ms;transition:box-shadow 250ms,transform 250ms;transition:box-shadow 250ms,transform 250ms,-webkit-transform 250ms;-webkit-transform:scale(1.1);transform:scale(1.1);box-shadow:2px 2px 6px 0 #666;border:1px solid #fff}.frmb-control li.moving{opacity:.6}@media (max-width:481px){.frmb-control li:before{font-size:30px}.frmb-control li span{display:none}}.frmb-control{margin:0;padding:0}.form-actions .clear-all:hover{color:#fff}.frmb{list-style-type:none;min-height:200px;margin:0 6px 0 0;padding:0;-webkit-transition:background-color .5s ease-in-out;transition:background-color .5s ease-in-out}.frmb.removing{overflow:hidden}.empty .frmb{border:3px dashed #ccc;margin-right:5px;background-color:rgba(255,255,255,.25)}.frmb li{padding:6px;clear:both;margin-left:0;margin-bottom:3px;background-color:#fff;-webkit-transition:background-color 250ms ease-in-out,margin-top .5s;transition:background-color 250ms ease-in-out,margin-top .5s}.frmb li.hidden-field{background-color:rgba(255,255,255,.6)}.frmb li:first-child{border-top-right-radius:5px;border-top-left-radius:5px}.frmb li:first-child .field-actions .btn:last-child{border-radius:0 5px 0 0}.frmb li:last-child{border-bottom-right-radius:5px;border-bottom-left-radius:5px}.frmb li:hover{border-color:#66afe9;outline:0;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.frmb li:hover li :hover{background:#fefefe}@keyframes PLACEHOLDER{0%{height:0}100%{height:15px}}.frmb li.frmb-placeholder,.frmb li.ui-state-highlight{height:0;padding:0;background:-webkit-radial-gradient(center ellipse,#545454 0,transparent 75%);background:radial-gradient(ellipse at center,#545454 0,transparent 75%);border:0;-webkit-clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);visibility:visible;overflow:hidden;margin-bottom:3px;-webkit-animation:PLACEHOLDER 250ms forwards;animation:PLACEHOLDER 250ms forwards}.frmb li.moving,.frmb li.ui-sortable-helper{-webkit-transition:box-shadow .5s ease-in-out;transition:box-shadow .5s ease-in-out;box-shadow:2px 2px 6px 0 #666;border:1px solid #fff;border-radius:5px}.frmb li.disabled{z-index:1}.frmb li.disabled [type=checkbox]{float:left;margin-right:10px}.frmb li.disabled h2{border-bottom:0 none}.frmb li.disabled label{font-size:12px;color:#666}.frmb li.disabled .prev-holder{cursor:default;line-height:28px;padding-left:5px}.frmb li .close-field{position:absolute;color:#666;left:50%;bottom:6px;background:#fff;border-top:1px solid #d7d7d7;border-left:1px solid #d7d7d7;border-right:1px solid #D7D7D7;-webkit-transform:translateX(-50%);transform:translateX(-50%);padding:0 5px;border-top-right-radius:3px;border-top-left-radius:3px;cursor:pointer;-webkit-transition:background-color 250ms ease-in-out;transition:background-color 250ms ease-in-out}.frmb li.delete:hover,.frmb li.delete:hover .close-field,.frmb li.deleting,.frmb li.deleting .close-field,.frmb li:hover li.delete:hover,.frmb li:hover li.delete:hover .close-field{background-color:#fdd}.frmb li.deleting{z-index:20;pointer-events:none}.frmb.disabled{padding:0 5px}.frmb.disabled :hover{border-color:transparent}.frmb.disabled .form-element{float:none;margin-bottom:10px;overflow:visible;padding:5px 0;position:relative}.frmb .frm-holder{display:none}.frmb .tooltip{left:20px}.frmb .prev-holder{display:block;margin-top:12px}.frmb .prev-holder input[type=color]{width:60px;padding:2px;display:inline-block}.frmb .prev-holder input[type=date]{width:auto}.frmb .prev-holder select[multiple]{height:auto}.frmb .required-asterisk{display:none}.frmb .field-label,.frmb .legend{color:#666;margin-bottom:5px}.frmb .disabled .field-label{display:block}.frmb .button-field .field-label{display:none}.frmb .field-actions{position:absolute;top:0;right:0}.frmb .field-actions .btn{display:inline-block;width:32px;height:32px;padding:0;opacity:0;border-radius:0;border-color:#b3b3b3;color:#b3b3b3;line-height:32px;font-size:16px;border-width:0 0 1px 1px}.frmb .field-actions .btn:first-child{border-bottom-left-radius:5px}.frmb .field-actions .toggle-form{font-size:.85em;background-color:rgba(255,255,255,.75)}.frmb .field-actions .toggle-form:hover{color:#000}.frmb .field-actions .del-button:hover{background-color:#c66865;color:#fff}.stage-wrap{position:relative;float:left;width:74%}@media (max-width:481px){.stage-wrap{width:calc(100% - 64px)}}.stage-wrap .action-links{width:calc(100% - 141px);display:none;float:right;overflow:hidden;text-align:right}.stage-wrap.empty:after{content:attr(data-content);position:absolute;text-align:center;top:50%;left:0;width:100%;margin-top:-1em}.stage-wrap .action-links .active{font-weight:700;color:#000}.form-group{width:100%;clear:left;float:none}.form-group input[type=checkbox]{margin:12px 5px 0 2%}.option-actions{text-align:right}.sortable-options-wrap{width:81.33333333%;display:inline-block}ol.sortable-options{display:inline-block;width:100%;margin-left:2%;background:#b3b3b3;margin-bottom:0;border-radius:5px;list-style:none;padding:0}ol.sortable-options li{cursor:move;margin:1px}.tooltip-element,[tooltip]:hover:after{cursor:default;font-size:12px;color:#fff}ol.sortable-options li:nth-child(1) .remove,ol.sortable-options li:nth-child(2) .remove{display:none}ol.sortable-options li .remove{position:absolute;opacity:1;right:14px;height:17px;width:17px;line-height:17px;text-align:center;top:14px;font-size:18px;padding:0;color:#C10000}ol.sortable-options li .remove:hover{background-color:#C10000;text-decoration:none;color:#fff}ol.sortable-options input[type=checkbox],ol.sortable-options input[type=radio]{margin:0;width:7%}ol.sortable-options input[type=text]{width:calc(44.5% - 17px);margin:0 1%;float:none}.form-elements .field-options .add-area .add{clear:both}.form-elements{padding:10px 5px;background:#f7f7f7;border-radius:3px;margin:12px 0 0;border:1px solid #d7d7d7}.form-elements input[type=text],.form-elements select{width:81.33333333%;-webkit-transition:background 250ms ease-in-out;transition:background 250ms ease-in-out;margin-left:2%;padding:6px 12px;border:1px solid #AFAFAB;background-color:#fff;float:left}.col-md-6 .form-elements input[type=text],.col-md-6 .form-elements select,.col-md-8 .form-elements input[type=text],.col-md-8 .form-elements select{width:100%}.form-elements .btn-group{margin-left:2%}.button-field .form-elements{margin-top:32px}[tooltip]{position:relative}[tooltip]:hover:after{background:#262626;background:rgba(0,0,0,.9);border-radius:5px 5px 5px 0;bottom:23px;content:attr(tooltip);padding:10px 5px;position:absolute;z-index:98;left:2px;width:230px;text-shadow:none;line-height:1.5em}.form-wrap:after,[tooltip]:hover:before{content:""}[tooltip]:hover:before{border:solid;border-color:#222 transparent;border-width:6px 6px 0;bottom:17px;left:2px;position:absolute;z-index:99;cursor:default}.tooltip-element{visibility:visible;background:#000;width:16px;height:16px;border-radius:8px;display:inline-block;text-align:center;line-height:16px;margin:0 5px}.kc-toggle{position:relative;margin:4px 0 0 2px;width:60px;height:21px;border-radius:3px;cursor:pointer;overflow:hidden;display:inline-block;background:#e9e9e9;border:1px solid #cbcbcb;vertical-align:bottom;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kc-toggle .kct-inner{position:absolute;top:0;left:-28px;width:115px;height:100%;-webkit-transition:left 150ms ease;transition:left 150ms ease}.kc-toggle.on .kct-inner{background:#e2e2e2;background:-webkit-linear-gradient(top,#e2e2e2 0,#fff 100%);background:linear-gradient(to bottom,#e2e2e2 0,#fff 100%);left:0}.kc-toggle input{display:none;position:absolute;z-index:-1;opacity:0;margin:0;padding:0;width:100%;height:100%}.kct-handle,.kct-off,.kct-on{position:relative}.kc-toggle .kct-on{color:#12a912}.kct-off{color:#666}.kct-handle,.kct-off,.kct-on{width:28px;height:100%;font-family:Arial,Tahoma,sans-serif;font-size:12px;text-align:center;line-height:22px;font-weight:700;float:left}.kct-handle{height:17px;background:#fff;background:-webkit-linear-gradient(top,#fff 0,#cecece 100%);background:linear-gradient(to bottom,#fff 0,#cecece 100%);border:1px solid #999;font-weight:100;color:#4b4b4b;text-shadow:none;border-radius:3px;margin:1px}textarea.idea-template{display:none;width:617px;color:#fefefe;font:13px/19px courier;padding-left:40px;height:1055px}.template-textarea-wrap{display:none;height:250px;overflow-x:hidden;overflow-y:auto}.template-textarea-wrap textarea{width:98%;height:92%}.form-wrap:after{display:table;clear:both}.cb-wrap,.stage-wrap{vertical-align:top}.action-links .action-links-inner{overflow:hidden;width:0;height:20px;-webkit-transition:width 250ms;transition:width 250ms}.action-links .dev-mode-link{-webkit-transition:color 250ms;transition:color 250ms;color:#666;cursor:pointer;padding-right:2px}.stage-wrap h4{margin-top:0;color:#666}.action-links a.clear-all:hover,.del-button:hover,ul.frmb span.required{color:#C10000}.action-links a{color:#666}.form-elements input[type=text].error{border-radius:0;border:1px solid #C10000}.form-elements input[type=text].fld-maxlength{width:10%}.form-elements input.field_error{background:#fefefe;border:1px solid #afafab}.form-elements .false-label,.form-elements label{width:16.66666667%;padding-top:7px;margin-bottom:0;text-align:right;font-weight:700;float:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.col-md-6 .form-elements .false-label,.col-md-6 .form-elements label,.col-md-8 .form-elements .false-label,.col-md-8 .form-elements label{display:block}.form-elements label.multiple,.form-elements label.required-label,.form-elements label.roles-label,.form-elements label.toggle-label{text-align:left;float:none;margin-bottom:-3px;font-weight:400;width:calc(81.3333% - 23px)}.form-elements label em{display:block;font-weight:400;font-size:.75em}.form-elements label.maxlength-label{line-height:1em}.form-group .available-roles{display:none;padding:5px 10px;margin:5px 0 10px 133px;width:434px;background:#e6e6e6;box-shadow:inset 0 0 2px 0 #999}.form-elements .available-roles label{font-weight:400;width:auto;float:none;display:inline}.form-elements .available-roles input{display:inline;top:auto}.form-elements,.form-group,.multi-row span,textarea{display:block}.form-elements:after,.form-group:after{content:".";display:block;height:0;clear:both;visibility:hidden}.form-elements .field-options div:hover,.frmb .legend,.frmb .prev-holder,.frmb .prev-holder *{cursor:move}.prev-holder input[type=checkbox],.prev-holder input[type=radio]{margin-right:5px}.frmb-tt{position:absolute;border:1px solid #262626;background-color:#666;border-radius:5px;padding:5px;color:#fff;z-index:20;text-align:left;font-size:12px;pointer-events:none}.frmb-tt:after,.frmb-tt:before{content:'';position:absolute;border-style:solid;border-width:10px 10px 0;border-color:#666 transparent;display:block;width:0;z-index:1;margin-left:-10px;bottom:-10px;left:20px}.frmb-tt a{text-decoration:underline;color:#fff}.fb-mobile .frmb li .del-button,.fb-mobile .frmb li .toggle-form,.frmb li:hover .del-button,.frmb li:hover .toggle-form{opacity:1}.fresh .frmb .legend .element-info{display:inline-block;visibility:visible;line-height:12px;margin-left:6px}.frmb-xml pre.ui-dialog-content{white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word;font-size:12px;padding:0 30px;margin-top:0}.action-links a.export-xml:hover,.toggle-form.closed:hover{color:#6fc245}a.btn.toggle-form{margin-left:5px;opacity:0}a.btn.toggle-form:hover{border-color:#ccc}a.btn.toggle-form:before{margin:0}.formb-field-vars .copy-var{display:inline-block;width:24px;height:24px;background:#999;text-indent:-9999px}.ite-warning{box-shadow:1px 1px 4px 0 rgba(50,50,50,.5);border-radius:0;border:1px solid #ddd;font-size:12px;line-height:1.5em}.ite-warning .ui-dialog-buttonpane{height:27px}.ite-warning button{color:#4479B9;margin:0}.ite-warning button:focus{outline:0;font-weight:700}.ite-warning button.cancel:before{content:"|";margin-right:15px;padding:0}.ite-warning .ui-dialog-content{padding:0 15px 10px}.ite-warning .ui-dialog-titlebar-close{display:none}.ite-warning .ui-widget-header{height:15px}.ite-warning h3{color:#666;margin-bottom:10px}.ite-warning button{background:0 0;padding:2px 5px}.required-asterisk{display:none;color:#C10000}.ui-button .ui-button-text{line-height:0}.form-builder-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.5);display:none;z-index:10}.form-builder-overlay.visible{display:block}.form-builder-dialog{position:absolute;border-radius:5px;background:#fff;z-index:20;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);top:0;left:0;padding:10px;box-shadow:0 3px 10px #000}.form-builder-dialog h3{margin-top:0}.form-builder-dialog.data-dialog{width:65%;background-color:#23241f}.form-builder-dialog.data-dialog pre{background:0 0;border:0;box-shadow:none;margin:0;color:#f2f2f2}.form-builder-dialog.positioned{-webkit-transform:translate(-50%,-100%);transform:translate(-50%,-100%)}.form-builder-dialog.positioned .button-wrap:before{content:'';width:0;height:0;border-left:15px solid transparent;border-right:15px solid transparent;border-top:10px solid #fff;position:absolute;left:50%;top:100%;-webkit-transform:translate(-50%,10px);transform:translate(-50%,10px)}.form-builder-dialog .button-wrap{position:relative;margin-top:10px;text-align:right;clear:both}.form-builder-dialog .button-wrap .btn{margin-left:10px} \ No newline at end of file diff --git a/dist/form-builder.min.js b/dist/form-builder.min.js index 92e82cae1..4a8c01dc7 100644 --- a/dist/form-builder.min.js +++ b/dist/form-builder.min.js @@ -1,6 +1,6 @@ /* formBuilder - http://kevinchappell.github.io/formBuilder/ -Version: 1.9.4 +Version: 1.9.5 Author: Kevin Chappell */ "use strict";var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},formBuilderHelpers=function(e,t){var a={doCancel:!1};return t.events=formBuilderEvents(e,a),a.attrString=function(e){var t=[];for(var l in e)e.hasOwnProperty(l)&&(l=a.safeAttr(l,e[l]),t.push(l.name+l.value));return t.join(" ")},a.hyphenCase=function(e){return e=e.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()}),e.replace(/\s/g,"-").replace(/^-+/g,"")},a.safeAttrName=function(e){var t={className:"class"};return t[e]||a.hyphenCase(e)},a.safeAttr=function(e,t){return e=a.safeAttrName(e),t=window.JSON.stringify(t),t=t?"="+t:"",{name:e,value:t}},a.mobileClass=function(){var e="";return function(t){(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4)))&&(e=" fb-mobile")}(navigator.userAgent||navigator.vendor||window.opera),e},a.startMoving=function(e,t){e=e,t.item.show().addClass("moving"),a.startIndex=$("li",this).index(t.item)},a.stopMoving=function(e,t){e=e,t.item.removeClass("moving"),a.doCancel&&($(t.sender).sortable("cancel"),$(this).sortable("cancel")),a.save(),a.doCancel=!1},a.beforeStop=function(t,l){t=t;var s=document.getElementById(e.formID),o=s.children.length-1,n=[];a.stopIndex=l.placeholder.index()-1,l.item.parent().hasClass("frmb-control")&&n.push(!0),e.prepend&&n.push(0===a.stopIndex),e.append&&n.push(a.stopIndex+1===o),a.doCancel=n.some(function(e){return e===!0})},a.safename=function(e){return e.replace(/\s/g,"-").replace(/[^a-zA-Z0-9\-]/g,"").toLowerCase()},a.forceNumber=function(e){return e.replace(/[^0-9]/g,"")},a.initTooltip=function(e){var t=e.find(".tooltip");e.mouseenter(function(){t.outerWidth()>200&&t.addClass("max-width"),t.css("left",e.width()+14),t.stop(!0,!0).fadeIn("fast")}).mouseleave(function(){e.find(".tooltip").stop(!0,!0).fadeOut("fast")}),t.hide()},a.xmlSave=function(e){var a=$(e).toXML();return window.JSON.stringify(a)===window.JSON.stringify(t.formData)?!1:void(t.formData=a)},a.jsonSave=function(){e.notify.warning("json data not available yet")},a.save=function(){var l=a.getElement(),s=document.getElementById(e.formID),o={xml:a.xmlSave,json:a.jsonSave};o[e.dataType](s),l&&(l.value=t.formData,window.jQuery?$(l).trigger("change"):l.onchange())},a.getElement=function(){var l=!1;return t.element&&(l=t.element,l.id||a.makeId(l),l.onchange||(l.onchange=function(){e.notify.success(e.messages.formUpdated)})),l},a.makeId=function(){var e=arguments.length<=0||void 0===arguments[0]?!1:arguments[0],t=(new Date).getTime();return e.tagName+"-"+t},a.updatePreview=function(e){var t=e.data("fieldData")||{},l=e.attr("class");if(-1===l.indexOf("ui-sortable-handle")){var s,o=$(".prev-holder",e),n=$(".fld-subtype",e).val();l=l.replace("-field form-field",""),s=n?n:l;var i,r={type:s,label:$(".fld-label",e).val()},c=$(".fld-maxlength",e);c&&(r.maxlength=c.val()),r.className=$(".fld-className",e).val()||t.className||"";var d=$(".fld-placeholder",e).val();d&&(r.placeholder=d);var p=$(".btn-style",e).val();p&&(r.style=p),"checkbox"===l&&(r.toggle=$(".checkbox-toggle",e).is(":checked")),l.match(/(select|checkbox-group|radio-group)/)&&(r.values=[],r.multiple=$('[name="multiple"]',e).is(":checked"),$(".sortable-options li",e).each(function(){var e={};e.selected=$(".option-selected",this).is(":checked"),e.value=$(".option-value",this).val(),e.label=$(".option-label",this).val(),r.values.push(e)})),r.className=a.classNames(e,r),e.data("fieldData",r),i=a.fieldPreview(r),o.html(i),$("input[toggle]",o).kcToggle()}},a.fieldPreview=function(t){var l,s="",o=(new Date).getTime(),n=t.toggle?"toggle":"",i=a.attrString(t);switch(t.type){case"textarea":case"rich-text":s="";break;case"button":case"submit":s="";break;case"select":var r="",c=t.multiple?"multiple":"";for(t.values.reverse(),t.placeholder&&(r+=""),l=t.values.length-1;l>=0;l--){var d=t.values[l].selected&&!t.placeholder?"selected":"";r+='"}s="<"+t.type+' class="'+t.className+'" '+c+">"+r+"";break;case"checkbox-group":case"radio-group":var p=t.type.replace("-group",""),u=p+"-"+o;for(t.values.reverse(),l=t.values.length-1;l>=0;l--){var m=t.values[l].selected?"checked":"",f=p+"-"+o+"-"+l;s+='
"}break;case"text":case"password":case"email":case"date":case"file":s="";break;case"color":s=' '+e.messages.selectColor;break;case"hidden":case"checkbox":s='";break;case"autocomplete":s='';break;default:s="<"+t.type+">"}return s},a.updateMultipleSelect=function(){$(document.getElementById(e.formID)).on("change",'input[name="multiple"]',function(){var e=$(this).parents(".field-options:eq(0)").find(".sortable-options input.option-selected");this.checked?e.each(function(){$(this).prop("type","checkbox")}):e.each(function(){$(this).removeAttr("checked").prop("type","radio")})})},a.debounce=function(e){var t,a=arguments.length<=1||void 0===arguments[1]?250:arguments[1],l=arguments.length<=2||void 0===arguments[2]?!1:arguments[2];return function(){var s=this,o=arguments,n=function(){t=null,l||e.apply(s,o)},i=l&&!t;clearTimeout(t),t=setTimeout(n,a),i&&e.apply(s,o)}},a.htmlEncode=function(e){return $("
").text(e).html()},a.htmlDecode=function(e){return $("
").html(e).text()},a.validateForm=function(){var t=$(document.getElementById(e.formID)),a=[];$('input[name="label"], input[type="text"].option',t).each(function(){if(""===$(this).val()){var t=$(this).parents("li.form-field"),l=$(this);a.push({field:t,error:e.messages.labelEmpty,attribute:l})}}),a.length&&(alert("Error: "+a[0].error),$("html, body").animate({scrollTop:a[0].field.offset().top},1e3,function(){var e=$(".toggle-form",a[0].field).attr("id");$(".toggle-form",a[0].field).addClass("open").parent().next(".prev-holder").slideUp(250),$("#"+e+"-fld").slideDown(250,function(){a[0].attribute.addClass("error")})}))},a.disabledTT={className:"frmb-tt",add:function(t){var l=e.messages.fieldNonEditable;if(l){var s=a.markup("p",l,{className:a.disabledTT.className});t.append(s)}},remove:function(e){$(".frmb-tt",e).remove()}},a.classNames=function(e,t){var a=["checkbox","checkbox-group","radio-group","button"],l=t.type,s=t.style,o=[],n={button:"btn",submit:"btn"},i=e[0].querySelector(".fld-className").value,r=n[l];return i&&o.push(i),r?(o.push(r),s&&o.push(r+"-"+s)):-1===a.indexOf(l)&&o.push("form-control"),o.join(" ")},a.markup=function(e){var t=arguments.length<=1||void 0===arguments[1]?"":arguments[1],l=arguments.length<=2||void 0===arguments[2]?{}:arguments[2],s=void 0,o=document.createElement(e),n=function(e){return Array.isArray(e)?"array":"undefined"==typeof e?"undefined":_typeof(e)},i={string:function(e){o.innerHTML=e},object:function(e){return o.appendChild(e)},array:function(e){for(var t=0;t').insertAfter(t).append(t);o.toggleClass("on",t.is(":checked"));var n='
'+s.labels.on+"
",i='
'+s.labels.off+"
",r='
',c='
'+n+r+i+"
";o.append(c),o.click(function(){t.attr("checked",!t.attr("checked")),e(this).toggleClass("on")})};e.fn.kcToggle=function(a){var l=this;return l.each(function(){var l=e(this);if(!l.data("kcToggle")){var s=new t(l,a);l.data("kcToggle",s)}})}}(jQuery),function(e){var t=function(t,a){var l=this,s={dataType:"xml",disableFields:{},append:!1,prepend:!1,defaultFields:[],fieldRemoveWarn:!1,roles:{1:"Administrator"},serializePrefix:"frmb",messages:{addOption:"Add Option",allFieldsRemoved:"All fields were removed.",allowSelect:"Allow Select",autocomplete:"Autocomplete",button:"Button",cannotBeEmpty:"This field cannot be empty",checkboxGroup:"Checkbox Group",checkbox:"Checkbox",checkboxes:"Checkboxes",className:"Class",clearAllMessage:"Are you sure you want to remove all items?",clearAll:"Clear",close:"Close",copy:"Copy To Clipboard",dateField:"Date Field",description:"Help Text",descriptionField:"Description",devMode:"Developer Mode",editNames:"Edit Names",editorTitle:"Form Elements",editXML:"Edit XML",fieldDeleteWarning:!1,fieldVars:"Field Variables",fieldNonEditable:"This field cannot be edited.",fieldRemoveWarning:"Are you sure you want to remove this field?",fileUpload:"File Upload",formUpdated:"Form Updated",getStarted:"Drag a field from the right to this area",hide:"Edit",hidden:"Hidden Input",label:"Label",labelEmpty:"Field Label cannot be empty",limitRole:"Limit access to one or more of the following roles:",mandatory:"Mandatory",maxlength:"Max Length",minOptionMessage:"This field requires a minimum of 2 options",name:"Name",no:"No",off:"Off",on:"On",option:"Option",optional:"optional",optionLabelPlaceholder:"Label",optionValuePlaceholder:"Value",optionEmpty:"Option value required",paragraph:"Paragraph",placeholder:"Placeholder",placeholders:{value:"Value",label:"Label",text:"",textarea:"",email:"Enter you email",placeholder:"",className:"space separated classes",password:"Enter your password"},preview:"Preview",radioGroup:"Radio Group",radio:"Radio",removeMessage:"Remove Element",remove:"×",required:"Required",richText:"Rich Text Editor",roles:"Access",save:"Save",selectOptions:"Options",select:"Select",selectColor:"Select Color",selectionsMessage:"Allow Multiple Selections",size:"Size",sizes:{xs:"Extra Small",sm:"Small",m:"Default",lg:"Large"},style:"Style",styles:{btn:{"default":"Default",danger:"Danger",info:"Info",primary:"Primary",success:"Success",warning:"Warning"}},subtype:"Type",subtypes:{text:["text","password","email","color"],button:["button","submit"]},text:"Text Field",textArea:"Text Area",toggle:"Toggle",warning:"Warning!",viewXML:"</>",yes:"Yes"},notify:{error:function(e){return console.error(e)},success:function(e){return console.log(e)},warning:function(e){return console.warn(e)}}};s.messages.subtypes.password=s.messages.subtypes.text,s.messages.subtypes.email=s.messages.subtypes.text,s.messages.subtypes.color=s.messages.subtypes.text,s.messages.subtypes.submit=s.messages.subtypes.button;var o=e.extend(!0,s,t),n=e(a),i="frmb-"+e("ul[id^=frmb-]").length++;o.formID=i,l.element=a;for(var r=e("
",s='
'+n+" "+s+"
"}return s},W=function(e){var t=arguments.length<=1||void 0===arguments[1]?"":arguments[1],a=["text","textarea","select"],l=o.messages.placeholders,s=l[e]||"",n="",i=[];"placeholder"===e&&-1===a.indexOf(t)&&i.push(!0);var r=i.some(function(e){return e===!0});if(!r){var c="";n+='',n='
'+c+" "+n+"
"}return n},Y=function(t,a,l){var s=e(a).find('input[name="label"]').val(),n=s?s:t,i=c.markup("a",o.messages.remove,{id:"del_"+d,className:"del-button btn delete-confirm",title:o.messages.removeMessage}),p=c.markup("a",null,{id:"frm-"+d,className:"toggle-form btn icon-pencil",title:o.messages.hide}),u=c.markup("div",[p,i],{className:"field-actions"}).outerHTML,m=l.required,f=l.toggle||void 0,v=""!==l.description?'?':"",g=u;g+='"+v+' *",g+=c.markup("div","",{className:"prev-holder"}).outerHTML,g+='
',g+='
',g+='
',g+="";var h=c.markup("input",null,{className:"required",type:"checkbox",name:"required-"+d,id:"required-"+d,value:1});h.defaultChecked="true"===m,g+=h.outerHTML,g+=c.markup("label",o.messages.required,{className:"required-label","for":"required-"+d}).outerHTML,g+="
","checkbox"===l.type&&(g+='
',g+="",g+='",g+="
"),g+=a,g+=c.markup("a",o.messages.close,{className:"close-field"}).outerHTML,g+="
",g+="
";var b=c.markup("li",g,{"class":l.type+"-field form-field",id:"frm-"+d+"-item"}),y=e(b);y.data("fieldData",{attrs:l}),"undefined"!=typeof c.stopIndex?e("> li",r).eq(c.stopIndex).after(y):r.append(y),c.updatePreview(y),e(document.getElementById("frm-"+d+"-item")).hide().slideDown(250),d++},U=function(e,t,a,l){var s={selected:l?"checkbox":"radio"},n={selected:a,label:"",value:""},i=Object.assign(n,t),r=[];for(var d in i)if(i.hasOwnProperty(d)){var p={type:s[d]||"text","class":"option-"+d,placeholder:o.messages.placeholders[d],value:i[d],name:e},u=c.markup("input",null,p);"selected"===d&&(u.checked=i.selected),r.push(u)}var m={className:"remove btn",title:o.messages.removeMessage};r.push(c.markup("a",o.messages.remove,m));var f=c.markup("li",r);return f.outerHTML};r.on("click touchstart",".remove",function(t){var a=e(this).parents(".form-field:eq(0)");t.preventDefault();var l=e(this).parents(".sortable-options:eq(0)").children("li").length;2>=l?o.notify.error("Error: "+o.messages.minOptionMessage):e(this).parent("li").slideUp("250",function(){e(this).remove()}),O.call(a)}),r.on("touchstart","input",function(t){if(t.handled===!0)return!1;if("checkbox"===e(this).attr("type"))e(this).trigger("click");else{e(this).focus();var a=e(this).val();e(this).val(a)}}),r.on("click touchstart",".toggle-form",function(t){if(t.stopPropagation(),t.preventDefault(),t.handled===!0)return!1;var a=e(this).attr("id");c.toggleEdit(a+"-item"),t.handled=!0}),c.toggleEdit=function(t){var a=document.getElementById(t),l=e(".toggle-form",a),s=e(".frm-holder",a);l.toggleClass("open"),e(".prev-holder",a).slideToggle(250),s.slideToggle(250)},r.on("keyup change",'input[name="label"]',function(){e(".field-label",e(this).closest("li")).text(e(this).val())}),r.delegate("input.error","keyup",function(){e(this).removeClass("error")}),r.on("keyup",'input[name="description"]',function(){var t=e(this).parents(".form-field:eq(0)"),a=e(".tooltip-element",t),l=e(this).val();if(""!==l)if(a.length)a.attr("tooltip",l).css("display","inline-block");else{var s='?';e(".field-label",t).after(s)}else a.length&&a.css("display","none")}),c.updateMultipleSelect(),r.delegate('input[name="name"]',"keyup",function(){e(this).val(c.safename(e(this).val())),""===e(this).val()?e(this).addClass("field_error").attr("placeholder",o.messages.cannotBeEmpty):e(this).removeClass("field_error")}),r.delegate("input.fld-maxlength","keyup",function(){e(this).val(c.forceNumber(e(this).val()))}),r.on("click touchstart",".delete-confirm",function(t){t.preventDefault();var a=this.getBoundingClientRect(),l=document.body.getBoundingClientRect(),s={pageX:a.left+a.width/2,pageY:a.top-l.top-12},n=e(this).attr("id").replace(/del_/,""),i=e(document.getElementById("frm-"+n+"-item")),d=function(){i.slideUp(250,function(){i.removeClass("deleting"),i.remove(),c.save()})};if(document.addEventListener("modalClosed",function(){i.removeClass("deleting")},!1),o.fieldRemoveWarn){var p=c.markup("h3",o.messages.warning),u=c.markup("p",o.messages.fieldRemoveWarning);c.confirm([p,u],d,s),i.addClass("deleting")}else d(i);1===e("> li",r).length&&S.addClass("empty").attr("data-content",o.messages.getStarted)}),r.on("click",".style-wrap button",function(){var t=e(this).val(),a=e(this).parent(),l=a.prev(".btn-style");l.val(t),e(this).siblings(".btn").removeClass("active"),e(this).addClass("active"),O.call(a)}),r.on("click","input.required",function(){var t=e(this).parents("li.form-field").find(".required-asterisk");t.toggle()}),r.on("click",'input[name="enable_roles"]',function(){var t=e(this).siblings("div.available-roles"),a=e(this);t.slideToggle(250,function(){a.is(":checked")||e('input[type="checkbox"]',t).removeAttr("checked")})}),r.on("click",".add-opt",function(t){t.preventDefault();var a=e(this).parents(".field-options:eq(0)"),l=e('[name="multiple"]',a),s=e(".option-selected:eq(0)",a),o=!1;o=l.length?l.prop("checked"):"checkbox"===s.attr("type");var n=s.attr("name");e(".sortable-options",a).append(U(n,!1,!1,o)),c.updateMultipleSelect()}),r.on("click touchstart",".close-field",function(){var t=e(this).parents("li.form-field:eq(0)").attr("id");c.toggleEdit(t)}),r.on("mouseover mouseout",".remove, .del-button",function(){e(this).parents("li:eq(0)").toggleClass("delete")});var G=e(document.getElementById(i+"-view-data"));G.click(function(e){e.preventDefault();var t=c.htmlEncode(n.val()),a=c.markup("code",t,{className:"xml"}),l=c.markup("pre",a);c.dialog(l,null,"data-dialog")});var V=e(document.getElementById(i+"-clear-all"));V.click(function(){var t=e("li.form-field"),a=this.getBoundingClientRect(),l=document.body.getBoundingClientRect(),s={pageX:a.left+a.width/2,pageY:a.top-l.top-12};t.length?c.confirm("Are you sure you want to clear all fields?",function(){c.removeAllfields(),o.notify.success(o.messages.allFieldsRemoved),c.save()},s):c.dialog("There are no fields to clear",{pageX:s.pageX,pageY:s.pageY})}),e(document.getElementById(i+"-save")).click(function(e){e.preventDefault(),c.save(),c.validateForm(e)});var J=!1,Q=[],Z="68,69,86";return e(".fb-save").mouseover(function(){J=!0}).mouseout(function(){J=!1}),e(document.documentElement).keydown(function(t){Q.push(t.keyCode),Q.toString().indexOf(Z)>=0&&(e(".action-links").toggle(),e(".view-data").toggle(),Q=[])}),e(".dev-mode-link").click(function(t){t.preventDefault();var a=e(this);S.toggleClass("dev-mode"),a.parent().css("opacity",1),S.hasClass("dev-mode")?(a.siblings(".action-links-inner").css("width","100%"),a.html(o.messages.devMode+" "+o.messages.on).css("color","#8CC63F")):(a.siblings(".action-links-inner").css("width",0), diff --git a/dist/form-render.css b/dist/form-render.css index e87daaa57..1cb626738 100644 --- a/dist/form-render.css +++ b/dist/form-render.css @@ -1,6 +1,6 @@ /* formBuilder - http://kevinchappell.github.io/formBuilder/ -Version: 1.9.4 +Version: 1.9.5 Author: Kevin Chappell */ * { diff --git a/dist/form-render.js b/dist/form-render.js index 54dde87ee..527cf3b7e 100644 --- a/dist/form-render.js +++ b/dist/form-render.js @@ -1,6 +1,6 @@ /* formBuilder - http://kevinchappell.github.io/formBuilder/ -Version: 1.9.4 +Version: 1.9.5 Author: Kevin Chappell */ 'use strict'; diff --git a/dist/form-render.min.css b/dist/form-render.min.css index 637a30002..e442987d4 100644 --- a/dist/form-render.min.css +++ b/dist/form-render.min.css @@ -1,6 +1,6 @@ /* formBuilder - http://kevinchappell.github.io/formBuilder/ -Version: 1.9.4 +Version: 1.9.5 Author: Kevin Chappell */ .btn,.btn-group{display:inline-block;vertical-align:middle}.btn-group>.btn,.input-group .form-control{float:left;position:relative}.btn,.btn.active,.btn.btn-active,.btn:active,.form-control{background-image:none}.btn-group,.btn-group>.btn,.input-group,.kc-toggle{position:relative}*{box-sizing:border-box}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}textarea{overflow:auto}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-group .input-group .form-control:last-child,.btn-group .input-group-addon:last-child,.btn-group .input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.btn-group .input-group-btn:first-child>.btn:not(:first-child),.btn-group .input-group-btn:last-child>.btn,.btn-group .input-group-btn:last-child>.btn-group>.btn,.btn-group .input-group-btn:last-child>.dropdown-toggle,.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn{color:#fff;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;border-radius:4px}.btn.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn.btn-sm,.btn.btn-xs{font-size:12px;line-height:1.5;border-radius:3px}.btn.btn-sm{padding:5px 10px}.btn.btn-xs{padding:1px 5px}.btn-primary{background-color:#337ab7;border-color:#2e6da4}.btn-primary.active,.btn-primary.btn-active,.btn-primary:active,.btn-primary:hover{background-color:#286090;border-color:#204d74}.btn-danger{background-color:#d9534f;border-color:#d43f3a}.btn-danger:hover{background-color:#c9302c;border-color:#ac2925}.btn-default{background-color:#fff;border-color:#ccc}.btn-success{background-color:#5cb85c;border-color:#4cae4c}.btn-success:hover{background-color:#449d44;border-color:#398439}.btn-info{background-color:#5bc0de;border-color:#46b8da}.btn-info:hover{background-color:#31b0d5;border-color:#269abc}.btn-warning{background-color:#f0ad4e;border-color:#eea236}.btn-warning:hover{background-color:#ec971f;border-color:#d58512}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.input-group .form-control{z-index:2;width:100%;margin-bottom:0}.input-group{display:table;border-collapse:separate}.form-control,output{display:block;font-size:14px;line-height:1.42857143;color:#555}textarea.form-control{height:auto}.form-control{height:34px;width:100%;padding:6px 12px;background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-group{margin-bottom:15px}.pull-right{float:right}.pull-left{float:left}.kc-toggle{margin:4px 0 0 2px;width:60px;height:21px;border-radius:3px;cursor:pointer;overflow:hidden;display:inline-block;background:#e9e9e9;border:1px solid #cbcbcb;vertical-align:bottom;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kc-toggle .kct-inner{position:absolute;top:0;left:-28px;width:115px;height:100%;-webkit-transition:left 150ms ease;transition:left 150ms ease}.kc-toggle.on .kct-inner{background:#e2e2e2;background:-webkit-linear-gradient(top,#e2e2e2 0,#fff 100%);background:linear-gradient(to bottom,#e2e2e2 0,#fff 100%);left:0}.kc-toggle input{display:none;position:absolute;z-index:-1;opacity:0;margin:0;padding:0;width:100%;height:100%}.kct-handle,.kct-off,.kct-on,[tooltip]{position:relative}.kc-toggle .kct-on{color:#12a912}.kct-off{color:#666}.kct-handle,.kct-off,.kct-on{width:28px;height:100%;font-family:Arial,Tahoma,sans-serif;font-size:12px;text-align:center;line-height:22px;font-weight:700;float:left}.kct-handle{height:17px;background:#fff;background:-webkit-linear-gradient(top,#fff 0,#cecece 100%);background:linear-gradient(to bottom,#fff 0,#cecece 100%);border:1px solid #999;font-weight:100;color:#4b4b4b;text-shadow:none;border-radius:3px;margin:1px}.form-group .required{color:#C10000}[tooltip]:hover:after{background:#262626;background:rgba(0,0,0,.9);border-radius:5px 5px 5px 0;bottom:23px;color:#fff;content:attr(tooltip);padding:10px 5px;position:absolute;z-index:98;left:2px;width:230px;text-shadow:none;font-size:12px;line-height:1.5em}[tooltip]:hover:before{border:solid;border-color:#222 transparent;border-width:6px 6px 0;bottom:17px;content:"";left:2px;position:absolute;z-index:99}.tooltip-element{color:#fff;background:#000;width:16px;height:16px;border-radius:8px;display:inline-block;text-align:center;line-height:16px;margin:0 5px;font-size:12px}.form-control[type=color]{width:60px;padding:2px;display:inline-block}.form-control[multiple]{height:auto} \ No newline at end of file diff --git a/dist/form-render.min.js b/dist/form-render.min.js index 11b268ba5..b3e694dbd 100644 --- a/dist/form-render.min.js +++ b/dist/form-render.min.js @@ -1,6 +1,6 @@ /* formBuilder - http://kevinchappell.github.io/formBuilder/ -Version: 1.9.4 +Version: 1.9.5 Author: Kevin Chappell */ "use strict";!function(e){var t=function(t,r){var n={theme:"fresh",labels:{off:"Off",on:"On"}},a=e.extend(n,r),o=e('
').insertAfter(t).append(t);o.toggleClass("on",t.is(":checked"));var i='
'+a.labels.on+"
",c='
'+a.labels.off+"
",l='
',s='
'+i+l+c+"
";o.append(s),o.click(function(){t.attr("checked",!t.attr("checked")),e(this).toggleClass("on")})};e.fn.kcToggle=function(r){var n=this;return n.each(function(){var n=e(this);if(!n.data("kcToggle")){var a=new t(n,r);n.data("kcToggle",a)}})}}(jQuery);var FormRender=function(e,t){var r=this,n={destroyTemplate:!0,container:!1,dataType:"xml",formData:!1,label:{selectColor:"Select Color",noFormData:"No form data.",formRendered:"Form Rendered"},render:!0,notify:{error:function(e){return console.error(e)},success:function(e){return console.log(e)},warning:function(e){return console.warn(e)}}},a={},o=$.extend(n,e);a.getElement=function(){return t.id||(t.id=a.makeId(t)),document.getElementById(t.id)},a.makeId=function(e){var t=(new Date).getTime();return e.tagName+"-"+t},!o.formData&&t&&(t=a.getElement(),o.formData=t.value),a.markup=function(e){var t=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],r=arguments.length<=2||void 0===arguments[2]?"":arguments[2];t=a.attrString(t),r=Array.isArray(r)?r.join(""):r;var n=["input"],o=-1===n.indexOf(e)?"<"+e+" "+t+">"+r+"":"<"+e+" "+t+"/>";return o},a.fieldRender=function(e){var t="",r="",n="",i=a.parseAttrs(e.attributes),c=i.description||"",l="",s=$("option",e);if(i.id=i.name,i.required&&(i.required=null,i["aria-required"]="true",l='*'),"hidden"!==i.type){c&&(c='?');var d=i.label||"";r='"}var u=i.label;delete i.label,delete i.description;var f=a.attrString(i);switch(i.type){case"textarea":case"rich-text":delete i.type,delete i.value,t=r+"";break;case"select":i.type=i.type.replace("-group",""),s.length&&s.each(function(e,t){e=e;var r=a.parseAttrs(t.attributes),o=a.attrString(r),i=t.innerHTML||t.innerContent||t.innerText||t.childNodes[0].nodeValue||t.value;n+=""}),t=r+"";break;case"checkbox-group":case"radio-group":i.type=i.type.replace("-group",""),delete i.className,s.length&&!function(){var e="checkbox"===i.type?i.name+"[]":i.name;s.each(function(t,r){var o=$.extend({},i,a.parseAttrs(r.attributes)),c=void 0,l=void 0;o.selected&&(delete o.selected,o.checked=null),o.name=e,o.id=i.id+"-"+t,c=a.attrString(o),l=r.innerHTML||r.innerContent||r.innerText||r.value||"",n+="
"})}(),t=r+'
'+n+"
";break;case"text":case"password":case"email":case"file":case"hidden":case"date":case"autocomplete":t=r+" ";break;case"color":t=r+" "+o.label.selectColor;break;case"button":case"submit":t="";break;case"checkbox":t=" "+r,i.toggle&&setTimeout(function(){$(document.getElementById(i.id)).kcToggle()},100);break;default:t="<"+i.type+">"}return"hidden"!==i.type&&(t=a.markup("div",{className:"form-group field-"+i.id},t)),t},a.attrString=function(e){var t=[];for(var r in e)e.hasOwnProperty(r)&&(r=a.safeAttr(r,e[r]),t.push(r.name+r.value));return t.join(" ")},a.safeAttr=function(e,t){var r={className:"class"};return e=r[e]||e,t=t?window.JSON.stringify(t):!1,t=t?"="+t:"",{name:e,value:t}},a.parseAttrs=function(e){var t={};for(var r in e)e.hasOwnProperty(r)&&(t[e[r].nodeName]=e[r].nodeValue);return t};var i=[],c=$.parseXML(o.formData),l=$("field",c);if(!c)return o.notify.error(o.label.noFormData),!1;o.notify.success(o.label.formRendered),l.length&&l.each(function(e,t){e=e,i.push(a.fieldRender(t))});var s=i.join("");return o.render?o.container&&o.container.length?o.container.html(s):t&&t.replaceWith(s):r.markup=s,r};!function(e){e.fn.formRender=function(e){this.each(function(){var t=new FormRender(e,this);return t})}}(jQuery); \ No newline at end of file diff --git a/package.json b/package.json index 9a24ccf8b..54ce6e244 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "formBuilder", - "version": "1.9.4", + "version": "1.9.5", "main": "dist/form-builder.js", "files": [ "dist/form-builder.js",