Optimize work experience at Microsoft

Optimize work experience at Microsoft!

Fra 28.03.2022. Se den seneste versjonen.

// ==UserScript==
// @name         Optimize work experience at Microsoft
// @namespace    https://001.io/
// @version      1.0
// @description  Optimize work experience at Microsoft!
// @author       Guosen Wang
// @match        https://ms.portal.azure.com/*
// @match        https://msdata.visualstudio.com/*
// @match        https://portal.microsofticm.com/imp/v3/incidents/details/*
// @run-at       document-start
// @grant        none
// ==/UserScript==

(function () {
    'use strict';
    const host = location.host;
    switch (host) {
        case 'ms.portal.azure.com':
            azure();
            break;
        case 'msdata.visualstudio.com':
            vsts();
            break;
        case 'portal.microsofticm.com':
            icm();
            break;
    }
})();

function azure() {
    let checkExist = setInterval(function () {
        if (document.querySelector('#_weave_e_5')) {
            document.querySelector('#_weave_e_5').remove();
            const bannerLabel = document.querySelector("#_weave_e_4 > div.fxs-topbar-internal.fxs-internal-full");
            bannerLabel.innerText = bannerLabel.innerText.replace(" (Preview)", "");
            clearInterval(checkExist);
        }
    }, 1);
    setTimeout(() => {
        clearInterval(checkExist);
    }, 5000);
}

// Redirect VSTS to DevOps
function vsts() {
    const url = location.href.replace("https://msdata.visualstudio.com", "https://dev.azure.com/msdata").replace("DefaultCollection/", "");
    window.location.replace(url);
}

// Optimize ICM fullscreen experience
function icm() {
    window.onload = () => {
        const style = document.createElement('style');
        style.innerText = '.widget.full-frame{padding: 25px 25% 0;}.in.collapse::-webkit-scrollbar{display:none;}';
        document.querySelector('head').appendChild(style);

        const body = document.querySelector('body');
        body.addEventListener('keydown', e => {
            if (e.ctrlKey || e.altKey || e.shiftKey) {
                return;
            }
            if (e.key == 'f') {
                const enterFullScreenBtn = document.querySelector('body > div:nth-child(1) > main > div > ui-view > div > div > div.maintabs-tabset > div > div.tab-pane.active > div > detail-view > div > div.col-12.col-sm-8 > widget-panel > div > section:nth-child(1) > header > button:nth-child(4)');
                if (enterFullScreenBtn) {
                    enterFullScreenBtn.click();
                }
            } else if (e.key == "Escape") {
                const exitFullScreenBtn = document.querySelector('body > div:nth-child(1) > main > div > ui-view > div > div > div.maintabs-tabset > div > div.tab-pane.active > div > detail-view > div > div.col-12.col-sm-8 > widget-panel > div > section.widget.full.full-frame.non-draggable > header > button:nth-child(4)');
                if (exitFullScreenBtn) {
                    exitFullScreenBtn.click();
                }
            }
        });
    };
}