Browse Source

Move Selectors to classes

pull/3905/head
Artur Arseniev 5 years ago
parent
commit
da3a8e6012
  1. 18
      src/selector_manager/model/Selectors.js

18
src/selector_manager/model/Selectors.js

@ -1,24 +1,20 @@
import { filter } from 'underscore'; import { filter } from 'underscore';
import Backbone from 'backbone'; import { Collection } from 'common';
import Selector from './Selector'; import Selector from './Selector';
export default Backbone.Collection.extend({ export default class Selectors extends Collection {
model: Selector,
modelId: attr => `${attr.name}_${attr.type || Selector.TYPE_CLASS}`,
getStyleable() { getStyleable() {
return filter( return filter(
this.models, this.models,
item => item.get('active') && !item.get('private') item => item.get('active') && !item.get('private')
); );
}, }
getValid({ noDisabled } = {}) { getValid({ noDisabled } = {}) {
return filter(this.models, item => !item.get('private')).filter(item => return filter(this.models, item => !item.get('private')).filter(item =>
noDisabled ? item.get('active') : 1 noDisabled ? item.get('active') : 1
); );
}, }
getFullString(collection, opts = {}) { getFullString(collection, opts = {}) {
const result = []; const result = [];
@ -26,4 +22,8 @@ export default Backbone.Collection.extend({
coll.forEach(selector => result.push(selector.getFullName(opts))); coll.forEach(selector => result.push(selector.getFullName(opts)));
return result.join('').trim(); return result.join('').trim();
} }
}); }
Selectors.prototype.model = Selector;
Selectors.prototype.modelId = attr =>
`${attr.name}_${attr.type || Selector.TYPE_CLASS}`;

Loading…
Cancel
Save