aboutsummaryrefslogtreecommitdiff
path: root/src/content/actions/operation.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/content/actions/operation.ts')
-rw-r--r--src/content/actions/operation.ts112
1 files changed, 0 insertions, 112 deletions
diff --git a/src/content/actions/operation.ts b/src/content/actions/operation.ts
deleted file mode 100644
index 657cf47..0000000
--- a/src/content/actions/operation.ts
+++ /dev/null
@@ -1,112 +0,0 @@
-import * as operations from '../../shared/operations';
-import * as actions from './index';
-import * as messages from '../../shared/messages';
-import * as navigates from '../navigates';
-import * as focuses from '../focuses';
-import * as markActions from './mark';
-
-import AddonEnabledUseCase from '../usecases/AddonEnabledUseCase';
-import ClipboardUseCase from '../usecases/ClipboardUseCase';
-import { SettingRepositoryImpl } from '../repositories/SettingRepository';
-import { ScrollPresenterImpl } from '../presenters/ScrollPresenter';
-import { FollowMasterClientImpl } from '../client/FollowMasterClient';
-
-let addonEnabledUseCase = new AddonEnabledUseCase();
-let clipbaordUseCase = new ClipboardUseCase();
-let settingRepository = new SettingRepositoryImpl();
-let scrollPresenter = new ScrollPresenterImpl();
-let followMasterClient = new FollowMasterClientImpl(window.top);
-
-// eslint-disable-next-line complexity, max-lines-per-function
-const exec = async(
- operation: operations.Operation,
-): Promise<actions.Action> => {
- let settings = settingRepository.get();
- let smoothscroll = settings.properties.smoothscroll;
- switch (operation.type) {
- case operations.ADDON_ENABLE:
- await addonEnabledUseCase.enable();
- return { type: actions.NOOP };
- case operations.ADDON_DISABLE:
- await addonEnabledUseCase.disable();
- return { type: actions.NOOP };
- case operations.ADDON_TOGGLE_ENABLED:
- await addonEnabledUseCase.toggle();
- return { type: actions.NOOP };
- case operations.FIND_NEXT:
- window.top.postMessage(JSON.stringify({
- type: messages.FIND_NEXT,
- }), '*');
- break;
- case operations.FIND_PREV:
- window.top.postMessage(JSON.stringify({
- type: messages.FIND_PREV,
- }), '*');
- break;
- case operations.SCROLL_VERTICALLY:
- scrollPresenter.scrollVertically(operation.count, smoothscroll);
- break;
- case operations.SCROLL_HORIZONALLY:
- scrollPresenter.scrollHorizonally(operation.count, smoothscroll);
- break;
- case operations.SCROLL_PAGES:
- scrollPresenter.scrollPages(operation.count, smoothscroll);
- break;
- case operations.SCROLL_TOP:
- scrollPresenter.scrollToTop(smoothscroll);
- break;
- case operations.SCROLL_BOTTOM:
- scrollPresenter.scrollToBottom(smoothscroll);
- break;
- case operations.SCROLL_HOME:
- scrollPresenter.scrollToHome(smoothscroll);
- break;
- case operations.SCROLL_END:
- scrollPresenter.scrollToEnd(smoothscroll);
- break;
- case operations.FOLLOW_START:
- followMasterClient.startFollow(operation.newTab, operation.background);
- break;
- case operations.MARK_SET_PREFIX:
- return markActions.startSet();
- case operations.MARK_JUMP_PREFIX:
- return markActions.startJump();
- case operations.NAVIGATE_HISTORY_PREV:
- navigates.historyPrev(window);
- break;
- case operations.NAVIGATE_HISTORY_NEXT:
- navigates.historyNext(window);
- break;
- case operations.NAVIGATE_LINK_PREV:
- navigates.linkPrev(window);
- break;
- case operations.NAVIGATE_LINK_NEXT:
- navigates.linkNext(window);
- break;
- case operations.NAVIGATE_PARENT:
- navigates.parent(window);
- break;
- case operations.NAVIGATE_ROOT:
- navigates.root(window);
- break;
- case operations.FOCUS_INPUT:
- focuses.focusInput();
- break;
- case operations.URLS_YANK:
- await clipbaordUseCase.yankCurrentURL();
- break;
- case operations.URLS_PASTE:
- await clipbaordUseCase.openOrSearch(
- operation.newTab ? operation.newTab : false,
- );
- break;
- default:
- browser.runtime.sendMessage({
- type: messages.BACKGROUND_OPERATION,
- operation,
- });
- }
- return { type: actions.NOOP };
-};
-
-export { exec };