Fork me on GitHub
#re-frame
<
2021-03-30
>
andre07:03:10

do we need a share button? so we could compare different projects ? 🙂

andre07:03:45

hm, probably i could just add a button that will copy to the clipboard in text format, and anyone could share it here 🙂 if they want

andre07:03:47

something like this, format and copy is welcomed 😉

andre10:03:45

stats for my re-frame project by re-frisk db: 75 | fx: 198 | cofx: 4 | event: 727 | sub: 402 (86)

andre10:03:51

75 keys in app-db. and 86 active subscriptions from 402 at the moment

apt12:03:59

Hey folks. I’m using vis.js timeline with re-frame [1]. The timeline has ‘datasets’ that hold items which are displayed in the timeline [2]. The issue is that I need to be able to manipulate these datasets (which are js objects) in different parts of my app. I’m not sure how to model this with re-frame. I suppose storing the dataset objects in the app-db is not a good idea - it looks awkward because the I think db won’t change even if the object does, and it’s not serializable. So far, I did the following: - I’m storing the datasets in atoms declared in some namespace - For manipulating the datasets (add items to it, for example), I created a coeffect that knows about that atom. - For reading the datasets, I’m not sure what I can do. I’ll probably create some functions that access the atom. This works and it’s testable (I reset the atoms in each test setup), but I’m wondering if there’s a better way of doing this. [1]: https://visjs.github.io/vis-timeline/docs/timeline/ [2]: https://visjs.github.io/vis-data/data/dataset.html

p-himik13:03:46

If you have to reset an atom to make it store the change, then you can store it in app-db and it will work fine. If you can mutate a dataset object, then you don't really need an atom. You could potentially still store it in app-db if you update and extract the data only via a small set of functions that you control - then you could wrap the mutable data in an immutable map that has an extra :version key or something like that that's changed each time you mutate the data.

👀 3
apt14:03:26

Great, I’m applying your suggestions and it does look better. Thanks.

👍 3