woocommerce-paypal-payments/modules/ppcp-admin-notices/resources/js/boot-admin.js
Philipp Stracker c2b23358eb
♻️ Improve code structure and rename items
Remove all “nag” references, change “MutableMessage” to “PersistentMessage”, etc.
2024-08-26 11:58:45 +02:00

33 lines
774 B
JavaScript

import DismissibleMessage from './DismissibleMessage';
class AdminMessageHandler {
#notices = new Map();
#config = {};
constructor( config ) {
this.#config = config;
this.setupMessages();
}
/**
* Finds all mutable admin messages in the DOM and initializes them.
*/
setupMessages() {
const muteConfig = this.#config?.ajax?.mute_message;
const addDismissibleMessage = ( element ) => {
try {
const message = new DismissibleMessage( element, muteConfig );
this.#notices.set( message.id, message );
} catch ( ex ) {
// Skip invalid elements, continue with next notice.
}
};
document
.querySelectorAll( '.notice[data-ppcp-msg-id]' )
.forEach( addDismissibleMessage );
}
}
new AdminMessageHandler( window.wc_admin_notices );