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
- Метод позволяет восстановить объект из сериализованной строки