Документация для разработчиков
Темная тема

Фабрика настроек пользовательских полей

Описание и методы

Это расширение содержит фрагменты интерфейсов и логики, необходимые для управления настройками пользовательских полей.

Основной класс для работы с этим расширением

BX.UI.UserFieldFactory.Factory
Метод Описание С версии
constructor(entityId: string, params: {}) Конструктор.

Параметры:

  • entityId - строковый идентификатор сущности, для которой будут создаваться поля
  • params - дополнительные параметры, имеют следующую структуру:
    • menuId - идентификатор для меню с выбором типа поля для создания;
    • types - массив с дополнительными типами полей, которые будут добавлены к стандартному списку;
    • bindElement - DOM-элемент, для передачи в объект BX.Main.Popup для показа попапа со списком полей;
    • configuratorClass - имя класса-наследника Configurator, который будет использоваться вместо стандартного;
    • customTypesUrl - адрес страницы, которая должна открыться в слайдере при клике на Дополнительный тип поля;
    • moduleId - идентификатор модуля для использования в модели UserField.
getFieldTypes(): Array Метод вернет массив типов полей с описанием.

Каждый элемент имеет следующую структуру:

  • name - строковый идентификатор [типа](../../20_main/userfield/config/20_types.md);
  • title - заголовок типа;
  • description - описание типа;
  • defaultTitle - заголовок по умолчанию для создания нового поля.
getMenu(params: {}): CreationMenu Метод вернет объект CreationMenu.
  • params - дополнительные параметры для передачи в BX.Main.Popup попапа с выбором типа поля.
setConfiguratorClass(configuratorClassName: string|Function) Устанавливает имя класса-наследника Configurator, который будет использоваться вместо стандартного.
setCustomTypesUrl(customTypesUrl: string): this Устанавливает адрес страницы, которая должна открыться в слайдере при клике на Дополнительный тип поля.
getConfigurator(params: {}): Configurator Возвращает объект Configurator для настройки поля userField.

params имеет структуру:

  • userField - объект UserField, для которого показывается форма настройки;
  • onSave - колбэк для вызова после сохранения формы;
  • onCancel - колбэк для вызова после нажатия кнопки отмены.
createUserField(fieldType: string, fieldName: ?string): UserField Метод вернет новый объект UserField.

Параметры:

  • fieldType - строковый идентификатор типа;
  • fieldName - название для нового поля. Если не передать, будет сгенерировано автоматически.
getDefaultLabel(fieldType: string): string Метод вернет заголовок поля по умолчанию (для нового).

Параметры:

  • fieldType - строковый идентификатор типа.
generateFieldName(): string Метод сгенерирует код поля на основе сущности и текущего времени.
onCustomTypeClick() Метод обработчик клика на Дополнительный тип поля.

События

Событие Описание
namespace: BX.UI.UserFieldFactory.Factory
OnGetUserTypesСобытие бросается после инициализации доступных типов пользовательских полей.

В обработчик придет массив со списком полей types, который можно изменить.

onCreateFieldСобытие бросается после создания объекта UserField в методе createUserField.

В обработчике можно получить объект userField.

onCreateCustomUserFieldСобытие бросается после создания объекта UserField через полную форму настройки поля.

В обработчике можно получить объект userField.



© «Битрикс», 2001-2024, «1С-Битрикс», 2024