Fork me on GitHub
#fulcro
<
2021-09-05
>
peterdee19:09:08

I just finished the Minimalist Fulcro Tutorial exercises. The experience was immensely useful. One thing beyond basic Fulcro concepts that it helped with is how to use the Fulcro Inspect tools. Specifically, I didn't know how to get data into the EQL tab other than typing it or copying it from somewhere. (This is probably in the Developers Guide, or in one Tony's videos, but if so, I missed it.) In the exercise comments where @holyjak says: ;; From Inspect's Network use the [Send to query] button to show it in the EQL tab, run it. You might add: ;; If you don't see the [Send to query] button, click on a Request.

👍 2
Jakub Holý (HolyJak)19:09:15

That is great to hear. thank you! I have updated the description now. You might also want to check out https://www.youtube.com/playlist?list=PLYvJiiE4TAijBAvO-R0PO8plSto4wtoQu to see how I use Fulcro Inspect in practice.

👍 2
peterdee19:09:24

@holyjak asked for suggestions about additional good exercised for the Minimalist Fulcro Tutorial. I had in mind incremental loading of big trees of data. Incremental loading is probably discussed adequately in the Developer Guide, but not with recursive queries, and incremental expansion of a UI tree, I think. If that seems like too much an edge case, maybe something simpler with trees.

Jakub Holý (HolyJak)19:09:06

Thank you, that sounds interesting. Could you imagine a little more in detail what you have in mind? A concrete use case would be super useful 🙏

Jakub Holý (HolyJak)19:09:28

It would also help if you explained why this would be valuable to you. The tutorial talks about :without and load-field! Do you mean you would like to see them in practice, combined with a user action that triggers the "expansion" of the UI tree?

Björn Ebbinghaus23:09:35

@U0D4UL3U2 I have an example where I implemented a nested comment section. It uses recursion and loads comments „on-demand“. If that’s what you mean with „big-trees“. I don‘t do garbage collection for now. You can find everything here: https://github.com/hhucn/decide3/blob/master/src/main/decide/models/argumentation/ui.cljs (I use some unusual terms motivated by my domain)

❤️ 2
Björn Ebbinghaus09:09:54

And I don't paginate for now.

Björn Ebbinghaus10:09:57

If you think so. 🙂 But I wouldn't describe it as "best practice", though, even going so far to say: "I burnt my finger on some of this code (more than once)". 🙂 I am a doctoral student, so my interest (or better, the interest of my supervisor) is to get things running as fast as possible. Stable enough to survive an experiment, and then features get scrapped and/or redone in a completely different way.

Jakub Holý (HolyJak)11:09:31

Just add that to the description :-)

Björn Ebbinghaus11:09:04

Maybe I reference some parts of the application, that can function as an example. Like this ns to set metadata like the tab title, or language tag: https://github.com/hhucn/decide3/blob/master/src/main/decide/ui/meta.cljs Or this ns to show snackbars one by one. https://github.com/hhucn/decide3/blob/master/src/main/decide/ui/components/snackbar.cljs

Björn Ebbinghaus11:09:56

These are small and independent of the works of my domain model.

Jakub Holý (HolyJak)11:09:42

I would refer the whole app, as a "production app", though with the disclaimer you provided above. Referring also to selected, especially interesting parts of the app is very valuable too.

peterdee17:09:30

I am looking at decide now. In fact, I cloned it and am running it. I concur with holyjak's comment about real_apps. IMO, it doesn't have to be perfect, just pointed in roughly the right direction. It is a very nice example.

peterdee17:09:26

In response to @holyjak asking for more detail. Perhaps I should have tried :without and load-field! before suggesting; it might be more straightforward than I imagine. My application works with messaging schema like http://www.datypic.com/sc/ubl20/e-ns19_Invoice.html (that's not mine, just an example EDI-like message). The challenge is that there can be thousands of leaves on such trees. But maybe it is more a UI design challenge than an interesting Fulcro coding challenge.

Jakub Holý (HolyJak)17:09:04

Try it and let me know whether we can get a worthwhile exercise out of it or not!

peterdee21:09:01

Will do. Thanks.