From 7116c8c837c6bc942ceb003e7f3d2a2ae843397c Mon Sep 17 00:00:00 2001 From: Artur Arseniev Date: Tue, 22 Feb 2022 16:49:46 +0100 Subject: [PATCH] Update traits --- src/trait_manager/model/Traits.js | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/trait_manager/model/Traits.js b/src/trait_manager/model/Traits.js index de524f820..e206dd82b 100644 --- a/src/trait_manager/model/Traits.js +++ b/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;