UNPKG

@nova-ui/bits

Version:

SolarWinds Nova Framework

121 lines (120 loc) 3.95 kB
import { Subject, Subscription } from "rxjs"; import { NotificationHandler } from "./notification-service"; export * from "./data-source/public-api"; export interface IEventPropagationService { targetShouldPropagate(event: Event): boolean; } export { NuiActiveDialog } from "../lib/dialog/dialog-ref"; export interface IEdgeDetectionResult { placed: { top: boolean; right: boolean; bottom: boolean; left: boolean; }; aligned: { top: boolean; right: boolean; bottom: boolean; left: boolean; }; } export interface IEdgeDetectionCoordinates { left: number; top: number; } export interface IEdgeDetectionProperties { position: IEdgeDetectionCoordinates; height: number; } export interface IEdgeDetectionService { canBe(basePointElement: Element, placedElement: Element): IEdgeDetectionResult; } export interface IEdgeDefinerMeasurements { position: IEdgeDetectionCoordinates; width: number; height: number; scrollY: number; scrollX: number; } export interface ISearchService { search(items: any[], properties: string[], searchValue: any, dateFormat?: string): any[]; } export interface INotificationService { subscribe(channel: string, handler: NotificationHandler): Subscription; post(channel: string, args: any): void; } /** @ignore */ export interface ITransientCache { put: (key: string, value: any, lifetime: number) => Promise<void>; get: (key: string) => any; remove: (key: string) => void; removeAll: () => void; destroy: () => void; entryCount: () => number; size: () => number; } /** * The result of a unit conversion returned by the UnitConversionService's convert method */ export interface IUnitConversionResult { /** Serves as an index into the exported 'unitConversionConstants' for determining which unit string display value to use. */ order: number; /** The converted value as a string */ value: string; /** The converted value in exponential form */ scientificNotation: string; /** The maximum number of significant digits to display to the right of the decimal */ scale?: number; } export interface ISelection { exclude: any[]; include: any[]; isAllPages: boolean; } export declare class SelectionModel implements ISelection { exclude: any[]; include: any[]; isAllPages: boolean; constructor(selection?: Partial<ISelection>); } export declare class IEvent<T = any> { id?: string; payload?: T; [key: string]: any; } export interface IEventDefinition<T = any> { id: string; subjectFactory?: () => Subject<T>; } export declare class EventDefinition<T> implements IEventDefinition<IEvent<T>> { id: string; subjectFactory?: (() => Subject<IEvent<T>>) | undefined; constructor(id: string, subjectFactory?: (() => Subject<IEvent<T>>) | undefined); toString(): string; } export interface IVirtualPageConfig { /** * The required property that should be passed on initialization. * IMPORTANT: It should be equal to pageSize requested from the server. */ pageSize: number; /** * Set this boolean to false if the first batch of data will be loaded/requested * externally by a different entity (ex. search, sort, etc.). * When true, VirtualViewportManager will request/emit the first page range event automatically. */ emitFirstPage?: boolean; } /** * VirtualViewportManager reset configuration options */ export interface IVirtualViewportResetOptions extends Required<Pick<IVirtualPageConfig, "emitFirstPage">> { /** * Set this boolean to false if the first batch of data will be loaded/requested * externally by a different entity (ex. search, sort, etc.). * When true, VirtualViewportManager will request/emit the first page range event automatically. * Default: true */ emitFirstPage: boolean; }