Fork me on GitHub
#om
<
2017-02-02
>
baris00:02:47

@drcode: Have you any example code about how to use and integrate blueprint components in om.next? I mean the workarounds and hacks you mentioned before. I'm curious how to use the blueprint components.

drcode00:02:18

@baris I will try to post a link today or tomorrow

mruzekw00:02:27

@solussd Is there a om query parser on the backend then?

anmonteiro01:02:29

@mruzekw yes, the Om Next parser runs in Clojure too

mruzekw01:02:57

Ah okay, things are clicking

sova-soars-the-sora03:02:33

with regards to Om.next .... what's the proper use of merge!

sova-soars-the-sora03:02:09

I know it says novelty but does that come in the form of a 'whole new atom ... or just the bit I want updated?

anmonteiro03:02:46

novelty is just the new stuff

sova-soars-the-sora03:02:30

Okay... so even if it's buried deep in the atom someplace...

anmonteiro03:02:21

in that case you want to provide novelty in a shape that matches your app's query structure

anmonteiro03:02:39

and probably define a merge-tree strategy if the default doesn't fit your needs

sova-soars-the-sora04:02:33

Okay. What's the difference between merge and merge-with?

sova-soars-the-sora04:02:43

And would it be best to never manage the app-state-atom myself, and always wrap things in the read fn? It seems like a better division of interests

Joe R. Smith13:02:36

is there a preferred way to get all of a query鈥檚 鈥渞oot鈥 keys? e.g., given [{:foo/a [:bar/y :bar/z]} :foo/b ({:foo/c [:bar/q]} {:params [:x 2]})] I want :foo/a :foo/b :foo/c. I could write a function to do it, but wasn鈥檛 sure there wasn鈥檛 already a way

danielstockton13:02:21

(map :dispatch-key (:children (om/query->ast query)))

hlolli16:02:23

solved an old question about joining nested components. http://app.klipse.tech/?cljs_in.gist=hlolli/1ed18c0c5481af99cd13da86db16ca11&amp;container=1 if someone's interested to learn/criticize.

drcode16:02:20

Looks useful for study- @hlolli what was the "old question" exactly?

hlolli16:02:19

I posted very similar code where component C was not getting the data it was querying for. So here the recursive parser comes to the rescue.

hlolli16:02:34

but the parser is called twice still, would be curious to know why that is.

baptiste-from-paris16:02:52

hello guys, I just did om-next tuto but I feel I am not ready yet to build production code

baptiste-from-paris16:02:19

any advices on where to go from tutorial to being a beginner ++ ?

baptiste-from-paris16:02:26

resources or anything ?

hlolli16:02:11

@baptiste-from-paris read some useful blog posts from https://anmonteiro.com/, watch some of Tony's videos https://www.youtube.com/user/tonythekay read om-next code in the wild from http://github.com

baptiste-from-paris16:02:17

@hlolli you鈥檙e talking about the untangled videos right ?

hlolli16:02:08

yes, not to underestimate untangled but for learning then I say dont overestimate untangled in such a way that you can learn it without understanding of om.next (in the client part of that forementioned framework).

baptiste-from-paris16:02:04

does it greatly simplify your life (untangled)

hlolli16:02:19

only tried it few times, shorter code, but not enough info to have an opinion.

qqq19:02:04

I was asking about Om vs Re-frame in another channel. One person mentioned a hypothetical weakness of Om is that David is the main contributor. Question: if, one day, David decides he no longer likes Clojure and decides to only program in PHP, what happens to Om ?

anmonteiro19:02:39

Why is that a weakness?

anmonteiro19:02:57

David's also the main ClojureScript contributor, and that has been going on for 5 years and counting

qqq19:02:51

It's a weakness in the same since of "What happens to Linux if Linus gets hit by a bus" weakness. If there isn't a team around David, it may be safer to use a different library.

drcode19:02:29

@qqq Om works fine as it exists now, so it's not really that big of a factor. (Though sure, it's always nice when more people are involved in core development of a project instead of less)

baptiste-from-paris20:02:05

it鈥檚 mostly a strength IMO - to have a leader on one project

baptiste-from-paris20:02:56

If mr David decides for any reasons PHP is his new passion, I think someone else will eventually take it鈥檚 place

qqq20:02:59

just to be clear, I'm not in anyway attacking David; my main concern, before betting a commercial project on Om, in terms of 'de-risking' -- is, God forbid, something happens to David, what happens to Om.

qqq20:02:08

Which imo is a legitimate concern when betting commercial projects on libraries.

baptiste-from-paris20:02:21

I don鈥檛 agree, it鈥檚 open source, you can still read the code and make it you own project

baptiste-from-paris20:02:11

what else do you propose ? having guys like David not contributing because you have a commercial risk ?

baptiste-from-paris20:02:04

it鈥檚 like buying an Oracle licence because you are afraid of MySQl core contributors taking holidays

qqq20:02:08

@baptiste-from-paris : I never made the suggestion of "having guys like David not contributing because you have a commercial risk ?" -- please do not accuse me of things I did not say.

baptiste-from-paris20:02:29

oh no, it鈥檚 juste a conversation, no hard feelings :-

qqq20:02:48

What I am wondering is if there is a team around David who can continue developing the library if something happened to David. Much like how if Linus was hit by a bus, there's a number of deputies to maintain the various parts of the kernel.

qqq20:02:41

This is probably also not helpful to #om, we can discuss this offline if we're interested (though in all honesty, I don't thin either of us really find it interesting at this point.)

qqq20:02:03

Is there a nice guide for "Om for people who already know FRP / Reagent / Re-Frame" ?

qqq20:02:24

I'm mostly interested in what Om.next appears to solve, and I'm looking for a tutorial assuming I already know the other libs.

qqq20:02:40

in retrospect, that should not have been my first question in #om -- not sure what type of positive answer I was expecting 馃檪

qqq20:02:27

so I was looking at https://www.youtube.com/watch?v=xz389Ek2eS8 -- which seems interesting, because reagent/reframe doesn't solve the problem of "streaming data from the server to my client"

qqq20:02:01

Is there a nice tutorial for using Om.Next that does both server side and client side? I think if I saw something that showed how data streamed in Om.next, I'd be able to finally get what it's about.

anmonteiro20:02:27

@qqq you may want to watch David's talk at the 2015 Conj

anmonteiro20:02:00

^ in this one he really goes over lots of topics

anmonteiro20:02:23

may be hard to follow as a beginner, but watch it in steps

qqq20:02:20

agree with the first 2 sentences already

qqq20:02:26

you setup stuff on server, client, pray json parses correctly

qqq20:02:31

and you run out of complexity budget really really fast

qqq20:02:35

-- yep, this is the talk I need 馃檪

qqq20:02:04

is there corresponding code / github repo to this? I don't see anything in the youtube video xescription bar