Size: a a a

Elm Lang сообщество разработчиков

2020 April 03

MP

Max P in Elm Lang сообщество разработчиков
Подскажите как вы решаете проблему проброса какого-нибудь значения из flags глубко внутрь, например в модуль, который потомок 3 го уровня.
Прокидываете из модуля в модуль, пока не дойдете до нужного?
источник

AY

Alexey Yurchenko in Elm Lang сообщество разработчиков
обычно модуль со своей model, потом все model собираются в большую. откуда 3 уровень?
источник

AY

Alexey Yurchenko in Elm Lang сообщество разработчиков
у Richard Feldman полно видео о правильной архитектере приложений elm
источник

MP

Max P in Elm Lang сообщество разработчиков
Alexey Yurchenko
обычно модуль со своей model, потом все model собираются в большую. откуда 3 уровень?
есть Main.elm
там в модели у меня есть Editor EdtitorModel
внутри Editor есть кнопка, которая по клику дает выбрать файл, затем в модалке с этим файлом (изображением) всякие происходят трансформации

я кнопку сделал отдельным модулем, и в ней описал все что связано с загрузкой картинки и работой с ней, руководствуясь тем, что смотрел как раз в видео, в частности от Ричарда.

не исключаю, что напутал где-то

Получилось примерно так: flag variable -> Main -> Editor -> AddImg (и вот тут нужен flag variable)

Сейчас пока код в приватном репо, но попозже открою и если будет желание могу показать, как доделаю первую версию. Так же, если кто может помочь с review за умеренную плату - пишите в личку, договоримся)

проект "редактор стикеров для телеграма", ELM + TS, опыт с Elm часов 100-150 думаю.
источник

AY

Alexey Yurchenko in Elm Lang сообщество разработчиков
Max P
есть Main.elm
там в модели у меня есть Editor EdtitorModel
внутри Editor есть кнопка, которая по клику дает выбрать файл, затем в модалке с этим файлом (изображением) всякие происходят трансформации

я кнопку сделал отдельным модулем, и в ней описал все что связано с загрузкой картинки и работой с ней, руководствуясь тем, что смотрел как раз в видео, в частности от Ричарда.

не исключаю, что напутал где-то

Получилось примерно так: flag variable -> Main -> Editor -> AddImg (и вот тут нужен flag variable)

Сейчас пока код в приватном репо, но попозже открою и если будет желание могу показать, как доделаю первую версию. Так же, если кто может помочь с review за умеренную плату - пишите в личку, договоримся)

проект "редактор стикеров для телеграма", ELM + TS, опыт с Elm часов 100-150 думаю.
у меня апы на elm по 1-5к строк. там хватает двух уровней
ничего не могу сказать
источник

AY

Alexey Yurchenko in Elm Lang сообщество разработчиков
Всегда можно пробросить

AddImg в Editor так, чтобы Editor ничего не знал про него, из корня просто как разметка
источник

DK

Denis Krivosheev in Elm Lang сообщество разработчиков
Поддерживаю, нужно очень стараться держать модель плоской
источник

DK

Denis Krivosheev in Elm Lang сообщество разработчиков
И моделировать доменную область с модулями
источник

MP

Max P in Elm Lang сообщество разработчиков
спасибо за ответы, без кода / примера воспринять сложно, думаю позже как будет готово, либо пример минимальный покажу, либо еще раз прочитаю что тут написали)

Denis что почитать по этому поводу можно? (только желательно не книжку 😄 )
источник

DK

Denis Krivosheev in Elm Lang сообщество разработчиков
Думаю делать кнопку модулем излишне... модалки хорошо прямо в верхний уровень ложатся
источник

AY

Alexey Yurchenko in Elm Lang сообщество разработчиков
Max P
спасибо за ответы, без кода / примера воспринять сложно, думаю позже как будет готово, либо пример минимальный покажу, либо еще раз прочитаю что тут написали)

Denis что почитать по этому поводу можно? (только желательно не книжку 😄 )
как можно быстрее перехерачить 10-20 приложений) дойдет
источник

DK

Denis Krivosheev in Elm Lang сообщество разработчиков
Вот у этого дяди классные статьи https://medium.com/@ckoster22/advanced-types-in-elm-opaque-types-ec5ec3b84ed2
источник

DK

Denis Krivosheev in Elm Lang сообщество разработчиков
Читать всю серию advanced types
источник

DK

Denis Krivosheev in Elm Lang сообщество разработчиков
Читать best practice repos из официальной документации
источник

DK

Denis Krivosheev in Elm Lang сообщество разработчиков
Ну и domain driven development на удивление классно на элм ложится
источник

MP

Max P in Elm Lang сообщество разработчиков
Alexey Yurchenko
как можно быстрее перехерачить 10-20 приложений) дойдет
это само собой)
источник

DK

Denis Krivosheev in Elm Lang сообщество разработчиков
Ну и опыт ничто не заменит конечно)
источник

MP

Max P in Elm Lang сообщество разработчиков
Denis Krivosheev
Читать всю серию advanced types
гуд, начинал там статьи 3 думаю, еще раз гляну.
источник

DK

Denis Krivosheev in Elm Lang сообщество разработчиков
У нас модалки устроены так:
type Model = {..., molals: Maybe Modal }
type Modal = Modal1 Modal1Model | Modal2 Modal2Model
И кнопка просто генерит мессадж который делает апдейт в модал
источник

DK

Denis Krivosheev in Elm Lang сообщество разработчиков
Ну и делать компоненты в элм (со своим стейтом и вьюхами) это действительно тупиковый путь
источник