You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Дать прикладным разработчикам возможность описывать в дизайнере собственные типы данных и реализовывать корректную работу с полями таких типов на фронтенде.
Функциональные требования
Необходимо реализовать возможность описать маппинг для класса со стереотипом typedef на диаграмме классов на некий кастомный тип в генерируемых метаданных модели
При генерации модели из метаданных по блюпринту в сгенерированный миксин модели должен проставляться attr заданного типа
Очень хотелось бы иметь блюпринт для генерации кастомного ember-flexberry-friendly трансформа. Под ember-flexberry-friendly понимается генерация, помимо самого файла трансформа и тестов для него, файлов заготовок для реализации корректной работы с атрибутами данного типа в построителе url-а запроса, в построителе предикатов, в фильтрах ОЛВ, в построителе тела post-запроса. Общая цель в том, чтобы атрибуты данного типа корректно сериализовывались/десериализовывались, а также по ним строились корректные предикаты. Возможно есть еще места, где тип атрибута модели влияет на логику работы с этим атрибутом.
Требования к реализации
На начальном этапе видится что можно добавить в метаданные файл с картой типов для фронтенда, чтобы разработчик мог вручную его править и была его поддержка в блюпринтах моделей. Следующим шагом можно реализовать генерацию такого файла при инициализации эмбер приложения. И затем уже можно будет добавить возможность редактирования этой карты типов в сам дизайнер. Единственное, надо как-то реализовать, чтобы в метаданные вгенерировалась информация, что для определенного поля модели указан тип с typedef и требуется при генерации использовать карту типов. Судя по всему сейчас в файл метаданных генерируется flexberryType, который как будто бы в блюпринте не используется, а при этом туда попадает как раз имя типа, указанное для поля в дизайнере. Можно на основе flexberryType сделать.
Нужно поискать по коду ember-flexberry и ember-flexberry-data где есть логика, зависящая от типа атрибута, и придумать как в эти места добавить возможность расширения. После этого придумать каким образом автоматизировать и упростить для прикладного разработчика добавление собственного typedef-а на фронтенде. В идеале - чтобы достаточно было описать typedef в модели и для этого типа генерился прямо из дизайнера transform и расширения всех мест, где тип атрибута влияет на логику.
Исходный код
ember-flexberry
ember-flexberry-data
Документация
Добавить описание работы с картой типов
Добавить описание того, как правильно создать transform для кастомного типа данных и в каких местах нужно не забыть переопределить логику его обработки
Тесты
Предлагаю для тестирования добавить какой-нибудь кастомный тип данных, трансформацию для него, переопределение построения url, тела запроса, предикатов для него и покрыть тестами что это переопределение работает.
Аналоги, примеры реализации
См. пример добавления кастомного типа данных date-only (дата без времени) на проекте СпортПрикамье. Прямо поиском по репозиторию находятся места, где есть переопределенная логика для него. Не гарантируется что реализация полна, возможно есть еще места, где атрибут не работает и это еще не обнаружили.
The text was updated successfully, but these errors were encountered:
Цель
Дать прикладным разработчикам возможность описывать в дизайнере собственные типы данных и реализовывать корректную работу с полями таких типов на фронтенде.
Функциональные требования
Требования к реализации
Исходный код
ember-flexberry
ember-flexberry-data
Документация
Тесты
Предлагаю для тестирования добавить какой-нибудь кастомный тип данных, трансформацию для него, переопределение построения url, тела запроса, предикатов для него и покрыть тестами что это переопределение работает.
Аналоги, примеры реализации
См. пример добавления кастомного типа данных date-only (дата без времени) на проекте СпортПрикамье. Прямо поиском по репозиторию находятся места, где есть переопределенная логика для него. Не гарантируется что реализация полна, возможно есть еще места, где атрибут не работает и это еще не обнаружили.
The text was updated successfully, but these errors were encountered: