Last active
February 7, 2024 22:20
-
-
Save jamesinc/7623301b9acc94b54dd73f4f5ddacb55 to your computer and use it in GitHub Desktop.
AWS console notification dismisserator 9000 - dismiss AWS flash notifications after (about) 5 seconds
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ==UserScript== | |
// @name AWS console notification dismisserator 9000 | |
// @namespace https://github.com/jamesinc | |
// @version 1.1 | |
// @description Dismiss AWS flash notifications after about 5 seconds | |
// @author James Ducker | |
// @match https://*.console.aws.amazon.com/* | |
// @grant none | |
// @run-at document-end | |
// ==/UserScript== | |
(() => { | |
// How long, in milliseconds, to display the notification before auto-hiding it. | |
const FLASH_HIDE_MS = 5000; | |
let dismissNotifications = ( ) => { | |
// Find alerts | |
let container = document.querySelectorAll("div[awsui-app-layout-region='notifications']")[0]; | |
if (!container) return; | |
let notifications = container.querySelectorAll("awsui-flash"); | |
for ( let flash of notifications ) { | |
// Make sure we only run this badboy once for each notification | |
if ( ! flash.hasAttribute("dismissed") ) { | |
// Mark this notification as dismissed | |
flash.setAttribute("dismissed", "dismissed"); | |
// Do a bit of scope magic | |
setTimeout(((item) => { | |
return () => { | |
// Trigger click event on button node | |
let closeButton = item.querySelectorAll("button.awsui-button")[0]; | |
// P U S H T H E B U T T O N | |
closeButton.dispatchEvent(new Event('click')); | |
} | |
})(flash), FLASH_HIDE_MS); | |
} | |
} | |
} | |
// Scan for new notifications once per second | |
setInterval(dismissNotifications, 1000); | |
})(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment