From 38c2674e545b29c632119be26df61e86c9730d6d Mon Sep 17 00:00:00 2001 From: Pierre Ranwez <pierre.ranwez.etu@univ-lille.fr> Date: Fri, 25 Feb 2022 11:19:54 +0100 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat:=20:after=20and=20:before?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content.js | 20 ++++++++++++++++---- main.js | 7 +++---- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/content.js b/content.js index be0c2a5..95d2d7b 100644 --- a/content.js +++ b/content.js @@ -483,13 +483,25 @@ function audioEvent() { function pureCss() { chrome.storage.local.get(['all'], function (result) { if (result.all.length > 0) { + const elements = document.getElementsByClassName('CSSLSD'); + while(elements.length > 0){ + elements[0].parentNode.removeChild(elements[0]); + } result.all.forEach(element => { element.templates.forEach(template => { if (template.type == 'pure') { - let els = document.querySelectorAll(element.element); - els.forEach(e => { - e.style[element.property] = element.value; - }); + if (element.element.includes(':after') || element.element.includes(':before')) { + var elemDiv = document.createElement('style'); + elemDiv.innerText = element.element + '{' + element.property + ':' + element.value + ';}'; + elemDiv.className = 'CSSLSD'; + document.body.appendChild(elemDiv); + } + else { + let els = document.querySelectorAll(element.element); + els.forEach(e => { + e.style[element.property] = element.value; + }); + } } }); }); diff --git a/main.js b/main.js index a37cb4f..2844aee 100644 --- a/main.js +++ b/main.js @@ -193,7 +193,7 @@ function saveParameters() { */ function analyseAll() { var isParameter = false; - chrome.storage.local.get(['parameters', 'css'], function (result) { + chrome.storage.local.get(['parameters', 'css', 'debug'], function (result) { var all = []; var parser = new CSSParser(); var sheet = parser.parse(result.css, false, false); @@ -211,14 +211,12 @@ function analyseAll() { cssValue.indexOf("[") + 1, cssValue.indexOf("]") ); - console.log(template); cssValue = cssValue.replace("[" + template + "]", ""); var parameters = JSON.parse(result.parameters); parameters.forEach(p => { templateSplited = template.split(' '); if (p[1] == templateSplited[0]) { isParameter = true; - console.log(isParameter); if (p[4] != "") { p[4].split(' ').forEach(midiE => { var obj = { @@ -325,6 +323,8 @@ function analyseAll() { }); } chrome.storage.local.set({ all: all }); + if (result.debug) + console.log(all); }); } @@ -467,7 +467,6 @@ $('#upload').on('change', function () { reader.onload = function (e) { const jsonStr = e.target.result; const jsonObj = JSON.parse(jsonStr); - console.log(jsonObj); chrome.storage.local.set({ css: jsonObj[0] }); chrome.storage.local.set({ parameters: jsonObj[1] }); editor.setValue(jsonObj[0]); -- GitLab