mirror of
https://github.com/Alfresco/alfresco-content-app.git
synced 2025-07-24 17:31:52 +00:00
[ACS-9158] Remove 'View Details' button from node Details page (#4351)
* [ACS-9158] Remove 'View Details' button from node Details page * [ACS-9158] remove redundant onDestroy$ * cr fix
This commit is contained in:
committed by
GitHub
parent
c799049790
commit
4751dcd12c
@@ -495,7 +495,7 @@
|
||||
"order": 700,
|
||||
"component": "app.toolbar.toggleInfoDrawer",
|
||||
"rules": {
|
||||
"visible": "canShowInfoDrawer"
|
||||
"visible": ["canShowInfoDrawer", "app.navigation.isNotDetails"]
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -1084,7 +1084,7 @@
|
||||
"order": 500,
|
||||
"component": "app.toolbar.toggleInfoDrawer",
|
||||
"rules": {
|
||||
"visible": "canShowInfoDrawer"
|
||||
"visible": ["canShowInfoDrawer", "app.navigation.isNotDetails"]
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@@ -223,6 +223,7 @@ export class ContentServiceExtensionModule {
|
||||
'app.navigation.isSharedPreview': rules.isSharedPreview,
|
||||
'app.navigation.isFavoritesPreview': rules.isFavoritesPreview,
|
||||
'app.navigation.isSharedFileViewer': rules.isSharedFileViewer,
|
||||
'app.navigation.isNotDetails': rules.isNotDetails,
|
||||
|
||||
'repository.isQuickShareEnabled': rules.hasQuickShareEnabled,
|
||||
'user.isAdmin': rules.isAdmin,
|
||||
|
@@ -25,12 +25,12 @@
|
||||
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { AppTestingModule } from '../../testing/app-testing.module';
|
||||
import { DetailsComponent } from './details.component';
|
||||
import { ActivatedRoute, NavigationStart, Router } from '@angular/router';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { BehaviorSubject, of, Subject } from 'rxjs';
|
||||
import { NO_ERRORS_SCHEMA } from '@angular/core';
|
||||
import { DefaultProjectorFn, MemoizedSelector, Store } from '@ngrx/store';
|
||||
import { Store } from '@ngrx/store';
|
||||
import { ContentApiService } from '@alfresco/aca-shared';
|
||||
import { AppStore, isInfoDrawerOpened, NavigateToFolder, NavigateToPreviousPage, SetSelectedNodesAction } from '@alfresco/aca-shared/store';
|
||||
import { NavigateToFolder, SetSelectedNodesAction } from '@alfresco/aca-shared/store';
|
||||
import { Node, NodeEntry, PathElement } from '@alfresco/js-api';
|
||||
import { RouterTestingModule } from '@angular/router/testing';
|
||||
import { AuthenticationService, CORE_PIPES, PageTitleService } from '@alfresco/adf-core';
|
||||
@@ -258,45 +258,4 @@ describe('DetailsComponent', () => {
|
||||
component.setActiveTab('permissions');
|
||||
expect(component.activeTab).not.toBe(2);
|
||||
});
|
||||
|
||||
describe('infoDrawerOpened$ event', () => {
|
||||
let infoDrawerOpened$: Subject<boolean>;
|
||||
|
||||
beforeEach(() => {
|
||||
infoDrawerOpened$ = new Subject<boolean>();
|
||||
spyOn(store, 'select').and.callFake((mapFn: MemoizedSelector<AppStore, boolean, DefaultProjectorFn<boolean>>) =>
|
||||
mapFn === isInfoDrawerOpened ? infoDrawerOpened$ : mockStream
|
||||
);
|
||||
});
|
||||
|
||||
it('should dispatch store NavigateToPreviousPage by store if info drawer is closed', () => {
|
||||
component.ngOnInit();
|
||||
|
||||
infoDrawerOpened$.next(false);
|
||||
expect(storeMock.dispatch).toHaveBeenCalledWith(jasmine.any(NavigateToPreviousPage));
|
||||
});
|
||||
|
||||
it('should not dispatch store NavigateToPreviousPage by store if info drawer is opened', () => {
|
||||
component.ngOnInit();
|
||||
|
||||
infoDrawerOpened$.next(true);
|
||||
expect(storeMock.dispatch).not.toHaveBeenCalledWith(jasmine.any(NavigateToPreviousPage));
|
||||
});
|
||||
|
||||
it('should not dispatch store NavigateToPreviousPage by store if info drawer opening state is not changed', () => {
|
||||
component.ngOnInit();
|
||||
|
||||
expect(storeMock.dispatch).not.toHaveBeenCalledWith(jasmine.any(NavigateToPreviousPage));
|
||||
});
|
||||
|
||||
it('should not dispatch store NavigateToPreviousPage by store if info drawer is closed but there occurred NavigationStart event', () => {
|
||||
Object.defineProperty(TestBed.inject(Router), 'events', {
|
||||
value: of(new NavigationStart(1, ''))
|
||||
});
|
||||
component.ngOnInit();
|
||||
|
||||
infoDrawerOpened$.next(false);
|
||||
expect(storeMock.dispatch).not.toHaveBeenCalledWith(jasmine.any(NavigateToPreviousPage));
|
||||
});
|
||||
});
|
||||
});
|
||||
|
@@ -23,10 +23,9 @@
|
||||
*/
|
||||
|
||||
import { Component, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core';
|
||||
import { ActivatedRoute, NavigationStart } from '@angular/router';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { ContentApiService, PageComponent, PageLayoutComponent, ToolbarComponent } from '@alfresco/aca-shared';
|
||||
import { NavigateToFolder, NavigateToPreviousPage, SetSelectedNodesAction } from '@alfresco/aca-shared/store';
|
||||
import { merge, Subject } from 'rxjs';
|
||||
import { BreadcrumbComponent, ContentService, NodesApiService, PermissionListComponent } from '@alfresco/adf-content-services';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
@@ -37,7 +36,7 @@ import { MatButtonModule } from '@angular/material/button';
|
||||
import { MetadataTabComponent } from '../info-drawer/metadata-tab/metadata-tab.component';
|
||||
import { CommentsTabComponent } from '../info-drawer/comments-tab/comments-tab.component';
|
||||
import { NodeEntry, PathElement } from '@alfresco/js-api';
|
||||
import { first, takeUntil } from 'rxjs/operators';
|
||||
import { first } from 'rxjs/operators';
|
||||
import { ContentActionRef } from '@alfresco/adf-extensions';
|
||||
import { FileSizePipe, InfoDrawerButtonsDirective } from '@alfresco/adf-core';
|
||||
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
||||
@@ -73,8 +72,6 @@ export class DetailsComponent extends PageComponent implements OnInit, OnDestroy
|
||||
nodeIcon: string;
|
||||
canManagePermissions = true;
|
||||
|
||||
private readonly onDestroy$: Subject<void> = new Subject<void>();
|
||||
|
||||
constructor(
|
||||
private readonly route: ActivatedRoute,
|
||||
private readonly contentApi: ContentApiService,
|
||||
@@ -110,20 +107,6 @@ export class DetailsComponent extends PageComponent implements OnInit, OnDestroy
|
||||
.subscribe((aspectActions) => {
|
||||
this.aspectActions = aspectActions;
|
||||
});
|
||||
this.infoDrawerOpened$
|
||||
.pipe(
|
||||
first((opened) => !opened),
|
||||
takeUntil(
|
||||
merge(
|
||||
this.onDestroy$,
|
||||
this.router.events.pipe(
|
||||
first((event) => event instanceof NavigationStart),
|
||||
takeUntil(this.onDestroy$)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
.subscribe(() => this.goBack());
|
||||
}
|
||||
|
||||
setActiveTab(tabName: string) {
|
||||
@@ -153,8 +136,6 @@ export class DetailsComponent extends PageComponent implements OnInit, OnDestroy
|
||||
}
|
||||
|
||||
ngOnDestroy(): void {
|
||||
this.onDestroy$.next();
|
||||
this.onDestroy$.complete();
|
||||
this.store.dispatch(new SetSelectedNodesAction([]));
|
||||
super.ngOnDestroy();
|
||||
}
|
||||
|
Reference in New Issue
Block a user