changed xcalendario to agenda

This commit is contained in:
Eudes Inácio
2023-02-09 17:03:26 +01:00
54 changed files with 722 additions and 321 deletions
+15 -15
View File
@@ -3,36 +3,36 @@
<ion-tab-bar *ngIf="p.userPermissionCount([permissionList.Agenda.access, permissionList.Gabinete.access, permissionList.Actions.access, permissionList.Chat.access]) >= 2 || (p.userPermission([permissionList.Agenda.access]) && SessionStore.user.OwnerCalendars.length != 0) || p.userPermission([permissionList.Gabinete.access])" class="bottoms" slot="bottom">
<ion-tab-button *ngIf="SessionStore.user.OwnerCalendars.length >= 1 || p.userPermission([permissionList.Gabinete.access])" (click)="goto('/home/events')" tab="events" [class.active]="pathname === '/home/events'">
<ion-tab-button *ngIf="SessionStore.user.OwnerCalendars.length >= 1 || p.userPermission([permissionList.Gabinete.access])" (click)="goto('/home/events')" tab="events" [class.active]="ActiveTabService.pages.home">
<!-- <ion-icon name="home"></ion-icon> -->
<ion-icon *ngIf="pathname != '/home/events'" class="nav-icon" src="assets/images/icons-nav-home.svg"></ion-icon>
<ion-icon *ngIf="pathname == '/home/events'" class="nav-icon" src="assets/images/nav-hover/icons-nav-home-active.svg"></ion-icon>
<ion-icon *ngIf="!ActiveTabService.pages.home" class="nav-icon" src="assets/images/icons-nav-home.svg"></ion-icon>
<ion-icon *ngIf="ActiveTabService.pages.home" class="nav-icon" src="assets/images/nav-hover/icons-nav-home-active.svg"></ion-icon>
<ion-label>Início</ion-label>
</ion-tab-button>
<ion-tab-button *ngIf="p.userPermission([permissionList.Agenda.access])" (click)="goto('/home/agenda')" tab="agenda" [class.active]="pathname === '/home/agenda' ">
<ion-tab-button *ngIf="p.userPermission([permissionList.Agenda.access])" (click)="goto('/home/agenda')" tab="agenda" [class.active]="ActiveTabService.pages.agenda">
<!-- <ion-icon name="calendar"></ion-icon> -->
<ion-icon *ngIf="pathname != '/home/agenda'" class="nav-icon" src="assets/images/icons-nav-calendar.svg"></ion-icon>
<ion-icon *ngIf="pathname == '/home/agenda'" class="nav-icon" src="assets/images/nav-hover/icons-nav-agenda-active.svg"></ion-icon>
<ion-icon *ngIf="!ActiveTabService.pages.agenda" class="nav-icon" src="assets/images/icons-nav-calendar.svg"></ion-icon>
<ion-icon *ngIf="ActiveTabService.pages.agenda" class="nav-icon" src="assets/images/nav-hover/icons-nav-agenda-active.svg"></ion-icon>
<ion-label style="margin-bottom: 2px;" class="overflow-visible">Agenda</ion-label>
</ion-tab-button>
<ion-tab-button *ngIf="p.userPermission([permissionList.Gabinete.access])" (click)="goto('/home/gabinete-digital')" [class.active]="pathname === '/home/gabinete-digital' ">
<ion-tab-button *ngIf="p.userPermission([permissionList.Gabinete.access])" (click)="goto('/home/gabinete-digital')" [class.active]="ActiveTabService.pages.gabinete">
<!-- <ion-icon name="file-tray-stacked"></ion-icon> -->
<ion-icon *ngIf="pathname != '/home/gabinete-digital'" class="nav-icon" src="assets/images/icons-nav-gabinete-inactive.svg"></ion-icon>
<ion-icon *ngIf="pathname == '/home/gabinete-digital'" class="nav-icon" src="assets/images/nav-hover/icons-nav-gabinete-active.svg"></ion-icon>
<ion-icon *ngIf="!ActiveTabService.pages.gabinete" class="nav-icon" src="assets/images/icons-nav-gabinete-inactive.svg"></ion-icon>
<ion-icon *ngIf="ActiveTabService.pages.gabinete" class="nav-icon" src="assets/images/nav-hover/icons-nav-gabinete-active.svg"></ion-icon>
<ion-label>Gabinete</ion-label>
</ion-tab-button>
<ion-tab-button *ngIf="p.userPermission([permissionList.Actions.access])" tab="publications" [class.active]="pathname === '/home/publications' ">
<ion-icon *ngIf="pathname != '/home/publications'" class="nav-icon" src="assets/images/icons-nav-actions.svg"></ion-icon>
<ion-icon *ngIf="pathname == '/home/publications'" class="nav-icon" src="assets/images/nav-hover/icons-nav-actions-active.svg"></ion-icon>
<ion-tab-button *ngIf="p.userPermission([permissionList.Actions.access])" tab="publications" [class.active]="ActiveTabService.pages.publication">
<ion-icon *ngIf="!ActiveTabService.pages.publication" class="nav-icon" src="assets/images/icons-nav-actions.svg"></ion-icon>
<ion-icon *ngIf="ActiveTabService.pages.publication" class="nav-icon" src="assets/images/nav-hover/icons-nav-actions-active.svg"></ion-icon>
<ion-label style="margin-bottom: 2px;" class="overflow-visible">Acções</ion-label>
</ion-tab-button>
<ion-tab-button *ngIf="p.userPermission([permissionList.Chat.access])" tab="chat" [class.active]="pathname === '/home/chat' ">
<ion-icon *ngIf="pathname != '/home/chat'" class="nav-icon" src="assets/images/icons-nav-chat-inactive.svg"></ion-icon>
<ion-icon *ngIf="pathname == '/home/chat'" class="nav-icon" src="assets/images/nav-hover/icons-nav-chat-active.svg"></ion-icon>
<ion-tab-button *ngIf="p.userPermission([permissionList.Chat.access])" tab="chat" [class.active]="ActiveTabService.pages.chat">
<ion-icon *ngIf="!ActiveTabService.pages.chat" class="nav-icon" src="assets/images/icons-nav-chat-inactive.svg"></ion-icon>
<ion-icon *ngIf="ActiveTabService.pages.chat" class="nav-icon" src="assets/images/nav-hover/icons-nav-chat-active.svg"></ion-icon>
<ion-label>Chat</ion-label>
</ion-tab-button>
+6 -8
View File
@@ -14,6 +14,7 @@ import { EventsService } from 'src/app/services/events.service';
import { RochetChatConnectorService } from 'src/app/services/chat/rochet-chat-connector.service';
import { ProcessesService } from 'src/app/services/processes.service';
import { SqliteService } from 'src/app/services/sqlite.service';
import { ActiveTabService } from 'src/app/services/active-tab.service';
import { Device } from '@capacitor/device';
import { RouteService } from 'src/app/services/route.service';
import { NetworkServiceService, ConnectionStatus } from 'src/app/services/network-service.service';
@@ -89,10 +90,11 @@ export class HomePage implements OnInit {
private RochetChatConnectorService: RochetChatConnectorService,
private NetworkServiceService: NetworkServiceService,
public eventService: EventsService,
) {
if (SessionStore.exist) {
this.user = SessionStore.user;
}
public ActiveTabService: ActiveTabService
) {
if (SessionStore.exist) {
this.user = SessionStore.user;
}
this.NativeNotificationService.askForPermission();
this.NativeNotificationService.foregroundNotification();
@@ -224,10 +226,6 @@ export class HomePage implements OnInit {
const info = await Device.getInfo();
}
get pathname() {
return window.location.pathname
}
updateList() {
document.addEventListener('pause', function () {
@@ -80,7 +80,7 @@
</div>
<div class="container-div">
<div *ngIf="!p.userPermission([p.permissionList.Gabinete.pr_tasks])" class="container-div">
<div class="ion-item-class-2">
<div class="ion-icon-class">
<ion-icon slot="start" src="assets/images/icons-person.svg"></ion-icon>
@@ -104,7 +104,7 @@
</div>
</div>
<div class="container-div">
<div *ngIf="!p.userPermission([p.permissionList.Gabinete.pr_tasks])" class="container-div">
<div class="ion-item-class-2">
<div class="ion-icon-class">
<ion-icon slot="start" src="assets/images/icons-people-cc.svg"></ion-icon>
@@ -97,7 +97,7 @@ export class CreateProcessPage implements OnInit {
public p: PermissionService,
private despachoService: DespachoService,
private pedidoService: PedidoService,
public ThemeService: ThemeService
public ThemeService: ThemeService,
) {
this.loggeduser = SessionStore.user;
this.task = this.navParams.get('task');
@@ -199,6 +199,13 @@ export class CreateProcessPage implements OnInit {
this.validateFrom = true
}
defaultParticipants () {
if(this.p.userPermission([this.p.permissionList.Gabinete.pr_tasks])) {
return ['MDGPR']
}
return null
}
injectValidation() {
this.Form = new FormGroup({
@@ -212,7 +219,7 @@ export class CreateProcessPage implements OnInit {
Priority: new FormControl(this.postData.Priority, [
Validators.required,
]),
participantes: new FormControl(this.taskParticipants, [
participantes: new FormControl(this.defaultParticipants() || this.taskParticipants, [
Validators.required
]),
selectedTypes: new FormControl(this.selectedTypes, [
@@ -67,9 +67,11 @@
<div *ngIf="calendars != 'Meu calendario' && calendars != 'Ministro e Director do Gabinete do PR' && calendars != 'Presidente da República'"> Agenda do {{calendars}} </div>
<div *ngIf="calendars == 'Meu calendario'"> Minha agenda </div> -->
<mat-option *ngFor="let calendars of _eventService.calendarNamesAry" value="{{calendars}}">
<div *ngIf="calendars != 'Meu calendario' "> Agenda de {{calendars}} </div>
<div *ngIf="calendars == 'Meu calendario'"> Agenda de {{loggeduser.FullName}} </div>
<mat-option *ngFor="let calendars of _eventService.calendarNamesAry" value="{{calendars.Fullname || calendars}}">
<div *ngIf="calendars != 'Meu calendario' && calendars.Role == 'Presidente da República'"> Agenda do PR </div>
<div *ngIf="calendars != 'Meu calendario' && calendars.Role == 'Ministro e Director do Gabinete do PR'"> Agenda do MD </div>
<div *ngIf="calendars != 'Meu calendario' && calendars.Role != 'Ministro e Director do Gabinete do PR' && calendars.Role != 'Presidente da República'"> Agenda do {{calendars.FullName}} </div>
<div *ngIf="calendars == 'Meu calendario'"> Minha agenda </div>
</mat-option>
</mat-select>
@@ -94,6 +94,7 @@ export class DocumentSetUpMeetingPage implements OnInit {
CalendarName;
CalendarNameShow = true
CalendarNamesOptions
testeFormDefaul = "Eudes"
constructor(
private modalController: ModalController,
+41 -1
View File
@@ -1,3 +1,5 @@
import * as internal from "stream";
export class DailyWorkTask{
SerialNumber: string;
Folio: string;
@@ -67,11 +69,29 @@ export class fullTask {
workflowName: string
}
export const activityInstanceNameArray = [
'Concluir Despacho',
'Tarefa de Despacho','Reexecutar Despacho','Concluir Parecer',
'Concluir Deferimento',
'Reapreciar Deferimento',
'Tarefa de Deferimento',
'Assinar Diploma',
'Diploma Assinado',
'Retificar Diploma',
'Gerar Diploma',
'Editar Evento',
'Revisar Diploma',
'Tarefa de Parecer'
] as const; // TS3.4 syntax
export type activityInstanceName = typeof activityInstanceNameArray[number];
export interface fullTaskList {
serialNumber: string;
taskStartDate: string;
workflowDisplayName: string;
activityInstanceName: string;
activityInstanceName: activityInstanceName;
totalDocuments: number;
workflowInstanceDataFields: {
Subject: string;
@@ -142,6 +162,7 @@ export interface expedienteTask {
}
export interface ExpedienteTask {
Folio: string
SerialNumber: string
Senders : string
CreateDate : any
@@ -151,4 +172,23 @@ export interface ExpedienteTask {
Status : string
taskStartDate: string
Subject: string
}
export interface PedidoDeDeferimento {
serialNumber: string;
taskStartDate: Date;
deadline: Date | null;
workflowDisplayName: string;
activityInstanceName: string;
totalDocuments: number;
workflowInstanceDataFields: PedidoDeDeferimentoWorkflowInstanceDataFields;
}
export interface PedidoDeDeferimentoWorkflowInstanceDataFields {
Sender: string;
Subject: string;
FolderID: number;
Status: string;
originator: string;
}
+7 -6
View File
@@ -218,8 +218,8 @@
<!-- List -->
<ul *ngIf="showTimelineFilterState">
<li class="changeText" [class.active]="segment == 'Combinado' " (click)="changeSegment('Combinado')" class="cursor-pointer">Todos</li>
<li class="changeText" [class.active]="segment == 'Oficial' " (click)="changeSegment('Oficial')" class="cursor-pointer">Calendário Oficial</li>
<li class="changeText" [class.active]="segment == 'Pessoal' " (click)="changeSegment('Pessoal')" class="cursor-pointer">Calendário Pessoal</li>
<li class="changeText" [class.active]="segment == 'Oficial' " (click)="changeSegment('Oficial')" class="cursor-pointer">Agenda Oficial</li>
<li class="changeText" [class.active]="segment == 'Pessoal' " (click)="changeSegment('Pessoal')" class="cursor-pointer">Agenda Pessoal</li>
</ul>
</ion-row>
@@ -233,10 +233,11 @@
<div class="calendar-title-description text-black align-center" *ngIf="eventService.hasSharedCalendar">
<div class="flex-grow-1 text-grey d-flex justify-center align-center">
<mat-option *ngFor="let calendars of eventService.calendarNamesAry.slice(0, 2)" value="{{calendars}}">
<div *ngIf="calendars != 'Meu calendario' && checkRoleInArray('Presidente da República')"> Agenda do PR </div>
<div *ngIf="calendars != 'Meu calendario' && checkRoleInArray('Ministro e Director do Gabinete do PR')"> Agenda do MDGPR </div>
<div *ngIf="calendars != 'Meu calendario' && checkRoleInArray('Presidente da República') && checkRoleInArray('Ministro e Director do Gabinete do PR')"> Agenda do {{calendars}} </div>
<mat-option *ngFor="let calendars of eventService.calendarNamesAry" value="{{calendars.Fullname || calendars}}">
<div *ngIf="calendars != 'Meu calendario' && calendars.Role == 'Presidente da República'"> Agenda do PR </div>
<div *ngIf="calendars != 'Meu calendario' && calendars.Role == 'Ministro e Director do Gabinete do PR'"> Agenda do MD </div>
<div *ngIf="calendars != 'Meu calendario' && calendars.Role != 'Ministro e Director do Gabinete do PR' && calendars.Role != 'Presidente da República'"> Agenda do {{calendars.FullName}} </div>
</mat-option>
</div>
</div>
+4
View File
@@ -202,6 +202,7 @@ export class AgendaPage implements OnInit {
this.listToPresent = []
})
if (this.loggeduser.Profile == 'MDGPR') {
@@ -233,6 +234,9 @@ export class AgendaPage implements OnInit {
window['year'] = this.changeYear
console.log('SessionStore.user', SessionStore.user)
}
tigerUpdate() {
@@ -64,10 +64,10 @@
<mat-form-field appearance="none" floatLabel="never" class="width-100 " >
<mat-select placeholder="Selecione agenda*" [(ngModel)]="postEvent.CalendarName" >
<mat-option value="Oficial">
Calendário Oficial
Agenda Oficial
</mat-option>
<mat-option value="Pessoal">
Calendário Pessoal
Agenda Pessoal
</mat-option>
</mat-select>
</mat-form-field>
@@ -28,11 +28,18 @@
<mat-form-field appearance="none" class="width-100" color="ion-color-secondary" placeholder="Selecione agenda">
<mat-select [(value)]="CalendarName" (selectionChange)="changeAgenda()">
<mat-option *ngFor="let calendars of eventService.calendarNamesAry" value="{{calendars}}">
<div *ngIf="calendars != 'Meu calendario' "> Agenda de {{calendars}} </div>
<div *ngIf="calendars == 'Meu calendario'"> Agenda de {{loggeduser.FullName}} </div>
<!-- <mat-option *ngFor="let calendars of _eventService.calendarNamesAry; let i = index" value="{{calendars}}">
<div *ngIf="calendars != 'Meu calendario' && calendars == 'Presidente da República'"> Agenda do PR </div>
<div *ngIf="calendars != 'Meu calendario' && calendars == 'Ministro e Director do Gabinete do PR'"> Agenda do MD </div>
<div *ngIf="calendars != 'Meu calendario' && calendars != 'Ministro e Director do Gabinete do PR' && calendars != 'Presidente da República'"> Agenda do {{calendars}} </div>
<div *ngIf="calendars == 'Meu calendario'"> Minha agenda </div> -->
<mat-option *ngFor="let calendars of eventService.calendarNamesAry" value="{{calendars.Fullname || calendars}}">
<div *ngIf="calendars != 'Meu calendario' && calendars.Role == 'Presidente da República'"> Agenda do PR </div>
<div *ngIf="calendars != 'Meu calendario' && calendars.Role == 'Ministro e Director do Gabinete do PR'"> Agenda do MD </div>
<div *ngIf="calendars != 'Meu calendario' && calendars.Role != 'Ministro e Director do Gabinete do PR' && calendars.Role != 'Presidente da República'"> Agenda do {{calendars.FullName}} </div>
<div *ngIf="calendars == 'Meu calendario'"> Minha agenda </div>
</mat-option>
</mat-select>
@@ -41,7 +48,6 @@
</div>
</div>
</div>
<div class="container-div">
<div class="ion-item-class-2">
<div class="ion-icon-class">
@@ -63,7 +69,7 @@
<mat-form-field appearance="none" class="width-100" color="ion-color-secondary" placeholder="Selecione agenda">
<mat-select [(value)]="postEvent.CalendarName" >
<mat-option *ngFor="let calendars of CalendarNamesOptions" value="{{calendars}}">
Calendário {{ calendars }}
Agenda {{ calendars }}
</mat-option>
</mat-select>
</mat-form-field>
@@ -117,6 +117,7 @@ export class NewEventPage implements OnInit {
}
if(!this.CalendarName) {
console.log('true', this.eventService.calendarNamesAry.includes('Meu calendario'))
if(this.eventService.calendarNamesAry.includes('Meu calendario')) {
this.CalendarName = 'Meu calendario';
console.log(this.eventService.calendarNamesAry)
@@ -83,9 +83,12 @@ export class DiplomasAssinarPage implements OnInit {
let diplomasAssinar = diplomas.filter(data => data.activityInstanceName == "Assinar Diploma");
this.deplomasStore.resetDiplomasParaAssinar(diplomasAssinar)
this.diplomasList = this.sortService.sortDate(this.diplomasList, 'CreateDate')
let format = diplomasAssinar.map(element => {
return this.customTaskPipe.transform(element)
});
this.deplomasStore.resetDiplomasParaAssinar(format)
this.diplomasList = this.sortService.sortDate(format, 'CreateDate')
} catch(error) {
}
@@ -9,6 +9,7 @@ import { SortService } from 'src/app/services/functions/sort.service';
import { ThemeService } from 'src/app/services/theme.service'
import { PermissionService } from 'src/app/services/permission.service';
import { DeplomasStore } from 'src/app/store/deplomas.service';
import { CustomTaskPipe } from 'src/app/pipes/custom-task.pipe';
@Component({
@@ -28,6 +29,7 @@ export class DiplomasPage implements OnInit, OnDestroy {
skeletonLoader = true
deplomasStore = DeplomasStore
customTaskPipe = new CustomTaskPipe()
constructor(
private processes: ProcessesService,
@@ -124,13 +126,10 @@ export class DiplomasPage implements OnInit, OnDestroy {
this.diplomasList = this.sortService.sortDate(diplomasList, 'CreateDate');
let diplomasAssinados = diplomas.filter(data => data.activityInstanceName == "Diploma Assinado");
let diplomasAssinadoList = [];
diplomasAssinados.forEach(async element => {
let task = this.pipeTask(element);
diplomasAssinadoList.push(task);
// console.log('DIPLOMAS ASSINADOS', task)
let diplomasAssinadoList = diplomasAssinados.map( element => {
return this.pipeTask(element);
});
this.diplomasAssinadoList = this.sortService.sortDate(diplomasAssinadoList, 'CreateDate')
@@ -138,7 +137,10 @@ export class DiplomasPage implements OnInit, OnDestroy {
let diplomasAssinar = diplomas.filter(data => data.activityInstanceName == "Assinar Diploma");
this.deplomasStore.resetDiplomasParaAssinar(diplomasAssinar)
this.deplomasStore.resetDiplomasParaAssinar(diplomasAssinar.map(element => {
return this.customTaskPipe.transform(element)
}))
// console.log('DIPLOMAS ASSINADOS', this.diplomasAssinadoList)
@@ -17,14 +17,12 @@
<ion-toolbar>
<ion-segment [(ngModel)]="segment" (ionChange)="segmentChanged($event)">
<ion-segment-button value="MDGPR">
Meu Calendário
Minha agenda
</ion-segment-button>
<ion-segment-button *ngFor="let calendars of eventService.calendarNamesAry" value="PR">
<!-- <ion-segment-button *ngFor="let calendars of eventService.calendarNamesAry" value="PR">
<div *ngIf="calendars != 'Meu calendario' && calendars == 'Presidente da República'"> Agenda do PR </div>
<div *ngIf="calendars != 'Meu calendario' && calendars == 'Ministro e Director do Gabinete do PR'"> Agenda do MD </div>
<div *ngIf="calendars != 'Meu calendario' && calendars != 'Ministro e Director do Gabinete do PR' && calendars != 'Presidente da República'"> Agenda do {{calendars}} </div> -->
Calendário Partilhado
<div *ngIf="calendars != 'Meu calendario' && calendars.Role == 'Presidente da República'"> Agenda do PR </div>
<div *ngIf="calendars != 'Meu calendario' && calendars.Role == 'Ministro e Director do Gabinete do PR'"> Agenda do MD </div>
<div *ngIf="calendars != 'Meu calendario' && calendars.Role != 'Ministro e Director do Gabinete do PR' && calendars.Role != 'Presidente da República'"> Agenda do {{calendars.FullName}} </div>
</ion-segment-button>
</ion-segment>
</ion-toolbar>
@@ -33,16 +33,21 @@
<div class="ion-input-class flex-grow-1 justify-center align-center material-inputs " [class.input-error]="Form?.get('CalendarName')?.invalid && validateFrom ">
<mat-form-field appearance="none" class="width-100" color="ion-color-secondary" placeholder="Selecione agenda">
<mat-select [(value)]="CalendarOwnerName" (selectionChange)="changeAgenda()">
<mat-option *ngFor="let calendars of calendarService.calendarNamesAry" value="{{calendars}}">
<div *ngIf="calendars != 'Meu calendario' && calendar == 'Presidente da República'"> Agenda do PR </div>
<div *ngIf="calendars != 'Meu calendario' && calendar == 'Ministro e Director do Gabinete do PR'"> Agenda do MD </div>
<div *ngIf="calendars != 'Meu calendario' && calendar != 'Ministro e Director do Gabinete do PR' && calendar != 'Presidente da República'"> Agenda do {{calendars}} </div>
<div *ngIf="calendars == 'Meu calendario'"> Minha agenda </div>
<mat-select [(value)]="CalendarName" (selectionChange)="changeAgenda()">
<!-- <mat-option *ngFor="let calendars of _eventService.calendarNamesAry; let i = index" value="{{calendars}}">
<div *ngIf="calendars != 'Meu calendario' && calendars == 'Presidente da República'"> Agenda do PR </div>
<div *ngIf="calendars != 'Meu calendario' && calendars == 'Ministro e Director do Gabinete do PR'"> Agenda do MD </div>
<div *ngIf="calendars != 'Meu calendario' && calendars != 'Ministro e Director do Gabinete do PR' && calendars != 'Presidente da República'"> Agenda do {{calendars}} </div>
<div *ngIf="calendars == 'Meu calendario'"> Minha agenda </div> -->
<mat-option *ngFor="let calendars of eventService.calendarNamesAry" value="{{calendars.Fullname || calendars}}">
<div *ngIf="calendars != 'Meu calendario' && calendars.Role == 'Presidente da República'"> Agenda do PR </div>
<div *ngIf="calendars != 'Meu calendario' && calendars.Role == 'Ministro e Director do Gabinete do PR'"> Agenda do MD </div>
<div *ngIf="calendars != 'Meu calendario' && calendars.Role != 'Ministro e Director do Gabinete do PR' && calendars.Role != 'Presidente da República'"> Agenda do {{calendars.FullName}} </div>
<div *ngIf="calendars == 'Meu calendario'"> Minha agenda </div>
</mat-option>
</mat-select>
</mat-form-field>
@@ -71,7 +76,7 @@
<mat-form-field appearance="none" class="width-100" color="ion-color-secondary" placeholder="Selecione agenda">
<mat-select [(value)]="CalendarName" >
<mat-option *ngFor="let calendars of CalendarNamesOptions" value="{{calendars}}">
{{ calendars }}
Calendário {{ calendars }}
</mat-option>
</mat-select>
@@ -129,7 +129,7 @@
</div>
</div>
<div class="container-div" >
<div class="container-div" *ngIf="!p.userPermission([p.permissionList.Gabinete.pr_tasks])">
<div class="ion-item-class-2">
<div class="ion-icon-class">
<ion-icon slot="start" src="assets/images/icons-person.svg"></ion-icon>
@@ -152,7 +152,7 @@
</div>
</div>
<div class="container-div">
<div class="container-div" *ngIf="!p.userPermission([p.permissionList.Gabinete.pr_tasks])">
<div class="ion-item-class-2">
<div class="ion-icon-class">
<ion-icon slot="start" src="assets/images/icons-people-cc.svg"></ion-icon>
@@ -23,7 +23,7 @@ import { DespachoService } from 'src/app/Rules/despacho.service';
import { SearchDocumentPipe } from 'src/app/pipes/search-document.pipe';
import { ThemeService } from 'src/app/services/theme.service'
import { SessionStore } from 'src/app/store/session.service';
import { PermissionService } from 'src/app/services/permission.service';
const CUSTOM_DATE_FORMATS: NgxMatDateFormats = {
parse: {
@@ -109,7 +109,8 @@ export class ExpedientTaskModalPage implements OnInit {
private userAuth: AuthService,
private toastService: ToastService,
private despachoService: DespachoService,
public ThemeService: ThemeService
public ThemeService: ThemeService,
public p: PermissionService,
) {
this.loggeduser = SessionStore.user;
@@ -194,6 +195,14 @@ export class ExpedientTaskModalPage implements OnInit {
this.validateFrom = true;
}
defaultParticipants () {
if(this.p.userPermission([this.p.permissionList.Gabinete.pr_tasks])) {
return ['MDGPR']
}
return null
}
injectValidation() {
this.Form = new FormGroup({
@@ -210,7 +219,7 @@ export class ExpedientTaskModalPage implements OnInit {
Priority: new FormControl(this.postData.Priority, [
Validators.required,
]),
participantes: new FormControl(this.taskParticipants, [
participantes: new FormControl(this.defaultParticipants() || this.taskParticipants, [
Validators.required
]),
@@ -394,8 +394,6 @@ export class ExpedienteDetailPage implements OnInit {
});
})
}, (error) => {
@@ -141,6 +141,8 @@
<!-- This is the box view -->
<div *ngSwitchCase="'boxview'" class="aside overflow-y-auto d-flex flex-wrap width-100 height-100">
<div *ngIf="loadCount">
<!-- List -->
<div *ngIf="hideInMobile" (click)="openAllProcessesPage()" [class.active]="selectedElement == 'allProcessesTag'" class="box-hover exp-card d-flex flex-column" >
<div class="d-flex justify-center">
<!-- <ion-icon src="assets/images/icons-agenda.svg"></ion-icon> -->
@@ -149,77 +151,8 @@
<p class="text-center exp-card-title ">Todas as tarefas</p>
<p class="text-center exp-card-content"> {{ getAllProcessCount }} <span class="title1">Documentos</span></p>
</div>
<div *ngIf="p.userPermission([p.permissionList.Gabinete.aprove_event])" (click)="openEventsToApprovePage();selectedElement='approval'" [class.active]="selectedElement == 'approval'" class="box-hover exp-card d-flex flex-column">
<div class="d-flex justify-center">
<ion-icon src="assets/images/icons-agenda.svg"></ion-icon>
</div>
<p class="text-center exp-card-title ">Eventos para Aprovação</p>
<p class="text-center exp-card-content"> {{eventoaprovacaostore.countMd + eventoaprovacaostore.countPr}} <span class="title1">Documentos</span></p>
</div>
<div (click)="openExpedientListPage(); selectedElement='Correspondence'" [class.active]="selectedElement == 'Correspondence'" class="box-hover exp-card d-flex flex-column justify-center">
<div class="d-flex justify-center">
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/icons-correspondencia.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' && selectedElement != 'Correspondence'" src="assets/images/theme/gov/icons-correspondencia.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' && selectedElement == 'Correspondence'" src="assets/images/theme/gov/icons-correspondencia-hover.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'doneIt' " src="assets/images/theme/{{ThemeService.currentTheme}}/icons-correspondencia.svg"></ion-icon>
<ion-icon hidden *ngIf="ThemeService.currentTheme == 'doneIt' && selectedElement == 'Correspondence'" src="assets/images/theme/{{ThemeService.currentTheme}}/icons-correspondencia-hover.svg"></ion-icon>
</div>
<p class="text-center exp-card-title ">Expediente</p>
<p class="text-center exp-card-content"> {{expedientegbstore.count}} <span class="title1">Documentos</span></p>
</div>
<div [class.active]="selectedElementF('Pending')" (click)="openPendentesPage(); selectedElement='Pending'" class="box-hover exp-card d-flex flex-column justify-center" >
<div class="d-flex justify-center">
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/icons-expediente-pendente.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' && selectedElement != 'Pending'" src="assets/images/theme/gov/icons-expediente-pendente.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' && selectedElement == 'Pending'" src="assets/images/theme/gov/icons-expediente-pendente-hover.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'doneIt'" src="assets/images/theme/{{ThemeService.currentTheme}}/icons-expediente-pendente.svg"></ion-icon>
<ion-icon hidden *ngIf="ThemeService.currentTheme == 'doneIt' && selectedElement == 'Pending'" src="assets/images/theme/{{ThemeService.currentTheme}}/icons-expediente-pendente-hover.svg"></ion-icon>
</div>
<p *ngIf="!p.userPermission([p.permissionList.Gabinete.pr_tasks])" class="text-center exp-card-title ">Pendentes</p>
<p *ngIf="p.userPermission([p.permissionList.Gabinete.pr_tasks])" class="text-center exp-card-title ">Meus Pendentes</p>
<p class="text-center exp-card-content"> <span class="number">{{pendentesstore.count}} </span> <span class="title1">Documentos</span></p>
</div>
<div *ngIf="!p.userPermission([p.permissionList.Gabinete.pr_tasks])" [class.active]="selectedElement == 'Dispatches'" class="box-hover exp-card d-flex flex-column justify-center" (click)="openDespachosPage(); selectedElement='Dispatches'">
<div class="d-flex justify-center">
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/icons-despachos-presidente.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' && selectedElement != 'Dispatches'" src="assets/images/theme/gov/icons-despachos-presidente.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' && selectedElement == 'Dispatches'" src="assets/images/theme/gov/icons-despachos-presidente-hover.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'doneIt'" src="assets/images/theme/{{ThemeService.currentTheme}}/icons-despachos-presidente.svg"></ion-icon>
<ion-icon hidden *ngIf="ThemeService.currentTheme == 'doneIt' && selectedElement == 'Dispatches'" src="assets/images/theme/{{ThemeService.currentTheme}}/icons-despachos-presidente-hover.svg"></ion-icon>
</div>
<p class="text-center exp-card-title ">Despachos</p>
<p class="text-center exp-card-content"> {{despachoStore.count}} <span class="title1">Documentos</span> </p>
</div>
<div (click)="openPedidosPage('parecer'); selectedElement='RequestsForOpinion'" [class.active]="selectedElement == 'RequestsForOpinion'" class="box-hover exp-card d-flex flex-column justify-center">
<div class="d-flex justify-center">
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/icons-expediente-parecer.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' && selectedElement != 'RequestsForOpinion' " src="assets/images/theme/gov/icons-expediente-parecer.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' && selectedElement == 'RequestsForOpinion'" src="assets/images/theme/gov/icons-expediente-parecer-hover.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'doneIt' " src="assets/images/theme/{{ThemeService.currentTheme}}/icons-expediente-parecer.svg"></ion-icon>
<ion-icon hidden *ngIf="ThemeService.currentTheme == 'doneIt' && selectedElement == 'RequestsForOpinion'" src="assets/images/theme/{{ThemeService.currentTheme}}/icons-expediente-parecer-hover.svg"></ion-icon>
</div>
<p *ngIf="!p.userPermission([p.permissionList.Gabinete.pr_tasks])" class="text-center exp-card-title ">Pedidos de Parecer</p>
<p *ngIf="p.userPermission([p.permissionList.Gabinete.pr_tasks])" class="text-center exp-card-title ">Pedidos de Parecer solicitados por mim</p>
<p class="text-center exp-card-content"> {{pedidosstore.countparecer}} <span class="title1">Documentos</span></p>
</div>
<div (click)="openPedidosPage('deferimento'); selectedElement = 'RequestForApproval'" [class.active]="selectedElement == 'RequestForApproval'" class="box-hover exp-card d-flex flex-column justify-center">
<div class="d-flex justify-center">
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/icons-expediente-deferimento.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' && selectedElement != 'RequestForApproval'" src="assets/images/theme/gov/icons-expediente-deferimento.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' && selectedElement == 'RequestForApproval'" src="assets/images/theme/gov/icons-expediente-deferimento-hover.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'doneIt' " src="assets/images/theme/{{ThemeService.currentTheme}}/icons-expediente-deferimento.svg"></ion-icon>
<ion-icon hidden *ngIf="ThemeService.currentTheme == 'doneIt' && selectedElement == 'RequestForApproval'" src="assets/images/theme/{{ThemeService.currentTheme}}/icons-expediente-deferimento-hover.svg"></ion-icon>
</div>
<p class="text-center exp-card-title ">Pedidos de Deferimento</p>
<p class="text-center exp-card-content"> {{pedidosstore.countdeferimento}} <span class="title1">Documentos</span></p>
</div>
<!-- List -->
<div *ngIf="p.userPermission([p.permissionList.Gabinete.md_tasks, p.permissionList.Gabinete.pr_tasks])" (click)="openDespachosPrPage(); selectedElement='showDespachosPr'" [class.active]="selectedElement == 'showDespachosPr'" class="box-hover exp-card-long width-100 d-flex flex-column justify-center">
<div class="center-div">
<div class="exp-card-icon">
@@ -235,8 +168,22 @@
</div>
</div>
</div>
<!-- List -->
<div *ngIf="p.userPermission([p.permissionList.Gabinete.md_tasks])" (click)="openDiplomasAssinarPage(); selectedElement='DiplomasParaAssinar'" [class.active]="selectedElement == 'DiplomasParaAssinar'" class="box-hover exp-card d-flex flex-column justify-center">
<div class="d-flex justify-center">
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/icons-expediente-diploma.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' && selectedElement != 'DiplomasParaAssinar' " src="assets/images/theme/gov/icons-expediente-diploma.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' && selectedElement == 'DiplomasParaAssinar' " src="assets/images/theme/gov/icons-expediente-diploma-hover.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'doneIt' " src="assets/images/theme/{{ThemeService.currentTheme}}/icons-expediente-diploma.svg"></ion-icon>
<ion-icon hidden *ngIf="ThemeService.currentTheme == 'doneIt' && selectedElement == 'DiplomasParaAssinar' " src="assets/images/theme/{{ThemeService.currentTheme}}/icons-expediente-diploma-hover.svg"></ion-icon>
</div>
<p class="text-center exp-card-title">Diplomas por Assinar </p>
<p class="text-center exp-card-content"> {{ deplomasStore.diplomasParaAssinartCount }} <span class="title1">Documentos</span></p>
</div>
<!-- List -->
<div *ngIf="p.userPermission([p.permissionList.Gabinete.md_tasks])" (click)="openDiplomasPage('validar'); selectedElement='DiplomasPorValidar'" [class.active]="selectedElement == 'DiplomasPorValidar'" class="box-hover exp-card d-flex flex-column justify-center">
<div class="d-flex justify-center">
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/icons-expediente-diploma.svg"></ion-icon>
@@ -248,6 +195,8 @@
<p class="text-center exp-card-content"> {{ deplomasStore.deplomasReviewCount }} <span class="title1">Documentos</span> </p>
</div>
<!-- List -->
<div *ngIf="p.userPermission([p.permissionList.Gabinete.md_tasks, p.permissionList.Gabinete.pr_tasks])" (click)="openDiplomasPage('assinados'); selectedElement='DiplomasAssinados'" [class.active]="selectedElement == 'DiplomasAssinados'" class="box-hover exp-card d-flex flex-column justify-center">
<div class="d-flex justify-center">
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/icons-diplomas-assinados-presidente.svg"></ion-icon>
@@ -258,7 +207,21 @@
<p class="text-center exp-card-title " *ngIf="p.userPermission([p.permissionList.Gabinete.pr_tasks])" >Diplomas</p>
<p class="text-center exp-card-content"> {{ deplomasStore.countDiplomasAssinadoListCount }} <span class="title1">Documentos</span></p>
</div>
<!-- List -->
<div *ngIf="p.userPermission([p.permissionList.Gabinete.pr_tasks])" (click)="openDiplomasAssinarPage(); selectedElement='DiplomasParaAssinar'" [class.active]="selectedElement == 'DiplomasParaAssinar'" class="box-hover exp-card d-flex flex-column justify-center">
<div class="d-flex justify-center">
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/icons-expediente-diploma.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' && selectedElement != 'DiplomasParaAssinar' " src="assets/images/theme/gov/icons-expediente-diploma.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' && selectedElement == 'DiplomasParaAssinar' " src="assets/images/theme/gov/icons-expediente-diploma-hover.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'doneIt' " src="assets/images/theme/{{ThemeService.currentTheme}}/icons-expediente-diploma.svg"></ion-icon>
<ion-icon hidden *ngIf="ThemeService.currentTheme == 'doneIt' && selectedElement == 'DiplomasParaAssinar' " src="assets/images/theme/{{ThemeService.currentTheme}}/icons-expediente-diploma-hover.svg"></ion-icon>
</div>
<p class="text-center exp-card-title">Diplomas para Assinar</p>
<p class="text-center exp-card-content"> {{ deplomasStore.diplomasParaAssinartCount }} <span class="title1">Documentos</span></p>
</div>
<!-- List -->
<div *ngIf="SessionStore.user.Profile == 'Consultant' && environment.presidencial" (click)="openDiplomaPorElaborar('gerarDiplomas'); selectedElement='gerarDiplomas'" [class.active]="selectedElement == 'gerarDiplomas'" class="box-hover exp-card d-flex flex-column justify-center">
<div class="d-flex justify-center">
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/icons-diplomas-assinados-presidente.svg"></ion-icon>
@@ -272,31 +235,89 @@
<p class="text-center exp-card-content"> {{ deplomasStore.DiplomaGerarList.length }} <span class="title1">Documentos</span></p>
</div>
<div *ngIf="p.userPermission([p.permissionList.Gabinete.pr_tasks])" (click)="openDiplomasAssinarPage(); selectedElement='DiplomasParaAssinar'" [class.active]="selectedElement == 'DiplomasParaAssinar'" class="box-hover exp-card d-flex flex-column justify-center">
<!-- List -->
<div *ngIf="p.userPermission([p.permissionList.Gabinete.aprove_event])" (click)="openEventsToApprovePage();selectedElement='approval'" [class.active]="selectedElement == 'approval'" class="box-hover exp-card d-flex flex-column">
<div class="d-flex justify-center">
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/icons-expediente-diploma.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' && selectedElement != 'DiplomasParaAssinar' " src="assets/images/theme/gov/icons-expediente-diploma.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' && selectedElement == 'DiplomasParaAssinar' " src="assets/images/theme/gov/icons-expediente-diploma-hover.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'doneIt' " src="assets/images/theme/{{ThemeService.currentTheme}}/icons-expediente-diploma.svg"></ion-icon>
<ion-icon hidden *ngIf="ThemeService.currentTheme == 'doneIt' && selectedElement == 'DiplomasParaAssinar' " src="assets/images/theme/{{ThemeService.currentTheme}}/icons-expediente-diploma-hover.svg"></ion-icon>
<ion-icon src="assets/images/icons-agenda.svg"></ion-icon>
</div>
<p class="text-center exp-card-title">Diplomas para Assinar</p>
<p class="text-center exp-card-content"> {{ deplomasStore.diplomasParaAssinartCount }} <span class="title1">Documentos</span></p>
<p class="text-center exp-card-title ">Eventos para Aprovação</p>
<p class="text-center exp-card-content"> {{eventoaprovacaostore.countMd + eventoaprovacaostore.countPr}} <span class="title1">Documentos</span></p>
</div>
<!-- List -->
<div (click)="openExpedientListPage(); selectedElement='Correspondence'" [class.active]="selectedElement == 'Correspondence'" class="box-hover exp-card d-flex flex-column justify-center">
<div class="d-flex justify-center">
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/icons-correspondencia.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' && selectedElement != 'Correspondence'" src="assets/images/theme/gov/icons-correspondencia.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' && selectedElement == 'Correspondence'" src="assets/images/theme/gov/icons-correspondencia-hover.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'doneIt' " src="assets/images/theme/{{ThemeService.currentTheme}}/icons-correspondencia.svg"></ion-icon>
<ion-icon hidden *ngIf="ThemeService.currentTheme == 'doneIt' && selectedElement == 'Correspondence'" src="assets/images/theme/{{ThemeService.currentTheme}}/icons-correspondencia-hover.svg"></ion-icon>
</div>
<p class="text-center exp-card-title ">Expediente</p>
<p class="text-center exp-card-content"> {{expedientegbstore.count}} <span class="title1">Documentos</span></p>
</div>
<div *ngIf="p.userPermission([p.permissionList.Gabinete.md_tasks])" (click)="openDiplomasAssinarPage(); selectedElement='DiplomasParaAssinar'" [class.active]="selectedElement == 'DiplomasParaAssinar'" class="box-hover exp-card d-flex flex-column justify-center">
<!-- List -->
<div *ngIf="!p.userPermission([p.permissionList.Gabinete.pr_tasks])" [class.active]="selectedElement == 'Dispatches'" class="box-hover exp-card d-flex flex-column justify-center" (click)="openDespachosPage(); selectedElement='Dispatches'">
<div class="d-flex justify-center">
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/icons-expediente-diploma.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' && selectedElement != 'DiplomasParaAssinar' " src="assets/images/theme/gov/icons-expediente-diploma.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' && selectedElement == 'DiplomasParaAssinar' " src="assets/images/theme/gov/icons-expediente-diploma-hover.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'doneIt' " src="assets/images/theme/{{ThemeService.currentTheme}}/icons-expediente-diploma.svg"></ion-icon>
<ion-icon hidden *ngIf="ThemeService.currentTheme == 'doneIt' && selectedElement == 'DiplomasParaAssinar' " src="assets/images/theme/{{ThemeService.currentTheme}}/icons-expediente-diploma-hover.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/icons-despachos-presidente.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' && selectedElement != 'Dispatches'" src="assets/images/theme/gov/icons-despachos-presidente.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' && selectedElement == 'Dispatches'" src="assets/images/theme/gov/icons-despachos-presidente-hover.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'doneIt'" src="assets/images/theme/{{ThemeService.currentTheme}}/icons-despachos-presidente.svg"></ion-icon>
<ion-icon hidden *ngIf="ThemeService.currentTheme == 'doneIt' && selectedElement == 'Dispatches'" src="assets/images/theme/{{ThemeService.currentTheme}}/icons-despachos-presidente-hover.svg"></ion-icon>
</div>
<p class="text-center exp-card-title">Diplomas por Assinar </p>
<p class="text-center exp-card-content"> {{ deplomasStore.diplomasParaAssinartCount }} <span class="title1">Documentos</span></p>
<p class="text-center exp-card-title ">Despachos</p>
<p class="text-center exp-card-content"> {{despachoStore.count}} <span class="title1">Documentos</span> </p>
</div>
<!-- List -->
<div (click)="openPedidosPage('parecer'); selectedElement='RequestsForOpinion'" [class.active]="selectedElement == 'RequestsForOpinion'" class="box-hover exp-card d-flex flex-column justify-center">
<div class="d-flex justify-center">
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/icons-expediente-parecer.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' && selectedElement != 'RequestsForOpinion' " src="assets/images/theme/gov/icons-expediente-parecer.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' && selectedElement == 'RequestsForOpinion'" src="assets/images/theme/gov/icons-expediente-parecer-hover.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'doneIt' " src="assets/images/theme/{{ThemeService.currentTheme}}/icons-expediente-parecer.svg"></ion-icon>
<ion-icon hidden *ngIf="ThemeService.currentTheme == 'doneIt' && selectedElement == 'RequestsForOpinion'" src="assets/images/theme/{{ThemeService.currentTheme}}/icons-expediente-parecer-hover.svg"></ion-icon>
</div>
<p *ngIf="!p.userPermission([p.permissionList.Gabinete.pr_tasks])" class="text-center exp-card-title ">Pedidos de Parecer</p>
<p *ngIf="p.userPermission([p.permissionList.Gabinete.pr_tasks])" class="text-center exp-card-title ">Pedidos de Parecer solicitados por mim</p>
<p class="text-center exp-card-content"> {{pedidosstore.countparecer}} <span class="title1">Documentos</span></p>
</div>
<!-- List -->
<div (click)="openPedidosPage('deferimento'); selectedElement = 'RequestForApproval'" [class.active]="selectedElement == 'RequestForApproval'" class="box-hover exp-card d-flex flex-column justify-center">
<div class="d-flex justify-center">
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/icons-expediente-deferimento.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' && selectedElement != 'RequestForApproval'" src="assets/images/theme/gov/icons-expediente-deferimento.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' && selectedElement == 'RequestForApproval'" src="assets/images/theme/gov/icons-expediente-deferimento-hover.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'doneIt' " src="assets/images/theme/{{ThemeService.currentTheme}}/icons-expediente-deferimento.svg"></ion-icon>
<ion-icon hidden *ngIf="ThemeService.currentTheme == 'doneIt' && selectedElement == 'RequestForApproval'" src="assets/images/theme/{{ThemeService.currentTheme}}/icons-expediente-deferimento-hover.svg"></ion-icon>
</div>
<p class="text-center exp-card-title ">Pedidos de Deferimento</p>
<p class="text-center exp-card-content"> {{pedidosstore.countdeferimento}} <span class="title1">Documentos</span></p>
</div>
<!-- List -->
<div [class.active]="selectedElementF('Pending')" (click)="openPendentesPage(); selectedElement='Pending'" class="box-hover exp-card d-flex flex-column justify-center" >
<div class="d-flex justify-center">
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/icons-expediente-pendente.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' && selectedElement != 'Pending'" src="assets/images/theme/gov/icons-expediente-pendente.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' && selectedElement == 'Pending'" src="assets/images/theme/gov/icons-expediente-pendente-hover.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'doneIt'" src="assets/images/theme/{{ThemeService.currentTheme}}/icons-expediente-pendente.svg"></ion-icon>
<ion-icon hidden *ngIf="ThemeService.currentTheme == 'doneIt' && selectedElement == 'Pending'" src="assets/images/theme/{{ThemeService.currentTheme}}/icons-expediente-pendente-hover.svg"></ion-icon>
</div>
<p *ngIf="!p.userPermission([p.permissionList.Gabinete.pr_tasks])" class="text-center exp-card-title ">Pendentes</p>
<p *ngIf="p.userPermission([p.permissionList.Gabinete.pr_tasks])" class="text-center exp-card-title ">Meus Pendentes</p>
<p class="text-center exp-card-content"> <span class="number">{{pendentesstore.count}} </span> <span class="title1">Documentos</span></p>
</div>
</div>
<div *ngIf="!loadCount" class="width-100">
@@ -705,12 +705,12 @@ export class GabineteDigitalPage implements OnInit {
this.pendentesstore.reset(pendentes);
this.updateAllProcess()
let depachoAPI: any = await this.processesbackend.GetTasksList("Despacho do Presidente da República", false).toPromise();
let depachoAPI = await this.processesbackend.GetTasksList("Despacho do Presidente da República", false).toPromise();
if(SessionStore.user.Profile != 'PR') {
let depacho = depachoAPI.reverse().filter(data => data.activityInstanceName == "Tarefa de Despacho");
let depacho: any = depachoAPI.reverse().filter(data => data.activityInstanceName == "Tarefa de Despacho");
depacho = depacho.filter(data => data.workflowInstanceDataFields.Status == "Active");
depacho = depacho.map((e)=> this.customTaskPipe.transform(e))
@@ -719,7 +719,7 @@ export class GabineteDigitalPage implements OnInit {
this.updateAllProcess()
} else if(SessionStore.user.Profile == 'PR') {
let depacho = depachoAPI.filter(data => data.activityInstanceName == "Concluir Despacho").filter(data => data.workflowInstanceDataFields.Status == "Active")
let depacho: any = depachoAPI.filter(data => data.activityInstanceName == "Concluir Despacho").filter(data => data.workflowInstanceDataFields.Status == "Active")
depacho = depacho.map((e)=> this.customTaskPipe.transform(e))
this.despachoprstore.reset(depacho)
this.updateAllProcess()
@@ -771,12 +771,14 @@ export class GabineteDigitalPage implements OnInit {
}))
let diplomasAssinar = depachoAPI.filter(data => data.activityInstanceName == "Assinar Diploma");
let diplomasAssinar: any = depachoAPI.filter(data => data.activityInstanceName == "Assinar Diploma");
diplomasAssinar = diplomasAssinar.map((element) => this.expedienteTaskPipe.transform(element))
this.deplomasStore.resetDiplomasParaAssinar(diplomasAssinar)
let diplomasAssinados = depachoAPI.filter(data => data.activityInstanceName == "Diploma Assinado");
let diplomasAssinados: any = depachoAPI.filter(data => data.activityInstanceName == "Diploma Assinado");
diplomasAssinados = diplomasAssinados.map((element) => this.expedienteTaskPipe.transform(element))
this.deplomasStore.resetDiplomasAssinadoList(diplomasAssinados)
this.updateAllProcess()
this.loadCount = true
@@ -789,7 +791,10 @@ export class GabineteDigitalPage implements OnInit {
if (event) {
setTimeout(() => {
event?.target?.complete();
try {
event?.target?.complete();
} catch(error) {}
}, 2000);
}
else {
+1
View File
@@ -16,6 +16,7 @@ export class ExpedienteTaskPipe implements PipeTransform {
"SerialNumber": fullTask.serialNumber,
"taskStartDate": fullTask.taskStartDate,
"Subject": fullTask.workflowInstanceDataFields.Subject,
"Folio": fullTask.workflowInstanceDataFields.Subject,
"Senders": fullTask.workflowInstanceDataFields.Sender,
"CreateDate": date,
"DocumentsQty": fullTask.totalDocuments,
@@ -0,0 +1,16 @@
import { TestBed } from '@angular/core/testing';
import { ActiveTabService } from './active-tab.service';
describe('ActiveTabService', () => {
let service: ActiveTabService;
beforeEach(() => {
TestBed.configureTestingModule({});
service = TestBed.inject(ActiveTabService);
});
it('should be created', () => {
expect(service).toBeTruthy();
});
});
+49
View File
@@ -0,0 +1,49 @@
import { Injectable } from '@angular/core';
import { Router } from '@angular/router';
@Injectable({
providedIn: 'root'
})
export class ActiveTabService {
pages = {
chat: false,
agenda: false,
publication: false,
home: false,
gabinete: false
}
constructor(private router: Router) {
this.detectActiveTab()
this.router.events.subscribe((val) => {
this.detectActiveTab()
});
}
detectActiveTab() {
this.setFalseToAllPage();
const pathName = window.location.pathname
if(pathName.startsWith('/home/agenda')) {
this.pages.agenda = true
} else if (pathName.startsWith('/home/events')) {
this.pages.home = true
} else if (pathName.startsWith('/home/gabinete-digital')) {
this.pages.gabinete = true
} else if (pathName.startsWith('/home/publications')) {
this.pages.publication = true
} else if (pathName.startsWith('/home/chat')) {
this.pages.chat = true
}
}
setFalseToAllPage() {
for( const page in this.pages) {
this.pages[page] = false
}
}
}
@@ -95,6 +95,13 @@ export class ChatSystemService {
this.loadChat();
}
document.addEventListener('resume', function () {
if(this._dm?.length == 0 && this._group?.length == 0) {
this.getAllRooms();
}
});
}
loadChat() {
+1 -1
View File
@@ -480,7 +480,7 @@ export class MessageService {
return SessionStore.user.ChatData.data.userId == this.u._id
}
private getChatObj() {
getChatObj() {
return {
channels: this.channels,
mentions: this.mentions,
+34 -31
View File
@@ -125,7 +125,7 @@ export class RoomService {
this.hasLoadHistory = false
this.subscribeAttempt = false
}
})
});
}
@@ -174,11 +174,7 @@ export class RoomService {
this.calDateDuration();
(async () => {
await this.restoreMessageFromDB()
await this.loadHistory({})
})()
if(this.customFields?.countDownDate) {
this.countDownDate(this.customFields.countDownDate);
}
@@ -327,7 +323,7 @@ export class RoomService {
if(!found) {
ChatMessage.origin = 'stream'
const message = await this.prepareCreate({message: ChatMessage, save: true});
const message = await this.prepareCreate({message: ChatMessage, save: false});
this.registerSendMessage(message)
message.from = 'stream'
@@ -348,7 +344,10 @@ export class RoomService {
}
if(this.hasLoadHistory == true) {
this.messages.push(message)
await message.addMessageDB()
} else {
this.messagesBeforeOfflineAPI.push(message)
}
if(this.chatOpen == false) {
@@ -503,7 +502,6 @@ export class RoomService {
if(previousLastMessage) {
this.lastMessage = previousLastMessage;
// console.log("last message"+ previousLastMessage)
this.calDateDuration(previousLastMessage._updatedAt)
this.sortRoomList()
}
@@ -736,12 +734,11 @@ export class RoomService {
setTimeout(() => {
this.scrollDown()
}, 50)
}
}
// runs onces only
loadHistoryCount = 0
async loadHistory({limit = 1000, forceUpdate = false }) {
if(forceUpdate == false) {
@@ -752,33 +749,37 @@ export class RoomService {
this.hasLoadHistory = true
await this.restoreMessageFromDB()
const chatHistory: chatHistory = await this.RochetChatConnectorService.loadHistory(this.id, limit)
if(chatHistory?.result?.messages) {
const messagesId = this.messages.map((message)=> message._id)
const users = this.getUsersByStatus('online')
for(let message of chatHistory.result.messages.reverse()) {
if (!messagesId.includes(message._id)) {
message.origin = 'history'
message.from = 'History'
const messagesToSave = await this.prepareMessageCreateIfNotExist({message: message});
if(messagesToSave != null) {
messagesToSave.received = users.map((user) => user._id)
messagesToSave.addMessageDB()
// console.log('add history', message)
} else {
// console.log('exit')
}
} else {
// console.log('exit')
message.origin = 'history'
message.from = 'History'
const messagesToSave = await this.prepareMessageCreateIfNotExist({message: message});
if(messagesToSave != null) {
messagesToSave.received = users.map((user) => user._id)
messagesToSave.addMessageDB()
}
}
for( const message of this.messagesBeforeOfflineAPI) {
const messagesToSave = await this.prepareMessageCreateIfNotExist({message: message});
if(messagesToSave != null) {
messagesToSave.received = users.map((user) => user._id)
messagesToSave.addMessageDB()
}
}
this.messagesBeforeOfflineAPI = []
setTimeout(() => {
this.scrollDown()
}, 50)
@@ -824,8 +825,10 @@ export class RoomService {
wewMessage.setData(message)
wewMessage.loadHistory = this.hasLoadHistory
this.messages.push(wewMessage)
if(save) {
this.messages.push(wewMessage)
}
return wewMessage
}
@@ -842,17 +845,17 @@ export class RoomService {
private findMessageBy_id (id) {
for( let m of this.messages) {
if(m._id == id) {
if(m?._id == id) {
return true
}
}
return false
}
private findMessageBy_localReference (localReference) {
for( let m of this.messages) {
if(m.localReference == localReference) {
if(m?.localReference == localReference) {
return true
}
}
@@ -893,7 +896,7 @@ export class RoomService {
async prepareMessageCreateIfNotExist({message}) {
message = this.fix_updatedAt(message)
let found = await this.findMessageBy_id(message._id) || this.findMessageBy_localReference(message.localReference)
let found = await this.findMessageBy_id(message._id) || await this.findMessageBy_localReference(message.localReference)
// || await this.findMessageInDBByData({_id:message._id, localReference:message.localReference })
if (!found) {
+12 -2
View File
@@ -259,7 +259,7 @@ export class EventsService {
console.log('ROLE',e.Role, e.FullName)
if(!this.calendarNamesAry.includes(e.FullName)) {
if(!this.calendarNamesAry.find(x => x.Role == e.Role)) {
/* if(e.Role == "Presidente da República") {
this.calendarNamesAry.push(e.Role)
console.log('PR ROLE',this.calendarNamesAry)
@@ -271,13 +271,21 @@ export class EventsService {
console.log('NORMAL ROLE',this.calendarNamesAry)
} */
//this.calendarRole.push(e.Role)
let objectShared = {
"Fullname": e.FullName,
"Role": e.Role
}
this.calendarNamesAry.push(objectShared)
console.log('objectShared',this.calendarNamesAry)
this.calendarNamesType[e.FullName] = {}
}
this.calendarNamesType[e.FullName][sharedCalendar.CalendarName] = true
this.calendarNamesType[e.FullName][sharedCalendar.CalendarName+'Id'] = sharedCalendar.CalendarId
this.calendarNamesType[e.FullName]['RoleId'] = sharedCalendar.CalendarRoleId
})
}
@@ -290,11 +298,13 @@ export class EventsService {
if(!this.calendarNamesAry.includes('Meu calendario')) {
this.calendarNamesAry.push('Meu calendario')
console.log(this.calendarNamesAry)
this.calendarNamesType['Meu calendario'] = {}
}
this.calendarNamesType['Meu calendario'][sharedCalendar.CalendarName] = true
this.calendarNamesType['Meu calendario'][sharedCalendar.CalendarName+'Id'] = sharedCalendar.CalendarId
this.calendarNamesType['Meu calendario']['RoleId'] = sharedCalendar.CalendarRoleId
}
+1 -1
View File
@@ -87,7 +87,7 @@ export class ProcessesService {
return this.http.get<ExpedienteFullTask[]>(`${geturl}`, options);
}
GetTask(serialnumber:string): Observable<any>{
GetTask(serialnumber:string): Observable<any> {
const geturl = environment.apiURL + 'Tasks/FindTask';
let params = new HttpParams();
@@ -11,10 +11,12 @@
<ion-toolbar>
<ion-segment [(ngModel)]="segment" (ionChange)="segmentChanged($event)">
<ion-segment-button value="MDGPR">
Meu Calendário
Minha agenda
</ion-segment-button>
<ion-segment-button value="PR">
Calendário Partilhado
<ion-segment-button *ngFor="let calendars of eventService.calendarNamesAry" value="PR">
<div *ngIf="calendars != 'Meu calendario' && calendars.Role == 'Presidente da República'"> Agenda do PR </div>
<div *ngIf="calendars != 'Meu calendario' && calendars.Role == 'Ministro e Director do Gabinete do PR'"> Agenda do MD </div>
<div *ngIf="calendars != 'Meu calendario' && calendars.Role != 'Ministro e Director do Gabinete do PR' && calendars.Role != 'Presidente da República'"> Agenda do {{calendars.FullName}} </div>
</ion-segment-button>
</ion-segment>
</ion-toolbar>
@@ -6,6 +6,7 @@ import { NavigationEnd, Router } from '@angular/router';
import { LoginUserRespose } from 'src/app/models/user.model';
import { SortService } from 'src/app/services/functions/sort.service';
import { SessionStore } from 'src/app/store/session.service';
import { EventsService } from 'src/app/services/events.service';
@Component({
selector: 'app-event-list',
@@ -36,6 +37,7 @@ export class EventListPage implements OnInit {
private processes:ProcessesService,
private router: Router,
private sortService: SortService,
public eventService: EventsService,
) {
this.loggeduser = SessionStore.user;
}
@@ -40,11 +40,17 @@
<mat-form-field appearance="none" class="width-100" color="ion-color-secondary" placeholder="Selecione agenda">
<mat-select [(value)]="CalendarName" (selectionChange)="changeAgenda()">
<mat-option *ngFor="let calendars of eventService.calendarNamesAry" value="{{calendars}}">
<div *ngIf="calendars != 'Meu calendario' && calendar == 'Presidente da República'"> Agenda do PR </div>
<div *ngIf="calendars != 'Meu calendario' && calendar == 'Ministro e Director do Gabinete do PR'"> Agenda do MD </div>
<div *ngIf="calendars != 'Meu calendario' && calendar != 'Ministro e Director do Gabinete do PR' && calendar != 'Presidente da República'"> Agenda do {{calendars}} </div>
<div *ngIf="calendars == 'Meu calendario'"> Minha agenda </div>
<!-- <mat-option *ngFor="let calendars of _eventService.calendarNamesAry; let i = index" value="{{calendars}}">
<div *ngIf="calendars != 'Meu calendario' && calendars == 'Presidente da República'"> Agenda do PR </div>
<div *ngIf="calendars != 'Meu calendario' && calendars == 'Ministro e Director do Gabinete do PR'"> Agenda do MD </div>
<div *ngIf="calendars != 'Meu calendario' && calendars != 'Ministro e Director do Gabinete do PR' && calendars != 'Presidente da República'"> Agenda do {{calendars}} </div>
<div *ngIf="calendars == 'Meu calendario'"> Minha agenda </div> -->
<mat-option *ngFor="let calendars of eventService.calendarNamesAry" value="{{calendars.Fullname || calendars}}">
<div *ngIf="calendars != 'Meu calendario' && calendars.Role == 'Presidente da República'"> Agenda do PR </div>
<div *ngIf="calendars != 'Meu calendario' && calendars.Role == 'Ministro e Director do Gabinete do PR'"> Agenda do MD </div>
<div *ngIf="calendars != 'Meu calendario' && calendars.Role != 'Ministro e Director do Gabinete do PR' && calendars.Role != 'Presidente da República'"> Agenda do {{calendars.FullName}} </div>
<div *ngIf="calendars == 'Meu calendario'"> Minha agenda </div>
</mat-option>
</mat-select>
@@ -2,11 +2,11 @@
<ion-progress-bar type="indeterminate" *ngIf="skeletonLoader"></ion-progress-bar>
<div class="title">
<div class="thetitle"><ion-label >Diplomas para assinar</ion-label></div>
<!-- <div class="theicon">
<div class="theicon">
<button title="Atualizar" class="btn-no-color" (click)="doRefresh($event)">
<ion-icon slot="end" class="title-icon font-awesome" name="reload-circle"></ion-icon>
</button>
</div> -->
</div>
</div>
</ion-header>
<ion-content>
@@ -38,7 +38,7 @@
<div class="item width-100">
<div class="exp-top-detail">
<div class="subject">
<ion-label>{{ task.Folio }}</ion-label>
<ion-label>{{ task.Folio || task.workflowInstanceDataFields.Subject }}</ion-label>
</div>
<div class="exp-icon">
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/icons-expediente-attachment.svg"></ion-icon>
@@ -71,9 +71,8 @@ export class DiplomasAssinarPage implements OnInit {
let diplomasAssinar = diplomas.reverse().filter(data => data.activityInstanceName == "Assinar Diploma");
diplomasAssinar.forEach(element => {
let task: customTask = this.customTaskPipe.transform(element)
this.diplomasList.push(task);
this.diplomasList = diplomasAssinar.map(element => {
return this.customTaskPipe.transform(element)
});
this.diplomasList = this.sortService.sortDate(this.diplomasList, 'CreateDate')
@@ -66,29 +66,23 @@ export class DiplomasPage implements OnInit {
let diplomas = await this.processes.GetTasksList("Despacho do Presidente da República", false).toPromise();
this.diplomasList = [];
let diplomasList = [];
// let diplomasReview = diplomas.reverse().filter(data => data.activityInstanceName == "Diploma Assinado");
diplomas.forEach(element => {
let task = this.pipeTask(element)
diplomasList.push(task);
let diplomasList = diplomas.map(element => {
return this.pipeTask(element)
});
diplomasList = diplomasList.filter(data => data.activityInstanceName != "Tarefa de Despacho");
diplomasList = diplomasList.filter(data => data.activityInstanceName == "Revisar Diploma");
this.diplomasList = this.sortService.sortDate(diplomasList, 'CreateDate')
this.deplomasStore.resetDiplomasReview(this.diplomasList)
let diplomasAssinadoList = []
let diplomasAssinados = diplomas.reverse().filter(data => data.activityInstanceName == "Diploma Assinado");
diplomasAssinados.forEach(async element => {
let task = this.pipeTask(element)
diplomasAssinadoList.push(task);
let diplomasAssinadoList = diplomasAssinados.map(element => {
return this.pipeTask(element)
});
this.diplomasAssinadoList = this.sortService.sortDate(diplomasAssinadoList, 'CreateDate')
@@ -10,10 +10,12 @@
<ion-toolbar>
<ion-segment [(ngModel)]="segment" (ionChange)="segmentChanged($event)">
<ion-segment-button value="MDGPR">
Meu Calendário
Minha agenda
</ion-segment-button>
<ion-segment-button value="PR">
Calendário Partilhado
<ion-segment-button *ngFor="let calendars of eventService.calendarNamesAry" value="PR">
<div *ngIf="calendars != 'Meu calendario' && calendars.Role == 'Presidente da República'"> Agenda do PR </div>
<div *ngIf="calendars != 'Meu calendario' && calendars.Role == 'Ministro e Director do Gabinete do PR'"> Agenda do MD </div>
<div *ngIf="calendars != 'Meu calendario' && calendars.Role != 'Ministro e Director do Gabinete do PR' && calendars.Role != 'Presidente da República'"> Agenda do {{calendars.FullName}} </div>
</ion-segment-button>
</ion-segment>
</ion-toolbar>
@@ -10,6 +10,8 @@ import { EventoAprovacaoStore } from 'src/app/store/eventoaprovacao-store.servic
import { SortService } from 'src/app/services/functions/sort.service';
import { Storage } from '@ionic/storage';
import { SessionStore } from 'src/app/store/session.service';
import { EventsService } from 'src/app/services/events.service';
@Component({
selector: 'app-events-to-approve',
@@ -35,7 +37,8 @@ export class EventsToApprovePage implements OnInit {
private router: Router,
private userAuth: AuthService,
private sortService: SortService,
private storage: Storage
private storage: Storage,
public eventService: EventsService,
)
{
this.loggeduser = SessionStore.user;
+5 -5
View File
@@ -74,7 +74,7 @@
<div class="d-flex flex-1 pr-20 pl-50" *ngIf="p.userPermissionCount([permissionList.Agenda.access, permissionList.Gabinete.access, permissionList.Actions.access, permissionList.Chat.access]) >= 2 || (p.userPermission([permissionList.Agenda.access]) && loggeduser.OwnerCalendars.length != 0) || p.userPermission([permissionList.Gabinete.access])">
<div *ngIf="p.userPermission([permissionList.Agenda.access]) || p.userPermission([permissionList.Gabinete.access])" class="tab mr-20 d-flex align-center cursor-pointer" (click)="changeRoute('/home/events')"
[class.active]="locationPathname() == '/home/events'">
[class.active]="ActiveTabService.pages.home">
<ion-icon *ngIf="ThemeService.currentTheme == 'default' || ThemeService.currentTheme == 'doneIt' " class="font-40" src='assets/images/icons-nav-home-active-black.svg'></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " class="font-40" src='assets/images/theme/gov/icons-nav-home-active-black.svg'></ion-icon>
@@ -83,7 +83,7 @@
</div>
<div *ngIf="p.userPermission([permissionList.Agenda.access])" class="tab mr-20 d-flex align-center cursor-pointer" (click)="changeRoute('/home/agenda')"
[class.active]="locationPathname() == '/home/agenda'">
[class.active]="ActiveTabService.pages.agenda">
<ion-icon *ngIf="ThemeService.currentTheme == 'default' || ThemeService.currentTheme == 'doneIt' " class="font-40" src='assets/images/icons-nav-agenda-inactive.svg'></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " class="font-40" src='assets/images/theme/gov/icons-nav-agenda-inactive.svg'></ion-icon>
@@ -91,7 +91,7 @@
</div>
<div *ngIf="p.userPermission([permissionList.Gabinete.access])" class="tab mr-20 d-flex align-center cursor-pointer" (click)="changeRoute('/home/gabinete-digital')"
[class.active]="locationPathname() == '/home/gabinete-digital'">
[class.active]="ActiveTabService.pages.gabinete">
<ion-icon *ngIf="ThemeService.currentTheme == 'default' || ThemeService.currentTheme == 'doneIt' " class="font-40" src='assets/images/icons-nav-home-dk.svg'></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " class="font-40" src='assets/images/theme/gov/icons-nav-home-dk.svg'></ion-icon>
@@ -99,14 +99,14 @@
</div>
<div *ngIf="p.userPermission([permissionList.Actions.access])" class="tab mr-20 d-flex align-center cursor-pointer" (click)="changeRoute('/home/publications')"
[class.active]="locationPathname() == '/home/publications'">
[class.active]="ActiveTabService.pages.publication">
<ion-icon *ngIf="ThemeService.currentTheme == 'default' || ThemeService.currentTheme == 'doneIt' " class="font-40" src='assets/images/icons-nav-a-es-inactive.svg'></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " class="font-40" src='assets/images/theme/gov/icons-nav-a-es-inactive.svg'></ion-icon>
<span>Acções</span>
</div>
<div *ngIf="p.userPermission([permissionList.Chat.access])" class="tab mr-20 d-flex align-center cursor-pointer" (click)="changeRoute('/home/chat')"
[class.active]="locationPathname() == '/home/chat'">
[class.active]="ActiveTabService.pages.chat">
<ion-icon *ngIf="ThemeService.currentTheme == 'default' || ThemeService.currentTheme == 'doneIt' " class="font-40" src='assets/images/icons-nav-grupos-inactive-dk-white.svg'></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " class="font-40" src='assets/images/theme/gov/icons-nav-grupos-inactive-dk-white.svg'></ion-icon>
<span>Chat</span>
+2 -22
View File
@@ -12,7 +12,7 @@ import { RouteService } from 'src/app/services/route.service';
import { PermissionList } from 'src/app/models/permission/permissionList';
import { PermissionService } from 'src/app/services/permission.service';
import { EventTrigger } from 'src/app/services/eventTrigger.service'
/* import { Events } from 'ionic-angular' */
import { ActiveTabService } from 'src/app/services/active-tab.service';
@Component({
selector: 'app-header',
@@ -48,6 +48,7 @@ export class HeaderPage implements OnInit {
public RouteService: RouteService,
public p: PermissionService,
private eventTriger: EventTrigger,
public ActiveTabService: ActiveTabService
) {
this.loggeduser = SessionStore.user;
router.events.subscribe((val) => {
@@ -98,27 +99,6 @@ export class HeaderPage implements OnInit {
}
}
locationPathname(): string {
let path = window.location.pathname;
if(path.includes('/home/events')){
return '/home/events';
}
else if(path.includes('/home/agenda')){
return '/home/agenda';
}
else if(path.includes('/home/gabinete-digital')){
return '/home/gabinete-digital';
}
else if(path.includes('/home/publications')){
return '/home/publications';
}
else if(path.includes('/home/chat')){
return '/home/chat';
}
else{
return path;
}
}
async openSearch() {