This commit is contained in:
Eugenio Romano
2021-08-16 09:42:14 +02:00
parent 30e0250f2f
commit 47bdb909d4
63 changed files with 334 additions and 133 deletions

View File

@@ -29,8 +29,10 @@ import { AspectEntry, AspectPaging, AspectsApi } from '@alfresco/js-api';
}) })
export class AspectListService { export class AspectListService {
_aspectsApi: AspectsApi;
get aspectsApi(): AspectsApi { get aspectsApi(): AspectsApi {
return new AspectsApi(this.alfrescoApiService.getInstance()); this._aspectsApi = this._aspectsApi ?? new AspectsApi(this.alfrescoApiService.getInstance());
return this._aspectsApi;
} }
constructor(private alfrescoApiService: AlfrescoApiService, constructor(private alfrescoApiService: AlfrescoApiService,

View File

@@ -34,8 +34,10 @@ import { catchError } from 'rxjs/operators';
}) })
export class AuditService { export class AuditService {
_auditApi: AuditApi;
get auditApi(): AuditApi { get auditApi(): AuditApi {
return new AuditApi(this.apiService.getInstance()); this._auditApi = this._auditApi ?? new AuditApi(this.apiService.getInstance());
return this._auditApi;
} }
constructor(private apiService: AlfrescoApiService, private logService: LogService) { constructor(private apiService: AlfrescoApiService, private logService: LogService) {
@@ -66,7 +68,7 @@ export class AuditService {
updateAuditApp(auditApplicationId: string, auditAppBodyUpdate: boolean, opts?: any): Observable<AuditApp | {}> { updateAuditApp(auditApplicationId: string, auditAppBodyUpdate: boolean, opts?: any): Observable<AuditApp | {}> {
const defaultOptions = {}; const defaultOptions = {};
const queryOptions = Object.assign({}, defaultOptions, opts); const queryOptions = Object.assign({}, defaultOptions, opts);
return from(this.auditApi.updateAuditApp(auditApplicationId, new AuditBodyUpdate({ isEnabled: auditAppBodyUpdate}), queryOptions)) return from(this.auditApi.updateAuditApp(auditApplicationId, new AuditBodyUpdate({ isEnabled: auditAppBodyUpdate }), queryOptions))
.pipe( .pipe(
catchError((err: any) => this.handleError(err)) catchError((err: any) => this.handleError(err))
); );

View File

@@ -23,7 +23,7 @@ import { PropertyGroup } from '../interfaces/content-metadata.interfaces';
import { ContentTestingModule } from '../../testing/content.testing.module'; import { ContentTestingModule } from '../../testing/content.testing.module';
import { TranslateModule } from '@ngx-translate/core'; import { TranslateModule } from '@ngx-translate/core';
describe('PropertyDescriptorLoaderService', () => { fdescribe('PropertyDescriptorLoaderService', () => {
let service: PropertyDescriptorsService; let service: PropertyDescriptorsService;
let classesApi: ClassesApi; let classesApi: ClassesApi;

View File

@@ -27,8 +27,10 @@ import { ClassesApi } from '@alfresco/js-api';
}) })
export class PropertyDescriptorsService { export class PropertyDescriptorsService {
private _classesApi;
get classesApi(): ClassesApi { get classesApi(): ClassesApi {
return new ClassesApi(this.alfrescoApiService.getInstance()); this._classesApi = this._classesApi ?? new ClassesApi(this.alfrescoApiService.getInstance());
return this._classesApi;
} }
constructor(private alfrescoApiService: AlfrescoApiService) { constructor(private alfrescoApiService: AlfrescoApiService) {

View File

@@ -44,8 +44,10 @@ export class NodeSharedDirective implements OnChanges, OnDestroy {
private onDestroy$ = new Subject<boolean>(); private onDestroy$ = new Subject<boolean>();
_nodesApi: NodesApi;
get nodesApi(): NodesApi { get nodesApi(): NodesApi {
return new NodesApi(this.alfrescoApiService.getInstance()); this._nodesApi = this._nodesApi ?? new NodesApi(this.alfrescoApiService.getInstance());
return this._nodesApi;
} }
constructor( constructor(

View File

@@ -25,8 +25,10 @@ import { map } from 'rxjs/operators';
}) })
export class ContentTypeService { export class ContentTypeService {
_typesApi: TypesApi;
get typesApi(): TypesApi { get typesApi(): TypesApi {
return new TypesApi(this.alfrescoApiService.getInstance()); this._typesApi = this._typesApi ?? new TypesApi(this.alfrescoApiService.getInstance());
return this._typesApi;
} }
constructor(private alfrescoApiService: AlfrescoApiService) { constructor(private alfrescoApiService: AlfrescoApiService) {

View File

@@ -72,8 +72,10 @@ export class LibraryDialogComponent implements OnInit, OnDestroy {
]; ];
disableCreateButton = false; disableCreateButton = false;
_queriesApi: QueriesApi;
get queriesApi(): QueriesApi { get queriesApi(): QueriesApi {
return new QueriesApi(this.alfrescoApiService.getInstance()); this._queriesApi = this._queriesApi ?? new QueriesApi(this.alfrescoApiService.getInstance());
return this._queriesApi;
} }
constructor( constructor(

View File

@@ -35,8 +35,10 @@ export class NodeLockDialogComponent implements OnInit {
node: Node = null; node: Node = null;
nodeName: string; nodeName: string;
_nodesApi: NodesApi;
get nodesApi(): NodesApi { get nodesApi(): NodesApi {
return new NodesApi(this.alfrescoApi.getInstance()); this._nodesApi = this._nodesApi ?? new NodesApi(this.apiService.getInstance());
return this._nodesApi;
} }
constructor( constructor(

View File

@@ -343,8 +343,10 @@ export class DocumentListComponent implements OnInit, OnChanges, OnDestroy, Afte
private loadingTimeout; private loadingTimeout;
private onDestroy$ = new Subject<boolean>(); private onDestroy$ = new Subject<boolean>();
_nodesApi: NodesApi;
get nodesApi(): NodesApi { get nodesApi(): NodesApi {
return new NodesApi(this.alfrescoApiService.getInstance()); this._nodesApi = this._nodesApi ?? new NodesApi(this.alfrescoApiService.getInstance());
return this._nodesApi;
} }
constructor(private documentListService: DocumentListService, constructor(private documentListService: DocumentListService,

View File

@@ -30,7 +30,7 @@ import {
FavoritesApi, FavoritesApi,
SharedlinksApi, SharedlinksApi,
TrashcanApi, TrashcanApi,
NodesApi NodesApi, TypesApi
} from '@alfresco/js-api'; } from '@alfresco/js-api';
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { Observable, from, of, throwError } from 'rxjs'; import { Observable, from, of, throwError } from 'rxjs';
@@ -41,32 +41,46 @@ export class CustomResourcesService {
private CREATE_PERMISSION = 'create'; private CREATE_PERMISSION = 'create';
_peopleApi: PeopleApi;
get peopleApi(): PeopleApi { get peopleApi(): PeopleApi {
return new PeopleApi(this.apiService.getInstance()); this._peopleApi = this._peopleApi ?? new PeopleApi(this.apiService.getInstance());
return this._peopleApi;
} }
_sitesApi: SitesApi;
get sitesApi(): SitesApi { get sitesApi(): SitesApi {
return new SitesApi(this.apiService.getInstance()); this._sitesApi = this._sitesApi ?? new SitesApi(this.apiService.getInstance());
return this._sitesApi;
} }
_trashcanApi: TrashcanApi;
get trashcanApi(): TrashcanApi { get trashcanApi(): TrashcanApi {
return new TrashcanApi(this.apiService.getInstance()); this._trashcanApi = this._trashcanApi ?? new TrashcanApi(this.apiService.getInstance());
return this._trashcanApi;
} }
_searchApi: SearchApi;
get searchApi(): SearchApi { get searchApi(): SearchApi {
return new SearchApi(this.apiService.getInstance()); this._searchApi = this._searchApi ?? new SearchApi(this.apiService.getInstance());
return this._searchApi;
} }
_sharedLinksApi: SharedlinksApi;
get sharedLinksApi(): SharedlinksApi { get sharedLinksApi(): SharedlinksApi {
return new SharedlinksApi(this.apiService.getInstance()); this._sharedLinksApi = this._sharedLinksApi ?? new SharedlinksApi(this.apiService.getInstance());
return this._sharedLinksApi;
} }
_favoritesApi: FavoritesApi;
get favoritesApi(): FavoritesApi { get favoritesApi(): FavoritesApi {
return new FavoritesApi(this.apiService.getInstance()); this._favoritesApi = this._favoritesApi ?? new FavoritesApi(this.apiService.getInstance());
return this._favoritesApi;
} }
_nodesApi: NodesApi;
get nodesApi(): NodesApi { get nodesApi(): NodesApi {
return new NodesApi(this.apiService.getInstance()); this._nodesApi = this._nodesApi ?? new NodesApi(this.apiService.getInstance());
return this._nodesApi;
} }
constructor(private apiService: AlfrescoApiService, private logService: LogService) { constructor(private apiService: AlfrescoApiService, private logService: LogService) {

View File

@@ -34,8 +34,10 @@ export class DocumentListService implements DocumentListLoader {
static ROOT_ID = '-root-'; static ROOT_ID = '-root-';
get nodes(): NodesApi { _nodesApi: NodesApi;
return new NodesApi(this.apiService.getInstance()); get nodesApi(): NodesApi {
this._nodesApi = this._nodesApi ?? new NodesApi(this.apiService.getInstance());
return this._nodesApi;
} }
constructor(private contentService: ContentService, constructor(private contentService: ContentService,

View File

@@ -24,8 +24,10 @@ import { AlfrescoApiService } from '@alfresco/adf-core';
}) })
export class GroupService { export class GroupService {
_groupsApi: GroupsApi;
get groupsApi(): GroupsApi { get groupsApi(): GroupsApi {
return new GroupsApi(this.alfrescoApiService.getInstance()); this._groupsApi = this._groupsApi ?? new GroupsApi(this.alfrescoApiService.getInstance());
return this._groupsApi;
} }
constructor( constructor(

View File

@@ -42,8 +42,10 @@ import { RoleModel } from '../models/role.model';
}) })
export class NodePermissionService { export class NodePermissionService {
_groupsApi: GroupsApi;
get groupsApi(): GroupsApi { get groupsApi(): GroupsApi {
return new GroupsApi(this.apiService.getInstance()); this._groupsApi = this._groupsApi ?? new GroupsApi(this.alfrescoApiService.getInstance());
return this._groupsApi;
} }
constructor(private apiService: AlfrescoApiService, constructor(private apiService: AlfrescoApiService,

View File

@@ -43,8 +43,10 @@ import { SearchForm } from '../models/search-form.interface';
}) })
export abstract class BaseQueryBuilderService { export abstract class BaseQueryBuilderService {
_searchApi: SearchApi;
get searchApi(): SearchApi { get searchApi(): SearchApi {
return new SearchApi(this.alfrescoApiService.getInstance()); this._searchApi = this._searchApi ?? new SearchApi(this.alfrescoApiService.getInstance());
return this._searchApi;
} }
/* Stream that emits the search configuration whenever the user change the search forms */ /* Stream that emits the search configuration whenever the user change the search forms */

View File

@@ -26,8 +26,10 @@ import { catchError } from 'rxjs/operators';
}) })
export class RatingService { export class RatingService {
_ratingsApi: RatingsApi;
get ratingsApi(): RatingsApi { get ratingsApi(): RatingsApi {
return new RatingsApi(this.apiService.getInstance()); this._ratingsApi = this._ratingsApi ?? new RatingsApi(this.apiService.getInstance());
return this._ratingsApi;
} }
constructor(private apiService: AlfrescoApiService, private logService: LogService) { constructor(private apiService: AlfrescoApiService, private logService: LogService) {

View File

@@ -27,8 +27,10 @@ import { TagBody, TagPaging, TagEntry, TagsApi } from '@alfresco/js-api';
// tslint:disable-next-line: directive-class-suffix // tslint:disable-next-line: directive-class-suffix
export class TagService { export class TagService {
_tagsApi: TagsApi;
get tagsApi(): TagsApi { get tagsApi(): TagsApi {
return new TagsApi(this.apiService.getInstance()); this._tagsApi = this._tagsApi ?? new TagsApi(this.apiService.getInstance());
return this._tagsApi;
} }
/** Emitted when tag information is updated. */ /** Emitted when tag information is updated. */

View File

@@ -32,16 +32,22 @@ import { ConfirmDialogComponent } from '../dialogs/confirm.dialog';
}) })
export class VersionListComponent implements OnChanges { export class VersionListComponent implements OnChanges {
_contentApi: ContentApi;
get contentApi(): ContentApi { get contentApi(): ContentApi {
return new ContentApi(this.alfrescoApi.getInstance()); this._contentApi = this._contentApi ?? new ContentApi(this.apiService.getInstance());
return this._contentApi;
} }
_versionsApi: VersionsApi;
get versionsApi(): VersionsApi { get versionsApi(): VersionsApi {
return new VersionsApi(this.alfrescoApi.getInstance()); this._versionsApi = this._versionsApi ?? new VersionsApi(this.apiService.getInstance());
return this._versionsApi;
} }
_nodesApi: NodesApi;
get nodesApi(): NodesApi { get nodesApi(): NodesApi {
return new NodesApi(this.alfrescoApi.getInstance()); this._nodesApi = this._nodesApi ?? new NodesApi(this.apiService.getInstance());
return this._nodesApi;
} }
versions: VersionEntry[] = []; versions: VersionEntry[] = [];

View File

@@ -45,8 +45,10 @@ import { WebscriptApi } from '@alfresco/js-api';
}) })
export class WebscriptComponent implements OnChanges { export class WebscriptComponent implements OnChanges {
_webscriptApi: WebscriptApi;
get webscriptApi(): WebscriptApi { get webscriptApi(): WebscriptApi {
return new WebscriptApi(this.apiService.getInstance()); this._webscriptApi = this._webscriptApi ?? new WebscriptApi(this.apiService.getInstance());
return this._webscriptApi;
} }
/** (required) Path to the webscript (as defined by webscript). */ /** (required) Path to the webscript (as defined by webscript). */

View File

@@ -39,8 +39,10 @@ export class LibraryFavoriteDirective implements OnChanges {
private targetLibrary = null; private targetLibrary = null;
_favoritesApi: FavoritesApi;
get favoritesApi(): FavoritesApi { get favoritesApi(): FavoritesApi {
return new FavoritesApi(this.alfrescoApiService.getInstance()); this._favoritesApi = this._favoritesApi ?? new FavoritesApi(this.alfrescoApiService.getInstance());
return this._favoritesApi;
} }
@HostListener('click') @HostListener('click')

View File

@@ -48,8 +48,10 @@ export class LibraryMembershipDirective implements OnChanges {
isJoinRequested: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false); isJoinRequested: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);
_sitesApi: SitesApi;
get sitesApi(): SitesApi { get sitesApi(): SitesApi {
return new SitesApi(this.alfrescoApiService.getInstance()); this._sitesApi = this._sitesApi ?? new SitesApi(this.alfrescoApiService.getInstance());
return this._sitesApi;
} }
/** Site for which to toggle the membership request. */ /** Site for which to toggle the membership request. */

View File

@@ -62,12 +62,16 @@ export class NodeDeleteDirective implements OnChanges {
@Output() @Output()
delete: EventEmitter<any> = new EventEmitter(); delete: EventEmitter<any> = new EventEmitter();
_trashcanApi: TrashcanApi;
get trashcanApi(): TrashcanApi { get trashcanApi(): TrashcanApi {
return new TrashcanApi(this.alfrescoApiService.getInstance()); this._trashcanApi = this._trashcanApi ?? new TrashcanApi(this.apiService.getInstance());
return this._trashcanApi;
} }
_nodesApi: NodesApi;
get nodesApi(): NodesApi { get nodesApi(): NodesApi {
return new NodesApi(this.alfrescoApiService.getInstance()); this._nodesApi = this._nodesApi ?? new NodesApi(this.apiService.getInstance());
return this._nodesApi;
} }
@HostListener('click') @HostListener('click')

View File

@@ -31,8 +31,10 @@ import { DownloadService } from '../services/download.service';
}) })
export class NodeDownloadDirective { export class NodeDownloadDirective {
_contentApi: ContentApi;
get contentApi(): ContentApi { get contentApi(): ContentApi {
return new ContentApi(this.apiService.getInstance()); this._contentApi = this._contentApi ?? new ContentApi(this.apiService.getInstance());
return this._contentApi;
} }
/** Nodes to download. */ /** Nodes to download. */

View File

@@ -30,8 +30,10 @@ import { catchError, map } from 'rxjs/operators';
export class NodeFavoriteDirective implements OnChanges { export class NodeFavoriteDirective implements OnChanges {
favorites: any[] = []; favorites: any[] = [];
_favoritesApi: FavoritesApi;
get favoritesApi(): FavoritesApi { get favoritesApi(): FavoritesApi {
return new FavoritesApi(this.alfrescoApiService.getInstance()); this._favoritesApi = this._favoritesApi ?? new FavoritesApi(this.alfrescoApiService.getInstance());
return this._favoritesApi;
} }
/** Array of nodes to toggle as favorites. */ /** Array of nodes to toggle as favorites. */

View File

@@ -36,8 +36,10 @@ export class RestoreMessageModel {
export class NodeRestoreDirective { export class NodeRestoreDirective {
private readonly restoreProcessStatus; private readonly restoreProcessStatus;
_trashcanApi: TrashcanApi;
get trashcanApi(): TrashcanApi { get trashcanApi(): TrashcanApi {
return new TrashcanApi(this.alfrescoApiService.getInstance()); this._trashcanApi = this._trashcanApi ?? new TrashcanApi(this.apiService.getInstance());
return this._trashcanApi;
} }
/** Array of deleted nodes to restore. */ /** Array of deleted nodes to restore. */

View File

@@ -23,7 +23,7 @@ import {
IntegrationAlfrescoOnPremiseApi, IntegrationAlfrescoOnPremiseApi,
MinimalNode, MinimalNode,
RelatedContentRepresentation, RelatedContentRepresentation,
ActivitiContentApi ActivitiContentApi, UserProfileApi
} from '@alfresco/js-api'; } from '@alfresco/js-api';
import { Observable, from, throwError } from 'rxjs'; import { Observable, from, throwError } from 'rxjs';
import { ExternalContent } from '../components/widgets/core/external-content'; import { ExternalContent } from '../components/widgets/core/external-content';
@@ -35,11 +35,16 @@ import { map, catchError } from 'rxjs/operators';
}) })
export class ActivitiContentService { export class ActivitiContentService {
_integrationAlfrescoOnPremiseApi: IntegrationAlfrescoOnPremiseApi;
get integrationAlfrescoOnPremiseApi(): IntegrationAlfrescoOnPremiseApi { get integrationAlfrescoOnPremiseApi(): IntegrationAlfrescoOnPremiseApi {
return new IntegrationAlfrescoOnPremiseApi(this.apiService.getInstance()); this._integrationAlfrescoOnPremiseApi= this._integrationAlfrescoOnPremiseApi ?? new IntegrationAlfrescoOnPremiseApi(this.apiService.getInstance());
return this._integrationAlfrescoOnPremiseApi;
} }
_contentApi: ActivitiContentApi;
get contentApi(): ActivitiContentApi { get contentApi(): ActivitiContentApi {
return new ActivitiContentApi(this.apiService.getInstance()); this._contentApi = this._contentApi ?? new ActivitiContentApi(this.apiService.getInstance());
return this._contentApi;
} }
static UNKNOWN_ERROR_MESSAGE: string = 'Unknown error'; static UNKNOWN_ERROR_MESSAGE: string = 'Unknown error';

View File

@@ -32,8 +32,10 @@ export class EcmModelService {
public static MODEL_NAME: string = 'activitiFormsModel'; public static MODEL_NAME: string = 'activitiFormsModel';
public static TYPE_MODEL: string = 'cm:folder'; public static TYPE_MODEL: string = 'cm:folder';
_customModelApi: CustomModelApi;
get customModelApi(): CustomModelApi { get customModelApi(): CustomModelApi {
return new CustomModelApi(this.apiService.getInstance()); this._customModelApi = this._customModelApi ?? new CustomModelApi(this.apiService.getInstance());
return this._customModelApi;
} }
constructor(private apiService: AlfrescoApiService, constructor(private apiService: AlfrescoApiService,

View File

@@ -52,40 +52,58 @@ export class FormService {
static UNKNOWN_ERROR_MESSAGE: string = 'Unknown error'; static UNKNOWN_ERROR_MESSAGE: string = 'Unknown error';
static GENERIC_ERROR_MESSAGE: string = 'Server error'; static GENERIC_ERROR_MESSAGE: string = 'Server error';
get taskApi(): TasksApi { _taskFormsApi: TaskFormsApi;
return new TasksApi(this.apiService.getInstance());
}
get taskFormsApi(): TaskFormsApi { get taskFormsApi(): TaskFormsApi {
return new TaskFormsApi(this.apiService.getInstance()); this._taskFormsApi = this._taskFormsApi ?? new TaskFormsApi(this.apiService.getInstance());
return this._taskFormsApi;
} }
_taskApi: TasksApi;
get taskApi(): TasksApi {
this._taskApi = this._taskApi ?? new TasksApi(this.apiService.getInstance());
return this._taskApi;
}
_modelsApi: ModelsApi;
get modelsApi(): ModelsApi { get modelsApi(): ModelsApi {
return new ModelsApi(this.apiService.getInstance()); this._modelsApi = this._modelsApi ?? new ModelsApi(this.apiService.getInstance());
return this._modelsApi;
} }
_editorApi: FormModelsApi;
get editorApi(): FormModelsApi { get editorApi(): FormModelsApi {
return new FormModelsApi(this.apiService.getInstance()); this._editorApi = this._editorApi ?? new FormModelsApi(this.apiService.getInstance());
return this._editorApi;
} }
_processDefinitionsApi: ProcessDefinitionsApi;
get processDefinitionsApi(): ProcessDefinitionsApi { get processDefinitionsApi(): ProcessDefinitionsApi {
return new ProcessDefinitionsApi(this.apiService.getInstance()); this._processDefinitionsApi = this._processDefinitionsApi ?? new ProcessDefinitionsApi(this.apiService.getInstance());
return this._processDefinitionsApi;
} }
_processInstanceVariablesApi: ProcessInstanceVariablesApi;
get processInstanceVariablesApi(): ProcessInstanceVariablesApi { get processInstanceVariablesApi(): ProcessInstanceVariablesApi {
return new ProcessInstanceVariablesApi(this.apiService.getInstance()); this._processInstanceVariablesApi = this._processInstanceVariablesApi ?? new ProcessInstanceVariablesApi(this.apiService.getInstance());
return this._processInstanceVariablesApi;
} }
_processInstancesApi: ProcessInstancesApi;
get processInstancesApi(): ProcessInstancesApi { get processInstancesApi(): ProcessInstancesApi {
return new ProcessInstancesApi(this.apiService.getInstance()); this._processInstancesApi= this._processInstancesApi ?? new ProcessInstancesApi(this.apiService.getInstance());
return this._processInstancesApi;
} }
_groupsApi: ActivitiGroupsApi;
get groupsApi(): ActivitiGroupsApi { get groupsApi(): ActivitiGroupsApi {
return new ActivitiGroupsApi(this.apiService.getInstance()); this._groupsApi = this._groupsApi ?? new ActivitiGroupsApi(this.apiService.getInstance());
return this._groupsApi;
} }
_usersApi: UsersApi;
get usersApi(): UsersApi { get usersApi(): UsersApi {
return new UsersApi(this.apiService.getInstance()); this._usersApi = this._usersApi ?? new UsersApi(this.apiService.getInstance());
return this._usersApi;
} }
formLoaded = new Subject<FormEvent>(); formLoaded = new Subject<FormEvent>();

View File

@@ -18,7 +18,7 @@
import { AlfrescoApiService } from '../../services/alfresco-api.service'; import { AlfrescoApiService } from '../../services/alfresco-api.service';
import { LogService } from '../../services/log.service'; import { LogService } from '../../services/log.service';
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { ActivitiContentApi, RelatedContentRepresentation } from '@alfresco/js-api'; import { ActivitiContentApi, ContentApi, RelatedContentRepresentation } from '@alfresco/js-api';
import { Observable, from, throwError } from 'rxjs'; import { Observable, from, throwError } from 'rxjs';
import { catchError } from 'rxjs/operators'; import { catchError } from 'rxjs/operators';
@@ -30,8 +30,10 @@ export class ProcessContentService {
static UNKNOWN_ERROR_MESSAGE: string = 'Unknown error'; static UNKNOWN_ERROR_MESSAGE: string = 'Unknown error';
static GENERIC_ERROR_MESSAGE: string = 'Server error'; static GENERIC_ERROR_MESSAGE: string = 'Server error';
get contentApi(): ActivitiContentApi { _contentApi: ContentApi;
return new ActivitiContentApi(this.apiService.getInstance()); get contentApi(): ContentApi {
this._contentApi = this._contentApi ?? new ContentApi(this.apiService.getInstance());
return this._contentApi;
} }
constructor(private apiService: AlfrescoApiService, constructor(private apiService: AlfrescoApiService,

View File

@@ -30,15 +30,17 @@ import {
import { TaskProcessVariableModel } from '../models/task-process-variable.model'; import { TaskProcessVariableModel } from '../models/task-process-variable.model';
import { WidgetVisibilityModel, WidgetTypeEnum } from '../models/widget-visibility.model'; import { WidgetVisibilityModel, WidgetTypeEnum } from '../models/widget-visibility.model';
import { map, catchError } from 'rxjs/operators'; import { map, catchError } from 'rxjs/operators';
import { TaskFormsApi } from '@alfresco/js-api'; import { RuntimeAppDefinitionsApi, TaskFormsApi } from '@alfresco/js-api';
@Injectable({ @Injectable({
providedIn: 'root' providedIn: 'root'
}) })
export class WidgetVisibilityService { export class WidgetVisibilityService {
_taskFormsApi: TaskFormsApi;
get taskFormsApi(): TaskFormsApi { get taskFormsApi(): TaskFormsApi {
return new TaskFormsApi(this.apiService.getInstance()); this._taskFormsApi = this._taskFormsApi ?? new TaskFormsApi(this.apiService.getInstance());
return this._taskFormsApi;
} }
private processVarList: TaskProcessVariableModel[]; private processVarList: TaskProcessVariableModel[];

View File

@@ -27,8 +27,10 @@ import { map, catchError } from 'rxjs/operators';
}) })
export class AppsProcessService { export class AppsProcessService {
_appsApi: RuntimeAppDefinitionsApi;
get appsApi(): RuntimeAppDefinitionsApi { get appsApi(): RuntimeAppDefinitionsApi {
return new RuntimeAppDefinitionsApi(this.apiService.getInstance()); this._appsApi = this._appsApi ?? new RuntimeAppDefinitionsApi(this.apiService.getInstance());
return this._appsApi;
} }
constructor(private apiService: AlfrescoApiService, constructor(private apiService: AlfrescoApiService,

View File

@@ -48,8 +48,10 @@ export class AuthenticationService {
*/ */
onLogout: ReplaySubject<any> = new ReplaySubject<any>(1); onLogout: ReplaySubject<any> = new ReplaySubject<any>(1);
_profileApi: UserProfileApi;
get profileApi(): UserProfileApi { get profileApi(): UserProfileApi {
return new UserProfileApi(this.alfrescoApi.getInstance()); this._profileApi = this._profileApi ?? new UserProfileApi(this.alfrescoApi.getInstance());
return this._profileApi;
} }
constructor( constructor(

View File

@@ -33,8 +33,10 @@ import { UserProfileApi, UserRepresentation } from '@alfresco/js-api';
}) })
export class BpmUserService { export class BpmUserService {
_profileApi: UserProfileApi;
get profileApi(): UserProfileApi { get profileApi(): UserProfileApi {
return new UserProfileApi(this.apiService.getInstance()); this._profileApi = this._profileApi ?? new UserProfileApi(this.apiService.getInstance());
return this._profileApi;
} }
constructor(private apiService: AlfrescoApiService, constructor(private apiService: AlfrescoApiService,

View File

@@ -28,8 +28,10 @@ import { CommentEntry, CommentsApi } from '@alfresco/js-api';
}) })
export class CommentContentService { export class CommentContentService {
_commentsApi: CommentsApi;
get commentsApi(): CommentsApi { get commentsApi(): CommentsApi {
return new CommentsApi(this.apiService.getInstance()); this._commentsApi = this._commentsApi ?? new CommentsApi(this.apiService.getInstance());
return this._commentsApi;
} }
constructor(private apiService: AlfrescoApiService, constructor(private apiService: AlfrescoApiService,

View File

@@ -29,8 +29,10 @@ import { ActivitiCommentsApi } from '@alfresco/js-api';
}) })
export class CommentProcessService { export class CommentProcessService {
_commentsApi: ActivitiCommentsApi;
get commentsApi(): ActivitiCommentsApi { get commentsApi(): ActivitiCommentsApi {
return new ActivitiCommentsApi(this.apiService.getInstance()); this._commentsApi = this._commentsApi ?? new ActivitiCommentsApi(this.apiService.getInstance());
return this._commentsApi;
} }
constructor(private apiService: AlfrescoApiService, constructor(private apiService: AlfrescoApiService,

View File

@@ -38,12 +38,16 @@ export class ContentService {
folderCreate: Subject<MinimalNode> = new Subject<MinimalNode>(); folderCreate: Subject<MinimalNode> = new Subject<MinimalNode>();
folderEdit: Subject<MinimalNode> = new Subject<MinimalNode>(); folderEdit: Subject<MinimalNode> = new Subject<MinimalNode>();
_contentApi: ContentApi;
get contentApi(): ContentApi { get contentApi(): ContentApi {
return new ContentApi(this.apiService.getInstance()); this._contentApi = this._contentApi ?? new ContentApi(this.apiService.getInstance());
return this._contentApi;
} }
_nodesApi: NodesApi;
get nodesApi(): NodesApi { get nodesApi(): NodesApi {
return new NodesApi(this.apiService.getInstance()); this._nodesApi = this._nodesApi ?? new NodesApi(this.apiService.getInstance());
return this._nodesApi;
} }
constructor(public authService: AuthenticationService, constructor(public authService: AuthenticationService,

View File

@@ -28,12 +28,16 @@ import { catchError } from 'rxjs/operators';
}) })
export class DeletedNodesApiService { export class DeletedNodesApiService {
_nodesApi: NodesApi;
get nodesApi(): NodesApi { get nodesApi(): NodesApi {
return new NodesApi(this.apiService.getInstance()); this._nodesApi = this._nodesApi ?? new NodesApi(this.apiService.getInstance());
return this._nodesApi;
} }
_trashcanApi: TrashcanApi;
get trashcanApi(): TrashcanApi { get trashcanApi(): TrashcanApi {
return new TrashcanApi(this.apiService.getInstance()); this._trashcanApi = this._trashcanApi ?? new TrashcanApi(this.apiService.getInstance());
return this._trashcanApi;
} }
constructor( constructor(

View File

@@ -27,8 +27,10 @@ import { catchError } from 'rxjs/operators';
}) })
export class DownloadZipService { export class DownloadZipService {
_downloadsApi: DownloadsApi;
get downloadsApi(): DownloadsApi { get downloadsApi(): DownloadsApi {
return new DownloadsApi(this.apiService.getInstance()); this._downloadsApi = this._downloadsApi ?? new DownloadsApi(this.apiService.getInstance());
return this._downloadsApi;
} }
constructor(private apiService: AlfrescoApiService, constructor(private apiService: AlfrescoApiService,

View File

@@ -28,16 +28,16 @@ import { PeopleApi } from '@alfresco/js-api';
}) })
export class EcmUserService { export class EcmUserService {
private _peopleApi: PeopleApi; _peopleApi: PeopleApi;
get peopleApi(): PeopleApi {
this._peopleApi = this._peopleApi ?? new PeopleApi(this.apiService.getInstance());
return this._peopleApi;
}
constructor(private apiService: AlfrescoApiService, constructor(private apiService: AlfrescoApiService,
private contentService: ContentService) { private contentService: ContentService) {
} }
get peopleApi(): PeopleApi {
return this._peopleApi || (this._peopleApi = new PeopleApi(this.apiService.getInstance()));
}
/** /**
* Gets information about a user identified by their username. * Gets information about a user identified by their username.
* @param userName Target username * @param userName Target username

View File

@@ -20,7 +20,7 @@ import {
AlfrescoApiCompatibility, AlfrescoApiCompatibility,
ContentApi, ContentApi,
Core, Core,
Node Node, NodesApi
} from '@alfresco/js-api'; } from '@alfresco/js-api';
import { ReplaySubject, Subject } from 'rxjs'; import { ReplaySubject, Subject } from 'rxjs';
@@ -46,8 +46,10 @@ export class ExternalAlfrescoApiService {
return this.getInstance().content; return this.getInstance().content;
} }
get nodesApi(): Core.NodesApi { _nodesApi: NodesApi;
return this.getInstance().nodes; get nodesApi(): NodesApi {
this._nodesApi = this._nodesApi ?? new NodesApi(this.apiService.getInstance());
return this._nodesApi;
} }
init(ecmHost: string, contextRoot: string) { init(ecmHost: string, contextRoot: string) {

View File

@@ -27,8 +27,10 @@ import { catchError } from 'rxjs/operators';
}) })
export class FavoritesApiService { export class FavoritesApiService {
_favoritesApi: FavoritesApi;
get favoritesApi(): FavoritesApi { get favoritesApi(): FavoritesApi {
return new FavoritesApi(this.apiService.getInstance()); this._favoritesApi = this._favoritesApi ?? new FavoritesApi(this.apiService.getInstance());
return this._favoritesApi;
} }
static remapEntry({ entry }: any): any { static remapEntry({ entry }: any): any {

View File

@@ -28,12 +28,16 @@ import { NodeMetadata } from '../models/node-metadata.model';
}) })
export class NodesApiService { export class NodesApiService {
_trashcanApi: TrashcanApi;
get trashcanApi(): TrashcanApi { get trashcanApi(): TrashcanApi {
return new TrashcanApi(this.apiService.getInstance()); this._trashcanApi = this._trashcanApi ?? new TrashcanApi(this.apiService.getInstance());
return this._trashcanApi;
} }
_nodesApi: NodesApi;
get nodesApi(): NodesApi { get nodesApi(): NodesApi {
return new NodesApi(this.apiService.getInstance()); this._nodesApi = this._nodesApi ?? new NodesApi(this.apiService.getInstance());
return this._nodesApi;
} }
constructor(private apiService: AlfrescoApiService, constructor(private apiService: AlfrescoApiService,

View File

@@ -50,8 +50,10 @@ export class PeopleContentService {
private hasContentAdminRole: boolean = false; private hasContentAdminRole: boolean = false;
hasCheckedIsContentAdmin: boolean = false; hasCheckedIsContentAdmin: boolean = false;
_peopleApi: PeopleApi;
get peopleApi(): PeopleApi { get peopleApi(): PeopleApi {
return new PeopleApi(this.apiService.getInstance()); this._peopleApi = this._peopleApi ?? new PeopleApi(this.apiService.getInstance());
return this._peopleApi;
} }
constructor(private apiService: AlfrescoApiService, private logService: LogService) { constructor(private apiService: AlfrescoApiService, private logService: LogService) {

View File

@@ -24,7 +24,7 @@ import { catchError, map } from 'rxjs/operators';
import { import {
TaskActionsApi, TaskActionsApi,
UsersApi, UsersApi,
ResultListDataRepresentationLightUserRepresentation ResultListDataRepresentationLightUserRepresentation, DownloadsApi
} from '@alfresco/js-api'; } from '@alfresco/js-api';
@Injectable({ @Injectable({
@@ -32,12 +32,16 @@ import {
}) })
export class PeopleProcessService { export class PeopleProcessService {
_taskActionsApi: TaskActionsApi;
get taskActionsApi(): TaskActionsApi { get taskActionsApi(): TaskActionsApi {
return new TaskActionsApi(this.apiService.getInstance()); this._taskActionsApi = this._taskActionsApi ?? new TaskActionsApi(this.apiService.getInstance());
return this._taskActionsApi;
} }
_userApi: UsersApi;
get userApi(): UsersApi { get userApi(): UsersApi {
return new UsersApi(this.apiService.getInstance()); this._userApi = this._userApi ?? new UsersApi(this.apiService.getInstance());
return this._userApi;
} }
constructor(private apiService: AlfrescoApiService, constructor(private apiService: AlfrescoApiService,

View File

@@ -26,12 +26,16 @@ import { concatMap, switchMap, takeWhile, map } from 'rxjs/operators';
}) })
export class RenditionsService { export class RenditionsService {
_renditionsApi: RenditionsApi;
get renditionsApi(): RenditionsApi { get renditionsApi(): RenditionsApi {
return new RenditionsApi(this.apiService.getInstance()); this._renditionsApi = this._renditionsApi ?? new RenditionsApi(this.apiService.getInstance());
return this._renditionsApi;
} }
_contentApi: ContentApi;
get contentApi(): ContentApi { get contentApi(): ContentApi {
return new ContentApi(this.apiService.getInstance()); this._contentApi = this._contentApi ?? new ContentApi(this.apiService.getInstance());
return this._contentApi;
} }
constructor(private apiService: AlfrescoApiService) { constructor(private apiService: AlfrescoApiService) {

View File

@@ -28,12 +28,16 @@ export class SearchService {
dataLoaded: Subject<ResultSetPaging> = new Subject(); dataLoaded: Subject<ResultSetPaging> = new Subject();
_queriesApi: QueriesApi;
get queriesApi(): QueriesApi { get queriesApi(): QueriesApi {
return new QueriesApi(this.apiService.getInstance()); this._queriesApi = this._queriesApi ?? new QueriesApi(this.apiService.getInstance());
return this._queriesApi;
} }
_searchApi: SearchApi;
get searchApi(): SearchApi { get searchApi(): SearchApi {
return new SearchApi(this.apiService.getInstance()); this._searchApi = this._searchApi ?? new SearchApi(this.apiService.getInstance());
return this._searchApi;
} }
constructor(private apiService: AlfrescoApiService, constructor(private apiService: AlfrescoApiService,

View File

@@ -29,8 +29,10 @@ export class SharedLinksApiService {
error = new Subject<{ statusCode: number, message: string }>(); error = new Subject<{ statusCode: number, message: string }>();
_sharedLinksApi: SharedlinksApi;
get sharedLinksApi(): SharedlinksApi { get sharedLinksApi(): SharedlinksApi {
return new SharedlinksApi(this.apiService.getInstance()); this._sharedLinksApi = this._sharedLinksApi ?? new SharedlinksApi(this.apiService.getInstance());
return this._sharedLinksApi;
} }
constructor(private apiService: AlfrescoApiService, constructor(private apiService: AlfrescoApiService,

View File

@@ -40,8 +40,10 @@ import { LogService } from './log.service';
}) })
export class SitesService { export class SitesService {
_sitesApi: SitesApi;
get sitesApi(): SitesApi { get sitesApi(): SitesApi {
return new SitesApi(this.apiService.getInstance()); this._sitesApi = this._sitesApi ?? new SitesApi(this.apiService.getInstance());
return this._sitesApi;
} }
constructor(private apiService: AlfrescoApiService, private logService: LogService) { constructor(private apiService: AlfrescoApiService, private logService: LogService) {

View File

@@ -164,8 +164,10 @@ export class ThumbnailService {
'task': './assets/images/task.svg' 'task': './assets/images/task.svg'
}; };
_contentApi: ContentApi;
get contentApi(): ContentApi { get contentApi(): ContentApi {
return new ContentApi(this.apiService.getInstance()); this._contentApi = this._contentApi ?? new ContentApi(this.apiService.getInstance());
return this._contentApi;
} }
constructor(protected apiService: AlfrescoApiService, matIconRegistry: MatIconRegistry, sanitizer: DomSanitizer) { constructor(protected apiService: AlfrescoApiService, matIconRegistry: MatIconRegistry, sanitizer: DomSanitizer) {

View File

@@ -63,16 +63,22 @@ export class UploadService {
fileUploadDeleted: Subject<FileUploadDeleteEvent> = new Subject<FileUploadDeleteEvent>(); fileUploadDeleted: Subject<FileUploadDeleteEvent> = new Subject<FileUploadDeleteEvent>();
fileDeleted: Subject<string> = new Subject<string>(); fileDeleted: Subject<string> = new Subject<string>();
_uploadApi: UploadApi;
get uploadApi(): UploadApi { get uploadApi(): UploadApi {
return new UploadApi(this.apiService.getInstance()); this._uploadApi = this._uploadApi ?? new UploadApi(this.apiService.getInstance());
return this._uploadApi;
} }
_nodesApi: NodesApi;
get nodesApi(): NodesApi { get nodesApi(): NodesApi {
return new NodesApi(this.apiService.getInstance()); this._nodesApi = this._nodesApi ?? new NodesApi(this.apiService.getInstance());
return this._nodesApi;
} }
_versionsApi: VersionsApi;
get versionsApi(): VersionsApi { get versionsApi(): VersionsApi {
return new VersionsApi(this.apiService.getInstance()); this._versionsApi = this._versionsApi ?? new VersionsApi(this.apiService.getInstance());
return this._versionsApi;
} }
constructor( constructor(

View File

@@ -257,20 +257,28 @@ export class ViewerComponent implements OnChanges, OnInit, OnDestroy {
private shouldCloseViewer = true; private shouldCloseViewer = true;
private keyDown$ = fromEvent<KeyboardEvent>(document, 'keydown'); private keyDown$ = fromEvent<KeyboardEvent>(document, 'keydown');
_sharedLinksApi: SharedlinksApi;
get sharedLinksApi(): SharedlinksApi { get sharedLinksApi(): SharedlinksApi {
return new SharedlinksApi(this.apiService.getInstance()); this._sharedLinksApi = this._sharedLinksApi ?? new SharedlinksApi(this.apiService.getInstance());
return this._sharedLinksApi;
} }
_versionsApi: VersionsApi;
get versionsApi(): VersionsApi { get versionsApi(): VersionsApi {
return new VersionsApi(this.apiService.getInstance()); this._versionsApi = this._versionsApi ?? new VersionsApi(this.apiService.getInstance());
return this._versionsApi;
} }
_nodesApi: NodesApi;
get nodesApi(): NodesApi { get nodesApi(): NodesApi {
return new NodesApi(this.apiService.getInstance()); this._nodesApi = this._nodesApi ?? new NodesApi(this.apiService.getInstance());
return this._nodesApi;
} }
_contentApi: ContentApi;
get contentApi(): ContentApi { get contentApi(): ContentApi {
return new ContentApi(this.apiService.getInstance()); this._contentApi = this._contentApi ?? new ContentApi(this.apiService.getInstance());
return this._contentApi;
} }
constructor(private apiService: AlfrescoApiService, constructor(private apiService: AlfrescoApiService,

View File

@@ -74,16 +74,22 @@ export class ViewUtilService {
viewerTypeChange: Subject<string> = new Subject<string>(); viewerTypeChange: Subject<string> = new Subject<string>();
urlFileContentChange: Subject<string> = new Subject<string>(); urlFileContentChange: Subject<string> = new Subject<string>();
_renditionsApi: RenditionsApi;
get renditionsApi(): RenditionsApi { get renditionsApi(): RenditionsApi {
return new RenditionsApi(this.apiService.getInstance()); this._renditionsApi = this._renditionsApi ?? new RenditionsApi(this.apiService.getInstance());
return this._renditionsApi;
} }
_contentApi: ContentApi;
get contentApi(): ContentApi { get contentApi(): ContentApi {
return new ContentApi(this.apiService.getInstance()); this._contentApi = this._contentApi ?? new ContentApi(this.apiService.getInstance());
return this._contentApi;
} }
_versionsApi: VersionsApi;
get versionsApi(): VersionsApi { get versionsApi(): VersionsApi {
return new VersionsApi(this.apiService.getInstance()); this._versionsApi = this._versionsApi ?? new VersionsApi(this.apiService.getInstance());
return this._versionsApi;
} }
constructor(private apiService: AlfrescoApiService, constructor(private apiService: AlfrescoApiService,

View File

@@ -33,12 +33,16 @@ import { ProcessDefinitionsApi, ReportApi } from '@alfresco/js-api';
@Injectable({ providedIn: 'root' }) @Injectable({ providedIn: 'root' })
export class AnalyticsService { export class AnalyticsService {
_reportApi: ReportApi;
get reportApi(): ReportApi { get reportApi(): ReportApi {
return new ReportApi(this.apiService.getInstance()); this._reportApi = this._reportApi ?? new ReportApi(this.apiService.getInstance());
return this._reportApi;
} }
_processDefinitionsApi: ProcessDefinitionsApi;
get processDefinitionsApi(): ProcessDefinitionsApi { get processDefinitionsApi(): ProcessDefinitionsApi {
return new ProcessDefinitionsApi(this.apiService.getInstance()); this._processDefinitionsApi = this._processDefinitionsApi ?? new ProcessDefinitionsApi(this.apiService.getInstance());
return this._processDefinitionsApi;
} }
constructor(private apiService: AlfrescoApiService, constructor(private apiService: AlfrescoApiService,

View File

@@ -24,8 +24,10 @@ import { ModelJsonBpmnApi } from '@alfresco/js-api';
@Injectable({ providedIn: 'root' }) @Injectable({ providedIn: 'root' })
export class DiagramsService { export class DiagramsService {
_modelJsonBpmnApi: ModelJsonBpmnApi;
get modelJsonBpmnApi(): ModelJsonBpmnApi { get modelJsonBpmnApi(): ModelJsonBpmnApi {
return new ModelJsonBpmnApi(this.apiService.getInstance()); this._modelJsonBpmnApi = this._modelJsonBpmnApi ?? new ModelJsonBpmnApi(this.apiService.getInstance());
return this._modelJsonBpmnApi;
} }
constructor(private apiService: AlfrescoApiService, constructor(private apiService: AlfrescoApiService,

View File

@@ -67,8 +67,10 @@ export class AttachFileCloudWidgetComponent extends UploadCloudWidgetComponent i
rootNodeId = AttachFileCloudWidgetComponent.ALIAS_USER_FOLDER; rootNodeId = AttachFileCloudWidgetComponent.ALIAS_USER_FOLDER;
selectedNode: Node; selectedNode: Node;
_nodesApi: NodesApi;
get nodesApi(): NodesApi { get nodesApi(): NodesApi {
return new NodesApi(this.apiService.getInstance()); this._nodesApi = this._nodesApi ?? new NodesApi(this.apiService.getInstance());
return this._nodesApi;
} }
constructor( constructor(

View File

@@ -31,8 +31,10 @@ import { Observable, Subject, throwError } from 'rxjs';
}) })
export class ContentCloudNodeSelectorService { export class ContentCloudNodeSelectorService {
_nodesApi: NodesApi;
get nodesApi(): NodesApi { get nodesApi(): NodesApi {
return new NodesApi(this.apiService.getInstance()); this._nodesApi = this._nodesApi ?? new NodesApi(this.apiService.getInstance());
return this._nodesApi;
} }
sourceNodeNotFound = false; sourceNodeNotFound = false;

View File

@@ -36,8 +36,10 @@ import { FormContent } from '../../services/form-fields.interfaces';
}) })
export class FormCloudService extends BaseCloudService { export class FormCloudService extends BaseCloudService {
private _uploadApi;
get uploadApi(): UploadApi { get uploadApi(): UploadApi {
return new UploadApi(this.apiService.getInstance()); this._uploadApi = this._uploadApi ?? new UploadApi(this.apiService.getInstance());
return this._uploadApi;
} }
constructor( constructor(

View File

@@ -31,12 +31,16 @@ import { AuthenticationApi, Node, UploadApi } from '@alfresco/js-api';
}) })
export class ProcessCloudContentService { export class ProcessCloudContentService {
private _uploadApi;
get uploadApi(): UploadApi { get uploadApi(): UploadApi {
return new UploadApi(this.apiService.getInstance()); this._uploadApi = this._uploadApi ?? new UploadApi(this.apiService.getInstance());
return this._uploadApi;
} }
get authenticationApi(): AuthenticationApi { private _authenticationApi
return new AuthenticationApi(this.apiService.getInstance()); get authenticationApi(): UploadApi {
this._authenticationApi = this._authenticationApi ?? new AuthenticationApi(this.apiService.getInstance());
return this._authenticationApi;
} }
constructor( constructor(

View File

@@ -30,8 +30,10 @@ import {
}) })
export class ProcessFilterService { export class ProcessFilterService {
private _userFiltersApi;
get userFiltersApi(): UserFiltersApi { get userFiltersApi(): UserFiltersApi {
return new UserFiltersApi(this.alfrescoApiService.getInstance()); this._userFiltersApi = this._userFiltersApi ?? new UserFiltersApi(this.alfrescoApiService.getInstance());
return this._userFiltersApi;
} }
constructor(private alfrescoApiService: AlfrescoApiService) { constructor(private alfrescoApiService: AlfrescoApiService) {

View File

@@ -23,7 +23,7 @@ import {
ProcessInstancesApi, ProcessInstancesApi,
RestVariable, RestVariable,
ProcessInstanceRepresentation, ProcessInstanceRepresentation,
ProcessInstanceVariablesApi ProcessInstanceVariablesApi, ActivitiContentApi
} from '@alfresco/js-api'; } from '@alfresco/js-api';
import { Observable, from, throwError, of } from 'rxjs'; import { Observable, from, throwError, of } from 'rxjs';
import { TaskDetailsModel } from '../../task-list'; import { TaskDetailsModel } from '../../task-list';
@@ -42,20 +42,28 @@ declare let moment: any;
}) })
export class ProcessService { export class ProcessService {
get processInstanceVariablesApi(): ProcessInstanceVariablesApi { private _tasksApi;
return new ProcessInstanceVariablesApi(this.alfrescoApiService.getInstance());
}
get processInstancesApi(): ProcessInstancesApi {
return new ProcessInstancesApi(this.alfrescoApiService.getInstance());
}
get processDefinitionsApi(): ProcessDefinitionsApi {
return new ProcessDefinitionsApi(this.alfrescoApiService.getInstance());
}
get tasksApi(): TasksApi { get tasksApi(): TasksApi {
return new TasksApi(this.alfrescoApiService.getInstance()); this._tasksApi = this._tasksApi ?? new TasksApi(this.alfrescoApiService.getInstance());
return this._tasksApi;
}
private _processDefinitionsApi;
get processDefinitionsApi(): ProcessDefinitionsApi {
this._processDefinitionsApi = this._processDefinitionsApi ?? new ProcessDefinitionsApi(this.alfrescoApiService.getInstance());
return this._processDefinitionsApi;
}
private _processInstancesApi;
get processInstancesApi(): ProcessInstancesApi {
this._processInstancesApi = this._processInstancesApi ?? new ProcessInstancesApi(this.alfrescoApiService.getInstance());
return this._processInstancesApi;
}
private _processInstanceVariablesApi;
get processInstanceVariablesApi(): ProcessInstanceVariablesApi {
this._processInstanceVariablesApi = this._processInstanceVariablesApi ?? new ProcessInstanceVariablesApi(this.alfrescoApiService.getInstance());
return this._processInstanceVariablesApi;
} }
constructor(private alfrescoApiService: AlfrescoApiService) { constructor(private alfrescoApiService: AlfrescoApiService) {

View File

@@ -25,8 +25,10 @@ import { throwError } from 'rxjs';
}) })
export class ProcessUploadService extends UploadService { export class ProcessUploadService extends UploadService {
private _contentApi;
get contentApi(): ActivitiContentApi { get contentApi(): ActivitiContentApi {
return new ActivitiContentApi(this.apiService.getInstance()); this._contentApi = this._contentApi ?? new ActivitiContentApi(this.apiService.getInstance());
return this._contentApi;
} }
constructor(protected apiService: AlfrescoApiService, appConfigService: AppConfigService, discoveryApiService: DiscoveryApiService) { constructor(protected apiService: AlfrescoApiService, appConfigService: AppConfigService, discoveryApiService: DiscoveryApiService) {

View File

@@ -20,15 +20,17 @@ import { Injectable } from '@angular/core';
import { Observable, forkJoin, from, throwError } from 'rxjs'; import { Observable, forkJoin, from, throwError } from 'rxjs';
import { FilterRepresentationModel } from '../models/filter.model'; import { FilterRepresentationModel } from '../models/filter.model';
import { map, catchError } from 'rxjs/operators'; import { map, catchError } from 'rxjs/operators';
import { UserFiltersApi } from '@alfresco/js-api'; import { ActivitiContentApi, UserFiltersApi } from '@alfresco/js-api';
@Injectable({ @Injectable({
providedIn: 'root' providedIn: 'root'
}) })
export class TaskFilterService { export class TaskFilterService {
get userFiltersApi(): UserFiltersApi { private _userFiltersApi;
return new UserFiltersApi(this.apiService.getInstance()); get userFiltersApi(): ActivitiContentApi {
this._userFiltersApi = this._userFiltersApi ?? new UserFiltersApi(this.apiService.getInstance());
return this._userFiltersApi;
} }
constructor(private apiService: AlfrescoApiService, constructor(private apiService: AlfrescoApiService,

View File

@@ -25,8 +25,10 @@ import { ActivitiContentApi } from '@alfresco/js-api';
}) })
export class TaskUploadService extends UploadService { export class TaskUploadService extends UploadService {
private _contentApi;
get contentApi(): ActivitiContentApi { get contentApi(): ActivitiContentApi {
return new ActivitiContentApi(this.apiService.getInstance()); this._contentApi = this._contentApi ?? new ActivitiContentApi(this.apiService.getInstance());
return this._contentApi;
} }
constructor(protected apiService: AlfrescoApiService, appConfigService: AppConfigService, discoveryApiService: DiscoveryApiService) { constructor(protected apiService: AlfrescoApiService, appConfigService: AppConfigService, discoveryApiService: DiscoveryApiService) {

View File

@@ -34,20 +34,28 @@ import {
}) })
export class TaskListService { export class TaskListService {
get modelsApi(): ModelsApi { private _modelsApi;
return new ModelsApi(this.apiService.getInstance()); get modelsApi(): TasksApi {
this._modelsApi = this._modelsApi ?? new ModelsApi(this.apiService.getInstance());
return this._modelsApi;
} }
private _tasksApi;
get tasksApi(): TasksApi { get tasksApi(): TasksApi {
return new TasksApi(this.apiService.getInstance()); this._tasksApi = this._tasksApi ?? new TasksApi(this.apiService.getInstance());
return this._tasksApi;
} }
private _taskActionsApi;
get taskActionsApi(): TaskActionsApi { get taskActionsApi(): TaskActionsApi {
return new TaskActionsApi(this.apiService.getInstance()); this._taskActionsApi = this._taskActionsApi ?? new TaskActionsApi(this.apiService.getInstance());
return this._taskActionsApi;
} }
private _checklistsApi;
get checklistsApi(): ChecklistsApi { get checklistsApi(): ChecklistsApi {
return new ChecklistsApi(this.apiService.getInstance()); this._checklistsApi = this._checklistsApi ?? new ChecklistsApi(this.apiService.getInstance());
return this._checklistsApi;
} }
constructor(private apiService: AlfrescoApiService, constructor(private apiService: AlfrescoApiService,