Browse Source

Update traits

pull/4160/head
Artur Arseniev 5 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 { isString, isArray } from 'underscore';
import Trait from './Trait'; import Trait from './Trait';
import TraitFactory from './TraitFactory'; import TraitFactory from './TraitFactory';
export default Backbone.Collection.extend({ export default class Traits extends Collection {
model: Trait,
initialize(coll, options = {}) { initialize(coll, options = {}) {
this.em = options.em; this.em = options.em;
this.listenTo(this, 'add', this.handleAdd); this.listenTo(this, 'add', this.handleAdd);
this.listenTo(this, 'reset', this.handleReset); this.listenTo(this, 'reset', this.handleReset);
}, }
handleReset(coll, { previousModels = [] } = {}) { handleReset(coll, { previousModels = [] } = {}) {
previousModels.forEach(model => model.trigger('remove')); previousModels.forEach(model => model.trigger('remove'));
}, }
handleAdd(model) { handleAdd(model) {
model.em = this.em; model.em = this.em;
@ -23,11 +21,11 @@ export default Backbone.Collection.extend({
if (target) { if (target) {
model.target = target; model.target = target;
} }
}, }
setTarget(target) { setTarget(target) {
this.target = target; this.target = target;
}, }
add(models, opt) { add(models, opt) {
const em = this.em; 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