/** * DevExtreme (ui/drop_down_box.d.ts) * Version: 21.1.7 * Build date: Thu Aug 07 2025 * * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/ */ import { UserDefinedElement, DxElement, } from '../core/element'; import { template, } from '../core/templates/template'; import DataSource, { DataSourceOptions, } from '../data/data_source'; import Store from '../data/abstract_store'; import { EventInfo, NativeEventInfo, InitializedEventInfo, ChangedOptionInfo, } from '../events/index'; import dxDropDownEditor, { dxDropDownEditorOptions, DropDownButtonTemplateDataModel, } from './drop_down_editor/ui.drop_down_editor'; import { ValueChangedInfo, } from './editor/editor'; import { DataExpressionMixinOptions, } from './editor/ui.data_expression'; /** @public */ export type ChangeEvent = NativeEventInfo; /** @public */ export type ClosedEvent = EventInfo; /** @public */ export type CopyEvent = NativeEventInfo; /** @public */ export type CutEvent = NativeEventInfo; /** @public */ export type DisposingEvent = EventInfo; /** @public */ export type EnterKeyEvent = NativeEventInfo; /** @public */ export type FocusInEvent = NativeEventInfo; /** @public */ export type FocusOutEvent = NativeEventInfo; /** @public */ export type InitializedEvent = InitializedEventInfo; /** @public */ export type InputEvent = NativeEventInfo; /** @public */ export type KeyDownEvent = NativeEventInfo; /** @public */ export type KeyPressEvent = NativeEventInfo; /** @public */ export type KeyUpEvent = NativeEventInfo; /** @public */ export type OpenedEvent = EventInfo; /** @public */ export type OptionChangedEvent = EventInfo & ChangedOptionInfo; /** @public */ export type PasteEvent = NativeEventInfo; /** @public */ export type ValueChangedEvent = NativeEventInfo & ValueChangedInfo; /** @public */ export type ContentTemplateData = { component: dxDropDownBox; readonly value?: any; }; /** @public */ export type DropDownButtonTemplateData = DropDownButtonTemplateDataModel; /** * @deprecated use Properties instead * @namespace DevExpress.ui */ export interface dxDropDownBoxOptions extends DataExpressionMixinOptions, dxDropDownEditorOptions { /** * @docid * @default false * @public */ acceptCustomValue?: boolean; /** * @docid * @default 'content' * @type_function_param1 templateData:object * @type_function_param1_field1 component:dxDropDownBox * @type_function_param1_field2 value:any * @type_function_return string|Element|jQuery * @public */ contentTemplate?: template | ((templateData: ContentTemplateData, contentElement: DxElement) => string | UserDefinedElement); /** * @docid * @default null * @public */ dataSource?: string | Array | Store | DataSource | DataSourceOptions; /** * @docid * @public */ displayValueFormatter?: ((value: string | Array) => string); /** * @docid * @default null * @type_function_param1 value:object * @type_function_return string|Element|jQuery * @public */ fieldTemplate?: template | ((value: any, fieldElement: DxElement) => string | UserDefinedElement); /** * @docid * @public */ items?: Array; /** * @docid * @default true * @public */ openOnFieldClick?: boolean; /** * @docid * @default "change" * @public */ valueChangeEvent?: string; } /** * @docid * @isEditor * @inherits DataExpressionMixin, dxDropDownEditor * @hasTranscludedContent * @namespace DevExpress.ui * @public */ export default class dxDropDownBox extends dxDropDownEditor { constructor(element: UserDefinedElement, options?: dxDropDownBoxOptions) getDataSource(): DataSource; } /** @public */ export type Properties = dxDropDownBoxOptions; /** @deprecated use Properties instead */ export type Options = dxDropDownBoxOptions; /** @deprecated use Properties instead */ export type IOptions = dxDropDownBoxOptions;