UserScript crm

для зачеркивание выполненых задач

As of 2021-03-12. See the latest version.

// ==UserScript==
// @name         UserScript crm
// @namespace    http://crm.red-promo.ru/
// @version      1.2
// @description  для зачеркивание выполненых задач
// @author       none
// @match        http://crm.red-promo.ru/*
// @grant        none
// ==/UserScript==

(function () {
    "use strict";
    console.log("start");

    const getItems = () => JSON.parse(window.localStorage.getItem("task")) ?? [];

    document.addEventListener("selectionchange", () => {
        if (document.getSelection().baseNode && !document.getSelection().baseOffset) {
            const elem = document.getSelection().baseNode.parentElement;
            elem.style.textDecoration = "line-through";
            elem.classList.add("line");
            document.getSelection().removeAllRanges();
            updateStorage();
        }
    });

    function updateStorage() {
        let res = getItems();
        document.querySelectorAll(".line").forEach((item) => {
            if (!res.includes(item.textContent)) {
                res.push(item.textContent);
            }
        });
        window.localStorage.setItem("task", JSON.stringify(res));
    }
    getItems().forEach((item) => $('p:contains("' + item + '")').css("text-decoration", "line-through"));
})();