This commit is contained in:
Peter Maquiran
2021-06-16 15:58:44 +01:00
parent 629db09c62
commit e2b38761c2
17 changed files with 131 additions and 41 deletions
+32 -1
View File
@@ -387,6 +387,23 @@
} }
} }
}, },
"@angular/cdk": {
"version": "11.2.13",
"resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-11.2.13.tgz",
"integrity": "sha512-FkE4iCwoLbQxLDUOjV1I7M/6hmpyb7erAjEdWgch7nGRNxF1hqX5Bqf1lvLFKPNCbx5NRI5K7YVAdIUQUR8vug==",
"requires": {
"parse5": "^5.0.0",
"tslib": "^2.0.0"
},
"dependencies": {
"parse5": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz",
"integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==",
"optional": true
}
}
},
"@angular/cli": { "@angular/cli": {
"version": "11.2.1", "version": "11.2.1",
"resolved": "https://registry.npmjs.org/@angular/cli/-/cli-11.2.1.tgz", "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-11.2.1.tgz",
@@ -748,6 +765,14 @@
} }
} }
}, },
"@angular/material": {
"version": "11.2.13",
"resolved": "https://registry.npmjs.org/@angular/material/-/material-11.2.13.tgz",
"integrity": "sha512-FqFdGSkOtqsmeLyTSousodDGUy2NqbtxCIKv2rwbsIRwHNKB0KpR/UQhA2gMRuGa5hxhMJ0DW0Tf9neMRuLCTg==",
"requires": {
"tslib": "^2.0.0"
}
},
"@angular/platform-browser": { "@angular/platform-browser": {
"version": "11.2.2", "version": "11.2.2",
"resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-11.2.2.tgz", "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-11.2.2.tgz",
@@ -4631,6 +4656,11 @@
"integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=",
"dev": true "dev": true
}, },
"bootstrap": {
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.6.0.tgz",
"integrity": "sha512-Io55IuQY3kydzHtbGvQya3H+KorS/M9rSNyfCGCg9WZ4pyT/lCxIlpJgG1GXW/PswzC84Tr2fBYi+7+jFVQQBw=="
},
"bplist-creator": { "bplist-creator": {
"version": "0.0.8", "version": "0.0.8",
"resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.0.8.tgz", "resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.0.8.tgz",
@@ -19060,7 +19090,8 @@
}, },
"ssri": { "ssri": {
"version": "6.0.1", "version": "6.0.1",
"resolved": "", "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz",
"integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==",
"dev": true, "dev": true,
"requires": { "requires": {
"figgy-pudding": "^3.5.1" "figgy-pudding": "^3.5.1"
+3
View File
@@ -17,10 +17,12 @@
"@angular-devkit/core": "^11.2.1", "@angular-devkit/core": "^11.2.1",
"@angular-devkit/schematics": "^11.2.1", "@angular-devkit/schematics": "^11.2.1",
"@angular/animations": "^11.1.0", "@angular/animations": "^11.1.0",
"@angular/cdk": "^11.2.13",
"@angular/common": "^11.2.2", "@angular/common": "^11.2.2",
"@angular/core": "^11.2.2", "@angular/core": "^11.2.2",
"@angular/forms": "~11.2.2", "@angular/forms": "~11.2.2",
"@angular/localize": "^11.2.2", "@angular/localize": "^11.2.2",
"@angular/material": "^11.2.13",
"@angular/platform-browser": "~11.2.2", "@angular/platform-browser": "~11.2.2",
"@angular/platform-browser-dynamic": "~11.2.2", "@angular/platform-browser-dynamic": "~11.2.2",
"@angular/router": "~11.2.2", "@angular/router": "~11.2.2",
@@ -47,6 +49,7 @@
"@ng-bootstrap/ng-bootstrap": "^9.1.2", "@ng-bootstrap/ng-bootstrap": "^9.1.2",
"angular-calendar": "^0.28.22", "angular-calendar": "^0.28.22",
"angular-tag-cloud-module": "^5.2.2", "angular-tag-cloud-module": "^5.2.2",
"bootstrap": "^4.5.0",
"cordova-plugin-camera": "^5.0.1", "cordova-plugin-camera": "^5.0.1",
"cordova-plugin-filepath": "^1.5.8", "cordova-plugin-filepath": "^1.5.8",
"cordova-plugin-okhttp": "^2.0.0", "cordova-plugin-okhttp": "^2.0.0",
+1 -1
View File
@@ -48,7 +48,7 @@ import { NgbModule } from '@ng-bootstrap/ng-bootstrap'
IonicModule.forRoot(), IonicModule.forRoot(),
IonicStorageModule.forRoot(), IonicStorageModule.forRoot(),
AppRoutingModule, AppRoutingModule,
HttpClientModule, HttpClientModule, NgbModule, NoopAnimationsModule,
], ],
providers: [ providers: [
StatusBar, StatusBar,
+1
View File
@@ -28,3 +28,4 @@
</ion-tab-button> </ion-tab-button>
</ion-tab-bar> </ion-tab-bar>
</ion-tabs> </ion-tabs>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" rel="stylesheet">
+8 -8
View File
@@ -103,7 +103,7 @@
<div [className]="currentDayEventDisplayBorder(view.dates, row*7+col)" class="d-flex justify-center align-center" [class.with-event]="view.dates[row*7+col].events.length"> <div [className]="currentDayEventDisplayBorder(view.dates, row*7+col)" class="d-flex justify-center align-center" [class.with-event]="view.dates[row*7+col].events.length">
<div class="day"> <div class="day">
{{ view.dates[row*7+col].label }} <div class="number"> {{ view.dates[row*7+col].label }}</div>
</div> </div>
</div> </div>
@@ -118,12 +118,12 @@
</div> </div>
<!-- Calendar currente date --> <!-- Calendar currente date -->
<ion-row class="timeline-header ion-justify-content-between ion-align-items-center currente-date-timelien pb-5"> <ion-row class="timeline-header pb-0 ion-justify-content-between ion-align-items-center currente-date-timelien">
<ion-row class="timeline-date align-center"> <ion-row class="timeline-date align-center">
<button class="btn-no-color" *ngIf="showCalendar" (click)="calendarHeight='75px';showCalendar=false"> <button class="btn-no-color" *ngIf="showCalendar" (click)="calendarHeight='75px';showCalendar=false">
<ion-icon class="collaps btn-no-color" src="assets/images/icons-collaps-up.svg" ></ion-icon> <ion-icon class="collaps btn-no-color" src="assets/images/icons-collaps-up.svg" ></ion-icon>
</button> </button>
<button class="collaps btn-no-color" *ngIf="!showCalendar" (click)="calendarHeight='330px';showCalendar=true"> <button class="collaps btn-no-color" *ngIf="!showCalendar" (click)="calendarHeight='329.8px';showCalendar=true">
<ion-icon src="assets/images/icons-collaps-down.svg" ></ion-icon> <ion-icon src="assets/images/icons-collaps-down.svg" ></ion-icon>
</button > </button >
@@ -149,7 +149,7 @@
</ion-row> </ion-row>
</ion-row> </ion-row>
<div class="pb-5 d-none d-md-flex" *ngIf="loggeduser.Profile == 'MDGPR'"> <div class="d-none d-md-flex" *ngIf="loggeduser.Profile == 'MDGPR'">
<div class="flex-grow-1 text-grey d-flex justify-center align-center"> <div class="flex-grow-1 text-grey d-flex justify-center align-center">
<div>Própria</div> <div>Própria</div>
</div> </div>
@@ -173,7 +173,7 @@
<!-- Timeline --> <!-- Timeline -->
<div class="height-100"> <div class="height-100">
<div class="timeline-container height-100 d-flex pt-20 pa-20 filter-{{segment}}" > <div class="timeline-container height-100 d-flex pt-20 pl-20 pl-20 filter-{{segment}}" >
<!-- <div [ngSwitch]="view" class="ss-timeline timeline-mobile flex-grow-1 d-md-none"> <!-- <div [ngSwitch]="view" class="ss-timeline timeline-mobile flex-grow-1 d-md-none">
<mwl-calendar-day-view <mwl-calendar-day-view
@@ -215,7 +215,7 @@
</div> </div>
</div> --> </div> -->
<div class="ss-timeline hide-scroll timeline-mobile flex-grow-1 d-md-none text-black height-100 width-100 overflow-y-auto" > <div class="ss-timeline timeline-mobile flex-grow-1 d-md-none text-black height-100 width-100 overflow-y-auto" >
<div *ngFor="let events of TimelineMDList | keyvalue;" > <div *ngFor="let events of TimelineMDList | keyvalue;" >
<div *ngIf="CalendarCurrentDay <= events.key"> <div *ngIf="CalendarCurrentDay <= events.key">
@@ -258,7 +258,7 @@
</div> </div>
</div> </div>
<div class="fs-timeline hide-scroll flex-grow-1 d-none d-md-block d-md-block text-black pr-20 width-100 height-100 overflow-y-auto" *ngIf="loggeduser.Profile == 'MDGPR'"> <div class="fs-timeline flex-grow-1 d-none d-md-block d-md-block text-black pr-20 width-100 height-100 overflow-y-auto" *ngIf="loggeduser.Profile == 'MDGPR'">
<div *ngFor="let events of TimelineMDList | keyvalue;" > <div *ngFor="let events of TimelineMDList | keyvalue;" >
<div *ngIf="CalendarCurrentDay <= events.key"> <div *ngIf="CalendarCurrentDay <= events.key">
@@ -299,7 +299,7 @@
</div> </div>
</div> </div>
<div class="sd-timeline hide-scroll flex-grow-1 d-none d-md-block timeline-md text-black pl-20 width-100 height-100 overflow-y-auto" > <div class="sd-timeline flex-grow-1 d-none d-md-block timeline-md text-black pl-20 pr-20 width-100 height-100 overflow-y-auto" >
<div *ngFor="let events of TimelinePRList | keyvalue;"> <div *ngFor="let events of TimelinePRList | keyvalue;">
<div *ngIf="CalendarCurrentDay <= events.key"> <div *ngIf="CalendarCurrentDay <= events.key">
+1 -1
View File
@@ -706,7 +706,7 @@ app-approve-event{
.fs-timeline { .fs-timeline {
border-right: 2px solid #909090; border-right: 1px solid #909090;
} }
+3 -14
View File
@@ -162,7 +162,7 @@ export class AgendaPage implements OnInit {
this.loggeduser = authService.ValidatedUser; this.loggeduser = authService.ValidatedUser;
this.calendarHeight = "330px"; this.calendarHeight = "329.8px";
this.showCalendar = true; this.showCalendar = true;
this.timelineDate = momentG(new Date(),'dd MMMM yyyy'); this.timelineDate = momentG(new Date(),'dd MMMM yyyy');
@@ -193,7 +193,6 @@ export class AgendaPage implements OnInit {
window.onresize = (event) => { window.onresize = (event) => {
// if not table remove all component // if not table remove all component
if( window.innerWidth <= 1024){ if( window.innerWidth <= 1024){
console.log('mobile')
this.cloneAllmobileComponent(); this.cloneAllmobileComponent();
} }
}; };
@@ -253,7 +252,6 @@ export class AgendaPage implements OnInit {
//Show information of the event //Show information of the event
async onEventSelected(ev: { event: Event}){ async onEventSelected(ev: { event: Event}){
/* this.viewEventDetail(ev.event.EventId); */ /* this.viewEventDetail(ev.event.EventId); */
console.log('DOVE');
this.router.navigate(["/home/agenda", ev.event.EventId, 'agenda']); this.router.navigate(["/home/agenda", ev.event.EventId, 'agenda']);
} }
@@ -277,7 +275,7 @@ export class AgendaPage implements OnInit {
} }
onTimeSelected = (ev: { selectedTime: Date, events: any[] }) => { onTimeSelected = (ev: { selectedTime: Date, events: any[] }) => {
console.log('Selected time: ' + ev.selectedTime + ', hasEvents: ' + (ev.events !== undefined && ev.events.length !== 0)); // console.log('Selected time: ' + ev.selectedTime + ', hasEvents: ' + (ev.events !== undefined && ev.events.length !== 0));
this.eventSelectedDate2 = ev.selectedTime; this.eventSelectedDate2 = ev.selectedTime;
} }
@@ -346,7 +344,7 @@ export class AgendaPage implements OnInit {
get CalendarCurrentDay ():any { get CalendarCurrentDay ():any {
console.log(this.viewDate.getDate(), '0_0') // console.log(this.viewDate.getDate(), '0_0')
return this.viewDate.getDate() return this.viewDate.getDate()
} }
@@ -820,8 +818,6 @@ export class AgendaPage implements OnInit {
const MDEventList = this.timelineFilter(this.timelineFilterState, this.eventsList, 'mdgpr'); const MDEventList = this.timelineFilter(this.timelineFilterState, this.eventsList, 'mdgpr');
this.TimelineMDList = this.eventListBox(MDEventList, 'md') this.TimelineMDList = this.eventListBox(MDEventList, 'md')
this.events = MDEventList; this.events = MDEventList;
@@ -839,7 +835,6 @@ export class AgendaPage implements OnInit {
this.centralizeTimeline(500); this.centralizeTimeline(500);
} }
} }
let prOficialEvents= await this.eventService.getAllPrOficialEvents(momentG(new Date(startTime),'yyyy-MM-dd HH:mm:ss'), momentG(new Date(endTime),'yyyy-MM-dd 23:59:59')).toPromise(); let prOficialEvents= await this.eventService.getAllPrOficialEvents(momentG(new Date(startTime),'yyyy-MM-dd HH:mm:ss'), momentG(new Date(endTime),'yyyy-MM-dd 23:59:59')).toPromise();
@@ -916,10 +911,6 @@ export class AgendaPage implements OnInit {
if ( endDate.getTime() > startDate.getTime() && Difference_In_Days <= 50 && !event.event.IsAllDayEvent ) { if ( endDate.getTime() > startDate.getTime() && Difference_In_Days <= 50 && !event.event.IsAllDayEvent ) {
if (Difference_In_Days >= 1) { if (Difference_In_Days >= 1) {
if(nice == 'md') {
console.log('md', event)
}
const StartEvent = Object.assign({}, { const StartEvent = Object.assign({}, {
title: event.title, title: event.title,
start: event.start, start: event.start,
@@ -1102,12 +1093,10 @@ export class AgendaPage implements OnInit {
changeProfile() { changeProfile() {
if(this.profile == "mdgpr"){ if(this.profile == "mdgpr"){
console.log('pr');
this.profile ="pr"; this.profile ="pr";
this.loadRangeEvents(this.rangeStartDate, this.rangeEndDate); this.loadRangeEvents(this.rangeStartDate, this.rangeEndDate);
} }
else{ else{
console.log('mdgpr');
this.profile ="mdgpr"; this.profile ="mdgpr";
this.loadRangeEvents(this.rangeStartDate, this.rangeEndDate); this.loadRangeEvents(this.rangeStartDate, this.rangeEndDate);
} }
@@ -177,6 +177,17 @@
</div> </div>
</div> </div>
<div class="middle-content">
<div *ngIf="postEvent.Body.Text">
<h5>Detalhes</h5>
<ion-item lines="none" class="ion-no-margin ion-no-padding">
<ion-textarea [(ngModel)]="postEvent.Body.Text" placeholder="Detalhes" ></ion-textarea>
</ion-item>
<div class="line"></div>
</div>
</div>
<div class="d-flex container-div width-100 ion-item-container-no-border" > <div class="d-flex container-div width-100 ion-item-container-no-border" >
<ion-label (click)="getDoc()" class="cursor-pointer"> <ion-label (click)="getDoc()" class="cursor-pointer">
<div class="attach-icon"> <div class="attach-icon">
@@ -12,6 +12,8 @@
<ion-content> <ion-content>
<div class="main-content"> <div class="main-content">
<input type="text" ngbDatepicker #d="ngbDatepicker"/>
<div class="ion-item-container"> <div class="ion-item-container">
<ion-input placeholder="Assunto" [(ngModel)]="postEvent.Subject"></ion-input> <ion-input placeholder="Assunto" [(ngModel)]="postEvent.Subject"></ion-input>
</div> </div>
+18 -6
View File
@@ -25,7 +25,7 @@ export class ToastService {
async successMessage(message?: any, callback?) { async successMessage(message?: any, callback?) {
let notification = document.createElement('div') let notification = document.createElement('div')
notification.id = 'notification' notification.className = 'notification'
notification.innerHTML = ` notification.innerHTML = `
<div class="main-content width-100 pa-20"> <div class="main-content width-100 pa-20">
@@ -43,15 +43,21 @@ export class ToastService {
if (callback) { if (callback) {
callback() callback()
} }
notification.remove()
},7000) notification.style.right = "-100%"
setTimeout(()=>{
notification.remove()
},1000)
},6000)
} }
async badRequest(message?: string, callback?) { async badRequest(message?: string, callback?) {
let notification = document.createElement('div') let notification = document.createElement('div')
notification.id = 'notification' notification.className = 'notification'
notification.innerHTML = ` notification.innerHTML = `
<div class="main-content width-100 pa-20"> <div class="main-content width-100 pa-20">
@@ -69,8 +75,14 @@ export class ToastService {
if (callback) { if (callback) {
callback() callback()
} }
notification.remove()
},7000) notification.style.right = "-100%"
setTimeout(()=>{
notification.remove()
},1000)
},6000)
} }
@@ -7,13 +7,14 @@ import { IonicModule } from '@ionic/angular';
import { NewEventPageRoutingModule } from './new-event-routing.module'; import { NewEventPageRoutingModule } from './new-event-routing.module';
import { NewEventPage } from './new-event.page'; import { NewEventPage } from './new-event.page';
import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
@NgModule({ @NgModule({
imports: [ imports: [
CommonModule, CommonModule,
FormsModule, FormsModule,
IonicModule, IonicModule,
NewEventPageRoutingModule NewEventPageRoutingModule,
NgbModule, //
], ],
declarations: [NewEventPage], declarations: [NewEventPage],
exports: [NewEventPage] exports: [NewEventPage]
@@ -12,6 +12,22 @@
<ion-content> <ion-content>
<div class="main-content"> <div class="main-content">
<form class="form-inline">
<div class="form-group">
<div class="input-group">
<input class="form-control" placeholder="yyyy-mm-dd"
name="dp" ngbDatepicker #d="ngbDatepicker">
<div class="input-group-append">
<button class="btn btn-outline-secondary calendar" (click)="d.toggle()" type="button"></button>
</div>
</div>
</div>
</form>
<!-- 2. datepicker in the popup -->
<input type="text" ngbDatepicker #d="ngbDatepicker"/>
<div class="ion-item-container"> <div class="ion-item-container">
<ion-input type="text" placeholder="Assunto" [(ngModel)]="postEvent.Subject"></ion-input> <ion-input type="text" placeholder="Assunto" [(ngModel)]="postEvent.Subject"></ion-input>
</div> </div>
@@ -168,7 +168,6 @@ export class NewEventPage implements OnInit {
this.postEvent.Attendees = this.taskParticipants.concat(this.taskParticipantsCc); this.postEvent.Attendees = this.taskParticipants.concat(this.taskParticipantsCc);
if(this.documents.length >= 0) { if(this.documents.length >= 0) {
this.postEvent.HasAttachments = true; this.postEvent.HasAttachments = true;
} }
@@ -254,7 +253,7 @@ export class NewEventPage implements OnInit {
} }
} }
afterSave(){ afterSave() {
this.deleteTemporaryData(); this.deleteTemporaryData();
this.onAddEvent.emit(this.postEvent); this.onAddEvent.emit(this.postEvent);
+17 -5
View File
@@ -579,7 +579,7 @@ td.monthview-secondary-with-event, td.monthview-secondary-with-event[_ngcontent-
.calendar-component { .calendar-component {
td { td {
padding: 8.1px !important; padding: 8px !important;
div { div {
padding-left: 0px; padding-left: 0px;
} }
@@ -588,7 +588,7 @@ td.monthview-secondary-with-event, td.monthview-secondary-with-event[_ngcontent-
justify-content: center; justify-content: center;
} }
td div:not(.day, .day-container) { td div:not(.day, .day-container, .number) {
width: 30px !important; width: 30px !important;
height: 30px; height: 30px;
} }
@@ -773,8 +773,8 @@ ion-icon{
::-webkit-scrollbar { ::-webkit-scrollbar {
width: 10px; width: 7px;
height: 10px; height: 7px;
} }
/* Track */ /* Track */
@@ -825,7 +825,7 @@ background: rgb(92, 92, 92);
#notification{ .notification{
position: absolute; position: absolute;
top: 23px; top: 23px;
right: 0px; right: 0px;
@@ -850,6 +850,11 @@ background: rgb(92, 92, 92);
box-shadow: 0px 2px 10px #0000003d; box-shadow: 0px 2px 10px #0000003d;
display: flex; display: flex;
align-items: center; align-items: center;
animation-name: example;
animation-duration: 1s;
animation-timing-function: ease-in;
transition: 1s;
.main-content { .main-content {
display: flex; display: flex;
align-items: center; align-items: center;
@@ -858,3 +863,10 @@ background: rgb(92, 92, 92);
font-size: 12pt; font-size: 12pt;
} }
} }
@keyframes example {
from {right: -100%;}
to {right: 0px;}
}
+3
View File
@@ -24,6 +24,9 @@
<meta name="apple-mobile-web-app-capable" content="yes" /> <meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" /> <meta name="apple-mobile-web-app-status-bar-style" content="black" />
<link rel="preconnect" href="https://fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
</head> </head>
<body> <body>
+4
View File
@@ -1,3 +1,7 @@
/***************************************************************************************************
* Load `$localize` onto the global scope - used if i18n tags appear in Angular templates.
*/
import '@angular/localize/init';
/** /**
* This file includes polyfills needed by Angular and is loaded before the app. * This file includes polyfills needed by Angular and is loaded before the app.
* You can add your own extra polyfills to this file. * You can add your own extra polyfills to this file.
+6
View File
@@ -495,3 +495,9 @@
} }
/* Importing Bootstrap SCSS file. */
@import '~bootstrap/scss/bootstrap';
html, body { height: 100%; }
body { margin: 0; font-family: Roboto, "Helvetica Neue", sans-serif; }