Клиентская схема модели представления — это схема визуального модуля, с помощью которой реализуется front-end часть приложения. Клиентская схема модели представления является конфигурационным объектом для генерации представления и модели представления генераторами Creatio ViewGenerator и ViewModelGenerator. Типы модулей и их особенности описаны в статье Виды клиентских модулей.
Разработка клиентской схемы
Способы разработки клиентских схем модели представления:
- Раздел Конфигурация (Configuration). Разработка с помощью раздела Конфигурация описана в статье Схема модели представления.
- Мастер разделов. Разработка раздела с помощью мастера разделов описана в статье Добавить новый раздел.
- Мастер деталей. Разработка деталей с помощью мастера деталей описана в статье Создать новую деталь.
Структурные элементы клиентской схемы:
- Автоматически сгенерированный код — содержит описание схемы, ее зависимостей, локализованных ресурсов и сообщений.
- Стили, используемые для визуализации (присутствуют не во всех типах клиентских схем).
- Исходный код схемы — синтаксически правильный код на языке JavaScript, который является определением модуля.
Маркерные комментарии необходимо использовать в исходном коде схемы для свойств diff, modules, details и businessRules.
Назначение маркерных комментариев — однозначное определение свойств клиентской схемы. При открытии мастера выполняется валидация наличия маркерных комментариев, которые представлены в таблице ниже.
Тип схемы | Необходимые маркерные комментарии |
---|---|
Схема представления модели страницы записи EditViewModelSchema |
|
Схема представления модели раздела ModuleViewModelSchema |
|
Схема представления модели детали с полями EditControlsDetailViewModelSchema | |
Схема представления модели детали DetailViewModelSchema | |
Схема представления модели детали с реестром GridDetailViewModelSchema |
Свойства клиентской схемы
Исходный код клиентских схем имеет общую структуру, которая представлена ниже.
После загрузки модуля выполняется вызов анонимной функции-фабрики, которая возвращает конфигурационный объект схемы. Свойства конфигурационного объекта схемы:
- entitySchemaName — имя схемы объекта, который используется текущей клиентской схемой.
- mixins — конфигурационный объект, который содержит объявление миксинов.
- attributes — конфигурационный объект, который содержит атрибуты схемы.
- messages — конфигурационный объект, который содержит сообщения схемы.
- methods — конфигурационный объект, который содержит методы схемы.
- rules — конфигурационный объект, который содержит бизнес-правила схемы.
- businessRules — конфигурационный объект, который содержит бизнес-правила схемы, созданные или измененные мастером разделов или мастером деталей. Маркерные комментарии /**SCHEMA_BUSINESS_RULES*/ обязательны к использованию для работы мастеров.
- modules — конфигурационный объект, который содержит модули схемы. Маркерные комментарии /**SCHEMA_MODULES*/ обязательны к использованию для работы мастеров.
- diff — массив конфигурационных объектов, который содержит описание представления схемы. Маркерные комментарии /**SCHEMA_DIFF*/ обязательны к использованию для работы мастеров.
- properties — конфигурационный объект, который содержит свойства схемы модели представления.
- $-свойства — автоматически сгенерированные свойства для атрибутов схемы модели представления.
Имя схемы (entitySchemaName)
Для реализации имени схемы объекта необходимо использовать обязательное свойство entitySchemaName. Достаточно указать его в одной из схем иерархии наследования.
Миксины (mixins)
Миксин — это класс-примесь, предназначенный для расширения функциональности других классов. В JavaScript нет множественного наследования, а наличие миксинов позволяет расширить функциональность схемы без дублирования логики, часто используемой в методах схемы. В разных клиентских схемах приложения Creatio может использоваться один и тот же набор действий. Чтобы не дублировать код в каждой схеме, необходимо создать миксин. Особенность миксинов в сравнении с другими модулями, подключаемыми в список зависимостей, — способ вызова методов из схемы модуля (к методам миксина можно обращаться напрямую, как к методам схемы). Для реализации миксинов необходимо использовать свойство mixins.
Алгоритм работы с миксинами:
- Создайте миксин.
- Присвойте миксину имя.
- Подключите соответствующее пространство имен.
- Реализуйте функциональность миксина.
- Используйте миксин в клиентской схеме.
Создать миксин
Создание миксина аналогично созданию схемы объекта.
Присвоить миксину имя
При именовании миксинов в названии схемы необходимо использовать суффикс "-able" (например, Serializable — миксин, который добавляет компонентам способность сериализироваться). Если нет возможности сформулировать имя миксина в описанной выше форме, необходимо в название схемы добавить окончание "Mixin".
Подключить пространство имен
Для миксина необходимо подключить соответствующее пространство имен (для конфигурации — Terrasoft.configuration.mixins, для ядра — Terrasoft.core.mixins).
Реализовать функциональность миксина
Миксины не должны зависеть от внутренней реализации схемы, к которой они будут применены. Это должен быть самодостаточный механизм, который принимает набор параметров, выполняет с ними действие и, при необходимости, возвращает результат. Миксины оформляются в виде модулей, которые необходимо подключить в список зависимостей схемы при ее объявлении функцией define().
Структура миксина представлена ниже.
Использовать миксин
Миксин реализует функциональность, необходимую в клиентской схеме. Чтобы получить набор действий миксина, необходимо указать его в свойстве mixins клиентской схемы.
После подключения можно пользоваться методами, атрибутами и полями миксина в клиентской схеме так, как будто они являются частью данной клиентской схемы. При этом вызовы методов получаются более краткими, чем при использовании отдельной схемы. Например, getDefaultImageResource — функция миксина. Для вызова функции миксина getDefaultImageResource в пользовательской схеме, к которой подключен миксин, необходимо записать this.getDefaultImageResource();.
Атрибуты (attributes)
Для реализации атрибутов необходимо использовать свойство attributes.
Сообщения (messages)
Назначение сообщений — организация обмена данными между модулями. Для реализации сообщений необходимо использовать свойство messages. Используя перечисление Terrasoft.MessageMode, можно задать режим сообщения.
Режим сообщения | Описание | Подключение |
---|---|---|
Адресное | Адресные сообщения принимаются только последним подписанным подписчиком. | Для установки сообщения в адресный режим необходимо свойству mode присвоить значение this.Terrasoft.MessageMode.PTP. |
Широковещательное | Широковещательные сообщения принимаются всеми подписчиками. | Для установки сообщения в широковещательный режим необходимо свойству mode присвоить значение this.Terrasoft.MessageMode.BROADCAST. |
Кроме режимов, также можно задать направление сообщения.
Направление сообщения | Описание | Подключение |
---|---|---|
Публикация | Cообщение может быть только опубликовано, т. е. является исходящим. | Для установки направления публикации сообщения необходимо свойству direction присвоить значение this.Terrasoft.MessageDirectionType.PUBLISH. |
Подписка | На сообщение можно только подписаться, т. е. является входящим. | Для установки направления подписки на сообщение необходимо свойству direction присвоить значение this.Terrasoft.MessageDirectionType.SUBSCRIBE. |
Двунаправленное | Позволяет публиковать и подписываться на одно и то же сообщение в разных экземплярах одного и того же класса или в рамках одной и той же иерархии наследования схем. В иерархии наследования схем не может быть объявлено одно и то же сообщение с разным направлением. Для таких случаев необходимо использовать двунаправленные сообщения, особенности которых описаны в статье Sandbox. | Соответствует значению перечисления Terrasoft.MessageDirectionType.BIDIRECTIONAL. |
Публикация сообщения
В схеме, в которой необходимо осуществить публикацию сообщения, должно быть объявлено сообщение с направлением "Публикация".
Публикация осуществляется вызовом метода publish у экземпляра класса sandbox.
Подписка на сообщение
В схеме-подписчике должно быть объявлено сообщение с направлением "Подписка".
Подписка осуществляется вызовом метода subscribe у экземпляра класса sandbox.
При адресном режиме метод messageHandler должен возвращать объект, который обрабатывается как результат публикации сообщения. При широковещательном режиме метод messageHandler ничего не возвращает.
Методы (methods)
Для реализации методов необходимо использовать свойство methods, которое содержит коллекцию методов, формирующих бизнес-логику схемы и влияющих на модель представления. По умолчанию контекст методов является контекстом модели представления.
Назначение свойства methods:
- Создавать новые методы.
- Расширять базовые методы родительских схем.
Бизнес-правила (rules и businessRules)
Бизнес-правила — это механизмы приложения, которые пользовательскими средствами позволяют настраивать поведение полей на странице или детали. Для реализации бизнес-правил необходимо использовать свойства rules и businessRules. Свойство businessRules используется для бизнес-правил, которые созданы или изменены мастером разделов или мастером деталей.
Назначение бизнес-правил:
- Cкрытие или отображение полей.
- Блокировка или доступность редактирования полей.
- Обязательность или необязательность заполнения полей.
- Фильтрация справочных полей в зависимости от значений в других полях.
Функциональность бизнес-правил реализована в клиентском модуле BusinessRuleModule. Для использования функциональности бизнес-правил необходимо в список зависимостей схемы добавить модуль BusinessRuleModule.
Типы бизнес-правил определены в перечислении RuleType модуля BusinessRuleModule.
Особенности бизнес-правил
Особенности объявления бизнес-правил:
- Все бизнес-правила описываются в свойстве rules схемы.
- Бизнес-правила применяются к колонкам модели представления, а не к элементам управления.
- Бизнес-правило имеет название.
- Параметры бизнес-правила задаются в конфигурационном объекте.
Особенности бизнес-правил, определенных в свойстве businessRules:
- Генерируются мастерами разделов или деталей.
- При создании нового бизнес-правила мастер генерирует его имя и добавляет его в клиентскую схему модели представления страницы записи.
- При описании сгенерированного бизнес-правила не используются перечисления модуля бизнес-правил BusinessRuleModule.
- Маркерные комментарии /**SCHEMA_BUSINESS_RULES*/ обязательны к использованию для работы мастеров.
- При выполнении имеют более высокий приоритет.
- При отключении бизнес-правила свойству enabled конфигурационного объекта присваивается значение false.
- При удалении бизнес-правила конфигурационный объект остается в клиентской схеме модели представления страницы записи, но свойству removed присваивается значение true.
Редактирование существующего бизнес-правила
После редактирования мастером созданного вручную бизнес-правила, остается неизменным конфигурационный объект бизнес-правила в свойстве rules модели представления страницы записи. При этом будет создана новая версия конфигурационного объекта бизнес-правила с тем же именем в свойстве businessRules.
При обработке бизнес-правила во время выполнения приложения приоритет отдается бизнес-правилу, определенному в свойстве businessRules. Поэтому последующие изменения этого бизнес-правила в свойстве rules никак не повлияют на систему.
Модули (modules)
Для реализации модулей необходимо использовать свойство modules, конфигурационный объект которого отвечает за объявление и конфигурирование модулей и деталей, загружаемых на страницу. Маркерные комментарии /**SCHEMA_MODULES*/ обязательны к использованию для работы мастеров.
Массив модификаций (diff)
Для реализации массива модификаций необходимо использовать свойство diff, которое содержит массив конфигурационных объектов. Назначение массива модификаций — построение представления модуля в интерфейсе системы. Каждый элемент массива представляет собой метаданные, на основании которых генерируются различные элементы управления интерфейса. Маркерные комментарии /**SCHEMA_DIFF*/ обязательны к использованию для работы мастеров.
Механизм псевдонимов alias
При разработке новых версий периодически возникает необходимость переместить элементы страницы в новые зоны. В ситуациях, когда пользователи проводили кастомизацию страницы записи, подобные изменения могут привести к непредсказуемым последствиям. Механизм псевдонимов alias обеспечивает частичную обратную совместимость при изменении пользовательского интерфейса в новых версиях продукта путем взаимодействия с построителем diff — классом json-applier, осуществляющим слияние параметров базовой схемы и клиентских расширяющих схем.
Свойство alias содержит информацию о предыдущем названии элемента. Эта информация учитывается при построении массива модификаций diff, сообщая о необходимости учитывать элементы не только с новым именем, но и с именем, указанным в alias. Фактически, alias представляет собой конфигурационный объект, который связывает новый и старый элементы. При построении массива модификаций diff благодаря конфигурационному объекту alias можно исключить применение некоторых свойств и операций по отношению к элементу, в котором он объявлен. Объект alias может быть добавлен в любой элемент массива модификаций diff.
Связь между представлением и моделью
Назначение свойства bindTo — указание связи между атрибутом модели представления и свойством объекта представления.
Объявляется в свойстве values конфигурационных объектов массива diff.
Ниже представлен пример использования свойства bindTo.
Вкладки — объекты, которые в свойстве propertyName содержат значение tabs.
Для заголовков вкладок реализован альтернативный способ использования свойства bindTo.
Правила объявления свойства diff
-
Корректное использование конвертеров.
Конвертер — это функция, которая выполняется в окружении viewModel и, получая значения свойства viewModel, должна вернуть результат соответствующего типа. Для корректной работы мастеров значение свойства diff должно быть представлено в формате JSON. Поэтому значением конвертера должно быть имя метода модели представления, а не inline-функция.
-
Родительский элемент.
Родительский элемент (контейнер) — это DOM-элемент, в который модуль отрисует свое представление. Для корректной работы мастерам необходимо, чтобы родительский контейнер содержал только один дочерний элемент.
При добавлении, изменении, перемещении элемента (операции insert, merge, move) в свойстве diff необходимо указать свойство parentName — имя родительского элемента.
Если отсутствует свойство parentName, то при открытии мастера отобразится ошибка о невозможности настройки страницы мастером.
Значение свойства parentName должно соответствовать имени родительского элемента в соответствующей базовой схеме страницы. Так, например, для страниц записи это CardContentContainer.
Если в качестве родительского элемента в свойстве parentName указать имя несуществующего элемента-контейнера, то возникнет ошибка "Схема не может иметь более одного корневого объекта" ("Schema cannot have more than one root object"), поскольку добавляемый элемент будет помещен в корневой контейнер.
-
Уникальность имен.
Каждый элемент в массиве diff должен иметь уникальное имя.
-
Размещение элементов представления.
Чтобы иметь возможность настраивать и изменять элементы представления, они должны находиться на сетке разметки. В Creatio каждый ряд сетки разметки имеет 24 ячейки (столбца). Для размещения на сетке используется свойство layout.
Cвойства элемента сетки:
- column — индекс левого столбца.
- row — индекс верхней строки.
- colSpan — количество занимаемых столбцов.
- rowSpan — количество занимаемых строк.
-
Количество операций.
Если клиентская схема изменяется без помощи мастера, то для корректной работы мастера рекомендуется добавлять не более одной операции для одного элемента в редактируемой схеме.
Свойства (properties)
Для реализации свойств необходимо использовать свойство properties, которое содержит JavaScript-объект.
Пример использования свойства properties в схеме SectionTabsSchema пакета NUI представлен ниже.
1. Создать миксин
- Перейдите в раздел Конфигурация (Configuration) и выберите пользовательский пакет, в который будет добавлена схема.
- На панели инструментов реестра раздела нажмите Добавить —> Модуль (Add —> Module).
-
В дизайнере схем заполните свойства схемы:
- Код (Code) — "UsrExampleMixin".
- Заголовок (Title) — "ExampleMixin".
Для применения заданных свойств нажмите Применить (Apply).
-
В дизайнере схем добавьте исходный код.
- На панели инструментов дизайнера нажмите Сохранить (Save).
2. Подключить миксин
- Перейдите в раздел Конфигурация (Configuration) и выберите пользовательский пакет, в который будет добавлена схема.
- На панели инструментов реестра раздела нажмите Добавить —> Модель представления страницы (Add —> Page view model).
-
В дизайнере схем заполните свойства схемы:
- Код (Code) — "UsrExampleSchema".
- Заголовок (Title) — "ExampleSchema".
- Родительский объект (Parent object) — "BaseProfileSchema".
Для применения заданных свойств нажмите Применить (Apply).
Чтобы использовать миксин, подключите его в блоке mixins пользовательской схемы ExampleSchema.
3. Переопределить метод миксина
В дизайнере схем добавьте исходный код. В блоке method переопределите метод миксина getReadImageURL(). Используйте переопределенную функцию в блоке diff.
На панели инструментов дизайнера нажмите Сохранить (Save).
Есть начальный элемент массива модификаций diff с именем "Name" и некоторым набором свойств. Элемент расположен в контейнере Header. Эта схема замещена несколько раз, при этом элемент с именем "Name" всячески модифицируется и перемещается.
В новой версии элемент с именем "Name" был перемещен из элемента SomeContainer в элемент ProfileContainer и должен там остаться, несмотря на кастомизации клиента. Для этого элемент получает новое имя "NewName" и к нему добавляется конфигурационный объект alias.
В новом элементе добавился alias, изменился родительский элемент и его расположение на странице записи. В свойстве excludeProperties хранится набор свойств, которые будут проигнорированы при применении разницы, а внутри excludeOperations хранится набор операций, которые не будут применяться к этому элементу из замещений.
В данном примере исключены свойства layout всех наследников для элемента с именем "Name", а также запрещены операции remove и move. Это говорит о том, что элемент с именем "NewName" будет содержать только корневое свойство layout и все свойства элемента "Name" из замещений, кроме Layout. Это же касается и операций.
Свойство attributes клиентской схемы содержит конфигурационный объект со своими свойствами.
Основные свойства
Тип данных атрибута. Будет использоваться при генерации представления. Доступные типы данных представлены перечислением Terrasoft.DataValueType.
GUID | 0 |
TEXT | 1 |
INTEGER | 4 |
FLOAT | 5 |
MONEY | 6 |
DATE_TIME | 7 |
DATE | 8 |
TIME | 9 |
LOOKUP | 10 |
ENUM | 11 |
BOOLEAN | 12 |
BLOB | 13 |
IMAGE | 14 |
CUSTOM_OBJECT | 15 |
IMAGELOOKUP | 16 |
COLLECTION | 17 |
COLOR | 18 |
LOCALIZABLE_STRING | 19 |
ENTITY | 20 |
ENTITY_COLLECTION | 21 |
ENTITY_COLUMN_MAPPING_COLLECTION | 22 |
HASH_TEXT | 23 |
SECURE_TEXT | 24 |
FILE | 25 |
MAPPING | 26 |
SHORT_TEXT | 27 |
MEDIUM_TEXT | 28 |
MAXSIZE_TEXT | 29 |
LONG_TEXT | 30 |
FLOAT1 | 31 |
FLOAT2 | 32 |
FLOAT3 | 33 |
FLOAT4 | 34 |
LOCALIZABLE_PARAMETER_VALUES_LIST | 35 |
METADATA_TEXT | 36 |
STAGE_INDICATOR | 37 |
Тип колонки. Необязательный параметр, который используется во внутренних механизмах BaseViewModel. Доступные типы колонок представлены перечислением Terrasoft.ViewModelColumnType.
ENTITY_COLUMN | 0 |
CALCULATED_COLUMN | 1 |
VIRTUAL_COLUMN | 2 |
RESOURCE_COLUMN | 3 |
Значение атрибута. Значение этого параметра будет установлено в модель представления при ее создании. В атрибуте value можно задавать числовые, строковые и логические значения. Если тип атрибута подразумевает использование значения ссылочного типа (массив, объект, коллекция и т. д.), то его начальное значение необходимо инициализировать с помощью методов.
Дополнительные свойства
Заголовок атрибута.
Признак обязательности заполнения атрибута.
Зависимость от другого атрибута модели. Например, установка атрибута в зависимости от значения другого атрибута. Используется для создания вычисляемых полей.
Свойство, отвечающее за свойства поля-справочника. Использование данного параметра описано в статье Настроить фильтрацию значений справочного поля. Это конфигурационный объект, который может содержать в себе опциональные свойства.
сolumns | Массив имен колонок, которые будут добавлены к запросу дополнительно к колонке Id и первичной для отображения колонке. |
orders | Массив конфигурационных объектов, которые определяют сортировку данных при отображении. |
filter | Метод, возвращающий объект класса Terrasoft.BaseFilter или его наследника, который, в свою очередь, будет применен к запросу. Не может использоваться совместно со свойством filters. |
filters | Массив фильтров (методов, возвращающих коллекции класса Terrasoft.FilterGroup). Не может использоваться совместно со свойством filter. |
Свойство messages клиентской схемы содержит конфигурационный объект со своими свойствами.
Cвойства
Режим сообщения. Доступные режимы представлены перечислением Terrasoft.MessageMode.
PTP | Адресное. |
BROADCAST | Широковещательное. |
Направление сообщения. Доступные режимы представлены перечислением Terrasoft.MessageDirectionType.
PUBLISH | Публикация. |
SUBSCRIBE | Подписка. |
BIDIRECTIONAL | Двунаправленное. |
Свойства rules и businessRules клиентской схемы содержат конфигурационный объект со своими свойствами.
Основные свойства
Тип правила. Определяется значением перечисления BusinessRuleModule.enums.RuleType.
BINDPARAMETER | Тип бизнес-правила. Используется для настройки привязки свойств одной колонки к значениям различных параметров. Например, чтобы настроить видимость или доступность колонки в зависимости от значения другой колонки. |
FILTRATION | Тип бизнес-правила. Используется для настройки фильтрации значений колонки модели представления. Например, для фильтрации определенной колонки с типом LOOKUP в зависимости от значения текущего состояния страницы. |
Используется для типа бизнес-правила BINDPARAMETER. Свойство элемента управления. Задается значением перечисления BusinessRuleModule.enums.Property.
VISIBLE | Видимость колонки. |
ENABLED | Доступность колонки. |
REQUIRED | Обязательность для заполнения. |
READONLY | Колонка доступна для чтения. |
Используется для типа бизнес-правила BINDPARAMETER. Массив условий применения правила. Каждое условие представляет собой конфигурационный объект.
leftExpression | Выражение левой части условия. Представляет собой конфигурационный объект.
Свойства конфигурационного объекта
Тип выражения. Задается значением из перечисления BusinessRuleModule.enums.ValueType. Возможные значения (BusinessRuleModule.enums.ValueType)
Название колонки модели. Мета-путь к колонке справочной схемы. Значение для сравнения. |
||||||||
comparisonType | Тип сравнения. Задается значением из перечисления Terrasoft.core.enums.ComparisonType. | ||||||||
rightExpression | Выражение правой части условия. Аналогично leftExpression. |
Используется для типа бизнес-правила BINDPARAMETER. Логическая операция объединения условий из свойства conditions. Задается значением из перечисления Terrasoft.LogicalOperatorType.
Используется для типа бизнес-правила FILTRATION. Признак обратной фильтрации. Может принимать значения true или false.
Используется для типа бизнес-правила FILTRATION. Признак автоматической очистки значения при изменении колонки, по которой осуществляется фильтрация. Может принимать значения true или false.
Используется для типа бизнес-правила FILTRATION. Мета-путь к колонке справочной схемы, по которой будет выполняться фильтрация. При построении пути к колонке применяется принцип обратной связи так же, как в EntitySchemaQuery. Путь формируется относительно схемы, на которую ссылается колонка модели.
Используется для типа бизнес-правила FILTRATION. Тип операции сравнения. Задается значением из перечисления Terrasoft.ComparisonType.
Используется для типа бизнес-правила FILTRATION. Тип значения, с которым будет сравниваться baseAttributePatch. Задается значением из перечисления BusinessRuleModule.enums.ValueType.
Используется для типа бизнес-правила FILTRATION. Имя колонки модели представления. Это свойство описывается в том случае, если указан тип значения (type) ATTRIBUTE.
Используется для типа бизнес-правила FILTRATION. Мета-путь к колонке схемы объекта. При построении пути к колонке применяется принцип обратной связи так же, как в EntitySchemaQuery. Путь формируется относительно схемы, на которую ссылается колонка модели.
Используется для типа бизнес-правила FILTRATION. Значение для фильтрации. Это свойство описывается в том случае, если указан тип значения (type) ATTRIBUTE.
Дополнительные свойства
Дополнительные свойства используются только для свойства businessRules.
Уникальный идентификатор правила. Значение типа "GUID".
Признак активности. Может принимать значения true или false.
Признак, указывающий, является ли правило удаленным. Может принимать значения true или false.
Признак, указывающий, является ли правило корректным. Может принимать значения true или false.
Свойство diff клиентской схемы содержит массив конфигурационных объектов со своими свойствами.
Cвойства
Операции с элементами.
set | Значение элемента схемы устанавливается значением параметра values. |
merge | Значения из родительских, замещаемых и замещающих схем сливаются вместе, при этом свойства из значения параметра values последнего наследника имеют приоритет. |
remove | Элемент удаляется из схемы. |
move | Элемент перемещается в другой родительский элемент. |
insert | Элемент добавляется в схему. |
Имя элемента схемы, с которым выполняется операция.
Имя родительского элемента схемы, в котором размещается элемент при операции insert, или в который перемещается элемент при операции move.
Имя параметра родительского элемента при операции insert. Также используется при операции remove, если нужно удалить только определенные параметры элемента, а не весь элемент.
Индекс, в который перемещается или добавляется параметр. Параметр используется с операциями insert и move. Если параметр не указан, то вставка идет последним элементом массива.
Объект, свойства которого будут установлены либо объединены со свойствами элемента схемы. Используется при операциях set, merge и insert.
Набор основных элементов, которые можно отобразить на странице, представлены перечислением Terrasoft.ViewItemType.
GRID_LAYOUT | 0 | Элемент-сетка, включающий в себя размещение других элементов управления. |
TAB_PANEL | 1 | Набор вкладок. |
DETAIL | 2 | Деталь. |
MODEL_ITEM | 3 | Элемент модели представления. |
MODULE | 4 | Модуль. |
BUTTON | 5 | Кнопка. |
LABEL | 6 | Надпись. |
CONTAINER | 7 | Контейнер. |
MENU | 8 | Выпадающий список. |
MENU_ITEM | 9 | Элемент выпадающего списка. |
MENU_SEPARATOR | 10 | Разделитель выпадающего списка. |
SECTION_VIEWS | 11 | Представления раздела. |
SECTION_VIEW | 12 | Представление раздела. |
GRID | 13 | Реестр. |
SCHEDULE_EDIT | 14 | Планировщик. |
CONTROL_GROUP | 15 | Группа элементов. |
RADIO_GROUP | 16 | Группа переключателей. |
DESIGN_VIEW | 17 | Настраиваемое представление. |
COLOR_BUTTON | 18 | Цвет. |
IMAGE_TAB_PANEL | 19 | Набор вкладок с иконками. |
HYPERLINK | 20 | Гиперссылка. |
INFORMATION_BUTTON | 21 | Информационная кнопка из всплывающей подсказкой. |
TIP | 22 | Всплывающая подсказка. |
COMPONENT | 23 | Компонент. |
PROGRESS_BAR | 30 | Индикатор. |
Конфигурационный объект.
name | Имя элемента, с которым связан новый элемент. По этому имени будут находиться элементы в замещенных схемах и связываться с новым элементом. Значение cвойства name элемента массива модификаций diff не должно быть равным свойству alias.name. |
excludeProperties | Массив свойств объекта values элемента массива модификаций diff, которые не будут применяться при построении diff. |
excludeOperations | Массив операций, которые не должны применяться к данному элементу при построении массива модификаций diff. |