@omnia/foundation
Version:
Provide omnia foundation typings and tooling work on client side for omnia extension
60 lines (59 loc) • 3.52 kB
TypeScript
import { GlueEditChromeLocation, GlueEditChromeTopbarLocation } from './Enums';
import { IGlue } from '../../models';
export declare module Glue {
var pageContext: IGlue.IGluePageContext;
var baseUrl: string;
var isGluePage: boolean;
var defaultGlueLayoutId: string;
function init(): void;
function navigate(pageContext: IGlue.IGluePageContext): void;
function getAbsoluteUrl(relativeUrl: string): string;
function onProvideNavigationContext(callback: (url: string) => Promise<any>): void;
function onGluePageMajorVersionChanged(callback: (url: string, version: number, pageContext: IGlue.IGluePageContext) => Promise<any>): void;
function onRestoreGluePageMajorVersion(callback: (url: string, version: number, pageContext: IGlue.IGluePageContext) => Promise<any>): void;
function onNavigate(callback: (navigationContext: IGlue.IGluePageContext) => void): void;
function onQueryParameterChanged(callback: (url: string) => void): void;
function getGluePageMajorVersion(pageContext: IGlue.IGluePageContext, version: number, versionCallback: (data: IGlue.IGlueResourceVersion) => void): void;
function restoreGluePageMajorVersion(pageContext: IGlue.IGluePageContext, version: number, versionCallback: (data: IGlue.IGlueResourceVersion) => void): void;
function addQueryParameter(paramName: string, paramValue: string): void;
function getQueryParameter(paramName: string): string;
function isShowingNavigationLoadingIndicator(): void;
function showNavigationLoadingIndicator(): void;
function hideNavigationLoadingIndicator(): void;
function showNotificationInfo(message: string): void;
function hideNotificationInfo(): void;
module Callbacks {
interface ICallbackItem {
hash: string;
callback: {
(...args: any[]): any;
};
}
/** Registers a callback */
function add(id: string, callback: (...args: any[]) => void): void;
/** Calls all registered callbacks with the specified parameters. */
function fire(id: string | RegExp, ...args: any[]): void;
/** Removes all registered callbacks on the specified id */
function removeById(id: string | RegExp): void;
/** Gets the callbacks registered on the specified id */
function getById(id: string): ICallbackItem[];
/** Gets all registered callbacks */
function getAll(): {
[id: string]: ICallbackItem[];
};
function createDestroyResult(): {
callbackDestroy: boolean;
};
}
module Layout {
function getContext(): Promise<void>;
function getGlueToolbarItems(location: GlueEditChromeLocation): Array<IGlue.IGlueToolbarItemMetadataExtend>;
function getGlueTopbarItems(location: GlueEditChromeTopbarLocation): Array<IGlue.IGlueTopbarItemMetadataExtend>;
function getPaneTabs(): Array<IGlue.IGluePaneTabMetadata>;
function getPaneContents(): Array<IGlue.IGluePaneContentMetadataExtend>;
}
}
export declare function GluePaneTab(meta: IGlue.IGluePaneTabMetadata): (target: any) => void;
export declare function GluePaneContent(meta: IGlue.IGluePaneContentMetadata): (target: any) => void;
export declare function GlueToolbarItem(meta: IGlue.IGlueToolbarItemMetadata): (target: any) => void;
export declare function GlueTopbarItem(meta: IGlue.IGlueTopbarItemMetadata): (target: any) => void;