2024-08-26 11:58:45 +02:00
|
|
|
import DismissibleMessage from './DismissibleMessage';
|
2024-08-23 18:11:58 +02:00
|
|
|
|
|
|
|
class AdminMessageHandler {
|
|
|
|
#config = {};
|
|
|
|
|
|
|
|
constructor( config ) {
|
|
|
|
this.#config = config;
|
2024-08-26 14:43:12 +02:00
|
|
|
this.setupDismissibleMessages();
|
2024-08-23 18:11:58 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Finds all mutable admin messages in the DOM and initializes them.
|
|
|
|
*/
|
2024-08-26 14:43:12 +02:00
|
|
|
setupDismissibleMessages() {
|
2024-08-26 11:58:45 +02:00
|
|
|
const muteConfig = this.#config?.ajax?.mute_message;
|
2024-08-26 12:39:41 +02:00
|
|
|
|
2024-08-26 11:58:45 +02:00
|
|
|
const addDismissibleMessage = ( element ) => {
|
2024-08-26 14:43:12 +02:00
|
|
|
new DismissibleMessage( element, muteConfig );
|
2024-08-26 11:58:45 +02:00
|
|
|
};
|
|
|
|
|
2024-08-23 18:11:58 +02:00
|
|
|
document
|
|
|
|
.querySelectorAll( '.notice[data-ppcp-msg-id]' )
|
2024-08-26 11:58:45 +02:00
|
|
|
.forEach( addDismissibleMessage );
|
2024-08-23 18:11:58 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
new AdminMessageHandler( window.wc_admin_notices );
|