diff --git a/VCLScript.js b/VCLScript.js new file mode 100644 index 0000000000000000000000000000000000000000..0ec45dace1b6d504987fe4f0a956c64fe2956689 --- /dev/null +++ b/VCLScript.js @@ -0,0 +1,77 @@ +// ==UserScript== +// @name VM Warning Dialog Script with Specific Fullscreen Button +// @namespace http://tampermonkey.net/ +// @version 0.6 +// @description Show a warning dialog and click specific fullscreen button for VM +// @match https://your-vm-site-url.com/* +// @grant none +// ==/UserScript== + +(function() { + 'use strict'; + + function debug(message) { + console.log('VM Warning Script Debug: ' + message); + } + + function clickFullscreenButton() { + debug('Attempting to click fullscreen button'); + // Target the specific fullscreen button based on its structure + var fullscreenButton = document.querySelector('span.ms-Button-flexContainer[data-automationid="splitbuttonprimary"] i[data-icon-name="FullScreenRegular"]'); + if (fullscreenButton) { + // Click the parent button element, not just the icon + var parentButton = fullscreenButton.closest('button'); + if (parentButton) { + parentButton.click(); + debug('Fullscreen button clicked'); + } else { + debug('Parent button not found'); + } + } else { + debug('Fullscreen button not found'); + } + } + + function showWarningDialog() { + debug('Showing warning dialog'); + var dialog = document.createElement('div'); + dialog.id = 'vm-warning-dialog'; + dialog.style.cssText = ` + position: fixed; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + background-color: white; + padding: 20px; + border: 2px solid black; + z-index: 10000; + text-align: center; + `; + + dialog.innerHTML = ` + <h2>Warning</h2> + <p>Data is not saved after this session. Please use OneDrive to save your files.</p> + <button id="okButton">OK</button> + `; + + document.body.appendChild(dialog); + + document.getElementById('okButton').addEventListener('click', function() { + dialog.remove(); + debug('Dialog closed'); + + // Attempt to click the fullscreen button + setTimeout(clickFullscreenButton, 1000); // Delay to ensure page is ready + }); + } + + window.addEventListener('load', showWarningDialog); + + // Fallback + setTimeout(function() { + if (!document.getElementById('vm-warning-dialog')) { + debug('Dialog not shown after load event, attempting to show now'); + showWarningDialog(); + } + }, 2000); +})(); \ No newline at end of file