Browse Source

Update selector get method

pull/3905/head
Artur Arseniev 4 years ago
parent
commit
892f74e1e8
  1. 17
      src/selector_manager/index.js
  2. 10
      test/specs/selector_manager/index.js

17
src/selector_manager/index.js

@ -271,16 +271,17 @@ export default () => {
},
/**
* Get the selector by its name
* @param {String|Array} name Selector name
* @param {String} type Selector type
* @return {Model|Array}
* Get the selector by its name/type
* @param {String} name Selector name
* @param {Number} [type=1] Selector type, default is class
* @return {[Selector]|null}
* @example
* const selector = selectorManager.get('selectorName');
* // or get an array
* const selectors = selectorManager.get(['class1', 'class2']);
* const selector = selectorManager.get('my-class');
* // Get Id
* const selectorId = selectorManager.get('my-id', 2);
* */
get(name, type) {
// Keep support for arrays but avoid it in docs
if (isArray(name)) {
const result = [];
const selectors = name
@ -291,7 +292,7 @@ export default () => {
);
return result;
} else {
return this.getSelector(name, type);
return this.getSelector(name, type) || null;
}
},

10
test/specs/selector_manager/index.js

@ -140,7 +140,15 @@ describe('SelectorManager', () => {
});
test('Get empty class', () => {
expect(obj.get('test')).toEqual(undefined);
expect(obj.get('test')).toEqual(null);
});
test('Get id selector', () => {
const name = 'my-id';
const type = Selector.TYPE_ID;
const added = obj.add({ name, type });
expect(obj.get(name)).toEqual(null);
expect(obj.get(name, type)).toBe(added);
});
test('addClass single class string', () => {

Loading…
Cancel
Save