load keymaps from storage
This commit is contained in:
parent
8ba490ea11
commit
e97ffafea3
7 changed files with 85 additions and 51 deletions
39
src/settings/default-settings.js
Normal file
39
src/settings/default-settings.js
Normal file
|
@ -0,0 +1,39 @@
|
|||
export default {
|
||||
'keymaps': {
|
||||
'0': { 'type': 'scroll.home' },
|
||||
':': { 'type': 'command.show' },
|
||||
'o': { 'type': 'command.show.open', 'alter': false },
|
||||
'O': { 'type': 'command.show.open', 'alter': true },
|
||||
't': { 'type': 'command.show.tabopen', 'alter': false },
|
||||
'T': { 'type': 'command.show.tabopen', 'alter': true },
|
||||
'b': { 'type': 'command.show.buffer' },
|
||||
'k': { 'type': 'scroll.lines', 'count': -1 },
|
||||
'j': { 'type': 'scroll.lines', 'count': 1 },
|
||||
'<C-E>': { 'type': 'scroll.lines', 'count': -1 },
|
||||
'<C-Y>': { 'type': 'scroll.lines', 'count': 1 },
|
||||
'<C-U>': { 'type': 'scroll.pages', 'count': -0.5 },
|
||||
'<C-D>': { 'type': 'scroll.pages', 'count': 0.5 },
|
||||
'<C-B>': { 'type': 'scroll.pages', 'count': -1 },
|
||||
'<C-F>': { 'type': 'scroll.pages', 'count': 1 },
|
||||
'gg': { 'type': 'scroll.top' },
|
||||
'G': { 'type': 'scroll.bottom' },
|
||||
'$': { 'type': 'scroll.end' },
|
||||
'd': { 'type': 'tabs.close' },
|
||||
'u': { 'type': 'tabs.reopen' },
|
||||
'h': { 'type': 'tabs.prev', 'count': 1 },
|
||||
'l': { 'type': 'tabs.next', 'count': 1 },
|
||||
'r': { 'type': 'tabs.reload', 'cache': false },
|
||||
'R': { 'type': 'tabs.reload', 'cache': true },
|
||||
'zi': { 'type': 'zoom.in' },
|
||||
'zo': { 'type': 'zoom.out' },
|
||||
'zz': { 'type': 'zoom.neutral' },
|
||||
'f': { 'type': 'follow.start', 'newTab': false },
|
||||
'F': { 'type': 'follow.start', 'newTab': true },
|
||||
'H': { 'type': 'navigate.history.prev' },
|
||||
'L': { 'type': 'navigate.history.next' },
|
||||
'[[': { 'type': 'navigate.link.prev' },
|
||||
']]': { 'type': 'navigate.link.next' },
|
||||
'gu': { 'type': 'navigate.parent' },
|
||||
'gU': { 'type': 'navigate.root' }
|
||||
}
|
||||
};
|
|
@ -1,19 +1,24 @@
|
|||
import './settings.scss';
|
||||
import DefaultSettings from './default-settings';
|
||||
|
||||
let form = document.getElementById('vimvixen-settings-form');
|
||||
|
||||
form.addEventListener('submit', (e) => {
|
||||
let value = {
|
||||
json: e.target.elements['plain-json'].value
|
||||
};
|
||||
e.preventDefault();
|
||||
browser.storage.local.set(value);
|
||||
browser.storage.local.set({
|
||||
settings: {
|
||||
json: e.target.elements['plain-json'].value
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
browser.storage.local.get().then((value) => {
|
||||
if (value.json) {
|
||||
form.elements['plain-json'].value = value.json;
|
||||
browser.storage.local.get('settings').then((value) => {
|
||||
if (value.settings.json) {
|
||||
form.elements['plain-json'].value = value.settings.json;
|
||||
} else {
|
||||
form.elements['plain-json'].value =
|
||||
JSON.stringify(DefaultSettings, null, 2);
|
||||
}
|
||||
}, console.error);
|
||||
});
|
||||
|
|
Reference in a new issue