diff options
Diffstat (limited to 'src/content/actions')
-rw-r--r-- | src/content/actions/find.js | 49 | ||||
-rw-r--r-- | src/content/actions/operation.js | 2 | ||||
-rw-r--r-- | src/content/actions/setting.js | 7 |
3 files changed, 32 insertions, 26 deletions
diff --git a/src/content/actions/find.js b/src/content/actions/find.js index c7345cc..b3d7e30 100644 --- a/src/content/actions/find.js +++ b/src/content/actions/find.js @@ -22,6 +22,12 @@ const postPatternFound = (pattern) => { ); }; +const postNoPrevious = () => { + return consoleFrames.postError( + window.document, + 'No previous search keywords'); +}; + const find = (string, backwards) => { let caseSensitive = false; let wrapScan = true; @@ -29,44 +35,45 @@ const find = (string, backwards) => { // NOTE: aWholeWord dows not implemented, and aSearchInFrames does not work // because of same origin policy + let found = window.find(string, caseSensitive, backwards, wrapScan); + if (found) { + return found; + } + window.getSelection().removeAllRanges(); return window.find(string, caseSensitive, backwards, wrapScan); }; -const findNext = (currentKeyword, reset, backwards) => { +const findNext = async(currentKeyword, reset, backwards) => { if (reset) { window.getSelection().removeAllRanges(); } - let promise = Promise.resolve(currentKeyword); + let keyword = currentKeyword; if (currentKeyword) { browser.runtime.sendMessage({ type: messages.FIND_SET_KEYWORD, keyword: currentKeyword, }); } else { - promise = browser.runtime.sendMessage({ + keyword = await browser.runtime.sendMessage({ type: messages.FIND_GET_KEYWORD, }); } + if (!keyword) { + return postNoPrevious(); + } + let found = find(keyword, backwards); + if (found) { + postPatternFound(keyword); + } else { + postPatternNotFound(keyword); + } - return promise.then((keyword) => { - let found = find(keyword, backwards); - if (!found) { - window.getSelection().removeAllRanges(); - found = find(keyword, backwards); - } - if (found) { - postPatternFound(keyword); - } else { - postPatternNotFound(keyword); - } - - return { - type: actions.FIND_SET_KEYWORD, - keyword, - found, - }; - }); + return { + type: actions.FIND_SET_KEYWORD, + keyword, + found, + }; }; const next = (currentKeyword, reset) => { diff --git a/src/content/actions/operation.js b/src/content/actions/operation.js index 9171766..40ac52d 100644 --- a/src/content/actions/operation.js +++ b/src/content/actions/operation.js @@ -8,7 +8,7 @@ import * as consoleFrames from 'content/console-frames'; import * as addonActions from './addon'; import * as properties from 'shared/settings/properties'; -// eslint-disable-next-line complexity +// eslint-disable-next-line complexity, max-lines-per-function const exec = (operation, repeat, settings) => { let smoothscroll = settings.properties.smoothscroll || properties.defaults.smoothscroll; diff --git a/src/content/actions/setting.js b/src/content/actions/setting.js index 4c1e385..e34b6e0 100644 --- a/src/content/actions/setting.js +++ b/src/content/actions/setting.js @@ -10,7 +10,7 @@ const reservedKeymaps = { const set = (value) => { let entries = []; if (value.keymaps) { - let keymaps = Object.assign({}, value.keymaps, reservedKeymaps); + let keymaps = { ...value.keymaps, ...reservedKeymaps }; entries = Object.entries(keymaps).map((entry) => { return [ keyUtils.fromMapKeys(entry[0]), @@ -21,9 +21,8 @@ const set = (value) => { return { type: actions.SETTING_SET, - value: Object.assign({}, value, { - keymaps: entries, - }) + value: { ...value, + keymaps: entries, } }; }; |