Size: a a a

Clojure — русскоговорящее сообщество

2021 March 25

AC

Anton Chikin in Clojure — русскоговорящее сообщество
(def db {:form {:entity-id 1}
        ...})
(reg-sub
 ::get-some-entity
 :<- [:a lot]
 :<- [:of]
 :<- [:signals]
 (fn [[yada yada yada] [_ entity-id]]
   (some (really (complicated code))))
(reg-sub
 ::get-entity-from-form
 (fn [db [_ form-path]]
    ???????)
(defn my-form []
 (let [form-path :form
       entity @(re-frame/subscrible [::get-entity-from-form form-path])]
   [render-entity entity]))

I have some really complicated subscription with a lot of input signals, which extracts some entity from the db which I can’t replicate as a function of db. Also I have a form stored in the db, which has that entity id inside it. I want a subscription which given a form path gives me back entity (marked with ??????? in the code above).
So, essentially what I want to do :
given path to form extract :entity-id
use that :entity-id as an input to ::get-some-entity and I want to do all of that inside subscriptions, without passing data through the form rendering.
Is that possible in re-frame? (edited)
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Ivan Grishaev
делаешь подписку :get-current-entity, которая

- находит в форме введеный id
- по id вернет сущность
Ну короче переиспользовать текущий :get-current-entity не вариант
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Там просто реально список сигналов в полэкрана
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Если делать вторую, которая берет entity-id из формы и ищет по нему - придется сдублировать
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
если честно, не понял, почему не вариант.
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
это будет подписка, которая делает два get-in
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
до айдишника и до сущности
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Ivan Grishaev
это будет подписка, которая делает два get-in
Ну вот нельзя get-in у меня сделать
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Там полэкрана get-in будет
источник

T

The2lb3oz4dr10½grOfH... in Clojure — русскоговорящее сообщество
Anton Chikin
Ну вот нельзя get-in у меня сделать
Ну всмысли
источник

T

The2lb3oz4dr10½grOfH... in Clojure — русскоговорящее сообщество
Anton Chikin
Там полэкрана get-in будет
Сложно достать значение из бд? Юзай specter или вот эту штуку
https://github.com/Aitem/bdm
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
The2lb3oz4dr10½grOfHedgehogs
Сложно достать значение из бд? Юзай specter или вот эту штуку
https://github.com/Aitem/bdm
мне спектр не поможет - там куча подписок в которых что-то вычисляется
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
А что мешает достать подпиской entity-id по form-path, а следующей подпиской достать данные?
источник
2021 March 27

VP

Vladimir Pavlyuk in Clojure — русскоговорящее сообщество
Anton Chikin
 
(def db {:form {:entity_id 1}
              :entities {1 {:a 1 :b 2}
                             2 {:a 3 :b 4}}})
тоже не понимаю
мне кажется, вариант с сигналом самый нормальный
строим подписку, которая достает entity id из формы, + делаем сигнал на нее
делаем подписку, которая ест этот сигнал + db (а лучше форму из db), и достает сущность
источник

AU

Alexander Ushanov in Clojure — русскоговорящее сообщество
Господа, подскажите, есть ли какая-то возможность принудительно во время отладки во все ns добавить определенную зависимость не прописывая ее в require?
Или может быть в какую-то другую сторону посмотреть: задача - каким-то образом использоваться дебажные макросы, при этом не реквайрить их руками в каждом ns, где они нужны и не удалять после отладки этот require?
источник

MB

Mike Bohdan in Clojure — русскоговорящее сообщество
Alexander Ushanov
Господа, подскажите, есть ли какая-то возможность принудительно во время отладки во все ns добавить определенную зависимость не прописывая ее в require?
Или может быть в какую-то другую сторону посмотреть: задача - каким-то образом использоваться дебажные макросы, при этом не реквайрить их руками в каждом ns, где они нужны и не удалять после отладки этот require?
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Alexander Ushanov
Господа, подскажите, есть ли какая-то возможность принудительно во время отладки во все ns добавить определенную зависимость не прописывая ее в require?
Или может быть в какую-то другую сторону посмотреть: задача - каким-то образом использоваться дебажные макросы, при этом не реквайрить их руками в каждом ns, где они нужны и не удалять после отладки этот require?
leiningen?
источник

AU

Alexander Ushanov in Clojure — русскоговорящее сообщество
это хорошо, когда они в репле нужны
источник

AU

Alexander Ushanov in Clojure — русскоговорящее сообщество
Sergey Trofimov
leiningen?
угу и нужно это в основном в cljs
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Alexander Ushanov
угу и нужно это в основном в cljs
источник