diff --git a/src/common/module.js b/src/common/module.js index 7d7d56742..ba5784ad2 100644 --- a/src/common/module.js +++ b/src/common/module.js @@ -11,8 +11,8 @@ export default { return name ? res[name] : res; }, - getAll() { - return this.all || []; + getAll(opts = {}) { + return this.all ? (opts.array ? [...this.all.models] : this.all) : []; }, getAllMap() { diff --git a/src/selector_manager/model/Selector.js b/src/selector_manager/model/Selector.js index 966eb2c99..ced200d6f 100644 --- a/src/selector_manager/model/Selector.js +++ b/src/selector_manager/model/Selector.js @@ -82,6 +82,31 @@ export default class Selector extends Model { return this.getFullName(); } + /** + * Get selector label. + * @returns {String} + * @example + * // Given such selector: { name: 'my-selector', label: 'My selector' } + * console.log(selector.getLabel()); + * // -> `My selector` + */ + getLabel() { + return this.get('label'); + } + + /** + * Update selector label. + * @param {String} label New label + * @example + * // Given such selector: { name: 'my-selector', label: 'My selector' } + * selector.setLabel('New Label') + * console.log(selector.getLabel()); + * // -> `New Label` + */ + setLabel(label) { + return this.set('label', label); + } + toJSON(opts = {}) { const { em } = this; let obj = Model.prototype.toJSON.call(this, [opts]);