Перейти к содержимому

Условия отображения и события

Эта статья про две связанные темы: как сделать, чтобы части модуля появлялись и исчезали по правилам (условия отображения), и как добавить сложную логику через скрипты (события). Первое доступно всем технологам и не требует программирования. Второе — продвинутый инструмент для разработчиков.

Условие отображения — это правило, по которому элемент (деталь, секция, присадка) показывается или скрывается. Правило строится на основе:

Условия можно объединять логикой:

  • И — выполняются все условия одновременно;
  • ИЛИ — выполняется хотя бы одно.

Это позволяет точно описывать, когда элемент нужен.

  • Показывать усиливающую планку только если высота больше 2000 мм.
  • Показывать деталь только при толщине корпуса 16 мм и скрывать при 18 мм.
  • Показывать дополнительную полку, только если включена переменная «Доп. полка».

Так из одного модуля получаются вариативные изделия с переключаемыми частями — не нужно создавать десять отдельных модулей под каждый случай.

Совет. Условия отлично работают в паре с переменными. Сделайте переключатель и привяжите к нему видимость деталей — получите гибкий модуль, который дизайнер настраивает галочками.

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

События — это вкладка для скриптов на JavaScript, которые срабатывают на разных этапах работы модуля. Это инструмент четвёртого, продвинутого уровня (см. «Обзор системы и роли»), нужный для сложных кастомных решений под конкретного клиента.

Основные точки, в которые можно встроить скрипт (точные ключи задаются в params.events):

  • on_before_params — до загрузки параметров модуля;
  • on_before_build — перед построением модуля на сцене;
  • on_after_build — после построения, для анализа пересечений и позиционирования;
  • on_drag_end — после того, как модуль перетащили на сцене (например, чтобы автоматически закрыть его фасадом или пересчитать положение).
  • автоматически закрывать модуль фасадом после перемещения;
  • проверять размеры и предупреждать пользователя о некорректных значениях;
  • вести счётчик использования модуля для анализа популярности.

На продвинутом уровне у модуля можно создавать параметры разных типов (булевы, числовые, текстовые, списки, выпадающие списки) для кастомизации — например, выбор цвета фасада с подстановкой нужного артикула.

  • Выпадающий список — выбор одного значения из набора.
  • Список — хранит набор значений с возможностью массового изменения без переписывания кода.

Внутреннее представление всех этих параметров — JSON. С ним работают события и скрипты. Новому пользователю в JSON заходить не нужно — это поле для разработчика.

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

Условия отображения показывают и прячут части модуля по правилам (с логикой И/ИЛИ на основе размеров, переменных и материалов) — это делает модули вариативными без кода. Комментарии помогают документировать настройку. События и JSON — продвинутый уровень для скриптовой логики, нужный редко и в основном разработчикам.