Fork me on GitHub
#keechma
<
2017-08-07
>
urbank07:08:23

@mihaelkonjevic Oh, is confeedence using a different forms library than the one in the form repo?

urbank07:08:08

Oh, never mind. Confused toolbox and forms

mihaelkonjevic08:08:34

Toolbox has a new / different forms implementation

mihaelkonjevic08:08:05

The original one is ok, but this one is much more integrated with keechma and has some additional features

mihaelkonjevic08:08:32

I still need to document it, but we're using it in production for months and it's rock solid

urbank08:08:02

@mihaelkonjevic So if I understand correctly forms are records which define how they get data and how they submit and such?

urbank11:08:30

@mihaelkonjevic hm... so is it true that if the root component subscribes to the route of the app it will rerender anytime any part of the app changes? So if some row in a table changes the url to open a from (for example), all components which subscribe to route will rerender?

mihaelkonjevic11:08:43

it will not rerender the whole app if that’s what you’re asking

mihaelkonjevic11:08:19

because reagent is smart enough not to do that

mihaelkonjevic11:08:25

it will probably re-render the virtual dom

mihaelkonjevic11:08:30

but I had no performance problems with that, and I’ve implemented some weird excel / spreadsheet like functionality where each cell was bound to a route

urbank11:08:38

Ok, I'll examine what I'm doing a bit. How many cells did your spreadsheet have? Did you use some kind of occlusion culling?

mihaelkonjevic11:08:37

I think I was integrating with react-virtualized

mihaelkonjevic11:08:03

so, the number of cells was dynamic - you could add columns dynamically, but it was in hundreds at least

mihaelkonjevic11:08:58

and regarding the forms lib, you’re right it’s a record that defines how to get data, submit data, recover from errors, validate, etc…

mihaelkonjevic11:08:12

interesting thing: most async actions can return pipelines

mihaelkonjevic11:08:28

you can wait for dataloader to finish before getting the form data

urbank12:08:17

Yeah, keechma seems to have great handling of async stuff. 🙂

urbank12:08:28

Regarding the route, I suppose if the virtual-dom re-rendering were a problem, I could always define more granular subscriptions to specific parts of the route

mihaelkonjevic12:08:09

yes, that’s how I’d do it

mihaelkonjevic12:08:25

you can access the route data in app db under [:route :data]