fix: defer referral operations page initialization

This commit is contained in:
kate522 committed 2026-08-17 14:12:31 +08:00
1 parent 566d39c3ae
commit 698e3750f9
1 file changed
+24 -7
+24 -7
View File
@@ -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