AddAction

Добавляет новый элемент в источнике данных.

Extends

BaseAction

Syntax

new AddAction(parentView)

Parameters

Name Type Description
parentView View Родительское представление

Properties

Для работы с данными свойствами используйте методы getProperty и setProperty.

Name Type Description
linkView* LinkView Объект, который будет создавать и настраивать представление для создания нового элемента
sourceSource* String Название редактируемого источника данных на представлении создания
destinationSource String Название редактируемого источника данных, на представлении, откуда создание было вызвано
destinationProperty String Путь до поля в источнике данных, которое будет редактироваться. Данное поле должно быть представлено массивом

* Обязательное свойство.

Обратите внимание, что если не указать destinationProperty, то новый элемент будет добавляться непосредственно в источник данных, соответствующий destinationSource, иначе - добавиться в список элементов, соответствующий destinationProperty.

Схема работы AddAction

Examples

Рассмотрим вариант, когда на представлении parentView, нужно задать действие добавления пациента (пациенты хранятся в источнике данных Patients):

var linkView = (new InlineViewBuilder()).build(null, {
                                                        builder: args.builder,
                                                        metadata: {View: editPatientView},
                                                        parentView: parentView
                                                    });

var addAction = new AddAction(parentView);

addAction.setProperty('linkView', linkView);
addAction.setProperty('sourceSource', 'MainDataSource');
addAction.setProperty('destinationSource', 'Patients');

addAction.execute();

Теперь рассмотрим случай, когда текущему пациенту необходимо добавлять госпитализации (поле Hospitalizations):

var linkView = (new InlineViewBuilder()).build(null, {
                                                        builder: args.builder,
                                                        metadata: {View: editHospitalizationView},
                                                        parentView: parentView
                                                    });

var addAction = new AddAction(parentView);

addAction.setProperty('linkView', linkView);
addAction.setProperty('sourceSource', 'MainDataSource');
addAction.setProperty('destinationSource', 'Patients');
addAction.setProperty('destinationProperty', '$.Hospitalizations');

addAction.execute();

AddAction.metadata

Метаданные типа AddAction.

Properties

Name Type Description
LinkView* LinkView.metadata Объект, который будет создавать и настраивать представление
SourceValue.Source* String Название редактируемого источника данных на представлении редактирования
DestinationValue.Source String Название редактируемого источника данных, на представлении, откуда редактирование было вызвано
DestinationValue.Property String Путь до поля в источнике данных, которое будет редактироваться. Данное поле должно быть представлено массивом

* Обязательное свойство.

Examples

{
    "AddAction": {
        "DestinationValue": {
          "Source": "ParentsDataSource",
          "Property": "$.Children"
        },
        "SourceValue": {
          "Source": "MainDataSource"
        },
        "LinkView": {
          "InlineView": {
            ...
          }
        }
    }
}