initial
This commit is contained in:
commit
9883323161
17470 files changed
+4470592
No files matched your search
@@ -0,0 +1,93 @@
|
||||
/******************************************
|
||||
* Flush cache for single page loader CSS
|
||||
*****************************************/
|
||||
#revert-loader-toolbar{
|
||||
display: none;
|
||||
background: rgba(255, 255, 255, .7) url('data:image/gif;base64,R0lGODlhYgBiAPcAAAAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoKCgsLCwwMDA0NDQ4ODg8PDxAQEBERERISEhMTExQUFBUVFRYWFhcXFxgYGBkZGRoaGhsbGxwcHB0dHR4eHh8fHyAgICEhISIiIiMjIyQkJCUlJSYmJicnJygoKCkpKSoqKisrKywsLC0tLS4uLi8vLzAwMDExMTIyMjMzMzQ0NDU1NTY2NkM/PFlPSG5dVIBqXZB1Zp5/baqIc7WQeb+Wfcecgc6hhNWmhtqpiOCtiuawjOuzkPC1kvO4kvW7jve8ive8hvi6gPi4e/i3d/i1cvi0b/izbfizbPiya/iya/iyaviyaviyaviyaviyaviyaviyaviyaviyaviyaviyaveyavexavexavexavexavexavexavexavexavewavaua/WrbPOkb/Gdcu+Xde6Sd+2OeeyLeuuHe+qFfOmBfOh9fed5fOZ3fOZ1e+VzeuVxeeRwd+RuduRsdONpceNmbuJia+FfZ+FdZuFcZOFbZOFbZOFbZOFbZOFbZOBbZOBbZOBbZOBbZOBbZOBbZOBbZOBbZOBbZOBbZOBbZOBbZOBbZOBbZN9eZd1hZthraM96bcCVdbaoerCzfq25f6u8gKu8gKu8gKq8gaq8gaq8gaq8gaq8gaq8gaq8gau8gau8gau8gau9gau9gau9gau9gau9gay9gbTAiLzEj8XJmc3OotTRqdvUr+PXtejZuOrau+7cv+/Zwe/cw/DbxPHcx/HeyfDhy+7l0e/n1PDo1vLp2PTq3Pft4ffu5ffv5/jx6vny6/vy7fzz7vz07vz07/307/308P308f318v318v328/339f749/75+P76+f77+/77+/7+/v7+/v7+/v7+/v/+/v/////////////////////////+/v///////////////////////////////////////////////////////////////////////////////////////////////yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAwDhACwAAAAAYgBiAAAI/gDDCRxIsKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyhTqlzJsqXLlzBjypxJs6bNmzhz6tzJs6fPn0CDCh1KtKjRo0iTKl3KtKnTp1CjSp1KtarVqwaL5UqiREkSYNcyJsNVixatWriSZbTGy0idOnOO/LIYbEmVu3irRNFlMVktVoADA66ltuKRQIQSKyZ0h9fEXHkj312ybKIwwZgDC5uIrM7iz4mPRIQsWXITZxEvZ169GWKyPaBjG3noq7TtJK5X62ZV2OGc2MAdM7QGxbbtuQ7/7s5c6yEv4MABSWO4y7jtJQ6TLdfde6Fn6LFF/i9UYt12ZYa4tq/G1fAYeOB1FoIrbxtYQ+XqBTdn+Px9bHAKQUNfabs0REt+mNHS0BH+xcZMgANKViBDByIYmIIMMdjgZw8mNF+EednHEH4W7rdQfxsqBqBC5IF413kLpWchYOwx5F6KicW3UHUuYteQdjPy5tB3KYqnEHEuInffjCbyh6N0DdUWIW4PAYlgdwz9tqFwDZFW3mmpIdhalbD5NxtEXl4HI0SqLTcmRJ29ZyREdZW2V18k6odlRIfF1phFWnHlFVhikWUWWntOxJZbcMmF1aOQRirppJRWaumlmGaq6aacdurpp6CGKuqopJZq6qmopqrqqqy26uqrBbDGSlJAACH5BAkEANYALAAAAABiAGIAhwAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoKCgsLCwwMDA0NDQ4ODg8PDxAQEBERERISEhMTExQUFBUVFRYWFhcXFxgYGBkZGRoaGhsbGxwcHB0dHR4eHh8fHyAgICEhISIiIiMjIyQkJCUlJSYmJicnJygoKCkpKSoqKisrKywsLC0tLS4uLi8vLzAwMDExMTIyMjMzMzQ0NDU1NTY2Njc3Nzg4ODk5OUQ8PE8+QFpBQ2NERntITI5MUZ1PVKpSV7dUW8BWXclXX9JZYdhaYttaYt5bY99bY+BbY+BbZOFcZOFdZeFfZuJhaONkauRoaudtbOlzbOt1a+x3a+55au97aPB8ZvF8ZfF8ZPJ9Y/J/YvKAY/OCY/OHZfSQZ/WYaPahafepaveuafewafexavexavexaveyaveyaviyaviyaviyaviyaviyaviya/izbPi0bvi1cPi2cvi3dPe3dPW3dfC4dee4d9q5eM+6esK7fLe7frC8f6y8gKu8gKu8gKu8gKu8gKu8gKu8gKu8gKu8gau8gau8gau9gau9gau9gau9gau9gau9gau9gqy+g66/ha/AiLHBibLCirXCjLzDjcPEj8jGkszIls3KmdLLnNfMntnNoNnOodbOo9PPpc/Rp87Sqs/TrNDUrtHVsNXXstfYtNvXttzYuNzau9bdvtfewNfewdjfw9ngxNngxdrhxtrhx9zjyt7kzOPm0Oro1Ozq1+/r2fHs3PLt3vTu4PXv4fbw4/fw5Pnw5vrx6Prx6fry6vvz6/z07/z28fz38/z49fz6+P39+/3+/f7+/f7+/v7+/v7+/v/+/v/+/v/+/v/+/v/+/v/+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wj+AK0JHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSJMqXcq0qdOnUKNKnUq1qtWrFYHlUnXHk6pcxDIm29Vq1CZUtnzdTOZpjdu3blVdnDVJkd27ijYZo8mLDty/a+4Am2hsE97DiibVkpkLsGM6gyEmq4sY8SyYyfw6Bnwn4qjKlSepPcgr1zGOW28JI9h2s2O5Dm+BBn3JYCooS3JP4YURWBguwL+sEgjMteuHlGcjXjwwT+7nuXNZRAYGuHUut6zdMr6ZN8NkykH+txp4Czp0KacpqrpuHYy1T9wdZ2eoK3zlTQOrmIcOe6IY9tYhc0d8gH3SUCv2ITbJQLjtl5snFf0HIBcCEviXgQwhmCBeCwrUoIMQqjehe/BZ+NZ8C9W34V34CaSfg0ugKBF1AGa3nYluebcQeCvaNZ5A5TmInkW+WScccTi6hVyPijAnkHP7SYdRaqsN1JqF/TEk24q1FXTbc7uJlJmFnUH0WYKiIVRaeiM1Fh9kEU2W4GUx9WWcYIQZNtskMmJ25V9ZTkTXfXvZRMxWXanCS1gYJaNLWZucUstoWFVq6aWYZqrpppx26umnoIYq6qiklmrqqaimquqqrLbq6qsNsMYq66y01mrrrTQFBAAh+QQJAwDdACwAAAAAYgBiAIcAAAABAQECAgIDAwMEBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQVFRUWFhYXFxcYGBgZGRkaGhobGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJycoKCgpKSkqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6Ojo7Ozs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tMTExNTU1OTk5PT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1eXl5fX19gYGBhYWFiYmJrYmNzYmR6Y2SBY2WOZGWYZWaiZmauaGa9aGXLaWTVaGTcaGPfZ2PiZ2PkaWLma2LpbmLsdGHudWHweGDxeWDye2DzfGDzfWDzfWDzfmDzfmDzfmD0fmDzf2LzgGXygmnyhW3yim/zjnDzlnP0nXX0o3X1qHP2rXP2sHL3snH4s234s2z3sWn3sWn3sWn3sWn3sWn3sWn3sWn3sWr3sWr3smr3smr3smr3smr3smr2smrzsmvss23btHLItne7uHuxuX6uu3+svICrvICrvICrvICrvICrvICrvICrvICrvICrvICrvICrvYGrvYGrvYGrvYGrvYGsvoOuv4WwwIiywou2xI+6xpPAyZnJzaDV0and1K/h2bjk3L/o3sXs4cnv48zy5M/25tP66Nf66dn66tr66tz669777OH77uP77+X77+j88er78+379O/79vL9+Pb9+ff9+vj+/fz+/v3+/v3+/v7+/v7+/v7+/v7///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8I/gC7CRxIsKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyhTqlzJsqXLlzBjypxJs6bNmzhz6tzJs6fPn0CDCh1KtKjRo0iTKl3KtKnTp1CjSp1KtarVqxuhGQvGiFEwY9AyVlMGjNcuX8Kc3aT2C5Pbt25/UbMI7Basu3hh7YpGExkjuIAxMWo2sRqvvIhh3QJG0tgzhsgCS8ZEGGK1XIkzM/5orNCfz4N8JaT2dzJgRhF9ZV6ttqOvz7A/G3pssK3pwL8eElu9WlfHX7GDHzLY7PbkuQ118V4NzJkvX8GmWXw2KHjwYAWJGZeMzOHy1bvg/oiHI6f1RGPWLine truncated
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: 9998;
|
||||
}
|
||||
#wp-admin-bar-pcm-toolbar-parent, #wp-admin-bar-cache-purge, #wp-admin-bar-pcm-toolbar-parent-delete-cache, #wp-admin-bar-pcm-toolbar-parent-remove-branding{
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
|
||||
/******************************
|
||||
* Show branding Option CSS
|
||||
*******************************/
|
||||
|
||||
/* Pressable admin bar icon flush cache for single page Pressable icon*/
|
||||
@supports not (-ms-high-contrast: none) {
|
||||
#wp-admin-bar-pcm-toolbar-parent > .ab-empty-item::before{
|
||||
content: url("../img/icon.svg");
|
||||
}
|
||||
}
|
||||
|
||||
/* Pressable admin bar icon*/
|
||||
@supports not (-ms-high-contrast: none) {
|
||||
#wp-admin-bar-pcm-wp-admin-toolbar-parent > .ab-item::before{
|
||||
content: url("../img/icon.svg");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Pressable flush batcache for single page button background color*/
|
||||
#wp-admin-bar-pcm-toolbar-parent .ab-empty-item:hover{
|
||||
background-color: #0AD8C7;
|
||||
}
|
||||
|
||||
/* Pressable flush cache admin bar button background color*/
|
||||
#wp-admin-bar-pcm-wp-admin-toolbar-parent .ab-item:hover{
|
||||
background-color: #0AD8C7;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/******************************
|
||||
* Hide branding Option CSS
|
||||
*******************************/
|
||||
|
||||
|
||||
/* Pressable admin bar icon when branding is removed from WP side menue*/
|
||||
@supports not (-ms-high-contrast: none) {
|
||||
#wp-admin-bar-pcm-wp-admin-toolbar-parent-remove-branding > .ab-item::before{
|
||||
content: url("../img/cache_control.png");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Pressable admin bar icon flush cache for single page Pressable icon*/
|
||||
@supports not (-ms-high-contrast: none) {
|
||||
#wp-admin-bar-pcm-toolbar-parent-remove-branding > .ab-empty-item::before{
|
||||
content: url("../img/cache_control.png");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Pressable flush cache for admin bar button background color*/
|
||||
#wp-admin-bar-pcm-wp-admin-toolbar-parent-remove-branding .ab-item:hover{
|
||||
background-color: #0AD8C7;
|
||||
|
||||
}
|
||||
|
||||
/* wp-admin-bar-pcm-wp-admin-toolbar-parent-default text color*/
|
||||
#wpadminbar .ab-submenu .ab-item {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
/* pcm-wp-admin-toolbar-child text color*/
|
||||
#wpadminbar .quicklinks .ab-sub-wrapper .menupop.hover > a, #wpadminbar .quicklinks .menupop ul li a:focus, #wpadminbar .quicklinks .menupop ul li a:focus strong, #wpadminbar .quicklinks .menupop ul li a:hover, #wpadminbar .quicklinks .menupop ul li a:hover strong, #wpadminbar .quicklinks .menupop.hover ul li a:focus, #wpadminbar .quicklinks .menupop.hover ul li a:hover, #wpadminbar .quicklinks .menupop.hover ul li div[tabindex]:focus, #wpadminbar .quicklinks .menupop.hover ul li div[tabindex]:hover, #wpadminbar li #adminbarsearch.adminbar-focused::before, #wpadminbar li .ab-item:focus .ab-icon::before, #wpadminbar li .ab-item:focus::before, #wpadminbar li a:focus .ab-icon::before, #wpadminbar li.hover .ab-icon::before, #wpadminbar li.hover .ab-item::before, #wpadminbar li:hover #adminbarsearch::before, #wpadminbar li:hover .ab-icon::before, #wpadminbar li:hover .ab-item::before, #wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus, #wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
|
||||
/* Pressable flush cache for single page admin bar button background color*/
|
||||
#wp-admin-bar-pcm-toolbar-parent-remove-branding .ab-item:hover{
|
||||
background-color: #0AD8C7;
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 551 B |
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12pt" height="12pt" viewBox="0 0 12 12" version="1.1">
|
||||
<g id="surface1">
|
||||
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 0 0 L 0 0.0078125 L 0.0078125 0 Z M 0 0 "/>
|
||||
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 6.140625 2.621094 L 4.355469 2.621094 L 4.355469 5.902344 L 6.140625 5.902344 C 7.5625 5.902344 7.902344 5.605469 7.902344 4.363281 L 7.902344 4.160156 C 7.898438 2.917969 7.554688 2.621094 6.140625 2.621094 Z M 6.140625 2.621094 "/>
|
||||
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 0 0 L 0 12 L 7.691406 12 L 12.003906 7.683594 L 12.003906 0 Z M 8.984375 4.363281 C 8.984375 6.304688 8.253906 6.847656 6.136719 6.847656 L 4.355469 6.847656 L 4.355469 10.027344 C 4.363281 10.105469 4.339844 10.183594 4.285156 10.246094 C 4.226562 10.304688 4.152344 10.335938 4.074219 10.332031 C 3.824219 10.332031 3.289062 10.261719 3.289062 10.121094 L 3.289062 1.980469 C 3.289062 1.71875 3.417969 1.667969 3.585938 1.667969 L 6.140625 1.667969 C 8.296875 1.667969 8.996094 2.261719 8.996094 4.160156 Z M 8.984375 4.363281 "/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
@@ -0,0 +1 @@
|
||||
<?php // Silence is golden
|
||||
@@ -0,0 +1,91 @@
|
||||
/**
|
||||
* Pressable Cache Management - Flush cache for individual page column
|
||||
* Branded modal popup replaces browser alert()
|
||||
*/
|
||||
|
||||
if (window.attachEvent) {
|
||||
window.attachEvent('onload', flush_object_cache_column_button_action);
|
||||
} else {
|
||||
if (window.onload) {
|
||||
var curronload_1 = window.onload;
|
||||
var newonload_1 = function(evt) { curronload_1(evt); flush_object_cache_column_button_action(evt); };
|
||||
window.onload = newonload_1;
|
||||
} else {
|
||||
window.onload = flush_object_cache_column_button_action;
|
||||
}
|
||||
}
|
||||
|
||||
/* ── Branded modal (injected once) ─────────────────────────────────────── */
|
||||
function pcmEnsureModal() {
|
||||
if (document.getElementById('pcm-col-modal-overlay')) return;
|
||||
|
||||
var overlay = document.createElement('div');
|
||||
overlay.id = 'pcm-col-modal-overlay';
|
||||
overlay.style.cssText =
|
||||
'display:none;position:fixed;inset:0;background:rgba(4,0,36,.45);'
|
||||
+ 'z-index:999999;align-items:center;justify-content:center;';
|
||||
|
||||
overlay.innerHTML =
|
||||
'<div style="background:#fff;border-radius:12px;padding:28px 32px;max-width:420px;width:90%;'
|
||||
+ 'box-shadow:0 8px 40px rgba(4,0,36,.18);font-family:sans-serif;position:relative;">'
|
||||
+ '<div style="width:48px;height:4px;background:#03fcc2;border-radius:4px;margin-bottom:16px;"></div>'
|
||||
+ '<p id="pcm-col-modal-msg" style="margin:0 0 22px;font-size:14px;color:#040024;line-height:1.6;"></p>'
|
||||
+ '<button id="pcm-col-modal-ok" style="background:#dd3a03;color:#fff;border:none;border-radius:8px;'
|
||||
+ 'padding:10px 28px;font-size:13.5px;font-weight:700;cursor:pointer;font-family:sans-serif;'
|
||||
+ 'transition:background .2s;">OK</button>'
|
||||
+ '</div>';
|
||||
|
||||
document.body.appendChild(overlay);
|
||||
|
||||
overlay.style.display = 'flex'; overlay.style.display = 'none'; // force style parse
|
||||
|
||||
document.getElementById('pcm-col-modal-ok').addEventListener('click', function() {
|
||||
overlay.style.display = 'none';
|
||||
});
|
||||
overlay.addEventListener('click', function(e) {
|
||||
if (e.target === overlay) overlay.style.display = 'none';
|
||||
});
|
||||
// hover on OK button
|
||||
var okBtn = document.getElementById('pcm-col-modal-ok');
|
||||
okBtn.addEventListener('mouseenter', function() { okBtn.style.background = '#b82f00'; });
|
||||
okBtn.addEventListener('mouseleave', function() { okBtn.style.background = '#dd3a03'; });
|
||||
}
|
||||
|
||||
function pcmShowColumnModal(msg) {
|
||||
pcmEnsureModal();
|
||||
document.getElementById('pcm-col-modal-msg').textContent = msg;
|
||||
document.getElementById('pcm-col-modal-overlay').style.display = 'flex';
|
||||
}
|
||||
|
||||
function flush_object_cache_column_button_action() {
|
||||
jQuery(document).ready(function($) {
|
||||
$("a[id^='flush-object-cache-url']").on('click', function(e) {
|
||||
e.preventDefault();
|
||||
var post_id = $(e.currentTarget).attr('data-id');
|
||||
var nonce = $(e.currentTarget).attr('data-nonce');
|
||||
|
||||
$('#flush-object-cache-url-' + post_id).css('cursor', 'wait');
|
||||
|
||||
$.ajax({
|
||||
type: 'GET',
|
||||
url: ajaxurl,
|
||||
data: { action: 'pcm_flush_object_cache_column', id: post_id, nonce: nonce },
|
||||
dataType: 'json',
|
||||
cache: false,
|
||||
success: function(data) {
|
||||
$('#flush-object-cache-url-' + post_id).css('cursor', 'pointer');
|
||||
if (typeof data.success !== 'undefined' && data.success === true) {
|
||||
pcmShowColumnModal('Batcache flushed successfully \u2705');
|
||||
} else {
|
||||
pcmShowColumnModal('Something went wrong while trying to flush the cache for this page.');
|
||||
}
|
||||
},
|
||||
error: function() {
|
||||
$('#flush-object-cache-url-' + post_id).css('cursor', 'pointer');
|
||||
pcmShowColumnModal('Request failed. Please try again.');
|
||||
}
|
||||
});
|
||||
return false;
|
||||
});
|
||||
});
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
/**
|
||||
* Pressable Cache Management — Toolbar JS
|
||||
*
|
||||
* Handles the combined "Flush Cache for This Page" admin bar button.
|
||||
*
|
||||
* Bug fixes vs previous version:
|
||||
* 1. data-edge on <li> is unsupported by WP add_menu() meta — now uses pcmToolbarData.flushEdge
|
||||
* passed via wp_localize_script() which works on both admin and frontend.
|
||||
* 2. Event delegation now targets document.body and checks closest('li').attr('id') correctly,
|
||||
* rather than querying a non-existent '#wp-admin-bar-*-default' wrapper selector.
|
||||
* 3. pcm_nonce was only available on frontend (wp_footer). Now comes from pcmToolbarData.nonce
|
||||
* which is always present via wp_localize_script.
|
||||
* 4. AJAX handlers now return wp_send_json_success() so jQuery parses valid JSON.
|
||||
*/
|
||||
|
||||
jQuery(document).ready(function($) {
|
||||
|
||||
// Ensure the loader overlay exists once
|
||||
if ( !$('#revert-loader-toolbar').length ) {
|
||||
$('body').append('<div id="revert-loader-toolbar"></div>');
|
||||
}
|
||||
|
||||
// Resolve AJAX URL: prefer localized value, fall back to WP global
|
||||
var ajaxUrl = ( typeof pcmToolbarData !== 'undefined' && pcmToolbarData.ajaxurl )
|
||||
? pcmToolbarData.ajaxurl
|
||||
: ( typeof ajaxurl !== 'undefined' ? ajaxurl : '' );
|
||||
|
||||
// Nonce: from wp_localize_script (works on both admin + frontend)
|
||||
var nonce = ( typeof pcmToolbarData !== 'undefined' ) ? pcmToolbarData.nonce : '';
|
||||
|
||||
// Whether edge cache flush should also fire (passed from PHP via wp_localize_script)
|
||||
var flushEdge = ( typeof pcmToolbarData !== 'undefined' && pcmToolbarData.flushEdge === '1' );
|
||||
|
||||
// ── IDs for both branding variants ───────────────────────────────────────
|
||||
var combinedIds = [
|
||||
'wp-admin-bar-pcm-toolbar-parent-flush-cache-of-this-page',
|
||||
'wp-admin-bar-pcm-toolbar-parent-remove-branding-flush-cache-of-this-page',
|
||||
];
|
||||
|
||||
// ── Fire a single AJAX GET, returns a jQuery deferred ────────────────────
|
||||
function sendRequest( action ) {
|
||||
return $.ajax({
|
||||
type : 'GET',
|
||||
url : ajaxUrl,
|
||||
data : { action: action, path: window.location.pathname, nonce: nonce },
|
||||
dataType: 'json',
|
||||
cache : false,
|
||||
});
|
||||
}
|
||||
|
||||
// ── Sequential flush: Batcache first, then Edge Cache if active ───────────
|
||||
function flushCurrentPage() {
|
||||
$('#revert-loader-toolbar').show();
|
||||
|
||||
sendRequest('pcm_delete_current_page_cache')
|
||||
.always(function() {
|
||||
if ( flushEdge ) {
|
||||
sendRequest('pcm_purge_current_page_edge_cache')
|
||||
.always(done);
|
||||
} else {
|
||||
done();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function done() {
|
||||
if ( typeof pcmCacheStatics !== 'undefined' ) {
|
||||
pcmCacheStatics.update();
|
||||
} else {
|
||||
$('#revert-loader-toolbar').hide();
|
||||
}
|
||||
}
|
||||
|
||||
// ── Event delegation on body — catches clicks anywhere inside the <li> ───
|
||||
// We delegate from body because the admin bar is injected late and the
|
||||
// submenu UL wrapper varies by WP version. Matching by the <li> id directly
|
||||
// is the most reliable approach and avoids the broken '-default' suffix.
|
||||
$('body').on('click', function(e) {
|
||||
// Walk up from the clicked element to find the nearest <li>
|
||||
var $li = $(e.target).closest('li');
|
||||
var id = $li.attr('id') || '';
|
||||
|
||||
if ( combinedIds.indexOf(id) !== -1 ) {
|
||||
e.preventDefault();
|
||||
flushCurrentPage();
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
/**
|
||||
* Pressable Cache Management — toolbar_remove_branding.js
|
||||
* This file is intentionally empty.
|
||||
* The branding-off toolbar handler is now consolidated in toolbar.js
|
||||
* (PCM_TOOLBAR_REMOVE_BRANDING object) to avoid duplicate AJAX calls.
|
||||
*/
|
||||
Reference in new issue
Block a user