From 260fc474cc82e7c1d178a2324f93571025fd9a8d Mon Sep 17 00:00:00 2001 From: Anatoly Kopyl Date: Tue, 14 Apr 2020 00:34:18 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D0=B2=D0=B5=D0=BB=20?= =?UTF-8?q?=D0=BA=D0=BD=D0=BE=D0=BC=D0=BA=D0=B8=20=D1=83=D0=BF=D1=80=D0=B0?= =?UTF-8?q?=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=BD=D0=B0=20domnodein?= =?UTF-8?q?serted?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- controls.css | 4 ++-- controls.js | 51 +++++++++++++++++++++++++++++---------------------- manifest.json | 2 +- 3 files changed, 32 insertions(+), 25 deletions(-) diff --git a/controls.css b/controls.css index 30f6f0f..699d601 100644 --- a/controls.css +++ b/controls.css @@ -42,8 +42,8 @@ height: 16px; position: relative; display: inline-block; - vertical-align: top; - background: url('chrome-extension://__MSG_@@extension_id__/mute.png') no-repeat top left; + vertical-align: top; + /*background: url('chrome-extension://__MSG_@@extension_id__/mute.png') !important;*/ background-repeat: no-repeat; padding: 6px; } \ No newline at end of file diff --git a/controls.js b/controls.js index 5ade809..3f2326e 100644 --- a/controls.js +++ b/controls.js @@ -30,8 +30,7 @@ showMembersBtn.addEventListener('click', function() { */ function muteBtnHTML(id) { - return ` - + return ` 🔇 Заглушить ` @@ -42,29 +41,37 @@ function addControls() { for (var item of messages) { var actionsArea = item.getElementsByClassName("im-mess--actions")[0]; - var sender_id = item.parentElement.parentElement.parentElement["dataset"].peer + if (actionsArea && actionsArea.lastChild.className != "mute_message") { + var sender_id = item.parentElement.parentElement.parentElement["dataset"].peer - actionsArea.innerHTML += muteBtnHTML(sender_id); - var muteBtn = actionsArea.getElementsByClassName("mute_message")[0]; - muteBtn.style.display = "none"; + actionsArea.innerHTML += muteBtnHTML(sender_id); + var muteBtn = actionsArea.getElementsByClassName("mute_message")[0]; + muteBtn.style.display = "none"; - actionsArea.parentElement.addEventListener("mouseenter", function( event ) { - event.target.getElementsByClassName("mute_message")[0].style.display = ""; - }); - - actionsArea.parentElement.addEventListener("mouseleave", function( event ) { - event.target.getElementsByClassName("mute_message")[0].style.display = "none"; - }); - - muteBtn.addEventListener("click", function(event) { - var clicked_id = event.target.id.substr(event.target.id.length - 9); - - chrome.storage.sync.set({idToHide: clicked_id}, function() { - hidePeer(clicked_id); - console.log('idToHide: ' + clicked_id); + actionsArea.parentElement.addEventListener("mouseenter", function( event ) { + event.target.getElementsByClassName("mute_message")[0].style.display = "inline-block"; }); - }); + + actionsArea.parentElement.addEventListener("mouseleave", function( event ) { + event.target.getElementsByClassName("mute_message")[0].style.display = "none"; + }); + + muteBtn.addEventListener("click", function(event) { + var clicked_id = event.target.id.substr(event.target.id.length - 9); + + chrome.storage.sync.set({idToHide: clicked_id}, function() { + hidePeer(clicked_id); + console.log('idToHide: ' + clicked_id); + }); + }); + } } } -addControls(); +var chatBody = document.getElementsByClassName("_im_peer_history im-page-chat-contain")[0]; + +chatBody.addEventListener('DOMNodeInserted', function(event) { + if (event.target.className == 'im-mess--check fl_l') { + addControls(); + } +}); diff --git a/manifest.json b/manifest.json index 1ad8f75..36940b3 100644 --- a/manifest.json +++ b/manifest.json @@ -24,7 +24,7 @@ "js": ["hide_element.js"] }, { - "matches": ["https://*.vk.com/*"], + "matches": ["https://*.vk.com/im*"], "js": ["controls.js"], "css": ["controls.css"] }