diff --git a/demo/assets/js/form-builder.js b/demo/assets/js/form-builder.js index 9405372ec..34464456f 100644 --- a/demo/assets/js/form-builder.js +++ b/demo/assets/js/form-builder.js @@ -123,8 +123,6 @@ var formBuilderHelpers = function formBuilderHelpers(opts, formBuilder) { cancelArray = []; _helpers.stopIndex = ui.placeholder.index() - 1; - form.dispatchEvent(formBuilder.events.beforeFieldAdd); - if (ui.item.parent().hasClass('frmb-control')) { cancelArray.push(true); } @@ -724,14 +722,6 @@ var formBuilderEvents = function formBuilderEvents(opts, _helpers) { var events = {}; - events.beforeFieldAdd = new CustomEvent('beforeFieldAdd', { - detail: { - stopIndex: _helpers.stopIndex - }, - bubbles: true, - cancelable: true - }); - events.loaded = new Event('loaded'); events.viewData = new Event('viewData'); diff --git a/demo/assets/js/form-builder.min.js b/demo/assets/js/form-builder.min.js index 590a0a671..6d04c4a77 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.1 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(l,s){l=l;var o=document.getElementById(e.formID),n=o.children.length-1,i=[];a.stopIndex=s.placeholder.index()-1,o.dispatchEvent(t.events.beforeFieldAdd),s.item.parent().hasClass("frmb-control")&&i.push(!0),e.prepend&&i.push(0===a.stopIndex),e.append&&i.push(a.stopIndex+1===n),a.doCancel=i.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()}),q.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"),q.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('
'),I(),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); +"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()}),q.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"),q.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('
'),O(),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); //# sourceMappingURL=form-builder.min.js.map diff --git a/dist/form-builder.js b/dist/form-builder.js index 9405372ec..34464456f 100644 --- a/dist/form-builder.js +++ b/dist/form-builder.js @@ -123,8 +123,6 @@ var formBuilderHelpers = function formBuilderHelpers(opts, formBuilder) { cancelArray = []; _helpers.stopIndex = ui.placeholder.index() - 1; - form.dispatchEvent(formBuilder.events.beforeFieldAdd); - if (ui.item.parent().hasClass('frmb-control')) { cancelArray.push(true); } @@ -724,14 +722,6 @@ var formBuilderEvents = function formBuilderEvents(opts, _helpers) { var events = {}; - events.beforeFieldAdd = new CustomEvent('beforeFieldAdd', { - detail: { - stopIndex: _helpers.stopIndex - }, - bubbles: true, - cancelable: true - }); - events.loaded = new Event('loaded'); events.viewData = new Event('viewData'); diff --git a/dist/form-builder.min.js b/dist/form-builder.min.js index d6ba3d8de..38703c192 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.1 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(l,s){l=l;var o=document.getElementById(e.formID),n=o.children.length-1,i=[];a.stopIndex=s.placeholder.index()-1,o.dispatchEvent(t.events.beforeFieldAdd),s.item.parent().hasClass("frmb-control")&&i.push(!0),e.prepend&&i.push(0===a.stopIndex),e.append&&i.push(a.stopIndex+1===n),a.doCancel=i.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()}),q.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"),q.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('
'),I(),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); \ 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()}),q.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"),q.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('
'),O(),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); \ No newline at end of file diff --git a/package.json b/package.json index 685a84b13..200c18c38 100644 --- a/package.json +++ b/package.json @@ -92,6 +92,7 @@ "gulp-sass": "^2.2.0", "gulp-sourcemaps": "^1.6.0", "gulp-uglify": "^1.5.3", + "jshint": "^2.9.1", "jshint-stylish": "^2.1.0" }, "engines": {} diff --git a/src/js/events.js b/src/js/events.js index 41d8d18d8..a9d20b04b 100644 --- a/src/js/events.js +++ b/src/js/events.js @@ -3,16 +3,6 @@ var formBuilderEvents = function(opts, _helpers) { var events = {}; - events.beforeFieldAdd = new CustomEvent( - 'beforeFieldAdd', { - detail: { - stopIndex: _helpers.stopIndex - }, - bubbles: true, - cancelable: true - } - ); - events.loaded = new Event('loaded'); events.viewData = new Event('viewData'); diff --git a/src/js/helpers.js b/src/js/helpers.js index 4f41608c3..a49d890cd 100644 --- a/src/js/helpers.js +++ b/src/js/helpers.js @@ -114,8 +114,6 @@ var formBuilderHelpers = function(opts, formBuilder) { cancelArray = []; _helpers.stopIndex = ui.placeholder.index() - 1; - form.dispatchEvent(formBuilder.events.beforeFieldAdd); - if (ui.item.parent().hasClass('frmb-control')) { cancelArray.push(true); }