Hi all,

I'm also interested in seeing what the "right" way to handle such a situation 
is. I recently encountered a case which was similar. I needed to create a fresh 
array and then add that to a model path, though I will almost certainly need to 
make modifications to that path in the future so some shorthand to accomplish 
that would be great.

Cheers,
Gregor

-----Original Message-----
From: fluid-work <fluid-work-boun...@lists.idrc.ocad.ca> On Behalf Of Steven 
Githens
Sent: April 3, 2018 17:08
To: Fluid Work <fluid-w...@fluidproject.org>
Subject: Correct way to push to an array in a model

Hi Fluid,

Just popping in to check on the correct way to push a value to an array using 
the change applier.
In the snippet below, I assume using fluid.copy is the correct way to do this, 
so I'm not editing the model in place outside of the change applier.

    var curUnsavedChanges = fluid.copy(that.model.unsavedChanges);
    curUnsavedChanges.push({
        description: description
    });
    that.applier.change("unsavedChanges", curUnsavedChanges);

Do we think in the future we might have a few change applier types that could 
deal with something like this so it's not necessary to copy the item ( even in 
the future where models are immutable data structures ).

So you might go like:

that.applier.change("unsavedChanges", { description: description}, 
"ARRAY_PUSH");

And if unsavedChanges wasn't an array it would maybe fail, complain, or just 
assign it if the current val is a primitive.

Cheers,
Steve
_______________________________________________________
fluid-work mailing list - fluid-work@lists.idrc.ocad.ca To unsubscribe, change 
settings or access archives, see 
https://lists.idrc.ocad.ca/mailman/listinfo/fluid-work
_______________________________________________________
fluid-work mailing list - fluid-work@lists.idrc.ocad.ca
To unsubscribe, change settings or access archives,
see https://lists.idrc.ocad.ca/mailman/listinfo/fluid-work

Reply via email to