all files / couch/couch/changes/ mixin.js

100% Statements 8/8
100% Branches 0/0
100% Functions 3/3
100% Lines 8/8
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32                          28× 28× 28× 28×       28×       239× 239×          
import Ember from 'ember';
import { array } from '../../util/computed';
import { destroyArray } from '../../util/destroy'
import { defaultFeedIdentifiers } from './changes';
 
const {
  merge
} = Ember;
 
export default Ember.Mixin.create({
 
  openChanges: array(),
 
  changes(opts) {
    opts = merge({ feed: defaultFeedIdentifiers }, opts);
    let changes = this.createChanges(opts);
    this.get('openChanges').pushObject(changes);
    return changes;
  },
 
  _changesWillDestroy(changes) {
    this.get('openChanges').removeObject(changes);
  },
 
  willDestroy() {
    destroyArray(this.get('openChanges'));
    this._super();
  }
 
});