diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 7fa9fe7ad..617c14603 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -10,6 +10,10 @@ const routes: Routes = [ path: '', loadChildren: () => import('./home/home.module').then( m => m.HomePageModule) }, + { + path: 'viewer', + loadChildren: () => import('./pages/events/attachments/viewer/viewer.module').then( m => m.ViewerPageModule) + }, /* { path: 'cal-modal', loadChildren: () => import('./pages/cal-modal/cal-modal.module').then( m => m.CalModalPageModule) diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 0efdf3c7b..43639987b 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -11,7 +11,6 @@ import { AppComponent } from './app.component'; import { HttpClientModule } from '@angular/common/http'; import { InAppBrowser } from '@ionic-native/in-app-browser/ngx'; -/* import { IonicSelectableModule } from 'ionic-selectable'; */ @NgModule({ declarations: [AppComponent], @@ -23,7 +22,6 @@ import { InAppBrowser } from '@ionic-native/in-app-browser/ngx'; HttpClientModule, { provide: RouteReuseStrategy, useClass: IonicRouteStrategy }, InAppBrowser, - /* IonicSelectableModule */ ], bootstrap: [AppComponent], schemas: [CUSTOM_ELEMENTS_SCHEMA] diff --git a/src/app/pages/events/attachments/attachments-routing.module.ts b/src/app/pages/events/attachments/attachments-routing.module.ts index 4ea13a050..5c1f17c5a 100644 --- a/src/app/pages/events/attachments/attachments-routing.module.ts +++ b/src/app/pages/events/attachments/attachments-routing.module.ts @@ -7,6 +7,10 @@ const routes: Routes = [ { path: '', component: AttachmentsPage + }, + { + path: 'viewer', + loadChildren: () => import('./viewer/viewer.module').then( m => m.ViewerPageModule) } ]; diff --git a/src/app/pages/events/attachments/attachments.page.html b/src/app/pages/events/attachments/attachments.page.html index a0df1b01b..d5562b182 100644 --- a/src/app/pages/events/attachments/attachments.page.html +++ b/src/app/pages/events/attachments/attachments.page.html @@ -3,7 +3,7 @@ - Anexos do evento + Anexos do evento 5 diff --git a/src/app/pages/events/attachments/attachments.page.ts b/src/app/pages/events/attachments/attachments.page.ts index 8ea316068..4b3d9aedc 100644 --- a/src/app/pages/events/attachments/attachments.page.ts +++ b/src/app/pages/events/attachments/attachments.page.ts @@ -3,6 +3,8 @@ import { AttachmentsService } from 'src/app/services/attachments.service'; import { Attachment } from 'src/app/models/attachment.model'; import { ActivatedRoute, Router } from '@angular/router'; import { InAppBrowser } from '@ionic-native/in-app-browser/ngx'; +import { AlertController, ModalController } from '@ionic/angular'; +import { ViewerPage } from 'src/app/pages/events/attachments/viewer/viewer.page' @Component({ selector: 'app-attachments', @@ -14,7 +16,7 @@ export class AttachmentsPage implements OnInit { loadedEventAttachments: Attachment[]; pageId: string; - constructor(private attachamentsService: AttachmentsService, private activatedRoute: ActivatedRoute, private iab: InAppBrowser, private route: Router) { } + constructor(private attachamentsService: AttachmentsService, private activatedRoute: ActivatedRoute, private iab: InAppBrowser, private route: Router, private modalCtrl: ModalController) { } ngOnInit() { /* Emit new data when something changes */ @@ -32,14 +34,28 @@ export class AttachmentsPage implements OnInit { this.attachamentsService.getEventAttachments(eventid).subscribe(attachments => { this.loadedEventAttachments = attachments; this.pageId = eventid; - console.log(this.pageId); }); } - viewDocument(documenturl:string) + async viewDocument(documenturl:string) { - const browser = this.iab.create(documenturl); + //var ref = cordova.InAppBrowser.open(documenturl, '_blank', 'location=yes'); + + const browser = this.iab.create(documenturl, "_self") browser.show(); + + // const modal = await this.modalCtrl.create({ + // component: ViewerPage, + // componentProps: { + // externalLink: documenturl + // }, + // cssClass: 'viewer', + // backdropDismiss: false + // }); + + // await modal.present(); + + // modal.onDidDismiss(); } navigateBack(){ diff --git a/src/app/pages/events/attachments/viewer/viewer-routing.module.ts b/src/app/pages/events/attachments/viewer/viewer-routing.module.ts new file mode 100644 index 000000000..53c069780 --- /dev/null +++ b/src/app/pages/events/attachments/viewer/viewer-routing.module.ts @@ -0,0 +1,17 @@ +import { NgModule } from '@angular/core'; +import { Routes, RouterModule } from '@angular/router'; + +import { ViewerPage } from './viewer.page'; + +const routes: Routes = [ + { + path: '', + component: ViewerPage + } +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], +}) +export class ViewerPageRoutingModule {} diff --git a/src/app/pages/events/attachments/viewer/viewer.module.ts b/src/app/pages/events/attachments/viewer/viewer.module.ts new file mode 100644 index 000000000..7521bc01b --- /dev/null +++ b/src/app/pages/events/attachments/viewer/viewer.module.ts @@ -0,0 +1,20 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { FormsModule } from '@angular/forms'; + +import { IonicModule } from '@ionic/angular'; + +import { ViewerPageRoutingModule } from './viewer-routing.module'; + +import { ViewerPage } from './viewer.page'; + +@NgModule({ + imports: [ + CommonModule, + FormsModule, + IonicModule, + ViewerPageRoutingModule + ], + declarations: [ViewerPage] +}) +export class ViewerPageModule {} diff --git a/src/app/pages/events/attachments/viewer/viewer.page.html b/src/app/pages/events/attachments/viewer/viewer.page.html new file mode 100644 index 000000000..fdeedbb71 --- /dev/null +++ b/src/app/pages/events/attachments/viewer/viewer.page.html @@ -0,0 +1,22 @@ + + + viewer + + + + + + + diff --git a/src/app/pages/events/attachments/viewer/viewer.page.scss b/src/app/pages/events/attachments/viewer/viewer.page.scss new file mode 100644 index 000000000..e69de29bb diff --git a/src/app/pages/events/attachments/viewer/viewer.page.spec.ts b/src/app/pages/events/attachments/viewer/viewer.page.spec.ts new file mode 100644 index 000000000..e52b6f7b6 --- /dev/null +++ b/src/app/pages/events/attachments/viewer/viewer.page.spec.ts @@ -0,0 +1,24 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { IonicModule } from '@ionic/angular'; + +import { ViewerPage } from './viewer.page'; + +describe('ViewerPage', () => { + let component: ViewerPage; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ ViewerPage ], + imports: [IonicModule.forRoot()] + }).compileComponents(); + + fixture = TestBed.createComponent(ViewerPage); + component = fixture.componentInstance; + fixture.detectChanges(); + })); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/pages/events/attachments/viewer/viewer.page.ts b/src/app/pages/events/attachments/viewer/viewer.page.ts new file mode 100644 index 000000000..e899bad11 --- /dev/null +++ b/src/app/pages/events/attachments/viewer/viewer.page.ts @@ -0,0 +1,21 @@ +import { Component, OnInit } from '@angular/core'; +import { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser'; + +@Component({ + selector: 'app-viewer', + templateUrl: './viewer.page.html', + styleUrls: ['./viewer.page.scss'], +}) +export class ViewerPage implements OnInit { + + externalLink: string; + externalLinkSanitized: SafeResourceUrl; + + constructor(public sanitizer: DomSanitizer) { } + + ngOnInit() { + this.externalLinkSanitized = this.sanitizer.bypassSecurityTrustResourceUrl(this.externalLink); + console.log(this.externalLinkSanitized); + } + +} diff --git a/src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page.ts b/src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page.ts index 566e0a97c..948868489 100644 --- a/src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page.ts +++ b/src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page.ts @@ -5,6 +5,7 @@ import { DailyWorkTask } from '../../../../models/dailyworktask.model'; import { ActivatedRoute } from '@angular/router'; import { formatDate } from '@angular/common'; + @Component({ selector: 'app-expediente-detail', templateUrl: './expediente-detail.page.html', @@ -43,7 +44,7 @@ export class ExpedienteDetailPage implements OnInit { viewDocument() { - const browser = this.iab.create(this.task.DocumentURL); + const browser = this.iab.create(this.task.DocumentURL,"_blank"); browser.show(); } }