diff --git a/src/app/pipes/pipes.module.ts b/src/app/pipes/pipes.module.ts index 2d3ab2605..f5a8d980a 100644 --- a/src/app/pipes/pipes.module.ts +++ b/src/app/pipes/pipes.module.ts @@ -8,10 +8,11 @@ import { ExpedienteTaskPipe } from './expediente-task.pipe'; import { ParticipantsPipe } from './participants.pipe'; import { SafehtmlPipe } from './safehtml.pipe'; import { EventoApprovePipe } from './evento-approve.pipe'; +import { SafePipe } from './safe.pipe'; @NgModule({ - declarations: [FilterPipe, SearchDocumentPipe, CustomTaskPipe, EventPipe, PublicationPipe, ExpedienteTaskPipe, ParticipantsPipe, SafehtmlPipe, EventoApprovePipe], + declarations: [FilterPipe, SearchDocumentPipe, CustomTaskPipe, EventPipe, PublicationPipe, ExpedienteTaskPipe, ParticipantsPipe, SafehtmlPipe, EventoApprovePipe, SafePipe], exports: [FilterPipe, SafehtmlPipe], imports: [] }) diff --git a/src/app/pipes/safe.pipe.spec.ts b/src/app/pipes/safe.pipe.spec.ts new file mode 100644 index 000000000..49ee0ad14 --- /dev/null +++ b/src/app/pipes/safe.pipe.spec.ts @@ -0,0 +1,8 @@ +import { SafePipe } from './safe.pipe'; + +describe('SafePipe', () => { + it('create an instance', () => { + const pipe = new SafePipe(); + expect(pipe).toBeTruthy(); + }); +}); diff --git a/src/app/pipes/safe.pipe.ts b/src/app/pipes/safe.pipe.ts new file mode 100644 index 000000000..e3e3e0c18 --- /dev/null +++ b/src/app/pipes/safe.pipe.ts @@ -0,0 +1,13 @@ +import { Pipe, PipeTransform } from '@angular/core'; +import { DomSanitizer, SafeUrl } from '@angular/platform-browser'; + +@Pipe({ + name: 'safe' +}) +export class SafePipe implements PipeTransform { + constructor(private sanitizer: DomSanitizer) { } + + transform(url: string): SafeUrl { + return this.sanitizer.bypassSecurityTrustUrl(url); + } +} diff --git a/src/app/shared/publication/new-publication/new-publication.page.html b/src/app/shared/publication/new-publication/new-publication.page.html index 3deea11d5..2b418047a 100644 --- a/src/app/shared/publication/new-publication/new-publication.page.html +++ b/src/app/shared/publication/new-publication/new-publication.page.html @@ -66,8 +66,6 @@ - - diff --git a/src/app/shared/publication/upload/upload-streaming.service.ts b/src/app/shared/publication/upload/upload-streaming.service.ts index 1696a803b..f27414270 100644 --- a/src/app/shared/publication/upload/upload-streaming.service.ts +++ b/src/app/shared/publication/upload/upload-streaming.service.ts @@ -2,6 +2,7 @@ import { Injectable } from '@angular/core'; import { ok, err, Result } from 'neverthrow'; import { ObjectMergeNotification } from 'src/app/services/socket-connection-mcr.service'; import { CMAPIService } from "src/app/shared/repository/CMAPI/cmapi.service" +import { DomSanitizer } from '@angular/platform-browser'; const objectMergeNotification = new ObjectMergeNotification() @@ -16,7 +17,12 @@ export type IOUploadError = "noConnection" | "slow" providedIn: 'root' }) export class UploadStreamingService { - constructor( private CMAPIService: CMAPIService,) { } + constructor( + private CMAPIService: CMAPIService, + private sanitizer: DomSanitizer + ) { + window["sanitizer"] = this.sanitizer + } } class UploadFileUseCase { @@ -109,6 +115,8 @@ export class PublicationAttachmentEntity { } fixFileBase64() { + //const sanitizer : DomSanitizer = window["sanitizer"] + if(this.FileType == 'image' ) { if(!this.Base64.startsWith('data:')) { this.url = 'data:image/jpg;base64,' + this.Base64