diff --git a/projects/aca-content/src/lib/components/header-actions/header-actions.component.ts b/projects/aca-content/src/lib/components/header-actions/header-actions.component.ts
index bbfcc5383..0a0f6a718 100644
--- a/projects/aca-content/src/lib/components/header-actions/header-actions.component.ts
+++ b/projects/aca-content/src/lib/components/header-actions/header-actions.component.ts
@@ -23,12 +23,14 @@
* along with Alfresco. If not, see .
*/
-import { Component, OnDestroy, ViewEncapsulation } from '@angular/core';
+import { Component, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core';
import { Router } from '@angular/router';
import { Store } from '@ngrx/store';
-import { ContentManagementService } from '../../services/content-management.service';
-import { AppExtensionService, PageComponent } from '@alfresco/aca-shared';
+import { AppExtensionService } from '@alfresco/aca-shared';
import { SetCurrentFolderAction, AppStore } from '@alfresco/aca-shared/store';
+import { ContentActionRef } from '@alfresco/adf-extensions';
+import { takeUntil } from 'rxjs/operators';
+import { Subject } from 'rxjs';
@Component({
selector: 'aca-header-actions',
@@ -36,14 +38,38 @@ import { SetCurrentFolderAction, AppStore } from '@alfresco/aca-shared/store';
styleUrls: ['./header-actions.component.scss'],
encapsulation: ViewEncapsulation.None
})
-export class HeaderActionsComponent extends PageComponent implements OnDestroy {
- constructor(private router: Router, store: Store, content: ContentManagementService, extensions: AppExtensionService) {
- super(store, extensions, content);
+export class HeaderActionsComponent implements OnInit, OnDestroy {
+ private onDestroy$ = new Subject();
+
+ createActions: Array = [];
+ uploadActions: Array = [];
+
+ constructor(private router: Router, private store: Store, private extensions: AppExtensionService) {}
+
+ ngOnInit(): void {
+ this.extensions
+ .getCreateActions()
+ .pipe(takeUntil(this.onDestroy$))
+ .subscribe((actions) => {
+ this.createActions = actions;
+ });
+
+ this.extensions
+ .getUploadActions()
+ .pipe(takeUntil(this.onDestroy$))
+ .subscribe((actions) => {
+ this.uploadActions = actions;
+ });
}
ngOnDestroy() {
+ this.onDestroy$.next(true);
+ this.onDestroy$.complete();
this.store.dispatch(new SetCurrentFolderAction(null));
- super.ngOnDestroy();
+ }
+
+ trackByActionId(_: number, action: ContentActionRef) {
+ return action.id;
}
private isPersonalFilesRoute(): boolean {
@@ -59,11 +85,11 @@ export class HeaderActionsComponent extends PageComponent implements OnDestroy {
}
canShowCreateButton(): boolean {
- return this.isPersonalFilesRoute() || this.isFavoriteLibrariesRoute() || this.isLibrariesRoute();
+ return this.createActions.length > 0 && (this.isPersonalFilesRoute() || this.isFavoriteLibrariesRoute() || this.isLibrariesRoute());
}
canShowUploadButton(): boolean {
- return this.isPersonalFilesRoute();
+ return this.uploadActions.length > 0 && this.isPersonalFilesRoute();
}
canShowSearchSeparator(): boolean {
diff --git a/projects/aca-content/src/lib/components/header-actions/header-actions.module.ts b/projects/aca-content/src/lib/components/header-actions/header-actions.module.ts
index 0ee61d2c9..6073b30c2 100644
--- a/projects/aca-content/src/lib/components/header-actions/header-actions.module.ts
+++ b/projects/aca-content/src/lib/components/header-actions/header-actions.module.ts
@@ -26,29 +26,13 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { CoreModule } from '@alfresco/adf-core';
-import { ContentModule } from '@alfresco/adf-content-services';
-import { AppCommonModule } from '../common/common.module';
import { AppToolbarModule } from '../toolbar/toolbar.module';
-import { DirectivesModule } from '../../directives/directives.module';
-import { ContextMenuModule } from '../context-menu/context-menu.module';
import { AppSearchInputModule } from '../search/search-input.module';
import { HeaderActionsComponent } from './header-actions.component';
import { MainActionModule } from '../main-action/main-action.module';
-import { PageLayoutModule } from '@alfresco/aca-shared';
@NgModule({
- imports: [
- CommonModule,
- CoreModule.forChild(),
- ContentModule.forChild(),
- DirectivesModule,
- AppCommonModule,
- AppToolbarModule,
- ContextMenuModule,
- PageLayoutModule,
- AppSearchInputModule,
- MainActionModule
- ],
+ imports: [CommonModule, CoreModule.forChild(), AppToolbarModule, AppSearchInputModule, MainActionModule],
declarations: [HeaderActionsComponent],
exports: [HeaderActionsComponent]
})