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

View File

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

View File

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

View File

@ -2,6 +2,21 @@
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
* https://github.com/ibizaman/jsondispatch

View File

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