by

Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Sep 19 2018 20:33
    tindzk commented #71
  • Sep 19 2018 20:33
    tindzk closed #71
  • Sep 19 2018 20:33

    tindzk on master

    Update SBT, Scala and dependenc… Merge pull request #71 from nig… (compare)

  • Sep 19 2018 07:35
    nightscape commented #71
  • Sep 19 2018 07:19
    nightscape synchronize #71
  • Sep 08 2018 11:04
    tindzk commented #71
  • Aug 13 2018 22:20
    nightscape opened #71
  • Jun 02 2017 06:31
    zoosky opened #70
  • Sep 16 2016 07:39
    mkotsbak opened #69
  • Sep 06 2016 20:39
    darkfrog26 commented #67
  • Sep 06 2016 20:16

    tindzk on ValidateCyclicalOptional

    (compare)

  • Sep 06 2016 20:15

    tindzk on master

    Added Channel.ValidateCyclical … Merge pull request #67 from Met… (compare)

  • Sep 06 2016 20:15
    tindzk closed #67
  • Sep 06 2016 20:15
    tindzk commented #67
  • Sep 05 2016 13:16
    darkfrog26 commented #67
  • Aug 07 2016 18:32
    fkz commented #64
  • Aug 07 2016 18:32
    fkz commented #64
  • Aug 07 2016 18:24
    fkz commented #62
  • Aug 07 2016 18:23
    fkz commented #62
  • Aug 07 2016 18:01
    fkz commented #62
Marius B. Kotsbak
@mkotsbak
Japp
I have contributed some improvements, so I know the project a bit
Matthew Pocock
@drdozer
cheers
I've been not really developing complex web applications for a while because I couldn't find a good abstraction for the dynamic state
one of my stickign points has always been how you compose the requests to modify the data, rather than just compose the decomposition of the data
hence the little API I wrote yesterday, but it looks like MetaRx has this implemented already, hopefully
Marius B. Kotsbak
@mkotsbak
Two way binding works fine, but many of the operations is not supporting it though
Matthew Pocock
@drdozer
because they can't or because it hasn't been implemented yet?
Marius B. Kotsbak
@mkotsbak
Anyway in most cases you probably don't want two way binding because it makes things complicate, but rather update the model with an API that updates the state that is automatically propagated by the Rx-es
Not implemented
Like the operators I contributed just works one way. So val v = Var(5); w = v * 5 can't update v if w changes
I probably could have implemented that for simple cases like this, so that the operator does a bimap with / the other way. But other cases like x = v w is impossible to implement automatically what a change of x should mean
Matthew Pocock
@drdozer
ah, well that would be difficult, as (_*5) isn't a bijection :)
is there an addon-library that makes shapeless lenses into MetaRx bijections?
Matthew Pocock
@drdozer
Not quite - it is sort of what happens inside lenses over case classes
Marius B. Kotsbak
@mkotsbak
That code probably can be included now, as I think Shapeless is supported in SJS?
Matthew Pocock
@drdozer
there is certainly a shapeless build for sjs
Marius B. Kotsbak
@mkotsbak
Maybe you could try to add that code block and probably also add a dependency on shapeless
Send a PR if if works
@tindzk what do you think about Shapeless Lens?
Matthew Pocock
@drdozer
if tieing MetaRx to shapeless isn't on the cards, then a MetaRx-Shapeless module would also work
Marius B. Kotsbak
@mkotsbak
I'm not sure if it would be a problem to add a dependency on Shapeless. Probably not as the code was already there.
If it is, it could be a separate module yes
Matthew Pocock
@drdozer
have you used MetaRx with a virtual dom? so the input reactive data gets converted through the Rx pipeline into a reactive vdom data structure, which the vdom library then uses to patch the browser state?
@mkotsbak or did you work with scalatags?
Marius B. Kotsbak
@mkotsbak
No, mostly with Widok: http://widok.github.io/
It uses direct updates without any vdoms
But it also works with SJS react
Matthew Pocock
@drdozer
does widok use MetaRx as its reactive model, or does it have yet another one?
Tim Nieradzik
@tindzk
@mkotsbak If we wanted to add support for Shapeless, it should be done in a sub-project. The core project should not have any external dependencies.
@drdozer Yes, it is based on MetaRx
You could use MetaRx with ScalaTags
Tim Nieradzik
@tindzk
@mkotsbak In the last version we added Dep which allows you to model bijections: http://metastack.pl/metarx/latest.html#dependency-channels
Marius B. Kotsbak
@mkotsbak
Ok
Matthew Pocock
@drdozer
are you using widok 0.2.4 or 0.3.0-SHAPSHOT? Before I convert a whole legacy project over ;)
Tim Nieradzik
@tindzk
Use the SNAPSHOT version
We should probably release a new version soon
Marius B. Kotsbak
@mkotsbak
@tindzk I tried to upgrade to the latest MetaRx etc, but the tests fail, could you spot the error: mkotsbak/widok@e9c66fd
Tim Nieradzik
@tindzk
Oh, great. I think MetaRx uses an older Scala.js version
Marius B. Kotsbak
@mkotsbak
Hmm ok, maybe that should be upgraded first
Even though they in theory should be compatible
Tim Nieradzik
@tindzk
I have done that today in my new branch, but there are also some other breaking changes
Marius B. Kotsbak
@mkotsbak
Tried building it for Scala native? :)
Tim Nieradzik
@tindzk
Haha, not yet ;)
But I was thinking about it
Marius B. Kotsbak
@mkotsbak
I'm quite sure something is missing there