mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-18 20:47:54 +00:00
changed agenda timepicker interval by 15 minutes
This commit is contained in:
Generated
+697
-32284
File diff suppressed because it is too large
Load Diff
@@ -124,7 +124,7 @@
|
|||||||
[disabled]="disabled"
|
[disabled]="disabled"
|
||||||
[min]="currentDate"
|
[min]="currentDate"
|
||||||
>
|
>
|
||||||
<mat-datepicker-toggle id="new-inicio" matSuffix [for]="picker1"></mat-datepicker-toggle>
|
<mat-datepicker-toggle id="new-inicio" matSuffix [for]="picker1" (click)="setStartDate()"></mat-datepicker-toggle>
|
||||||
<ngx-mat-datetime-picker #picker1
|
<ngx-mat-datetime-picker #picker1
|
||||||
[showSpinners]="showSpinners"
|
[showSpinners]="showSpinners"
|
||||||
[showSeconds]="showSeconds"
|
[showSeconds]="showSeconds"
|
||||||
@@ -147,16 +147,17 @@
|
|||||||
<!--
|
<!--
|
||||||
[className]="Form?.get('Subject')?.invalid ? 'input-error ion-input-class flex-grow-1' : 'ion-input-class ion-input-class flex-grow-1' "
|
[className]="Form?.get('Subject')?.invalid ? 'input-error ion-input-class flex-grow-1' : 'ion-input-class ion-input-class flex-grow-1' "
|
||||||
-->
|
-->
|
||||||
<div (click)="openFim()" class="ion-input-class flex-grow-1 justify-center align-center materia-top" [class.input-error]="Form?.get('Date')?.invalid && validateFrom ">
|
<div class="ion-input-class flex-grow-1 justify-center align-center materia-top" [class.input-error]="Form?.get('Date')?.invalid && validateFrom ">
|
||||||
|
|
||||||
<mat-form-field appearance="none" class="date-hour-picker">
|
<mat-form-field appearance="none" class="date-hour-picker">
|
||||||
<input matInput [ngxMatDatetimePicker]="fim"
|
<input matInput [ngxMatDatetimePicker]="fim"
|
||||||
placeholder="Data de fim*"
|
placeholder="Data de fim*"
|
||||||
[(ngModel)]="postEvent.EndDate"
|
[(ngModel)]="postEvent.EndDate"
|
||||||
[disabled]="disabled"
|
[disabled]="disabled"
|
||||||
[min]="currentDate"
|
[min]="postEvent.StartDate"
|
||||||
|
|
||||||
>
|
>
|
||||||
<mat-datepicker-toggle id="new-fim" matSuffix [for]="fim"></mat-datepicker-toggle>
|
<mat-datepicker-toggle id="new-fim" matSuffix [for]="fim" (click)="setEndDate()"></mat-datepicker-toggle>
|
||||||
<ngx-mat-datetime-picker #fim
|
<ngx-mat-datetime-picker #fim
|
||||||
[showSpinners]="showSpinners"
|
[showSpinners]="showSpinners"
|
||||||
[showSeconds]="showSeconds"
|
[showSeconds]="showSeconds"
|
||||||
|
|||||||
@@ -47,10 +47,10 @@ export class NewEventPage implements OnInit {
|
|||||||
public touchUi = false;
|
public touchUi = false;
|
||||||
public enableMeridian = false;
|
public enableMeridian = false;
|
||||||
public stepHour = 1;
|
public stepHour = 1;
|
||||||
public stepMinute = 5;
|
public stepMinute = 15;
|
||||||
public stepSecond = 5;
|
public stepSecond = 15;
|
||||||
public color: ThemePalette = 'primary';
|
public color: ThemePalette = 'primary';
|
||||||
currentDate = new Date();
|
currentDate = this.roundTimeQuarterHour();
|
||||||
|
|
||||||
Form: FormGroup;
|
Form: FormGroup;
|
||||||
validateFrom = false
|
validateFrom = false
|
||||||
@@ -166,15 +166,49 @@ export class NewEventPage implements OnInit {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
close() {
|
close() {
|
||||||
this.modalController.dismiss();
|
this.modalController.dismiss();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
roundTimeQuarterHour() {
|
||||||
|
var timeToReturn = new Date();
|
||||||
|
var minutes = timeToReturn.getMinutes();
|
||||||
|
var hours = timeToReturn.getHours();
|
||||||
|
|
||||||
|
// console.log("MINUTOS: " +minutes);
|
||||||
|
// console.log("BEFORE MINUTES: " +(Math.round(minutes/15) * 15));
|
||||||
|
|
||||||
|
var m = (Math.round(minutes/15) * 15) % 60;
|
||||||
|
var h = minutes > 52 ? (hours === 23 ? 0 : ++hours) : hours;
|
||||||
|
|
||||||
|
if (m == 0) {
|
||||||
|
timeToReturn.setHours(h);
|
||||||
|
timeToReturn.setMinutes(m);
|
||||||
|
}else{
|
||||||
|
if(minutes > m){
|
||||||
|
m = m + 15;
|
||||||
|
|
||||||
|
timeToReturn.setHours(h);
|
||||||
|
timeToReturn.setMinutes(m);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log("AFTER MINUTES: " +m);
|
||||||
|
console.log("AFTER HOURS: " +h);
|
||||||
|
|
||||||
|
return timeToReturn;
|
||||||
|
}
|
||||||
|
|
||||||
|
setStartDate(){
|
||||||
|
this.postEvent.StartDate = this.roundTimeQuarterHour();
|
||||||
|
}
|
||||||
|
|
||||||
|
setEndDate(){
|
||||||
|
this.postEvent.EndDate = this.postEvent.StartDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
getRecurrenceTypes() {
|
getRecurrenceTypes() {
|
||||||
this.eventService.getRecurrenceTypes().subscribe( res => {
|
this.eventService.getRecurrenceTypes().subscribe( res => {
|
||||||
|
|||||||
@@ -121,7 +121,7 @@
|
|||||||
<ion-icon slot="start" src="assets/images/icons-calendar.svg"></ion-icon>
|
<ion-icon slot="start" src="assets/images/icons-calendar.svg"></ion-icon>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="ion-input-class flex-grow-1 justify-center align-center material-inputs materia-top" [class.input-error]="Form?.get('Date')?.invalid && validateFrom ">
|
<div class="ion-input-class flex-grow-1 justify-center align-center material-inputs materia-top" >
|
||||||
|
|
||||||
<mat-form-field appearance="none" class="date-hour-picker">
|
<mat-form-field appearance="none" class="date-hour-picker">
|
||||||
<input matInput [ngxMatDatetimePicker]="picker1"
|
<input matInput [ngxMatDatetimePicker]="picker1"
|
||||||
@@ -130,7 +130,7 @@
|
|||||||
[disabled]="disabled"
|
[disabled]="disabled"
|
||||||
[min]="currentDate"
|
[min]="currentDate"
|
||||||
>
|
>
|
||||||
<mat-datepicker-toggle id="new-inicio" matSuffix [for]="picker1"></mat-datepicker-toggle>
|
<mat-datepicker-toggle id="new-inicio" matSuffix [for]="picker1" (click)="setStartDate()"></mat-datepicker-toggle>
|
||||||
<ngx-mat-datetime-picker #picker1
|
<ngx-mat-datetime-picker #picker1
|
||||||
[showSpinners]="showSpinners"
|
[showSpinners]="showSpinners"
|
||||||
[showSeconds]="showSeconds"
|
[showSeconds]="showSeconds"
|
||||||
@@ -160,9 +160,9 @@
|
|||||||
placeholder="Data de fim*"
|
placeholder="Data de fim*"
|
||||||
[(ngModel)]="postEvent.EndDate"
|
[(ngModel)]="postEvent.EndDate"
|
||||||
[disabled]="disabled"
|
[disabled]="disabled"
|
||||||
[min]="currentDate"
|
[min]="postEvent.StartDate"
|
||||||
>
|
>
|
||||||
<mat-datepicker-toggle id="new-fim" matSuffix [for]="fim"></mat-datepicker-toggle>
|
<mat-datepicker-toggle id="new-fim" matSuffix [for]="fim" (click)="setEndDate()"></mat-datepicker-toggle>
|
||||||
<ngx-mat-datetime-picker #fim
|
<ngx-mat-datetime-picker #fim
|
||||||
[showSpinners]="showSpinners"
|
[showSpinners]="showSpinners"
|
||||||
[showSeconds]="showSeconds"
|
[showSeconds]="showSeconds"
|
||||||
|
|||||||
@@ -61,9 +61,9 @@ export class NewEventPage implements OnInit {
|
|||||||
public touchUi = false;
|
public touchUi = false;
|
||||||
public enableMeridian = false;
|
public enableMeridian = false;
|
||||||
public stepHour = 1;
|
public stepHour = 1;
|
||||||
public stepMinute = 5;
|
public stepMinute = 15;
|
||||||
public stepSecond = 5;
|
public stepSecond = 15;
|
||||||
currentDate = new Date();
|
currentDate = this.roundTimeQuarterHour();
|
||||||
public color: ThemePalette = 'primary';
|
public color: ThemePalette = 'primary';
|
||||||
recurringTypes = []
|
recurringTypes = []
|
||||||
selectedRecurringType: any;
|
selectedRecurringType: any;
|
||||||
@@ -137,7 +137,7 @@ export class NewEventPage implements OnInit {
|
|||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
|
|
||||||
|
// this.roundTimeQuarterHour();
|
||||||
|
|
||||||
if(!this.CalendarName) {
|
if(!this.CalendarName) {
|
||||||
this.CalendarName = this.loggeduser.Profile;
|
this.CalendarName = this.loggeduser.Profile;
|
||||||
@@ -211,12 +211,51 @@ export class NewEventPage implements OnInit {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
this.date = new Date(2021,9,4,5,6,7);
|
this.date = new Date(2021,9,4,5,6,7);
|
||||||
|
|
||||||
this.injectValidation();
|
this.injectValidation();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
roundTimeQuarterHour() {
|
||||||
|
var timeToReturn = new Date();
|
||||||
|
var minutes = timeToReturn.getMinutes();
|
||||||
|
var hours = timeToReturn.getHours();
|
||||||
|
|
||||||
|
// console.log("MINUTOS: " +minutes);
|
||||||
|
// console.log("BEFORE MINUTES: " +(Math.round(minutes/15) * 15));
|
||||||
|
|
||||||
|
var m = (Math.round(minutes/15) * 15) % 60;
|
||||||
|
// console.log("AFTER MINUTES: " +m);
|
||||||
|
var h = minutes > 52 ? (hours === 23 ? 0 : ++hours) : hours;
|
||||||
|
|
||||||
|
if (m == 0) {
|
||||||
|
timeToReturn.setHours(h);
|
||||||
|
timeToReturn.setMinutes(m);
|
||||||
|
}else{
|
||||||
|
if(minutes > m){
|
||||||
|
m = m + 15;
|
||||||
|
|
||||||
|
timeToReturn.setHours(h);
|
||||||
|
timeToReturn.setMinutes(m);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// console.log("AFTER IF MINUTES: " +m);
|
||||||
|
// console.log("AFTER HOURS: " +h);
|
||||||
|
|
||||||
|
return timeToReturn;
|
||||||
|
}
|
||||||
|
|
||||||
|
setStartDate(){
|
||||||
|
this.postEvent.StartDate = this.roundTimeQuarterHour();
|
||||||
|
}
|
||||||
|
|
||||||
|
setEndDate(){
|
||||||
|
this.postEvent.EndDate = this.postEvent.StartDate;
|
||||||
|
}
|
||||||
|
|
||||||
runValidation() {
|
runValidation() {
|
||||||
this.validateFrom = true;
|
this.validateFrom = true;
|
||||||
if(new Date(this.postEvent.StartDate).getTime() > new Date(this.postEvent.EndDate).getTime()){
|
if(new Date(this.postEvent.StartDate).getTime() > new Date(this.postEvent.EndDate).getTime()){
|
||||||
|
|||||||
@@ -1,46 +1,92 @@
|
|||||||
// This file can be replaced during build by using the `fileReplacements` array.
|
// This file can be replaced during build by using the `fileReplacements` array.
|
||||||
|
|
||||||
// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.
|
// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.
|
||||||
|
|
||||||
// The list of file replacements can be found in `angular.json`.
|
// The list of file replacements can be found in `angular.json`.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// const DEV = {
|
// const DEV = {
|
||||||
|
|
||||||
// apiURL: 'http://gpr-dev-01.gabinetedigital.local/GabineteDigital.Services/V5/api/',
|
// apiURL: 'http://gpr-dev-01.gabinetedigital.local/GabineteDigital.Services/V5/api/',
|
||||||
|
|
||||||
// apiChatUrl: 'https://www.tabularium.pt/api/v1/',
|
// apiChatUrl: 'https://www.tabularium.pt/api/v1/',
|
||||||
|
|
||||||
// apiWsChatUrl: 'wss://www.tabularium.pt/websocket',
|
// apiWsChatUrl: 'wss://www.tabularium.pt/websocket',
|
||||||
|
|
||||||
// defaultuser: 'paulo.pinto@gabinetedigital.local',//paulo.pinto paulo.pinto@gabinetedigital.local
|
// defaultuser: 'paulo.pinto@gabinetedigital.local',//paulo.pinto paulo.pinto@gabinetedigital.local
|
||||||
|
|
||||||
// defaultuserpwd: 'tabteste@006', //tabteste@006,
|
// defaultuserpwd: 'tabteste@006', //tabteste@006,
|
||||||
|
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// const QEI = {
|
// const QEI = {
|
||||||
|
|
||||||
// apiChatUrl: 'https://gabinetedigitalchat.dyndns.info/api/v1/',
|
// apiChatUrl: 'https://gabinetedigitalchat.dyndns.info/api/v1/',
|
||||||
|
|
||||||
// apiWsChatUrl: 'wss://gabinetedigitalchat.dyndns.info/websocket',
|
// apiWsChatUrl: 'wss://gabinetedigitalchat.dyndns.info/websocket',
|
||||||
|
|
||||||
// apiURL: 'https://gabinetedigital.dyndns.info/GabineteDigital.Services/V5/api/',
|
// apiURL: 'https://gabinetedigital.dyndns.info/GabineteDigital.Services/V5/api/',
|
||||||
|
|
||||||
// defaultuser: 'paulo.pinto@gabinetedigital.local',//paulo.pinto paulo.pinto@gabinetedigital.local
|
// defaultuser: 'paulo.pinto@gabinetedigital.local',//paulo.pinto paulo.pinto@gabinetedigital.local
|
||||||
|
|
||||||
// defaultuserpwd: 'tabteste@006', //tabteste@006,
|
// defaultuserpwd: 'tabteste@006', //tabteste@006,
|
||||||
|
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
export const environment = {
|
export const environment = {
|
||||||
|
|
||||||
production: false,
|
production: false,
|
||||||
|
|
||||||
//apiURL: 'https://gabinetedigital.dyndns.info/GabineteDigital.Services/V5/api/',
|
//apiURL: 'https://gabinetedigital.dyndns.info/GabineteDigital.Services/V5/api/',
|
||||||
//apiURL: 'http://gpr-dev-01.gabinetedigital.local/GabineteDigital.Services/V5/api/',
|
|
||||||
apiURL: 'https://gdapi-dev.dyndns.info/GabineteDigital.Services/V5/api/',
|
apiURL: 'https://gd-api.oapr.gov.ao/api/',
|
||||||
// apiChatUrl: 'http://192.168.0.29:3000/api/v1/',
|
|
||||||
// apiWsChatUrl: 'wss://192.168.0.29:3000/websocket',
|
//apiURL: 'https://gdapi-dev.dyndns.info/GabineteDigital.Services/V5/api/',
|
||||||
apiChatUrl: 'https://gdchat-dev.dyndns.info/api/v1/',
|
|
||||||
apiWsChatUrl: 'wss://gdchat-dev.dyndns.info/websocket',
|
apiChatUrl: 'https://gd-chat.oapr.gov.ao/api/v1/',
|
||||||
|
|
||||||
|
apiWsChatUrl: 'ws://gd-chat.oapr.gov.ao/websocket',
|
||||||
|
|
||||||
|
// apiChatUrl: 'https://gdchat-dev.dyndns.info/api/v1/',
|
||||||
|
|
||||||
|
// apiWsChatUrl: 'wss://gdchat-dev.dyndns.info/websocket',
|
||||||
|
|
||||||
/* apiChatUrl: 'https://www.tabularium.pt/api/v1/',
|
/* apiChatUrl: 'https://www.tabularium.pt/api/v1/',
|
||||||
|
|
||||||
apiWsChatUrl: 'wss://www.tabularium.pt/websocket', */
|
apiWsChatUrl: 'wss://www.tabularium.pt/websocket', */
|
||||||
|
|
||||||
domain: 'gabinetedigital.local', //gabinetedigital.local
|
domain: 'gabinetedigital.local', //gabinetedigital.local
|
||||||
|
|
||||||
defaultuser: 'paulo.pinto@gabinetedigital.local',//paulo.pinto paulo.pinto@gabinetedigital.local
|
defaultuser: 'paulo.pinto@gabinetedigital.local',//paulo.pinto paulo.pinto@gabinetedigital.local
|
||||||
|
|
||||||
defaultuserpwd: 'tabteste@006', //tabteste@006,
|
defaultuserpwd: 'tabteste@006', //tabteste@006,
|
||||||
chatOffline: true
|
|
||||||
|
chatOffline: true,
|
||||||
|
|
||||||
|
presidencia: false,
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
||||||
* For easier debugging in dev elopment mode, you can import the following file
|
* For easier debugging in dev elopment mode, you can import the following file
|
||||||
|
|
||||||
* to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.
|
* to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.
|
||||||
|
|
||||||
*
|
*
|
||||||
|
|
||||||
* This import should be commented out in production mode because it will have a negative impact
|
* This import should be commented out in production mode because it will have a negative impact
|
||||||
|
|
||||||
* on performance if an error is thrown.
|
* on performance if an error is thrown.
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.
|
// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.
|
||||||
Reference in New Issue
Block a user