remove default form settings
This commit is contained in:
parent
6821372fc7
commit
e1060f9bb2
5 changed files with 27 additions and 78 deletions
|
@ -58,6 +58,8 @@ const KeyMapFields = [
|
|||
]
|
||||
];
|
||||
|
||||
const AllowdOps = [].concat(...KeyMapFields.map(group => group.map(e => e[0])));
|
||||
|
||||
class KeymapsForm extends Component {
|
||||
|
||||
render() {
|
||||
|
@ -99,4 +101,6 @@ class KeymapsForm extends Component {
|
|||
}
|
||||
}
|
||||
|
||||
KeymapsForm.AllowdOps = AllowdOps;
|
||||
|
||||
export default KeymapsForm;
|
||||
|
|
|
@ -123,6 +123,18 @@ class SettingsComponent extends Component {
|
|||
}
|
||||
}
|
||||
|
||||
validateValue(e) {
|
||||
let next = Object.assign({}, this.state);
|
||||
|
||||
next.errors.json = '';
|
||||
try {
|
||||
this.validate(e.target);
|
||||
} catch (err) {
|
||||
next.errors.json = err.message;
|
||||
}
|
||||
next.settings[e.target.name] = e.target.value;
|
||||
}
|
||||
|
||||
bindForm(name, value) {
|
||||
let next = Object.assign({}, this.state, {
|
||||
settings: Object.assign({}, this.state.settings, {
|
||||
|
@ -164,7 +176,8 @@ class SettingsComponent extends Component {
|
|||
return;
|
||||
}
|
||||
next.settings.form =
|
||||
settingsValues.formFromJson(this.state.settings.json);
|
||||
settingsValues.formFromJson(
|
||||
this.state.settings.json, KeymapsForm.AllowdOps);
|
||||
}
|
||||
next.settings.source = to;
|
||||
|
||||
|
|
|
@ -61,72 +61,4 @@ export default {
|
|||
}
|
||||
}
|
||||
}`,
|
||||
|
||||
'form': {
|
||||
'keymaps': {
|
||||
'scroll.vertically?{"count":1}': 'j',
|
||||
'scroll.vertically?{"count":-1}': 'k',
|
||||
'scroll.horizonally?{"count":-1}': 'h',
|
||||
'scroll.horizonally?{"count":1}': 'l',
|
||||
'scroll.home': '0',
|
||||
'scroll.end': '$',
|
||||
'scroll.top': 'gg',
|
||||
'scroll.bottom': 'G',
|
||||
'scroll.pages?{"count":-0.5}': '<C-U>',
|
||||
'scroll.pages?{"count":0.5}': '<C-D>',
|
||||
'scroll.pages?{"count":-1}': '<C-B>',
|
||||
'scroll.pages?{"count":1}': '<C-F>',
|
||||
|
||||
'tabs.close': 'd',
|
||||
'tabs.reopen': 'u',
|
||||
'tabs.next?{"count":1}': 'J',
|
||||
'tabs.prev?{"count":1}': 'K',
|
||||
'tabs.first': 'g0',
|
||||
'tabs.last': 'g$',
|
||||
'tabs.reload?{"cache":false}': 'r',
|
||||
'tabs.reload?{"cache":true}': 'R',
|
||||
'tabs.pin.toggle': 'zp',
|
||||
'tabs.duplicate': 'zd',
|
||||
|
||||
'follow.start?{"newTab":false}': 'f',
|
||||
'follow.start?{"newTab":true}': 'F',
|
||||
'navigate.history.prev': 'H',
|
||||
'navigate.history.next': 'L',
|
||||
'navigate.link.next': ']]',
|
||||
'navigate.link.prev': '[[',
|
||||
'navigate.parent': 'gu',
|
||||
'navigate.root': 'gU',
|
||||
|
||||
'find.start': '/',
|
||||
'find.next': 'n',
|
||||
'find.prev': 'N',
|
||||
|
||||
'command.show': ':',
|
||||
'command.show.open?{"alter":false}': 'o',
|
||||
'command.show.open?{"alter":true}': 'O',
|
||||
'command.show.tabopen?{"alter":false}': 't',
|
||||
'command.show.tabopen?{"alter":true}': 'T',
|
||||
'command.show.winopen?{"alter":false}': 'w',
|
||||
'command.show.winopen?{"alter":true}': 'W',
|
||||
'command.show.buffer': 'b',
|
||||
|
||||
'addon.toggle.enabled': '<S-Esc>',
|
||||
'urls.yank': 'y',
|
||||
'zoom.in': 'zi',
|
||||
'zoom.out': 'zo',
|
||||
'zoom.neutral': 'zz',
|
||||
},
|
||||
'search': {
|
||||
'default': 'google',
|
||||
'engines': [
|
||||
['google', 'https,//google.com/search?q={}'],
|
||||
['yahoo', 'https,//search.yahoo.com/search?p={}'],
|
||||
['bing', 'https,//www.bing.com/search?q={}'],
|
||||
['duckduckgo', 'https,//duckduckgo.com/?q={}'],
|
||||
['twitter', 'https,//twitter.com/search?q={}'],
|
||||
['wikipedia', 'https,//en.wikipedia.org/w/index.php?search={}'],
|
||||
]
|
||||
},
|
||||
'blacklist': [],
|
||||
}
|
||||
};
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
import DefaultSettings from './default';
|
||||
|
||||
const operationFromFormName = (name) => {
|
||||
let [type, argStr] = name.split('?');
|
||||
let args = {};
|
||||
|
@ -55,16 +53,16 @@ const jsonFromValue = (value) => {
|
|||
return JSON.stringify(value, undefined, 2);
|
||||
};
|
||||
|
||||
const formFromValue = (value) => {
|
||||
|
||||
const formFromValue = (value, allowedOps) => {
|
||||
let keymaps = undefined;
|
||||
|
||||
if (value.keymaps) {
|
||||
let allowedOps = new Set(Object.keys(DefaultSettings.form.keymaps));
|
||||
let allowedSet = new Set(allowedOps);
|
||||
|
||||
keymaps = {};
|
||||
for (let keys of Object.keys(value.keymaps)) {
|
||||
let op = operationToFormName(value.keymaps[keys]);
|
||||
if (allowedOps.has(op)) {
|
||||
if (allowedSet.has(op)) {
|
||||
keymaps[op] = keys;
|
||||
}
|
||||
}
|
||||
|
@ -89,9 +87,9 @@ const jsonFromForm = (form) => {
|
|||
return jsonFromValue(valueFromForm(form));
|
||||
};
|
||||
|
||||
const formFromJson = (json) => {
|
||||
const formFromJson = (json, allowedOps) => {
|
||||
let value = valueFromJson(json);
|
||||
return formFromValue(value);
|
||||
return formFromValue(value, allowedOps);
|
||||
};
|
||||
|
||||
export {
|
||||
|
|
Reference in a new issue