Добавить информационную кнопку к полю на странице записи

Средний

Пример. Добавить информационную кнопку к полю ФИО (Full name) в профиль контакта страницы контакта. К информационной кнопке добавить всплывающую подсказку.

Создать схему замещающей модели представления страницы контакта 

  1. Перейдите в раздел Конфигурация (Configuration) и выберите пользовательский пакет, в который будет добавлена схема.
  2. На панели инструментов реестра раздела нажмите Добавить —> Замещающая модель представления (Add —> Replacing view model).

  3. Заполните свойства схемы.

    • Код (Code) — "ContactPageV2".
    • Заголовок (Title) — "Схема отображения карточки контакта" ("Display schema - Contact card").
    • Родительский объект (Parent object) — выберите "ContactPageV2".
  4. Добавьте локализуемую строку.

    1. В контекстном меню узла Локализуемые строки (Localizable strings) нажмите кнопку scr_add_button.png.
    2. Заполните свойства локализуемой строки.

      • Код (Code) — "InfoButtonCaption".
      • Значение (Value) — "Это обязательное поле" ("This is obligatory field").
    3. Для добавления локализуемой строки нажмите Добавить (Add).
  5. Реализуйте информационную кнопку.

    Для этого в массив модификаций diff добавьте конфигурационный объект с настройками расположения информационной кнопки к полю на странице.

    Исходный код схемы замещающей модели представления страницы контакта представлен ниже.

    ContactPageV2
    define("ContactPageV2", [], function () {
        return {
            /* Название схемы объекта страницы записи. */
            entitySchemaName: "Contact",
            /* Отображение информационной кнопки к полю на странице записи. */
            diff: /**SCHEMA_DIFF*/[
                /* Метаданные для добавления текста информационной кнопки. */
                {
                    /* Выполняется операция изменения существующего элемента. */
                    "operation": "merge",
                    /* Мета-имя родительского контейнера, в который добавляется информационная кнопка. */
                    "parentName": "ProfileContainer",
                    /* Информационная кнопка добавляется в коллекцию элементов родительского элемента. */
                    "propertyName": "items",
                    /* Мета-имя изменяемого поля. */
                    "name": "AccountName",
                    /* Свойства, передаваемые в конструктор элемента. */
                    "values": {
                        /* Настройка расположения информационной кнопки. */
                        "layout": { 
                            /* Номер столбца. */
                            "column": 0, 
                            /* Номер строки. */
                            "row": 1, 
                            /* Диапазон занимаемых столбцов. */
                            "colSpan": 22, 
                            /* Диапазон занимаемых строк. */
                            "rowSpan": 1 
                        }
                    }
                },
                {
                    /* Выполняется операция добавления элемента на страницу. */
                    "operation": "insert",
                    "parentName": "ProfileContainer",
                    "propertyName": "items",
                    "name": "SimpleInfoButton",
                    "values": {
                        "layout": { 
                            "column": 22, 
                            "row": 1, 
                            "colSpan": 1, 
                            "rowSpan": 1 
                        },
                        /* Тип добавляемого элемента — информационная кнопка. */
                        "itemType": Terrasoft.ViewItemType.INFORMATION_BUTTON,
                        /* Текст подсказки. */
                        "content": { "bindTo": "Resources.Strings.InfoButtonCaption" }
                    }
                }
            ]/**SCHEMA_DIFF*/
        };
    });
    
  6. На панели инструментов дизайнера нажмите Сохранить (Save).

Результат выполнения примера 

Чтобы посмотреть результат выполнения примера, обновите страницу раздела Контакты (Contacts).

В результате выполнения примера в профиль контакта страницы контакта добавлена информационная кнопка к полю ФИО (Full name).