Move @types to dist
This commit is contained in:
@@ -1 +0,0 @@
|
||||
export {};
|
||||
@@ -1,53 +0,0 @@
|
||||
import { PasswordWizardType } from './types';
|
||||
import { SNApplication, Challenge, ChallengeOrchestrator, ProtectedAction } from 'snjs';
|
||||
import { AppState, DesktopManager, LockManager, ArchiveManager, NativeExtManager, StatusManager, ThemeManager, PreferencesManager, KeyboardManager } from './services';
|
||||
declare type WebServices = {
|
||||
appState: AppState;
|
||||
desktopService: DesktopManager;
|
||||
lockService: LockManager;
|
||||
archiveService: ArchiveManager;
|
||||
nativeExtService: NativeExtManager;
|
||||
statusService: StatusManager;
|
||||
themeService: ThemeManager;
|
||||
prefsService: PreferencesManager;
|
||||
keyboardService: KeyboardManager;
|
||||
};
|
||||
export declare class WebApplication extends SNApplication {
|
||||
private $compile?;
|
||||
private scope?;
|
||||
private onDeinit?;
|
||||
private webServices;
|
||||
private currentAuthenticationElement?;
|
||||
constructor($compile: ng.ICompileService, $timeout: ng.ITimeoutService, scope: ng.IScope, onDeinit: (app: WebApplication) => void);
|
||||
/** @override */
|
||||
deinit(): void;
|
||||
setWebServices(services: WebServices): void;
|
||||
/** @access public */
|
||||
getAppState(): AppState;
|
||||
/** @access public */
|
||||
getDesktopService(): DesktopManager;
|
||||
/** @access public */
|
||||
getLockService(): LockManager;
|
||||
/** @access public */
|
||||
getArchiveService(): ArchiveManager;
|
||||
/** @access public */
|
||||
getNativeExtService(): NativeExtManager;
|
||||
/** @access public */
|
||||
getStatusService(): StatusManager;
|
||||
/** @access public */
|
||||
getThemeService(): ThemeManager;
|
||||
/** @access public */
|
||||
getPrefsService(): PreferencesManager;
|
||||
/** @access public */
|
||||
getKeyboardService(): KeyboardManager;
|
||||
checkForSecurityUpdate(): Promise<boolean>;
|
||||
presentPasswordWizard(type: PasswordWizardType): void;
|
||||
promptForChallenge(challenge: Challenge, orchestrator: ChallengeOrchestrator): void;
|
||||
performProtocolUpgrade(): Promise<void>;
|
||||
presentPrivilegesModal(action: ProtectedAction, onSuccess?: any, onCancel?: any): Promise<void>;
|
||||
presentPrivilegesManagementModal(): void;
|
||||
authenticationInProgress(): boolean;
|
||||
presentPasswordModal(callback: () => void): void;
|
||||
presentRevisionPreviewModal(uuid: string, content: any): void;
|
||||
}
|
||||
export {};
|
||||
@@ -1,25 +0,0 @@
|
||||
import { WebApplication } from './application';
|
||||
declare type AppManagerChangeCallback = () => void;
|
||||
export declare class ApplicationManager {
|
||||
$compile: ng.ICompileService;
|
||||
$rootScope: ng.IRootScopeService;
|
||||
$timeout: ng.ITimeoutService;
|
||||
applications: WebApplication[];
|
||||
changeObservers: AppManagerChangeCallback[];
|
||||
activeApplication?: WebApplication;
|
||||
constructor($compile: ng.ICompileService, $rootScope: ng.IRootScopeService, $timeout: ng.ITimeoutService);
|
||||
private createDefaultApplication;
|
||||
/** @callback */
|
||||
onApplicationDeinit(application: WebApplication): void;
|
||||
private createNewApplication;
|
||||
get application(): WebApplication | undefined;
|
||||
getApplications(): WebApplication[];
|
||||
/**
|
||||
* Notifies observer when the active application has changed.
|
||||
* Any application which is no longer active is destroyed, and
|
||||
* must be removed from the interface.
|
||||
*/
|
||||
addApplicationChangeObserver(callback: AppManagerChangeCallback): void;
|
||||
private notifyObserversOfAppChange;
|
||||
}
|
||||
export {};
|
||||
@@ -1,35 +0,0 @@
|
||||
import { WebApplication } from './../../application';
|
||||
import { ApplicationEvent } from 'snjs';
|
||||
export declare type CtrlState = Partial<Record<string, any>>;
|
||||
export declare type CtrlProps = Partial<Record<string, any>>;
|
||||
export declare class PureCtrl {
|
||||
$timeout: ng.ITimeoutService;
|
||||
/** Passed through templates */
|
||||
application?: WebApplication;
|
||||
props: CtrlProps;
|
||||
state: CtrlState;
|
||||
private unsubApp;
|
||||
private unsubState;
|
||||
private stateTimeout;
|
||||
constructor($timeout: ng.ITimeoutService);
|
||||
$onInit(): void;
|
||||
deinit(): void;
|
||||
$onDestroy(): void;
|
||||
get appState(): import("../../services/state").AppState;
|
||||
/** @private */
|
||||
resetState(): Promise<void>;
|
||||
/** @override */
|
||||
getInitialState(): {};
|
||||
setState(state: CtrlState): Promise<unknown>;
|
||||
updateUI(func: () => void): Promise<void>;
|
||||
initProps(props: CtrlProps): void;
|
||||
addAppStateObserver(): void;
|
||||
onAppStateEvent(eventName: any, data: any): void;
|
||||
addAppEventObserver(): void;
|
||||
onAppEvent(eventName: ApplicationEvent): void;
|
||||
/** @override */
|
||||
onAppStart(): Promise<void>;
|
||||
onAppLaunch(): Promise<void>;
|
||||
onAppKeyChange(): Promise<void>;
|
||||
onAppSync(): void;
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
import { WebDirective } from './../types';
|
||||
export declare class ApplicationView extends WebDirective {
|
||||
constructor();
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
export declare const PANEL_NAME_NOTES = "notes";
|
||||
export declare const PANEL_NAME_TAGS = "tags";
|
||||
@@ -1,4 +0,0 @@
|
||||
import { WebDirective } from './../types';
|
||||
export declare class EditorPanel extends WebDirective {
|
||||
constructor();
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
import { WebDirective } from './../types';
|
||||
export declare class Footer extends WebDirective {
|
||||
constructor();
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
export { PureCtrl } from './abstract/pure_ctrl';
|
||||
export { EditorPanel } from './editor';
|
||||
export { Footer } from './footer';
|
||||
export { NotesPanel } from './notes/notes';
|
||||
export { TagsPanel } from './tags';
|
||||
export { Root } from './root';
|
||||
export { ApplicationView } from './applicationView';
|
||||
@@ -1,10 +0,0 @@
|
||||
import { SNNote, SNTag } from 'snjs';
|
||||
export declare enum NoteSortKey {
|
||||
CreatedAt = "created_at",
|
||||
UpdatedAt = "updated_at",
|
||||
ClientUpdatedAt = "client_updated_at",
|
||||
Title = "title"
|
||||
}
|
||||
export declare function filterAndSortNotes(notes: SNNote[], selectedTag: SNTag, showArchived: boolean, hidePinned: boolean, filterText: string, sortBy: string, reverse: boolean): SNNote[];
|
||||
export declare function filterNotes(notes: SNNote[], selectedTag: SNTag, showArchived: boolean, hidePinned: boolean, filterText: string): SNNote[];
|
||||
export declare function sortNotes(notes: SNNote[] | undefined, sortBy: string, reverse: boolean): SNNote[];
|
||||
@@ -1,4 +0,0 @@
|
||||
import { WebDirective } from './../../types';
|
||||
export declare class NotesPanel extends WebDirective {
|
||||
constructor();
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
import { WebDirective } from './../types';
|
||||
export declare class Root extends WebDirective {
|
||||
constructor();
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
import { WebDirective } from './../types';
|
||||
export declare class TagsPanel extends WebDirective {
|
||||
constructor();
|
||||
}
|
||||
@@ -1,28 +0,0 @@
|
||||
import { SNAlertService } from "../../../../snjs/dist/@types";
|
||||
export declare class Database {
|
||||
private locked;
|
||||
private alertService?;
|
||||
private db?;
|
||||
deinit(): void;
|
||||
setAlertService(alertService: SNAlertService): void;
|
||||
/**
|
||||
* Relinquishes the lock and allows db operations to proceed
|
||||
*/
|
||||
unlock(): void;
|
||||
/**
|
||||
* Opens the database natively, or returns the existing database object if already opened.
|
||||
* @param onNewDatabase - Callback to invoke when a database has been created
|
||||
* as part of the open process. This can happen on new application sessions, or if the
|
||||
* browser deleted the database without the user being aware.
|
||||
*/
|
||||
openDatabase(onNewDatabase?: () => void): Promise<IDBDatabase | undefined>;
|
||||
getAllPayloads(): Promise<any[]>;
|
||||
savePayload(payload: any): Promise<void>;
|
||||
savePayloads(payloads: any[]): Promise<void>;
|
||||
private putItems;
|
||||
deletePayload(uuid: string): Promise<void>;
|
||||
clearAllPayloads(): Promise<void>;
|
||||
private showAlert;
|
||||
private showGenericError;
|
||||
private displayOfflineAlert;
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
export declare function autofocus($timeout: ng.ITimeoutService): {
|
||||
restrict: string;
|
||||
scope: {
|
||||
shouldFocus: string;
|
||||
};
|
||||
link: ($scope: import("angular").IScope, $element: JQLite) => void;
|
||||
};
|
||||
@@ -1,5 +0,0 @@
|
||||
export declare function clickOutside($document: ng.IDocumentService): {
|
||||
restrict: string;
|
||||
replace: boolean;
|
||||
link: ($scope: import("angular").IScope, $element: JQLite, attrs: any) => void;
|
||||
};
|
||||
@@ -1,9 +0,0 @@
|
||||
import angular from 'angular';
|
||||
export declare function delayHide($timeout: ng.ITimeoutService): {
|
||||
restrict: string;
|
||||
scope: {
|
||||
show: string;
|
||||
delay: string;
|
||||
};
|
||||
link: (scope: angular.IScope, elem: JQLite) => void;
|
||||
};
|
||||
@@ -1,4 +0,0 @@
|
||||
export declare function elemReady($parse: ng.IParseService): {
|
||||
restrict: string;
|
||||
link: ($scope: import("angular").IScope, elem: JQLite, attrs: any) => void;
|
||||
};
|
||||
@@ -1,7 +0,0 @@
|
||||
export declare function fileChange(): {
|
||||
restrict: string;
|
||||
scope: {
|
||||
handler: string;
|
||||
};
|
||||
link: (scope: import("angular").IScope, element: JQLite) => void;
|
||||
};
|
||||
@@ -1,9 +0,0 @@
|
||||
export { autofocus } from './autofocus';
|
||||
export { clickOutside } from './click-outside';
|
||||
export { delayHide } from './delay-hide';
|
||||
export { elemReady } from './elemReady';
|
||||
export { fileChange } from './file-change';
|
||||
export { infiniteScroll } from './infiniteScroll';
|
||||
export { lowercase } from './lowercase';
|
||||
export { selectOnClick } from './selectOnClick';
|
||||
export { snEnter } from './snEnter';
|
||||
@@ -1,3 +0,0 @@
|
||||
export declare function infiniteScroll(): {
|
||||
link: (scope: import("angular").IScope, elem: JQLite, attrs: any) => void;
|
||||
};
|
||||
@@ -1,4 +0,0 @@
|
||||
export declare function lowercase(): {
|
||||
require: string;
|
||||
link: (scope: import("angular").IScope, _: JQLite, attrs: any, ctrl: any) => void;
|
||||
};
|
||||
@@ -1,4 +0,0 @@
|
||||
export declare function selectOnClick($window: ng.IWindowService): {
|
||||
restrict: string;
|
||||
link: (scope: import("angular").IScope, element: JQLite) => void;
|
||||
};
|
||||
@@ -1 +0,0 @@
|
||||
export declare function snEnter(): (scope: import("angular").IScope, element: JQLite, attrs: any) => void;
|
||||
@@ -1,4 +0,0 @@
|
||||
import { WebDirective } from './../../types';
|
||||
export declare class AccountMenu extends WebDirective {
|
||||
constructor();
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
import { WebDirective } from './../../types';
|
||||
export declare class ActionsMenu extends WebDirective {
|
||||
constructor();
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
import { WebDirective } from './../../types';
|
||||
export declare class ChallengeModal extends WebDirective {
|
||||
constructor();
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
import { WebApplication } from './../../application';
|
||||
import { SNComponent } from 'snjs';
|
||||
import { WebDirective } from './../../types';
|
||||
declare type ComponentModalScope = {
|
||||
component: SNComponent;
|
||||
callback: () => void;
|
||||
onDismiss: (component: SNComponent) => void;
|
||||
application: WebApplication;
|
||||
};
|
||||
export declare class ComponentModalCtrl implements ComponentModalScope {
|
||||
$element: JQLite;
|
||||
component: SNComponent;
|
||||
callback: () => void;
|
||||
onDismiss: (component: SNComponent) => void;
|
||||
application: WebApplication;
|
||||
constructor($element: JQLite);
|
||||
dismiss(): void;
|
||||
}
|
||||
export declare class ComponentModal extends WebDirective {
|
||||
constructor();
|
||||
}
|
||||
export {};
|
||||
@@ -1,4 +0,0 @@
|
||||
import { WebDirective } from './../../types';
|
||||
export declare class ComponentView extends WebDirective {
|
||||
constructor();
|
||||
}
|
||||
@@ -1,30 +0,0 @@
|
||||
/// <reference types="pug" />
|
||||
export class ConflictResolutionModal {
|
||||
restrict: string;
|
||||
template: import("pug").compileTemplate;
|
||||
controller: typeof ConflictResolutionCtrl;
|
||||
controllerAs: string;
|
||||
bindToController: boolean;
|
||||
scope: {
|
||||
item1: string;
|
||||
item2: string;
|
||||
callback: string;
|
||||
application: string;
|
||||
};
|
||||
}
|
||||
declare class ConflictResolutionCtrl {
|
||||
constructor($element: any);
|
||||
$element: any;
|
||||
$onInit(): void;
|
||||
contentType: any;
|
||||
item1Content: string | undefined;
|
||||
item2Content: string | undefined;
|
||||
createContentString(item: any): string;
|
||||
keepItem1(): void;
|
||||
keepItem2(): void;
|
||||
keepBoth(): void;
|
||||
export(): void;
|
||||
triggerCallback(): void;
|
||||
dismiss(): void;
|
||||
}
|
||||
export {};
|
||||
@@ -1,4 +0,0 @@
|
||||
import { WebDirective } from './../../types';
|
||||
export declare class EditorMenu extends WebDirective {
|
||||
constructor();
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
export { AccountMenu } from './accountMenu';
|
||||
export { ActionsMenu } from './actionsMenu';
|
||||
export { ChallengeModal } from './challengeModal';
|
||||
export { ComponentModal } from './componentModal';
|
||||
export { ComponentView } from './componentView';
|
||||
export { EditorMenu } from './editorMenu';
|
||||
export { InputModal } from './inputModal';
|
||||
export { MenuRow } from './menuRow';
|
||||
export { PanelResizer } from './panelResizer';
|
||||
export { PasswordWizard } from './passwordWizard';
|
||||
export { PermissionsModal } from './permissionsModal';
|
||||
export { PrivilegesAuthModal } from './privilegesAuthModal';
|
||||
export { PrivilegesManagementModal } from './privilegesManagementModal';
|
||||
export { RevisionPreviewModal } from './revisionPreviewModal';
|
||||
export { SessionHistoryMenu } from './sessionHistoryMenu';
|
||||
export { SyncResolutionMenu } from './syncResolutionMenu';
|
||||
@@ -1,10 +0,0 @@
|
||||
import { WebDirective } from './../../types';
|
||||
export interface InputModalScope extends Partial<ng.IScope> {
|
||||
type: string;
|
||||
title: string;
|
||||
message: string;
|
||||
callback: (value: string) => void;
|
||||
}
|
||||
export declare class InputModal extends WebDirective {
|
||||
constructor();
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
import { WebDirective } from './../../types';
|
||||
export declare class MenuRow extends WebDirective {
|
||||
constructor();
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
import { WebDirective } from './../../types';
|
||||
export declare class PanelResizer extends WebDirective {
|
||||
constructor();
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
import { WebDirective } from './../../types';
|
||||
export declare class PasswordWizard extends WebDirective {
|
||||
constructor();
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
import { WebDirective } from './../../types';
|
||||
export declare class PermissionsModal extends WebDirective {
|
||||
constructor();
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
import { WebDirective } from './../../types';
|
||||
export declare class PrivilegesAuthModal extends WebDirective {
|
||||
constructor();
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
import { WebDirective } from './../../types';
|
||||
export declare class PrivilegesManagementModal extends WebDirective {
|
||||
constructor();
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
import { WebDirective } from './../../types';
|
||||
export declare class RevisionPreviewModal extends WebDirective {
|
||||
constructor();
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
import { WebDirective } from './../../types';
|
||||
export declare class SessionHistoryMenu extends WebDirective {
|
||||
constructor();
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
import { WebDirective } from './../../types';
|
||||
export declare class SyncResolutionMenu extends WebDirective {
|
||||
constructor();
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
export { trusted } from './trusted';
|
||||
@@ -1 +0,0 @@
|
||||
export declare function trusted($sce: ng.ISCEService): (url: string) => any;
|
||||
@@ -1,9 +0,0 @@
|
||||
import 'sn-stylekit/dist/stylekit.css';
|
||||
import '../stylesheets/index.css.scss';
|
||||
import 'angular';
|
||||
import '../../../vendor/assets/javascripts/angular-sanitize';
|
||||
import '../../../vendor/assets/javascripts/zip/deflate';
|
||||
import '../../../vendor/assets/javascripts/zip/inflate';
|
||||
import '../../../vendor/assets/javascripts/zip/zip';
|
||||
import '../../../vendor/assets/javascripts/zip/z-worker';
|
||||
import './app';
|
||||
@@ -1 +0,0 @@
|
||||
export declare function configRoutes($locationProvider: ng.ILocationProvider): void;
|
||||
@@ -1,5 +0,0 @@
|
||||
import { SNAlertService } from 'snjs';
|
||||
export declare class AlertService extends SNAlertService {
|
||||
alert(title: string, text: string, closeButtonText: string | undefined, onClose: () => void): Promise<unknown>;
|
||||
confirm(title: string, text: string, confirmButtonText: string | undefined, cancelButtonText: string | undefined, onConfirm: () => void, onCancel: () => void, destructive?: boolean): Promise<unknown>;
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
import { WebApplication } from '@/application';
|
||||
import { SNItem } from 'snjs';
|
||||
export declare class ArchiveManager {
|
||||
private readonly application;
|
||||
private textFile?;
|
||||
constructor(application: WebApplication);
|
||||
downloadBackup(encrypted: boolean): Promise<void>;
|
||||
downloadBackupOfItems(items: SNItem[], encrypted: boolean): Promise<void>;
|
||||
private formattedDate;
|
||||
private itemsData;
|
||||
private get zip();
|
||||
private loadZip;
|
||||
private downloadZippedItems;
|
||||
private hrefForData;
|
||||
private downloadData;
|
||||
}
|
||||
@@ -1,61 +0,0 @@
|
||||
import { SNComponent, PurePayload } from 'snjs';
|
||||
import { WebApplication } from '@/application';
|
||||
import { ApplicationService, ApplicationEvent } from 'snjs';
|
||||
declare type UpdateObserverCallback = (component: SNComponent) => void;
|
||||
declare type ComponentActivationCallback = (payload: PurePayload) => void;
|
||||
declare type ComponentActivationObserver = {
|
||||
id: string;
|
||||
callback: ComponentActivationCallback;
|
||||
};
|
||||
export declare class DesktopManager extends ApplicationService {
|
||||
$rootScope: ng.IRootScopeService;
|
||||
$timeout: ng.ITimeoutService;
|
||||
componentActivationObservers: ComponentActivationObserver[];
|
||||
updateObservers: {
|
||||
callback: UpdateObserverCallback;
|
||||
}[];
|
||||
isDesktop: any;
|
||||
dataLoaded: boolean;
|
||||
dataLoadHandler?: () => void;
|
||||
majorDataChangeHandler?: () => void;
|
||||
extServerHost?: string;
|
||||
installationSyncHandler?: (payloads: PurePayload[]) => void;
|
||||
installComponentHandler?: (payload: PurePayload) => void;
|
||||
lastSearchedText?: string;
|
||||
searchHandler?: (text?: string) => void;
|
||||
constructor($rootScope: ng.IRootScopeService, $timeout: ng.ITimeoutService, application: WebApplication);
|
||||
get webApplication(): WebApplication;
|
||||
deinit(): void;
|
||||
onAppEvent(eventName: ApplicationEvent): Promise<void>;
|
||||
saveBackup(): void;
|
||||
getExtServerHost(): string | undefined;
|
||||
/**
|
||||
* Sending a component in its raw state is really slow for the desktop app
|
||||
* Keys are not passed into ItemParams, so the result is not encrypted
|
||||
*/
|
||||
convertComponentForTransmission(component: SNComponent): Promise<PurePayload>;
|
||||
syncComponentsInstallation(components: SNComponent[]): void;
|
||||
installComponent(component: SNComponent): Promise<void>;
|
||||
registerUpdateObserver(callback: UpdateObserverCallback): () => void;
|
||||
searchText(text?: string): void;
|
||||
redoSearch(): void;
|
||||
desktop_setSearchHandler(handler: (text?: string) => void): void;
|
||||
desktop_windowGainedFocus(): void;
|
||||
desktop_windowLostFocus(): void;
|
||||
desktop_onComponentInstallationComplete(componentData: any, error: any): Promise<void>;
|
||||
desktop_registerComponentActivationObserver(callback: ComponentActivationCallback): {
|
||||
id: string;
|
||||
callback: ComponentActivationCallback;
|
||||
};
|
||||
desktop_deregisterComponentActivationObserver(observer: ComponentActivationObserver): void;
|
||||
notifyComponentActivation(component: SNComponent): Promise<void>;
|
||||
desktop_setExtServerHost(host: string): void;
|
||||
desktop_setComponentInstallationSyncHandler(handler: (payloads: PurePayload[]) => void): void;
|
||||
desktop_setInstallComponentHandler(handler: (payload: PurePayload) => void): void;
|
||||
desktop_setInitialDataLoadHandler(handler: () => void): void;
|
||||
desktop_requestBackupFile(callback: (data: any) => void): Promise<void>;
|
||||
desktop_setMajorDataChangeHandler(handler: () => void): void;
|
||||
desktop_didBeginBackup(): void;
|
||||
desktop_didFinishBackup(success: boolean): void;
|
||||
}
|
||||
export {};
|
||||
@@ -1,10 +0,0 @@
|
||||
export { AlertService } from './alertService';
|
||||
export { ArchiveManager } from './archiveManager';
|
||||
export { DesktopManager } from './desktopManager';
|
||||
export { KeyboardManager } from './keyboardManager';
|
||||
export { LockManager } from './lockManager';
|
||||
export { NativeExtManager } from './nativeExtManager';
|
||||
export { PreferencesManager } from './preferencesManager';
|
||||
export { StatusManager } from './statusManager';
|
||||
export { ThemeManager } from './themeManager';
|
||||
export { AppState } from './state';
|
||||
@@ -1,39 +0,0 @@
|
||||
export declare enum KeyboardKey {
|
||||
Tab = "Tab",
|
||||
Backspace = "Backspace",
|
||||
Up = "ArrowUp",
|
||||
Down = "ArrowDown"
|
||||
}
|
||||
export declare enum KeyboardModifier {
|
||||
Shift = "Shift",
|
||||
Ctrl = "Control",
|
||||
/** ⌘ key on Mac, ⊞ key on Windows */
|
||||
Meta = "Meta",
|
||||
Alt = "Alt"
|
||||
}
|
||||
declare enum KeyboardKeyEvent {
|
||||
Down = "KeyEventDown",
|
||||
Up = "KeyEventUp"
|
||||
}
|
||||
declare type KeyboardObserver = {
|
||||
key?: KeyboardKey | string;
|
||||
modifiers?: KeyboardModifier[];
|
||||
onKeyDown?: (event: KeyboardEvent) => void;
|
||||
onKeyUp?: (event: KeyboardEvent) => void;
|
||||
element?: HTMLElement;
|
||||
elements?: HTMLElement[];
|
||||
notElement?: HTMLElement;
|
||||
notElementIds?: string[];
|
||||
};
|
||||
export declare class KeyboardManager {
|
||||
private observers;
|
||||
private handleKeyDown;
|
||||
private handleKeyUp;
|
||||
constructor();
|
||||
deinit(): void;
|
||||
modifiersForEvent(event: KeyboardEvent): KeyboardModifier[];
|
||||
eventMatchesKeyAndModifiers(event: KeyboardEvent, key: KeyboardKey | string, modifiers?: KeyboardModifier[]): boolean;
|
||||
notifyObserver(event: KeyboardEvent, keyEvent: KeyboardKeyEvent): void;
|
||||
addKeyObserver(observer: KeyboardObserver): () => void;
|
||||
}
|
||||
export {};
|
||||
@@ -1,26 +0,0 @@
|
||||
import { WebApplication } from './../application';
|
||||
export declare class LockManager {
|
||||
private application;
|
||||
private unsubState;
|
||||
private pollFocusInterval;
|
||||
private lastFocusState?;
|
||||
private lockAfterDate?;
|
||||
private lockTimeout?;
|
||||
constructor(application: WebApplication);
|
||||
observeVisibility(): void;
|
||||
deinit(): void;
|
||||
setAutoLockInterval(interval: number): Promise<void>;
|
||||
getAutoLockInterval(): Promise<any>;
|
||||
/**
|
||||
* Verify document is in focus every so often as visibilitychange event is
|
||||
* not triggered on a typical window blur event but rather on tab changes.
|
||||
*/
|
||||
beginWebFocusPolling(): void;
|
||||
getAutoLockIntervalOptions(): {
|
||||
value: number;
|
||||
label: string;
|
||||
}[];
|
||||
documentVisibilityChanged(visible: boolean): Promise<void>;
|
||||
beginAutoLockTimer(): Promise<void>;
|
||||
cancelAutoLockTimer(): void;
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
import { SNPredicate, ApplicationService } from 'snjs';
|
||||
import { PayloadContent } from '@/../../../../snjs/dist/@types/protocol/payloads/generator';
|
||||
/** A class for handling installation of system extensions */
|
||||
export declare class NativeExtManager extends ApplicationService {
|
||||
extManagerId: string;
|
||||
batchManagerId: string;
|
||||
/** @override */
|
||||
onAppLaunch(): Promise<void>;
|
||||
get extManagerPred(): SNPredicate;
|
||||
get batchManagerPred(): SNPredicate;
|
||||
get extMgrUrl(): any;
|
||||
get batchMgrUrl(): any;
|
||||
reload(): void;
|
||||
resolveExtensionsManager(): Promise<void>;
|
||||
extensionsManagerTemplateContent(): PayloadContent;
|
||||
resolveBatchManager(): Promise<void>;
|
||||
batchManagerTemplateContent(): PayloadContent;
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
import { WebApplication } from '@/application';
|
||||
import { ApplicationService, WebPrefKey } from 'snjs';
|
||||
export declare class PreferencesManager extends ApplicationService {
|
||||
private userPreferences;
|
||||
/** @override */
|
||||
onAppLaunch(): Promise<void>;
|
||||
get webApplication(): WebApplication;
|
||||
streamPreferences(): void;
|
||||
loadSingleton(): Promise<void>;
|
||||
preferencesDidChange(): void;
|
||||
syncUserPreferences(): void;
|
||||
getValue(key: WebPrefKey, defaultValue?: any): any;
|
||||
setUserPrefValue(key: WebPrefKey, value: any, sync?: boolean): void;
|
||||
}
|
||||
@@ -1,60 +0,0 @@
|
||||
import { WebApplication } from './../application';
|
||||
import { SNTag, SNNote, SNUserPrefs } from 'snjs';
|
||||
export declare enum AppStateEvent {
|
||||
TagChanged = 1,
|
||||
NoteChanged = 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;
|
||||
selectedNote?: SNNote;
|
||||
userPreferences?: SNUserPrefs;
|
||||
constructor($rootScope: ng.IRootScopeService, $timeout: ng.ITimeoutService, application: WebApplication);
|
||||
deinit(): void;
|
||||
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;
|
||||
setSelectedNote(note?: SNNote): Promise<unknown>;
|
||||
/** 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;
|
||||
getSelectedNote(): SNNote | 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 {};
|
||||
@@ -1,17 +0,0 @@
|
||||
import { FooterStatus } from './../types';
|
||||
declare type StatusCallback = (string: string) => void;
|
||||
export declare class StatusManager {
|
||||
private statuses;
|
||||
private observers;
|
||||
statusFromString(string: string): {
|
||||
string: string;
|
||||
};
|
||||
replaceStatusWithString(status: FooterStatus, string: string): FooterStatus;
|
||||
addStatusFromString(string: string): FooterStatus;
|
||||
addStatus(status: FooterStatus): FooterStatus;
|
||||
removeStatus(status: FooterStatus): undefined;
|
||||
getStatusString(): string;
|
||||
notifyObservers(): void;
|
||||
addStatusObserver(callback: StatusCallback): () => void;
|
||||
}
|
||||
export {};
|
||||
@@ -1,21 +0,0 @@
|
||||
import { WebApplication } from '@/application';
|
||||
import { ApplicationService } from 'snjs';
|
||||
export declare class ThemeManager extends ApplicationService {
|
||||
private activeThemes;
|
||||
private unsubState;
|
||||
private unregisterDesktop;
|
||||
private unregisterComponent;
|
||||
constructor(application: WebApplication);
|
||||
get webApplication(): WebApplication;
|
||||
deinit(): void;
|
||||
/** @override */
|
||||
onAppStart(): Promise<void>;
|
||||
private activateCachedThemes;
|
||||
private registerObservers;
|
||||
deactivateAllThemes(): void;
|
||||
private activateTheme;
|
||||
private deactivateTheme;
|
||||
private cacheThemes;
|
||||
private decacheThemes;
|
||||
private getCachedThemes;
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
/** @generic */
|
||||
export declare const STRING_SESSION_EXPIRED = "Your session has expired. New changes will not be pulled in. Please sign out and sign back in to refresh your session.";
|
||||
export declare const STRING_DEFAULT_FILE_ERROR = "Please use FileSafe or the Bold Editor to attach images and files. Learn more at standardnotes.org/filesafe.";
|
||||
export declare const STRING_GENERIC_SYNC_ERROR = "There was an error syncing. Please try again. If all else fails, try signing out and signing back in.";
|
||||
export declare function StringSyncException(data: any): string;
|
||||
/** @footer */
|
||||
export declare const STRING_NEW_UPDATE_READY = "A new update is ready to install. Please use the top-level 'Updates' menu to manage installation.";
|
||||
/** @tags */
|
||||
export declare const STRING_DELETE_TAG = "Are you sure you want to delete this tag? Note: deleting a tag will not delete its notes.";
|
||||
/** @editor */
|
||||
export declare const STRING_DELETED_NOTE = "The note you are attempting to edit has been deleted, and is awaiting sync. Changes you make will be disregarded.";
|
||||
export declare const STRING_INVALID_NOTE = "The note you are attempting to save can not be found or has been deleted. Changes you make will not be synced. Please copy this note's text and start a new note.";
|
||||
export declare const STRING_ELLIPSES = "...";
|
||||
export declare const STRING_GENERIC_SAVE_ERROR = "There was an error saving your note. Please try again.";
|
||||
export declare const STRING_DELETE_PLACEHOLDER_ATTEMPT = "This note is a placeholder and cannot be deleted. To remove from your list, simply navigate to a different note.";
|
||||
export declare const STRING_DELETE_LOCKED_ATTEMPT = "This note is locked. If you'd like to delete it, unlock it, and try again.";
|
||||
export declare function StringDeleteNote(title: string, permanently: boolean): string;
|
||||
export declare function StringEmptyTrash(count: number): string;
|
||||
/** @account */
|
||||
export declare const STRING_ACCOUNT_MENU_UNCHECK_MERGE = "Unchecking this option means any of the notes you have written while you were signed out will be deleted. Are you sure you want to discard these notes?";
|
||||
export declare const STRING_SIGN_OUT_CONFIRMATION = "Are you sure you want to end your session? This will delete all local items and extensions.";
|
||||
export declare const STRING_ERROR_DECRYPTING_IMPORT = "There was an error decrypting your items. Make sure the password you entered is correct and try again.";
|
||||
export declare const STRING_E2E_ENABLED = "End-to-end encryption is enabled. Your data is encrypted on your device first, then synced to your private cloud.";
|
||||
export declare const STRING_LOCAL_ENC_ENABLED = "Encryption is enabled. Your data is encrypted using your passcode before it is saved to your device storage.";
|
||||
export declare const STRING_ENC_NOT_ENABLED = "Encryption is not enabled. Sign in, register, or add a passcode lock to enable encryption.";
|
||||
export declare const STRING_IMPORT_SUCCESS = "Your data has been successfully imported.";
|
||||
export declare const STRING_REMOVE_PASSCODE_CONFIRMATION = "Are you sure you want to remove your application passcode?";
|
||||
export declare const STRING_REMOVE_PASSCODE_OFFLINE_ADDENDUM = " This will remove encryption from your local data.";
|
||||
export declare const STRING_NON_MATCHING_PASSCODES = "The two passcodes you entered do not match. Please try again.";
|
||||
export declare const STRING_NON_MATCHING_PASSWORDS = "The two passwords you entered do not match. Please try again.";
|
||||
export declare const STRING_GENERATING_LOGIN_KEYS = "Generating Login Keys...";
|
||||
export declare const STRING_GENERATING_REGISTER_KEYS = "Generating Account Keys...";
|
||||
export declare const STRING_INVALID_IMPORT_FILE = "Unable to open file. Ensure it is a proper JSON file and try again.";
|
||||
export declare function StringImportError(errorCount: number): string;
|
||||
/** @password_change */
|
||||
export declare const STRING_FAILED_PASSWORD_CHANGE = "There was an error re-encrypting your items. Your password was changed, but not all your items were properly re-encrypted and synced. You should try syncing again. If all else fails, you should restore your notes from backup.";
|
||||
@@ -1,43 +0,0 @@
|
||||
import { SNComponent } from 'snjs';
|
||||
export declare class WebDirective implements ng.IDirective {
|
||||
controller?: string | ng.Injectable<ng.IControllerConstructor>;
|
||||
controllerAs?: string;
|
||||
bindToController?: boolean | {
|
||||
[boundProperty: string]: string;
|
||||
};
|
||||
restrict?: string;
|
||||
replace?: boolean;
|
||||
scope?: boolean | {
|
||||
[boundProperty: string]: string;
|
||||
};
|
||||
template?: string | ((tElement: any, tAttrs: any) => string);
|
||||
transclude?: boolean;
|
||||
}
|
||||
export declare enum PasswordWizardType {
|
||||
ChangePassword = 1,
|
||||
AccountUpgrade = 2
|
||||
}
|
||||
export interface PasswordWizardScope extends Partial<ng.IScope> {
|
||||
type: PasswordWizardType;
|
||||
application: any;
|
||||
}
|
||||
export interface PermissionsModalScope extends Partial<ng.IScope> {
|
||||
application: any;
|
||||
component: SNComponent;
|
||||
permissionsString: string;
|
||||
callback: (approved: boolean) => void;
|
||||
}
|
||||
export interface ModalComponentScope extends Partial<ng.IScope> {
|
||||
component: SNComponent;
|
||||
}
|
||||
export declare type PanelPuppet = {
|
||||
onReady?: () => void;
|
||||
ready?: boolean;
|
||||
setWidth?: (width: number) => void;
|
||||
setLeft?: (left: number) => void;
|
||||
isCollapsed?: () => boolean;
|
||||
flash?: () => void;
|
||||
};
|
||||
export declare type FooterStatus = {
|
||||
string: string;
|
||||
};
|
||||
@@ -1,8 +0,0 @@
|
||||
export declare function getParameterByName(name: string, url: string): string | null;
|
||||
export declare function isNullOrUndefined(value: any): boolean;
|
||||
export declare function dictToArray(dict: any): any[];
|
||||
export declare function getPlatformString(): string;
|
||||
export declare function dateToLocalizedString(date: Date): string;
|
||||
/** Via https://davidwalsh.name/javascript-debounce-function */
|
||||
export declare function debounce(this: any, func: any, wait: number, immediate?: boolean): () => void;
|
||||
export declare function isDesktopApplication(): any;
|
||||
@@ -1,29 +0,0 @@
|
||||
import { DeviceInterface, SNApplication } from 'snjs';
|
||||
export declare class WebDeviceInterface extends DeviceInterface {
|
||||
private database;
|
||||
constructor(namespace: string, timeout: any);
|
||||
setApplication(application: SNApplication): void;
|
||||
deinit(): void;
|
||||
getRawStorageValue(key: string): Promise<string | null>;
|
||||
getAllRawStorageKeyValues(): Promise<{
|
||||
key: string;
|
||||
value: any;
|
||||
}[]>;
|
||||
setRawStorageValue(key: string, value: any): Promise<void>;
|
||||
removeRawStorageValue(key: string): Promise<void>;
|
||||
removeAllRawStorageValues(): Promise<void>;
|
||||
openDatabase(): Promise<{
|
||||
isNewDatabase?: boolean | undefined;
|
||||
} | undefined>;
|
||||
private getDatabaseKeyPrefix;
|
||||
private keyForPayloadId;
|
||||
getAllRawDatabasePayloads(): Promise<any[]>;
|
||||
saveRawDatabasePayload(payload: any): Promise<void>;
|
||||
saveRawDatabasePayloads(payloads: any[]): Promise<void>;
|
||||
removeRawDatabasePayloadWithId(id: string): Promise<void>;
|
||||
removeAllRawDatabasePayloads(): Promise<void>;
|
||||
getKeychainValue(): Promise<any>;
|
||||
setKeychainValue(value: any): Promise<void>;
|
||||
clearKeychainValue(): Promise<void>;
|
||||
openUrl(url: string): void;
|
||||
}
|
||||
@@ -1,242 +0,0 @@
|
||||
/**
|
||||
* @ngdoc module
|
||||
* @name ngSanitize
|
||||
* @description
|
||||
*
|
||||
* The `ngSanitize` module provides functionality to sanitize HTML.
|
||||
*
|
||||
* See {@link ngSanitize.$sanitize `$sanitize`} for usage.
|
||||
*/
|
||||
/**
|
||||
* @ngdoc service
|
||||
* @name $sanitize
|
||||
* @kind function
|
||||
*
|
||||
* @description
|
||||
* Sanitizes an html string by stripping all potentially dangerous tokens.
|
||||
*
|
||||
* The input is sanitized by parsing the HTML into tokens. All safe tokens (from a whitelist) are
|
||||
* then serialized back to a properly escaped HTML string. This means that no unsafe input can make
|
||||
* it into the returned string.
|
||||
*
|
||||
* The whitelist for URL sanitization of attribute values is configured using the functions
|
||||
* `aHrefSanitizationWhitelist` and `imgSrcSanitizationWhitelist` of {@link $compileProvider}.
|
||||
*
|
||||
* The input may also contain SVG markup if this is enabled via {@link $sanitizeProvider}.
|
||||
*
|
||||
* @param {string} html HTML input.
|
||||
* @returns {string} Sanitized HTML.
|
||||
*
|
||||
* @example
|
||||
<example module="sanitizeExample" deps="angular-sanitize.js" name="sanitize-service">
|
||||
<file name="index.html">
|
||||
<script>
|
||||
angular.module('sanitizeExample', ['ngSanitize'])
|
||||
.controller('ExampleController', ['$scope', '$sce', function($scope, $sce) {
|
||||
$scope.snippet =
|
||||
'<p style="color:blue">an html\n' +
|
||||
'<em onmouseover="this.textContent=\'PWN3D!\'">click here</em>\n' +
|
||||
'snippet</p>';
|
||||
$scope.deliberatelyTrustDangerousSnippet = function() {
|
||||
return $sce.trustAsHtml($scope.snippet);
|
||||
};
|
||||
}]);
|
||||
</script>
|
||||
<div ng-controller="ExampleController">
|
||||
Snippet: <textarea ng-model="snippet" cols="60" rows="3"></textarea>
|
||||
<table>
|
||||
<tr>
|
||||
<td>Directive</td>
|
||||
<td>How</td>
|
||||
<td>Source</td>
|
||||
<td>Rendered</td>
|
||||
</tr>
|
||||
<tr id="bind-html-with-sanitize">
|
||||
<td>ng-bind-html</td>
|
||||
<td>Automatically uses $sanitize</td>
|
||||
<td><pre><div ng-bind-html="snippet"><br/></div></pre></td>
|
||||
<td><div ng-bind-html="snippet"></div></td>
|
||||
</tr>
|
||||
<tr id="bind-html-with-trust">
|
||||
<td>ng-bind-html</td>
|
||||
<td>Bypass $sanitize by explicitly trusting the dangerous value</td>
|
||||
<td>
|
||||
<pre><div ng-bind-html="deliberatelyTrustDangerousSnippet()">
|
||||
</div></pre>
|
||||
</td>
|
||||
<td><div ng-bind-html="deliberatelyTrustDangerousSnippet()"></div></td>
|
||||
</tr>
|
||||
<tr id="bind-default">
|
||||
<td>ng-bind</td>
|
||||
<td>Automatically escapes</td>
|
||||
<td><pre><div ng-bind="snippet"><br/></div></pre></td>
|
||||
<td><div ng-bind="snippet"></div></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</file>
|
||||
<file name="protractor.js" type="protractor">
|
||||
it('should sanitize the html snippet by default', function() {
|
||||
expect(element(by.css('#bind-html-with-sanitize div')).getAttribute('innerHTML')).
|
||||
toBe('<p>an html\n<em>click here</em>\nsnippet</p>');
|
||||
});
|
||||
|
||||
it('should inline raw snippet if bound to a trusted value', function() {
|
||||
expect(element(by.css('#bind-html-with-trust div')).getAttribute('innerHTML')).
|
||||
toBe("<p style=\"color:blue\">an html\n" +
|
||||
"<em onmouseover=\"this.textContent='PWN3D!'\">click here</em>\n" +
|
||||
"snippet</p>");
|
||||
});
|
||||
|
||||
it('should escape snippet without any filter', function() {
|
||||
expect(element(by.css('#bind-default div')).getAttribute('innerHTML')).
|
||||
toBe("<p style=\"color:blue\">an html\n" +
|
||||
"<em onmouseover=\"this.textContent='PWN3D!'\">click here</em>\n" +
|
||||
"snippet</p>");
|
||||
});
|
||||
|
||||
it('should update', function() {
|
||||
element(by.model('snippet')).clear();
|
||||
element(by.model('snippet')).sendKeys('new <b onclick="alert(1)">text</b>');
|
||||
expect(element(by.css('#bind-html-with-sanitize div')).getAttribute('innerHTML')).
|
||||
toBe('new <b>text</b>');
|
||||
expect(element(by.css('#bind-html-with-trust div')).getAttribute('innerHTML')).toBe(
|
||||
'new <b onclick="alert(1)">text</b>');
|
||||
expect(element(by.css('#bind-default div')).getAttribute('innerHTML')).toBe(
|
||||
"new <b onclick=\"alert(1)\">text</b>");
|
||||
});
|
||||
</file>
|
||||
</example>
|
||||
*/
|
||||
/**
|
||||
* @ngdoc provider
|
||||
* @name $sanitizeProvider
|
||||
* @this
|
||||
*
|
||||
* @description
|
||||
* Creates and configures {@link $sanitize} instance.
|
||||
*/
|
||||
declare function $SanitizeProvider(): void;
|
||||
declare class $SanitizeProvider {
|
||||
$get: (string | (($$sanitizeUri: any) => (html: any) => string))[];
|
||||
/**
|
||||
* @ngdoc method
|
||||
* @name $sanitizeProvider#enableSvg
|
||||
* @kind function
|
||||
*
|
||||
* @description
|
||||
* Enables a subset of svg to be supported by the sanitizer.
|
||||
*
|
||||
* <div class="alert alert-warning">
|
||||
* <p>By enabling this setting without taking other precautions, you might expose your
|
||||
* application to click-hijacking attacks. In these attacks, sanitized svg elements could be positioned
|
||||
* outside of the containing element and be rendered over other elements on the page (e.g. a login
|
||||
* link). Such behavior can then result in phishing incidents.</p>
|
||||
*
|
||||
* <p>To protect against these, explicitly setup `overflow: hidden` css rule for all potential svg
|
||||
* tags within the sanitized content:</p>
|
||||
*
|
||||
* <br>
|
||||
*
|
||||
* <pre><code>
|
||||
* .rootOfTheIncludedContent svg {
|
||||
* overflow: hidden !important;
|
||||
* }
|
||||
* </code></pre>
|
||||
* </div>
|
||||
*
|
||||
* @param {boolean=} flag Enable or disable SVG support in the sanitizer.
|
||||
* @returns {boolean|$sanitizeProvider} Returns the currently configured value if called
|
||||
* without an argument or self for chaining otherwise.
|
||||
*/
|
||||
enableSvg: (enableSvg: any) => any;
|
||||
/**
|
||||
* @ngdoc method
|
||||
* @name $sanitizeProvider#addValidElements
|
||||
* @kind function
|
||||
*
|
||||
* @description
|
||||
* Extends the built-in lists of valid HTML/SVG elements, i.e. elements that are considered safe
|
||||
* and are not stripped off during sanitization. You can extend the following lists of elements:
|
||||
*
|
||||
* - `htmlElements`: A list of elements (tag names) to extend the current list of safe HTML
|
||||
* elements. HTML elements considered safe will not be removed during sanitization. All other
|
||||
* elements will be stripped off.
|
||||
*
|
||||
* - `htmlVoidElements`: This is similar to `htmlElements`, but marks the elements as
|
||||
* "void elements" (similar to HTML
|
||||
* [void elements](https://rawgit.com/w3c/html/html5.1-2/single-page.html#void-elements)). These
|
||||
* elements have no end tag and cannot have content.
|
||||
*
|
||||
* - `svgElements`: This is similar to `htmlElements`, but for SVG elements. This list is only
|
||||
* taken into account if SVG is {@link ngSanitize.$sanitizeProvider#enableSvg enabled} for
|
||||
* `$sanitize`.
|
||||
*
|
||||
* <div class="alert alert-info">
|
||||
* This method must be called during the {@link angular.Module#config config} phase. Once the
|
||||
* `$sanitize` service has been instantiated, this method has no effect.
|
||||
* </div>
|
||||
*
|
||||
* <div class="alert alert-warning">
|
||||
* Keep in mind that extending the built-in lists of elements may expose your app to XSS or
|
||||
* other vulnerabilities. Be very mindful of the elements you add.
|
||||
* </div>
|
||||
*
|
||||
* @param {Array<String>|Object} elements - A list of valid HTML elements or an object with one or
|
||||
* more of the following properties:
|
||||
* - **htmlElements** - `{Array<String>}` - A list of elements to extend the current list of
|
||||
* HTML elements.
|
||||
* - **htmlVoidElements** - `{Array<String>}` - A list of elements to extend the current list of
|
||||
* void HTML elements; i.e. elements that do not have an end tag.
|
||||
* - **svgElements** - `{Array<String>}` - A list of elements to extend the current list of SVG
|
||||
* elements. The list of SVG elements is only taken into account if SVG is
|
||||
* {@link ngSanitize.$sanitizeProvider#enableSvg enabled} for `$sanitize`.
|
||||
*
|
||||
* Passing an array (`[...]`) is equivalent to passing `{htmlElements: [...]}`.
|
||||
*
|
||||
* @return {$sanitizeProvider} Returns self for chaining.
|
||||
*/
|
||||
addValidElements: (elements: Object | string[]) => any;
|
||||
/**
|
||||
* @ngdoc method
|
||||
* @name $sanitizeProvider#addValidAttrs
|
||||
* @kind function
|
||||
*
|
||||
* @description
|
||||
* Extends the built-in list of valid attributes, i.e. attributes that are considered safe and are
|
||||
* not stripped off during sanitization.
|
||||
*
|
||||
* **Note**:
|
||||
* The new attributes will not be treated as URI attributes, which means their values will not be
|
||||
* sanitized as URIs using `$compileProvider`'s
|
||||
* {@link ng.$compileProvider#aHrefSanitizationWhitelist aHrefSanitizationWhitelist} and
|
||||
* {@link ng.$compileProvider#imgSrcSanitizationWhitelist imgSrcSanitizationWhitelist}.
|
||||
*
|
||||
* <div class="alert alert-info">
|
||||
* This method must be called during the {@link angular.Module#config config} phase. Once the
|
||||
* `$sanitize` service has been instantiated, this method has no effect.
|
||||
* </div>
|
||||
*
|
||||
* <div class="alert alert-warning">
|
||||
* Keep in mind that extending the built-in list of attributes may expose your app to XSS or
|
||||
* other vulnerabilities. Be very mindful of the attributes you add.
|
||||
* </div>
|
||||
*
|
||||
* @param {Array<String>} attrs - A list of valid attributes.
|
||||
*
|
||||
* @returns {$sanitizeProvider} Returns self for chaining.
|
||||
*/
|
||||
addValidAttrs: (attrs: string[]) => any;
|
||||
}
|
||||
declare function sanitizeText(chars: any): string;
|
||||
declare var $sanitizeMinErr: any;
|
||||
declare var bind: any;
|
||||
declare var extend: any;
|
||||
declare var forEach: any;
|
||||
declare var isArray: any;
|
||||
declare var isDefined: any;
|
||||
declare var lowercase: any;
|
||||
declare var noop: any;
|
||||
declare var nodeContains: any;
|
||||
declare var htmlParser: any;
|
||||
declare var htmlSanitizeWriter: any;
|
||||
@@ -8,19 +8,13 @@
|
||||
"isolatedModules": true,
|
||||
"esModuleInterop": true,
|
||||
"declaration": true,
|
||||
"declarationDir": "@types",
|
||||
"emitDeclarationOnly": true,
|
||||
"declarationDir": "../../../dist/@types",
|
||||
"baseUrl": ".",
|
||||
"typeRoots": [
|
||||
"node_modules/@types",
|
||||
"node_modules/snjs/dist/@types/index.d.ts"
|
||||
],
|
||||
"paths": {
|
||||
"%/*": ["../templates/*"],
|
||||
"@/*": ["./*"],
|
||||
"@Controllers/*": ["./controllers/*"]
|
||||
}
|
||||
},
|
||||
"include": ["."],
|
||||
"exclude": ["node_modules", "dist", "./@types"]
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user