Открыть меню
Платформа Эра. Документация
Toggle preferences menu
Открыть персональное меню
Вы не представились системе
Your IP address will be publicly visible if you make any edits.

Принципы разработки: различия между версиями

Материал из Платформа Эра. Документации
Строка 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. Создание служебного сценария