Browse Source

Update traits

pull/4160/head
Artur Arseniev 4 years ago
parent
commit
7116c8c837
  1. 22
      src/trait_manager/model/Traits.js

22
src/trait_manager/model/Traits.js

@ -1,20 +1,18 @@
import Backbone from 'backbone';
import { Collection } from 'common';
import { isString, isArray } from 'underscore';
import Trait from './Trait';
import TraitFactory from './TraitFactory';
export default Backbone.Collection.extend({
model: Trait,
export default class Traits extends Collection {
initialize(coll, options = {}) {
this.em = options.em;
this.listenTo(this, 'add', this.handleAdd);
this.listenTo(this, 'reset', this.handleReset);
},
}
handleReset(coll, { previousModels = [] } = {}) {
previousModels.forEach(model => model.trigger('remove'));
},
}
handleAdd(model) {
model.em = this.em;
@ -23,11 +21,11 @@ export default Backbone.Collection.extend({
if (target) {
model.target = target;
}
},
}
setTarget(target) {
this.target = target;
},
}
add(models, opt) {
const em = this.em;
@ -50,6 +48,8 @@ export default Backbone.Collection.extend({
}
}
return Backbone.Collection.prototype.add.apply(this, [models, opt]);
},
});
return Collection.prototype.add.apply(this, [models, opt]);
}
}
Traits.prototype.model = Trait;

Loading…
Cancel
Save