mirror of
https://github.com/johannesjo/super-productivity.git
synced 2026-01-23 02:36:05 +00:00
175 lines
8.2 KiB
TypeScript
175 lines
8.2 KiB
TypeScript
import { NgModule } from '@angular/core';
|
|
import { StoreModule } from '@ngrx/store';
|
|
import { EffectsModule } from '@ngrx/effects';
|
|
import {
|
|
LAYOUT_FEATURE_NAME,
|
|
layoutReducer,
|
|
} from '../core-ui/layout/store/layout.reducer';
|
|
import { LayoutEffects } from '../core-ui/layout/store/layout.effects';
|
|
import {
|
|
CONFIG_FEATURE_NAME,
|
|
globalConfigReducer,
|
|
} from '../features/config/store/global-config.reducer';
|
|
import { GlobalConfigEffects } from '../features/config/store/global-config.effects';
|
|
import {
|
|
FOCUS_MODE_FEATURE_KEY,
|
|
focusModeReducer,
|
|
} from '../features/focus-mode/store/focus-mode.reducer';
|
|
import { FocusModeEffects } from '../features/focus-mode/store/focus-mode.effects';
|
|
import { IDLE_FEATURE_KEY, idleReducer } from '../features/idle/store/idle.reducer';
|
|
import { IdleEffects } from '../features/idle/store/idle.effects';
|
|
import { issueProvidersFeature } from '../features/issue/store/issue-provider.reducer';
|
|
import { PollToBacklogEffects } from '../features/issue/store/poll-to-backlog.effects';
|
|
import { PollIssueUpdatesEffects } from '../features/issue/store/poll-issue-updates.effects';
|
|
import { UnlinkAllTasksOnProviderDeletionEffects } from '../features/issue/store/unlink-all-tasks-on-provider-deletion.effects';
|
|
import {
|
|
METRIC_FEATURE_NAME,
|
|
metricReducer,
|
|
} from '../features/metric/store/metric.reducer';
|
|
import { NOTE_FEATURE_NAME, noteReducer } from '../features/note/store/note.reducer';
|
|
import { NoteEffects } from '../features/note/store/note.effects';
|
|
import {
|
|
PROJECT_FEATURE_NAME,
|
|
projectReducer,
|
|
} from '../features/project/store/project.reducer';
|
|
import { ProjectEffects } from '../features/project/store/project.effects';
|
|
import {
|
|
menuTreeFeatureKey,
|
|
menuTreeReducer,
|
|
} from '../features/menu-tree/store/menu-tree.reducer';
|
|
import {
|
|
SIMPLE_COUNTER_FEATURE_NAME,
|
|
simpleCounterReducer,
|
|
} from '../features/simple-counter/store/simple-counter.reducer';
|
|
import { SimpleCounterEffects } from '../features/simple-counter/store/simple-counter.effects';
|
|
import { TAG_FEATURE_NAME, tagReducer } from '../features/tag/store/tag.reducer';
|
|
import { TagEffects } from '../features/tag/store/tag.effects';
|
|
import {
|
|
TASK_REPEAT_CFG_FEATURE_NAME,
|
|
taskRepeatCfgReducer,
|
|
} from '../features/task-repeat-cfg/store/task-repeat-cfg.reducer';
|
|
import { TaskRepeatCfgEffects } from '../features/task-repeat-cfg/store/task-repeat-cfg.effects';
|
|
import { TaskDueEffects } from '../features/tasks/store/task-due.effects';
|
|
import { TASK_FEATURE_NAME, taskReducer } from '../features/tasks/store/task.reducer';
|
|
import { TaskInternalEffects } from '../features/tasks/store/task-internal.effects';
|
|
import { TaskRelatedModelEffects } from '../features/tasks/store/task-related-model.effects';
|
|
import { TaskReminderEffects } from '../features/tasks/store/task-reminder.effects';
|
|
import { TaskUiEffects } from '../features/tasks/store/task-ui.effects';
|
|
import { ShortSyntaxEffects } from '../features/tasks/store/short-syntax.effects';
|
|
import { IS_ELECTRON } from '../app.constants';
|
|
import { TaskElectronEffects } from '../features/tasks/store/task-electron.effects';
|
|
import { WORK_CONTEXT_FEATURE_NAME } from '../features/work-context/store/work-context.selectors';
|
|
import { workContextReducer } from '../features/work-context/store/work-context.reducer';
|
|
import { WorkContextEffects } from '../features/work-context/store/work-context.effects';
|
|
import { IS_ANDROID_WEB_VIEW } from '../util/is-android-web-view';
|
|
import { AndroidEffects } from '../features/android/store/android.effects';
|
|
import { AndroidFocusModeEffects } from '../features/android/store/android-focus-mode.effects';
|
|
import { AndroidForegroundTrackingEffects } from '../features/android/store/android-foreground-tracking.effects';
|
|
import { CaldavIssueEffects } from '../features/issue/providers/caldav/caldav-issue.effects';
|
|
import { CalendarIntegrationEffects } from '../features/calendar-integration/store/calendar-integration.effects';
|
|
import { ElectronEffects } from '../core/electron/electron.effects';
|
|
import { DominaModeEffects } from '../features/domina-mode/store/domina-mode.effects';
|
|
import { DropboxEffects } from '../imex/sync/dropbox/store/dropbox.effects';
|
|
import { FinishDayBeforeCloseEffects } from '../features/finish-day-before-close/finish-day-before-close.effects';
|
|
import { GitlabIssueEffects } from '../features/issue/providers/gitlab/gitlab-issue.effects';
|
|
import { JiraIssueEffects } from '../features/issue/providers/jira/jira-issue.effects';
|
|
import { OpenProjectEffects } from '../features/issue/providers/open-project/open-project.effects';
|
|
import { ReminderCountdownEffects } from '../features/reminder/store/reminder-countdown.effects';
|
|
import { SyncEffects } from '../imex/sync/sync.effects';
|
|
import { boardsFeature } from '../features/boards/store/boards.reducer';
|
|
import { timeTrackingFeature } from '../features/time-tracking/store/time-tracking.reducer';
|
|
import { plannerFeature } from '../features/planner/store/planner.reducer';
|
|
import { PlannerEffects } from '../features/planner/store/planner.effects';
|
|
import { AppStateEffects } from './app-state/app-state.effects';
|
|
import { appStateFeature } from './app-state/app-state.reducer';
|
|
import { SaveToDbEffects } from './shared/save-to-db.effects';
|
|
import { PluginHooksEffects } from '../plugins/plugin-hooks.effects';
|
|
|
|
@NgModule({
|
|
declarations: [],
|
|
imports: [
|
|
EffectsModule.forFeature([SaveToDbEffects]),
|
|
|
|
StoreModule.forFeature(appStateFeature),
|
|
EffectsModule.forFeature([AppStateEffects]),
|
|
|
|
StoreModule.forFeature(LAYOUT_FEATURE_NAME, layoutReducer),
|
|
EffectsModule.forFeature([LayoutEffects]),
|
|
|
|
StoreModule.forFeature(CONFIG_FEATURE_NAME, globalConfigReducer),
|
|
EffectsModule.forFeature([GlobalConfigEffects]),
|
|
|
|
StoreModule.forFeature(FOCUS_MODE_FEATURE_KEY, focusModeReducer),
|
|
EffectsModule.forFeature([FocusModeEffects]),
|
|
|
|
StoreModule.forFeature(IDLE_FEATURE_KEY, idleReducer),
|
|
EffectsModule.forFeature([IdleEffects]),
|
|
|
|
StoreModule.forFeature(issueProvidersFeature),
|
|
EffectsModule.forFeature([
|
|
PollToBacklogEffects,
|
|
PollIssueUpdatesEffects,
|
|
UnlinkAllTasksOnProviderDeletionEffects,
|
|
]),
|
|
|
|
StoreModule.forFeature(METRIC_FEATURE_NAME, metricReducer),
|
|
|
|
StoreModule.forFeature(NOTE_FEATURE_NAME, noteReducer),
|
|
EffectsModule.forFeature([NoteEffects]),
|
|
|
|
StoreModule.forFeature(PROJECT_FEATURE_NAME, projectReducer),
|
|
EffectsModule.forFeature([ProjectEffects]),
|
|
|
|
StoreModule.forFeature(menuTreeFeatureKey, menuTreeReducer),
|
|
|
|
StoreModule.forFeature(SIMPLE_COUNTER_FEATURE_NAME, simpleCounterReducer),
|
|
EffectsModule.forFeature([SimpleCounterEffects]),
|
|
|
|
StoreModule.forFeature(TAG_FEATURE_NAME, tagReducer),
|
|
EffectsModule.forFeature([TagEffects]),
|
|
|
|
StoreModule.forFeature(TASK_REPEAT_CFG_FEATURE_NAME, taskRepeatCfgReducer),
|
|
EffectsModule.forFeature([TaskRepeatCfgEffects]),
|
|
|
|
StoreModule.forFeature(TASK_FEATURE_NAME, taskReducer),
|
|
EffectsModule.forFeature([
|
|
TaskInternalEffects,
|
|
TaskRelatedModelEffects,
|
|
TaskReminderEffects,
|
|
TaskUiEffects,
|
|
ShortSyntaxEffects,
|
|
TaskDueEffects,
|
|
...(IS_ELECTRON ? [TaskElectronEffects] : []),
|
|
]),
|
|
|
|
StoreModule.forFeature(WORK_CONTEXT_FEATURE_NAME, workContextReducer),
|
|
EffectsModule.forFeature([WorkContextEffects]),
|
|
|
|
StoreModule.forFeature(boardsFeature),
|
|
|
|
StoreModule.forFeature(timeTrackingFeature),
|
|
|
|
StoreModule.forFeature(plannerFeature),
|
|
EffectsModule.forFeature([PlannerEffects]),
|
|
|
|
// EFFECTS ONLY
|
|
EffectsModule.forFeature([
|
|
...(IS_ANDROID_WEB_VIEW
|
|
? [AndroidEffects, AndroidFocusModeEffects, AndroidForegroundTrackingEffects]
|
|
: []),
|
|
]),
|
|
EffectsModule.forFeature([CaldavIssueEffects]),
|
|
EffectsModule.forFeature([CalendarIntegrationEffects]),
|
|
EffectsModule.forFeature([ElectronEffects]),
|
|
EffectsModule.forFeature([DominaModeEffects]),
|
|
EffectsModule.forFeature([DropboxEffects]),
|
|
EffectsModule.forFeature([FinishDayBeforeCloseEffects]),
|
|
EffectsModule.forFeature([GitlabIssueEffects]),
|
|
EffectsModule.forFeature([JiraIssueEffects]),
|
|
EffectsModule.forFeature([OpenProjectEffects]),
|
|
EffectsModule.forFeature([ReminderCountdownEffects]),
|
|
EffectsModule.forFeature([SyncEffects]),
|
|
EffectsModule.forFeature([PluginHooksEffects]),
|
|
],
|
|
})
|
|
export class FeatureStoresModule {}
|