Дополнительные действия
AZykov (обсуждение | вклад) |
AZykov (обсуждение | вклад) |
||
Строка 13: | Строка 13: | ||
= Применение TS-кода в No-Code редакторах = | = Применение TS-кода в No-Code редакторах = | ||
[[Файл:Переопределение TypeScript-методов в классе.png|мини|Переопределение методов в редакторе класса]] | |||
Платформа предлагает широкие возможности по модификации логики объектов с помощью переопределения некоторых TypeScript-методов в редакторах объектов. Переопределен может быть как серверный, так и клиентский код. | |||
В случае использования данного инструмента, в соответствующие поля необходимо вносить тело метода, платформа при применении изменений в пакете автоматически создаст всю необходимую обвязку данного метода и задаст указанный код в качестве его тела. | |||
Переопределенные клиентские методы будут автоматически применены в сгенерированном системой контроле. | |||
Методы, доступные для переопределения в редакторах: | |||
{| class="wikitable" | |||
|+Методы, доступные для переопределения | |||
!Имя объекта | |||
!Имя метода | |||
!Контекст исполнения | |||
!Комментарий | |||
|- | |||
| rowspan="9" |Класс | |||
|afterApplyUpdatesCode | |||
|Серверный | |||
|Метод вызывается после применения изменений в данных объекта класса | |||
|- | |||
|beforeInsertCode | |||
|Серверный | |||
|Метод вызывается перед добавлением нового объекта класса | |||
|- | |||
|beforeModifyCode | |||
|Серверный | |||
|Метод вызывается перед изменением данных объекта класса | |||
|- | |||
|beforeDeleteCode | |||
|Серверный | |||
|Метод вызывается перед удалением объекта класса | |||
|- | |||
|autoCalcCondition | |||
|Серверный | |||
| | |||
|- | |||
|doubleClickCode | |||
|Клиентский | |||
| | |||
|- | |||
|autoFocusConditionCode | |||
|Клиентский | |||
| | |||
|- | |||
|beforeInitCode | |||
|Клиентский | |||
|Метод вызывается перед инициализацией контрола в браузере | |||
|- | |||
|afterInitCode | |||
|Клиентский | |||
|Метод вызывается после инициализации контрола в браузере | |||
|- | |||
|Класс/DataProperty | |||
|beforeSetCode | |||
|Серверный | |||
|Метод вызывается перед установкой нового значения в свойство объекта класса | |||
|- | |||
| | |||
|afterSetCode | |||
|Серверный | |||
|Метод вызывается после установки нового значения в свойство объекта класса | |||
|- | |||
| | |||
|dynamicEditorCode | |||
|Клиентский | |||
| | |||
|- | |||
| | |||
|visibilityConditionCode | |||
|Клиентский | |||
|Метод, определяющий видимость свойства класса. Должен возвращать true или false | |||
|- | |||
| | |||
|readOnlyConditionCode | |||
|Клиентский | |||
|Метод, определяющий доступность свойства класса для редактирования. Должен возвращать true или false | |||
|- | |||
| | |||
|dynamicFilterCode | |||
|Клиентский | |||
| | |||
|- | |||
| | |||
|afterValueChangedCode | |||
|Клиентский | |||
|Метод вызывается после измнеения значения свойства класса (на клиенте) | |||
|- | |||
| | |||
|validationCode | |||
|Клиентский | |||
|Метод вызывается после изменения значения свойства, для его валидации. Должен возвращать true или false | |||
|} | |||
= Разработка в файловой системе = | = Разработка в файловой системе = |
Версия от 11:33, 3 марта 2025
Предыдущая статья курса: Задание 7. Создание служебного сценария
Общая информация
Любое приложение на платформе эра состоит из набора пакетов. При переходе от No-Code разработки к разработке с помощью кода этот подход не меняется.
Все объекты пакета, созданные с помощью No-Code редакторов, преобразуются механизмами платформы в набор классов. Большинство классов не доступно для редактирования внешними средствами. Исключение составляют сервисы пакета, для них доступно полное изменение исходного кода и его замена.
Разработка приложений на платформе эра выполняется с помощью языка TypeScript. В большинстве случаев, можно выбрать контекст исполнения кода - он может быть клиентский (в браузере) или серверный (на сервере приложений продуктового слоя). В случае использования серверного контекста, код будет исполняться при помощи NodeJS версии 14.Х.
В рамках платформы, при разработке, применяется принцип разделения интерфейсов (см. SOLID).
Более полную архитектуру платформы и её модулей можно найти в соответствующей статье.
Применение TS-кода в No-Code редакторах

Платформа предлагает широкие возможности по модификации логики объектов с помощью переопределения некоторых TypeScript-методов в редакторах объектов. Переопределен может быть как серверный, так и клиентский код.
В случае использования данного инструмента, в соответствующие поля необходимо вносить тело метода, платформа при применении изменений в пакете автоматически создаст всю необходимую обвязку данного метода и задаст указанный код в качестве его тела.
Переопределенные клиентские методы будут автоматически применены в сгенерированном системой контроле.
Методы, доступные для переопределения в редакторах:
Имя объекта | Имя метода | Контекст исполнения | Комментарий |
---|---|---|---|
Класс | afterApplyUpdatesCode | Серверный | Метод вызывается после применения изменений в данных объекта класса |
beforeInsertCode | Серверный | Метод вызывается перед добавлением нового объекта класса | |
beforeModifyCode | Серверный | Метод вызывается перед изменением данных объекта класса | |
beforeDeleteCode | Серверный | Метод вызывается перед удалением объекта класса | |
autoCalcCondition | Серверный | ||
doubleClickCode | Клиентский | ||
autoFocusConditionCode | Клиентский | ||
beforeInitCode | Клиентский | Метод вызывается перед инициализацией контрола в браузере | |
afterInitCode | Клиентский | Метод вызывается после инициализации контрола в браузере | |
Класс/DataProperty | beforeSetCode | Серверный | Метод вызывается перед установкой нового значения в свойство объекта класса |
afterSetCode | Серверный | Метод вызывается после установки нового значения в свойство объекта класса | |
dynamicEditorCode | Клиентский | ||
visibilityConditionCode | Клиентский | Метод, определяющий видимость свойства класса. Должен возвращать true или false | |
readOnlyConditionCode | Клиентский | Метод, определяющий доступность свойства класса для редактирования. Должен возвращать true или false | |
dynamicFilterCode | Клиентский | ||
afterValueChangedCode | Клиентский | Метод вызывается после измнеения значения свойства класса (на клиенте) | |
validationCode | Клиентский | Метод вызывается после изменения значения свойства, для его валидации. Должен возвращать true или false |
Разработка в файловой системе
Запуск TS-модулей и отладка
Следующая статья курса: Обработчики данных
Предыдущая статья курса: Задание 7. Создание служебного сценария