-
Notifications
You must be signed in to change notification settings - Fork 1
/
transformer.js
36 lines (32 loc) · 1.47 KB
/
transformer.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
async function getHostOfCurrentTab() {
// Get the page title and URL
return new Promise((resolve, reject) => {
browser.tabs.query({ active: true, currentWindow: true }, async (tabs) => {
console.log(tabs);
let tab = tabs[0];
const pageURL = tab.url;
resolve(getHostOfURL(pageURL));
});
});
}
async function loadTransformerInputs() {
getHostOfCurrentTab().then(async (hostname) => {
getTransformer(hostname).then((transformer) => {
document.getElementById(`transformer-controller-regex`).value = transformer.regex.toString();
document.getElementById(`transformer-controller-output`).value = transformer.output;
}).catch((err) => {
})
})
}
document.getElementById(`applyTransformerBtn`).onclick = async () => {
let hostname = await getHostOfCurrentTab();
let regex = RegExpFromStr(document.getElementById(`transformer-controller-regex`).value);
let output = document.getElementById(`transformer-controller-output`).value;
let updated_transformers = await updateTransformer(hostname, regex, output);
browser.storage.local.set({transformers: JSON.stringify(updated_transformers)}, async () => {
loadTransformerInputs();
showModal(`Transformer saved`, [`The transformer you have set for ${hostname} has been ` +
`applied. The next output for ${hostname} will be transformed.`], `success`);
});
}
loadTransformerInputs();