///
///
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;
}