This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2015-10-14
Channels
- # admin-announcements (21)
- # aws (5)
- # boot (41)
- # cider (76)
- # cljs-dev (15)
- # clojure (251)
- # clojure-brasil (25)
- # clojure-dev (16)
- # clojure-japan (8)
- # clojure-nl (1)
- # clojure-russia (110)
- # clojure-uk (7)
- # clojurescript (168)
- # clojurewerkz (1)
- # cursive (10)
- # datomic (45)
- # devcards (50)
- # emacs (5)
- # hoplon (6)
- # instaparse (6)
- # ldnclj (73)
- # lein-figwheel (4)
- # leiningen (6)
- # liberator (7)
- # luminus (2)
- # off-topic (19)
- # om (80)
- # onyx (2)
- # re-frame (11)
- # testing (12)
@dnolen: using the Om setup from the tutorials, how do you setup REPL on Cursive?
@wilkerlucio: Cursive has supported starting a plain REPL with a script for a long time
@dnolen: could you please send a screenshot of your configuration? I'm not sure how to set the start script
@dnolen: thank you very much
Hello Such a question in using :optimizations :none work together react custom mixins and om, can't use react custom mixins and om at compile time :optimizations :advanced The way it should be?) https://groups.google.com/forum/#!topic/clojurescript/1tLOY6eYjU8 tested both variants: 1. Om-tools: https://github.com/Prismatic/om-tools/#mixin-tools 2. Javascript interop: https://github.com/swannodette/om/blob/master/examples/mixins/src/core.cljs
Hi @a.espolov Can you post the error? Problems with :optimizations
:advanced
are usually about you using some JavaScript code (presumably the mixins) and then calling it from ClojureScript without providing externs for it
Right, then it means you have some call from clojurescript to javascript which gets transformed into M.qf.vm
, while the original javascript code is not transformed.
this is not om specific, are your react mixins written in javascript? did you provide externs for them?
not much distracted I understand correctly that you fail to create a component from two custom mixins implement methods with the same name?
I don't use mixins, but while two mixins with the same name might cause problems, that wouldn't show only in :advanced
.
are you getting the mixin methods with goog.object
? or just with (.mixinMethod component)
?
I've been trying to run the om next examples using figwheel and cursive but I've been running into several errors. Now when running the script/figwheel.clj old dependencies get fetched like om 0.9.0-snapshot and cljs 122 in stead of 145 and most annoyingly the 12.2 version of react which breaks om. Is there some clean command (like lein clean which I've tried) that I need to run?
@a.espolov: where is .mixinMethod
defined? try to use something like (let [m (goog.object/get component "mixinMethod")] (m))
and see if anything changes.
@bbss make sure that lein clean
is actually cleaning the paths to which the script compiles to
Okay, and when I said get fetched I meant that with the verbose flag it "analyzes" that version
I've started with a devcards set-up, not of just figwheel so yes it is a custom project.clj. But I'd like to understand where the old deps come from. When I ran lein deps :tree I saw nothing that depended on React.
at the moment, i am using the simple react-wrapper (rum) with datascript. I would like to switch to om.next just so i do not need to re-implement a minimal "should-update" strategy for all components. Has anyone made a simple example on datascript + om.next with minimal rerendering? For example, i do not know if i should implement "om/Ident" ?
@thomasdeutsch: none of the normalization bits apply to DataScript
however you may want om.next/Ident
if you want 2 components backed by the same entity to change together.
in om.next, how can i measure the time it took for the reconciliation + rendering ?
I think it might be related to cursive, running via the lein run command works as expected. Bummer, I love the send to repl of cursive feature. I have the same set-up as the screenshot except I notice there is no "synchronize lein" before build task available.
recognizing that the pages are still under heavy flux... are you wanting issues reported against them yet?
ok. I'll see if this one is a bug here.... the very first example (pre-om-specific) fails for me, with 404's for goog/base.js
and cljs_deps.js
. Like :asset-path
isn't getting picked up?
oh :ffs
- total operator error. I had a typo that didn't look like a typo, just the wrong keyword. never mind. I'll go sit in the corner of shame.
of course. which I usually do. Except in this case I tried typing it myself to improve my cognitive engagement. Ironically.
though I think I did just find an actual bug, with the multiple-hellos example. The guide says "Feel free to change (range 3)
to something else." Doing so triggers: "Error: Invariant Violation: processUpdates(): unable to find child 0 of element."
@dnolen: hmmm... I copied and pasted the whole chunk several times, just to make sure it wasn't me. 😉 I can duplicate it Chrome and Safari, including after cleaning and restarting figwheel.
no worries.... it's one tiny aside line in the quickstart that not many people may have actually tried
(and it's really not important to understand om, which is the point of the quickstart)
I've been messing around with om next a little bit and I'm looking for a little feedback. I'm trying to make a component that renders a sub-component that is not known statically (depends on application state). I'm currently computing the current sub-component's query in my root components IQueryParams implementation. Anyway, I'm just wondering if I'm on the right track here for what I'm trying to accomplish. Heres a refheap of a basic example: https://www.refheap.com/110624
@noonian: yeah if you can’t statically figure it out, then some other component will have to make that choice
Do I need to worry about telling Om when to re-index a component if the query may have changed since Om is indexing the components by their queries?
@dnolen: @curtosis: As an additional data point, I had the same problem when changing (range 3)
to something else. After replacing dom/p
with dom/div
, it worked as expected.
@dnolen: Thank you for all you do with Om. We’re not a ClojureScript/Om shop (yet!), but following the evolution of Om/Om.next and understanding the concepts exemplified has very positively impacted our thinking about the architecture and implementation of our application.
@dnolen: @bstiles thanks! though now (as an om/react newbie) I'm curious why dom/p
doesn't work.