From 2ac8832e41d404593a88e3f9ae82009658bc2efb Mon Sep 17 00:00:00 2001 From: Peter Maquiran Date: Mon, 15 Mar 2021 10:12:14 +0100 Subject: [PATCH 1/5] Improve home publication responsiveness --- .../view-publications/view-publications.page.html | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/app/shared/publication/view-publications/view-publications.page.html b/src/app/shared/publication/view-publications/view-publications.page.html index f4fad9c21..5935030a4 100644 --- a/src/app/shared/publication/view-publications/view-publications.page.html +++ b/src/app/shared/publication/view-publications/view-publications.page.html @@ -28,16 +28,16 @@
-
-
+
+
image
image
-
+
{{publication.Title}} From 6c0c7173e82e990093cd03c29fb0b73fce6b9548 Mon Sep 17 00:00:00 2001 From: Peter Maquiran Date: Mon, 15 Mar 2021 12:06:06 +0100 Subject: [PATCH 2/5] Add New publication component --- .../pages/publications/publications.module.ts | 4 +- .../pages/publications/publications.page.html | 16 +- .../pages/publications/publications.page.ts | 30 ++- .../new-publication-routing.module.ts | 17 ++ .../new-publication/new-publication.module.ts | 20 ++ .../new-publication/new-publication.page.html | 86 +++++++ .../new-publication/new-publication.page.scss | 134 +++++++++++ .../new-publication.page.spec.ts | 24 ++ .../new-publication/new-publication.page.ts | 209 ++++++++++++++++++ .../view-publications.page.ts | 38 ++-- 10 files changed, 559 insertions(+), 19 deletions(-) create mode 100644 src/app/shared/publication/new-publication/new-publication-routing.module.ts create mode 100644 src/app/shared/publication/new-publication/new-publication.module.ts create mode 100644 src/app/shared/publication/new-publication/new-publication.page.html create mode 100644 src/app/shared/publication/new-publication/new-publication.page.scss create mode 100644 src/app/shared/publication/new-publication/new-publication.page.spec.ts create mode 100644 src/app/shared/publication/new-publication/new-publication.page.ts diff --git a/src/app/pages/publications/publications.module.ts b/src/app/pages/publications/publications.module.ts index f703cefa2..518e20e3c 100644 --- a/src/app/pages/publications/publications.module.ts +++ b/src/app/pages/publications/publications.module.ts @@ -9,6 +9,7 @@ import { PublicationsPageRoutingModule } from './publications-routing.module'; import { PublicationsPage } from './publications.page'; import { SharedModule } from 'src/app/shared/shared.module'; import { ViewPublicationsPage } from 'src/app/shared/publication/view-publications/view-publications.page'; +import { NewPublicationPage } from 'src/app/shared/publication/new-publication/new-publication.page'; @NgModule({ @@ -21,7 +22,8 @@ import { ViewPublicationsPage } from 'src/app/shared/publication/view-publicatio ], declarations: [ PublicationsPage, - ViewPublicationsPage + ViewPublicationsPage, + NewPublicationPage ] }) export class PublicationsPageModule {} diff --git a/src/app/pages/publications/publications.page.html b/src/app/pages/publications/publications.page.html index f62a31e2f..2b29f27b9 100644 --- a/src/app/pages/publications/publications.page.html +++ b/src/app/pages/publications/publications.page.html @@ -62,16 +62,26 @@
-
- - +
+ + + + +
diff --git a/src/app/pages/publications/publications.page.ts b/src/app/pages/publications/publications.page.ts index afab58fdf..0f5d3132f 100644 --- a/src/app/pages/publications/publications.page.ts +++ b/src/app/pages/publications/publications.page.ts @@ -34,9 +34,11 @@ export class PublicationsPage implements OnInit { desktopComponent: any = { showViewPublication: false, + showAddNewPublication: false } folderId: string; + publicationType: any; constructor( private router: Router, @@ -96,6 +98,9 @@ export class PublicationsPage implements OnInit { } async AddPublicationFolder(item:any) { + + this.closeDesktopComponent(); + const modal = await this.modalController.create({ component: NewActionPage, componentProps:{ @@ -137,6 +142,7 @@ export class PublicationsPage implements OnInit { } + this.closeDesktopComponent(); // OpenModal if( window.innerWidth <= 1024){ @@ -164,4 +170,26 @@ export class PublicationsPage implements OnInit { } -} + async addNewPublication({publicationType, folderId}){ + + this.closeDesktopComponent(); + + // propr to add new publication + this.publicationType = publicationType; + this.folderId = folderId; + + this.desktopComponent.showAddNewPublication = true; + } + + async closeDesktopComponent (){ + + this.desktopComponent.showViewPublication = false; + this.desktopComponent.showAddNewPublication = false; + + this.desktopComponent = { + showViewPublication: false, + showAddNewPublication: false + } + } + +} \ No newline at end of file diff --git a/src/app/shared/publication/new-publication/new-publication-routing.module.ts b/src/app/shared/publication/new-publication/new-publication-routing.module.ts new file mode 100644 index 000000000..69521e65c --- /dev/null +++ b/src/app/shared/publication/new-publication/new-publication-routing.module.ts @@ -0,0 +1,17 @@ +import { NgModule } from '@angular/core'; +import { Routes, RouterModule } from '@angular/router'; + +import { NewPublicationPage } from './new-publication.page'; + +const routes: Routes = [ + { + path: '', + component: NewPublicationPage + } +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], +}) +export class NewPublicationPageRoutingModule {} diff --git a/src/app/shared/publication/new-publication/new-publication.module.ts b/src/app/shared/publication/new-publication/new-publication.module.ts new file mode 100644 index 000000000..c91c34b29 --- /dev/null +++ b/src/app/shared/publication/new-publication/new-publication.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 { NewPublicationPageRoutingModule } from './new-publication-routing.module'; + +import { NewPublicationPage } from './new-publication.page'; + +@NgModule({ + imports: [ + CommonModule, + FormsModule, + IonicModule, + NewPublicationPageRoutingModule + ], + declarations: [NewPublicationPage] +}) +export class NewPublicationPageModule {} diff --git a/src/app/shared/publication/new-publication/new-publication.page.html b/src/app/shared/publication/new-publication/new-publication.page.html new file mode 100644 index 000000000..6faa78d0a --- /dev/null +++ b/src/app/shared/publication/new-publication/new-publication.page.html @@ -0,0 +1,86 @@ + +
+
+ {{publicationTitle}} +
+
+
+ + +
+ +
+ +
+ +
+
+
+ +
+
+ +
+
+
+
+ Fotografia Anexada + + + + + + +

{{capturedImageTitle}}

+ +
+ +
+ + +
+ +
+ +
+ +
+
+ Tirar Fotografia +
+
+
+ +
+ +
+ +
+
+ Anexar Fotografia +
+
+
+
+ +
+ + + + + + + Cancelar + + + + + Gravar + + + + diff --git a/src/app/shared/publication/new-publication/new-publication.page.scss b/src/app/shared/publication/new-publication/new-publication.page.scss new file mode 100644 index 000000000..733e5e2d4 --- /dev/null +++ b/src/app/shared/publication/new-publication/new-publication.page.scss @@ -0,0 +1,134 @@ + +ion-content{ + --background: transparent; + transform: translate3d(0, 5px, 0); + --border-radius: 30px; +} +ion-footer{ + background: #fff; +} +ion-toolbar{ + /* --background:#0782c9; */ + border-width: 0 !important; +} +.div-top-header{ + width: 400px; + margin: 0 auto; + background-color: #0782c9; + overflow: auto; + padding-top: 15px; + border: 0!important; +} +.div-search{ + font-size: 45px; + float: left; + margin: 0 0 0 10px +} +.div-logo{ + background: transparent; + width: 140px; + margin: 5px 0 0px 71px; + float: left; +} +.div-logo img{ + width: 100%; +} +.div-profile{ + font-size: 45px; + float: right; + margin-right: 10px; +} +.content-top{ + width: 344px; + background: #f3f2f2; + height: 20px; + margin: 0 auto; + border-top-left-radius: 25px; + border-top-right-radius: 25px; +} +.content-container{ + width: 100%; + margin:0 auto; + border-top-left-radius: 25px; + border-top-right-radius: 25px; + background: #ffffff; + height: 100%; + padding: 25px 20px 0 20px; + overflow: auto; +} +.title-content{ + width: 360px; + overflow: auto; + padding: 0 !important; +} +.div-title{ + width: 270px; +/* padding: 0!important; */ +float: left; +margin: 2.5px 0 0 5px; +} +.title{ +font-size: 25px; +} + .container-div{ + margin-bottom: 15px; + overflow: auto; + } + .ion-item-container{ + margin: 15px auto; + border: 1px solid #ebebeb; + border-radius: 5px; + padding-left: 10px; + } + .ion-item-container-no-border{ + width: 100%; + margin: 0px auto; + padding: 0 !important; + overflow: auto; + } + .ion-item-class-2{ + margin: 0px auto; + } + .ion-icon-class{ + width: 45px; + height: 45px; + float: left; + padding: 10px; + font-size: 25px; + } + .ion-textarea-class{ + height: auto; + border: 1px solid #ebebeb; + border-radius: 5px; + padding-left: 5px; + padding-right: 10px; + float: left; + } + .ion-input-class-no-height{ + border: 1px solid #ebebeb; + border-radius: 5px; + overflow: auto; + } + + .attach-document{ + font-size: 15px; + color: #0d89d1; + margin: 5px 5px 20px 10px; + padding: 5px; + float: left; + } + .attach-icon{ + width: 37px; + font-size: 35px; + float: left; + } + .attached-title{ + font-family: Roboto; + font-size: 15px; + font-weight: bold; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: normal; + color: #000; + } \ No newline at end of file diff --git a/src/app/shared/publication/new-publication/new-publication.page.spec.ts b/src/app/shared/publication/new-publication/new-publication.page.spec.ts new file mode 100644 index 000000000..09d8beae8 --- /dev/null +++ b/src/app/shared/publication/new-publication/new-publication.page.spec.ts @@ -0,0 +1,24 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { IonicModule } from '@ionic/angular'; + +import { NewPublicationPage } from './new-publication.page'; + +describe('NewPublicationPage', () => { + let component: NewPublicationPage; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ NewPublicationPage ], + imports: [IonicModule.forRoot()] + }).compileComponents(); + + fixture = TestBed.createComponent(NewPublicationPage); + component = fixture.componentInstance; + fixture.detectChanges(); + })); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/shared/publication/new-publication/new-publication.page.ts b/src/app/shared/publication/new-publication/new-publication.page.ts new file mode 100644 index 000000000..1b38527ea --- /dev/null +++ b/src/app/shared/publication/new-publication/new-publication.page.ts @@ -0,0 +1,209 @@ +import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core'; +import { AlertController, ModalController, NavParams } from '@ionic/angular'; + +/* import {Plugins, CameraResultType, CameraSource} from '@capacitor/core'; */ +import { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser'; +import { PublicationsService } from 'src/app/services/publications.service'; +import { Publication } from 'src/app/models/publication'; +import { Image } from 'src/app/models/image'; +import { ThrowStmt } from '@angular/compiler'; +import { PhotoService } from 'src/app/services/photo.service'; +import { AlertService } from 'src/app/services/alert.service'; +//Capacitor +/* const { Camera } = Plugins; */ + +//Cordova +import { Camera, CameraOptions } from '@ionic-native/camera/ngx'; +import { PublicationFolder } from 'src/app/models/publicationfolder'; +import { ViewPublicationsPage } from '../view-publications/view-publications.page'; +import { LoadingService } from 'src/app/services/loading.service'; + +@Component({ + selector: 'app-new-publication', + templateUrl: './new-publication.page.html', + styleUrls: ['./new-publication.page.scss'], +}) +export class NewPublicationPage implements OnInit { + showLoader: boolean; + publication: Publication; + pub: Publication = new Publication(); + image: Image = new Image(); + + publicationTitle:string; + imgUrl:any; + + Defaultimage:any = ''; + + + photo: SafeResourceUrl; + + @Input() publicationType: string; + @Input() folderId: string; + @Output() closeDesktopComponent = new EventEmitter(); + + + guestPicture:any; + + capturedImage:any; + capturedImageTitle:any; + + + constructor( + private modalController: ModalController, + public photoService: PhotoService, + private publications: PublicationsService, + private camera: Camera, + ) { + this.publicationTitle = 'Nova Publicação'; + } + + ngOnInit() { + this.setTitle(); + this.clear(); + this.takePicture(); + } + takePicture(){ + const options: CameraOptions = { + quality: 90, + destinationType: this.camera.DestinationType.DATA_URL, + encodingType: this.camera.EncodingType.JPEG, + mediaType: this.camera.MediaType.PICTURE, + targetWidth: 720, + targetHeight: 720, + } + + this.camera.getPicture(options).then((imageData) => { + // imageData is either a base64 encoded string or a file URI + // If it's base64 (DATA_URL): + let base64Image = 'data:image/jpeg;base64,' + imageData; + this.capturedImage = imageData; + this.capturedImageTitle = new Date().getTime() + '.jpeg'; + }, (err) => { + console.log(err); + }); + } + + getPicture(){ + const options: CameraOptions = { + quality: 90, + sourceType: this.camera.PictureSourceType.PHOTOLIBRARY, + destinationType: this.camera.DestinationType.DATA_URL, + encodingType: this.camera.EncodingType.JPEG, + mediaType: this.camera.MediaType.PICTURE, + targetWidth: 720, + targetHeight: 720, + } + this.camera.getPicture(options).then((imageData) => { + // imageData is either a base64 encoded string or a file URI + // If it's base64 (DATA_URL): + let base64Image = 'data:image/jpeg;base64,' + imageData; + this.capturedImage = imageData; + this.capturedImageTitle = new Date().getTime() + '.jpeg'; + }, (err) => { + console.log(err); + }); + } + + async save(){ + if(this.publicationType == '3'){ + + if(this.capturedImage != ''){ + this.publication = { + DateIndex: this.publication.DateIndex, + DocumentId:this.publication.DocumentId, + ProcessId:this.publication.ProcessId, + Title: this.pub.Title, + Message: this.pub.Message, + DatePublication: this.publication.DatePublication, + OriginalFileName: this.capturedImageTitle, + FileBase64: this.capturedImage, + FileExtension: 'jpeg', + } + console.log('Edit change image'); + console.log(this.publication); + this.publications.UpdatePublication(this.publication.ProcessId, this.publication); + this.close(); + } + else{ + this.publication = { + DateIndex: this.publication.DateIndex, + DocumentId:this.publication.DocumentId, + ProcessId:this.publication.ProcessId, + Title: this.pub.Title, + Message: this.pub.Message, + DatePublication: this.publication.DatePublication, + OriginalFileName: this.publication.OriginalFileName, + FileBase64: this.publication.FileBase64, + FileExtension: 'jpeg', + } + console.log('Edit - keep image'); + console.log(this.publication); + this.publications.UpdatePublication(this.publication.ProcessId, this.publication); + this.close(); + } + } + else{ + + this.publication = { + DateIndex: new Date(), + DocumentId:null, + ProcessId:this.folderId, + Title: this.pub.Title, + Message: this.pub.Message, + DatePublication: new Date(), + OriginalFileName: this.capturedImageTitle, + FileBase64: this.capturedImage, + FileExtension: 'jpeg', + } + + console.log(this.publication); + this.publications.CreatePublication(this.folderId, this.publication); + + this.closeDesktopComponent.emit(); + } + } + + + close(){ + this.closeDesktopComponent.emit(); + } + clear(){ + this.capturedImage = ''; + } + setTitle(){ + if(this.publicationType == '1'){ + this.publicationTitle = 'Nova Publicação Rápida'; + } + else if(this.publicationType == '2'){ + this.publicationTitle = 'Nova Publicação'; + } + else if(this.publicationType == '3'){ + this.publicationTitle = 'Editar Publicação'; + } + } + + /* async openGallery() { + const modal = await this.modalController.create({ + component: GalleryPage, + componentProps:{ + }, + cssClass: 'new-publication', + backdropDismiss: false + }); + await modal.present(); + modal.onDidDismiss(); + } */ + + /* async takePicture(){ + const image = await Plugins.Camera.getPhoto({ + quality: 100, + allowEditing: false, + resultType: CameraResultType.DataUrl, + source: CameraSource.Camera + }); + console.log(image); + + this.photo = this.sanitizer.bypassSecurityTrustResourceUrl(image && (image.dataUrl)); + } */ + +} diff --git a/src/app/shared/publication/view-publications/view-publications.page.ts b/src/app/shared/publication/view-publications/view-publications.page.ts index e0cea01f9..95f9dcdf7 100644 --- a/src/app/shared/publication/view-publications/view-publications.page.ts +++ b/src/app/shared/publication/view-publications/view-publications.page.ts @@ -1,5 +1,5 @@ -import { Component, OnInit, Input, Output } from '@angular/core'; -import { ModalController, NavParams } from '@ionic/angular'; +import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core'; +import { ModalController } from '@ionic/angular'; import { Publication } from 'src/app/models/publication'; import { PublicationFolder } from 'src/app/models/publicationfolder'; import { LoadingService } from 'src/app/services/loading.service'; @@ -20,6 +20,7 @@ export class ViewPublicationsPage implements OnInit { item: PublicationFolder; @Input() folderId: string; + @Output() addNewPublication = new EventEmitter(); constructor( @@ -96,19 +97,28 @@ export class ViewPublicationsPage implements OnInit { } async AddPublication(publicationType:any, folderId:string) { - const modal = await this.modalController.create({ - component: NewPublicationPage, - componentProps:{ + + if( window.innerWidth <= 1024) { + const modal = await this.modalController.create({ + component: NewPublicationPage, + componentProps:{ + publicationType: publicationType, + folderId: folderId, + }, + cssClass: 'new-publication', + backdropDismiss: false + }); + await modal.present(); + modal.onDidDismiss().then(()=>{ + this.doRefresh(event); + }); + } else { + this.addNewPublication.emit({ publicationType: publicationType, - folderId: folderId, - }, - cssClass: 'new-publication', - backdropDismiss: false - }); - await modal.present(); - modal.onDidDismiss().then(()=>{ - this.doRefresh(event); - }); + folderId: folderId + }) + } + } async viewPublicationDetail(publicationId:string) { From 309e81d26cc0c824b02b1ffa62c62e15c16dabd9 Mon Sep 17 00:00:00 2001 From: Peter Maquiran Date: Mon, 15 Mar 2021 16:47:16 +0100 Subject: [PATCH 3/5] Improve home publication --- .../publication-detail.page.scss | 7 +- .../pages/publications/publications.module.ts | 4 +- .../pages/publications/publications.page.html | 16 ++- .../pages/publications/publications.page.scss | 1 - .../pages/publications/publications.page.ts | 19 ++- .../new-publication/new-publication.page.ts | 3 +- .../publication-detail-routing.module.ts | 17 +++ .../publication-detail.module.ts | 20 +++ .../publication-detail.page.html | 73 +++++++++++ .../publication-detail.page.scss | 91 ++++++++++++++ .../publication-detail.page.spec.ts | 24 ++++ .../publication-detail.page.ts | 114 ++++++++++++++++++ .../view-publications.page.html | 6 +- .../view-publications.page.ts | 38 +++--- 14 files changed, 396 insertions(+), 37 deletions(-) create mode 100644 src/app/shared/publication/publication-detail/publication-detail-routing.module.ts create mode 100644 src/app/shared/publication/publication-detail/publication-detail.module.ts create mode 100644 src/app/shared/publication/publication-detail/publication-detail.page.html create mode 100644 src/app/shared/publication/publication-detail/publication-detail.page.scss create mode 100644 src/app/shared/publication/publication-detail/publication-detail.page.spec.ts create mode 100644 src/app/shared/publication/publication-detail/publication-detail.page.ts diff --git a/src/app/pages/publications/publication-detail/publication-detail.page.scss b/src/app/pages/publications/publication-detail/publication-detail.page.scss index 8de88c1b0..dd3f55ae5 100644 --- a/src/app/pages/publications/publication-detail/publication-detail.page.scss +++ b/src/app/pages/publications/publication-detail/publication-detail.page.scss @@ -1,16 +1,12 @@ -:host{ - background: #0782c9; - } + ion-content{ --background: transparent; - transform: translate3d(0, 5px, 0); --border-radius: 30px; } ion-footer{ background: #fff; } ion-toolbar{ - /* --background:#0782c9; */ border-width: 0 !important; } .div-top-header{ @@ -55,7 +51,6 @@ border-top-right-radius: 25px; background: #ffffff; height: 100%; - box-shadow: 0px 0px 18px rgba(0, 0, 0, 0.6); padding: 25px 0px 0 0px; overflow: auto; } diff --git a/src/app/pages/publications/publications.module.ts b/src/app/pages/publications/publications.module.ts index 518e20e3c..457aa4759 100644 --- a/src/app/pages/publications/publications.module.ts +++ b/src/app/pages/publications/publications.module.ts @@ -10,6 +10,7 @@ import { PublicationsPage } from './publications.page'; import { SharedModule } from 'src/app/shared/shared.module'; import { ViewPublicationsPage } from 'src/app/shared/publication/view-publications/view-publications.page'; import { NewPublicationPage } from 'src/app/shared/publication/new-publication/new-publication.page'; +import { PublicationDetailPage } from 'src/app/shared/publication/publication-detail/publication-detail.page'; @NgModule({ @@ -23,7 +24,8 @@ import { NewPublicationPage } from 'src/app/shared/publication/new-publication/n declarations: [ PublicationsPage, ViewPublicationsPage, - NewPublicationPage + NewPublicationPage, + PublicationDetailPage ] }) export class PublicationsPageModule {} diff --git a/src/app/pages/publications/publications.page.html b/src/app/pages/publications/publications.page.html index 2b29f27b9..62e73ad84 100644 --- a/src/app/pages/publications/publications.page.html +++ b/src/app/pages/publications/publications.page.html @@ -44,10 +44,9 @@
-
+
@@ -71,6 +70,7 @@ [folderId]="folderId" class="height-100 d-flex flex-column overflow-hidden" (addNewPublication)="addNewPublication($event)" + (openPublicationDetails)="openPublicationDetails($event)" > @@ -78,10 +78,16 @@ class="height-100 d-flex flex-column overflow-hidden background-white" [folderId]="folderId" [publicationType]="publicationType" - (closeDesktopComponent)="closeDesktopComponent" + (closeDesktopComponent)="closeDesktopComponent($event)" > + +
diff --git a/src/app/pages/publications/publications.page.scss b/src/app/pages/publications/publications.page.scss index c182e3f6d..df8c81eb7 100644 --- a/src/app/pages/publications/publications.page.scss +++ b/src/app/pages/publications/publications.page.scss @@ -91,7 +91,6 @@ ion-toolbar{ padding: 15px 20px 0 20px; } .item{ - width: 360px; padding: 0 0px 0 0px; overflow: auto; margin: 0px auto; diff --git a/src/app/pages/publications/publications.page.ts b/src/app/pages/publications/publications.page.ts index 0f5d3132f..131658f40 100644 --- a/src/app/pages/publications/publications.page.ts +++ b/src/app/pages/publications/publications.page.ts @@ -34,11 +34,13 @@ export class PublicationsPage implements OnInit { desktopComponent: any = { showViewPublication: false, - showAddNewPublication: false + showAddNewPublication: false, + showPublicationDetail: false } folderId: string; publicationType: any; + publicationId: string; constructor( private router: Router, @@ -181,14 +183,21 @@ export class PublicationsPage implements OnInit { this.desktopComponent.showAddNewPublication = true; } - async closeDesktopComponent (){ + async openPublicationDetails(publicationId: string){ + + this.publicationId = publicationId; + + this.closeDesktopComponent(); + this.desktopComponent.showPublicationDetail = true; - this.desktopComponent.showViewPublication = false; - this.desktopComponent.showAddNewPublication = false; + } + + async closeDesktopComponent (xx?: any){ this.desktopComponent = { showViewPublication: false, - showAddNewPublication: false + showAddNewPublication: false, + showPublicationDetail: false } } diff --git a/src/app/shared/publication/new-publication/new-publication.page.ts b/src/app/shared/publication/new-publication/new-publication.page.ts index 1b38527ea..4a4a784a8 100644 --- a/src/app/shared/publication/new-publication/new-publication.page.ts +++ b/src/app/shared/publication/new-publication/new-publication.page.ts @@ -8,7 +8,6 @@ import { Publication } from 'src/app/models/publication'; import { Image } from 'src/app/models/image'; import { ThrowStmt } from '@angular/compiler'; import { PhotoService } from 'src/app/services/photo.service'; -import { AlertService } from 'src/app/services/alert.service'; //Capacitor /* const { Camera } = Plugins; */ @@ -165,7 +164,7 @@ export class NewPublicationPage implements OnInit { close(){ - this.closeDesktopComponent.emit(); + this.closeDesktopComponent.emit('!???____!!'); } clear(){ this.capturedImage = ''; diff --git a/src/app/shared/publication/publication-detail/publication-detail-routing.module.ts b/src/app/shared/publication/publication-detail/publication-detail-routing.module.ts new file mode 100644 index 000000000..d1ed32f55 --- /dev/null +++ b/src/app/shared/publication/publication-detail/publication-detail-routing.module.ts @@ -0,0 +1,17 @@ +import { NgModule } from '@angular/core'; +import { Routes, RouterModule } from '@angular/router'; + +import { PublicationDetailPage } from './publication-detail.page'; + +const routes: Routes = [ + { + path: '', + component: PublicationDetailPage + } +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], +}) +export class PublicationDetailPageRoutingModule {} diff --git a/src/app/shared/publication/publication-detail/publication-detail.module.ts b/src/app/shared/publication/publication-detail/publication-detail.module.ts new file mode 100644 index 000000000..116453af2 --- /dev/null +++ b/src/app/shared/publication/publication-detail/publication-detail.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 { PublicationDetailPageRoutingModule } from './publication-detail-routing.module'; + +import { PublicationDetailPage } from './publication-detail.page'; + +@NgModule({ + imports: [ + CommonModule, + FormsModule, + IonicModule, + PublicationDetailPageRoutingModule + ], + declarations: [PublicationDetailPage] +}) +export class PublicationDetailPageModule {} diff --git a/src/app/shared/publication/publication-detail/publication-detail.page.html b/src/app/shared/publication/publication-detail/publication-detail.page.html new file mode 100644 index 000000000..4fceaf3a8 --- /dev/null +++ b/src/app/shared/publication/publication-detail/publication-detail.page.html @@ -0,0 +1,73 @@ + + + + +
+
+
+
+ +
+
+ {{publication.Title}} +

{{publication.DatePublication | date: 'dd-MM-yy | h:mm'}}

+
+
+ + + + + +
+
+ image +
+
+ image +
+
+

{{publication.Message}}

+
+
+
+
+
+
+ +
+
+ +

+
+
+
+
+ image +
+
+

+

+
+
+ +
+
+
+ + + + + Eliminar + + + + + Editar + + + + + diff --git a/src/app/shared/publication/publication-detail/publication-detail.page.scss b/src/app/shared/publication/publication-detail/publication-detail.page.scss new file mode 100644 index 000000000..06637624b --- /dev/null +++ b/src/app/shared/publication/publication-detail/publication-detail.page.scss @@ -0,0 +1,91 @@ + + ion-content{ + --background: transparent; + --border-radius: 30px; + } + ion-footer{ + background: #fff; + } + ion-toolbar{ + border-width: 0 !important; + } + .div-top-header{ + width: 400px; + margin: 0 auto; + background-color: #0782c9; + overflow: auto; + padding-top: 15px; + border: 0!important; + } + .div-search{ + font-size: 45px; + float: left; + margin: 0 0 0 10px + } + .div-logo{ + background: transparent; + width: 140px; + margin: 5px 0 0px 71px; + float: left; + } + .div-logo img{ + width: 100%; + } + .div-profile{ + font-size: 45px; + float: right; + margin-right: 10px; + } + .content-top{ + width: 344px; + background: #f3f2f2; + height: 20px; + margin: 0 auto; + border-top-left-radius: 25px; + border-top-right-radius: 25px; +} + .content-container{ + width: 100%; + margin:0 auto; + border-top-left-radius: 25px; + border-top-right-radius: 25px; + background: #ffffff; + height: 100%; + padding: 25px 0px 0 0px; + overflow: auto; + } + .title-content{ + overflow: auto; + } + .back-icon{ + width: auto; + float: left; + font-size: 35px; + overflow: auto; + } + .div-title{ + width: 270px; + /* padding: 0!important; */ + float: left; + margin: 2.5px 0 0 5px; + } + .title{ + font-size: 25px; + } + .post-img{ + width: 100%; + height: 400px; + margin: 0 auto; + border-radius: 0px!important; + overflow: hidden; +} +.post-img img{ + width: 100%; + height: 100%; + object-fit: cover; +} +.post-description{ + width: 360px; + margin: 0 auto; + margin-bottom: 35px; +} \ No newline at end of file diff --git a/src/app/shared/publication/publication-detail/publication-detail.page.spec.ts b/src/app/shared/publication/publication-detail/publication-detail.page.spec.ts new file mode 100644 index 000000000..8a3f20488 --- /dev/null +++ b/src/app/shared/publication/publication-detail/publication-detail.page.spec.ts @@ -0,0 +1,24 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { IonicModule } from '@ionic/angular'; + +import { PublicationDetailPage } from './publication-detail.page'; + +describe('PublicationDetailPage', () => { + let component: PublicationDetailPage; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ PublicationDetailPage ], + imports: [IonicModule.forRoot()] + }).compileComponents(); + + fixture = TestBed.createComponent(PublicationDetailPage); + component = fixture.componentInstance; + fixture.detectChanges(); + })); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/shared/publication/publication-detail/publication-detail.page.ts b/src/app/shared/publication/publication-detail/publication-detail.page.ts new file mode 100644 index 000000000..9a4fe58e5 --- /dev/null +++ b/src/app/shared/publication/publication-detail/publication-detail.page.ts @@ -0,0 +1,114 @@ +import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core'; +import { ModalController, NavParams } from '@ionic/angular'; +import { Publication } from 'src/app/models/publication'; +import { ImageModalPage } from 'src/app/pages/publications/gallery/image-modal/image-modal.page'; +import { NewPublicationPage } from 'src/app/pages/publications/new-publication/new-publication.page'; +import { PublicationsService } from 'src/app/services/publications.service'; + +@Component({ + selector: 'app-publication-detail-shared', + templateUrl: './publication-detail.page.html', + styleUrls: ['./publication-detail.page.scss'], +}) +export class PublicationDetailPage implements OnInit { + showLoader: boolean; + folderId: string; + publication: Publication; + + @Input() publicationId: string; + + constructor( + private modalController: ModalController, + private publications:PublicationsService, + ) { + + /* this.folderId = this.navParams.get('folderIdId'); */ + this.publication = { + DateIndex: null, + DocumentId: '', + ProcessId:'', + Title:'', + Message: '', + /* image: null, */ + DatePublication: null, + FileBase64: '', + OriginalFileName: '', + FileExtension: '', + }; + } + + ngOnInit() { + /* console.log(this.publication.FileBase64); */ + this.getPublicationDetail(); + } + doRefresh(event) { + this.getPublicationDetail(); + + setTimeout(() => { + event.target.complete(); + }, 2000); + } + + getPublicationDetail(){ + this.showLoader = true; + console.log(this.publicationId); + /* console.log(this.folderId); */ + this.publications.GetPublicationById(this.publicationId).subscribe(res=>{ + console.log(res); + /* this.publication = res; */ + this.publication = { + DateIndex: res.DateIndex, + DocumentId: res.DocumentId, + ProcessId:res.ProcessId, + Title:res.Title, + Message: res.Message, + DatePublication: res.DatePublication, + FileBase64: "data:image/jpg;base64," + res.FileBase64, + OriginalFileName: res.OriginalFileName, + FileExtension: 'jpeg', + } + this.showLoader = false; + }); + } + + close(){ + this.modalController.dismiss(); + } + + deletePost(){ + this.publications.DeletePublication(this.folderId, this.publicationId).then(res =>{ + console.log(res); + + }); + this.close(); + } + + async editPost(publicationType:any) { + console.log(this.publication); + const modal = await this.modalController.create({ + component: NewPublicationPage, + componentProps:{ + publicationType: publicationType, + publication: this.publication, + }, + cssClass: 'new-publication', + backdropDismiss: false + }); + await modal.present(); + modal.onDidDismiss().then(()=>{ + setTimeout(() => { + this.getPublicationDetail(); + }, 5000); + }); + } + + openPreview(imageUrl:string){ + this.modalController.create({ + component: ImageModalPage, + componentProps: { + imageUrl:imageUrl, + } + }).then(modal => modal.present()); + } + +} diff --git a/src/app/shared/publication/view-publications/view-publications.page.html b/src/app/shared/publication/view-publications/view-publications.page.html index 5935030a4..472bee2a4 100644 --- a/src/app/shared/publication/view-publications/view-publications.page.html +++ b/src/app/shared/publication/view-publications/view-publications.page.html @@ -28,16 +28,16 @@
-
-
+
image
image
-
+
{{publication.Title}} diff --git a/src/app/shared/publication/view-publications/view-publications.page.ts b/src/app/shared/publication/view-publications/view-publications.page.ts index 95f9dcdf7..07af58e30 100644 --- a/src/app/shared/publication/view-publications/view-publications.page.ts +++ b/src/app/shared/publication/view-publications/view-publications.page.ts @@ -21,7 +21,7 @@ export class ViewPublicationsPage implements OnInit { @Input() folderId: string; @Output() addNewPublication = new EventEmitter(); - + @Output() openPublicationDetails= new EventEmitter(); constructor( private loadingController: LoadingService, @@ -30,7 +30,7 @@ export class ViewPublicationsPage implements OnInit { ) { this.item = new PublicationFolder(); - } + } ngOnInit() { console.log(this.folderId); @@ -121,19 +121,29 @@ export class ViewPublicationsPage implements OnInit { } + async viewPublicationDetail(publicationId:string) { - const modal = await this.modalController.create({ - component: PublicationDetailPage, - componentProps:{ - publicationId: publicationId, - }, - cssClass: 'publication-detail', - backdropDismiss: false - }); - await modal.present(); - modal.onDidDismiss().then(()=>{ - this.doRefresh(event); - }); + + console.log(publicationId); + + if( window.innerWidth <= 1024) { + const modal = await this.modalController.create({ + component: PublicationDetailPage, + componentProps:{ + publicationId: publicationId, + }, + cssClass: 'publication-detail', + backdropDismiss: false + }); + await modal.present(); + modal.onDidDismiss().then(()=>{ + this.doRefresh(event); + }); + } else { + // open publication details + this.openPublicationDetails.emit(publicationId); + } + } } From 5e6dd3fea6e08ed037ffa6c5550a07bf8aff408c Mon Sep 17 00:00:00 2001 From: Peter Maquiran Date: Tue, 16 Mar 2021 12:14:46 +0100 Subject: [PATCH 4/5] Update publication page --- .../pages/publications/publications.module.ts | 4 +- .../pages/publications/publications.page.html | 6 + .../pages/publications/publications.page.ts | 35 +++-- .../new-action/new-action-routing.module.ts | 17 +++ .../new-action/new-action.module.ts | 20 +++ .../new-action/new-action.page.html | 95 +++++++++++++ .../new-action/new-action.page.scss | 128 ++++++++++++++++++ .../new-action/new-action.page.spec.ts | 24 ++++ .../publication/new-action/new-action.page.ts | 52 +++++++ .../publication-detail.page.html | 2 +- src/style/main.scss | 28 ++-- 11 files changed, 381 insertions(+), 30 deletions(-) create mode 100644 src/app/shared/publication/new-action/new-action-routing.module.ts create mode 100644 src/app/shared/publication/new-action/new-action.module.ts create mode 100644 src/app/shared/publication/new-action/new-action.page.html create mode 100644 src/app/shared/publication/new-action/new-action.page.scss create mode 100644 src/app/shared/publication/new-action/new-action.page.spec.ts create mode 100644 src/app/shared/publication/new-action/new-action.page.ts diff --git a/src/app/pages/publications/publications.module.ts b/src/app/pages/publications/publications.module.ts index 457aa4759..d484b04fa 100644 --- a/src/app/pages/publications/publications.module.ts +++ b/src/app/pages/publications/publications.module.ts @@ -11,6 +11,7 @@ import { SharedModule } from 'src/app/shared/shared.module'; import { ViewPublicationsPage } from 'src/app/shared/publication/view-publications/view-publications.page'; import { NewPublicationPage } from 'src/app/shared/publication/new-publication/new-publication.page'; import { PublicationDetailPage } from 'src/app/shared/publication/publication-detail/publication-detail.page'; +import { NewActionPage } from 'src/app/shared/publication/new-action/new-action.page'; @NgModule({ @@ -25,7 +26,8 @@ import { PublicationDetailPage } from 'src/app/shared/publication/publication-de PublicationsPage, ViewPublicationsPage, NewPublicationPage, - PublicationDetailPage + PublicationDetailPage, + NewActionPage ] }) export class PublicationsPageModule {} diff --git a/src/app/pages/publications/publications.page.html b/src/app/pages/publications/publications.page.html index 62e73ad84..4d5920280 100644 --- a/src/app/pages/publications/publications.page.html +++ b/src/app/pages/publications/publications.page.html @@ -88,6 +88,12 @@ [publicationId]="publicationId" > + +
diff --git a/src/app/pages/publications/publications.page.ts b/src/app/pages/publications/publications.page.ts index 131658f40..5d2d83a3f 100644 --- a/src/app/pages/publications/publications.page.ts +++ b/src/app/pages/publications/publications.page.ts @@ -35,7 +35,8 @@ export class PublicationsPage implements OnInit { desktopComponent: any = { showViewPublication: false, showAddNewPublication: false, - showPublicationDetail: false + showPublicationDetail: false, + showAddActions: false } folderId: string; @@ -102,19 +103,24 @@ export class PublicationsPage implements OnInit { async AddPublicationFolder(item:any) { this.closeDesktopComponent(); + if(window.innerHeight >= 1024){ + const modal = await this.modalController.create({ + component: NewActionPage, + componentProps:{ + item: item, + }, + cssClass: 'new-action', + backdropDismiss: false + }); + await modal.present(); + modal.onDidDismiss().then(()=>{ + this.doRefresh(); + }); + } else { + this.desktopComponent.showAddActions = true; + } - const modal = await this.modalController.create({ - component: NewActionPage, - componentProps:{ - item: item, - }, - cssClass: 'new-action', - backdropDismiss: false - }); - await modal.present(); - modal.onDidDismiss().then(()=>{ - this.doRefresh(); - }); + } async viewPublications(folderId: string) { @@ -197,7 +203,8 @@ export class PublicationsPage implements OnInit { this.desktopComponent = { showViewPublication: false, showAddNewPublication: false, - showPublicationDetail: false + showPublicationDetail: false, + showAddActions: false, } } diff --git a/src/app/shared/publication/new-action/new-action-routing.module.ts b/src/app/shared/publication/new-action/new-action-routing.module.ts new file mode 100644 index 000000000..1d4569653 --- /dev/null +++ b/src/app/shared/publication/new-action/new-action-routing.module.ts @@ -0,0 +1,17 @@ +import { NgModule } from '@angular/core'; +import { Routes, RouterModule } from '@angular/router'; + +import { NewActionPage } from './new-action.page'; + +const routes: Routes = [ + { + path: '', + component: NewActionPage + } +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], +}) +export class NewActionPageRoutingModule {} diff --git a/src/app/shared/publication/new-action/new-action.module.ts b/src/app/shared/publication/new-action/new-action.module.ts new file mode 100644 index 000000000..466fe5a3a --- /dev/null +++ b/src/app/shared/publication/new-action/new-action.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 { NewActionPageRoutingModule } from './new-action-routing.module'; + +import { NewActionPage } from './new-action.page'; + +@NgModule({ + imports: [ + CommonModule, + FormsModule, + IonicModule, + NewActionPageRoutingModule + ], + declarations: [NewActionPage] +}) +export class NewActionPageModule {} diff --git a/src/app/shared/publication/new-action/new-action.page.html b/src/app/shared/publication/new-action/new-action.page.html new file mode 100644 index 000000000..40e9946b8 --- /dev/null +++ b/src/app/shared/publication/new-action/new-action.page.html @@ -0,0 +1,95 @@ + +
+
+ Nova Acção +
+
+ + + Viagem + + + Evento + + +
+ +
+
+ + +
+ +
+ +
+ +
+
+
+ +
+
+ + +
+
+
+ +
+
+
+ +
+
+ + +
+
+
+ +
+
+
+ +
+
+ +
+
+
+
+ + + +
+ + + + + + Cancelar + + + + + Criar + + + + diff --git a/src/app/shared/publication/new-action/new-action.page.scss b/src/app/shared/publication/new-action/new-action.page.scss new file mode 100644 index 000000000..d2a0784bd --- /dev/null +++ b/src/app/shared/publication/new-action/new-action.page.scss @@ -0,0 +1,128 @@ +:host{ + background: #fff; +} +ion-content{ + --background: transparent; + transform: translate3d(0, 5px, 0); + --border-radius: 30px; +} +ion-footer{ + background: #fff; +} +ion-toolbar{ + /* --background:#0782c9; */ + border-width: 0 !important; +} +.div-top-header{ + margin: 0 auto; + background-color: #0782c9; + overflow: auto; + padding-top: 15px; + border: 0!important; +} +.div-search{ + font-size: 45px; + float: left; + margin: 0 0 0 10px +} +.div-logo{ + background: transparent; + width: 140px; + margin: 5px 0 0px 71px; + float: left; +} +.div-logo img{ + width: 100%; +} +.div-profile{ + font-size: 45px; + float: right; + margin-right: 10px; +} +.content-top{ + background: #f3f2f2; + height: 20px; + margin: 0 auto; + border-top-left-radius: 25px; + border-top-right-radius: 25px; +} +.content-container{ + width: 100%; + margin:0 auto; + border-top-left-radius: 25px; + border-top-right-radius: 25px; + background: #ffffff; + height: 100%; + padding: 25px 20px 0 20px; + overflow: auto; +} +.title-content{ + margin: 0px auto; + overflow: auto; + padding: 0 !important; +} +.div-title{ + width: 180px; +/* padding: 0!important; */ +float: left; +margin: 2.5px 0 0 5px; +} +.title{ +font-size: 25px; +} +.container-div{ + margin-bottom: 15px; + overflow: auto; + } + .ion-item-container{ + margin: 15px auto; + border: 1px solid #ebebeb; + border-radius: 5px; + padding-left: 10px; + } + .ion-item-container-no-border{ + width: 100%; + margin: 0px auto; + padding: 0 !important; + overflow: auto; + } + .ion-item-class-2{ + margin: 0px auto; + } + .ion-icon-class{ + width: 45px; + height: 45px; + float: left; + padding: 10px; + font-size: 25px; + } + .ion-input-class{ + height: auto; + border: 1px solid #ebebeb; + border-radius: 5px; + padding-left: 5px; + padding-right: 10px; + float: left; + } + .ion-textarea-class{ + width: 315px; + height: auto; + border: 1px solid #ebebeb; + border-radius: 5px; + padding-left: 5px; + padding-right: 10px; + float: left; + } + .ion-input-class-no-height{ + border: 1px solid #ebebeb; + border-radius: 5px; + overflow: auto; + } + .actionType{ + float: right; + overflow: auto; + border-radius: 30px; + } + .ion-segment{ + --background: #0782c9; + } \ No newline at end of file diff --git a/src/app/shared/publication/new-action/new-action.page.spec.ts b/src/app/shared/publication/new-action/new-action.page.spec.ts new file mode 100644 index 000000000..7407b0b41 --- /dev/null +++ b/src/app/shared/publication/new-action/new-action.page.spec.ts @@ -0,0 +1,24 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { IonicModule } from '@ionic/angular'; + +import { NewActionPage } from './new-action.page'; + +describe('NewActionPage', () => { + let component: NewActionPage; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ NewActionPage ], + imports: [IonicModule.forRoot()] + }).compileComponents(); + + fixture = TestBed.createComponent(NewActionPage); + component = fixture.componentInstance; + fixture.detectChanges(); + })); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/shared/publication/new-action/new-action.page.ts b/src/app/shared/publication/new-action/new-action.page.ts new file mode 100644 index 000000000..6b7ab30ee --- /dev/null +++ b/src/app/shared/publication/new-action/new-action.page.ts @@ -0,0 +1,52 @@ +import { Component, EventEmitter, OnInit, Output } from '@angular/core'; +import { ModalController } from '@ionic/angular'; +import { PublicationFolder } from 'src/app/models/publicationfolder'; +import { PublicationsService } from 'src/app/services/publications.service'; + +@Component({ + selector: 'app-new-action', + templateUrl: './new-action.page.html', + styleUrls: ['./new-action.page.scss'], +}) +export class NewActionPage implements OnInit { + + folder: PublicationFolder; + segment:string; + + @Output() closeDesktopComponent= new EventEmitter(); + + constructor( + private modalController: ModalController, + private publication: PublicationsService + ) { + this.folder = new PublicationFolder(); + } + + ngOnInit() { + this.segment = "Viagem"; + } + + segmentChanged(ev: any) { + console.log(ev.detail.value); + } + + save(){ + this.folder = { + ProcessId: null, + Description: this.folder.Description, + Detail: this.folder.Detail, + DateBegin: this.folder.DateBegin, + DateEnd: this.folder.DateEnd, + ActionType: this.segment, + } + console.log(this.folder); + + this.publication.CreatePublicationFolder(this.folder); + this.close(); + } + + close(){ + this.closeDesktopComponent.emit(); + } + +} diff --git a/src/app/shared/publication/publication-detail/publication-detail.page.html b/src/app/shared/publication/publication-detail/publication-detail.page.html index 4fceaf3a8..ddbede493 100644 --- a/src/app/shared/publication/publication-detail/publication-detail.page.html +++ b/src/app/shared/publication/publication-detail/publication-detail.page.html @@ -57,7 +57,7 @@
- + Eliminar diff --git a/src/style/main.scss b/src/style/main.scss index ccb5ab9e9..dceb24bd9 100644 --- a/src/style/main.scss +++ b/src/style/main.scss @@ -150,35 +150,35 @@ @each $property, $short in $properties { // all directions - .#{$short}-md-a-#{$size} { + .#{$short}a-md-#{$size} { #{$property}-left: #{$size}px !important; #{$property}-right: #{$size}px !important; #{$property}-top: #{$size}px !important; #{$property}-bottom: #{$size}px !important; } // top - .#{$short}-md-t-#{$size} { + .#{$short}t-md-#{$size} { #{$property}-top: #{$size}px !important } // bottom - .#{$short}-md-b-#{$size} { + .#{$short}b-md-#{$size} { #{$property}-bottom: #{$size}px !important } // left - .#{$short}-md-l-#{$size} { + .#{$short}l-md-#{$size} { #{$property}-left: #{$size}px!important } // right - .#{$short}-md-r-#{$size} { + .#{$short}r-md-#{$size} { #{$property}-right: #{$size}px!important } // left and right - .#{$short}-md-x-#{$size} { + .#{$short}x-md-#{$size} { #{$property}-left: #{$size}px!important; #{$property}-right: #{$size}px!important; } // top and bottom - .#{$short}-md-y-#{$size} { + .#{$short}y-md-#{$size} { #{$property}-top: #{$size}px !important; #{$property}-bottom: #{$size}px !important; } @@ -296,35 +296,35 @@ @each $property, $short in $properties { // all directions - .#{$short}-lg-a-#{$size} { + .#{$short}a-lg-#{$size} { #{$property}-left: #{$size}px !important; #{$property}-right: #{$size}px !important; #{$property}-top: #{$size}px !important; #{$property}-bottom: #{$size}px !important; } // top - .#{$short}-lg-t-#{$size} { + .#{$short}t-lg-#{$size} { #{$property}-top: #{$size}px !important } // bottom - .#{$short}-lg-b-#{$size} { + .#{$short}b-lg-#{$size} { #{$property}-bottom: #{$size}px !important } // left - .#{$short}-lg-l-#{$size} { + .#{$short}l-lg-#{$size} { #{$property}-left: #{$size}px!important } // right - .#{$short}-lg-r-#{$size} { + .#{$short}r-lg-#{$size} { #{$property}-right: #{$size}px!important } // left and right - .#{$short}-lg-x-#{$size} { + .#{$short}x-lg-#{$size} { #{$property}-left: #{$size}px!important; #{$property}-right: #{$size}px!important; } // top and bottom - .#{$short}-lg-y-#{$size} { + .#{$short}y-lg-#{$size} { #{$property}-top: #{$size}px !important; #{$property}-bottom: #{$size}px !important; } From 235177a29d03eadbc0391ddee2bd5c4f554c6aa5 Mon Sep 17 00:00:00 2001 From: Peter Maquiran Date: Tue, 16 Mar 2021 14:35:52 +0100 Subject: [PATCH 5/5] Update publication page --- .../new-publication/new-publication.page.ts | 3 +- .../pages/publications/publications.module.ts | 2 +- .../pages/publications/publications.page.html | 19 +++++++-- .../pages/publications/publications.page.ts | 7 +++- .../new-publication/new-publication.page.ts | 8 ++-- .../publication-detail-routing.module.ts | 0 .../publication-detail.module.ts | 0 .../publication-detail.page.html | 0 .../publication-detail.page.scss | 0 .../publication-detail.page.spec.ts | 0 .../publication-detail.page.ts | 39 ++++++++++++------- 11 files changed, 53 insertions(+), 25 deletions(-) rename src/app/shared/publication/{ => view-publications}/publication-detail/publication-detail-routing.module.ts (100%) rename src/app/shared/publication/{ => view-publications}/publication-detail/publication-detail.module.ts (100%) rename src/app/shared/publication/{ => view-publications}/publication-detail/publication-detail.page.html (100%) rename src/app/shared/publication/{ => view-publications}/publication-detail/publication-detail.page.scss (100%) rename src/app/shared/publication/{ => view-publications}/publication-detail/publication-detail.page.spec.ts (100%) rename src/app/shared/publication/{ => view-publications}/publication-detail/publication-detail.page.ts (81%) diff --git a/src/app/pages/publications/new-publication/new-publication.page.ts b/src/app/pages/publications/new-publication/new-publication.page.ts index 729e8206c..1e9d1ac94 100644 --- a/src/app/pages/publications/new-publication/new-publication.page.ts +++ b/src/app/pages/publications/new-publication/new-publication.page.ts @@ -53,7 +53,8 @@ export class NewPublicationPage implements OnInit { private publications: PublicationsService, private camera: Camera, ) { - + + alert('!!!!!') this.publicationType = this.navParams.get('publicationType'); this.folderId = this.navParams.get('folderId'); this.publicationTitle = 'Nova Publicação'; diff --git a/src/app/pages/publications/publications.module.ts b/src/app/pages/publications/publications.module.ts index d484b04fa..6c1a454e8 100644 --- a/src/app/pages/publications/publications.module.ts +++ b/src/app/pages/publications/publications.module.ts @@ -10,7 +10,7 @@ import { PublicationsPage } from './publications.page'; import { SharedModule } from 'src/app/shared/shared.module'; import { ViewPublicationsPage } from 'src/app/shared/publication/view-publications/view-publications.page'; import { NewPublicationPage } from 'src/app/shared/publication/new-publication/new-publication.page'; -import { PublicationDetailPage } from 'src/app/shared/publication/publication-detail/publication-detail.page'; +import { PublicationDetailPage } from 'src/app/shared/publication/view-publications/publication-detail/publication-detail.page'; import { NewActionPage } from 'src/app/shared/publication/new-action/new-action.page'; diff --git a/src/app/pages/publications/publications.page.html b/src/app/pages/publications/publications.page.html index 4d5920280..393148d7e 100644 --- a/src/app/pages/publications/publications.page.html +++ b/src/app/pages/publications/publications.page.html @@ -63,34 +63,45 @@
+ +
Nenhuma publicação delecionado
diff --git a/src/app/pages/publications/publications.page.ts b/src/app/pages/publications/publications.page.ts index 5d2d83a3f..d40727070 100644 --- a/src/app/pages/publications/publications.page.ts +++ b/src/app/pages/publications/publications.page.ts @@ -40,9 +40,13 @@ export class PublicationsPage implements OnInit { } folderId: string; + // data set from child component publicationType: any; publicationId: string; + // from publication details + publication: object; + constructor( private router: Router, private modalController: ModalController, @@ -178,13 +182,14 @@ export class PublicationsPage implements OnInit { } - async addNewPublication({publicationType, folderId}){ + async addNewPublication({publicationType, folderId, publication}){ this.closeDesktopComponent(); // propr to add new publication this.publicationType = publicationType; this.folderId = folderId; + this.publication = publication; this.desktopComponent.showAddNewPublication = true; } diff --git a/src/app/shared/publication/new-publication/new-publication.page.ts b/src/app/shared/publication/new-publication/new-publication.page.ts index 4a4a784a8..bf10a9720 100644 --- a/src/app/shared/publication/new-publication/new-publication.page.ts +++ b/src/app/shared/publication/new-publication/new-publication.page.ts @@ -24,7 +24,6 @@ import { LoadingService } from 'src/app/services/loading.service'; }) export class NewPublicationPage implements OnInit { showLoader: boolean; - publication: Publication; pub: Publication = new Publication(); image: Image = new Image(); @@ -36,6 +35,7 @@ export class NewPublicationPage implements OnInit { photo: SafeResourceUrl; + @Input() publication: Publication; @Input() publicationType: string; @Input() folderId: string; @Output() closeDesktopComponent = new EventEmitter(); @@ -46,7 +46,6 @@ export class NewPublicationPage implements OnInit { capturedImage:any; capturedImageTitle:any; - constructor( private modalController: ModalController, public photoService: PhotoService, @@ -121,7 +120,7 @@ export class NewPublicationPage implements OnInit { console.log('Edit change image'); console.log(this.publication); this.publications.UpdatePublication(this.publication.ProcessId, this.publication); - this.close(); + this.closeDesktopComponent.emit(); } else{ this.publication = { @@ -138,7 +137,7 @@ export class NewPublicationPage implements OnInit { console.log('Edit - keep image'); console.log(this.publication); this.publications.UpdatePublication(this.publication.ProcessId, this.publication); - this.close(); + this.closeDesktopComponent.emit(); } } else{ @@ -178,6 +177,7 @@ export class NewPublicationPage implements OnInit { } else if(this.publicationType == '3'){ this.publicationTitle = 'Editar Publicação'; + this.pub = this.publication; } } diff --git a/src/app/shared/publication/publication-detail/publication-detail-routing.module.ts b/src/app/shared/publication/view-publications/publication-detail/publication-detail-routing.module.ts similarity index 100% rename from src/app/shared/publication/publication-detail/publication-detail-routing.module.ts rename to src/app/shared/publication/view-publications/publication-detail/publication-detail-routing.module.ts diff --git a/src/app/shared/publication/publication-detail/publication-detail.module.ts b/src/app/shared/publication/view-publications/publication-detail/publication-detail.module.ts similarity index 100% rename from src/app/shared/publication/publication-detail/publication-detail.module.ts rename to src/app/shared/publication/view-publications/publication-detail/publication-detail.module.ts diff --git a/src/app/shared/publication/publication-detail/publication-detail.page.html b/src/app/shared/publication/view-publications/publication-detail/publication-detail.page.html similarity index 100% rename from src/app/shared/publication/publication-detail/publication-detail.page.html rename to src/app/shared/publication/view-publications/publication-detail/publication-detail.page.html diff --git a/src/app/shared/publication/publication-detail/publication-detail.page.scss b/src/app/shared/publication/view-publications/publication-detail/publication-detail.page.scss similarity index 100% rename from src/app/shared/publication/publication-detail/publication-detail.page.scss rename to src/app/shared/publication/view-publications/publication-detail/publication-detail.page.scss diff --git a/src/app/shared/publication/publication-detail/publication-detail.page.spec.ts b/src/app/shared/publication/view-publications/publication-detail/publication-detail.page.spec.ts similarity index 100% rename from src/app/shared/publication/publication-detail/publication-detail.page.spec.ts rename to src/app/shared/publication/view-publications/publication-detail/publication-detail.page.spec.ts diff --git a/src/app/shared/publication/publication-detail/publication-detail.page.ts b/src/app/shared/publication/view-publications/publication-detail/publication-detail.page.ts similarity index 81% rename from src/app/shared/publication/publication-detail/publication-detail.page.ts rename to src/app/shared/publication/view-publications/publication-detail/publication-detail.page.ts index 9a4fe58e5..b97595001 100644 --- a/src/app/shared/publication/publication-detail/publication-detail.page.ts +++ b/src/app/shared/publication/view-publications/publication-detail/publication-detail.page.ts @@ -16,7 +16,8 @@ export class PublicationDetailPage implements OnInit { publication: Publication; @Input() publicationId: string; - + @Output() addNewPublication = new EventEmitter(); + constructor( private modalController: ModalController, private publications:PublicationsService, @@ -85,21 +86,31 @@ export class PublicationDetailPage implements OnInit { async editPost(publicationType:any) { console.log(this.publication); - const modal = await this.modalController.create({ - component: NewPublicationPage, - componentProps:{ + + if(window.innerHeight >= 1024){ + const modal = await this.modalController.create({ + component: NewPublicationPage, + componentProps:{ + publicationType: publicationType, + publication: this.publication, + }, + cssClass: 'new-publication', + backdropDismiss: false + }); + await modal.present(); + modal.onDidDismiss().then(()=>{ + setTimeout(() => { + this.getPublicationDetail(); + }, 5000); + }); + } else { + this.addNewPublication.emit({ publicationType: publicationType, + folderId: this.folderId, publication: this.publication, - }, - cssClass: 'new-publication', - backdropDismiss: false - }); - await modal.present(); - modal.onDidDismiss().then(()=>{ - setTimeout(() => { - this.getPublicationDetail(); - }, 5000); - }); + }) + } + } openPreview(imageUrl:string){