From 3f99ea222cb637f66b58c9bc22cb40990b7cf4ed Mon Sep 17 00:00:00 2001 From: "tiago.kayaya" Date: Mon, 4 Oct 2021 13:49:35 +0100 Subject: [PATCH 1/6] save --- angular.json | 5 ++-- .../group-messages/group-messages.page.html | 23 ------------------- src/app/services/chat.service.ts | 18 +++++++++++++++ .../shared/chat/messages/messages.page.html | 6 +++-- src/app/shared/chat/messages/messages.page.ts | 3 +++ 5 files changed, 28 insertions(+), 27 deletions(-) diff --git a/angular.json b/angular.json index ff682adde..50ef54e6d 100644 --- a/angular.json +++ b/angular.json @@ -84,7 +84,8 @@ "serve": { "builder": "@angular-devkit/build-angular:dev-server", "options": { - "browserTarget": "app:build" + "browserTarget": "app:build", + "proxyConfig": "proxy.config.json" }, "configurations": { "production": { @@ -197,4 +198,4 @@ "styleext": "scss" } } -} \ No newline at end of file +} diff --git a/src/app/pages/chat/group-messages/group-messages.page.html b/src/app/pages/chat/group-messages/group-messages.page.html index 493a39586..9e2e53232 100644 --- a/src/app/pages/chat/group-messages/group-messages.page.html +++ b/src/app/pages/chat/group-messages/group-messages.page.html @@ -118,29 +118,6 @@ -
diff --git a/src/app/services/chat.service.ts b/src/app/services/chat.service.ts index 910ffa9e1..6dcdf578d 100644 --- a/src/app/services/chat.service.ts +++ b/src/app/services/chat.service.ts @@ -9,6 +9,7 @@ import { Storage } from '@ionic/storage'; import { Message } from 'src/app/models/message.model'; import { Observable, Subject } from "rxjs/Rx"; import { WebsocketService } from './websocket.service'; +import { FileService } from './functions/file.service'; @Injectable({ providedIn: 'root' @@ -31,6 +32,7 @@ export class ChatService { private authService: AuthService, private storage: Storage, private storageService:StorageService, + private fileService: FileService, //private wsService: WebsocketService, ) { @@ -49,6 +51,22 @@ export class ChatService { }); */ } + getDocumentDetails(url:string){ + let headersc = new HttpHeaders(); + headersc = headersc.set('X-User-Id', this.loggedUserChat['data'].userId); + headersc = headersc.set('X-Auth-Token', this.loggedUserChat['data'].authToken); + // headersc = headersc.set("Host", "www.tabularium.pt"); + // headersc = headersc.set("Origin", "http://localhost:8100"); + // headersc = headersc.set("Referer", "http://localhost:8100/"); + let optionsc = { + headers: headersc, + }; + let fullUrl = "https://www.tabularium.pt/" + url; + return this.http.get(fullUrl, optionsc).subscribe(()=>{ + this.fileService.viewDocumentByUrl(url) + }); + } + getAllChannels(){ return this.http.get(environment.apiChatUrl+'channels.list', this.options); } diff --git a/src/app/shared/chat/messages/messages.page.html b/src/app/shared/chat/messages/messages.page.html index d722ff16d..2884c0109 100644 --- a/src/app/shared/chat/messages/messages.page.html +++ b/src/app/shared/chat/messages/messages.page.html @@ -51,14 +51,16 @@
-
- +
+ {{file.title}} +
+ {{file.title_link}}
diff --git a/src/app/shared/chat/messages/messages.page.ts b/src/app/shared/chat/messages/messages.page.ts index 3bffc01df..0a4df27f6 100644 --- a/src/app/shared/chat/messages/messages.page.ts +++ b/src/app/shared/chat/messages/messages.page.ts @@ -241,6 +241,9 @@ export class MessagesPage implements OnInit, OnChanges, AfterViewInit, OnDestroy viewDocument(url:string){ this.fileService.viewDocumentByUrl(url); + /* this.chatService.getDocumentDetails(url).subscribe(res => { + console.log(res); + }) */ } getChatMembers() { From 5d4490e287659b50785785c3032a894557348d75 Mon Sep 17 00:00:00 2001 From: "tiago.kayaya" Date: Tue, 5 Oct 2021 10:18:38 +0100 Subject: [PATCH 2/6] solved unauthorized rockect chat url --- angular.json | 3 +-- src/app/home/home.page.ts | 22 +++++++++---------- src/app/services/auth.service.ts | 4 +++- src/app/services/chat.service.ts | 4 +--- src/app/services/functions/file.service.ts | 2 +- .../shared/chat/messages/messages.page.html | 2 +- src/app/shared/chat/messages/messages.page.ts | 15 ++++++++----- src/index.html | 12 +++++----- 8 files changed, 34 insertions(+), 30 deletions(-) diff --git a/angular.json b/angular.json index 50ef54e6d..ecd38fe24 100644 --- a/angular.json +++ b/angular.json @@ -84,8 +84,7 @@ "serve": { "builder": "@angular-devkit/build-angular:dev-server", "options": { - "browserTarget": "app:build", - "proxyConfig": "proxy.config.json" + "browserTarget": "app:build" }, "configurations": { "production": { diff --git a/src/app/home/home.page.ts b/src/app/home/home.page.ts index b28faf780..41d4fa1de 100644 --- a/src/app/home/home.page.ts +++ b/src/app/home/home.page.ts @@ -95,7 +95,7 @@ export class HomePage implements OnInit { } - + goto(url) { this.router.navigate([url]) } @@ -106,10 +106,10 @@ export class HomePage implements OnInit { /* this.network.checkNetworkConnection; this.network.checkNetworkDisconnection; */ // console.log('Active route ', this.router.url) - + if (this.platform.is('desktop') || this.platform.is('mobileweb')) { - this.webnotification.webconnection(); - this.webnotification.onReceviNotificationWeb(); + /* this.webnotification.webconnection(); + this.webnotification.onReceviNotificationWeb(); */ } else { this.mobilefirstConnect(); this.notificationsService.getAndpostToken2(); @@ -132,13 +132,13 @@ export class HomePage implements OnInit { if(window['WLAuthorizationManager']) { if(window['WLAuthorizationManager'].obtainAccessToken) { window['WLAuthorizationManager'].obtainAccessToken("").then((token) => { - + console.log('MobileFirst Server connect: Success ' + token); - + var resourceRequest = new WLResourceRequest("/adapters/javaAdapter/resource/greet/", WLResourceRequest.GET ); - + resourceRequest.setQueryParameter("name", "world"); resourceRequest.send().then( (response) => { @@ -178,7 +178,7 @@ export class HomePage implements OnInit { synchro.registerCallback('Offline',()=>{ - + }) synchro.conected @@ -186,7 +186,7 @@ export class HomePage implements OnInit { synchro.registerCallback('Notification', (DataArray)=> { this.webNotificationPopupService.sendNotification(DataArray) - + this.storageService.get('Notifications').then((data:any)=>{ data.push(DataArray) this.storageService.store("Notifications", data) @@ -196,7 +196,7 @@ export class HomePage implements OnInit { a.push(DataArray) this.storageService.store("Notifications",a) }) - + }, 'any') @@ -204,7 +204,7 @@ export class HomePage implements OnInit { document.addEventListener('pause', function () { // console.log('App going to background'); }); - + document.addEventListener('resume', function () { // console.log('App coming to foreground'); }); diff --git a/src/app/services/auth.service.ts b/src/app/services/auth.service.ts index d8094ed39..ca61b3319 100644 --- a/src/app/services/auth.service.ts +++ b/src/app/services/auth.service.ts @@ -65,7 +65,7 @@ export class AuthService { } SetSession(response: LoginUserRespose, user:UserForm) { - const session: UserSession = Object.assign(SessionStore.user, response) + const session: UserSession = Object.assign(SessionStore.user, response) if (response) { if( session.RoleID == 100000014) { @@ -102,6 +102,8 @@ export class AuthService { console.log('Login to Rocket chat OK'); this.ValidatedUserChat = responseChat; localStorage.setItem('userChat', JSON.stringify(responseChat)); + localStorage.setItem('Meteor.loginToken', JSON.stringify(responseChat['data'].userId)); + localStorage.setItem('Meteor.userId', JSON.stringify(responseChat['data'].authToken)); this.storageService.store(AuthConnstants.AUTH, responseChat); return true; } diff --git a/src/app/services/chat.service.ts b/src/app/services/chat.service.ts index 6dcdf578d..3a26458bf 100644 --- a/src/app/services/chat.service.ts +++ b/src/app/services/chat.service.ts @@ -9,7 +9,6 @@ import { Storage } from '@ionic/storage'; import { Message } from 'src/app/models/message.model'; import { Observable, Subject } from "rxjs/Rx"; import { WebsocketService } from './websocket.service'; -import { FileService } from './functions/file.service'; @Injectable({ providedIn: 'root' @@ -32,7 +31,6 @@ export class ChatService { private authService: AuthService, private storage: Storage, private storageService:StorageService, - private fileService: FileService, //private wsService: WebsocketService, ) { @@ -63,7 +61,7 @@ export class ChatService { }; let fullUrl = "https://www.tabularium.pt/" + url; return this.http.get(fullUrl, optionsc).subscribe(()=>{ - this.fileService.viewDocumentByUrl(url) + //this.fileService.viewDocumentByUrl(url) }); } diff --git a/src/app/services/functions/file.service.ts b/src/app/services/functions/file.service.ts index 037f7031a..7c5ef6289 100644 --- a/src/app/services/functions/file.service.ts +++ b/src/app/services/functions/file.service.ts @@ -252,7 +252,7 @@ export class FileService { } viewDocumentByUrl(url) { - const browser = this.iab.create(url,"_blank"); + const browser = this.iab.create(url,"_parent"); browser.show(); } } diff --git a/src/app/shared/chat/messages/messages.page.html b/src/app/shared/chat/messages/messages.page.html index 2884c0109..e49e36a1c 100644 --- a/src/app/shared/chat/messages/messages.page.html +++ b/src/app/shared/chat/messages/messages.page.html @@ -51,7 +51,7 @@
-
+
diff --git a/src/app/shared/chat/messages/messages.page.ts b/src/app/shared/chat/messages/messages.page.ts index 0a4df27f6..842086692 100644 --- a/src/app/shared/chat/messages/messages.page.ts +++ b/src/app/shared/chat/messages/messages.page.ts @@ -14,6 +14,7 @@ import { ChatMessageStore } from 'src/app/store/chat/chat-message.service'; import { ChatUserStorage } from 'src/app/store/chat/chat-user.service'; import { TimeService } from 'src/app/services/functions/time.service'; import { FileService } from 'src/app/services/functions/file.service'; +import { HttpClient, HttpHeaders } from '@angular/common/http'; @Component({ selector: 'app-messages', @@ -68,6 +69,7 @@ export class MessagesPage implements OnInit, OnChanges, AfterViewInit, OnDestroy private timeService: TimeService, private fileService: FileService, private gestureController: GestureController, + private http:HttpClient, ) { this.loggedUser = authService.ValidatedUserChat['data']; @@ -239,11 +241,14 @@ export class MessagesPage implements OnInit, OnChanges, AfterViewInit, OnDestroy }) } - viewDocument(url:string){ - this.fileService.viewDocumentByUrl(url); - /* this.chatService.getDocumentDetails(url).subscribe(res => { - console.log(res); - }) */ + viewDocument(url:string, documentType?:string){ + if(documentType == "application/webtrix"){ + this.fileService.viewDocumentByUrl(url); + } + else{ + let fullUrl = "https://www.tabularium.pt" + url; + this.fileService.viewDocumentByUrl(fullUrl); + } } getChatMembers() { diff --git a/src/index.html b/src/index.html index fb77a3f7a..2cc52887a 100644 --- a/src/index.html +++ b/src/index.html @@ -7,13 +7,13 @@ - - + - - - --> From db3cda505025775ac799d5d52eeffb6ca7157182 Mon Sep 17 00:00:00 2001 From: "tiago.kayaya" Date: Tue, 5 Oct 2021 10:29:07 +0100 Subject: [PATCH 3/6] save --- src/app/shared/chat/messages/messages.page.html | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/app/shared/chat/messages/messages.page.html b/src/app/shared/chat/messages/messages.page.html index e49e36a1c..594c4cb19 100644 --- a/src/app/shared/chat/messages/messages.page.html +++ b/src/app/shared/chat/messages/messages.page.html @@ -51,16 +51,14 @@
-
- +
+ {{file.title}} -
- {{file.title_link}}
From 9a629628f33a74c42d098866259ee0c90d6baa5f Mon Sep 17 00:00:00 2001 From: "tiago.kayaya" Date: Tue, 5 Oct 2021 16:29:33 +0100 Subject: [PATCH 4/6] replicate download file from chat conversation mobile and web --- src/app/app-routing.module.ts | 4 ++ .../view-document-routing.module.ts | 17 ++++++++ .../view-document/view-document.module.ts | 22 ++++++++++ .../view-document/view-document.page.html | 25 ++++++++++++ .../view-document/view-document.page.scss | 11 +++++ .../view-document/view-document.page.spec.ts | 24 +++++++++++ .../view-document/view-document.page.ts | 40 +++++++++++++++++++ src/app/pages/chat/chat.page.scss | 2 + .../group-messages/group-messages.page.html | 5 ++- .../group-messages/group-messages.page.ts | 25 +++++++++++- .../pages/chat/messages/messages.page.html | 5 ++- src/app/pages/chat/messages/messages.page.ts | 25 +++++++++++- src/app/services/functions/file.service.ts | 5 ++- .../group-messages/group-messages.page.html | 5 ++- .../group-messages/group-messages.page.ts | 25 +++++++++++- .../shared/chat/messages/messages.page.html | 2 +- src/app/shared/chat/messages/messages.page.ts | 27 ++++++++++--- src/global.scss | 4 ++ 18 files changed, 252 insertions(+), 21 deletions(-) create mode 100644 src/app/modals/view-document/view-document-routing.module.ts create mode 100644 src/app/modals/view-document/view-document.module.ts create mode 100644 src/app/modals/view-document/view-document.page.html create mode 100644 src/app/modals/view-document/view-document.page.scss create mode 100644 src/app/modals/view-document/view-document.page.spec.ts create mode 100644 src/app/modals/view-document/view-document.page.ts diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 530cfa87b..ca634fade 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -195,6 +195,10 @@ const routes = [ path: 'document-viewer', loadChildren: () => import('./modals/document-viewer/document-viewer.module').then( m => m.DocumentViewerPageModule) }, + { + path: 'view-document', + loadChildren: () => import('./modals/view-document/view-document.module').then( m => m.ViewDocumentPageModule) + }, diff --git a/src/app/modals/view-document/view-document-routing.module.ts b/src/app/modals/view-document/view-document-routing.module.ts new file mode 100644 index 000000000..849e54cf4 --- /dev/null +++ b/src/app/modals/view-document/view-document-routing.module.ts @@ -0,0 +1,17 @@ +import { NgModule } from '@angular/core'; +import { Routes, RouterModule } from '@angular/router'; + +import { ViewDocumentPage } from './view-document.page'; + +const routes: Routes = [ + { + path: '', + component: ViewDocumentPage + } +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], +}) +export class ViewDocumentPageRoutingModule {} diff --git a/src/app/modals/view-document/view-document.module.ts b/src/app/modals/view-document/view-document.module.ts new file mode 100644 index 000000000..f726c05f0 --- /dev/null +++ b/src/app/modals/view-document/view-document.module.ts @@ -0,0 +1,22 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { FormsModule } from '@angular/forms'; + +import { IonicModule } from '@ionic/angular'; + +import { ViewDocumentPageRoutingModule } from './view-document-routing.module'; + +import { ViewDocumentPage } from './view-document.page'; +import { FontAwesomeModule } from '@fortawesome/angular-fontawesome'; + +@NgModule({ + imports: [ + CommonModule, + FormsModule, + IonicModule, + FontAwesomeModule, + ViewDocumentPageRoutingModule + ], + declarations: [ViewDocumentPage] +}) +export class ViewDocumentPageModule {} diff --git a/src/app/modals/view-document/view-document.page.html b/src/app/modals/view-document/view-document.page.html new file mode 100644 index 000000000..1bf88532e --- /dev/null +++ b/src/app/modals/view-document/view-document.page.html @@ -0,0 +1,25 @@ + + +
+
+ + +
+ +
+ {{file.title}} +
+ +
+ +
+ +
+
+
+ + +
+ +
+
diff --git a/src/app/modals/view-document/view-document.page.scss b/src/app/modals/view-document/view-document.page.scss new file mode 100644 index 000000000..9347b1046 --- /dev/null +++ b/src/app/modals/view-document/view-document.page.scss @@ -0,0 +1,11 @@ +.left{ + float: left; +} +.middle{ + float: left; + padding-left: 5px !important; +} +.right{ + float: right; + margin-left: auto; +} diff --git a/src/app/modals/view-document/view-document.page.spec.ts b/src/app/modals/view-document/view-document.page.spec.ts new file mode 100644 index 000000000..b99a06232 --- /dev/null +++ b/src/app/modals/view-document/view-document.page.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { IonicModule } from '@ionic/angular'; + +import { ViewDocumentPage } from './view-document.page'; + +describe('ViewDocumentPage', () => { + let component: ViewDocumentPage; + let fixture: ComponentFixture; + + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [ ViewDocumentPage ], + imports: [IonicModule.forRoot()] + }).compileComponents(); + + fixture = TestBed.createComponent(ViewDocumentPage); + component = fixture.componentInstance; + fixture.detectChanges(); + })); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/modals/view-document/view-document.page.ts b/src/app/modals/view-document/view-document.page.ts new file mode 100644 index 000000000..1090cec90 --- /dev/null +++ b/src/app/modals/view-document/view-document.page.ts @@ -0,0 +1,40 @@ +import { Component, OnInit } from '@angular/core'; +import { DomSanitizer } from '@angular/platform-browser'; +import { ModalController, NavParams } from '@ionic/angular'; + +@Component({ + selector: 'app-view-document', + templateUrl: './view-document.page.html', + styleUrls: ['./view-document.page.scss'], +}) +export class ViewDocumentPage implements OnInit { + + url: string; + a:string = "https://equilibrium.dyndns.info/FileShare/pdfjs/web/viewer.html?file="; + viewerUrl: string; + trustedUrl: any; + file:any; + + constructor( + private modalController: ModalController, + private navParams: NavParams, + private sanitazer: DomSanitizer, + ) { + + this.file = this.navParams.get('file'); + this.url = this.file.title_link; + console.log(this.url); + + } + + ngOnInit() { + this.viewerUrl = this.url.replace("webTRIX.Viewer.Branch1/pdfjs/web/viewpdf.aspx?file=/webTRIX.Viewer.Branch1/arq/637690403731947760.pdf&i", "FileShare/pdfjs/web/viewer.html?file"); + this.trustedUrl = this.sanitazer.bypassSecurityTrustResourceUrl(this.viewerUrl); + console.log(this.trustedUrl); + } + + close() { + this.modalController.dismiss(); + } + +} diff --git a/src/app/pages/chat/chat.page.scss b/src/app/pages/chat/chat.page.scss index db2fff810..50c2afa74 100644 --- a/src/app/pages/chat/chat.page.scss +++ b/src/app/pages/chat/chat.page.scss @@ -45,6 +45,7 @@ ion-content{ .aside-wrapper{ margin: 0 !important; + overflow: auto; .title-content{ padding: 30px 20px 0 20px !important; @@ -52,6 +53,7 @@ ion-content{ .aside{ padding: 0 !important; + overflow: auto; } } diff --git a/src/app/pages/chat/group-messages/group-messages.page.html b/src/app/pages/chat/group-messages/group-messages.page.html index 9e2e53232..6d649403c 100644 --- a/src/app/pages/chat/group-messages/group-messages.page.html +++ b/src/app/pages/chat/group-messages/group-messages.page.html @@ -66,10 +66,11 @@
-
- +
+ + {{file.title}} diff --git a/src/app/pages/chat/group-messages/group-messages.page.ts b/src/app/pages/chat/group-messages/group-messages.page.ts index 7a3b4781d..e77fd6af9 100644 --- a/src/app/pages/chat/group-messages/group-messages.page.ts +++ b/src/app/pages/chat/group-messages/group-messages.page.ts @@ -18,6 +18,7 @@ import { ToastService } from 'src/app/services/toast.service'; import { environment } from 'src/environments/environment'; import { NewEventPage } from '../../agenda/new-event/new-event.page'; import { EventPerson } from 'src/app/models/eventperson.model'; +import { ViewDocumentPage } from 'src/app/modals/view-document/view-document.page'; @Component({ selector: 'app-group-messages', @@ -364,8 +365,28 @@ export class GroupMessagesPage implements OnInit, AfterViewInit, OnDestroy { }; } - viewDocument(url:string){ - this.fileService.viewDocumentByUrl(url); + viewDocument(file:any){ + if(file.type == "file"){ + let fullUrl = "https://www.tabularium.pt" + file.title_link; + this.fileService.viewDocumentByUrl(fullUrl); + } + else{ + this.fileService.viewDocumentByUrl(file.title_link); + //this.openViewDocumentModal(file); + } + } + + async openViewDocumentModal(file:any){ + const modal = await this.modalController.create({ + component: ViewDocumentPage, + componentProps: { + file: file, + }, + cssClass: 'modal modal-desktop', + backdropDismiss: false + }); + await modal.present(); + modal.onDidDismiss(); } async bookMeeting() { diff --git a/src/app/pages/chat/messages/messages.page.html b/src/app/pages/chat/messages/messages.page.html index dedb43f07..8a623855f 100644 --- a/src/app/pages/chat/messages/messages.page.html +++ b/src/app/pages/chat/messages/messages.page.html @@ -64,10 +64,11 @@
-
- +
+ + {{file.title}} diff --git a/src/app/pages/chat/messages/messages.page.ts b/src/app/pages/chat/messages/messages.page.ts index bab89164b..15f53070d 100644 --- a/src/app/pages/chat/messages/messages.page.ts +++ b/src/app/pages/chat/messages/messages.page.ts @@ -2,6 +2,7 @@ import { AfterViewChecked, AfterViewInit, Component, ElementRef, OnDestroy, OnIn import {ActivatedRoute, Router} from '@angular/router' import { GestureController, Gesture, ModalController, NavParams, PopoverController } from '@ionic/angular'; import { map } from 'rxjs/operators'; +import { ViewDocumentPage } from 'src/app/modals/view-document/view-document.page'; import { EventPerson } from 'src/app/models/eventperson.model'; import { ContactsPage } from 'src/app/pages/chat/messages/contacts/contacts.page'; import { AlertService } from 'src/app/services/alert.service'; @@ -273,8 +274,28 @@ export class MessagesPage implements OnInit, AfterViewInit, OnDestroy { }) } - viewDocument(url:string){ - this.fileService.viewDocumentByUrl(url); + viewDocument(file:any){ + if(file.type == "file"){ + let fullUrl = "https://www.tabularium.pt" + file.title_link; + this.fileService.viewDocumentByUrl(fullUrl); + } + else{ + this.fileService.viewDocumentByUrl(file.title_link); + //this.openViewDocumentModal(file); + } + } + + async openViewDocumentModal(file:any){ + const modal = await this.modalController.create({ + component: ViewDocumentPage, + componentProps: { + file: file, + }, + cssClass: 'modal modal-desktop', + backdropDismiss: false + }); + await modal.present(); + modal.onDidDismiss(); } getChatMembers() { diff --git a/src/app/services/functions/file.service.ts b/src/app/services/functions/file.service.ts index 7c5ef6289..63f84472e 100644 --- a/src/app/services/functions/file.service.ts +++ b/src/app/services/functions/file.service.ts @@ -174,8 +174,8 @@ export class FileService { "text": "", "title_link": this.capturedImage, "title_link_download": true, - "thumb_url": "https://static.ichimura.ed.jp/uploads/2017/10/pdf-icon.png", "message_link": this.capturedImage, + "type": "file" }], "file":{ "name": this.capturedImageTitle, @@ -233,6 +233,7 @@ export class FileService { "title_link_download": true, //"thumb_url": "assets/images/webtrix-logo.png", "message_link": url_no_options, + "type": "webtrix" }], "file":{ "name": res.data.selected.Assunto, @@ -252,7 +253,7 @@ export class FileService { } viewDocumentByUrl(url) { - const browser = this.iab.create(url,"_parent"); + const browser = this.iab.create(url,"_blank"); browser.show(); } } diff --git a/src/app/shared/chat/group-messages/group-messages.page.html b/src/app/shared/chat/group-messages/group-messages.page.html index e8a8bc4ab..4d6b615d8 100644 --- a/src/app/shared/chat/group-messages/group-messages.page.html +++ b/src/app/shared/chat/group-messages/group-messages.page.html @@ -59,10 +59,11 @@
-
- +
+ + {{file.title}} diff --git a/src/app/shared/chat/group-messages/group-messages.page.ts b/src/app/shared/chat/group-messages/group-messages.page.ts index 3e4a60242..fb6883e1f 100644 --- a/src/app/shared/chat/group-messages/group-messages.page.ts +++ b/src/app/shared/chat/group-messages/group-messages.page.ts @@ -17,6 +17,7 @@ import { SearchPage } from 'src/app/pages/search/search.page'; import { SearchList } from 'src/app/models/search-document'; import { ProcessesService } from 'src/app/services/processes.service'; import { FileService } from 'src/app/services/functions/file.service'; +import { ViewDocumentPage } from 'src/app/modals/view-document/view-document.page'; /* @@ -607,8 +608,28 @@ export class GroupMessagesPage implements OnInit, OnChanges, AfterViewInit, OnDe }); } - viewDocument(url:string){ - this.fileService.viewDocumentByUrl(url); + viewDocument(file:any){ + if(file.type == "file"){ + let fullUrl = "https://www.tabularium.pt" + file.title_link; + this.fileService.viewDocumentByUrl(fullUrl); + } + else{ + this.fileService.viewDocumentByUrl(file.title_link); + //this.openViewDocumentModal(file); + } + } + + async openViewDocumentModal(file:any){ + const modal = await this.modalController.create({ + component: ViewDocumentPage, + componentProps: { + file: file, + }, + cssClass: 'modal modal-desktop', + backdropDismiss: false + }); + await modal.present(); + modal.onDidDismiss(); } async _openChatOptions() { diff --git a/src/app/shared/chat/messages/messages.page.html b/src/app/shared/chat/messages/messages.page.html index 594c4cb19..e8691256f 100644 --- a/src/app/shared/chat/messages/messages.page.html +++ b/src/app/shared/chat/messages/messages.page.html @@ -51,7 +51,7 @@
-
+
diff --git a/src/app/shared/chat/messages/messages.page.ts b/src/app/shared/chat/messages/messages.page.ts index 842086692..05c97f4d4 100644 --- a/src/app/shared/chat/messages/messages.page.ts +++ b/src/app/shared/chat/messages/messages.page.ts @@ -15,6 +15,7 @@ import { ChatUserStorage } from 'src/app/store/chat/chat-user.service'; import { TimeService } from 'src/app/services/functions/time.service'; import { FileService } from 'src/app/services/functions/file.service'; import { HttpClient, HttpHeaders } from '@angular/common/http'; +import { ViewDocumentPage } from 'src/app/modals/view-document/view-document.page'; @Component({ selector: 'app-messages', @@ -241,14 +242,28 @@ export class MessagesPage implements OnInit, OnChanges, AfterViewInit, OnDestroy }) } - viewDocument(url:string, documentType?:string){ - if(documentType == "application/webtrix"){ - this.fileService.viewDocumentByUrl(url); - } - else{ - let fullUrl = "https://www.tabularium.pt" + url; + viewDocument(file:any){ + if(file.type == "file"){ + let fullUrl = "https://www.tabularium.pt" + file.title_link; this.fileService.viewDocumentByUrl(fullUrl); } + else{ + this.fileService.viewDocumentByUrl(file.title_link); + //this.openViewDocumentModal(file); + } + } + + async openViewDocumentModal(file:any){ + const modal = await this.modalController.create({ + component: ViewDocumentPage, + componentProps: { + file: file, + }, + cssClass: 'modal modal-desktop', + backdropDismiss: false + }); + await modal.present(); + modal.onDidDismiss(); } getChatMembers() { diff --git a/src/global.scss b/src/global.scss index a837a721a..061cc4197 100644 --- a/src/global.scss +++ b/src/global.scss @@ -1175,6 +1175,10 @@ ngx-mat-datetime-content{ .powerpoint-icon{ color: #d24726; } +.menu-icon{ + color: #42b9fe; + padding: 0 5px 0 5px; +} @media only screen and (min-width: 665px) { .loading-blocker { From cfd896dfca796dc6943c65ed16f888af11e45bee Mon Sep 17 00:00:00 2001 From: "tiago.kayaya" Date: Wed, 6 Oct 2021 17:27:49 +0100 Subject: [PATCH 5/6] Fixed upload feature Added new design to message options --- .../chat-options-features.page.html | 2 +- src/app/services/chat.service.ts | 8 +++++ src/app/services/functions/file.service.ts | 31 ++++--------------- .../group-messages/group-messages.page.html | 26 ++++++++++++++-- .../group-messages/group-messages.page.ts | 20 ++++++++++++ .../shared/chat/messages/messages.page.html | 28 +++++++++++++++-- src/app/shared/chat/messages/messages.page.ts | 22 +++++++++++++ src/global.scss | 13 ++++++++ 8 files changed, 120 insertions(+), 30 deletions(-) diff --git a/src/app/modals/chat-options-features/chat-options-features.page.html b/src/app/modals/chat-options-features/chat-options-features.page.html index 40c40b512..75ac2594a 100644 --- a/src/app/modals/chat-options-features/chat-options-features.page.html +++ b/src/app/modals/chat-options-features/chat-options-features.page.html @@ -7,7 +7,7 @@
- +
diff --git a/src/app/services/chat.service.ts b/src/app/services/chat.service.ts index 3a26458bf..612975aaf 100644 --- a/src/app/services/chat.service.ts +++ b/src/app/services/chat.service.ts @@ -129,6 +129,14 @@ export class ChatService { return this.http.post(environment.apiChatUrl+'chat.sendMessage', body, opts); } + uploadFile(formData:any, rid:string){ + let url = environment.apiChatUrl+'rooms.upload/'+rid; + let opts = { + headers: this.headers, + } + return this.http.post(url, formData, opts); + } + deleteMessage(body:any){ let opts = { headers: this.headers, diff --git a/src/app/services/functions/file.service.ts b/src/app/services/functions/file.service.ts index 63f84472e..95f02e6b5 100644 --- a/src/app/services/functions/file.service.ts +++ b/src/app/services/functions/file.service.ts @@ -21,6 +21,8 @@ export class FileService { documents:SearchList[] = []; showLoader: boolean; + files: Set; + constructor( private camera: Camera, private fileLoaderService: FileLoaderService, @@ -160,33 +162,12 @@ export class FileService { console.log(file); - const imageData = await this.fileToBase64Service.convert(file) - this.capturedImage = imageData; - this.capturedImageTitle = file.name; + const formData = new FormData(); + formData.append('file', file, file.name); - let body = { - "message": - { - "rid": roomId, - "msg": "", - "attachments": [{ - "title": this.capturedImageTitle, - "text": "", - "title_link": this.capturedImage, - "title_link_download": true, - "message_link": this.capturedImage, - "type": "file" - }], - "file":{ - "name": this.capturedImageTitle, - "type": "application/pdf", - } - } - } - - this.chatService.sendMessage(body).subscribe(res=> { + this.chatService.uploadFile(formData, roomId).subscribe(res=> { + console.log(res); loader.remove(); - //console.log(res); },(error) => { loader.remove(); }); diff --git a/src/app/shared/chat/group-messages/group-messages.page.html b/src/app/shared/chat/group-messages/group-messages.page.html index 4d6b615d8..051d6a75d 100644 --- a/src/app/shared/chat/group-messages/group-messages.page.html +++ b/src/app/shared/chat/group-messages/group-messages.page.html @@ -127,9 +127,31 @@
-
diff --git a/src/app/shared/chat/group-messages/group-messages.page.ts b/src/app/shared/chat/group-messages/group-messages.page.ts index fb6883e1f..c75285e1f 100644 --- a/src/app/shared/chat/group-messages/group-messages.page.ts +++ b/src/app/shared/chat/group-messages/group-messages.page.ts @@ -632,6 +632,26 @@ export class GroupMessagesPage implements OnInit, OnChanges, AfterViewInit, OnDe modal.onDidDismiss(); } + takePicture(){ + this.fileService.addCameraPictureToChat(this.roomId); + } + addImage(){ + this.fileService.addPictureToChat(this.roomId); + } + addFile(){ + this.fileService.addDocumentToChat(this.roomId); + } + addFileWebtrix(){ + this.fileService.addDocGestaoDocumentalToChat(this.roomId); + } + bookMeeting(){ + let data = { + roomId: this.roomId, + members: this.members + } + this.openNewEventPage.emit(data); + } + async _openChatOptions() { const enterAnimation = (baseEl: any) => { diff --git a/src/app/shared/chat/messages/messages.page.html b/src/app/shared/chat/messages/messages.page.html index e8691256f..a26012f2e 100644 --- a/src/app/shared/chat/messages/messages.page.html +++ b/src/app/shared/chat/messages/messages.page.html @@ -99,9 +99,33 @@
-
diff --git a/src/app/shared/chat/messages/messages.page.ts b/src/app/shared/chat/messages/messages.page.ts index 05c97f4d4..cab59831e 100644 --- a/src/app/shared/chat/messages/messages.page.ts +++ b/src/app/shared/chat/messages/messages.page.ts @@ -379,6 +379,28 @@ export class MessagesPage implements OnInit, OnChanges, AfterViewInit, OnDestroy + takePicture(){ + this.fileService.addCameraPictureToChat(this.roomId); + } + addImage(){ + this.fileService.addPictureToChat(this.roomId); + } + addFile(){ + this.fileService.addDocumentToChat(this.roomId); + } + addFileWebtrix(){ + this.fileService.addDocGestaoDocumentalToChat(this.roomId); + } + bookMeeting(){ + let data = { + roomId: this.roomId, + members: this.members + } + this.openNewEventPage.emit(data); + } + + + async _openChatOptions() { const enterAnimation = (baseEl: any) => { diff --git a/src/global.scss b/src/global.scss index 061cc4197..60b71dcf2 100644 --- a/src/global.scss +++ b/src/global.scss @@ -1180,6 +1180,19 @@ ngx-mat-datetime-content{ padding: 0 5px 0 5px; } +.fab-list{ + overflow: auto; + + .fab-list-btn{ + position: relative; + float: left; + border: 1px solid blue; + } + .fab-list-text{ + border-radius: 15px; + } +} + @media only screen and (min-width: 665px) { .loading-blocker { From 6282cc30dba9073a346b155d454893e7fae84f71 Mon Sep 17 00:00:00 2001 From: "tiago.kayaya" Date: Thu, 7 Oct 2021 09:42:18 +0100 Subject: [PATCH 6/6] save --- src/app/modals/profile/edit-profile/edit-profile.page.html | 2 +- src/app/shared/chat/group-messages/group-messages.page.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/app/modals/profile/edit-profile/edit-profile.page.html b/src/app/modals/profile/edit-profile/edit-profile.page.html index 6d3fc6052..a1095d704 100644 --- a/src/app/modals/profile/edit-profile/edit-profile.page.html +++ b/src/app/modals/profile/edit-profile/edit-profile.page.html @@ -64,7 +64,7 @@
- +