[ACA-2087] Overlay Viewer (#1175)

* viewer outlet over preview route

* use ViewNodeAction over ViewFileAction

* pass data to dynamic component

* ViewNodeComponent for view file  custom actions

* update docs

* pass primary url to show preview outlet

* update tests

* reset selection on navigation event

* document list update selection action when not viewer

* close viewer for move and delete from viewer

* location as router commands to work with search query

* make viewer to behave like former preview

* viewer error route

* call correct preview method

* remove view/error route

* navigate to show error

* span element for action name

* fix folder navigation

* fix test

* page title fix

* update tests

* locate better the viewer toolbar

* fix viewer url  link

* update navigation rules

* document-list directive tests

* try workaround for chrome 76

* try another workaround for using chromedriver 75 instead of 76

* ViewerEffects tests

* reset selection over reload

* fix tests

* add reset event test

* remove actions

* context menu action refresh on favourite

* reset selection on navigation

* add delete and upload events

* takeUntil after operators

* remove chrome workaround parameter

* filter navigation event
This commit is contained in:
Cilibiu Bogdan
2019-08-08 15:38:50 +03:00
committed by Suzana Dirla
parent 8643a8806d
commit e31c0d6caf
43 changed files with 1256 additions and 238 deletions

View File

@@ -23,23 +23,34 @@
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
*/
import { TestBed, ComponentFixture } from '@angular/core/testing';
import {
TestBed,
ComponentFixture,
fakeAsync,
tick
} from '@angular/core/testing';
import { NO_ERRORS_SCHEMA } from '@angular/core';
import {
AlfrescoApiService,
NodeFavoriteDirective,
DataTableComponent,
AppConfigPipe
AppConfigPipe,
UploadService
} from '@alfresco/adf-core';
import { DocumentListComponent } from '@alfresco/adf-content-services';
import { RecentFilesComponent } from './recent-files.component';
import { AppTestingModule } from '../../testing/app-testing.module';
import { Router } from '@angular/router';
describe('RecentFilesComponent', () => {
let fixture: ComponentFixture<RecentFilesComponent>;
let component: RecentFilesComponent;
let alfrescoApi: AlfrescoApiService;
let page;
let uploadService: UploadService;
const mockRouter = {
url: 'recent-files'
};
beforeEach(() => {
page = {
@@ -60,6 +71,12 @@ describe('RecentFilesComponent', () => {
RecentFilesComponent,
AppConfigPipe
],
providers: [
{
provide: Router,
useValue: mockRouter
}
],
schemas: [NO_ERRORS_SCHEMA]
});
@@ -67,6 +84,7 @@ describe('RecentFilesComponent', () => {
component = fixture.componentInstance;
alfrescoApi = TestBed.get(AlfrescoApiService);
uploadService = TestBed.get(UploadService);
alfrescoApi.reset();
spyOn(alfrescoApi.peopleApi, 'getPerson').and.returnValue(
@@ -80,14 +98,32 @@ describe('RecentFilesComponent', () => {
);
});
describe('refresh', () => {
it('should call document list reload', () => {
spyOn(component, 'reload');
fixture.detectChanges();
it('should call document list reload on fileUploadComplete event', fakeAsync(() => {
spyOn(component, 'reload');
component.reload();
fixture.detectChanges();
uploadService.fileUploadComplete.next();
tick(500);
expect(component.reload).toHaveBeenCalled();
});
expect(component.reload).toHaveBeenCalled();
}));
it('should call document list reload on fileUploadDeleted event', fakeAsync(() => {
spyOn(component, 'reload');
fixture.detectChanges();
uploadService.fileUploadDeleted.next();
tick(500);
expect(component.reload).toHaveBeenCalled();
}));
it('should call showPreview method', () => {
const node = <any>{ entry: {} };
spyOn(component, 'showPreview');
fixture.detectChanges();
component.onNodeDoubleClick(node);
expect(component.showPreview).toHaveBeenCalledWith(node, mockRouter.url);
});
});

View File

@@ -33,6 +33,7 @@ import { AppStore } from '@alfresco/aca-shared/store';
import { AppExtensionService } from '../../extensions/extension.service';
import { UploadService } from '@alfresco/adf-core';
import { debounceTime } from 'rxjs/operators';
import { Router } from '@angular/router';
@Component({
templateUrl: './recent-files.component.html'
@@ -47,7 +48,8 @@ export class RecentFilesComponent extends PageComponent implements OnInit {
extensions: AppExtensionService,
content: ContentManagementService,
private uploadService: UploadService,
private breakpointObserver: BreakpointObserver
private breakpointObserver: BreakpointObserver,
private router: Router
) {
super(store, extensions, content);
}
@@ -75,7 +77,7 @@ export class RecentFilesComponent extends PageComponent implements OnInit {
onNodeDoubleClick(node: MinimalNodeEntity) {
if (node && node.entry) {
this.showPreview(node);
this.showPreview(node, this.router.url);
}
}