fix: defer referral operations page initialization
This commit is contained in:
1 parent
566d39c3ae
commit
698e3750f9
1 file changed
+24
-7
@@ -52,13 +52,23 @@ trait UsersMenusReferral {
|
|||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
(() => {
|
(() => {
|
||||||
|
const init = () => {
|
||||||
|
const root = document.getElementById('aksrt-referral-ops');
|
||||||
|
if (!root || root.dataset.aksrtReferralReady === '1') return;
|
||||||
|
|
||||||
const endpoint = <?php echo wp_json_encode($endpoint); ?>;
|
const endpoint = <?php echo wp_json_encode($endpoint); ?>;
|
||||||
const nonce = <?php echo wp_json_encode($nonce); ?>;
|
const nonce = <?php echo wp_json_encode($nonce); ?>;
|
||||||
const rows = document.getElementById('aksrt-ref-rows');
|
const rows = root.querySelector('#aksrt-ref-rows');
|
||||||
const pages = document.getElementById('aksrt-ref-pages');
|
const pages = root.querySelector('#aksrt-ref-pages');
|
||||||
const notice = document.getElementById('aksrt-ref-notice');
|
const notice = root.querySelector('#aksrt-ref-notice');
|
||||||
const search = document.getElementById('aksrt-ref-search');
|
const search = root.querySelector('#aksrt-ref-search');
|
||||||
const status = document.getElementById('aksrt-ref-status');
|
const status = root.querySelector('#aksrt-ref-status');
|
||||||
|
const filter = root.querySelector('#aksrt-ref-filter');
|
||||||
|
if (!rows || !pages || !notice || !search || !status || !filter) {
|
||||||
|
console.error('[AKSRT] Referral operations could not initialize: required page elements are missing.');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
root.dataset.aksrtReferralReady = '1';
|
||||||
let currentPage = 1;
|
let currentPage = 1;
|
||||||
|
|
||||||
const escapeHtml = (value) => String(value ?? '').replace(/[&<>'"]/g, (char) => ({
|
const escapeHtml = (value) => String(value ?? '').replace(/[&<>'"]/g, (char) => ({
|
||||||
@@ -119,9 +129,9 @@ trait UsersMenusReferral {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
document.getElementById('aksrt-ref-filter').addEventListener('click', () => load(1));
|
filter.addEventListener('click', () => load(1));
|
||||||
search.addEventListener('keydown', (event) => { if (event.key === 'Enter') load(1); });
|
search.addEventListener('keydown', (event) => { if (event.key === 'Enter') load(1); });
|
||||||
document.getElementById('aksrt-ref-ops').addEventListener('click', async (event) => {
|
root.addEventListener('click', async (event) => {
|
||||||
const pageButton = event.target.closest('[data-ref-page]');
|
const pageButton = event.target.closest('[data-ref-page]');
|
||||||
if (pageButton) return load(Number(pageButton.dataset.refPage));
|
if (pageButton) return load(Number(pageButton.dataset.refPage));
|
||||||
const button = event.target.closest('[data-ref-action]');
|
const button = event.target.closest('[data-ref-action]');
|
||||||
@@ -137,6 +147,13 @@ trait UsersMenusReferral {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
load();
|
load();
|
||||||
|
};
|
||||||
|
|
||||||
|
if (document.readyState === 'loading') {
|
||||||
|
document.addEventListener('DOMContentLoaded', init, { once: true });
|
||||||
|
} else {
|
||||||
|
init();
|
||||||
|
}
|
||||||
})();
|
})();
|
||||||
</script>
|
</script>
|
||||||
<?php
|
<?php
|
||||||
|
|||||||
Reference in new issue
Block a user