///
///
import 'devextreme/ui/check_box';
import dxCheckBox from 'devextreme/ui/check_box';
import dxDataGrid, { Column as dxDataGridColumn } from 'devextreme/ui/data_grid';
import dxDateBox from 'devextreme/ui/date_box';
import dxLoadPanel from 'devextreme/ui/load_panel';
import Widget from 'devextreme/ui/widget/ui.widget';
import { DashboardParameterLookUpValue } from '../../../common/parameters-definitions';
import { IParameter, Parameter, ParametersCollection } from '../../../data/_parameters';
import { DisposableObject } from '../../../model';
import { dialogForm } from './_dialog-form';
import { ParameterDialogContent } from './parameters-dialog-content';
export declare let parameterTypes: {
string: string;
int: string;
float: string;
bool: string;
dateTime: string;
selector: string;
multiselector: string;
guid: string;
date: string;
time: string;
};
export type UpdateLookupValuesOptions = {
parameterName: string;
selectedValue: any;
parameterEntitiesDict?: {
[key: string]: ParameterEntity;
};
isMasterParameter?: boolean;
parameterDialogExtension?: any;
onAfterFinish?: () => void;
};
export declare class parametersDialog extends DisposableObject {
options: ParametersDialogOptions;
getParametersCollection: () => ParametersCollection;
submitParameters: any;
dialogForm: dialogForm;
valueChanged: JQuery.Callbacks;
parameterEntitiesDict: {
[key: string]: ParameterEntity;
};
_dataGrid: dxDataGrid;
_loadPanel: dxLoadPanel;
_updateRequestQueue: UpdateLookupValuesOptions[];
setActualState: () => void;
submitParameterValues: () => void;
resetParameterValues: () => void;
constructor(options: ParametersDialogOptions);
_initialize(): void;
showLoadPanel(): void;
hideLoadPanel(): void;
_disposeGrid(): void;
appendNullGridColumn(gridColumns: Array): void;
allowNullColumn(): any;
createNullColumn(): dxDataGridColumn;
createGridColumns(): Array;
private _generateContent;
generateContent(element: HTMLElement, disposeCallback?: () => void): ParameterDialogContent;
show(): void;
hide(): void;
dispose(): void;
_getParameterDateEditorOptions(editorType: any, onFocusOut: (e: any, value: any) => void): {
valueName: string;
createControl: (element: Element) => dxDateBox;
};
_updateCascadingParametersFinishCallbask(): void;
_addUpdateLookupsToQueue(options?: UpdateLookupValuesOptions): void;
_updateCascadingParameters(options?: UpdateLookupValuesOptions): void;
_getParameterEntity(parameter: Parameter, controlCreationCallbacks: any): ParameterEntity;
}
export interface ParameterEntityOptions {
name: string;
type: any;
description?: any;
defaultValue: any;
value: any;
lookUpValues: Array;
allowNull: boolean;
allowMultiselect: boolean;
selectAllValues: boolean;
createControl: (element: HTMLElement) => Widget;
valueName: any;
controlCreationCallbacks: JQueryCallback;
}
export declare class ParameterEntity {
name: string;
type: any;
description: any;
defaultValue: any;
value: any;
lookUpValues: any[];
allowNull: boolean;
allowMultiselect: boolean;
createControl: (element: HTMLElement) => Widget;
valueName: any;
controlCreationCallbacks: any;
divValueEditor: HTMLElement;
divAllowNull: HTMLElement;
allowNullControl: dxCheckBox;
control: Widget;
valueChanged: JQuery.Callbacks;
selectAllValues: boolean;
dispose(): void;
constructor(options: ParameterEntityOptions);
getValue(): any;
setValue(value: any): void;
setLookUpValues(values: DashboardParameterLookUpValue[]): void;
wrapParameter(): {
Name: string;
Value: any;
};
_addControl(): void;
}
export interface ParametersDialogOptions {
parametersDialogContainer: HTMLElement;
waitingForParameterValues?: () => boolean;
getParametersCollection: () => ParametersCollection;
submitParameters: (newParameters: IParameter[]) => void;
onShowing?: (args: any) => void;
onShown?: (args: any) => void;
onHidden?: (args: any) => void;
updateCascadingParameters?: (options: UpdateLookupValuesOptions) => void;
parameterValuesAreLoading?: ko.Observable;
}