Можно задать компонент для использования регистрации действия, чтобы его можно было поместить на страницу, которая будет выполнять действия в пределах компонента.
Регистрация действий
Действия вызываются в компонентах при срабатывании триггеров. Компонент может зарегистрировать любое количество действий, а также определить полезные данные, поддерживаемые действием. Выбирая действия, пользователи могут ввести полезные данные, передаваемые действию.
Как и при регистрации триггеров, действия, поддерживаемые компонентом, можно зарегистрировать в данных регистрации appinfo.json
для темы.
Ниже приведен пример регистрации действия.
appinfo.json
своего компонента и обновите запись "actions":[],
.
"actions": [{ "actionName": "helloWorldChangeWhoIAm", "actionDescription": "Change Who I Am", "actionPayload": [{ "name": "whoAreYou", "description": "Who are you?", "type": { "ojComponent": { "component": "ojInputText"} }, }, "value": "" }] }]
После регистрации действие отображается в диалоговом окне действия, которое вызывается, если нажать имя триггера на вкладке Ссылка панели "Настройка" компонента.
Выполнение действий
После регистрации действия компоненты можно перетащить на страницу, на которой действия выполняются в пределах компонента. Чтобы выполнить действие, компонент должен прослушивать сообщение EXECUTE_ACTION
. Это сообщение также включает передаваемые действию полезные данные, из которых необходимо извлечь ожидаемые значения.
EXECUTE_ACTION
, измените файл render.js
и обновите объект ViewModel
с учетом следующих записей:
self.executeActionListener = function (args) { // get action and payload var payload = $.isArray(args.payload) ? args.payload[0] : {}, action = args.action, actionName = action && action.actionName; // handle 'helloWorldChangeWhoIAm' actions if ((actionName === 'helloWorldChangeWhoIAm') && (payload.name === 'whoAreYou')) { self.whoAreYou(payload.value); } };
В результате создается функция JavaScript для выполнения действия, а затем используется комплект Sites SDK для вызова функции при появлении сообщения EXECUTE_ACTION
.
Это действие вызывается при появлении сообщения EXECUTE_ACTION
, а компонент обрабатывает только те действия, для обработки которых он предназначен. Для этого необходимо проверить имя действия, чтобы убедиться, что его можно обработать.
Полезные данные для действия — это набор значений. В данном примере предполагается, что значение — это первая запись в массиве. Как правило, значения полезных данных должны быть указаны в массиве.
Примечание.:
Поскольку прослушиватель действий представляет собой обратный вызов, необходимо использовать замыкание JavaScript или соответствующим образом привязать функцию, чтобы обеспечить доступ кViewModel
при выполнении функции.