var amo_sorter_unsaved = false; jQuery(window).on("beforeunload", function () { if(amo_sorter_unsaved) { return "You have unsaved changes, please hit save before leaving."; } return; }); jQuery(function() { //jQuery("#adminmenu").hide(); jQuery('.expander_dnd').draggable({ revert:"invalid", connectToSortable: "#dnd_target", }); jQuery('#dnd_target').droppable( { drop: handleDropEvent2, greedy:true, accept:".expander_dnd", } ); jQuery('#ams_expanders_menu_droparea').droppable( { drop: handleDropEvent_back_in_box, greedy:true, accept:".expander_dnd", } ); jQuery("#dnd_target").sortable( { revert:true, update:updateSort, }); jQuery("#ams_expanders_menu_droparea").sortable( { revert:true, update:updateSort, }); jQuery(".save_expander_form").on("click",function() { ams_expander_save(jQuery(this)); }); jQuery('.expander-form-opener').on('mousedown', function(e) { e.stopPropagation(); }); jQuery('.close-expander-form').on('mousedown', function(e) { e.stopPropagation(); }); jQuery('.save_expander_form').on('mousedown', function(e) { e.stopPropagation(); }); jQuery(".expander-form-opener").click(function(event) { // jQuery(this).siblings(".expander_form").toggle(); event.stopPropagation(); console.log("opening form"); var id = jQuery(this).attr("data-expander-id"); jQuery("#ex"+id).append(jQuery("#expander_form_"+id)); /* jQuery(".expander_form").not("#expander_form_"+id).hide(function() { console.log("does this get executed?"); jQuery("#expander_form_"+id).fadeIn(); }); jQuery("#expander_form_"+id).fadeIn(); */ //jQuery("#glass_screen").show(); jQuery("#expander_form_"+id).slideToggle("fast",function() { jQuery("#expander_form_"+id).parent().css("height","auto"); }); //jQuery(this).siblings(".expander_form").css("background-color","red"); }); jQuery(".close-expander-form").click(function(event) { event.stopPropagation(); jQuery("#glass_screen").hide(); jQuery(this).parent().slideUp(); }); jQuery( ".autocomplete_search_box" ).autocomplete({ source: function( request, response ) { jQuery.ajax( { url: ajaxurl, data: { action : 'autocomplete', q: request.term, }, success: function( data ) { console.log("Returned from autocomplete: "+data); var arrExtracted = JSON.parse(data); // Handle 'no match' indicated by [ "" ] response //response( data.length === 1 && data[ 0 ].length === 0 ? [] : data ); response(arrExtracted); } } ); }, minLength: 2, search: function( event, ui ) { //current_page_id = jQuery(this).prev(".autocomplete_search_id").attr('rel'); //current_filter_id = jQuery(this).prev(".autocomplete_search_id").attr('rev'); }, select: function( event, ui ) { jQuery(this).siblings(".autocomplete_search_id").val(ui.item.id); console.log("id selected = "+ui.item.id); jQuery(this).siblings(".autocomplete_selected_label").html("Selected: "+ui.item.label+" Search"); jQuery(".autocomplete_search_box").fadeOut(); jQuery('#ams_cp_type_2').attr('checked', true); } }); jQuery("#ams_existing_admin_page").on("focus",function() { jQuery('#ams_cp_type_1').prop('checked', true); }); jQuery(".ams_content").on("focus",function() { jQuery('#ams_cp_type_3').prop('checked', true); }); jQuery("#ams_iframe_src").on("focus",function() { jQuery('#ams_cp_type_4').prop('checked', true); }); jQuery("input[name='pad_menu_items']").click(function() { console.log("pad menu changed"); if(jQuery("#ams-pad-radios-2").is(":checked")) { jQuery("#ams_pref_custom_padding_group").slideDown(); console.log("pad menu slide down"); } else { jQuery("#ams_pref_custom_padding_group").slideUp(); console.log("pad menu slide up"); } }); jQuery("input[name='width_preset']").click(function() { console.log("width menu changed"); if(jQuery("#amsp_width_radios-2").is(":checked")) { jQuery("#ams_pref_custom_width_group").slideDown(); console.log("width menu changed - s down"); } else { jQuery("#ams_pref_custom_width_group").slideUp(); console.log("width menu changed - s up"); } }); jQuery(function() { jQuery('.color-field').wpColorPicker(); }); }); function stopDraggingTool( event, ui) { registerListeners(); } function handleDropEvent2( event, ui ) { jQuery("#dnd_target").sortable('serialize'); } function handleDropEvent_back_in_box( event, ui) { var draggable = ui.draggable; jQuery("#ams_expanders_menu_droparea").append(draggable); draggable.css('top',0); draggable.css('left',0); draggable.css('display','block'); draggable.css('position','relative'); draggable.css('max-width','267px'); updateSort(); } function setSorterDirty() { amo_sorter_unsaved = true; jQuery(".ams-sorter-save-button").removeClass("button-primary-disabled"); } function setSorterClean() { amo_sorter_unsaved = false; jQuery(".ams-sorter-save-button").addClass("button-primary-disabled"); } function updateSort() { var orders = []; jQuery.each(jQuery("#dnd_target").children(), function(i, item) { orders.push(jQuery(item).attr("id")); }); jQuery("#go").val(orders.join(" ")); setSorterDirty(); } function ams_save(show_message) { var new_value = jQuery("#go").val(); var sorter_additional_data = jQuery("#sorter_additional_data").serialize(); jQuery.ajax({ url: ajax_object.ajax_url, data: { 'action':'ams_save', 'new_value' : new_value, 'sorter_additional_data' : sorter_additional_data, 'ams_sorter_ajax_nonce' : jQuery("#ams_sorter_ajax_nonce").val(), }, success:function(data) { if(show_message) { ams_display_message("Menu configuration saved."); setSorterClean(); } }, error: function(errorThrown){ console.log(errorThrown); } }); } function ams_expander_save(me) { var new_value = jQuery(me).parent().serialize(); jQuery.ajax({ url: ajax_object.ajax_url, data: { 'action':'ams_expander_save', 'new_value' : new_value, 'ams_expander_ajax_nonce' : jQuery("#ams_expander_ajax_nonce").val(), }, success:function(data) { // This outputs the result of the ajax request console.log(data); jQuery(".expander_form").slideUp(); var the_id = jQuery(me).parent().children("[name=e_id]").val(); var the_val = jQuery(me).parent().children(".expander_form_field").children("[name=e_name]").val(); console.log("Val="+the_val); console.log("ID="+the_id); jQuery(".expander_text_"+the_id).html(the_val); ams_display_message("The expander has been saved."); }, error: function(errorThrown){ console.log(errorThrown); } }); } function ams_display_message(str) { jQuery(".ams_message_bar").html(' '+str+''); jQuery(".ams_message_bar").slideDown("slow",function() { setTimeout(function() { jQuery(".ams_message_bar").slideUp(); },5000); }); } function ams_side_menu_toggle_menu(expander_id,force,instant) { var the_expander = jQuery(".expander-"+expander_id); switch(force) { default: // just toggle if(the_expander.hasClass("data-expander-open")) { the_expander.removeClass("data-expander-open").addClass("data-expander-closed"); } else { the_expander.addClass("data-expander-open").removeClass("data-expander-closed"); } jQuery(".data-expander-child-of-"+expander_id).fadeToggle(); jQuery("#ams_sub_group_"+expander_id).slideToggle(); break; case 1: // force open if(!instant) { jQuery("#ams_sub_group_"+expander_id).slideDown(); } else { jQuery("#ams_sub_group_"+expander_id).show(); } jQuery(".data-expander-child-of-"+expander_id).fadeIn(); the_expander.addClass("data-expander-open").removeClass("data-expander-closed"); break; case 2: // force close jQuery("#ams_sub_group_"+expander_id).slideUp(); jQuery("#ams_sub_group_"+expander_id).fadeOut(); the_expander.removeClass("data-expander-open").addClass("data-expander-closed"); break; } if(the_expander.hasClass("data-expander-open")) { the_expander.find(".dashicons-before").addClass("dashicons-arrow-up-alt2").removeClass("dashicons-arrow-down-alt2"); } else { the_expander.find(".dashicons-before").addClass("dashicons-arrow-down-alt2").removeClass("dashicons-arrow-up-alt2"); } } function ams_expand_all() { var num_closed = 0; for(i=1;i<=10;i++) { var the_expander = jQuery(".expander-"+i); if(the_expander.hasClass("data-expander-open")) { } else { if(the_expander.length) { /* make sure it exists */ num_closed++; } } } if(num_closed == 0) { for(i=1;i<=10;i++) { ams_side_menu_toggle_menu(i,0); // force close } } else { for(i=1;i<=10;i++) { ams_side_menu_toggle_menu(i,1); // force open } } } function ams_toggle_on_off(me) { var ams_on = (jQuery("#ams_on").val()=='1')?1:0; jQuery(".ams_message_bar").hide(); jQuery.ajax({ url: ajax_object.ajax_url, data: { 'action':'ams_toggle_on_off', 'ams_on' : ams_on, 'ams_onoff_ajax_nonce' : jQuery("#ams_onoff_ajax_nonce").val(), }, success:function(data) { var expander_on = ""; if(data==1) { expander_on = "on"; jQuery("#ams_on").val(1); jQuery(".ams_toggler_on_off").html("The Menu Sorter System is On for this user. Click here to Switch Off."); jQuery(".ams_toggler_on_off").removeClass("is_off"); } else { expander_on = "off"; jQuery("#ams_on").val(0); jQuery(".ams_toggler_on_off").html("The Menu Sorter System is OFF for this user. Click here to Switch On."); jQuery(".ams_toggler_on_off").addClass("is_off"); } ams_display_message("The AMS system is now switched "+expander_on+" on for this user"); }, error: function(errorThrown){ console.log(errorThrown); } }); return false; } function show_autocomplete() { jQuery(".autocomplete_search_box").slideDown(); }