/// /// import { DxDeferred } from '@devexpress/analytics-core/analytics-internal'; import dxPopup from 'devextreme/ui/popup'; import * as ko from 'knockout'; import { Dashboard } from '../../model'; import { DisposableObject } from '../../model/disposable-object'; import { ParameterDialogContent } from '../../viewer-parts/widgets/dialogs/parameters-dialog-content'; import { DxElement } from '../common-interfaces'; import { DashboardControl } from '../dashboard-control'; import { ISupportOptionExtension } from '../internal/_interfaces'; import { EventSubscriber, OptionsManager } from '../internal/_options-manager'; import { DashboardParameterCollection } from '../parameters-definitions'; export interface DashboardParameterDialogArgs { component?: dxPopup; element?: DxElement; model?: any; } export interface DynamicLookUpValuesLoadedArgs { parameterName: string; } export interface DashboardParameterDialogExtensionOptions { onDynamicLookUpValuesLoaded?: (args: DynamicLookUpValuesLoadedArgs) => void; onShowing?: (args: DashboardParameterDialogArgs) => any; onShown?: (args: DashboardParameterDialogArgs) => any; onHidden?: (args: DashboardParameterDialogArgs) => any; } export type DashboardParameterDialogExtensionEvents = { dynamicLookUpValuesLoaded: DynamicLookUpValuesLoadedArgs; showing: DashboardParameterDialogArgs; shown: DashboardParameterDialogArgs; hidden: DashboardParameterDialogArgs; }; export declare class DashboardParameterDialogExtension extends DisposableObject implements ISupportOptionExtension { private _parameterDialog; private _customDialogContent; private _viewModel; _optionsManager: OptionsManager; name: string; _dashboardControl: DashboardControl; _isLoading: ko.Observable; _loadDynamicLookupValues: DxDeferred; _paramsAwaitingLookupValues: ko.ObservableArray; _onShowing: ((e: DashboardParameterDialogArgs) => any); _onShown: ((e: DashboardParameterDialogArgs) => any); _onHidden: ((e: DashboardParameterDialogArgs) => any); get onShowing(): ((e: DashboardParameterDialogArgs) => any); set onShowing(value: ((e: DashboardParameterDialogArgs) => any)); get onShown(): ((e: DashboardParameterDialogArgs) => any); set onShown(value: ((e: DashboardParameterDialogArgs) => any)); get onHidden(): ((e: DashboardParameterDialogArgs) => any); set onHidden(value: ((e: DashboardParameterDialogArgs) => any)); showDialogButton: ko.Observable; on: EventSubscriber; off: EventSubscriber; constructor(dashboardControl: DashboardControl, options?: DashboardParameterDialogExtensionOptions); start(): void; stop(): void; show(): void; hide(): void; subscribeToContentChanges(callback: (newValue: DashboardParameterCollection) => void): ko.Subscription; getParameters(): DashboardParameterCollection; private _getParameters; renderContent(element: JQuery | Element): ParameterDialogContent; private updateCascadingParameters; private _createParameterDialog; private _clearContent; private _clear; private _subscribeDynamicLookUpValuesLoaded; private _shouldResetCustomDialogContent; protected _updateViewModel: (dashboard: Dashboard) => void; private _resolveDLookupValuesDeferred; }