UNPKG

nakedobjects.spa

Version:

Single Page Application client for a Naked Objects application.

124 lines (123 loc) 6.36 kB
/// <reference types="lodash" /> import { RouteData, PaneRouteData, InteractionMode, CollectionViewState, ViewType, Pane } from './route-data'; import { Observable } from 'rxjs/Observable'; import { Router } from '@angular/router'; import { Location } from '@angular/common'; import { ConfigService } from './config.service'; import { LoggerService } from './logger.service'; import { Dictionary } from 'lodash'; import * as Models from "./models"; import * as Constants from './constants'; export declare class UrlManagerService { private readonly router; private readonly location; private readonly configService; private readonly loggerService; constructor(router: Router, location: Location, configService: ConfigService, loggerService: LoggerService); private readonly shortCutMarker; private readonly urlShortCuts; private readonly keySeparator; private capturedPanes; private currentPaneId; private createSubMask(arr); private createArrays(arr, arrays?); private createMask(arr); private arrayFromSubMask(sMask); private arrayFromMask(sMask); private getSearch(); private getPath(); private setNewSearch(result); private getIds(typeOfId, paneId); private mapIds(ids); private getAndMapIds(typeOfId, paneId); private getMappedValues(mappedIds); private getInteractionMode(rawInteractionMode); private getPaneParams(params, paneId); private setPaneRouteDataFromParms(paneRouteData, paneId, routeParams); private setPaneRouteData(paneRouteData, paneId); private isSinglePane(); private searchKeysForPane(search, paneId, raw); private allSearchKeysForPane(search, paneId); private clearPane(search, paneId); private clearSearchKeys(search, paneId, keys); private paneIsAlwaysSingle(paneType); private setupPaneNumberAndTypes(pane, newPaneType, newMode?); private capturePane(paneId); private getOidFromHref(href); private getPidFromHref(href); private setValue(paneId, search, p, pv, valueType); private setParameter(paneId, search, p, pv); private getId(key, search); private setId(key, id, search); private clearId(key, search); private validKeysForHome(); private validKeysForObject(); private validKeysForMultiLineDialog(); private validKeysForList(); private validKeysForAttachment(); private validKeys(path); private clearInvalidParmsFromSearch(paneId, search, path); private handleTransition(paneId, search, transition); private executeTransition(newValues, paneId, transition, condition); setHome: (paneId?: Pane) => void; setRecent: (paneId?: Pane) => void; setMenu: (menuId: string, paneId?: Pane) => void; setDialog: (dialogId: string, paneId?: Pane) => void; setMultiLineDialog: (dialogId: string, paneId: Pane) => void; setDialogOrMultiLineDialog: (actionRep: Models.ActionRepresentation | Models.ActionMember, paneId?: Pane) => void; private closeOrCancelDialog(id, paneId, transition); closeDialogKeepHistory: (id: string, paneId?: Pane) => void; closeDialogReplaceHistory: (id: string, paneId?: Pane) => void; setObject: (resultObject: Models.DomainObjectRepresentation, paneId?: Pane) => void; setObjectWithMode: (resultObject: Models.DomainObjectRepresentation, newMode: InteractionMode, paneId?: Pane) => void; setList: (actionMember: Models.ActionRepresentation | Models.InvokableActionMember, parms: Dictionary<Models.Value>, fromPaneId?: Pane, toPaneId?: Pane) => Dictionary<string>; setProperty: (href: string, paneId?: Pane) => void; setItem: (link: Models.Link, paneId?: Pane) => void; setAttachment: (attachmentlink: Models.Link, paneId?: Pane) => void; toggleObjectMenu: (paneId?: Pane) => void; private checkAndSetValue(paneId, check, set); setParameterValue: (actionId: string, p: Models.Parameter, pv: Models.Value, paneId?: Pane) => void; setCollectionMemberState: (collectionMemberId: string, state: CollectionViewState, paneId?: Pane) => void; setListState: (state: CollectionViewState, paneId?: Pane) => void; setInteractionMode: (newMode: InteractionMode, paneId?: Pane) => void; setItemSelected: (item: number, isSelected: boolean, collectionId: string, paneId?: Pane) => void; setAllItemsSelected: (isSelected: boolean, collectionId: string, paneId?: Pane) => void; setListPaging: (newPage: number, newPageSize: number, state: CollectionViewState, paneId?: Pane) => void; setError: (errorCategory: Models.ErrorCategory, ec?: Models.HttpStatusCode | Models.ClientErrorCode | undefined) => void; getRouteData: () => RouteData; getViewType(view: string): ViewType; getPaneRouteDataObservable: (paneId: Pane) => Observable<PaneRouteData>; pushUrlState: (paneId?: Pane) => void; getUrlState: (paneId?: Pane) => { paneType: Constants.PathSegment; search: {}; }; getListCacheIndexFromSearch: (search: Dictionary<string>, paneId: Pane, newPage: number, newPageSize: number, format?: CollectionViewState | undefined) => string; getListCacheIndex: (paneId: Pane, newPage: number, newPageSize: number, format?: CollectionViewState | undefined) => string; popUrlState: (paneId?: Pane) => void; clearUrlState: (paneId: Pane) => void; private swapSearchIds(search); swapPanes: () => void; private setMode(newMode); private getMode(); cicero: () => void; gemini: () => void; isGemini: () => boolean; applicationProperties: () => void; logoff: () => void; currentpane: () => Pane; setHomeSinglePane: () => void; singlePane: (paneId?: Pane) => void; private getLocation(paneId); private isLocation(paneId, location); isHome: (paneId?: Pane) => boolean; isObject: (paneId?: Pane) => boolean; isList: (paneId?: Pane) => boolean; isError: (paneId?: Pane) => boolean; isRecent: (paneId?: Pane) => boolean; isAttachment: (paneId?: Pane) => boolean; isApplicationProperties: (paneId?: Pane) => boolean; isMultiLineDialog: (paneId?: Pane) => boolean; private toggleReloadFlag(search, paneId); triggerPageReloadByFlippingReloadFlagInUrl: (paneId?: Pane) => void; }