UNPKG

nakedobjects.spa

Version:

Single Page Application client for a Naked Objects application.

119 lines (118 loc) 8.04 kB
/// <reference types="lodash" /> import { InteractionMode, PaneRouteData, Pane, CollectionViewState } from './route-data'; import { UrlManagerService } from './url-manager.service'; import { RepLoaderService } from './rep-loader.service'; import * as Models from './models'; import { IDraggableViewModel } from './view-models/idraggable-view-model'; import { ConfigService } from './config.service'; import { LoggerService } from './logger.service'; import { Dictionary } from 'lodash'; import { Observable } from 'rxjs/Observable'; export declare class ContextService { private readonly urlManager; private readonly repLoader; private readonly configService; private readonly loggerService; clearingDataFlag: boolean; constructor(urlManager: UrlManagerService, repLoader: RepLoaderService, configService: ConfigService, loggerService: LoggerService); private readonly keySeparator; private currentObjects; private transientCache; private currentMenuList; private currentServices; private currentMenus; private currentVersion; private currentUser; private readonly recentcache; private readonly dirtyList; private currentLists; private readonly parameterCache; private readonly objectEditCache; getFile: (object: Models.DomainObjectRepresentation, url: string, mt: string) => Promise<Blob>; setFile: (object: Models.DomainObjectRepresentation, url: string, mt: string, file: Blob) => Promise<boolean>; clearCachedFile: (url: string) => void; clearCachedCollections(obj: Models.DomainObjectRepresentation): void; getDomainObject: (paneId: Pane, oid: Models.ObjectIdWrapper, interactionMode: InteractionMode) => Promise<Models.DomainObjectRepresentation>; private editOrReloadObject(paneId, object, inlineDetails); getIsDirty: (oid: Models.ObjectIdWrapper) => boolean; mustReload: (oid: Models.ObjectIdWrapper) => boolean; getObjectForEdit: (paneId: Pane, object: Models.DomainObjectRepresentation) => Promise<Models.DomainObjectRepresentation>; reloadObject: (paneId: Pane, object: Models.DomainObjectRepresentation) => Promise<Models.DomainObjectRepresentation>; getService: (paneId: Pane, serviceType: string) => Promise<Models.DomainObjectRepresentation>; getActionDetails: (actionMember: Models.ActionMember) => Promise<Models.ActionRepresentation>; getCollectionDetails: (collectionMember: Models.CollectionMember, state: CollectionViewState, ignoreCache: boolean) => Promise<Models.CollectionRepresentation>; getInvokableAction: (action: Models.ActionRepresentation | Models.ActionMember) => Promise<Models.ActionRepresentation | Models.InvokableActionMember>; getMenu: (menuId: string) => Promise<Models.MenuRepresentation>; private pendingClearMessages; private pendingClearWarnings; clearMessages: () => void; clearWarnings: () => void; broadcastMessage: (m: string) => void; broadcastWarning: (w: string) => void; getHome: () => Promise<Models.HomePageRepresentation>; getServices: () => Promise<Models.DomainServicesRepresentation>; getMenus: () => Promise<Models.MenusRepresentation>; getVersion: () => Promise<Models.VersionRepresentation>; getUser: () => Promise<Models.UserRepresentation>; getObject: (paneId: Pane, oid: Models.ObjectIdWrapper, interactionMode: InteractionMode) => Promise<Models.DomainObjectRepresentation>; getCachedList: (paneId: Pane, page: number, pageSize: number) => Models.ListRepresentation | null; clearCachedList: (paneId: Pane, page: number, pageSize: number) => void; private cacheList(list, index); private handleResult; private getList; getActionExtensionsFromMenu: (menuId: string, actionId: string) => Promise<Models.Extensions>; getActionExtensionsFromObject: (paneId: Pane, oid: Models.ObjectIdWrapper, actionId: string) => Promise<Models.Extensions>; private getPagingParms(page, pageSize); getListFromMenu: (routeData: PaneRouteData, page?: number | undefined, pageSize?: number | undefined) => Promise<Models.ListRepresentation>; getListFromObject: (routeData: PaneRouteData, page?: number | undefined, pageSize?: number | undefined) => Promise<Models.ListRepresentation>; setObject: (paneId: Pane, co: Models.DomainObjectRepresentation) => Models.DomainObjectRepresentation; swapCurrentObjects: () => void; private currentError; getError: () => Models.ErrorWrapper | null; setError: (e: Models.ErrorWrapper) => Models.ErrorWrapper; private previousUrl; getPreviousUrl: () => string | null; setPreviousUrl: (url: string) => string; private doPrompt; autoComplete: (field: Models.IField, id: string, objectValues: () => Dictionary<Models.Value>, searchTerm: string, digest?: string | null | undefined) => Promise<Dictionary<Models.Value> | null>; conditionalChoices: (field: Models.IField, id: string, objectValues: () => Dictionary<Models.Value>, args: Dictionary<Models.Value>, digest?: string | null | undefined) => Promise<Dictionary<Models.Value> | null>; private nextTransientId; setResult: (action: Models.ActionRepresentation | Models.InvokableActionMember, result: Models.ActionResultRepresentation, fromPaneId: number, toPaneId: number, page: number, pageSize: number) => void; private pendingPotentActionCount; incPendingPotentActionOrReload(paneId: Pane): void; decPendingPotentActionOrReload(paneId: Pane): void; isPendingPotentActionOrReload(paneId: Pane): boolean; private warningsSource; private messagesSource; warning$: Observable<string[]>; messages$: Observable<string[]>; private setMessages(result); private copiedViewModelSource; copiedViewModel$: Observable<IDraggableViewModel>; private copiedViewModel; setCopyViewModel(dvm: IDraggableViewModel | null): void; getCopyViewModel(): IDraggableViewModel | null; private concurrencyErrorSource; concurrencyError$: Observable<Models.ObjectIdWrapper>; setConcurrencyError(oid: Models.ObjectIdWrapper): void; private invokeActionInternal(invokeMap, action, fromPaneId, toPaneId, setDirty, gotoResult?); private getSetDirtyFunction(action, parms); invokeAction: (action: Models.ActionRepresentation | Models.InvokableActionMember, parms: Dictionary<Models.Value>, fromPaneId?: number, toPaneId?: number, gotoResult?: boolean) => Promise<Models.ActionResultRepresentation>; private setNewObject(updatedObject, paneId, viewSavedObject); updateObject: (object: Models.DomainObjectRepresentation, props: Dictionary<Models.Value>, paneId: Pane, viewSavedObject: boolean) => Promise<Models.DomainObjectRepresentation>; saveObject: (object: Models.DomainObjectRepresentation, props: Dictionary<Models.Value>, paneId: Pane, viewSavedObject: boolean) => Promise<Models.DomainObjectRepresentation>; validateUpdateObject: (object: Models.DomainObjectRepresentation, props: Dictionary<Models.Value>) => Promise<boolean>; validateSaveObject: (object: Models.DomainObjectRepresentation, props: Dictionary<Models.Value>) => Promise<boolean>; private subTypeCache; isSubTypeOf: (toCheckType: string, againstType: string) => Promise<boolean>; private cacheRecentlyViewed(obj); getRecentlyViewed: () => Models.DomainObjectRepresentation[]; clearRecentlyViewed: () => void; private logoff(); cacheFieldValue: (dialogId: string, pid: string, pv: Models.Value, paneId?: Pane) => void; getDialogCachedValues: (dialogId?: string | null, paneId?: Pane) => Dictionary<Models.Value>; getObjectCachedValues: (objectId?: string | null, paneId?: Pane) => Dictionary<Models.Value>; clearDialogCachedValues: (paneId?: Pane) => void; clearObjectCachedValues: (paneId?: Pane) => void; cachePropertyValue: (obj: Models.DomainObjectRepresentation, p: Models.PropertyMember, pv: Models.Value, paneId?: Pane) => void; }