diff --git a/lib/content-services/src/lib/aspect-list/aspect-list.service.ts b/lib/content-services/src/lib/aspect-list/aspect-list.service.ts index 80ac9a57cf..54e324ccf6 100644 --- a/lib/content-services/src/lib/aspect-list/aspect-list.service.ts +++ b/lib/content-services/src/lib/aspect-list/aspect-list.service.ts @@ -22,20 +22,21 @@ import { from, Observable, of, Subject, zip } from 'rxjs'; import { AspectListDialogComponentData } from './aspect-list-dialog-data.interface'; import { AspectListDialogComponent } from './aspect-list-dialog.component'; import { catchError, map } from 'rxjs/operators'; -import { AspectEntry, AspectPaging, AspectsApi } from '@alfresco/js-api'; +import { AspectEntry, AspectPaging, AspectsApi, NodesApi } from '@alfresco/js-api'; @Injectable({ providedIn: 'root' }) export class AspectListService { - private aspectsApi: AspectsApi; + get aspectsApi(): AspectsApi { + return new AspectsApi(this.alfrescoApiService.getInstance()); + } constructor(private alfrescoApiService: AlfrescoApiService, private appConfigService: AppConfigService, private dialog: MatDialog, private logService: LogService) { - this.aspectsApi = new AspectsApi(this.alfrescoApiService.getInstance()); } getAspects(): Observable { diff --git a/lib/content-services/src/lib/audit/audit.service.ts b/lib/content-services/src/lib/audit/audit.service.ts index d7be676e95..b1d7143bcf 100644 --- a/lib/content-services/src/lib/audit/audit.service.ts +++ b/lib/content-services/src/lib/audit/audit.service.ts @@ -18,7 +18,16 @@ import { Injectable } from '@angular/core'; import { Observable, from, throwError } from 'rxjs'; import { AlfrescoApiService, LogService } from '@alfresco/adf-core'; -import { AuditApi, AuditAppPaging, AuditAppEntry, AuditApp, AuditBodyUpdate, AuditEntryPaging, AuditEntryEntry } from '@alfresco/js-api'; +import { + AuditApi, + AuditAppPaging, + AuditAppEntry, + AuditApp, + AuditBodyUpdate, + AuditEntryPaging, + AuditEntryEntry, + AspectsApi +} from '@alfresco/js-api'; import { catchError } from 'rxjs/operators'; @Injectable({ @@ -26,10 +35,11 @@ import { catchError } from 'rxjs/operators'; }) export class AuditService { - auditApi: AuditApi; + get auditApi(): AuditApi { + return new AuditApi(this.apiService.getInstance()); + } constructor(private apiService: AlfrescoApiService, private logService: LogService) { - this.auditApi = new AuditApi(this.apiService.getInstance()); } getAuditApps(opts?: any): Observable { diff --git a/lib/content-services/src/lib/content-metadata/services/property-descriptors.service.ts b/lib/content-services/src/lib/content-metadata/services/property-descriptors.service.ts index 79bf0b3967..226b040dd2 100644 --- a/lib/content-services/src/lib/content-metadata/services/property-descriptors.service.ts +++ b/lib/content-services/src/lib/content-metadata/services/property-descriptors.service.ts @@ -26,10 +26,12 @@ import { ClassesApi } from '@alfresco/js-api'; providedIn: 'root' }) export class PropertyDescriptorsService { - private classesApi: ClassesApi; + + get classesApi(): ClassesApi { + return new ClassesApi(this.alfrescoApiService.getInstance()); + } constructor(private alfrescoApiService: AlfrescoApiService) { - this.classesApi = new ClassesApi(this.alfrescoApiService.getInstance()); } load(groupNames: string[]): Observable { diff --git a/lib/content-services/src/lib/content-node-share/content-node-share.directive.ts b/lib/content-services/src/lib/content-node-share/content-node-share.directive.ts index c25d13b6bc..ce9ef516a3 100644 --- a/lib/content-services/src/lib/content-node-share/content-node-share.directive.ts +++ b/lib/content-services/src/lib/content-node-share/content-node-share.directive.ts @@ -43,13 +43,15 @@ export class NodeSharedDirective implements OnChanges, OnDestroy { baseShareUrl: string; private onDestroy$ = new Subject(); - private nodesApi = new NodesApi(); + + get nodes(): NodesApi { + return new NodesApi(this.alfrescoApiService.getInstance()); + } constructor( private dialog: MatDialog, private zone: NgZone, private alfrescoApiService: AlfrescoApiService) { - this.nodesApi = new NodesApi(this.alfrescoApiService.getInstance()); } ngOnDestroy() { diff --git a/lib/content-services/src/lib/content-type/content-type.service.ts b/lib/content-services/src/lib/content-type/content-type.service.ts index a97d7c5d47..85a8717338 100644 --- a/lib/content-services/src/lib/content-type/content-type.service.ts +++ b/lib/content-services/src/lib/content-type/content-type.service.ts @@ -25,10 +25,11 @@ import { map } from 'rxjs/operators'; }) export class ContentTypeService { - private typesApi: TypesApi; + get typesApi(): TypesApi { + return new TypesApi(this.alfrescoApiService.getInstance()); + } constructor(private alfrescoApiService: AlfrescoApiService) { - this.typesApi = new TypesApi(this.alfrescoApiService.getInstance()); } getContentTypeByPrefix(prefixedType: string): Observable { diff --git a/lib/content-services/src/lib/dialogs/library/library.dialog.ts b/lib/content-services/src/lib/dialogs/library/library.dialog.ts index 274b7e611b..bbf7fa75c6 100644 --- a/lib/content-services/src/lib/dialogs/library/library.dialog.ts +++ b/lib/content-services/src/lib/dialogs/library/library.dialog.ts @@ -72,7 +72,9 @@ export class LibraryDialogComponent implements OnInit, OnDestroy { ]; disableCreateButton = false; - queriesApi: QueriesApi; + get queriesApi(): QueriesApi { + return new QueriesApi(this.alfrescoApiService.getInstance()); + } constructor( private alfrescoApiService: AlfrescoApiService, @@ -80,7 +82,6 @@ export class LibraryDialogComponent implements OnInit, OnDestroy { private formBuilder: FormBuilder, private dialog: MatDialogRef ) { - this.queriesApi = new QueriesApi(this.alfrescoApiService.getInstance()); } ngOnInit() { diff --git a/lib/content-services/src/lib/dialogs/node-lock.dialog.ts b/lib/content-services/src/lib/dialogs/node-lock.dialog.ts index 00d48941f9..469791681f 100644 --- a/lib/content-services/src/lib/dialogs/node-lock.dialog.ts +++ b/lib/content-services/src/lib/dialogs/node-lock.dialog.ts @@ -35,7 +35,9 @@ export class NodeLockDialogComponent implements OnInit { node: Node = null; nodeName: string; - private nodesApi: NodesApi; + get nodesApi(): NodesApi { + return new NodesApi(this.alfrescoApi.getInstance()); + } constructor( private formBuilder: FormBuilder, @@ -45,7 +47,6 @@ export class NodeLockDialogComponent implements OnInit { @Inject(MAT_DIALOG_DATA) public data: any ) { - this.nodesApi = new NodesApi(this.alfrescoApi.getInstance()); } ngOnInit() { diff --git a/lib/content-services/src/lib/document-list/components/document-list.component.ts b/lib/content-services/src/lib/document-list/components/document-list.component.ts index 09663f08ce..87d2a0ddd6 100644 --- a/lib/content-services/src/lib/document-list/components/document-list.component.ts +++ b/lib/content-services/src/lib/document-list/components/document-list.component.ts @@ -342,7 +342,10 @@ export class DocumentListComponent implements OnInit, OnChanges, OnDestroy, Afte private rowMenuCache: { [key: string]: ContentActionModel[] } = {}; private loadingTimeout; private onDestroy$ = new Subject(); - private nodesApi: NodesApi; + + get nodes(): NodesApi { + return new NodesApi(this.alfrescoApiService.getInstance()); + } constructor(private documentListService: DocumentListService, private ngZone: NgZone, @@ -353,7 +356,6 @@ export class DocumentListComponent implements OnInit, OnChanges, OnDestroy, Afte private thumbnailService: ThumbnailService, private alfrescoApiService: AlfrescoApiService, private lockService: LockService) { - this.nodesApi = new NodesApi(this.alfrescoApiService.getInstance()); this.userPreferencesService .select(UserPreferenceValues.PaginationSize) .pipe(takeUntil(this.onDestroy$)) diff --git a/lib/content-services/src/lib/document-list/services/custom-resources.service.ts b/lib/content-services/src/lib/document-list/services/custom-resources.service.ts index 69b0deea37..bf3297889b 100644 --- a/lib/content-services/src/lib/document-list/services/custom-resources.service.ts +++ b/lib/content-services/src/lib/document-list/services/custom-resources.service.ts @@ -41,22 +41,35 @@ export class CustomResourcesService { private CREATE_PERMISSION = 'create'; - peopleApi: PeopleApi; - sitesApi: SitesApi; - trashcanApi: TrashcanApi; - searchApi: SearchApi; - sharedLinksApi: SharedlinksApi; - favoritesApi: FavoritesApi; - nodesApi: NodesApi; + get peopleApi(): PeopleApi { + return new PeopleApi(this.apiService.getInstance()); + } + + get sitesApi(): SitesApi { + return new SitesApi(this.apiService.getInstance()); + } + + get trashcanApi(): TrashcanApi { + return new TrashcanApi(this.apiService.getInstance()); + } + + get searchApi(): SearchApi { + return new SearchApi(this.apiService.getInstance()); + } + + get sharedLinksApi(): SharedlinksApi { + return new SharedlinksApi(this.apiService.getInstance()); + } + + get favoritesApi(): FavoritesApi { + return new FavoritesApi(this.apiService.getInstance()); + } + + get nodes(): NodesApi { + return new NodesApi(this.apiService.getInstance()); + } constructor(private apiService: AlfrescoApiService, private logService: LogService) { - this.peopleApi = new PeopleApi(this.apiService.getInstance()); - this.sitesApi = new SitesApi(this.apiService.getInstance()); - this.favoritesApi = new FavoritesApi(this.apiService.getInstance()); - this.searchApi = new SearchApi(this.apiService.getInstance()); - this.sharedLinksApi = new SharedlinksApi(this.apiService.getInstance()); - this.trashcanApi = new TrashcanApi(this.apiService.getInstance()); - this.nodesApi = new NodesApi(this.apiService.getInstance()); } /** @@ -154,7 +167,7 @@ export class CustomResourcesService { const options = { maxItems: pagination.maxItems, skipCount: pagination.skipCount, - where: where ? `${where} AND ${defaultPredicate}` : defaultPredicate , + where: where ? `${where} AND ${defaultPredicate}` : defaultPredicate, include: includeFieldsRequest }; @@ -165,18 +178,18 @@ export class CustomResourcesService { list: { entries: result.list.entries .map(({ entry }: any) => { - const target = entry.target.file || entry.target.folder; - target.properties = { - ...(target.properties || { - 'cm:title': entry.title || target.title, - 'cm:description': entry.description || target.description - }), - ...(entry.properties || {}) - }; + const target = entry.target.file || entry.target.folder; + target.properties = { + ...(target.properties || { + 'cm:title': entry.title || target.title, + 'cm:description': entry.description || target.description + }), + ...(entry.properties || {}) + }; - return { - entry: target - }; + return { + entry: target + }; }), pagination: result.list.pagination } @@ -209,7 +222,7 @@ export class CustomResourcesService { return new Observable((observer) => { this.sitesApi.listSiteMembershipsForPerson('-me-', options) .then((result: SiteRolePaging) => { - const page: SiteMemberPaging = new SiteMemberPaging( { + const page: SiteMemberPaging = new SiteMemberPaging({ list: { entries: result.list.entries .map(({ entry: { site } }: any) => { diff --git a/lib/content-services/src/lib/document-list/services/document-list.service.ts b/lib/content-services/src/lib/document-list/services/document-list.service.ts index 3681cee899..5ed6103cc4 100644 --- a/lib/content-services/src/lib/document-list/services/document-list.service.ts +++ b/lib/content-services/src/lib/document-list/services/document-list.service.ts @@ -34,13 +34,14 @@ export class DocumentListService implements DocumentListLoader { static ROOT_ID = '-root-'; - nodes: NodesApi; + get nodes(): NodesApi { + return new NodesApi(this.apiService.getInstance()); + } constructor(private contentService: ContentService, private apiService: AlfrescoApiService, private logService: LogService, private customResourcesService: CustomResourcesService) { - this.nodes = new NodesApi(this.apiService.getInstance()); } /** diff --git a/lib/content-services/src/lib/group/services/group.service.ts b/lib/content-services/src/lib/group/services/group.service.ts index 61d302a022..24667611b3 100644 --- a/lib/content-services/src/lib/group/services/group.service.ts +++ b/lib/content-services/src/lib/group/services/group.service.ts @@ -24,12 +24,13 @@ import { AlfrescoApiService } from '@alfresco/adf-core'; }) export class GroupService { - groupsApi: GroupsApi; + get groupsApi(): GroupsApi { + return new GroupsApi(this.alfrescoApiService.getInstance()); + } constructor( private alfrescoApiService: AlfrescoApiService ) { - this.groupsApi = new GroupsApi(this.alfrescoApiService.getInstance()); } async listAllGroupMembershipsForPerson(personId: string, opts?: any, accumulator = []): Promise { diff --git a/lib/content-services/src/lib/permission-manager/services/node-permission.service.ts b/lib/content-services/src/lib/permission-manager/services/node-permission.service.ts index 810b0efd1a..8c71472f75 100644 --- a/lib/content-services/src/lib/permission-manager/services/node-permission.service.ts +++ b/lib/content-services/src/lib/permission-manager/services/node-permission.service.ts @@ -42,13 +42,14 @@ import { RoleModel } from '../models/role.model'; }) export class NodePermissionService { - groupsApi: GroupsApi; + get groupsApi(): GroupsApi { + return new GroupsApi(this.apiService.getInstance()); + } constructor(private apiService: AlfrescoApiService, private searchApiService: SearchService, private nodeService: NodesApiService, private translation: TranslationService) { - this.groupsApi = new GroupsApi(this.apiService.getInstance()); } /** diff --git a/lib/content-services/src/lib/search/services/base-query-builder.service.ts b/lib/content-services/src/lib/search/services/base-query-builder.service.ts index 856859f61d..7efdb53f09 100644 --- a/lib/content-services/src/lib/search/services/base-query-builder.service.ts +++ b/lib/content-services/src/lib/search/services/base-query-builder.service.ts @@ -42,7 +42,10 @@ import { SearchForm } from '../models/search-form.interface'; providedIn: 'root' }) export abstract class BaseQueryBuilderService { - private searchApi: SearchApi; + + get searchApi(): SearchApi { + return new SearchApi(this.alfrescoApiService.getInstance()); + } /* Stream that emits the search configuration whenever the user change the search forms */ configUpdated = new Subject(); @@ -88,7 +91,6 @@ export abstract class BaseQueryBuilderService { ranges: { [id: string]: SearchRange } = {}; constructor(protected appConfig: AppConfigService, protected alfrescoApiService: AlfrescoApiService) { - this.searchApi = new SearchApi(this.alfrescoApiService.getInstance()); this.resetToDefaults(); } diff --git a/lib/content-services/src/lib/social/services/rating.service.ts b/lib/content-services/src/lib/social/services/rating.service.ts index d19b332699..18b8d3a233 100644 --- a/lib/content-services/src/lib/social/services/rating.service.ts +++ b/lib/content-services/src/lib/social/services/rating.service.ts @@ -26,10 +26,11 @@ import { catchError } from 'rxjs/operators'; }) export class RatingService { - ratingsApi: RatingsApi; + get ratingsApi(): RatingsApi { + return new RatingsApi(this.apiService.getInstance()); + } constructor(private apiService: AlfrescoApiService, private logService: LogService) { - this.ratingsApi = new RatingsApi(this.apiService.getInstance()); } /** diff --git a/lib/content-services/src/lib/tag/services/tag.service.ts b/lib/content-services/src/lib/tag/services/tag.service.ts index 5811134d9d..e8c7200e58 100644 --- a/lib/content-services/src/lib/tag/services/tag.service.ts +++ b/lib/content-services/src/lib/tag/services/tag.service.ts @@ -27,7 +27,9 @@ import { TagBody, TagPaging, TagEntry, TagsApi } from '@alfresco/js-api'; // tslint:disable-next-line: directive-class-suffix export class TagService { - private tagsApi: TagsApi; + get tagsApi(): TagsApi { + return new TagsApi(this.apiService.getInstance()); + } /** Emitted when tag information is updated. */ @Output() @@ -35,7 +37,6 @@ export class TagService { constructor(private apiService: AlfrescoApiService, private logService: LogService) { - this.tagsApi = new TagsApi(this.apiService.getInstance()); } /** diff --git a/lib/content-services/src/lib/version-manager/version-list.component.ts b/lib/content-services/src/lib/version-manager/version-list.component.ts index 1a9440b2a3..491316caa2 100644 --- a/lib/content-services/src/lib/version-manager/version-list.component.ts +++ b/lib/content-services/src/lib/version-manager/version-list.component.ts @@ -32,9 +32,18 @@ import { ConfirmDialogComponent } from '../dialogs/confirm.dialog'; }) export class VersionListComponent implements OnChanges { - private versionsApi: VersionsApi; - private nodesApi: NodesApi; - private contentApi: ContentApi; + get contentApi(): ContentApi { + return new ContentApi(this.alfrescoApi.getInstance()); + } + + get versionsApi(): VersionsApi { + return new VersionsApi(this.alfrescoApi.getInstance()); + } + + get nodesApi(): NodesApi { + return new NodesApi(this.alfrescoApi.getInstance()); + } + versions: VersionEntry[] = []; isLoading = true; @@ -73,9 +82,6 @@ export class VersionListComponent implements OnChanges { constructor(private alfrescoApi: AlfrescoApiService, private contentService: ContentService, private dialog: MatDialog) { - this.versionsApi = new VersionsApi(this.alfrescoApi.getInstance()); - this.nodesApi = new NodesApi(this.alfrescoApi.getInstance()); - this.contentApi = new ContentApi(this.alfrescoApi.getInstance()); } ngOnChanges() { diff --git a/lib/content-services/src/lib/webscript/webscript.component.ts b/lib/content-services/src/lib/webscript/webscript.component.ts index 86ead4b3d1..92e3798e3c 100644 --- a/lib/content-services/src/lib/webscript/webscript.component.ts +++ b/lib/content-services/src/lib/webscript/webscript.component.ts @@ -17,7 +17,7 @@ import { ObjectDataTableAdapter, AlfrescoApiService, LogService } from '@alfresco/adf-core'; import { Component, EventEmitter, Input, OnChanges, Output } from '@angular/core'; -import { WebscriptApi } from '@alfresco/js-api'; +import { TaskFormsApi, WebscriptApi } from '@alfresco/js-api'; /** * (); + navigateBefore = new EventEmitter(); /** Emitted when user clicks 'Navigate Next' (">") button. */ @Output() - navigateNext = new EventEmitter(); + navigateNext = new EventEmitter(); /** Emitted when the shared link used is not valid. */ @Output() @@ -257,10 +257,21 @@ export class ViewerComponent implements OnChanges, OnInit, OnDestroy { private shouldCloseViewer = true; private keyDown$ = fromEvent(document, 'keydown'); - private sharedLinksApi: SharedlinksApi; - private versionsApi: VersionsApi; - private nodesApi: NodesApi; - private contentApi: ContentApi; + get sharedLinksApi(): SharedlinksApi { + return new SharedlinksApi(this.apiService.getInstance()); + } + + get versionsApi(): VersionsApi { + return new VersionsApi(this.apiService.getInstance()); + } + + get nodesApi(): NodesApi { + return new NodesApi(this.apiService.getInstance()); + } + + get contentApi(): ContentApi { + return new ContentApi(this.apiService.getInstance()); + } constructor(private apiService: AlfrescoApiService, private viewUtilService: ViewUtilService, @@ -270,10 +281,6 @@ export class ViewerComponent implements OnChanges, OnInit, OnDestroy { private uploadService: UploadService, private el: ElementRef, public dialog: MatDialog) { - this.sharedLinksApi = new SharedlinksApi(this.apiService.getInstance()); - this.versionsApi = new VersionsApi(this.apiService.getInstance()); - this.nodesApi = new NodesApi(this.apiService.getInstance()); - this.contentApi = new ContentApi(this.apiService.getInstance()); viewUtilService.maxRetries = this.maxRetries; } @@ -563,11 +570,11 @@ export class ViewerComponent implements OnChanges, OnInit, OnDestroy { this.close(); } - onNavigateBeforeClick(event: MouseEvent|KeyboardEvent) { + onNavigateBeforeClick(event: MouseEvent | KeyboardEvent) { this.navigateBefore.next(event); } - onNavigateNextClick(event: MouseEvent|KeyboardEvent) { + onNavigateNextClick(event: MouseEvent | KeyboardEvent) { this.navigateNext.next(event); } @@ -754,7 +761,7 @@ export class ViewerComponent implements OnChanges, OnInit, OnDestroy { skipWhile(() => !this.overlayMode), filter((e: KeyboardEvent) => e.keyCode === 27), takeUntil(this.onDestroy$) - ).subscribe( (event: KeyboardEvent) => { + ).subscribe((event: KeyboardEvent) => { event.preventDefault(); if (this.shouldCloseViewer) { diff --git a/lib/core/viewer/services/view-util.service.ts b/lib/core/viewer/services/view-util.service.ts index 020d80babc..bc2535734a 100644 --- a/lib/core/viewer/services/view-util.service.ts +++ b/lib/core/viewer/services/view-util.service.ts @@ -74,16 +74,21 @@ export class ViewUtilService { viewerTypeChange: Subject = new Subject(); urlFileContentChange: Subject = new Subject(); - renditionsApi: RenditionsApi; - contentApi: ContentApi; - versionsApi: VersionsApi; + get renditionsApi(): RenditionsApi { + return new RenditionsApi(this.apiService.getInstance()); + } + + get contentApi(): ContentApi { + return new ContentApi(this.apiService.getInstance()); + } + + get versionsApi(): VersionsApi { + return new VersionsApi(this.apiService.getInstance()); + } constructor(private apiService: AlfrescoApiService, private logService: LogService, private translateService: TranslationService) { - this.renditionsApi = new RenditionsApi(this.apiService.getInstance()); - this.contentApi = new ContentApi(this.apiService.getInstance()); - this.versionsApi = new VersionsApi(this.apiService.getInstance()); } /** diff --git a/lib/insights/src/lib/analytics-process/services/analytics.service.ts b/lib/insights/src/lib/analytics-process/services/analytics.service.ts index f7cf153418..67f24a88b0 100644 --- a/lib/insights/src/lib/analytics-process/services/analytics.service.ts +++ b/lib/insights/src/lib/analytics-process/services/analytics.service.ts @@ -28,18 +28,21 @@ import { MultiBarChart } from '../../diagram/models/chart/multi-bar-chart.model' import { PieChart } from '../../diagram/models/chart/pie-chart.model'; import { TableChart } from '../../diagram/models/chart/table-chart.model'; import { map, catchError } from 'rxjs/operators'; -import { ProcessDefinitionsApi, ReportApi } from '@alfresco/js-api'; +import { ActivitiContentApi, ProcessDefinitionsApi, ReportApi } from '@alfresco/js-api'; @Injectable({ providedIn: 'root' }) export class AnalyticsService { - reportApi: ReportApi; - processDefinitionsApi: ProcessDefinitionsApi; + get reportApi(): ReportApi { + return new ReportApi(this.apiService.getInstance()); + } + + get reportApi(): ProcessDefinitionsApi { + return new ProcessDefinitionsApi(this.apiService.getInstance()); + } constructor(private apiService: AlfrescoApiService, private logService: LogService) { - this.reportApi = new ReportApi(this.apiService.getInstance()); - this.processDefinitionsApi = new ProcessDefinitionsApi(this.apiService.getInstance()); } /**