|
1 | 1 | import {Inject, Injectable, Optional} from '@angular/core';
|
2 | 2 | import {BehaviorSubject, Observable} from 'rxjs';
|
3 |
| -import {ActiveGroupService} from '../../groups/services/active-group.service'; |
4 | 3 | import {LoggerService} from '../../logger/services/logger.service';
|
5 | 4 | import {NAE_URI_NODE_CASES_PAGE_SIZE} from '../model/size-menu-injection-token';
|
6 | 5 |
|
7 | 6 | /**
|
8 | 7 | * Service for managing URIs
|
9 |
| - * */ |
| 8 | + */ |
10 | 9 | @Injectable({
|
11 | 10 | providedIn: 'root',
|
12 | 11 | })
|
13 | 12 | export class PathService {
|
14 | 13 |
|
15 | 14 | public static SEPARATOR: string = '/';
|
16 | 15 | private readonly _activePath$: BehaviorSubject<string>;
|
| 16 | + protected pageSize: number; |
17 | 17 |
|
18 |
| - constructor(protected _logger: LoggerService, |
19 |
| - protected _activeGroupService: ActiveGroupService, |
20 |
| - @Optional() @Inject(NAE_URI_NODE_CASES_PAGE_SIZE) protected pageSize: string | number) { |
21 |
| - if (!pageSize) { |
22 |
| - this.pageSize = 20; |
23 |
| - } |
24 |
| - if (typeof this.pageSize === 'string') { |
25 |
| - this.pageSize = parseInt(this.pageSize); |
| 18 | + constructor( |
| 19 | + protected _logger: LoggerService, |
| 20 | + @Optional() @Inject(NAE_URI_NODE_CASES_PAGE_SIZE) pageSize: string | number = 20 |
| 21 | + ) { |
| 22 | + let finalPageSize: number; |
| 23 | + |
| 24 | + if (pageSize == null) { |
| 25 | + this._logger.debug('No pageSize provided, defaulting to 20.'); |
| 26 | + finalPageSize = 20; |
| 27 | + } else if (typeof pageSize === 'string') { |
| 28 | + const parsed = parseInt(pageSize, 10); |
| 29 | + if (isNaN(parsed)) { |
| 30 | + this._logger.warn('Invalid pageSize string provided, defaulting to 20.', { provided: pageSize }); |
| 31 | + finalPageSize = 20; |
| 32 | + } else { |
| 33 | + finalPageSize = parsed; |
| 34 | + } |
| 35 | + } else { |
| 36 | + finalPageSize = pageSize; |
26 | 37 | }
|
| 38 | + |
| 39 | + this.pageSize = finalPageSize; |
| 40 | + this._logger.debug('PathService initialized with pageSize', { pageSize: this.pageSize }); |
| 41 | + |
27 | 42 | this._activePath$ = new BehaviorSubject<string>(PathService.SEPARATOR);
|
28 | 43 | }
|
29 | 44 |
|
|
0 commit comments