Добавление триггеров действий в виджеты

Вы можете сделать следующее, чтобы создать динамические и интерактивные приложения с помощью Experience Builder:

  • Соединить виджеты с данными и настройте их с помощью динамических ресурсов.
  • Настройка взаимодействия между виджетом и средой (источником данных).
  • Настроить взаимодействие между виджетами.

Приложения Experience Builder управляются данными, а это означает, что данные, отображаемые виджетами, могут изменяться везде при обновлении лежащих в основе данных. Вы можете определить взаимодействия между виджетами и данными, настроив действия в ответ на триггеры. Например, вы можете настроить взаимодействие таким образом, что при изменении экстента карты в виджете Карта, остальные виджеты, например Список, обновляют фильтр и отображают только объекты текущего экстента, то есть изменение экстента виджета карта настроено как триггер, а фильтр записей в виджете Список - как действие в ответ на триггер. Поскольку виджеты управляются данными, действие фильтра применяется на уровне среды и данных, поэтому каждый виджет, использующий один и тот же вид данных, будет синхронизирован автоматически. Вы также можете настраивать взаимодействие между виджетами. Действия, настроенные для виджета, работают только внутри виджета. Например, вы можете синхронизировать экстент на двух виджетах Карта, то есть когда пользователь масштабирует или перемещает экстент в одном из виджетов, изменение экстента действует как триггер, и в другом виджете Карта также меняется экстент (действие).

Структура взаимодействия

Взаимодействия определяются и управляются в панели Действие исходного виджета, который предоставляет триггеры. Взаимодействие состоит из трех частей:

  • Триггеры из исходного виджета
  • Цели, реагирующие на триггер, включая виджеты и среду приложения
  • Действия со стороны цели, связанные с ее целевым использованием

Триггер исходного виджета может быть добавлен только один раз; однако вы можете добавить несколько действий для этого конкретного триггера из одной или другой цели.

Триггеры

Триггеры – это события, генерируемые исходным виджетом. Когда возникает триггер, любые добавленные к нему действия выполняются в качестве ответа. В следующей таблице описаны два типа триггеров, которые поддерживаются в настоящее время:

ТриггерDescription

Изменения экстента

Триггер возникает, когда экстент карты изменяется посредством панорамирования, масштабирования, изменения размера и так далее.

Изменения выборки записей

Триггер возникает, когда выбрана запись или выбор записи очищен.

Чтобы просмотреть доступные триггеры виджета, откройте его настройки и нажмите Добавить триггер на вкладке Действие. В следующей таблицы приведены исходные виджеты и поддерживаемые триггеры:

Исходный виджетИзменения экстентаИзменения выборки записей

Map

Да

Да

Информация об объекте

Да

Список

Да

Таблица

Да

Цели

Цели выполняют действия. Цель может быть виджетом среды. Если вы выбираете среду в качестве цели, то действие будет выполняться глобально – во всех соответствующих виджетах и страницах приложения.

Действия

В отличие от триггеров, которые определены средой, действия предоставляются целями (особенно виджетами) для выполнения определенной бизнес-логики. Некоторые действия могут потребовать дополнительной настройки в зависимости от того, как цель обрабатывает сообщение от триггера. Например, если вы настраиваете действие фильтра для вида данных, и триггер основан на других данных, вы можете отфильтровать целевой вид данных, установив атрибут или пространственное отношение. Вы также можете настроить условия SQL.

Различные цели обеспечивают различные действия, соответствующие различным триггерам. Доступные действия появляются, как только вы добавляете триггер и выбираете цель. В следующей таблице перечислены цели и соответствующие им действия:

ЦельДействие*Триггер: Изменения выборки записейТриггер: Изменения экстента

Платформа

Фильтровать записи данных – хранить только те записи данных, которые соответствуют условиям для дальнейшего отображения или обработки через приложение.

Да

Да

Выбрать записи данных** - отмечает записи как выбранные и помещает их в вид Выбранные объекты.

Да

Виджет Карта

Закрепить – сохранить текущий масштаб и центрировать в указанном местоположении.

Да

Да

Приблизить – приблизить к указанному местоположению.

Да

Да

Подсветить – подсветить объект на карте.

Да

Фильтр – хранить только те объекты, которые соответствуют условиям для просмотра виджета карт.

Да

*Для действий среды, если действие относятся к данным в виде по умолчанию, оно затронет все данные и их виды. Если действие относится к данным в конкретном виде, оно затронет только виджеты, использующие этот вид. Для действий виджетов каждое действие затронет только целевой виджет. (Например действие фильтра карты применяется только для фильтра записей карты и не затронет другие виджеты, использующие тот же слой.)

**Выбранное состояние записи синхронизируется через приложение и выбранные записи сохраняются в виде Выбранные объекты. Виджеты могут иметь различную конфигурацию для отображения выбранной записи.

Настройка и управление взаимодействиями

Настройте взаимодействие на вкладке Действие исходных виджетов (виджеты, предоставляющие триггеры). Добавьте и выберите триггер, выберите цель, а также добавьте и выберите действия. Каждый триггер можно добавить только один раз, но вы можете добавить несколько действий для одного и того же триггера, нажав Добавить действие. Действия для одного и того же триггера происходят в последовательном порядке. Перетащите действия, сгруппированные под триггером, чтобы изменить порядок.

Некоторые действия, такие как Фильтровать, Подсветить и Выбрать записи данных, требуют дополнительной настройки. При выборе действия отображаются параметры Настройки действия. После настройки вы можете изменить настройки позже, нажав для действия кнопку Настройки Настройки. Чтобы изменить действие или цель после добавления действия, необходимо удалить его и добавить новое. Удаление триггера также удаляет все добавленные к нему действия.

Пример использования

Добавьте триггеры действий для поддержки следующих требований к дизайну приложений:

  • Вы хотите создать приложение, которое сравнивает две карты, две сцены или карту и сцену, поэтому экстенты двух виджетов карты всегда должны быть синхронизированы. Вы можете добавить триггер Изменения экстента к обоим виджетам, выбрать другой виджет в качестве цели для каждого из них и выбрать действие Закрепить или Приблизить.
  • Вы добавляете виджет Список рядом с виджетом Карта и хотите, чтобы список отображал только записи в текущем экстенте карты. Вы можете добавить триггер Изменения экстента в виджет Карта, выбрать действие среды Фильтр записей данных, выбрать действие данных для вида данных, настроенного в опциях Списка и настроить действие с пространственным отношением к экстенту.