XylotrechusZ
!function($){"use strict";var self={init:function(){self.maybeDisplayMessages(),+gvGlobals.add_bulk_action&&self.addBulkAction(),+gvGlobals.show_column&&(self.addApprovedColumn(),self.setInitialApprovedEntries(),self.setupTippy(),$(".toggleApproved").on("click",self.toggleApproved))}};self.setupTippy=function(){function gv_select_status(element,status){$(element).find("a").removeClass("selected").off().end().find('a[data-approved="'+status+'"]').addClass("selected")}tippy(".toggleApproved",{interactive:!0,arrow:!0,arrowType:"round",theme:"light-border",content:gvGlobals.status_popover_template,placement:gvGlobals.status_popover_placement,onShow:function(showEvent){var $entry_element=$(showEvent.reference),current_status=parseInt($entry_element.attr("data-current-status"),10);document.gvStatusKeyPressHandler=function(key){key.preventDefault();key=key.key||key.keyCode;"Escape"!==key&&"Esc"!==key?-1!==["1","2","3"].indexOf(key)&&$(showEvent.popper).find('a[data-approved="'+key+'"]').trigger("click"):showEvent.popper._tippy.hide()},$(document).on("keyup",document.gvStatusKeyPressHandler),$(showEvent.popper).on("click",function(new_class_and_title){new_class_and_title.preventDefault();var new_status=parseInt($(new_class_and_title.target).attr("data-approved"),10),entry_id=$entry_element.parent().parent().find('th input[type="checkbox"]').val(),new_class_and_title=self.getClassAndTitleFromApprovalStatus(new_status);$entry_element.addClass("loading").prop("title",new_class_and_title[1]).attr("data-current-status",new_status),self.updateApproved(entry_id,new_status,$entry_element),gv_select_status(showEvent.popper,new_status)}),gv_select_status(showEvent.popper,current_status)},onHide:function(hideEvent){$(hideEvent.popper).off("click"),$(document).off("keyup",document.gvStatusKeyPressHandler)}})},self.maybeDisplayMessages=function(){0<gvGlobals.bulk_message.length&&self.displayMessage(gvGlobals.bulk_message,"updated","#lead_form")},self.getClassAndTitleFromApprovalStatus=function(title){var css_class,title=parseInt(title,10)===parseInt(gvGlobals.status_unapproved,10)?(css_class="unapproved",gvGlobals.unapprove_title):parseInt(title,10)===parseInt(gvGlobals.status_approved,10)?(css_class="approved",gvGlobals.disapprove_title):(css_class="disapproved",gvGlobals.approve_title);return[css_class,title]},self.setInitialApprovedEntries=function(){$("tr:has(input.entry_approval)").each(function(){var $input=$("input.entry_approval",$(this)),class_and_title=self.getClassAndTitleFromApprovalStatus($input.val());$(this).find("a.toggleApproved").addClass(class_and_title[0]).prop("title",class_and_title[1]).attr("data-current-status",$input.val())})},self.addBulkAction=function(){var $optgroups,$optgroup;0!==gvGlobals.bulk_actions.length&&($optgroups=[],$.each(gvGlobals.bulk_actions,function(key){$optgroup=$("<optgroup />",{label:key}),$.each(gvGlobals.bulk_actions[key],function(i){$optgroup.append($("<option />",{value:gvGlobals.bulk_actions[key][i].value}).html(gvGlobals.bulk_actions[key][i].label))}),$optgroups.push($optgroup)}),$("#bulk_action, #bulk_action2, #bulk-action-selector-top, #bulk-action-selector-bottom").append($optgroups))},self.addApprovedColumn=function(){var link;1===$("tbody tr","#lead_form").length&&1===$("tbody tr td","#lead_form").length||(link='<a href="'+gvGlobals.column_link+'" title="'+gvGlobals.column_title+'"></a>',0===gvGlobals.column_link.length&&(link='<span title="'+gvGlobals.column_title+'"></span>'),$("thead th.check-column:eq(1), tfoot th.check-column:eq(1), thead .column-is_starred, tfoot .column-is_starred").after('<th scope="col" class="manage-column column-cb gv-approve-column column-is_approved">'+link+"</th>"),$('th.check-column[scope=row]:has(img[src*="star"]),td:has(img[src*="star"]),tbody th.column-is_starred').after('<th scope="row" class="column-is_approved gv-approve-column"><a href="#" class="toggleApproved" title="'+gvGlobals.approve_title+'"></a></th>'))},self.toggleApproved=function(e){e.preventDefault();var title,status,entryID=$(this).parent().parent().find('th input[type="checkbox"]').val();return e.altKey?(e.preventDefault(),title=e.shiftKey?(status=gvGlobals.status_disapproved,gvGlobals.disapprove_title):(status=gvGlobals.status_unapproved,gvGlobals.unapprove_title)):status=$(this).hasClass("approved")?(title=gvGlobals.approve_title,gvGlobals.status_disapproved):(title=gvGlobals.disapprove_title,gvGlobals.status_approved),$(this).addClass("loading").prop("title",title).attr("data-current-status",status),self.updateApproved(entryID,status,$(this)),!1},self.displayMessage=function(messageBox,messageClass,container){self.hideMessage(container,!0);messageBox=$('<div class="message '+messageClass+'" style="display:none;"><p>'+messageBox+"</p></div>");$(messageBox).prependTo(container).slideDown(),"updated"===messageClass&&window.setTimeout(function(){self.hideMessage(container,!1)},1e4)},self.hideMessage=function(messageBox,messageQueued){messageBox=$(messageBox).find(".message");messageQueued?$(messageBox).remove():$(messageBox).slideUp(function(){$(this).remove()})},self.updateApproved=function(data,approved,$target){data={action:"gv_update_approved",entry_slug:data,form_id:gvGlobals.form_id,approved:approved,nonce:gvGlobals.nonce,admin_nonce:gvGlobals.admin_nonce};return $.post(ajaxurl,data,function(response){if(response)if($target.removeClass("loading"),response.success){var approved_increment=$target.hasClass("approved")?-1:0,disapproved_increment=$target.hasClass("disapproved")?-1:0,unapproved_increment=$target.hasClass("unapproved")?-1:0;switch($target.removeClass("approved unapproved disapproved"),parseInt(approved,10)){case parseInt(gvGlobals.status_approved,10):$target.addClass("approved"),approved_increment++;break;case parseInt(gvGlobals.status_disapproved,10):$target.addClass("disapproved"),disapproved_increment++;break;case parseInt(gvGlobals.status_unapproved,10):$target.addClass("unapproved"),unapproved_increment++}window.UpdateCount("gv_approved_count",approved_increment),window.UpdateCount("gv_disapproved_count",disapproved_increment),window.UpdateCount("gv_unapproved_count",unapproved_increment)}else alert(response.data[0].message)}),!0},$(self.init)}(jQuery);