Greasy Fork

钉钉最大化

Web 钉钉支持最大化/最小化

目前为 2020-02-21 提交的版本。查看 最新版本

// ==UserScript==
// @name         钉钉最大化
// @namespace    http://tampermonkey.net/
// @version      0.1.0
// @description  Web 钉钉支持最大化/最小化
// @author       HappyStraw <[email protected]>
// @match        *://im.dingtalk.com/
// @run-at       document-end
// @grant        none
// ==/UserScript==

var maximizeIcon = '<svg t="1582259817661" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1209" width="200" height="200"><path d="M482.3 513.3L196 799.6c-0.5-2.4-0.8-4.9-0.8-7.5V560.4h-42.7v231.7c0 44.2 35.9 80.1 80.1 80.1h231.7v-42.7H232.6c-1.9 0-3.8-0.1-5.7-0.4l285.5-285.5-30.1-30.3zM795.4 154.1H563.6v42.7h231.7c1.3 0 2.5 0.1 3.8 0.2L514.3 481.9l30.2 30.2L831.6 225c0.8 3 1.2 6 1.2 9.2V466h42.7V234.2c0-44.1-36-80.1-80.1-80.1z" p-id="1210" fill="#edf7ff"></path></svg>';
var minimizeIcon = '<svg t="1582259649712" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="10462" width="200" height="200"><path d="M404.2 541.6H172.5v42.7h231.7c1.9 0 3.8 0.1 5.7 0.4L124.3 870.2l30.2 30.2 286.3-286.3c0.5 2.4 0.8 4.9 0.8 7.5v231.7h42.7V621.6c0-44.1-35.9-80-80.1-80zM618.8 441l284.9-284.9-30.2-30.2L586.4 413c-0.8-2.9-1.2-6-1.2-9.2V172.1h-42.7v231.7c0 44.2 35.9 80.1 80.1 80.1h231.7v-42.7H622.6c-1.3 0-2.6-0.1-3.8-0.2z" p-id="10463" fill="#edf7ff"></path></svg>';
var css = `
body.full-screen #layout-main {
  width: calc(100vw - 60px);
  flex: 1;
  min-width: 1000px;
  box-shadow: none;
  margin-top: 20px;
}
body.full-screen #body {
  height: calc(100vh - 100px);
  min-height: 600px;
}
.full-screen-toggle {
  width: 26px;
  height: 26px;
  float: right;
  margin: 17px 15px 4px 0;
  cursor: pointer;
}
.full-screen-toggle svg {
  width: 100%;
  height: 100%;
}
`;

(function() {
    'use strict';

    // 新增样式
    var elStyle = document.createElement('style')
    elStyle.type = 'text/css';
    elStyle.innerHTML = css;
    document.head.appendChild(elStyle);
    console.log('初始化样式');

    // 添加最大化/最小化按键
    var timer = setInterval(function () {
        var elHeader = document.getElementById('header');
        if (!elHeader) {
            return;
        }
        clearInterval(timer);
        var uploadList = elHeader.getElementsByTagName('upload-list')[0];
        var button = document.createElement('div');
        button.className = 'full-screen-toggle';
        button.innerHTML = maximizeIcon;
        button.title = '最大化';
        button.addEventListener('click', function() {
            if (button.title == '最大化') {
                button.innerHTML = minimizeIcon;
                button.title = '最小化';
            } else {
                button.innerHTML = maximizeIcon;
                button.title = '最大化';
            }

            document.body.classList.toggle('full-screen');
        });
        uploadList.prepend(button);
        console.log('初始化按键')
    }, 300);
})();