Skip to content
This repository has been archived by the owner on Dec 16, 2024. It is now read-only.

Commit

Permalink
dotCMS/core #21436 Prevent the redirect of the page when we are in ed…
Browse files Browse the repository at this point in the history
…it mode
  • Loading branch information
hmoreras authored Jan 28, 2022
1 parent 08003c8 commit ac68aba
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 47 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,7 @@ import { DotCMSContentlet } from '@dotcms/dotcms-models';
import { DotAlertConfirmService } from '@services/dot-alert-confirm';
import { ConfirmationService } from 'primeng/api';
import { DotRouterService } from '@services/dot-router/dot-router.service';
import { MockDotRouterService } from '@tests/dot-router-service.mock';
import { DotVersionableService } from '@services/dot-verionable/dot-versionable.service';
import { DotHttpErrorManagerService } from '@services/dot-http-error-manager/dot-http-error-manager.service';
import { DotIframeService } from '@components/_common/iframe/service/dot-iframe/dot-iframe.service';

const DotContentCompareEventMOCK = {
inode: '1',
Expand Down Expand Up @@ -53,7 +51,7 @@ describe('DotContentCompareComponent', () => {
let contentCompareTableComponent: DotContentCompareTableComponent;
let dotAlertConfirmService: DotAlertConfirmService;
let confirmationService: ConfirmationService;
let dotRouterService: DotRouterService;
let dotIframeService: DotIframeService;

const messageServiceMock = new MockDotMessageService({
Confirm: 'Confirm',
Expand All @@ -67,25 +65,12 @@ describe('DotContentCompareComponent', () => {
imports: [DotContentCompareModule],
providers: [
{ provide: DotMessageService, useValue: messageServiceMock },
{ provide: DotRouterService, useClass: MockDotRouterService },
DotAlertConfirmService,
ConfirmationService,
{
provide: DotVersionableService,
provide: DotIframeService,
useValue: {
bringBack: jasmine.createSpy().and.returnValue(of({ inode: '123' }))
}
},
{
provide: DotHttpErrorManagerService,
useValue: {
handle: jasmine.createSpy().and.returnValue(
of({
status: {
toString: () => ''
}
})
)
run: jasmine.createSpy()
}
}
]
Expand All @@ -98,7 +83,7 @@ describe('DotContentCompareComponent', () => {
dotContentCompareStore = TestBed.inject(DotContentCompareStore);
dotAlertConfirmService = TestBed.inject(DotAlertConfirmService);
confirmationService = TestBed.inject(ConfirmationService);
dotRouterService = TestBed.inject(DotRouterService);
dotIframeService = TestBed.inject(DotIframeService);

hostComponent = hostFixture.componentInstance;
hostComponent.data = DotContentCompareEventMOCK;
Expand Down Expand Up @@ -141,7 +126,10 @@ describe('DotContentCompareComponent', () => {
'Are you sure you would like to replace your working version with this contentlet version?'
});

expect(dotRouterService.goToURL).toHaveBeenCalledOnceWith('/c/content/123');
expect(dotIframeService.run).toHaveBeenCalledOnceWith({
name: 'getVersionBack',
args: ['123']
});
expect(hostComponent.close.emit).toHaveBeenCalledOnceWith(true);
});
});
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,9 @@ import {
DotContentCompareStore
} from '@components/dot-content-compare/store/dot-content-compare.store';
import { Observable } from 'rxjs';
import { catchError, filter, map, take } from 'rxjs/operators';
import { DotAlertConfirmService } from '@services/dot-alert-confirm';
import { DotMessageService } from '@services/dot-message/dot-messages.service';
import {
DotVersionable,
DotVersionableService
} from '@services/dot-verionable/dot-versionable.service';
import { DotRouterService } from '@services/dot-router/dot-router.service';
import { DotHttpErrorManagerService } from '@services/dot-http-error-manager/dot-http-error-manager.service';
import { HttpErrorResponse } from '@angular/common/http';
import { DotIframeService } from '@components/_common/iframe/service/dot-iframe/dot-iframe.service';

export interface DotContentCompareEvent {
inode: string;
Expand All @@ -39,10 +32,8 @@ export class DotContentCompareComponent {
constructor(
private store: DotContentCompareStore,
private dotAlertConfirmService: DotAlertConfirmService,
private dotVersionableService: DotVersionableService,
private dotRouterService: DotRouterService,
private dotMessageService: DotMessageService,
private dotHttpErrorManagerService: DotHttpErrorManagerService
private dotIframeService: DotIframeService
) {}

/**
Expand All @@ -53,21 +44,8 @@ export class DotContentCompareComponent {
bringBack(inode: string) {
this.dotAlertConfirmService.confirm({
accept: () => {
this.dotVersionableService
.bringBack(inode)
.pipe(
take(1),
catchError((err: HttpErrorResponse) => {
return this.dotHttpErrorManagerService
.handle(err)
.pipe(map(() => null));
}),
filter((version: DotVersionable) => version != null)
)
.subscribe((version: DotVersionable) => {
this.dotRouterService.goToURL(`/c/content/${version.inode}`);
this.close.emit(true);
});
this.dotIframeService.run({ name: 'getVersionBack', args: [inode] });
this.close.emit(true);
},
reject: () => {},
header: this.dotMessageService.get('Confirm'),
Expand Down

0 comments on commit ac68aba

Please sign in to comment.