Fork me on GitHub
#om-next
<
2016-12-19
>
Joe R. Smith21:12:03

@ghaskins I’d use/wrap react-bootstrap, which can be found on cljsjs (lein dep: [cljsjs/react-bootstrap “0.30.6-0”] )

ghaskins21:12:17

@solussd ty, so far having decent luck with [cljs-react-material-ui "0.2.33"]

Joe R. Smith21:12:33

I’ve used that, too. 🙂

ghaskins21:12:20

oh, cool..any thoughts on how it compares to react-bootstrap in terms of integration ease (obviously, the aethetics of the ui would be different)

ghaskins21:12:22

so far, i've been happy though my impression so far is material-ui is more about the components/aethetics than it is about the full responsive framework like bootstrap

ghaskins21:12:49

so, ive been augmenting the material ui components with flexbox

Joe R. Smith21:12:07

I really liked it. I don’t think there is a compelling reason to prefer bootstrap over it

Joe R. Smith21:12:16

I haven’t used it w/ flexbox, but that sounds great

ghaskins21:12:20

good to know

Joe R. Smith21:12:24

flexbox is pretty new to me

ghaskins21:12:29

me too 😉

ghaskins21:12:49

i only discovered it because the material-ui example used it and I realized there wasnt a grid baked in

Joe R. Smith21:12:50

I’m looking forward to using it in a mobile app (react-native)

ghaskins21:12:11

cool...ill be sure to update my progress here

ghaskins21:12:22

its going to be a FOSS project I am doing for a PTA

ghaskins21:12:16

on a completely different subject, struggling to get the right combo of quote/unquote to invoke om/transact! from a different namespace than the reconciler

ghaskins21:12:23

any best practices or examples out there?

ghaskins21:12:10

e.g. (om/transact! core/reconciler `[(foo {:param ~param})])

ghaskins21:12:52

i need to unquote param so its value is substituted, but leave "foo" undecorated so it matches the method dispatch in the core ns

ghaskins21:12:04

i feel like I am poking in the dark, heh

ghaskins21:12:13

so there must be something I am just missing

ghaskins21:12:39

nm, i figured it out

samcf22:12:21

@ghaskins would be interesting to see what you did there for my own edification

ghaskins22:12:48

ill push my latest, easier to point to it

ghaskins22:12:42

easiest to describe like this

ghaskins22:12:16

originally I had L25 as (defmethod mutate 'add-session-asset

ghaskins22:12:29

and L39, similar name

ghaskins22:12:59

but the problem is, with the quote/unquote syntax, that expanded to "library-asset-tag.ui.core/add-session-asset"

ghaskins22:12:16

then I noticed that all the om-next examples used a different ns

ghaskins22:12:00

like 'points/increment

ghaskins22:12:04

that was the hint I needed

ghaskins22:12:41

basically, stupid pseudo newbie error on my part, but im drinking through the firehose

Joe R. Smith22:12:56

@ghaskins I would make a habit of using namespace-qualified symbols for mutation names

ghaskins22:12:10

@solussd yeah, I can see that makes sense

Joe R. Smith22:12:17

if you ns-qualify things using a syntax quote, clojure won’t qualify them automatically.

ghaskins22:12:21

i didnt pick up on that reading the om-next wiki the first time through

Joe R. Smith22:12:47

e.g., `[(app/blah {:thing ~value})]

Joe R. Smith22:12:53

hah, I just read the backlog here. I guess you had it all figured out before I commented

ghaskins22:12:42

no worries, I appreciate any pointers

ghaskins22:12:53

this framework is awesome, btw

ghaskins22:12:57

kudos to the devs

Joe R. Smith22:12:20

🙂 I like it, but it does have a bit of a learning curve

ghaskins22:12:55

yeah, though they all do to some respect..id much rather invest in one that lets me code sanely in clojure(script)

ghaskins22:12:41

I basically want to conj something to the :session-assets, im not quite clear on the (swap!) form

ghaskins22:12:08

i know this is pure clojure, not om specific, but maybe someone has their head wrapped around it

Joe R. Smith22:12:20

I’ve found that it scales well w.r.t. adding features. UI, parsers, remote querying, and mutations aren’t conflated in the ways they are in other frameworks

ghaskins22:12:30

that is my impression as well

ghaskins22:12:52

i took on this simple project to learn the ins-and-outs without getting bogged down in a complicated design

Joe R. Smith22:12:26

I’d just do: (swap! state update-in [:some :key :path] conj thing-to-add)

ghaskins22:12:47

cool, i saw update-in in the examples for something similar, i figured it was related

ghaskins22:12:49

let me try that

Joe R. Smith22:12:40

swap! will pass the current value of the state atom as the first arg to update-in and update-in will pass the value at the given keypath as the first arg to conj

Joe R. Smith22:12:15

goodluck- I’m out for the evening