This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2016-05-08
Channels
- # admin-announcements (22)
- # beginners (28)
- # boot (8)
- # cider (9)
- # cljs-dev (1)
- # cljs-site (3)
- # cljsjs (6)
- # cljsrn (6)
- # clojure (20)
- # clojure-germany (3)
- # clojure-russia (16)
- # clojure-uk (6)
- # clojurescript (106)
- # datascript (9)
- # datomic (19)
- # devcards (4)
- # dirac (42)
- # docker (4)
- # emacs (3)
- # hoplon (89)
- # jobs-rus (1)
- # keechma (6)
- # lein-figwheel (1)
- # leiningen (1)
- # luminus (11)
- # off-topic (1)
- # om (1)
- # om-next (1)
- # onyx (19)
- # other-languages (37)
- # parinfer (1)
- # proton (1)
- # reagent (9)
- # rethinkdb (17)
- # rum (2)
@micha yeah, i was just saying that i think it’s good
although, “fixing” things with a timeout always feels like a bit of a hack
@dm3: sure, but as soon as you fix 2+ things in a single event with a timeout, you run the risk that those two things are only working because they happen in a specific order
maybe if you remove or temporally move one of them, “something unrelated breaks"
it may be deterministic, but it may also be complicated and hard to predict the “real world” ramifications of
like, is there a problem if i trigger a keydown
for another key using similar logic in the exact moment between the first keyup
and when the timeout is queued?
the order of events should be
1. process keyup
2. process keydown
but we’d end up with
1. process keyup 50%
2. process keydown 50%
3. process keyup 100%
4 process keydown 100%
will this cause problems? i dunno.
interdependent is bad, but it can also be bad if two things are just clobbering each other’s data/DOM because they aren’t aware of each other and you can’t co-ordinate the order that things happen in beyond “add to queue please"
i pretty much assume everything I “fix” with a timeout is just a bug waiting for future me to “fix for realz” 😛
Hi guys! I think I read that @micha made a boot task to concert html to hlisp. Where can I find it? Thanks!
@leontalbot: it's the html2cljs
task that's part of the hoplon/boot-hoplon
jar
Thanks! hmmm. Wrong number of args (1) passed to: cli/argspec->cli-argspec
@thedavidmeister: yeah timeouts are not great
i haven’t actually used react yet
i will also try the thing that you posted turning the value to nil
before removing it so it triggers an update, or similar
i think that’s it
but also, the way that keyboard events work
would make it pretty tricky to override the behaviour
with numeric keys, and only up/down events to work on...
weeeelll
i just did this
(d/transact! state/conn (add))
(d/transact! state/conn
(if-not (item-data/raw? v)
(retract)))))
was this
(d/transact! state/conn
(if (item-data/raw? v)
(add)
(retract))
and now i think i have a workaround that will be OK for me
… it was pretty confusing
yeah, i dunno about 99%
but i can see “set to empty, then remove” being an important hoplon pattern
you say that, but i’ll find something, someday 😉
yeah i guess you will see this problem whenever you have a formula cell that is bound to a property that can be changed by the browser arbitrarily
so you'd see the same issue if you had a formula cell bound to the css width for instance
if you know that a property can be arbitrarily changed by the browser underneath you, you use some special annotation when you set the attribute
and hoplon would install a mutation observer that will trigger the update whenever something modifies that property
well, we were talking about something like this the other week
“trigger when something is in the viewport"
i don’t remember who was doing that...
but yeah
mmm, actually that would be a really easy way to implement breakpoint classes