primo commit
This commit is contained in:
39
media/plg_quickicon_eos/js/snooze.js
Normal file
39
media/plg_quickicon_eos/js/snooze.js
Normal file
@ -0,0 +1,39 @@
|
||||
/**
|
||||
* @package Joomla.Plugin
|
||||
* @subpackage Quickicon.eos
|
||||
* @copyright (C) 2023 Open Source Matters, Inc. <https://www.joomla.org>
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
if (!Joomla) {
|
||||
throw new Error('Joomla API is not properly initialised');
|
||||
}
|
||||
const url = new URL(`${Joomla.getOptions('system.paths').baseFull}index.php?option=com_ajax&group=quickicon&plugin=eos&format=json`);
|
||||
async function onMutatedMessagesContainer(mutationList, observer) {
|
||||
// eslint-disable-next-line no-restricted-syntax
|
||||
for (const mutation of mutationList) {
|
||||
const nodes = Array.from(mutation.addedNodes);
|
||||
if (!nodes.length) {
|
||||
return;
|
||||
}
|
||||
const alerts = nodes.filter(node => node.querySelector('.eosnotify-snooze-btn'));
|
||||
if (!alerts.length) {
|
||||
return;
|
||||
}
|
||||
observer.disconnect();
|
||||
alerts[0].querySelector('.eosnotify-snooze-btn').addEventListener('click', () => fetch(url, {
|
||||
headers: {
|
||||
'X-CSRF-Token': Joomla.getOptions('csrf.token') || ''
|
||||
}
|
||||
}).then(response => {
|
||||
if (response.ok) {
|
||||
alerts[0].closest('joomla-alert').close();
|
||||
}
|
||||
}));
|
||||
}
|
||||
}
|
||||
const observer = new MutationObserver(onMutatedMessagesContainer);
|
||||
observer.observe(document.querySelector('#system-message-container'), {
|
||||
attributes: false,
|
||||
childList: true,
|
||||
subtree: true
|
||||
});
|
||||
6
media/plg_quickicon_eos/js/snooze.min.js
vendored
Normal file
6
media/plg_quickicon_eos/js/snooze.min.js
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
/**
|
||||
* @package Joomla.Plugin
|
||||
* @subpackage Quickicon.eos
|
||||
* @copyright (C) 2023 Open Source Matters, Inc. <https://www.joomla.org>
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/if(!Joomla)throw new Error("Joomla API is not properly initialised");const url=new URL(`${Joomla.getOptions("system.paths").baseFull}index.php?option=com_ajax&group=quickicon&plugin=eos&format=json`);async function onMutatedMessagesContainer(n,s){for(const r of n){const t=Array.from(r.addedNodes);if(!t.length)return;const e=t.filter(o=>o.querySelector(".eosnotify-snooze-btn"));if(!e.length)return;s.disconnect(),e[0].querySelector(".eosnotify-snooze-btn").addEventListener("click",()=>fetch(url,{headers:{"X-CSRF-Token":Joomla.getOptions("csrf.token")||""}}).then(o=>{o.ok&&e[0].closest("joomla-alert").close()}))}}const observer=new MutationObserver(onMutatedMessagesContainer);observer.observe(document.querySelector("#system-message-container"),{attributes:!1,childList:!0,subtree:!0});
|
||||
BIN
media/plg_quickicon_eos/js/snooze.min.js.gz
Normal file
BIN
media/plg_quickicon_eos/js/snooze.min.js.gz
Normal file
Binary file not shown.
Reference in New Issue
Block a user