mv services/state > ui_models/app_state

This commit is contained in:
Mo Bitar
2020-04-17 13:31:47 -05:00
parent 2083ce763f
commit 0c6b5cbeb7
18 changed files with 869 additions and 800 deletions

View File

@@ -7,4 +7,3 @@ export { NativeExtManager } from './nativeExtManager';
export { PreferencesManager } from './preferencesManager';
export { StatusManager } from './statusManager';
export { ThemeManager } from './themeManager';
export { AppState } from './state';

View File

@@ -10,5 +10,5 @@ export declare class PreferencesManager extends ApplicationService {
preferencesDidChange(): void;
syncUserPreferences(): void;
getValue(key: WebPrefKey, defaultValue?: any): any;
setUserPrefValue(key: WebPrefKey, value: any, sync?: boolean): void;
setUserPrefValue(key: WebPrefKey, value: any, sync?: boolean): Promise<void>;
}

View File

@@ -0,0 +1,72 @@
/// <reference types="angular" />
import { SNTag, SNNote, SNUserPrefs } from 'snjs';
import { WebApplication } from '@/ui_models/application';
import { Editor } from '@/ui_models/editor';
export declare enum AppStateEvent {
TagChanged = 1,
ActiveEditorChanged = 2,
PreferencesChanged = 3,
PanelResized = 4,
EditorFocused = 5,
BeganBackupDownload = 6,
EndedBackupDownload = 7,
DesktopExtsReady = 8,
WindowDidFocus = 9,
WindowDidBlur = 10
}
export declare enum EventSource {
UserInteraction = 1,
Script = 2
}
declare type ObserverCallback = (event: AppStateEvent, data?: any) => Promise<void>;
export declare class AppState {
$rootScope: ng.IRootScopeService;
$timeout: ng.ITimeoutService;
application: WebApplication;
observers: ObserverCallback[];
locked: boolean;
unsubApp: any;
rootScopeCleanup1: any;
rootScopeCleanup2: any;
onVisibilityChange: any;
selectedTag?: SNTag;
userPreferences?: SNUserPrefs;
multiEditorEnabled: boolean;
constructor($rootScope: ng.IRootScopeService, $timeout: ng.ITimeoutService, application: WebApplication);
deinit(): void;
/**
* Creates a new editor if one doesn't exist. If one does, we'll replace the
* editor's note with an empty one.
*/
createEditor(title?: string): void;
openEditor(noteUuid: string): Promise<unknown>;
getActiveEditor(): Editor;
getEditors(): Editor[];
closeEditor(editor: Editor): void;
closeActiveEditor(): void;
closeAllEditors(): void;
editorForNote(note: SNNote): Editor | undefined;
streamNotesAndTags(): void;
addAppEventObserver(): void;
isLocked(): boolean;
registerVisibilityObservers(): void;
/** @returns A function that unregisters this observer */
addObserver(callback: ObserverCallback): () => void;
notifyEvent(eventName: AppStateEvent, data?: any): Promise<unknown>;
setSelectedTag(tag: SNTag): void;
/** Returns the tags that are referncing this note */
getNoteTags(note: SNNote): SNTag[];
/** Returns the notes this tag references */
getTagNotes(tag: SNTag): SNNote[];
getSelectedTag(): SNTag | undefined;
setUserPreferences(preferences: SNUserPrefs): void;
panelDidResize(name: string, collapsed: boolean): void;
editorDidFocus(eventSource: EventSource): void;
beganBackupDownload(): void;
endedBackupDownload(success: boolean): void;
/**
* When the desktop appplication extension server is ready.
*/
desktopExtensionsReady(): void;
}
export {};

View File

@@ -3,7 +3,8 @@ import { ComponentGroup } from './component_group';
import { EditorGroup } from '@/ui_models/editor_group';
import { PasswordWizardType } from '@/types';
import { SNApplication, Challenge, ChallengeOrchestrator, ProtectedAction } from 'snjs';
import { AppState, DesktopManager, LockManager, ArchiveManager, NativeExtManager, StatusManager, ThemeManager, PreferencesManager, KeyboardManager } from '@/services';
import { DesktopManager, LockManager, ArchiveManager, NativeExtManager, StatusManager, ThemeManager, PreferencesManager, KeyboardManager } from '@/services';
import { AppState } from '@/ui_models/app_state';
declare type WebServices = {
appState: AppState;
desktopService: DesktopManager;

View File

@@ -16,7 +16,7 @@ export declare class PureViewCtrl {
$onInit(): void;
deinit(): void;
$onDestroy(): void;
get appState(): import("../../services").AppState;
get appState(): import("../../ui_models/app_state").AppState;
/** @private */
resetState(): Promise<void>;
/** @override */

1566
dist/javascripts/app.js vendored

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long