This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2020-05-28
Channels
- # babashka (29)
- # beginners (179)
- # bristol-clojurians (1)
- # calva (9)
- # chlorine-clover (47)
- # cider (57)
- # clj-kondo (1)
- # cljs-dev (13)
- # clojure (241)
- # clojure-europe (9)
- # clojure-nl (4)
- # clojure-norway (88)
- # clojure-spec (4)
- # clojure-uk (15)
- # clojurescript (211)
- # clojutre (1)
- # community-development (8)
- # core-async (1)
- # datomic (31)
- # figwheel-main (33)
- # fulcro (29)
- # ghostwheel (6)
- # graalvm (11)
- # graphql (12)
- # instaparse (4)
- # jobs (1)
- # jobs-discuss (17)
- # leiningen (7)
- # malli (6)
- # meander (38)
- # off-topic (208)
- # onyx (6)
- # re-frame (23)
- # reagent (8)
- # shadow-cljs (61)
- # spacemacs (10)
- # sql (5)
- # yada (5)
can anyone recommend a re-frameable timeago library?
i might be making an obvious mistake , but when i try to build i get
The required namespace "js-jpda" is not available...
i've done
npm install @joda-js/core
and still get this error. have the underlying libraries changed?I just uncommented it out and tried again with the same result.
The required namespace "js-joda" is not available, it was required by "java/time.cljs"
npm list has
@js-joda/[email protected]
i notice that java/time is looking for "js-joda" but that package doesn't exist any more it has been replaced by js-joda/core.
(i'm new to cljs, please forgive my ignorance)
If your use-case is simple you can use utils from google closure library, so no external dependencies are required.
cljs.user> (require '[goog.date.relative :as gdate])
nil
cljs.user> (gdate/format (js/Date.))
"0 minutes ago"
cljs.user> (gdate/format (js/Date. "2020-05-29"))
"1 day ago"
cljs.user>
this is for a long-lived display so i was hoping for a react component
arco {:mvn/version "0.2.8"}
should no longer have that issue 🙂. If it still does, I’ll ask the tick guys to fix it on their end @U0GFU866B
To use a react component look at the bottom of the README.md https://github.com/luciodale/arco/blob/master/README.md#react-component
I finally got to use arco. it absolutely works as advertised. Thanks for replying to my messages.
Hello i've got a question hopefully it's not too basic so i'd like to know what users are doing in the app basically to track their behavior so basically to provide answers like 'user X spends 10% time on the menus' and something like that I wanted to create effect for each event/effect in the app that will send action to the backend but that felt wrong is there any elegant way of doing this? maybe i am thinking about this from wrong perspective should i be just using some tool for this instead of implementing my own?
Either way (in-house or tool), your app has to send the events somewhere. If you want to log every event "transparently" (i.e. without editing the existing handlers), I'd look into (global) interceptors
these types of tools are a dime a dozen, but some are much better than others. https://www.fullstory.com/ is a personal favorite, as well as https://www.hotjar.com/ .. you can even get pretty far with google analytics ‘events’ if you set things up correctly
you might consider making a reg-fx :track [... args]
interface so any reg-event-fx
handler that wants to track a particular event can be annotated with an interceptor. that reg-fx can call out to whatever service you decide to use. http://day8.github.io/re-frame/Interceptors/#write-an-interceptor

You definitely shouldn't implement your own - http://amplitude.com has a generous free tier for event tracking and analytics
Hello all, I am wondering:
How should I call a function on a js-object wrapped by a type-3 Reagent component.
Using the type-3 component from the docs as an example. https://github.com/Day8/re-frame/blob/master/docs/Using-Stateful-JS-Components.md
Let’s say I want to call a function on the Google maps object that is saved in the gmap
atom within the component--perhaps some other UI interaction has triggered the need for this call. How should I go about doing this?
My understanding is that all mutation of the wrapped object should come through the props of the component, which for this component is @pos
. But in my case, this one time function call doesn’t map well to some state atom being passed into the component. Perhaps, I could use a state atom as a message queue of sorts to pass in commands that will get translated into function calls by the component. Does that seem like a reasonable approach?