diff --git a/src/app/pages/publications/edit-action/edit-action.module.ts b/src/app/pages/publications/edit-action/edit-action.module.ts index 99e36907b..350242d99 100644 --- a/src/app/pages/publications/edit-action/edit-action.module.ts +++ b/src/app/pages/publications/edit-action/edit-action.module.ts @@ -4,6 +4,22 @@ import { FormsModule } from '@angular/forms'; import { IonicModule } from '@ionic/angular'; +import { MatNativeDateModule } from '@angular/material/core'; +import { + NgxMatDatetimePickerModule, + NgxMatNativeDateModule, + NgxMatTimepickerModule +} from '@angular-material-components/datetime-picker'; +import { ReactiveFormsModule } from '@angular/forms'; +import { MatButtonModule } from '@angular/material/button'; +import { MatSelectModule } from '@angular/material/select'; +import { NgxMatMomentModule } from '@angular-material-components/moment-adapter'; +import { MAT_DATE_LOCALE } from '@angular/material/core'; +import { MatDatepickerModule } from '@angular/material/datepicker'; +import { MatInputModule } from '@angular/material/input'; +import { MatDialogModule } from '@angular/material/dialog'; +import { MatMenuModule } from '@angular/material/menu'; + import { EditActionPageRoutingModule } from './edit-action-routing.module'; import { EditActionPage } from './edit-action.page'; @@ -13,7 +29,19 @@ import { EditActionPage } from './edit-action.page'; CommonModule, FormsModule, IonicModule, - EditActionPageRoutingModule + EditActionPageRoutingModule, + // Angular material + MatDatepickerModule, + MatInputModule, + MatNativeDateModule, + NgxMatDatetimePickerModule, + NgxMatTimepickerModule, + NgxMatNativeDateModule, + NgxMatMomentModule, + MatSelectModule, + MatButtonModule, + ReactiveFormsModule, + MatDialogModule, ], declarations: [EditActionPage] }) diff --git a/src/app/pages/publications/edit-action/edit-action.page.html b/src/app/pages/publications/edit-action/edit-action.page.html index 3abd6d729..049ddd4b2 100644 --- a/src/app/pages/publications/edit-action/edit-action.page.html +++ b/src/app/pages/publications/edit-action/edit-action.page.html @@ -1,9 +1,134 @@ - - - edit-action - + +
+
+ Editar acção presidencial +
+ + +
+
+ +
+ +
+ +
+
+
+ +
+
+ + + + + + + + + + + +
+
+
+ +
+
+
+ +
+
+ + + + + + + + + +
+
+
+ +
+
+
+ +
+
+ +
+
+
+
+ +
+ + + + + + + + + + + + diff --git a/src/app/pages/publications/edit-action/edit-action.page.scss b/src/app/pages/publications/edit-action/edit-action.page.scss index e69de29bb..260338602 100644 --- a/src/app/pages/publications/edit-action/edit-action.page.scss +++ b/src/app/pages/publications/edit-action/edit-action.page.scss @@ -0,0 +1,127 @@ +: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: fit-content; + 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/pages/publications/edit-action/edit-action.page.ts b/src/app/pages/publications/edit-action/edit-action.page.ts index c1b0fe866..ec7440581 100644 --- a/src/app/pages/publications/edit-action/edit-action.page.ts +++ b/src/app/pages/publications/edit-action/edit-action.page.ts @@ -1,4 +1,10 @@ -import { Component, OnInit } from '@angular/core'; +import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; +import { FormControl, FormGroup, Validators } from '@angular/forms'; +import { ModalController, NavParams } from '@ionic/angular'; +import * as moment from 'moment'; +import { PublicationFolder } from 'src/app/models/publicationfolder'; +import { PublicationsService } from 'src/app/services/publications.service'; +import { ToastService } from 'src/app/services/toast.service'; @Component({ selector: 'app-edit-action', @@ -7,9 +13,99 @@ import { Component, OnInit } from '@angular/core'; }) export class EditActionPage implements OnInit { - constructor() { } + Form: FormGroup; + validateFrom = false - ngOnInit() { + public date: any; + public disabled = false; + public showSpinners = true; + public showSeconds = false; + public touchUi = false; + public enableMeridian = false; + public minDate: any; + public maxDate: any; + public stepHour = 1; + public stepMinute = 5; + public stepSecond = 5; + public dateControlStart = new FormControl(moment("DD MM YYYY hh")); + public dateControlEnd = new FormControl(moment("DD MM YYYY hh")); + + folder: PublicationFolder; + folderId: string; + @Output() closeDesktopComponent= new EventEmitter(); + @Output() updateDesktopComponent= new EventEmitter(); + + constructor( + private publicationsService: PublicationsService, + private toastService: ToastService, + private navParams: NavParams, + private modalController: ModalController, + ) { + this.folder = new PublicationFolder(); + this.folderId = this.navParams.get('folderId'); } + ngOnInit() { + this.getPublicationDetail(); + } + + close() { + this.modalController.dismiss(); + } + + getPublicationDetail() { + this.publicationsService.GetPresidentialAction(this.folderId).subscribe( res => { + this.folder = res; + + this.dateControlStart = new FormControl(moment(new Date(this.folder.DateBegin))); + this.dateControlEnd = new FormControl(moment(new Date(this.folder.DateEnd))); + + }); + } + + get dateValid() { + if (window.innerWidth <= 800) { + return this.folder.DateBegin < this.folder.DateEnd? ['ok']: [] + } else { + return ['ok'] + } + } + + runValidation() { + this.validateFrom = true + } + + injectValidation() { + + this.Form = new FormGroup({ + Subject: new FormControl(this.folder.Description, [ + Validators.required, + // Validators.minLength(4) + ]), + Date: new FormControl(this.dateValid, [ + Validators.required + ]), + }) + } + + async save() { + let body = { + ProcessId: this.folderId, + Description: this.folder.Description, + Detail: this.folder.Detail, + DateBegin: this.folder.DateBegin, + DateEnd: this.folder.DateEnd, + ActionType: this.folder.ActionType, + } + console.log(body); + + try { + await this.publicationsService.UpdatePresidentialAction(body).toPromise() + this.close(); + this.updateDesktopComponent.emit(); + this.toastService.successMessage('Acção presidencial atualizada') + } catch (error) { + this.toastService.badRequest('Não foi possivel atualizar a acção presidencial') + } + } } diff --git a/src/app/pages/publications/publications.page.html b/src/app/pages/publications/publications.page.html index dafecd572..ca4b486b6 100644 --- a/src/app/pages/publications/publications.page.html +++ b/src/app/pages/publications/publications.page.html @@ -51,11 +51,11 @@ - + + + + +