xiMatrix

filter net requests according to source, destination and type  https://addons.mozilla.org/firefox/addon/ximatrix/
git clone https://git.ce9e.org/xiMatrix.git

commit
f8dc166f0567b7cb623fae2eff264c09ff0c87ad
parent
0eefd4b5066d4a3b65a9e451da379fbaa0b0cdfa
Author
Tobias Bengfort <tobias.bengfort@posteo.de>
Date
2023-02-24 17:11
allow to edit savedRules in settings

Diffstat

M src/settings.css 2 ++
M src/settings.html 3 ++-
M src/settings.js 17 ++++++++++++-----

3 files changed, 16 insertions, 6 deletions


diff --git a/src/settings.css b/src/settings.css

@@ -12,6 +12,7 @@ form {
   12    12 	height: 100vh;
   13    13 	display: grid;
   14    14 	grid-template-rows: 1fr min-content;
   -1    15 	grid-template-columns: 1fr 1fr;
   15    16 	grid-gap: 0.5em;
   16    17 	padding: 0.5em;
   17    18 }
@@ -24,4 +25,5 @@ textarea {
   24    25 button {
   25    26 	padding: 0.5em 2em;
   26    27 	justify-self: end;
   -1    28 	grid-column: 1 / 3;
   27    29 }

diff --git a/src/settings.html b/src/settings.html

@@ -6,7 +6,8 @@
    6     6 </head>
    7     7 <body>
    8     8 	<form>
    9    -1 		<textarea></textarea>
   -1     9 		<textarea class="rules"></textarea>
   -1    10 		<textarea class="savedRules"></textarea>
   10    11 		<button>Save</button>
   11    12 	</form>
   12    13 	<script src="shared.js"></script>

diff --git a/src/settings.js b/src/settings.js

@@ -1,15 +1,22 @@
    1     1 var form = document.querySelector('form');
    2    -1 var textarea = document.querySelector('textarea');
   -1     2 var textarea1 = document.querySelector('textarea.rules');
   -1     3 var textarea2 = document.querySelector('textarea.savedRules');
    3     4 
    4    -1 browser.storage.local.get('rules').then(data => {
   -1     5 browser.storage.local.get(['rules', 'savedRules']).then(data => {
    5     6 	var rules = data.rules || {};
    6    -1 	textarea.value = JSON.stringify(rules, null, 2)
   -1     7 	var savedRules = data.savedRules || {};
   -1     8 	textarea1.value = JSON.stringify(rules, null, 2)
   -1     9 	textarea2.value = JSON.stringify(savedRules, null, 2)
    7    10 });
    8    11 
    9    12 form.addEventListener('submit', event => {
   10    13 	event.preventDefault();
   11    -1 	var rules = JSON.parse(textarea.value);
   12    -1 	browser.storage.local.set({'rules': rules}).then(() => {
   -1    14 	var rules = JSON.parse(textarea1.value);
   -1    15 	var savedRules = JSON.parse(textarea2.value);
   -1    16 	browser.storage.local.set({
   -1    17 		'rules': rules,
   -1    18 		'savedRules': savedRules,
   -1    19 	}).then(() => {
   13    20 		location.reload();
   14    21 	});
   15    22 });