Some fixes

This commit is contained in:
Anton Vakhrushev 2021-03-30 16:01:30 +03:00
parent 39ba18438c
commit a251acec86
Signed by: av
GPG Key ID: 581F7473F7A21FA2
7 changed files with 38 additions and 14 deletions

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
./.idea
*.xpi

6
Makefile Normal file
View File

@ -0,0 +1,6 @@
build-xpi:
rm -f postify.xpi
zip -r -FS ./postify.xpi * \
--exclude '*.git*' \
--exclude '*.php' \
--exclude '*.xpi'

View File

@ -1,7 +1,7 @@
{ {
"manifest_version": 2, "manifest_version": 2,
"name": "Postify", "name": "Postify",
"version": "1.0", "version": "1.0.6",
"description": "Post current url to external web-server.", "description": "Post current url to external web-server.",
"icons": { "icons": {
"48": "icons/postify-48.png" "48": "icons/postify-48.png"
@ -17,7 +17,7 @@
"notifications", "notifications",
"storage", "storage",
"webRequest", "webRequest",
"<all_urls>" "*://localhost/*"
], ],
"background": { "background": {
"scripts": ["storage.js", "postify.js"] "scripts": ["storage.js", "postify.js"]

View File

@ -18,9 +18,9 @@ function setPatterns(patterns) {
console.log('PATTERNS', patterns); console.log('PATTERNS', patterns);
var reducer = (acc, item) => acc + PATTERN_ROW(item.server, item.pattern); const reducer = (acc, item) => acc + PATTERN_ROW(item.server, item.pattern);
var html = patterns.reduce(reducer, ''); const html = patterns.reduce(reducer, '');
document.querySelector(".js-pattern-rows").innerHTML = html; document.querySelector(".js-pattern-rows").innerHTML = html;
} }
@ -35,8 +35,8 @@ function restoreOptions() {
} }
function parseForm() { function parseForm() {
var formData = []; const formData = [];
var rows = document.querySelectorAll(".js-pattern-rows tr"); const 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;
@ -47,15 +47,15 @@ function parseForm() {
function saveOptions(evt) { function saveOptions(evt) {
evt.preventDefault(); evt.preventDefault();
var formData = parseForm(); const formData = parseForm();
var filter = item => item.server; const filter = item => item.server;
var patterns = formData.filter(filter); const patterns = formData.filter(filter);
PatternStorage.set(patterns); PatternStorage.set(patterns);
} }
function addRow(evt) { function addRow(evt) {
evt.preventDefault(); evt.preventDefault();
var el = document.querySelector(".js-pattern-rows"); const el = document.querySelector(".js-pattern-rows");
el.innerHTML += PATTERN_ROW('', ''); el.innerHTML += PATTERN_ROW('', '');
} }

View File

@ -1,6 +1,7 @@
const APP_NAME = 'Postify'; const APP_NAME = 'Postify';
function sendUrlToServer(url, addr) { function sendUrlToServer(url, addr) {
console.log('Send url to server', url, addr);
return fetch(addr, { return fetch(addr, {
method: 'POST', method: 'POST',
headers: { headers: {
@ -34,7 +35,7 @@ function showNotification(url, addr) {
function sendUrlToServers(url, patterns) { function sendUrlToServers(url, patterns) {
patterns.forEach(item => { patterns.forEach(item => {
var regex = new RegExp(item.pattern || '.*', 'i'); const regex = new RegExp(item.pattern || '.*', 'i');
if (regex.test(url) && item.server) { if (regex.test(url) && item.server) {
sendUrlToServer(url, item.server).then( sendUrlToServer(url, item.server).then(
() => showNotification(url, item.server), () => showNotification(url, item.server),

View File

@ -2,6 +2,21 @@
Post current url to external http server. Post current url to external http server.
## Install
First, build xpi file
```shell
make build-xpi
```
Next, change firefox extension signature preferences
* open `about:config`
* change `xpinstall.signatures.required` to `false`
Finally, install extension via "Install Add-on from a file".
## See also ## See also
* https://github.com/ibizaman/jsondispatch * https://github.com/ibizaman/jsondispatch

View File

@ -1,6 +1,6 @@
function PropertyStorage(name) { function PropertyStorage(name) {
parse = function (data) { const parse = function (data) {
var propertyData = data[name]; const propertyData = data[name];
if (!propertyData) { if (!propertyData) {
return null; return null;
} }
@ -12,7 +12,7 @@ function PropertyStorage(name) {
}; };
this.get = function () { this.get = function () {
var getting = browser.storage.local.get(name); const getting = browser.storage.local.get(name);
return getting.then(parse); return getting.then(parse);
}; };