interface INavigationNode {
    _inheritingObservers: boolean;
    _url: string;
    delete: ((this: ISPQueryable<any>) => Promise<void>);
    InternalPromise: symbol;
    InternalReject: symbol;
    InternalResolve: symbol;
    moments: {
        auth: ((observers: QueryableAuthObserver[], url: URL, init: RequestInit) => Promise<[url: URL, init: RequestInit]>);
        construct: ((observers: QueryableConstructObserver[], init: QueryableInit, path?: string) => Timeline<any>);
        data: ((observers: QueryableDataObserver<any>[], ...args: any[]) => void);
        parse: ((observers: QueryableParseObserver[], url: URL, response: Response, result: any) => Promise<[url: URL, response: Response, result: any]>);
        post: ((observers: QueryablePostObserver[], url: URL, result: any) => Promise<[url: URL, result: any]>);
        pre: ((observers: QueryablePreObserver[], url: string, init: RequestInit, result: any) => Promise<[url: string, init: RequestInit, result: any]>);
        send: ((observers: QueryableSendObserver[], url: URL, init: RequestInit) => Promise<Promise<Response>>);
    };
    observers: ObserverCollection;
    parentUrl: string;
    get children(): INavigationNodes;
    get emit(): EmitProxyType<T>;
    get on(): OnProxyType<T>;
    get query(): URLSearchParams;
    cloneObserversOnChange(): void;
    concat(pathPart: string): this;
    error(e?: any): void;
    execute(userInit: RequestInit): Promise<void>;
    expand(...expands: string[]): this;
    getContextInfo(path?: string): Promise<IContextInfo>;
    getParent<T>(factory: ISPInvokableFactory<any>, path?: string, base?: string): T;
    log(message: string, level?: number): void;
    select(...selects: string[]): this;
    start(init?: any): Promise<any>;
    toRequestUrl(): string;
    toUrl(): string;
    update(properties: Partial<INavNodeInfo>): Promise<INavNodeUpdateResult>;
    using(...behaviors: TimelinePipe<any>[]): this;
    <T>(init?: RequestInit): Promise<T>;
}

Hierarchy

  • _NavigationNode
  • IDeleteable
    • INavigationNode
  • Type Parameters

    • T = INavNodeInfo

    Parameters

    • Optionalinit: RequestInit

    Returns Promise<T>

Properties

_inheritingObservers: boolean
_url: string
delete: ((this: ISPQueryable<any>) => Promise<void>)
InternalPromise: symbol
InternalReject: symbol
InternalResolve: symbol
moments: {
    auth: ((observers: QueryableAuthObserver[], url: URL, init: RequestInit) => Promise<[url: URL, init: RequestInit]>);
    construct: ((observers: QueryableConstructObserver[], init: QueryableInit, path?: string) => Timeline<any>);
    data: ((observers: QueryableDataObserver<any>[], ...args: any[]) => void);
    parse: ((observers: QueryableParseObserver[], url: URL, response: Response, result: any) => Promise<[url: URL, response: Response, result: any]>);
    post: ((observers: QueryablePostObserver[], url: URL, result: any) => Promise<[url: URL, result: any]>);
    pre: ((observers: QueryablePreObserver[], url: string, init: RequestInit, result: any) => Promise<[url: string, init: RequestInit, result: any]>);
    send: ((observers: QueryableSendObserver[], url: URL, init: RequestInit) => Promise<Promise<Response>>);
}
observers: ObserverCollection
parentUrl: string

Accessors

  • get children(): INavigationNodes
  • Represents the child nodes of this node

    Returns INavigationNodes

  • get emit(): EmitProxyType<T>
  • Property allowing access to invoke a moment from within this timeline

    Returns EmitProxyType<T>

  • get on(): OnProxyType<T>
  • Property allowing access to manage observers on moments within this timeline

    Returns OnProxyType<T>

  • get query(): URLSearchParams
  • Querystring key, value pairs which will be included in the request

    Returns URLSearchParams

Methods

  • By default a timeline references the same observer collection as a parent timeline, if any changes are made to the observers this method first clones them ensuring we maintain a local copy and de-ref the parent

    Returns void

  • Directly concatenates the supplied string to the current url, not normalizing "/" chars

    Parameters

    • pathPart: string

      The string to concatenate to the url

    Returns this

  • Shorthand method to emit an error event tied to this timeline

    Parameters

    • Optionale: any

      Optional. Any error object to emit. If none is provided no emit occurs

    Returns void

  • Method orchestrating the emit calls for the moments defined in inheriting classes

    Parameters

    • userInit: RequestInit

    Returns Promise<void>

  • Expands fields such as lookups to get additional data

    Parameters

    • Rest...expands: string[]

      The Fields for which to expand the values

    Returns this

  • Gets the context info for the specified path

    Parameters

    • Optionalpath: string

      Optional. Absolute path to a SharePoint resource [Default: this.parentUrl]

    Returns Promise<IContextInfo>

  • Gets a parent for this instance as specified

    Type Parameters

    • T extends ISPQueryable<any>

    Parameters

    • factory: ISPInvokableFactory<any>

      The contructor for the class to create

    • Optionalpath: string
    • Optionalbase: string

    Returns T

  • Shorthand method to emit a logging event tied to this timeline

    Parameters

    • message: string

      The message to log

    • Optionallevel: number

      The level at which the message applies

    Returns void

  • Choose which fields to return

    Parameters

    • Rest...selects: string[]

      One or more fields to return

    Returns this

  • Starts a timeline

    Parameters

    • Optionalinit: any

      A value passed into the execute logic from the initiator of the timeline

    Returns Promise<any>

    The result of this.execute

    This method first emits "init" to allow for any needed initial conditions then calls execute with any supplied init

  • Gets the full url with query information

    Returns string

  • Gets the current url

    Returns string

  • Updates this node

    Parameters

    • properties: Partial<INavNodeInfo>

      Properties used to update this node

    Returns Promise<INavNodeUpdateResult>

  • Apply the supplied behavior(s) to this timeline

    Parameters

    • Rest...behaviors: TimelinePipe<any>[]

      One or more behaviors

    Returns this

    this Timeline