Структура клиентской схемы
Glossary Item Box
Введение
Клиентская схема модели представления — это схема визуального модуля, с помощью которой реализуется клиентская часть приложения. Клиентская схема модели представления по своей сути является неким конфигурационным объектом для генерации представления и модели представления генераторами bmp’online ViewGenerator и ViewModelGenerator. Подробнее о типах клиентских модулей можно узнать из статьи "Типы модулей и их особенности".
Структура исходного кода клиентской схемы
Все схемы имеют общее строение. Общая структура исходного кода схемы имеет следующий вид:
define("ExampleSchema", [], function() { return { entitySchemaName: "ExampleEntity", mixins: {}, attributes: {}, messages: {}, methods: {}, rules: {}, businessRules: /**SCHEMA_BUSINESS_RULES*/{}/**SCHEMA_BUSINESS_RULES*/, modules: /**SCHEMA_MODULES*/{}/**SCHEMA_MODULES*/, diff: /**SCHEMA_DIFF*/[]/**SCHEMA_DIFF*/ }; });
Конфигурационный объект схемы, возвращаемый анонимной функцией-фабрикой, вызываемой после загрузки модуля, может иметь следующие свойства:
entitySchemaName — имя схемы объекта (модели), который будет использоваться данной клиентской схемой.
mixins — конфигурационный объект, содержащий объявление миксинов. Подробнее о миксинах и их использовании можно узнать из статьи "Миксины. Свойство mixins".
attributes — конфигурационный объект, содержащий атрибуты схемы. Подробнее атрибуты рассматриваются в статье "Атрибуты. Свойство attributes".
messages — конфигурационный объект, содержащий сообщения схемы. Детально сообщения описаны в статье "Сообщения. Свойство messages".
methods — конфигурационный объект, содержащий методы схемы. Основные сведения об этом свойстве приведены в статье "Методы. Свойство methods".
rules — конфигурационный объект, содержащий бизнес-правила схемы. Это свойство подробно рассмотрено в статье "Бизнес-правила. Свойство rules".
businessRules — конфигурационный объект, содержащий бизнес-правила схемы созданные или измененные мастером разделов или мастером детали. Маркерные комментарии /**SCHEMA_BUSINESS_RULES*/ обязательны, так как необходимы для работы мастеров. Это свойство подробно рассмотрено в статье "Бизнес-правила. Свойство businessRules".
modules — конфигурационный объект, содержащий модули схемы. Маркерные комментарии /**SCHEMA_MODULES*/ обязательны, так как необходимы для работы мастеров. Подробнее это свойство рассмотрено в статье "Модули. Свойство modules".
К СВЕДЕНИЮ
Для загрузки детали на страницу используется свойство details. Однако, поскольку деталь по сути является модулем, то более правильным будет использование свойства modules.
diff — массив конфигурационных объектов, содержащий описание представления схемы. Маркерные комментарии /**SCHEMA_DIFF*/ обязательны, так как необходимы для работы мастеров. Подробности конфигурирования массива diff рассмотрены в статье "Массив diff".
ptoperties — конфигурационный объект, содержащий свойства модели представления. Это свойство подробно рассмотрено в статье "Свойства. Свойство properties".
$-свойства — автоматически сгенерированные свойства для атрибутов модели представления. Подробно рассмотрены в статье "Автоматически генерируемые свойства модели представления".
Требования к формату схем для обеспечения совместимости с мастерами
Клиентские схемы модели представления
Обработка потери контекста данных