Skip to content

Commit 241e3f9

Browse files
committed
[NAE-2125] Remove URI service usage from admin and menu items
- Refactored `PathService` constructor to handle `pageSize` more robustly, including type validation and fallback logging. - Fixed improper binding in `navigation-double-drawer.component.html` for `routerLink`.
1 parent ac025bc commit 241e3f9

File tree

2 files changed

+26
-11
lines changed

2 files changed

+26
-11
lines changed

projects/netgrif-components-core/src/lib/navigation/service/path.service.ts

Lines changed: 25 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,44 @@
11
import {Inject, Injectable, Optional} from '@angular/core';
22
import {BehaviorSubject, Observable} from 'rxjs';
3-
import {ActiveGroupService} from '../../groups/services/active-group.service';
43
import {LoggerService} from '../../logger/services/logger.service';
54
import {NAE_URI_NODE_CASES_PAGE_SIZE} from '../model/size-menu-injection-token';
65

76
/**
87
* Service for managing URIs
9-
* */
8+
*/
109
@Injectable({
1110
providedIn: 'root',
1211
})
1312
export class PathService {
1413

1514
public static SEPARATOR: string = '/';
1615
private readonly _activePath$: BehaviorSubject<string>;
16+
protected pageSize: number;
1717

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;
2637
}
38+
39+
this.pageSize = finalPageSize;
40+
this._logger.debug('PathService initialized with pageSize', { pageSize: this.pageSize });
41+
2742
this._activePath$ = new BehaviorSubject<string>(PathService.SEPARATOR);
2843
}
2944

projects/netgrif-components/src/lib/navigation/navigation-double-drawer/navigation-double-drawer.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@
133133

134134
<button *ngFor='let folder of leftItems; trackBy: itemsTrackBy' mat-icon-button (click)="onItemClick(folder)"
135135
class="menu-button mat-typography menu-font-color" [matTooltip]="folder.navigation.title" [matTooltipPosition]="'right'"
136-
[ngClass]="isItemAndPathEqual(folder, currentPath) ? 'rail-selected-color' : 'menu-font-color'" [routerLink]='folder.routing.path'
136+
[ngClass]="isItemAndPathEqual(folder, currentPath) ? 'rail-selected-color' : 'menu-font-color'" [routerLink]="folder.routing.path"
137137
routerLinkActive="active">
138138
<mat-icon>{{folder.navigation.icon}}</mat-icon>
139139
</button>

0 commit comments

Comments
 (0)