Yamato DaiwaFrontend (2.0.0-beta.4)

ValidatableControlShell (React)

Такие элементы ввода, как однострочное текстовое поле (ValidatableControlShell(type="text")), многострочное текстовое ввода (textarea), выпадающие список (select) и так далее обычно употребляются не по одиночке, в окружении вспомогательных элементов:

  • Заголовочная надпись (обычно элемент label)
  • Комментарий (например, «тире и скобки можно необязательны» для поля ввода номера телефона)
  • Метки «обязательное» или «необязательное»
  • Сообщения валидации

Согласно одному из принципов качественного дизайна, все эти элементы окружения должны быть выполнены в едином стиле, потому появляется потребность в шаблонном компоненте, содержимое которого будет окружать элемент ввода. В YDF таким компонентом является ValidatableControlShell — в дословном переводе: «оболочка валидируемого компонента». Как следует из названия, данный компонент не является самостоятельным, а должен входить в состав других компонентов, а точнее быть для них оболочкой.

  • Сам ValidatableControlShell не является валидируемым компонентом, поскольку он лишь отображает переданные ему сообщения валидации, но при этом сам ничего не валидирует, так как валидация — задача основного компонента, который ValidatableControlShell окружает.
  • При выборе названия избегалось слово «обёртка» («wrapper»), так как оно гораздо более многозначное, чем «оболочка». Так, по отношению к компонентам пользовательского интерфейса «обёртка» может означать не только буквальное обёртывание основного компонента с обеих сторон своими элементами, но и расширение функциональности основного компонента.

Краткий обзор

Класс компонента
ValidatableControlShell
Live template-ы React-компонента (официальный плагин для семейства сред разработки IntelliJ IDEA)
Наподобие автодополнения
ValidatableControlShell--YDF-React
Сокращённый
vsc-ydf-react
Stylus-примесь для генерации стилей
generateValidatableControlShellYDF_GUI_ComponentStyles
Готовые темы
ValidatableControlShell.Themes.regular
Базовая (по умолчанию)
Готовые геометрические вариации
ValidatableControlShell.GeometricVariations.regular
Базовая (по умолчанию)
ValidatableControlShell.GeometricVariations.small
Компактная
Готовые декоративные вариации
ValidatableControlShell.DecorativeVariations.regular
Базовая (по умолчанию)
Loading placeholder
Недоступен

Класс ValidatableControlShellClass

React-свойства

ValidatableControlShell.Properties
{
label
guidance
required
mustDisplayAppropriateBadgeIfInputIsRequired
mustDisplayAppropriateBadgeIfInputIsOptional
mustAddInvisibleBadgeForHeightEqualizingWhenNoBadge
coreElementHTML_ID
labelElementHTML_ID
mainSlotWrapperAdditionalCSS_Classes
theme
areThemesCSS_ClassesCommon
geometricVariation
decorativeVariation
className
}