Функции компонента UI

Определяет свойства функций, объявленных UI-компонентом. Содержит поля, идентичные функциям модели, за исключением следующих полей:

  • Запрос. Функции запроса не поддерживаются UI-компонентом.

  • Драйверы и расширения. Компоненты UI не могут быть определены плагинами сервера.

Реализация Функций компонента

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

Определение функции

В группе Функции компонента определите функцию со следующими параметрами:

Поле

Значение

Название

exampleFunction

Описание

Функция примера

Входной формат

  • Минимальное количество записей: 1

  • Максимальное количество записей: 1

  • Поля:

    • Название: вход

    • Тип: String

    • Описание: вход

Выходной формат

  • Минимальное количество записей: 1

  • Максимальное количество записей: 1

  • Поля:

    • Название: выход

    • Тип: String

    • Описание: выход

Тип

Выражение

Выражение расширенного поиска

"Значение для ввода было:" + {input}

Эта функция принимает на вход таблицу данных с одной строкой и одним полем с именем "input", а на выходе возвращает таблицу данных с одной строкой и полем с именем "output".

Вызов функции из кода компонента

Один из способов вызова функции в коде компонента - вызов функции callFunction(functionName, payload [, context]) из функционального компонента React, например:

const Компонент: React.FC<CustomWrappedComponentProps> = ({ component, componentModel, someVariable = "", myVariable }) => { ... const functionOutput = componentModel.callFunction("exampleFunction", [{input: "Текущее входное значение"}]) ... };

Аргументы в приведенном выше примере следующие:

  • "exampleFunction" - Указывает на функцию exampleFunction, определенную ранее.

  • [{input: "Это входное значение"}] - таблица данных с одной строкой и полем с именем "input" со значением "Это входное значение".

  • context - Контекст оставлен пустым, так как функция находится в контексте компонента.

Выходом функции functionOutput будет таблица данных [{output: "Входное значение было: Текущее входное значение"}].

Функция также может быть использована в определении функции React в классе Модель, как показано ниже:

class Модель extends AbstractWebComponent implements WebComponentМодель { ... callExampleFunction() { this.callFunction("exampleFunction", [{input: "Текущее входное значение"}]) } ... }

Затем callExampleFunction() может быть использована в другом месте как функция, определенная в классе Модель