[ACS-11417] lint enable angular eslint prefer inject rule default in ng20 for alfresco apps (#5111)

* [ACS-11417] Enable inject prefer eslint rule

* [ACS-11417] Added eslint rule for prefer readonly

* [ACS-11417] Fixed unit tests

* [ACS-11417] Addressed copilot comments
This commit is contained in:
AleksanderSklorz
2026-03-25 08:45:32 +01:00
committed by GitHub
parent 65c814d75b
commit 89a42b3de5
186 changed files with 929 additions and 938 deletions
@@ -22,7 +22,7 @@
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
*/
import { Component, HostListener, OnInit, ViewEncapsulation } from '@angular/core';
import { Component, HostListener, OnInit, ViewEncapsulation, inject } from '@angular/core';
import { CommonModule, Location } from '@angular/common';
import { ActivatedRoute, PRIMARY_OUTLET, UrlSegment, UrlSegmentGroup, UrlTree } from '@angular/router';
import { debounceTime, map } from 'rxjs/operators';
@@ -52,6 +52,14 @@ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
host: { class: 'app-preview' }
})
export class PreviewComponent extends PageComponent implements OnInit {
private readonly actions$ = inject(Actions);
private readonly appHookService = inject(AppHookService);
private readonly contentApi = inject(ContentApiService);
private readonly location = inject(Location);
private readonly nodesApiService = inject(NodesApiService);
private readonly route = inject(ActivatedRoute);
private readonly viewerService = inject(ViewerService);
folderId: string = null;
navigateBackAsClose = false;
navigateMultiple = false;
@@ -66,19 +74,7 @@ export class PreviewComponent extends PageComponent implements OnInit {
showRightSide = false;
simplestMode = false;
private containersSkipNavigation = ['adf-viewer__sidebar', 'cdk-overlay-container', 'adf-image-viewer'];
constructor(
private actions$: Actions,
private appHookService: AppHookService,
private contentApi: ContentApiService,
private location: Location,
private nodesApiService: NodesApiService,
private route: ActivatedRoute,
private viewerService: ViewerService
) {
super();
}
private readonly containersSkipNavigation = ['adf-viewer__sidebar', 'cdk-overlay-container', 'adf-image-viewer'];
ngOnInit() {
super.ngOnInit();
@@ -74,9 +74,21 @@ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
host: { class: 'app-viewer' }
})
export class AcaViewerComponent implements OnInit, OnDestroy {
private readonly actions$ = inject(Actions);
private readonly apiService = inject(AlfrescoApiService);
private readonly appHookService = inject(AppHookService);
private readonly contentApi = inject(ContentApiService);
private readonly extensions = inject(AppExtensionService);
private readonly nodesApiService = inject(NodesApiService);
private readonly route = inject(ActivatedRoute);
private readonly router = inject(Router);
private readonly store = inject<Store<AppStore>>(Store);
private readonly uploadService = inject(UploadService);
private readonly viewerService = inject(ViewerService);
settings = inject(AppSettingsService);
private documentListService = inject(DocumentListService);
private readonly documentListService = inject(DocumentListService);
@LazyApi((self: AcaViewerComponent) => new VersionsApi(self.apiService.getInstance()))
declare versionsApi: VersionsApi;
@@ -98,24 +110,10 @@ export class AcaViewerComponent implements OnInit, OnDestroy {
private navigationPath: string;
private previewLocation: string;
private containersSkipNavigation = ['adf-viewer__sidebar', 'cdk-overlay-container', 'adf-image-viewer'];
private readonly containersSkipNavigation = ['adf-viewer__sidebar', 'cdk-overlay-container', 'adf-image-viewer'];
private readonly destroyRef = inject(DestroyRef);
constructor(
private actions$: Actions,
private apiService: AlfrescoApiService,
private appHookService: AppHookService,
private contentApi: ContentApiService,
private extensions: AppExtensionService,
private nodesApiService: NodesApiService,
private route: ActivatedRoute,
private router: Router,
private store: Store<AppStore>,
private uploadService: UploadService,
private viewerService: ViewerService
) {}
ngOnInit() {
this.infoDrawerOpened$ = this.store.select(isInfoDrawerOpened);
@@ -24,7 +24,7 @@
import { ObjectUtils, UserPreferencesService } from '@alfresco/adf-core';
import { FavoritePaging, Node, NodePaging, SearchRequest, ResultSetPaging, SharedLink, SharedLinkPaging } from '@alfresco/js-api';
import { Injectable } from '@angular/core';
import { Injectable, inject } from '@angular/core';
import { ContentApiService } from '@alfresco/aca-shared';
interface AdjacentFiles {
@@ -36,17 +36,15 @@ interface AdjacentFiles {
providedIn: 'root'
})
export class ViewerService {
private readonly preferences = inject(UserPreferencesService);
private readonly contentApi = inject(ContentApiService);
private _customNodesOrder: string[] = [];
set customNodesOrder(customNodesOrder: string[]) {
this._customNodesOrder = customNodesOrder;
}
constructor(
private preferences: UserPreferencesService,
private contentApi: ContentApiService
) {}
recentFileFilters = [
'TYPE:"content"',
'-PATH:"//cm:wiki/*"',