https://github.com/isleofcode/ember-changed-relationships
https://github.com/isleofcode/ember-changed-relationships
Last synced: 7 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/isleofcode/ember-changed-relationships
- Owner: isleofcode
- License: mit
- Created: 2017-02-26T17:18:59.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2017-04-11T18:58:02.000Z (almost 9 years ago)
- Last Synced: 2024-10-02T12:16:52.507Z (over 1 year ago)
- Language: JavaScript
- Size: 16.6 KB
- Stars: 7
- Watchers: 4
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# ember-changed-relationships
[](https://travis-ci.org/isleofcode/ember-changed-relationships)
Provides a mixin that can be imported to your models adding a single function, `changedRelationships`. It works similar to `changedAttributes`. Use selectively.
## Installation
* `ember install ember-changed-relationships`
## Usage
Simply call `changedRelationships` on a model.
Given:
```
import ChangedRelationships from 'ember-changed-relationships';
const {
Model,
belongsTo,
hasMany
} = DS;
export default Model.extend(
ChangedRelationships, {
user: belongsTo(), //initial state to user with id 1
items: hasMany() //inital state to ids [1,2,3]
}
```
after calling:
```
model.set('user', newUser); //id 2
model.set('items', newItems); //ids [2,3]
```
You would be returned:
```
relationships: {
user: [1,2],
items: [ [1,2,3], [2,3] ]
}
```
After each `model.save()`, the canonical state will reset.
## Credits
ember-changed-relationships is maintained by [Isle of Code](https://isleofcode.com).