Платформа A2v10 довідкова система
EN


Являє собою універсальний селектор.

Наслідує: ValuedControl : Control : UIElement : UIElementBase

Властивості

Ім'я Тип Опис
Delegate String Ім'я делегата, який буде викликатися при введенні тексту в поле селектора.
SetDelegate String Ім'я делегата, який буде викликатися при виборі елементу в спадної панелі. Якщо вказаний цей делегат, то жодних присвоювань зв'язаного елементу виконуватися не буде.
TextValue Object Тільки прив'язка (Bind). Текстова прив'язка. Якщо вона задана, то при виборі елементу в переліку в неї буде передаватися текст, а не сам елемент.
Align TextAlign Вирівнювання тексту.
Placeholder String Підказка. Відображається в пустому полі введення. Зникає при отриманні полем фокуса введення.
Style SelectorStyle Стиль відображення селектору. Можливі значення:
  • Default - (за замовчуванням) звичайний селектор.
  • ComboBox - селектор у вигляді комбінованого спадного переліку. Фільтрація в цьому випадку не підтримується.
  • Hyperlink - селектор у вигляді гіперпосилання. Фільтрація в цьому випадку не підтримується.
Size ControlSize Розмір елементу. Можливі значення:
  • Default - (за замовчуванням) селектор звичайного розміру.
  • Large - збільшений розмір селектора.
(інші значення переліку ControlSize не підтримуються).
ItemsSource Array Завжди прив'язка - Bind. Джерело даних для відображення в переліку.
DisplayProperty String Ім'я властивості основного елементу, яке буде відображатися в селекторі.
PanelPlacement DropDownPlacement Напрямок "спадання" панелі вибору селектора. Можливі значення:
  • BottomLeft - (за замовчуванням) донизу з прив'язкою лівого краю.
  • BottomRight - донизу з прив'язкою правого краю.
  • TopLeft - верх з прив'язкою лівого краю.
  • TopRight - вверх з прив'язкою правого краю.
ListSize Size Розмір спадної панелі селектора.
ItemsPanel UIElementBase Опис спадної панелі. В поточній версії в якості спадної панелі підтримується тільки елемент DataGrid. Якщо елемент не вказано, використовується простий список елементів.
NewPane UIElementBase Опис панелі створення нового елементу.
CreateNewCommand BindCmd Команда, яка буде виконана при створенні нового елементу.
ShowCaret Boolean? Показувати значок відкриття вмісту. Якщо стиль селектору ComboBox, то значення автоматично встановлюєся в True.
ShowClear Boolean Показувати кнопку очистки вмісту. Натискання на цю кнопку викликає метод $empty для зв'язаного елементу.
FetchData Object Додаткові дані для операції вибору. Практично завжди прив'язка (Bind). Властивості переданого об'єкта будуть використані в якості параметрів для збереженої процедури пошуку елементів.
MaxChars Int32 Максимальна кількість символів в тексті. Якщо у назві елементу більше символів, то текст обрізається, і в кінець додаються три крапки. Використовуються при заповленні панелі вибору за замовчуванням.
Властивості базового елементу

Опис

Селектор може працювати в двох режимах. Вибір з переліку і пошук в переліку/на сервері.

В першому просто емулюється комбінований список (ComboBox) с додатковими можливостями стилізації вікна вибору. У цьому випадку задається колекція для вибору (властивість ItemsSource) і ім'я властивості зв'язаного елементу (властивість DisplayProperty), яке повинно відображатися в селекторе.

В другому випадку потрібно задати делегат (властивість Delegate), який буде періодично викликатися при введенні тексту в поле селектора.

Є можливість створення нового елементу у випадку, якщо в переліку нічого не знайдено. Для цього потрібно задати панель створення елементу NewPane і команду CreateNewCommand.

Формат делегата пошуку (Delegate)

fetch(this:IRoot, elem:IElement, text:string, all?: boolean): [] | Promise

Аргументи:

  • this - корінь моделі даних.
  • elem - елемент, пов'язаний з селектором.
  • text - текст, набраний в полі введення.
  • all - ознака того, що потрібно виводити всі значення з переліку. Буде дорівнювати true, якщо встановлено властивість ShowCaret і користувач відкриває вікно вибору кнопкою, а не введеням тексту в поле.

Значення, що повертається:

Делегат повинен повернути масив елементів або Promise, якщо елементи вибираються з сервера.

Те, що повернув делегат, буде показано в панелі вибору.

Формат делегата встановленя (SetDelegate)

fetch(this:IRoot, elem:IElement): void

Аргументи:

  • this - корінь моделі даних.
  • elem - (обраний в переліку) елемент, що встановлюється.