Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Oct 09 04:00
    notyy commented #222
  • Oct 09 03:59
    notyy closed #222
  • Oct 09 03:59
    notyy commented #222
  • Oct 08 20:28
    Atry commented #223
  • Oct 08 20:28

    Atry on master

    docs: fix typo Merge pull request #223 from Ja… (compare)

  • Oct 08 20:28
    Atry closed #223
  • Oct 08 20:20
    Jason-Cooke opened #223
  • Oct 07 03:30
    glmars commented #222
  • Oct 06 04:05
    notyy opened #222
  • Oct 04 11:29
    datalchemist commented #217
  • Oct 04 11:02
    datalchemist commented #217
  • Oct 04 06:58

    Atry on scalafmt

    (compare)

  • Oct 04 06:46

    Atry on master

    Run scalafmt Merge branch 'master' into scal… Merge pull request #221 from Th… (compare)

  • Oct 04 06:46
    Atry closed #221
  • Oct 04 06:46
    Atry synchronize #221
  • Oct 04 06:46

    Atry on scalafmt

    Update scalafmt to 2.0.1 Update sbt to 1.3.2 Merge pull request #215 from sc… and 2 more (compare)

  • Oct 04 06:06
    Atry commented #217
  • Oct 04 05:30
    glmars commented #217
  • Oct 04 05:09
    Atry closed #191
  • Oct 04 05:09

    Atry on master

    Update scalafmt to 2.0.1 Merge pull request #203 from sc… (compare)

Mustafa Kuscu
@mcku
@mcku actually, i am not sure. i was looking at the dom.scala code at https://github.com/ThoughtWorksInc/Binding.scala/blob/11.0.x/dom/src/main/scala/com/thoughtworks/binding/dom.scala#L143. There TagsAndTags2 has the generic attributes and jsDom.Cap covers it right? but i get value aria-checked is not a member of org.scalajs.dom.html.Div error on
<div role="option" aria-checked="false"/>
tell me, issue or SO?
杨博 (Yang Bo)
@Atry
Why not both?
Mustafa Kuscu
@mcku
all right
anyway, xhtml defines the scope already :)
Mustafa Kuscu
@mcku
which excludes html5 specific stuff :/
杨博 (Yang Bo)
@Atry
Not really, there is XHTML5
Mustafa Kuscu
@mcku
is there? i thought it never existed
杨博 (Yang Bo)
@Atry
Try googling it
Mustafa Kuscu
@mcku
OK, there is XHTML5: "HTML5 and XHTML5 have identical vocabulary but different parsing rules"
Mustafa Kuscu
@mcku
ok. looks good now
杨博 (Yang Bo)
@Atry
StackOverflow + Google is brilliant. It is available to search immediately https://www.google.com/search?q=aria+binding.scala
Mustafa Kuscu
@mcku
i agree. very quick
杨博 (Yang Bo)
@Atry
Other users will benifit from that
Pascal Mengelt
@pme123
@mcku I used also in a Typescript project Redux - I created a blog with my findings - trying to adapt redux principles and ideas to the world of scala.js and Binding.scala - maybe you have some ideas;) https://pme123.github.io/scala-adapters/development/binding-scala-redux/
杨博 (Yang Bo)
@Atry

ensure that the components cannot modify the state

@pme123 What is the purpose of this rule?

杨博 (Yang Bo)
@Atry

Suppose you are creating an application for both desktop and web. You can share the same store (aka View Model) and external web services for both applications, and create different FXML template / HTML template.

However the two GUIs need some slightly different operations on View Model. Is it really necessary to share all those operations even when some of them are platform-specific?

I want to share some words from ESR's TAOUP
http://www.catb.org/esr/writings/taoup/html/ch01s06.html#id2878263

Rule of Representation: Fold knowledge into data, so program logic can be stupid and robust.

Mustafa Kuscu
@mcku
This makes me think about platforms other than HTML once again. React has React Native complement, suitable for devices implementation. I suppose FXML is for certain Java desktops. Any ideas on how to reuse the binding.scala app on the mobile in a native way?
杨博 (Yang Bo)
@Atry
The current FXML syntax shoud apply for Android as well, since Android components are JavaBeans. But I did not test it yet.
Mustafa Kuscu
@mcku
@pme123 I liked the idea of such a blog. I don't think many people are aware of such a facilitation provided by binding.scala. People still think they are type safe in typescript but the need to put extra effort to keep it type safe given the huge variety of emerging rival untyped javascript paradigms. At some point you give up type safety, at least i have that feeling.
@atry that sounds very interesting and of good utility
杨博 (Yang Bo)
@Atry
I thought it would be great to create some complex actions on stores for reusing. But I personally will not forbid to access stores directly.
杨博 (Yang Bo)
@Atry
Seperate of View Model and View could be useful or not, depends on which part tends to be changed frequently.
杨博 (Yang Bo)
@Atry

@pme123 If you like Redux's immutable store, and still want partial rendering. you can create some intermediate Bindings, which can prevent unchanged value from re-rendering

An example is here:
https://scalafiddle.io/sf/o5fWdS3/2

render2 is not triggered because store2 is unchanged.

Open your browser's inspector to see if it is re-rendered.

Mustafa Kuscu
@mcku
will look at the fxml example hopefully some day. wondering about how the dev workflow looks like. scenebuilder comes into the scene too?
杨博 (Yang Bo)
@Atry
I'm not familiar with Android. But the @fxml can mount your bindable data onto any JavaBeans.
Pascal Mengelt
@pme123
@Atry thanks for your feedback and ScalaFiddle
杨博 (Yang Bo)
@Atry
Feel free to take the fiddle to your blog
An updated version is https://scalafiddle.io/sf/o5fWdS3/3
Pascal Mengelt
@pme123
@Atry - thanks - the comments work now;) could you add your input as a comment - would be great! https://pme123.github.io/scala-adapters/development/binding-scala-redux/
Mustafa Kuscu
@mcku
What if a store has an optional substore? See: https://scalafiddle.io/sf/goKYlDa/0
杨博 (Yang Bo)
@Atry
Check your browser's inspector
Mustafa Kuscu
@mcku
isn't it working?
Kahli Burke
@kahliburke
Check the stackoverflow
Pascal Mengelt
@pme123
@kahliburke thanks - that helps - I updated the ScalaFiddle to see the effect.
Leonid Turnaev
@glmars
@Atry do you have any plans to migrate Binding.scala to Dsl.scala and Cats?
Do I understand correctly what it is possible? How hard is it in you opinion (may be PR can help)?
杨博 (Yang Bo)
@Atry

It could be.

But I did not see enough benifits.

Lorenzo Gabriele
@lolgab
There are ways to get the value of an input (like the inputId.value thing ) for dynamic elements (like a Seq of inputs) ? (The id is not fixed at compile time)
If it is a interesting question I can post it on StackOverflow.
Leonid Turnaev
@glmars
@Atry, to have the single FP library (cats) in projects which uses Binding.scala
杨博 (Yang Bo)
@Atry
@lolgab Go ahead
@glmars Binding.scala uses Scalaz because Each requires scalaz.Monad.
However, Dsl.scala does not depend on Cats nor Scalaz.
Binding.scala does not have to depend on Cats if we replace Each to Dsl.scala
Leonid Turnaev
@glmars
So, there is an additional benefit: reduced scalajs output size (Scalaz isn't so small in JS)! In case if some project still doesn't use any FP library.
杨博 (Yang Bo)
@Atry

(Scalaz isn't so small in JS)

The entire Scalaz is big. Fortunately a typical web application with Binding.scala only uses a very small part of Scalaz. You can open your xxxx-fastopt.js to check it. DCE in Scala.js is very useful.

Leonid Turnaev
@glmars

DCE in Scala.js is very useful

I agree, DSE is cool. But on some project I had 2640/2400 kb result of fullOptJS with/without Scalaz.

I suppose that the influence of Scalaz in Binding.scala can be not so much.
(my test project have not used Binding.scala)