BX.UI.UserField
Описание
Расширение содержит класс для модели настроек пользовательского поля.
Модель используется:
На вход конструктора приходит объект UserFieldData со структурой, которую возвращают методы контроллера настроек:
declare type UserFieldData = {
id: ?number,
fieldName: string,
detailUrl: ?string,
enum: ?Array,
entityId: string,
xmlId: ?string,
sort: number,
mandatory: string,
showFilter: string,
isSearchable: string,
settings: ?{},
};
Методы
| Метод | Описание | С версии |
|---|---|---|
constructor(data: UserFieldData, params: ?{}) | Конструктор. Параметры:
|
Ajax-методы
| Метод | Описание | С версии |
|---|---|---|
load(): Promise<UserField,string[]> | Метод делает ajax-запрос с попыткой загрузить актуальные данные о настройке пользовательского поля. В случае успеха данные о настройках обновятся автоматически.
Метод вернет | |
save(): Promise<UserField,string[]> | Метод делает ajax-запрос с попыткой сохранить настройки пользовательского поля. Автоматически определяет, что надо выполнить - добавление (если id не задано) или обновление.
Метод вернет | |
delete(): Promise<UserField,string[]> | Метод делает аякс-запрос с попыткой удалить настройки пользовательского поля. В случае успеха поле будет помечено как удаленное (метод isDeleted() вернет true).
Вернет |
Геттеры и сеттеры
-
setLanguageId(languageId: string): this -
getLanguageId(): string -
setModuleId(moduleId: string): this -
getId(): number -
getName(): ?string -
setName(name: string): this- Не меняется на сохраненном поле -
getEntityId(): string -
getUserTypeId(): string -
setUserTypeId(userTypeId: string): this- Не меняется на сохраненном поле -
isMultiple(): boolean -
setIsMultiple(isMultiple: boolean|string): this- Не меняется на сохраненном поле -
isMandatory(): boolean -
setIsMandatory(mandatory: boolean): this -
getDetailUrl(): ?string -
isDeleted(): boolean- Вернетtrue, если поле было удалено через методаdelete() -
getEnumeration(): ?Array- Вернет массив с вариантами значений для свойства типа "Список" -
setEnumeration(items: Array): this- Устанавливает варианты значений для свойства типа "Список" -
getTitle(): string -
setTitle(title: string, languageId: ?string): this -
setData(data: UserFieldData): this- Устанавливает данные о настройках поля -
getData(): UserFieldData- Возвращает данные о настройках поля
Сериализация
В некоторых случаях необходимо передавать объект между несколькими окнами, когда настройки поля открываются и изменяются в слайдере, а после этого этот же объект должен попасть на родительскую страницу.
Объект целиком нельзя передать корректно из одного окна в другое, поэтому в одном окне объект необходимо сериализовать, а в другом - восстановить из строки.
serialize(): string - метод вернет строку с сериализованными данными об объекте
static unserialize(serializedData: string): UserField - Метод позволяет восстановить объект из сериализованной строки