ninja-forms-style-admin.min.js 12.2 KB
function reloadWithQueryStringVars(e){var a=location.search?location.search.substring(1).split("&"):[],l=location.search?location.href.replace(location.search,""):location.href,i={},s=l+"?";if(a.length>0)for(var t=0;t<a.length;t++){var r=a[t].split("=");i[r[0]]=r[1]}if(e)for(var o in e)i[o]=e[o];if(i){for(var n in i)s+=n+"="+i[n]+"&";s=s.substring(0,s.length-1),window.location.href=s}else window.location.href=location.href}jQuery(document).ready(function(e){function a(a){var l=jQuery(".style-mp-page").length,i=l+1,s='<li class="style-mp-page" title="'+i+'" id="ninja_forms_style_mp_page_'+i+'">'+i+"</li>";e("#style-mp-page-list").append(s);var s='<div id="ninja_forms_style_mp_'+i+'" class="style-layout"><div>Columns: <select name="cols_'+i+'" id="cols_'+i+'" class="ninja-forms-style-col"><option value="1" selected>1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option></select></div><input type="hidden" name="order_'+i+'" id="order_'+i+'" value="" class="field-order"><div id="col_fields_'+i+'"></div><ul class="sortable ninja-forms-style-sortable cols-1" rel="1" id="ninja_forms_style_list_'+i+'"><li class="ui-disabled" style="display: none;" id="ninja_forms_field_'+a.new_id+'_li"></li></ul>';e("#ninja-forms-slide").append(s),e(".ninja-forms-style-sortable").sortable({items:"li:not(.ui-state-disabled)",tolerance:"intersect",cursor:"move",placeholder:"ninja-forms-style-placeholder",forcePlaceholderSize:!0,opacity:.4,handle:".style-handle",connectWith:".ninja-forms-style-sortable",start:function(e,a){a.placeholder.height(a.item.height()),a.placeholder.width(a.item.width())}}),e(".style-mp-page").droppable({accept:".ninja-forms-style-sortable li",hoverClass:"drop-hover",tolerance:"pointer",drop:function(a,l){e(".spinner").show();var i=this.title;l.draggable.hide("slow",function(){var a=e("#cols_"+i).val();if(e(this).appendTo("#ninja_forms_style_list_"+i),e(this).attr("style",""),e(this).attr("rel")>a){e(this).removeClass("span-"+e(this).attr("rel")),e(this).addClass("span-"+a),e(this).attr("rel",a);var l=e(this).prop("id").replace("_li","_colspan");e("#"+l).val(a)}e(this).show("slow"),e(".spinner").hide()})}}),e(".spinner").hide()}function l(a){var l="",i="",s="",t="",r=450*(a-1),o=e("#cols_"+a).val();e("#col_fields_"+a).prop("innerHTML","");for(var n=o;n>=1;n--){var _='<input type="hidden" name="col_'+n+"_"+a+'" id="col_'+n+"_"+a+'" value="">';e("#col_fields_"+a).append(_)}e("#ninja_forms_style_list_"+a+" li").each(function(){var a=e(this).position(),o=this.id.replace("ninja_forms_field_","");o=o.replace("_li","");var n=a.left;n=parseInt(n),col_1_left=0+r,col_2_left=125+r,col_3_left=225+r,(n<=col_1_left||0==n)&&(l=""==l?o:l+","+o),n>col_1_left&&n<col_2_left&&(i=""==i?o:i+","+o),n>col_2_left&&n<col_3_left&&(s=""==s?o:s+","+o),n>col_3_left&&(t=""==t?o:t+","+o)}),e("#col_1_"+a).val(l),e("#col_2_"+a).val(i),e("#col_3_"+a).val(s),e("#col_4_"+a).val(t);var p=e("#ninja_forms_style_list_"+a).sortable("toArray");e("#order_"+a).val(p)}function i(){{var a="",l="",i="",s="";e("#cols").val()}e(".ninja-forms-style-sortable li").each(function(){var t=e(this).position(),r=this.id.replace("ninja_forms_field_","");r=r.replace("_li","");var o=t.left;o=parseInt(o),0==o&&(a=""==a?r:a+","+r),o>0&&150>o&&(l=""==l?r:l+","+r),o>150&&250>o&&(i=""==i?r:i+","+r),o>250&&(s=""==s?r:s+","+r)}),e("#col_1").val(a),e("#col_2").val(l),e("#col_3").val(i),e("#col_4").val(s);var t=e(".ninja-forms-style-sortable").sortable("toArray");e("#order").val(t)}function s(a,l,i){var s=!1,t=100*a,l=l.split(",");i=i.split(",");for(var r=0;r<i.length;r++)i[r]=i[r].replace(/ninja_forms_field_/g,""),i[r]=i[r].replace(/_li/g,"");for(var o=[],r=0;r<l.length;r++)0==e("#ninja_forms_field_"+l[r]).hasClass("ui-disabled")&&o.push(l[r]);l=o;for(var n=[],_=0,r=0;r<l.length;r++){var p=[];e("#ninja_forms_field_"+l[r]).hasClass("ui-disabled")||p.push(l[r]);for(var c=i.indexOf(l[r]),f=c+1;f<i.length&&i[f]!=l[r+1];f++)0==e("#ninja_forms_field_"+i[f]).hasClass("ui-disabled")&&p.push(i[f]);0!=p.length&&(n[_]=p,_++)}for(var r=0;r<n.length;r++){for(var d=0,f=0;f<n[r].length;f++)d+=e("#ninja_forms_field_"+n[r][f]+"_li").css("width");var m=t-d;if(m=100*Math.ceil(m/100)/100,m>0){e("#message").remove(),e(".nav-tab-wrapper").after('<div id="message" class="error below-h2"><p>'+nf_style.layout_error+"</p></div>");var v='<li class="ui-state-default layout-error span-'+m+'" rel="'+m+'"><div class="layout-error-msg">Row has empty space</div></li>';e("#ninja_forms_field_"+n[r][n[r].length-1]+"_li").after(v),s=!0}}return s}e(document).on("change","#advanced_css",function(){this.checked?e("tr.advanced").removeClass("hidden"):e("tr.advanced").addClass("hidden")}),e(".color-picker").wpColorPicker(),e("#field_type").change(function(){var a=e("#field_type").val();reloadWithQueryStringVars({field_type:a})}),e("body").on("click",".field-styling",function(){var a=this.id.replace("styling_","");e("#ninja_forms_field_styling").prop("innerHTML",""),e("#loading_style").show(),e.post(ajaxurl,{field_id:a,action:"ninja_forms_style_field_styling"},function(a){e("#loading_style").hide(),e("#ninja_forms_field_styling").append(a),e(".color-picker").wpColorPicker(),e(".hndle").dblclick(function(){e(this).prevAll(".item-controls:first").find("a").click()})})}),e(".save-field-styling").click(function(){var a=e("#ninja_forms_field_styling").find(":input").serializeFullArray();e("#loading_style").show(),e.post(ajaxurl,{data:a,action:"ninja_forms_style_field_styling_save"},function(){tb_remove(),e("#ninja_forms_field_styling").prop("innerHTML",""),e("#loading_style").hide()})}),e(".cancel-field-styling").click(function(){tb_remove(),e("#ninja_forms_field_styling").prop("innerHTML","")}),e(".cancel-form-styling").click(function(){tb_remove()}),e(".save-form-styling").click(function(){var a=e("#ninja_forms_form_style_inputs").find(":input").serializeFullArray();e("#loading_style").show(),e.post(ajaxurl,{data:a,action:"ninja_forms_style_form_styling_save"},function(){tb_remove(),e("#loading_style").hide()})}),e(".ninja-forms-style-sortable").sortable({items:"li:not(.ui-state-disabled)",tolerance:"intersect",cursor:"move",placeholder:"ninja-forms-style-placeholder",forcePlaceholderSize:!0,opacity:.4,handle:".style-handle",connectWith:".ninja-forms-style-sortable",start:function(a,l){e(".layout-error").remove(),l.placeholder.height(l.item.height()),l.placeholder.width(l.item.width())}}),e(".ninja-forms-style-sortable").disableSelection(),e("#ninja_forms_admin").submit(function(){var a=!1;if("1"==e("#mp_form").val()){e(".field-order").each(function(){var a=this.id.replace("order_","");l(a);var i=e("#cols_"+a).val(),t=e("#col_1_"+a).val(),r=e("#order_"+a).val();s(i,t,r)});var t=e("#ninja-forms-style-viewport").find(".layout-error:first");if(t.length>0){var r=e(t).parent().parent().prop("id"),o=r.replace("ninja_forms_style_mp_","");e("#ninja_forms_style_mp_page_"+o).hasClass("active")||e("#ninja_forms_style_mp_page_"+o).click(),a=!0}}else{i();var n=e("#cols").val(),_=e("#col_1").val(),p=e("#order").val(),a=s(n,_,p)}return a?!1:void 0}),e(document).on("click",".ninja-forms-style-expand",function(a){if(a.preventDefault(),e(".layout-error").remove(),"1"==e("#mp_form").val())var l=e("#mp_page").val(),i=e("#cols_"+l).val();else var i=e("#cols").val();var s=e(this).parent().prop("id").replace("_li","_colspan"),t=e(this).parent().attr("rel");if(i=parseInt(i),t=parseInt(t),t==i)var r=1;else var r=t+1;e(this).parent().removeClass("span-"+t),e(this).parent().addClass("span-"+r),e(this).parent().attr("rel",r),e("#"+s).val(r)}),e("#cols").change(function(){e(".layout-error").remove();var a=e(".ninja-forms-style-sortable").attr("rel"),l=this.value;l=parseInt(l),e(".ninja-forms-style-sortable").removeClass("cols-"+a),e(".ninja-forms-style-sortable").addClass("cols-"+l),e(".ninja-forms-style-sortable").attr("rel",l),e(".ninja-forms-style-sortable li").each(function(){if(e(this).attr("rel")>l){var a=e(this).attr("rel");e(this).removeClass("span-"+a),e(this).addClass("span-"+l),e(this).attr("rel",l);var i=e(this).prop("id").replace("_li","_colspan");e("#"+i).val(l)}}),e("#col_fields").prop("innerHTML","");for(var i=l;i>=1;i--){var s='<input type="hidden" name="col_'+i+'" id="col_'+i+'" value="">';e("#col_fields").append(s)}}),e(document).on("click",".style-mp-page",function(a){a.preventDefault();var l=this.title,i=jQuery("#ninja_forms_style_mp_"+l).position().left;jQuery("#ninja-forms-slide").position().left!=-i&&(jQuery("#ninja-forms-slide").animate({left:-i},"300"),e(".style-mp-page").removeClass("active"),e(this).addClass("active"),e("#mp_page").val(l))}),e(".style-mp-add").droppable({accept:".ninja-forms-style-sortable li",hoverClass:"drop-hover",tolerance:"pointer",drop:function(l,i){var s="_page_divider",t=e("#_form_id").val();e(".spinner").show(),e.post(ajaxurl,{type:s,form_id:t,action:"ninja_forms_new_field"},function(l){a(l);var s=jQuery(".style-mp-page").length;i.draggable.hide("slow",function(){var a=e("#cols_"+s).val();if(e(this).appendTo("#ninja_forms_style_list_"+s),e(this).attr("style",""),e(this).attr("rel")>a){e(this).removeClass("span-"+e(this).attr("rel")),e(this).addClass("span-"+a),e(this).attr("rel",a);var l=e(this).prop("id").replace("_li","_colspan");e("#"+l).val(a)}e(this).show("slow");var i=jQuery("#ninja_forms_style_mp_"+s).position().left;jQuery("#ninja-forms-slide").position().left!=-i&&(jQuery("#ninja-forms-slide").animate({left:-i},"300"),e(".style-mp-page").removeClass("active"),e("#ninja_forms_style_mp_page_"+s).addClass("active"),e("#mp_page").val(s)),e(".spinner").hide()})})}}),e(".style-mp-add").click(function(){var l="_page_divider",i=e("#_form_id").val();e(".spinner").show(),e.post(ajaxurl,{type:l,form_id:i,action:"ninja_forms_new_field"},function(e){a(e)})}),e(".style-mp-subtract").click(function(){var a=confirm("Really delete this page? All fields will be removed.");if(a){var l=e("#_form_id").val(),i=e(".style-mp-page.active").attr("title"),s=e(".style-mp-page").length,t=e("#ninja_forms_style_list_"+i).sortable("toArray");""!=t&&(e(".spinner").show(),e.post(ajaxurl,{form_id:l,fields:t,action:"ninja_forms_mp_delete_page"},function(){if(1==s)for(var a=t.length-1;a>=0;a--)e("#"+t[a]).remove();else{move_to_page=i>1?i-1:1,e("#ninja_forms_style_list_"+i).remove(),e("#ninja_forms_style_mp_page_"+i).remove(),e("#ninja_forms_style_mp_"+i).remove();var a=1;e(".style-mp-page").each(function(){e(this).prop("id","ninja_forms_style_mp_page_"+a),e(this).prop("innerHTML",a),e(this).attr("title",a),a++});var a=1;e(".ninja-forms-style-sortable").each(function(){e(this).prop("id","ninja_forms_style_list_"+a),a++});var a=1;if(e(".style-layout").each(function(){e(this).prop("id","ninja_forms_style_mp_"+a),a++}),1!=move_to_page){var l=jQuery("#ninja_forms_style_mp_"+move_to_page).position().left;jQuery("#ninja-forms-slide").position().left!=-l&&jQuery("#ninja-forms-slide").animate({left:-l},"300")}e(".style-mp-page").removeClass("active"),e("#ninja_forms_style_mp_page_"+move_to_page).addClass("active"),e("#mp_page").val(move_to_page),e(".spinner").hide();var l=jQuery("#ninja_forms_style_mp_"+move_to_page).position().left;jQuery("#ninja-forms-slide").position().left!=-l&&(jQuery("#ninja-forms-slide").animate({left:-l},"300"),e(".style-mp-page").removeClass("active"),e("#ninja_forms_style_mp_page_"+move_to_page).addClass("active"),e("#mp_page").val(move_to_page))}}))}}),e(".ninja-forms-style-col").change(function(){var a=this.id.replace("cols_",""),i=this.value,s=e("#ninja_forms_style_list_"+a).attr("rel");e("#ninja_forms_style_list_"+a).removeClass("cols-"+s),e("#ninja_forms_style_list_"+a).addClass("cols-"+i),e("#ninja_forms_style_list_"+a).attr("rel",i),e("#ninja_forms_style_list_"+a+" li").each(function(){if(e(this).attr("rel")>i){var a=e(this).attr("rel");e(this).removeClass("span-"+a),e(this).addClass("span-"+i),e(this).attr("rel",i);var l=e(this).prop("id").replace("_li","_colspan");e("#"+l).val(i)}}),l(a)}),e(".style-mp-page").droppable({accept:".ninja-forms-style-sortable li",hoverClass:"drop-hover",tolerance:"pointer",drop:function(a,l){e(".spinner").show();var i=this.title;l.draggable.hide("slow",function(){var a=e("#cols_"+i).val();if(e(this).appendTo("#ninja_forms_style_list_"+i),e(this).attr("style",""),e(this).attr("rel")>a){e(this).removeClass("span-"+e(this).attr("rel")),e(this).addClass("span-"+a),e(this).attr("rel",a);var l=e(this).prop("id").replace("_li","_colspan");e("#"+l).val(a)}e(this).show("slow"),e(".spinner").hide()})}})});