yapplabs / ember-buffered-proxy

An Ember Proxy the enables change buffering
MIT License
166 stars 31 forks source link

Provide example of using bufferedProxy on records with relationships #7

Open lolmaus opened 9 years ago

lolmaus commented 9 years ago

Hi! Thank you for you your awesome project.

I wonder whether i can use ember-buffered-proxy on Ember Data records.

My use case:

  1. A record is created clientside when a user visits the route. The record will eventually be persisted to the backend, but during this use case it does not.
  2. The user opens a modal dialog with an edit form, edits the record and presses OK in the form to close the dialog. From the user perspective, he has kinda saved his edits, and the record is now in state A.
  3. The user can open the form and edit the record again. The record is now is in state B. If he messes up, he should be able to discard his edits by pressing Cancel instead of OK. I cannot use .rollback() because it will revert the unsaved record to a tabula rasa state, while the user expects it to be reverted to state A.

My problem is that the record in question does not store much data itself: all its data comes from related child and grandchild records.

Does this mean that i have to apply discardBufferedChanges recursively? Is there a simpler way?

lukemelia commented 9 years ago

I think the best way to model this would probably be to have a bufferedProxy per record, and apply or discard accordingly.

lolmaus commented 9 years ago

I struggle to figure out how to do that. Can you please provide an example?

I think using bufferedProxy on records is a popular use case and a publicly available example will be very useful.

lukemelia commented 9 years ago

@lolmaus See also discussion in #9. I don't have time at the moment to create an example, but I'll reopen this to track that.

blimmer commented 8 years ago

This would be super helpful to have documentation on the preferred way to buffer changes to hasMany relationships.

BenjaminHorn commented 8 years ago

I am struggling to rollback a model (post), whit has many (comments) , where comment belongs to (author). An example would be great.

remino commented 8 years ago

Having an example on how to use this on a model would be great. I'm also struggling with this issue.