/** * DevExtreme (ui/drop_down_editor/ui.drop_down_editor.d.ts) * Version: 25.2.3 * Build date: Fri Dec 12 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, ApplyValueMode, Mode, Position, TextEditorButton, } from '../../common'; import dxTextBox, { dxTextBoxOptions, } from '../text_box'; import { Properties as PopoverProperties, } from '../popover'; import { Properties as PopupProperties, } from '../popup'; import { EventInfo, } from '../../common/core/events'; import { EditorOptionsWithValue } from '../editor/editor'; export type DropDownPredefinedButton = 'clear' | 'dropDown'; /** * @deprecated Attention! This type is for internal purposes only. If you used it previously, please submit a ticket to our {@link https://supportcenter.devexpress.com/ticket/create Support Center}. We will check if there is an alternative solution. */ export interface DropDownButtonTemplateDataModel { readonly text?: string; readonly icon?: string; } /** * * @deprecated Attention! This type is for internal purposes only. If you used it previously, please submit a ticket to our {@link https://supportcenter.devexpress.com/ticket/create Support Center}. We will check if there is an alternative solution. */ export type FieldAddons = { /** * A custom markup that displays content to the left of the input field. */ beforeTemplate?: template | ((data: any, element: DxElement) => string | UserDefinedElement); /** * A custom markup that display content to the right of the input field. */ afterTemplate?: template | ((data: any, element: DxElement) => string | UserDefinedElement); }; /** * * @deprecated Attention! This type is for internal purposes only. If you used it previously, please submit a ticket to our {@link https://supportcenter.devexpress.com/ticket/create Support Center}. We will check if there is an alternative solution. */ export interface dxDropDownEditorOptions extends Omit, 'validationMessagePosition'> { /** * Specifies whether or not the UI component allows an end user to enter a custom value. */ acceptCustomValue?: boolean; /** * Specifies whether the UI component changes its visual state as a result of user interaction. */ activeStateEnabled?: boolean; /** * Specifies the way an end user applies the selected value. */ applyValueMode?: ApplyValueMode; /** * Configures the drop-down field which holds the content. */ dropDownOptions?: PopupProperties | PopoverProperties; /** * Allows you to add custom buttons to the input text field. */ buttons?: Array; /** * Specifies whether to render the drop-down field's content when it is displayed. If false, the content is rendered immediately. */ deferRendering?: boolean; /** * Specifies a custom template for the drop-down button. */ dropDownButtonTemplate?: template | ((buttonData: DropDownButtonTemplateDataModel, contentElement: DxElement) => string | UserDefinedElement); /** * Specifies widget input field addons. */ fieldAddons?: FieldAddons; /** * A function that is executed once the drop-down editor is closed. */ onClosed?: ((e: EventInfo) => void); /** * A function that is executed once the drop-down editor is opened. */ onOpened?: ((e: EventInfo) => void); /** * Specifies whether a user can open the drop-down list by clicking a text field. */ openOnFieldClick?: boolean; /** * Specifies whether or not the drop-down editor is displayed. */ opened?: boolean; /** * Specifies whether the drop-down button is visible. */ showDropDownButton?: boolean; /** * Specifies the position of a validation message relative to the component. The validation message describes the validation rules that this component's value does not satisfy. */ validationMessagePosition?: Position | Mode; /** * Specifies the currently selected value. */ value?: any; } /** * A drop-down editor UI component. * @deprecated Attention! This type is for internal purposes only. If you used it previously, please submit a ticket to our {@link https://supportcenter.devexpress.com/ticket/create Support Center}. We will check if there is an alternative solution. */ export default class dxDropDownEditor< TProperties extends EditorOptionsWithValue = Properties, > extends dxTextBox { /** * Closes the drop-down editor. */ close(): void; /** * Gets the popup window's content. */ content(): DxElement; /** * Gets the UI component's `` element. */ field(): DxElement; /** * Opens the drop-down editor. */ open(): void; /** * Resets the value property to the value passed as an argument. */ reset(value?: TProperties['value']): void; } /** * @deprecated Attention! This type is for internal purposes only. If you used it previously, please submit a ticket to our {@link https://supportcenter.devexpress.com/ticket/create Support Center}. We will check if there is an alternative solution. */ interface DropDownEditorInstance extends dxDropDownEditor { } /** * @deprecated Attention! This type is for internal purposes only. If you used it previously, please submit a ticket to our {@link https://supportcenter.devexpress.com/ticket/create Support Center}. We will check if there is an alternative solution. */ type Properties = dxDropDownEditorOptions; /** * @deprecated Attention! This type is for internal purposes only. If you used it previously, please submit a ticket to our {@link https://supportcenter.devexpress.com/ticket/create Support Center}. We will check if there is an alternative solution. */ export type Options = Properties;