import { ClientSettingsService } from './ClientSettingsService'; import { WidgetGroup } from '../interfaces/UserInterfaces'; import { TemplateRef } from '@angular/core'; import { ActivatedRoute, Router, Params } from '@angular/router'; import { BehaviorSubject } from 'rxjs/BehaviorSubject'; import { Subject } from 'rxjs/Subject'; import { Subscription } from 'rxjs/Rx'; import 'rxjs/add/operator/share'; import { UsageCounter } from '../interfaces/UserInterfaces'; import { BsModalService } from 'ngx-bootstrap/modal'; import { BsModalRef } from 'ngx-bootstrap/modal/bs-modal-ref.service'; import { DataConsumerConfiguration, ManagedDataReply, WidgetConfiguration } from '../interfaces/WidgetInterfaces'; import { WebPlatformApiService } from './WebPlatformApiService'; import { AppStateService } from './AppStateService'; import { AppDisplayState, SideNavWidgetConfig, DataRequestReply, DataRequestError, WebSocketData } from '../interfaces/DisplayInterfaces'; import { ObjectDiffFinderService } from './ObjectDiffFinderService'; export declare class DisplayStateService { private webPlatformApiService; private appStateService; private route; private router; private clientSettingsService; modalService: BsModalService; private objectDiffFinderService; /** * There are two ways that the display can be changed - query parameters or user clicks and input. All changes are processed * through the same pipeline - turned into parameters, passed through the router navigate() method, and then processed as * new parameters. There is a problem where the navigate() method wont raise an event to listen to if only certain parameters * change, so this is a flag that lets the logic bypass handling post navigate() event so that it's only fired if the user * actually changes the url query parameters in the browser */ ignoreRouting: boolean; private _ready; AppStateChanged: BehaviorSubject; MessageHouse: Subject; DataAvailable: Subject; DataError: Subject; Toast: Subject; SuccessToast: Subject; WarnToast: Subject; ErrorToast: Subject; modalRef: BsModalRef; widgetContainer: TemplateRef; appState: AppDisplayState; qpSubscription: Subscription; constructor(webPlatformApiService: WebPlatformApiService, appStateService: AppStateService, route: ActivatedRoute, router: Router, clientSettingsService: ClientSettingsService, modalService: BsModalService, objectDiffFinderService: ObjectDiffFinderService); Log(logLevel: number, message: string, params?: Params): void; SetWidgetPreferencesObject(uniqueWidgetKey: string, value: any): void; SetWidgetPreferencesString(uniqueWidgetKey: string, value: string): void; GetWidgetPreferencesObject(uniqueWidgetKey: string): any; GetWidgetPreferencesString(uniqueWidgetKey: string): string; GetPreferredSettingsUser(): void; GetAllPreferredSettings(): WidgetGroup[]; GetPreferredSettings(contextKey: string): WidgetGroup[]; SetPreferredSettings(contextKey: string, newSettings: WidgetGroup[]): void; ClearLocalCache(): void; LoadWidgetConfigList(): void; AddRequiredWidgets(): void; AddRequiredWidgetsTo(existing: WidgetConfiguration[]): WidgetConfiguration[]; AddRequiredSideNavTo(existing: SideNavWidgetConfig): void; LoadSideNavConfigList(): void; private handleSideNavSetup(); private setSideNav(name); SetWidgetInternalSideNav(name: string, componentType: string): void; RemoveWidgetsInternalSideNav(): void; EnablePrintMode(printMode: boolean): void; ExistingParams(): Params; RouteWidgetsPerRow(count: string): void; RouteSideNavFilter(filter: string): void; RouteSideNav(name: string): void; SetFullScreen(fullScreen: boolean): void; SetSideNavVisible(visible: boolean): void; ToggleNavDisplay(): void; ToggleBreadcrumb(): void; RouteSideNavDisplay(display: string): void; RouteBreadcrumb(display: string): void; RemoveSort(keyToRemove: string): void; UserStatsIncrement(usageCounterList: UsageCounter[], key: string, autosave?: boolean): void; Ready(): boolean; SetUser(user: adal.User): void; SetAppTitle(title: string): void; SaveUserStats(): void; SetSorts(Sorts: Params): void; AddSorts(newSorts: Params): void; AddSort(name: string, value: string): void; RemoveFilter(keyToRemove: string): void; SetFilters(filters: Params): void; AddFilters(newFilters: Params): void; AddFilter(name: string, value: string): void; RemoveContext(keyToRemove: string): void; SetContext(newContext: Params): void; AddContextList(newContext: Params): void; AddContext(name: string, value: string): void; DoContextHist(newContext: Params): void; RouteFromQueryParamString(qpString: string): void; Route(newParams: Params): void; ProcessParams(queryParams: Params): void; SetWidthClass(perRow: string): void; SetSideNavFilter(filter: string): void; private differentParams(a, b); GetDataConsumerConfigKey(dataConsumerConfig: DataConsumerConfiguration): string; GetCustomHeaders(dataConsumerConfig: DataConsumerConfiguration): string; GetParams(dataConsumerConfig: DataConsumerConfiguration): Params; RequestWidgetData(config: WidgetConfiguration): DataRequestReply; UpdateWidgetConfigColumns(widgetName: string, dataConsumerConfig: DataConsumerConfiguration, reply: ManagedDataReply): void; RequestData(widgetName: string, dataConsumerConfig: DataConsumerConfiguration): DataRequestReply; SendData(widgetName: string, dataConsumerConfig: DataConsumerConfiguration, dataToSend: any): DataRequestReply; GetWebSocketDataObj(dataConsumerConfig: DataConsumerConfiguration): WebSocketData; UpdateUriWithContextVars(uri: string, context: object, dataPolicyName: string): string; RaiseToast(message: string): void; RaiseSuccessToast(message: string): void; RaiseWarnToast(message: string): void; RaiseErrorToast(message: string): void; GroupedWidgets(): WidgetGroup[]; OpenModal(template: any, customClass: any): BsModalRef; HideModal(template: BsModalRef): void; GetJsonDiffHtml(db: any, user: any): any; IsByDefaultSideNav(name: any): boolean; IsByDefaultWidget(name: any): boolean; } export declare class Events { static APPLICATION_READY: string; static SIDE_NAV_CHANGED: string; static SIDE_NAV_DISPLAYED_CHANGED: string; static BREADCRUMB_DISPLAYED_CHANGED: string; static SIDE_NAV_FILTER_CHANGED: string; static CURRENT_CONTEXT_CHANGED: string; static CURRENT_SORTS_CHANGED: string; static CURRENT_FILTERS_CHANGED: string; static WIDGET_CONFIG_LIST_CHANGED: string; static WIDTH_CLASS_CHANGED: string; static USER_CHANGED: string; static MESSAGE_PUBLISHED: string; static PREFERRED_SETTINGS_CHANGED: string; static PRINT_PREVIEW_MODE: string; static TITLE_CHANGED: string; } export declare class UrlConstants { static SIDENAV_NAME: string; static SIDENAV_FILTER: string; static SIDENAV_SHOW: string; static BREADCRUMB_SHOW: string; static WIDGETS_PER_ROW: string; } export declare class CacheConstants { static DEFAULT: string; static NEVER: string; static PERMANENT: string; }