Fix parsing

This commit is contained in:
Anton Vakhrushev 2018-08-23 14:23:42 +03:00
parent 01842d265b
commit 48ce7ac0c1
3 changed files with 34 additions and 16 deletions

View File

@ -16,6 +16,7 @@
"activeTab", "activeTab",
"notifications", "notifications",
"storage", "storage",
"webRequest",
"<all_urls>" "<all_urls>"
], ],
"background": { "background": {
@ -35,4 +36,4 @@
"options_ui": { "options_ui": {
"page": "options.html" "page": "options.html"
} }
} }

View File

@ -34,18 +34,22 @@ function restoreOptions() {
); );
} }
function saveOptions(evt) { function parseForm() {
evt.preventDefault(); var formData = [];
var patterns = [];
var rows = document.querySelectorAll(".js-pattern-rows tr"); var rows = document.querySelectorAll(".js-pattern-rows tr");
rows.forEach(row => { rows.forEach(row => {
var server = row.querySelector('[name="server"]').value; var server = row.querySelector('[name="server"]').value;
var pattern = row.querySelector('[name="pattern"]').value; var pattern = row.querySelector('[name="pattern"]').value;
if (server) { formData.push({server: server, pattern: pattern});
patterns.push({server: server, pattern: pattern}); });
} return formData;
}); }
function saveOptions(evt) {
evt.preventDefault();
var formData = parseForm();
var filter = item => item.server;
var patterns = formData.filter(filter);
PatternStorage.set(patterns); PatternStorage.set(patterns);
} }

View File

@ -1,15 +1,28 @@
const APP_NAME = 'Postify'; const APP_NAME = 'Postify';
const SERVER_ADDR = 'http://127.0.0.1:9999';
function sendUrl(url) { function sendUrl(url) {
browser.notifications.create({ // browser.notifications.create({
"type": "basic", // "type": "basic",
"iconUrl": browser.extension.getURL("icons/postify-48.png"), // "iconUrl": browser.extension.getURL("icons/postify-48.png"),
"title": APP_NAME, // "title": APP_NAME,
"message": url, // "message": url,
}); // });
fetch(SERVER_ADDR, { function sendUrlToServers(patterns) {
patterns.forEach(item => {
var regex = new RegExp(item.pattern || '.*', 'i');
if (regex.test(url) && item.server) {
console.log('SEND', url, 'TO', item.server);
sendUrlToServer(url, item.server);
}
});
}
var patterns = PatternStorage.get().then(sendUrlToServers);
}
function sendUrlToServer(url, addr) {
fetch(addr, {
method: 'POST', method: 'POST',
headers: { headers: {
'Accept': 'application/json', 'Accept': 'application/json',