This commit is contained in:
Eudes Inácio
2021-02-08 20:15:05 +01:00
615 changed files with 22623 additions and 26188 deletions
+3 -3
View File
@@ -98,9 +98,9 @@ export class HomePage implements OnInit {
PushNotifications.addListener(
'pushNotificationActionPerformed',
(notification: PushNotificationActionPerformed) => {
let service = notification.notification.data.Service;
let object = notification.notification.data.Object;
let idObject = notification.notification.data.IdObject;
let service = notification.notification.data.service;
let object = notification.notification.data.object;
let idObject = notification.notification.data.idObject;
console.log('Complete Object: ', notification )
+8
View File
@@ -0,0 +1,8 @@
export class TopSearch {
Documents: {
Text: string;
Hits: number;
}[] = [];
}
+60 -18
View File
@@ -35,16 +35,27 @@
</ion-row>
<ion-row class="ion-align-items-center">
<div class="arrow">
<ion-icon *ngIf="profile == 'mdgpr' " (click)="changeProfile()" class="right-icons" slot="icon-only"src="assets/images/icons-profile-calendar-md.svg"></ion-icon>
<ion-icon *ngIf="profile == 'pr' " (click)="changeProfile()" class="right-icons" slot="icon-only"src="assets/images/icons-profile-calendar-pr.svg"></ion-icon>
</div>
<ion-icon *ngIf="profile == 'mdgpr' " (click)="changeProfile()" class="right-icons" src="assets/images/icons-profile-calendar-md.svg"></ion-icon>
<ion-icon *ngIf="profile == 'pr' " (click)="changeProfile()" class="right-icons" src="assets/images/icons-profile-calendar-pr.svg"></ion-icon>
<ion-icon (click)="viewEventsToApprove()" class="right-icons" src="assets/images/icons-received-event.svg"></ion-icon>
<ion-icon (click)="openAddEvent()" class="right-icons" src="assets/images/icons-add-new-event.svg" ></ion-icon>
</ion-row>
</ion-row>
<calendar
<table class="custom-calendar-header">
<thead>
<th>S</th>
<th>T</th>
<th>Q</th>
<th>Q</th>
<th>S</th>
<th>S</th>
<th>D</th>
</thead>
</table>
<calendar class="calendar-component"
[eventSource]="eventSource"
[calendarMode]="calendar.mode"
[currentDate]="calendar.currentDate"
@@ -62,7 +73,7 @@
[monthviewDisplayEventTemplate]="template"
>
</calendar>
<!-- Adding a customized ng-template -->
<ng-template #template let-view="view" let-row="row" let-col="col">
<div [className]="currentDayEventDisplayBorder(view.dates, row*7+col)" [class.with-event]="view.dates[row*7+col].events.length">
@@ -94,7 +105,20 @@
</ion-col>
</ion-row>
<calendar
<table class="custom-calendar-header">
<thead>
<th>S</th>
<th>T</th>
<th>Q</th>
<th>Q</th>
<th>S</th>
<th>S</th>
<th>D</th>
</thead>
</table>
<calendar class="calendar-component"
[eventSource]="eventSource"
[calendarMode]="calendar.mode"
[currentDate]="calendar.currentDate"
@@ -145,8 +169,21 @@
</ion-button>
</ion-col>
</ion-row>
<calendar
<table class="custom-calendar-header">
<thead>
<th>S</th>
<th>T</th>
<th>Q</th>
<th>Q</th>
<th>S</th>
<th>S</th>
<th>D</th>
</thead>
</table>
<calendar class="calendar-component"
[eventSource]="eventSource"
[calendarMode]="calendar.mode"
[currentDate]="calendar.currentDate"
@@ -183,16 +220,23 @@
<ion-row class="timeline-date">
<span *ngIf="timelineIsCurrentDate()">Hoje, &nbsp;</span> {{ timelineDate }}
</ion-row>
<!-- <ion-row class="filter ion-align-items-center">
<div class="filter-name">Todos</div>
<ion-icon class="arrow-down" src="assets/images/icons-arrow-arrow-down.svg"></ion-icon>
</ion-row> -->
<ion-row class="filter ion-align-items-center">
<div class="filter-name">{{timelineFilterState}}</div>
<!-- Icon -->
<ion-icon (click)="showTimelineFilterState=true" class="arrow-down" src="assets/images/icons-arrow-arrow-down.svg"></ion-icon>
<!-- List -->
<ul *ngIf="showTimelineFilterState">
<li [class.active]="timelineFilterState == 'Todos' " (click)="timelineFilter('Todos')">Todos</li>
<li [class.active]="timelineFilterState == 'Oficial' " (click)="timelineFilter('Oficial')">Oficial</li>
<li [class.active]="timelineFilterState == 'Pessoal' " (click)="timelineFilter('Pessoal')">Pessoal</li>
</ul>
</ion-row>
</ion-row>
</div>
</div>
</div>
</ion-header>
<ion-content>
<ion-content class="timeline">
<!-- Progress bar -->
<ion-refresher name="refresher" slot="fixed" (ionRefresh)="doRefresh($event)">
@@ -202,7 +246,7 @@
</ion-refresher>
<!-- Timeline -->
<div *ngIf="showTimeline">
<div class="timeline-container" *ngIf="showTimeline">
<mwl-demo-utils-calendar-header class="timeline"
[(view)]="view"
[(viewDate)]="viewDate"
@@ -220,6 +264,4 @@
</mwl-calendar-day-view>
</div>
</div>
</ion-content>
+88 -47
View File
@@ -1,8 +1,4 @@
.indicator-container {
padding-left: 0.5rem;
padding-bottom: 0.4rem;
}
.event-indicator {
background: #333;
width: 5px;
@@ -11,17 +7,31 @@
display: table-cell;
}
ion-slide{
td{
div {
padding-left: 7px;
border-radius: 28px;
display: flex;
justify-content: center;
align-items: center;
text-align: center;
height: 25px;
}
}
}
:host ::ng-deep {
.monthview-primary-with-event {
background-color: white !important;
/* background-color: white !important; */
}
.monthview-current{
background-color: red;
/* background-color: red; */
border-bottom: 1px solid lightskyblue !important;
}
.monthview-selected {
background-color: lightskyblue !important;
/* background-color: lightskyblue !important; */
}
.item{
/* background: red !important; */
@@ -35,16 +45,6 @@
}
}
.with-event {
background-color: #fff;
border-radius: 21px;
border-left: 3px solid #ffb703;
border-bottom: none;
border-right: 3px solid #f05d5e;
color: black;
margin: 0px auto;
width: 35px;
}
.main-header{
width: 100%; /* 400px */
@@ -255,7 +255,9 @@ label{
right: 14px;
color: #e16817;
}
td.monthview-primary-with-event {
background-color: white !important;
}
.header-title{
width: 300px;
font-family: Roboto;
@@ -334,31 +336,6 @@ label{
.currente-date-timelien{
padding: 10px 20px;
.timeline-date{
font-size: 15px;
font-weight: bold;
}
.filter{
font-size: 15px;
font-weight: normal;
.filter-name{
color: #0d89d1;
}
ion-icon{
font-size: 35px;
color: #0d89d1;
}
.filter-name{
font-family: Roboto;
font-size: 15px;
margin-left: 10px;
}
}
}
.drop-down{
@@ -400,7 +377,7 @@ label{
padding: 0px 0px;
}
.right-icons{
.right-icons, .calendar-profile{
padding: 0px 9px
}
@@ -411,5 +388,69 @@ label{
.calendar-tool-tip{
padding: 17px 10px 0px 10px;
}
padding: 20px 10px 30px 10px;
}
.custom-calendar-header{
width: 100%;
margin-bottom: 10px;
thead{
th{
font-family: Roboto;
font-size: 15px;
color: rgba(52, 72, 94, 0.54);
font-weight: normal;
}
}
}
.currente-date-timelien{
padding: 10px 20px;
.timeline-date{
font-size: 15px;
font-weight: bold;
}
.filter{
font-size: 15px;
font-weight: normal;
ion-icon{
font-size: 35px;
color: #0d89d1;
}
.filter-name{
color: #0d89d1;
font-family: Roboto;
font-size: 15px;
margin-right: 25px;
}
ul{
background-color: white !important;
position: absolute;
padding: 0px;
margin: 0px;
list-style: none;
margin-top: 140px;
padding: 0px;
box-shadow: 0px 0px 10px gray !important;
border-radius: 5px;
width: 96px;
z-index: 1000000;
li{
padding: 5px 10px;
font-size: 15px;
font-weight: normal;
}
li.active{
background-color: rgba(66, 185, 254, 0.1);
}
}
}
}
+22 -19
View File
@@ -1,7 +1,6 @@
import { Component, OnInit, ViewChild, Inject, LOCALE_ID } from '@angular/core';
import { CalendarComponent } from 'ionic2-calendar';
import { AlertController, ModalController } from '@ionic/angular';
import { formatDate } from '@angular/common';
import { CalModalPage } from '../cal-modal/cal-modal.page';
import { EventsService } from 'src/app/services/events.service';
import { Event } from '../../models/event.model';
@@ -9,6 +8,7 @@ import { Router, NavigationEnd } from '@angular/router';
import { AlertService } from 'src/app/services/alert.service';
import { NewEventPage } from './new-event/new-event.page';
import { ViewEventPage } from './view-event/view-event.page';
import { momentG } from 'src/plugin/momentG'
// showTimeline
import { setHours, setMinutes } from 'date-fns';
@@ -119,10 +119,9 @@ export class AgendaPage implements OnInit {
private alertCrontroller: AlertService
) {
// timeline inicial date
this.timelineDate = new Date().toLocaleString();
//this.timelineDate = formatDate(new Date,'dd MMMM yyyy', 'pt');
this.timelineDate = momentG(new Date(),'dd MMMM yyyy');
function setCookie(cname, cvalue, exdays) {
@@ -190,7 +189,7 @@ export class AgendaPage implements OnInit {
onCurrentChanged = (ev: Date) => {
// timeline change date
this.timelineDate = new Date(ev).toLocaleString();
this.timelineDate = momentG(new Date(ev),'dd MMMM yyyy');
this.viewDate = new Date(ev);
// calendar change date
this.eventSelectedDate = new Date(ev);
@@ -201,15 +200,15 @@ export class AgendaPage implements OnInit {
// changedate
dropDownChangeDate(id: string){
/* const currentCandarDayYear = formatDate(this.eventSelectedDate,'dd -- yyyy', 'pt');
const currentCandarDayYear = momentG(this.eventSelectedDate,'dd -- yyyy', 'pt');
const newDate = new Date(currentCandarDayYear.replace('--',id));
this.onCurrentChanged(newDate); */
this.onCurrentChanged(newDate);
}
/* 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));
this.eventSelectedDate2 = ev.selectedTime;
}; */
};
onRangeChanged (ev: { startTime: Date, endTime: Date }) {
this.rangeStartDate = ev.startTime;
@@ -289,8 +288,12 @@ export class AgendaPage implements OnInit {
const shadowRoot = timelineContainer.shadowRoot;
const scrollContainer = shadowRoot.querySelector('main');
scrollContainer.scrollTop = timelineMarker['offsetTop'] - ((scrollContainer.offsetHeight/2) - 60);
try {
scrollContainer.scrollTop = timelineMarker['offsetTop'] - ((scrollContainer.offsetHeight/2) - 60);
} catch (error) {
//
}
}, timeout);
}
@@ -298,7 +301,7 @@ export class AgendaPage implements OnInit {
// for timeline
timelineIsCurrentDate(): Boolean {
return true;
//return formatDate(new Date(),'dd MMMM yyyy', 'pt') == formatDate(this.eventSelectedDate,'dd MMMM yyyy', 'pt');
//return momentG(new Date(),'dd MMMM yyyy', 'pt') == momentG(this.eventSelectedDate,'dd MMMM yyyy', 'pt');
}
// for timeline
@@ -365,11 +368,11 @@ export class AgendaPage implements OnInit {
this.eventsList.forEach((element, eventIndex) => {
// timeline start
const startHours = new Date(element.StartDate).getHours().toLocaleString();
const EndHours = new Date(element.EndDate).getHours().toLocaleString();
const startHours = momentG(new Date(element.StartDate), 'HH', 'pt');
const EndHours = momentG(new Date(element.EndDate), 'HH', 'pt');
const startHoursOtherFormate = new Date(element.StartDate).getHours().toLocaleString()+':'+new Date(element.StartDate).getMinutes().toLocaleString();
const EndHoursOtherFormate = formatDate(new Date(element.EndDate), 'HH:mm', 'pt');
const startHoursOtherFormate = momentG(new Date(element.StartDate), 'HH:mm', 'pt');
const EndHoursOtherFormate = momentG(new Date(element.EndDate), 'HH:mm', 'pt');
if (element.CalendarName == calendarName) {
this.events.push({
@@ -431,7 +434,7 @@ export class AgendaPage implements OnInit {
});
});
// this.timelineFilter(this.timelineFilterState);
this.timelineFilter(this.timelineFilterState);
this.myCal.update();
this.myCal.loadEvents();
@@ -461,7 +464,7 @@ export class AgendaPage implements OnInit {
});
// this.timelineFilter(this.timelineFilterState);
this.timelineFilter(this.timelineFilterState);
this.myCal.update();
this.myCal.loadEvents();
@@ -56,8 +56,8 @@
</div>
<div class="ion-input-class">
<ion-select placeholder="Selecione tipo"
[(ngModel)]="postEvent.EventType"
selectedText="{{postEvent.EventType}}"
[(ngModel)]="postEvent.Categories[0]"
selectedText="{{postEvent.Categories[0]}}"
interface="action-sheet"
Cancel-text="Cancelar" required>
<ion-select-option value="Reunião">Reunião</ion-select-option>
@@ -56,7 +56,7 @@
</div>
<div class="ion-input-class">
<ion-select placeholder="Selecione tipo"
[(ngModel)]="postEvent.EventType"
[(ngModel)]="postEvent.Categories[0]"
interface="action-sheet"
Cancel-text="Cancelar" required>
<ion-select-option value="Reunião">Reunião</ion-select-option>
@@ -62,7 +62,7 @@ export class NewEventPage implements OnInit {
AppointmentState: 0,
TimeZone: '',
Organizer: '',
Categories: null,
Categories: ['Reunião'],
HasAttachments: false,
};
}
@@ -83,7 +83,7 @@ export class NewEventPage implements OnInit {
AppointmentState: 0,
TimeZone: '',
Organizer: '',
Categories: null,
Categories: ['Reunião'],
HasAttachments: false,
};
}
+10 -7
View File
@@ -26,6 +26,7 @@ import { ExpedienteDetailPage } from '../gabinete-digital/expediente/expediente-
export class EventsPage implements OnInit {
/* Get current system date */
today = new Date();
todayEnd = new Date();
months = ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"];
days = ["Domingo", "Segunda-feira", "Terça-feira", "Quarta-feira", "Quinta-feira", "Sexta-feira", "Sábado"];
@@ -76,6 +77,8 @@ export class EventsPage implements OnInit {
// list
this.LoadList();
this.todayEnd = new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate(), 23, 59, 59);
}
@@ -141,7 +144,7 @@ export class EventsPage implements OnInit {
{
case "Combinada":
if(this.profile == "mdgpr"){
this.eventService.getAllMdEvents(formatDate(new Date(), 'yyyy-MM-dd HH:mm:ss', 'pt') /* + ' 00:00:00' */, formatDate(new Date(), 'yyyy-MM-dd', 'pt') + ' 23:59:59').subscribe(res => {
this.eventService.getAllMdEvents(this.today.toLocaleString(), this.todayEnd.toLocaleString()).subscribe(res => {
this.eventsList = res;
if(res.length > 0){
@@ -152,7 +155,7 @@ export class EventsPage implements OnInit {
this.showLoader = false;
});
}else{
this.eventService.getAllPrEvents(formatDate(new Date(), 'yyyy-MM-dd', 'pt') + ' 00:00:00', formatDate(new Date(), 'yyyy-MM-dd', 'pt') + ' 23:59:59').subscribe(res => {
this.eventService.getAllPrEvents(this.today.toLocaleString(), this.todayEnd.toLocaleString()).subscribe(res => {
this.eventsList = res;
console.log(this.eventsList);
console.log(res)
@@ -166,12 +169,12 @@ export class EventsPage implements OnInit {
break;
case "Pessoal":
if(this.profile == "mdgpr"){
this.eventService.getAllMdEvents(formatDate(new Date(), 'yyyy-MM-dd', 'pt') + ' 00:00:00', formatDate(new Date(), 'yyyy-MM-dd', 'pt') + ' 23:59:59').subscribe(res => {
this.eventService.getAllMdEvents(this.today.toLocaleString(), this.todayEnd.toLocaleString()).subscribe(res => {
this.personaleventsList = res.filter(data => data.CalendarName == "Pessoal");
this.showLoader = false;
});
}else{
this.eventService.getAllPrEvents(formatDate(new Date(), 'yyyy-MM-dd', 'pt') + ' 00:00:00', formatDate(new Date(), 'yyyy-MM-dd', 'pt') + ' 23:59:59').subscribe(res => {
this.eventService.getAllPrEvents(this.today.toLocaleString(), this.todayEnd.toLocaleString()).subscribe(res => {
this.personaleventsList = res.filter(data => data.CalendarName == "Pessoal");
this.showLoader = false;
});
@@ -180,12 +183,12 @@ export class EventsPage implements OnInit {
break;
case "Oficial":
if(this.profile == "mdgpr"){
this.eventService.getAllMdEvents(formatDate(new Date(), 'yyyy-MM-dd', 'pt') + ' 00:00:00', formatDate(new Date(), 'yyyy-MM-dd', 'pt') + ' 23:59:59').subscribe(res => {
this.eventService.getAllMdEvents(this.today.toLocaleString(), this.todayEnd.toLocaleString()).subscribe(res => {
this.officialeventsList = res.filter(data => data.CalendarName == "Oficial");;
this.showLoader = false;
});
}else{
this.eventService.getAllPrEvents(formatDate(new Date(), 'yyyy-MM-dd', 'pt') + ' 00:00:00', formatDate(new Date(), 'yyyy-MM-dd', 'pt') + ' 23:59:59').subscribe(res => {
this.eventService.getAllPrEvents(this.today.toLocaleString(), this.todayEnd.toLocaleString()).subscribe(res => {
this.officialeventsList = res.filter(data => data.CalendarName == "Oficial");;
this.showLoader = false;
});
@@ -276,7 +279,7 @@ export class EventsPage implements OnInit {
"SerialNumber": element.serialNumber,
"Folio": element.workflowInstanceFolio,
"Senders": element.originator.email,
"CreateDate": formatDate(new Date(element.taskStartDate), 'yyyy-MM-dd HH:mm', 'pt'),
"CreateDate": new Date(element.taskStartDate).toLocaleString(),
"DocumentURL": element.formURL,
"Remetente": element.workflowInstanceDataFields.Remetente
}
+7 -7
View File
@@ -12,10 +12,10 @@ import { NotificationsService } from 'src/app/services/notifications.service';
import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';
import { Token } from '../../models/token.model';
import { Plugins, PushNotification, PushNotificationToken, PushNotificationActionPerformed } from '@capacitor/core';
const { PushNotifications } = Plugins;
/* import { Plugins, PushNotification, PushNotificationToken, PushNotificationActionPerformed } from '@capacitor/core';
*/
/* const { PushNotifications } = Plugins;
*/
@Component({
@@ -80,7 +80,7 @@ export class LoginPage implements OnInit {
storeUserIdANdToken() {
(PushNotifications as any).requestPermission().then(result => {
/* (PushNotifications as any).requestPermission().then(result => {
PushNotifications.register();
});
@@ -106,12 +106,12 @@ export class LoginPage implements OnInit {
console.log('TOKEN USER MIDLE',data);
})*/
});
/* });
});
},
);
); */
};
@@ -5,7 +5,7 @@
</div>
<ion-toolbar>
<ion-title>Remetentes</ion-title>
<ion-title>Entidade Orgânica</ion-title>
</ion-toolbar>
</ion-header>
@@ -30,6 +30,7 @@ export class OrganicEntityPage implements OnInit {
this.OrganicEntityService.getOrganicEntity().subscribe(res=>{
console.log(res)
this.organicEntities = res;
this.showOrganicEntities = res
});
}
+1 -7
View File
@@ -95,13 +95,7 @@
<!-- most searched word-->
<div class="most-searched-words" *ngIf="!showDocuments">
<p class="title ion-text-center">Palavras mais pesquisadas</p>
<div>
<angular-tag-cloud class="world-cloud"
[data]="data"
[width]=width
[height]=height
[overflow]=true>
</angular-tag-cloud>
<div class="most-searched-word-container">
</div>
</div>
+5
View File
@@ -197,6 +197,11 @@ ion-slide{
text-align: center;
color: black;
}
.most-searched-word-container{
width: 441px;
height: 400px;
}
}
}
+30
View File
@@ -8,6 +8,8 @@ import { formatDate } from '@angular/common';
import { CloudData, CloudOptions } from 'angular-tag-cloud-module';
import { SenderPage } from 'src/app/pages/search/sender/sender.page';
import { OrganicEntityPage } from 'src/app/pages/search/organic-entity/organic-entity.page';
import WordCloud from 'src/plugin/wordcloud2.js'
import { TopSearch } from 'src/app/models/top-search';
import { NgModel } from '@angular/forms';
@Component({
@@ -54,12 +56,40 @@ export class SearchPage implements OnInit {
speed: 400,
}
list = []
constructor(private modalController: ModalController,
private search: SearchService) {
this.ordinance = "recent";
}
ngOnInit() {
this.search.mostSeachWord("10").subscribe(res=>{
let list = []
res.forEach(element => {
list.push(Object.values(element))
});
this.list = list
const elem = document.documentElement.querySelector('.most-searched-word-container');
WordCloud(
elem,
{
list: this.list,
Family: 'Times, serif',
gridSize: 15
},
);
});
}
close(){
@@ -28,6 +28,7 @@ export class SenderPage implements OnInit {
getSender(){
this.ContactsService.getContacts("").subscribe(res=>{
this.contacts = res;
this.showContacts = res
});
}
+20 -1
View File
@@ -1,11 +1,12 @@
import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { Event } from '../models/event.model';
import { Observable } from 'rxjs';
import { from, Observable } from 'rxjs';
import { environment } from 'src/environments/environment';
import { AuthService } from '../services/auth.service';
import { User } from '../models/user.model';
import { EventSearch } from "src/app/models/event-search";
import { TopSearch } from 'src/app/models/top-search';
@Injectable({
providedIn: 'root'
@@ -52,4 +53,22 @@ export class SearchService {
return this.http.get<EventSearch>(`${geturl}`, options);
}
mostSeachWord(size:string):Observable<any>{
// Endpoint
const geturl = environment.apiURL + 'search/top';
// store params
let params = new HttpParams();
// set https params
params = params.set("size", size);
const options = {
headers: this.headers,
params: params
};
return this.http.get<any>(`${geturl}`, options);
}
}
+2 -1
View File
@@ -15,7 +15,8 @@
</ion-col>
<ion-col>
<div class="div-profile">
<ion-icon src='assets/images/icons-profile.svg'></ion-icon>
<ion-icon *ngIf="profile == 'mdgpr' " src='assets/images/icons-profile.svg'></ion-icon>
<ion-icon *ngIf="profile == 'pr' " src='assets/images/icons-profile-pr-header.svg'></ion-icon>
</div>
</ion-col>
</ion-row>
+9 -1
View File
@@ -9,7 +9,15 @@ import { SearchPage } from 'src/app/pages/search/search.page';
})
export class HeaderPage implements OnInit {
constructor(private modalController: ModalController) { }
profile: string = 'mdgpr';
constructor(private modalController: ModalController) {
window['header'] = (profile:string) => {
this.profile = profile;
}
}
ngOnInit() {
}
@@ -1,6 +1,6 @@
<svg width="35" height="35" viewBox="0 0 35 35" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M7 7H18V8H7V7Z" fill="white"/>
<path d="M10.5 9C11.3284 9 12 8.32843 12 7.5C12 6.67157 11.3284 6 10.5 6C9.67157 6 9 6.67157 9 7.5C9 8.32843 9.67157 9 10.5 9Z" fill="white"/>
<path d="M17.5 35C27.165 35 35 27.165 35 17.5C35 7.83502 27.165 0 17.5 0C7.83502 0 0 7.83502 0 17.5C0 27.165 7.83502 35 17.5 35Z" fill="white"/>
<path d="M34.5 17.5C34.5 26.8888 26.8888 34.5 17.5 34.5C8.11116 34.5 0.5 26.8888 0.5 17.5C0.5 8.11116 8.11116 0.5 17.5 0.5C26.8888 0.5 34.5 8.11116 34.5 17.5Z" fill="white" stroke="#F05D5E"/>
<path d="M9.46143 10.9141L13.4126 20.7754L17.3638 10.9141H19.4307V23H17.8369V18.2935L17.9863 13.2134L14.0186 23H12.7983L8.83887 13.2383L8.99658 18.2935V23H7.40283V10.9141H9.46143ZM22.2446 23V10.9141H25.6562C26.7077 10.9141 27.6374 11.1465 28.4453 11.6113C29.2533 12.0762 29.8758 12.7375 30.313 13.5952C30.7557 14.453 30.9798 15.438 30.9854 16.5503V17.3223C30.9854 18.4622 30.764 19.4611 30.3213 20.3188C29.8841 21.1766 29.256 21.8351 28.437 22.2944C27.6235 22.7537 26.6745 22.9889 25.5898 23H22.2446ZM23.8384 12.2256V21.6968H25.5151C26.7437 21.6968 27.6982 21.3149 28.3789 20.5513C29.0651 19.7876 29.4082 18.7002 29.4082 17.2891V16.5835C29.4082 15.2111 29.0845 14.1458 28.437 13.3877C27.7951 12.624 26.882 12.2367 25.6978 12.2256H23.8384Z" fill="black"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

@@ -1,6 +1,6 @@
<svg width="35" height="35" viewBox="0 0 35 35" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M7 7H18V8H7V7Z" fill="white"/>
<path d="M10.5 9C11.3284 9 12 8.32843 12 7.5C12 6.67157 11.3284 6 10.5 6C9.67157 6 9 6.67157 9 7.5C9 8.32843 9.67157 9 10.5 9Z" fill="white"/>
<path d="M17.5 35C27.165 35 35 27.165 35 17.5C35 7.83502 27.165 0 17.5 0C7.83502 0 0 7.83502 0 17.5C0 27.165 7.83502 35 17.5 35Z" fill="#F05D5E"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M7 7H18V8H7V7Z" fill="#F05D5E"/>
<path d="M11.5 7.5C11.5 8.05228 11.0523 8.5 10.5 8.5C9.94772 8.5 9.5 8.05228 9.5 7.5C9.5 6.94772 9.94772 6.5 10.5 6.5C11.0523 6.5 11.5 6.94772 11.5 7.5Z" fill="#F05D5E" stroke="black"/>
<path d="M34.5 17.5C34.5 26.8888 26.8888 34.5 17.5 34.5C8.11116 34.5 0.5 26.8888 0.5 17.5C0.5 8.11116 8.11116 0.5 17.5 0.5C26.8888 0.5 34.5 8.11116 34.5 17.5Z" fill="#F05D5E" stroke="black"/>
<path d="M9.99658 19.2686V24H8.40283V11.9141H12.8604C14.1829 11.9141 15.2178 12.2516 15.9648 12.9268C16.7174 13.6019 17.0938 14.4956 17.0938 15.6079C17.0938 16.7811 16.7257 17.6859 15.9897 18.3223C15.2593 18.9531 14.2106 19.2686 12.8438 19.2686H9.99658ZM9.99658 17.9653H12.8604C13.7126 17.9653 14.3656 17.7661 14.8193 17.3677C15.2731 16.9637 15.5 16.3826 15.5 15.6245C15.5 14.9051 15.2731 14.3296 14.8193 13.8979C14.3656 13.4663 13.743 13.2422 12.9517 13.2256H9.99658V17.9653ZM23.5601 19.1108H20.7212V24H19.1191V11.9141H23.1201C24.4814 11.9141 25.5273 12.224 26.2578 12.8438C26.9938 13.4635 27.3618 14.3656 27.3618 15.5498C27.3618 16.3024 27.1571 16.9582 26.7476 17.5171C26.3436 18.076 25.7791 18.4938 25.0542 18.7705L27.8931 23.9004V24H26.1831L23.5601 19.1108ZM20.7212 17.8076H23.1699C23.9613 17.8076 24.5894 17.6029 25.0542 17.1934C25.5246 16.7839 25.7598 16.236 25.7598 15.5498C25.7598 14.8027 25.5356 14.23 25.0874 13.8315C24.6447 13.4331 24.0028 13.2311 23.1616 13.2256H20.7212V17.8076Z" fill="white"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

@@ -0,0 +1,23 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="45" height="45" viewBox="0 0 45 45">
<defs>
<circle id="d436citeva" cx="22.5" cy="22.5" r="22.5"/>
</defs>
<g fill="none" fill-rule="evenodd">
<g>
<g>
<g transform="translate(-335 -26) translate(0 23) translate(335 3)">
<rect width="45" height="45" fill="#FFF" fill-opacity=".6" rx="22.5"/>
<g>
<mask id="ytu8rzogsb" fill="#fff">
<use xlink:href="#d436citeva"/>
</mask>
<path fill="#42B9FE" fill-opacity=".7" d="M22.5 10.5c5.799 0 10.5 5.037 10.5 11.25 0 3.902-1.854 7.34-4.67 9.358C34.565 33.57 39 39.868 39 47.25c0 9.527-7.387 17.25-16.5 17.25S6 56.777 6 47.25c0-7.381 4.435-13.68 10.67-16.142C13.854 29.09 12 25.652 12 21.75c0-6.213 4.701-11.25 10.5-11.25z" mask="url(#ytu8rzogsb)"/>
</g>
<text fill="#FFF" fill-opacity=".7" font-family="Roboto-Light, Roboto" font-size="20" font-weight="300">
<tspan x="9.995" y="27">PR</tspan>
</text>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

+114 -42
View File
@@ -30,35 +30,46 @@
// calendar
// ionic calendar2
// calendar current day
td.monthview-current{
color: white;
/* border-radius: 89px; */
background: lightskyblue !important;
justify-content: center;
align-items: center;
/* display: flex; */
height: 100%;
div {
padding-left: 7px;
border-radius: 28px;
display: flex;
justify-content: center;
align-items: center;
text-align: center;
color: white;
// current day
ion-slide{
td{
div {
padding-left: 7px;
border-radius: 28px;
display: flex;
justify-content: center;
align-items: center;
text-align: center;
height: 25px;
}
}
}
.monthview-secondary-with-event, .monthview-secondary-with-event[_ngcontent-dwf-c153] {
td.monthview-primary-with-event {
background-color: white !important;
}
td.monthview-selected {
background-color: #42b9fe30 !important;
// current date
td.monthview-current{
border-bottom: 1px solid lightskyblue !important;
color: black !important;
background-color: white !important;
}
// selected date =============================
td.monthview-selected {
background-color: lightskyblue !important;
color: white !important;
}
td.monthview-secondary-with-event, td.monthview-secondary-with-event[_ngcontent-dwf-c153] {
background-color: white !important;
color: black !important;
}
.event-detail-container{
display: none;
}
@@ -87,6 +98,10 @@ td.monthview-selected {
margin-left: 0px !important;
}
.cal-current-time-marker::before{
width: 10px;
height: 10px;
@@ -107,6 +122,10 @@ td.monthview-selected {
}
.timeline-box{
position: relative;
width: calc(100% - 0px);
border-radius: 5px;
padding: 3px;
background-color: white !important;
box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.07) !important;
@@ -125,15 +144,26 @@ td.monthview-selected {
}
.timeline-box-Pessoal{
.timeline-pr-box-Pessoal{
border-left: 5px solid #958bfc !important;
height: 100%;
}
.timeline-pr-box-Oficial{
border-left: 5px solid #99e47b !important;
height: 100%;
}
.timeline-mdgpr-box-Oficial{
border-left: 5px solid #ffb703 !important;
height: 100%;
}
.timeline-box-Oficial{
.timeline-mdgpr-box-Pessoal{
border-left: 5px solid #f05d5e !important;
height: 100%;
}
.table-bordered, .table-bordered{
border: none !important;
td, th {
@@ -147,30 +177,33 @@ td.monthview-selected {
.timeline-box-{}
.calendar-event-type-Oficial{
border-right: 3px solid #f05d5e !important;
.calendar-event-border{
border-radius: 21px !important;
color: black !important;
margin: 0px auto !important;
width: 35px !important;
}
.calendar-event-type-Pessoal{
.calendar-mdgpr-event-type-Oficial{
border-left: 3px solid #ffb703 !important;
border-radius: 21px !important;
color: black !important;
margin: 0px auto !important;
width: 35px !important;
}
.calendar-mdgpr-event-type-Pessoal{
border-right: 3px solid #f05d5e !important;
}
.calendar-mdgpr-event-type-both{
border-left: 3px solid #ffb703 !important;
border-right: 3px solid #f05d5e !important;
}
.calendar-pr-event-type-both{
border-left: 3px solid #99e47b !important;
border-right: 3px solid #958bfc !important;
}
.calendar-event-type-both{
border-radius: 21px !important;
border-left: 3px solid #ffb703 !important;
border-bottom: none !important;
border-right: 3px solid #f05d5e !important;
color: black !important;
margin: 0px auto !important;
width: 35px !important;
.calendar-pr-event-type-Oficial{
border-left: 3px solid #99e47b !important;
}
.calendar-pr-event-type-Pessoal{
border-left: 3px solid #958bfc !important;
}
.cal-hour-segment {
@@ -178,11 +211,50 @@ td.monthview-selected {
}
td.monthview-current{
border-bottom: 1px solid #3a87ad !important;
.calendar-profile{
font-size: 36px
}
/* angular-cli file: src/styles.css */
@import "../node_modules/angular-calendar/css/angular-calendar.css";
@import "./style/main.scss";
// disable calendar build in header
.calendar-component{
thead{
display: none;
}
}
.calendar-top0{
margin-top: 0px;
}
.calendar-top15{
margin-top: 15px;
}
.calendar-top30{
margin-top: 30px;
}
.calendar-top45{
margin-top: 45px;
}
.cal-event{
overflow: visible !important;
}
/* .cal-week-view mwl-calendar-week-view-hour-segment, .cal-week-view .cal-hour-segment {
display: block;
height: 60px !important;
} */
+44
View File
@@ -0,0 +1,44 @@
var month = [
'Janeiro',
'Fevereiro',
'Março',
'Abril',
'Pode',
'Junho',
'Julho',
'Agosto'
]
var week = new Array('Domingo', 'Segunda', 'Terça', 'Quarta', 'Quinta', 'Sexta', 'Sábado');
class momentG {
static run(date, formate , wgs){
if(typeof date.getMonth != 'function') {
date = new Date(date)
}
var e = {
mm : ((date.getMinutes()).toString()).padStart("2","0"),
dd : ((date.getDate()).toString()).padStart("2","0"),
MM : ((date.getMonth()+1).toString()).padStart("2","0"),
HH : date.getHours(),
EEEE : week[date.getDay()].padStart("2","0"),
MMMM : month[date.getMonth()],
yyyy : date.getFullYear(),
}
Object.keys(e).reverse().forEach(element => {
var reg = new RegExp(element,'g')
formate = formate.replace(reg,e[element])
});
return formate
}
}
module.exports = {
momentG: momentG.run
};
File diff suppressed because it is too large Load Diff