Browse Source

feat: add hasInvisibleChild method to routes service

pull/4445/head
Arman Ozak 6 years ago
parent
commit
51159b3693
  1. 5
      npm/ng-packs/packages/core/src/lib/services/routes.service.ts
  2. 10
      npm/ng-packs/packages/core/src/lib/tests/routes.service.spec.ts

5
npm/ng-packs/packages/core/src/lib/services/routes.service.ts

@ -144,6 +144,11 @@ export abstract class AbstractNavTreeService<T extends ABP.Nav> extends Abstract
return this.store.selectSnapshot(ConfigState.getGrantedPolicy(requiredPolicy));
}
hasInvisibleChild(identifier: string): boolean {
const node = this.find(item => item[this.id] === identifier);
return node?.children?.some(child => child.invisible);
}
/* istanbul ignore next */
ngOnDestroy() {}
}

10
npm/ng-packs/packages/core/src/lib/tests/routes.service.spec.ts

@ -68,6 +68,16 @@ describe('Routes Service', () => {
});
});
describe('#hasInvisibleChild', () => {
it('should return if node has invisible child', () => {
service.add(routes);
expect(service.hasInvisibleChild('foo')).toBe(true);
expect(service.hasInvisibleChild('bar')).toBe(false);
expect(service.hasInvisibleChild('baz')).toBe(false);
});
});
describe('#remove', () => {
it('should remove routes based on given routeNames', () => {
service.add(routes);

Loading…
Cancel
Save