@docsvision/webclient
Version:
Type definitions for DocsVision WebClient scripts and extensions.
44 lines (43 loc) • 2.14 kB
TypeScript
/// <reference types="react" />
import { TimeOfPerformanceParams } from "@docsvision/webclient/BackOffice/TimeOfPerformance";
import { Debouncer } from "@docsvision/webclient/Helpers/Debouncer";
import { DateTimePicker } from "@docsvision/webclient/Platform/DateTimePicker";
import { NumberControl } from "@docsvision/webclient/Platform/Number";
import { PanelImpl, IPanelState } from "@docsvision/webclient/Platform/PanelImpl";
import { LayoutControl } from "@docsvision/webclient/System/BaseControl";
import { IDataChangedEventArgsEx } from "@docsvision/webclient/System/IDataChangedEventArgs";
/** @internal */
export interface TimeOfPerformanceState extends TimeOfPerformanceParams, IPanelState {
startDate: DateTimePicker;
endDate: DateTimePicker;
duration: NumberControl;
initializationSuccess: boolean;
lastCalculatedStartDate: Date;
lastCalculatedEndDate: Date;
lastCalculatedDuration: number;
startDateChangeDebouncer: Debouncer;
endDateChangeDebouncer: Debouncer;
durationChangeDebouncer: Debouncer;
unmounted: boolean;
}
/** @internal */
export declare class TimeOfPerformanceImpl extends PanelImpl<TimeOfPerformanceParams, TimeOfPerformanceState> {
constructor(props: TimeOfPerformanceParams, state: TimeOfPerformanceState);
init(): void;
componentWillUnmount(): void;
updateDuration(): Promise<void>;
updateStartDate(): Promise<void>;
updateEndDate(): Promise<void>;
onStartDateChanged: (sender: any, args: IDataChangedEventArgsEx<Date>) => Promise<void>;
onEndDateChanged: (sender: any, args: IDataChangedEventArgsEx<Date>) => Promise<void>;
onDurationChanged: (sender: any, args: IDataChangedEventArgsEx<number>) => Promise<void>;
showLoader(control: LayoutControl): void;
hideLoader(control: LayoutControl): void;
setRequired(required: boolean): void;
getDuration(startDate: Date, endDate: Date): Promise<number>;
getStartDate(endDate: Date, duration: number): Promise<Date>;
getEndDate(startDate: Date, duration: number): Promise<Date>;
getCssClass(): string;
renderControl():
import("react").ReactNode[];
}