add ocurrency inputs

This commit is contained in:
Peter Maquiran
2021-08-06 14:34:39 +01:00
parent 578165f258
commit d68a195ea4
7 changed files with 86 additions and 54 deletions
@@ -196,54 +196,68 @@
</div>
</div>
<div class="container-div">
<div class="ion-item-class-2">
<div class="container-div width-100">
<div class="ion-item-class-2 d-flex">
<div class="ion-icon-class">
<ion-icon slot="start" src="assets/images/icons-refresh.svg"></ion-icon>
</div>
<div class="ion-input-class">
<ion-select
class="d-block d-md-none"
[(ngModel)]="postData.IsRecurring"
placeholder="Selecione repetição*"
value="false"
interface="action-sheet"
Cancel-text="Cancelar"
required
>
<ion-select-option value="false">Não se repete</ion-select-option>
<ion-select-option value="true">Repete</ion-select-option>
<!-- <ion-select-option value="true">Semanal</ion-select-option>
<ion-select-option value="true">Diário</ion-select-option>
<ion-select-option value="true">Anual</ion-select-option> -->
</ion-select>
<mat-form-field
floatLabel="never"
class="width-100 d-none d-md-block"
value="false"
interface="action-sheet"
required
appearance="none"
>
<mat-select placeholder="Selecione repetição*" [(ngModel)]="postData.IsRecurring" >
<mat-option value="false">
Não se repete
</mat-option>
<mat-option value="true">
Repete
<div class="ion-input-class flex-grow-1" [class.input-error]="Form?.get('dateOccurrence')?.invalid && validateFrom ">
<mat-form-field appearance="none" floatLabel="never" class="width-100" value="false" interface="action-sheet" required>
<mat-select placeholder="Selecione repetição*"
[(ngModel)]="EventRecurrenceType"
(ngModelChange)="onSelectedRecurringChanged($event)">
<mat-option
*ngFor="let recurring of recurringTypes" value="{{recurring.Code}}"
>
{{recurring.Description}}
</mat-option>
</mat-select>
</mat-form-field>
</div>
</div>
</div>
<div *ngIf="EventRecurrenceType != '-1'" class="container-div width-100">
<div class="ion-item-class-2 d-flex">
<div class="ion-icon-class">
<ion-icon slot="start" src="assets/images/icons-calendar.svg"></ion-icon>
</div>
<div (click)="openLastOccurrence()" class="ion-input-class flex-grow-1">
<!-- <ion-datetime
placeholder="Última ocorrência"
[(ngModel)]="postEvent.EventRecurrence.LastOccurrence"
displayFormat="DD MMM YYYY"
monthShortNames="Jan, Fev, Mar, Abr, Mai, Jun, Jul, Aug, Sep, Out, Nov, Dez"
min="2021"
max="2045"
>
</ion-datetime> -->
<!-- <ion-input placeholder="Data fim" [(ngModel)]="postData.EndDate"></ion-input> -->
<!-- [formControl]="dateControlOccurrence" -->
<mat-form-field class="date-hour-picker">
<input matInput [ngxMatDatetimePicker]="occurrrence"
placeholder="Choose a date"
[(ngModel)]="Occurrence"
[disabled]="disabled"
>
<mat-datepicker-toggle id="last-occurrence" matSuffix [for]="occurrrence"></mat-datepicker-toggle>
<ngx-mat-datetime-picker #occurrrence
[showSpinners]="showSpinners"
[showSeconds]="showSeconds"
[stepHour]="stepHour" [stepMinute]="stepMinute"
[stepSecond]="stepSecond"
[touchUi]="touchUi"
>
</ngx-mat-datetime-picker>
</mat-form-field>
</div>
</div>
</div>
<div class="container-div">
<div class="ion-item-class-2">
@@ -19,6 +19,7 @@ import { MAT_DATE_LOCALE } from '@angular/material/core';
import { DiscartExpedientModalPage } from 'src/app/pages/gabinete-digital/discart-expedient-modal/discart-expedient-modal.page';
import { DocumentService } from 'src/app/Rules/document.service';
import { DocumentSetUpMeeting, Attachments } from 'src/app/models/CallMeeting';
import { EventsService } from 'src/app/services/events.service';
const moment = _rollupMoment || _moment;
@@ -38,6 +39,9 @@ const CUSTOM_DATE_FORMATS: NgxMatDateFormats = {
selector: 'app-document-set-up-meeting',
templateUrl: './document-set-up-meeting.page.html',
styleUrls: ['./document-set-up-meeting.page.scss'],
providers: [
{ provide: NGX_MAT_DATE_FORMATS, useValue: CUSTOM_DATE_FORMATS },
]
})
export class DocumentSetUpMeetingPage implements OnInit {
@@ -60,6 +64,9 @@ export class DocumentSetUpMeetingPage implements OnInit {
Form: FormGroup;
validateFrom = false
recurringTypes = [];
Occurrence: Date = new Date()
EventRecurrenceType = '-1'
showLoader = false
@@ -115,7 +122,8 @@ export class DocumentSetUpMeetingPage implements OnInit {
private processes:ProcessesService,
authService: AuthService,
private toastService: ToastService,
private documentService: DocumentService
private documentService: DocumentService,
private calendarService: EventsService
) {
this.loggeduser = authService.ValidatedUser;
@@ -135,6 +143,13 @@ export class DocumentSetUpMeetingPage implements OnInit {
this.adding = "intervenient";
console.log(this.task);
this.setDefaultTime()
this.getRecurrenceTypes();
}
getRecurrenceTypes() {
this.calendarService.getRecurrenceTypes().subscribe(res=>{
this.recurringTypes = res;
});
}
setDefaultTime() {
@@ -193,6 +208,7 @@ export class DocumentSetUpMeetingPage implements OnInit {
if(this.loggeduser.Profile == 'MDGPR') {
this.injectValidation()
this.runValidation()
if(this.Form.invalid) return false
}
let Attendees = this.taskParticipants.concat(this.taskParticipantsCc);
@@ -205,11 +221,14 @@ export class DocumentSetUpMeetingPage implements OnInit {
EndDate: this.dateEnd,
EventType: 'Reunião',
ParticipantsList: Attendees,
EventRecurrence: null,
Subject: this.postData.Subject,
IsRecurring: this.postData.IsRecurring,
Message: this.postData.Subject,
IsAllDayEvent: this.postData.IsRecurring,
EventRecurrence: {
Type: this.EventRecurrenceType,
LastOccurrence: this.Occurrence
},
},
Attachments: []