diff --git a/app/src/app/content-plugin/components/header/header.component.html b/app/src/app/content-plugin/components/header/header.component.html
deleted file mode 100644
index 6db2b8bf7..000000000
--- a/app/src/app/content-plugin/components/header/header.component.html
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/app/src/app/content-plugin/components/header/header.component.scss b/app/src/app/content-plugin/components/header/header.component.scss
deleted file mode 100644
index 9f7036af8..000000000
--- a/app/src/app/content-plugin/components/header/header.component.scss
+++ /dev/null
@@ -1,17 +0,0 @@
-.app-header {
- box-shadow: 0 3px 5px -1px rgba(0, 0, 0, 0.02), 0px 6px 10px 0px rgba(0, 0, 0, 0.014), 0px 1px 18px 0px rgba(0, 0, 0, 0.012);
- z-index: 2;
-
- .mat-toolbar {
- background-image: var(--header-background-image) !important;
- background-repeat: no-repeat !important;
-
- .aca-current-user {
- color: var(--theme-foreground-text-color) !important;
- }
-
- .adf-toolbar-divider div {
- background-color: var(--theme-foreground-text-color) !important;
- }
- }
-}
diff --git a/app/src/app/content-plugin/components/header/header.component.spec.ts b/app/src/app/content-plugin/components/header/header.component.spec.ts
deleted file mode 100644
index 9a4c8ddf7..000000000
--- a/app/src/app/content-plugin/components/header/header.component.spec.ts
+++ /dev/null
@@ -1,122 +0,0 @@
-/*!
- * @license
- * Alfresco Example Content Application
- *
- * Copyright (C) 2005 - 2020 Alfresco Software Limited
- *
- * This file is part of the Alfresco Example Content Application.
- * If the software was purchased under a paid Alfresco license, the terms of
- * the paid license agreement will prevail. Otherwise, the software is
- * provided under the following open source license terms:
- *
- * The Alfresco Example Content Application is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * The Alfresco Example Content Application is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with Alfresco. If not, see .
- */
-
-import { AppHeaderComponent } from './header.component';
-import { AppState } from '@alfresco/aca-shared/store';
-import { of } from 'rxjs';
-import { ComponentFixture, fakeAsync, TestBed, tick } from '@angular/core/testing';
-import { ContentActionRef } from '@alfresco/adf-extensions';
-import { Store } from '@ngrx/store';
-import { AppTestingModule } from '../../testing/app-testing.module';
-import { AppExtensionService, SharedToolbarModule } from '@alfresco/aca-shared';
-import { CoreModule } from '@alfresco/adf-core';
-import { AppSearchInputModule } from '../search/search-input.module';
-import { By } from '@angular/platform-browser';
-
-describe('AppHeaderComponent', () => {
- let component: AppHeaderComponent;
- let fixture: ComponentFixture;
-
- const actions = [
- { id: 'action-1', type: 'button' },
- { id: 'action-2', type: 'button' }
- ] as Array;
-
- const store = {
- select: jasmine.createSpy('select'),
- dispatch: () => {}
- } as any;
-
- const appExtensionService = {
- getHeaderActions: () => of(actions)
- } as any;
-
- const app = {
- headerColor: 'some-color',
- headerTextColor: 'text-color',
- appName: 'name',
- logoPath: 'some/path'
- } as AppState;
-
- beforeEach(() => {
- TestBed.configureTestingModule({
- imports: [AppTestingModule, CoreModule.forChild(), AppSearchInputModule, SharedToolbarModule],
- declarations: [AppHeaderComponent],
- providers: [
- {
- provide: AppExtensionService,
- useValue: appExtensionService
- },
- {
- provide: Store,
- useValue: store
- }
- ]
- });
-
- store.select.and.callFake((memoizeFn) => of(memoizeFn({ app })));
-
- fixture = TestBed.createComponent(AppHeaderComponent);
- component = fixture.componentInstance;
- });
-
- it('should set header color, header text color, name and logo', fakeAsync(() => {
- component.appName$.subscribe((val) => expect(val).toBe(app.appName));
- component.logo$.subscribe((val) => expect(val).toBe(app.logoPath));
- component.headerColor$.subscribe((val) => expect(val).toBe(app.headerColor));
- component.headerTextColor$.subscribe((val) => expect(val).toBe(app.headerTextColor));
- }));
-
- it('should get header actions', fakeAsync(() => {
- component.ngOnInit();
- tick();
- expect(component.actions).toEqual(actions);
- }));
-
- describe('Search input', () => {
- beforeEach(() => {
- localStorage.clear();
- });
-
- afterEach(() => {
- localStorage.clear();
- });
-
- it('should search be present when contentService is enabled', () => {
- fixture.detectChanges();
- const searchInput = fixture.debugElement.query(By.css('.aca-search-input'));
-
- expect(searchInput).not.toBeNull();
- });
-
- it('should search not be present when contentService is disabled', () => {
- localStorage.setItem('contentService', 'false');
- fixture.detectChanges();
- const searchInput = fixture.debugElement.query(By.css('.aca-search-input'));
-
- expect(searchInput).toBeNull();
- });
- });
-});
diff --git a/app/src/app/content-plugin/components/header/header.component.ts b/app/src/app/content-plugin/components/header/header.component.ts
deleted file mode 100644
index 8656c2884..000000000
--- a/app/src/app/content-plugin/components/header/header.component.ts
+++ /dev/null
@@ -1,106 +0,0 @@
-/*!
- * @license
- * Alfresco Example Content Application
- *
- * Copyright (C) 2005 - 2020 Alfresco Software Limited
- *
- * This file is part of the Alfresco Example Content Application.
- * If the software was purchased under a paid Alfresco license, the terms of
- * the paid license agreement will prevail. Otherwise, the software is
- * provided under the following open source license terms:
- *
- * The Alfresco Example Content Application is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * The Alfresco Example Content Application is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with Alfresco. If not, see .
- */
-
-import { Component, ViewEncapsulation, Output, EventEmitter, OnInit, Input, OnDestroy } from '@angular/core';
-import { Store } from '@ngrx/store';
-import { Observable, Subject } from 'rxjs';
-import { ContentActionRef } from '@alfresco/adf-extensions';
-import { AppStore, getHeaderColor, getAppName, getLogoPath, getHeaderImagePath, getHeaderTextColor } from '@alfresco/aca-shared/store';
-import { AppExtensionService } from '@alfresco/aca-shared';
-import { takeUntil } from 'rxjs/operators';
-import { AppConfigService, SidenavLayoutComponent } from '@alfresco/adf-core';
-import { isContentServiceEnabled } from '@alfresco/aca-shared/rules';
-
-@Component({
- selector: 'app-header',
- templateUrl: './header.component.html',
- styleUrls: ['./header.component.scss'],
- encapsulation: ViewEncapsulation.None,
- host: { class: 'app-header' }
-})
-export class AppHeaderComponent implements OnInit, OnDestroy {
- private onDestroy$: Subject = new Subject();
-
- @Output()
- toggleClicked = new EventEmitter();
-
- @Input() expandedSidenav = true;
-
- @Input() data: { layout?: SidenavLayoutComponent; isMenuMinimized?: boolean } = {};
-
- get isSidenavExpanded(): boolean {
- return !this.data.isMenuMinimized ?? this.expandedSidenav;
- }
-
- appName$: Observable;
- headerColor$: Observable;
- headerTextColor$: Observable;
- logo$: Observable;
- landingPage: string;
-
- actions: Array = [];
-
- constructor(public store: Store, private appExtensions: AppExtensionService, private appConfigService: AppConfigService) {
- this.headerColor$ = store.select(getHeaderColor);
- this.headerTextColor$ = store.select(getHeaderTextColor);
- this.appName$ = store.select(getAppName);
- this.logo$ = store.select(getLogoPath);
- this.landingPage = this.appConfigService.get('landingPage', '/personal-files');
-
- store.select(getHeaderImagePath).subscribe((path) => {
- document.body.style.setProperty('--header-background-image', `url('${path}')`);
- });
- }
-
- ngOnInit() {
- this.appExtensions
- .getHeaderActions()
- .pipe(takeUntil(this.onDestroy$))
- .subscribe((actions) => {
- this.actions = actions;
- });
-
- this.headerTextColor$.subscribe((color) => {
- document.documentElement.style.setProperty('--adf-header-text-color', color);
- });
- }
-
- onToggleSidenav(_event: boolean): void {
- this.data.layout.toggleMenu();
- }
-
- isContentServiceEnabled(): boolean {
- return isContentServiceEnabled();
- }
-
- ngOnDestroy() {
- this.onDestroy$.next(true);
- this.onDestroy$.complete();
- }
-
- trackByActionId(_: number, action: ContentActionRef) {
- return action.id;
- }
-}
diff --git a/app/src/app/content-plugin/components/header/header.module.ts b/app/src/app/content-plugin/components/header/header.module.ts
deleted file mode 100644
index 21381e4ff..000000000
--- a/app/src/app/content-plugin/components/header/header.module.ts
+++ /dev/null
@@ -1,38 +0,0 @@
-/*!
- * @license
- * Alfresco Example Content Application
- *
- * Copyright (C) 2005 - 2020 Alfresco Software Limited
- *
- * This file is part of the Alfresco Example Content Application.
- * If the software was purchased under a paid Alfresco license, the terms of
- * the paid license agreement will prevail. Otherwise, the software is
- * provided under the following open source license terms:
- *
- * The Alfresco Example Content Application is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * The Alfresco Example Content Application is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with Alfresco. If not, see .
- */
-
-import { NgModule } from '@angular/core';
-import { CommonModule } from '@angular/common';
-import { CoreModule } from '@alfresco/adf-core';
-import { AppHeaderComponent } from './header.component';
-import { AppSearchInputModule } from '../search/search-input.module';
-import { AppToolbarModule } from '../toolbar/toolbar.module';
-
-@NgModule({
- imports: [CommonModule, CoreModule.forChild(), AppSearchInputModule, AppToolbarModule],
- declarations: [AppHeaderComponent],
- exports: [AppHeaderComponent]
-})
-export class AppHeaderModule {}
diff --git a/app/src/app/content-plugin/components/layout/app-layout/app-layout.component.html b/app/src/app/content-plugin/components/layout/app-layout/app-layout.component.html
index 9cab121c1..62b2676a8 100644
--- a/app/src/app/content-plugin/components/layout/app-layout/app-layout.component.html
+++ b/app/src/app/content-plugin/components/layout/app-layout/app-layout.component.html
@@ -1,19 +1,13 @@
-
-
-
-
-
-
diff --git a/app/src/app/content-plugin/components/layout/layout.module.ts b/app/src/app/content-plugin/components/layout/layout.module.ts
index 5bb1275a5..75175d9ba 100644
--- a/app/src/app/content-plugin/components/layout/layout.module.ts
+++ b/app/src/app/content-plugin/components/layout/layout.module.ts
@@ -31,7 +31,6 @@ import { ContentModule } from '@alfresco/adf-content-services';
import { RouterModule } from '@angular/router';
import { AppSidenavModule } from '../sidenav/sidenav.module';
import { AppCommonModule } from '../common/common.module';
-import { AppHeaderModule } from '../header/header.module';
import { HttpClientModule } from '@angular/common/http';
import { PageLayoutModule } from '@alfresco/aca-shared';
@@ -43,7 +42,6 @@ import { PageLayoutModule } from '@alfresco/aca-shared';
ContentModule.forChild(),
AppCommonModule,
AppSidenavModule,
- AppHeaderModule,
HttpClientModule,
PageLayoutModule
],
diff --git a/app/src/app/content-plugin/components/sidenav/components/expand-menu.component.html b/app/src/app/content-plugin/components/sidenav/components/expand-menu.component.html
index ed51d164f..f730d9fcb 100644
--- a/app/src/app/content-plugin/components/sidenav/components/expand-menu.component.html
+++ b/app/src/app/content-plugin/components/sidenav/components/expand-menu.component.html
@@ -10,7 +10,6 @@
mat-button
class="action-button full-width"
>
- {{ item.title | translate }}
@@ -37,7 +36,6 @@
mat-button
class="action-button full-width"
>
- {{ item.title | translate }}
diff --git a/app/src/app/content-plugin/components/sidenav/header-menu/header-menu.component.html b/app/src/app/content-plugin/components/sidenav/header-menu/header-menu.component.html
new file mode 100644
index 000000000..bd80d088c
--- /dev/null
+++ b/app/src/app/content-plugin/components/sidenav/header-menu/header-menu.component.html
@@ -0,0 +1,35 @@
+
+
+