Merge branch 'develop_bitOut' into sentry

This commit is contained in:
Eudes Inácio
2022-12-19 12:08:58 +01:00
36 changed files with 306 additions and 133 deletions
+4
View File
@@ -252,6 +252,10 @@ const routes = [
},
{
path: 'chat-message-debugging',
loadChildren: () => import('./shared/popover/chat-message-debugging/chat-message-debugging.module').then( m => m.ChatMessageDebuggingPageModule)
},
{
path: 'add-user',
loadChildren: () => import('./shared/chat/add-user/add-user.module').then( m => m.AddUserPageModule)
}
@@ -220,14 +220,18 @@
</div>
</div>
<div class="container-div width-100">
<!-- <div class="container-div width-100">
<div class="ion-item-class-2 d-flex">
<div class="ion-icon-class">
<ion-icon slot="start" src="assets/images/icons-refresh.svg"></ion-icon>
</div>
<div class="ion-input-class flex-grow-1" [class.input-error]="Form?.get('dateOccurrence')?.invalid && validateFrom ">
<!-- (ngModelChange)="onSelectedRecurringChanged($event)" -->
<<<<<<< HEAD
=======
>>>>>>> develop_bitOut-fix
<mat-form-field appearance="none" floatLabel="never" class="width-100" value="false" interface="action-sheet" required>
<mat-select placeholder="Selecione repetição*"
[(ngModel)]="EventRecurrenceType"
@@ -242,7 +246,7 @@
</div>
</div>
</div>
</div> -->
<div *ngIf="EventRecurrenceType != '-1'" class="container-div width-100">
<div class="ion-item-class-2 d-flex">
@@ -163,7 +163,7 @@
<input matInput [ngxMatDatetimePicker]="fim"
placeholder="Choose a date"
[(ngModel)]="postEvent.EndDate"
[min]="currentDate"
[min]="postEvent.StartDate"
[max]="maxDate"
[disabled]="disabled"
>
@@ -180,7 +180,7 @@
</div>
</div>
<div class="container-div d-flex width-100">
<!-- <div class="container-div d-flex width-100">
<div class="ion-item-class-2 width-100 d-flex">
<div class="ion-icon-class">
<ion-icon slot="start" src="assets/images/icons-refresh.svg"></ion-icon>
@@ -201,7 +201,7 @@
</div>
</div>
</div>
</div> -->
<div *ngIf="selectedRecurringType != '-1'" class="container-div width-100">
<div class="ion-item-class-2 d-flex">
@@ -66,9 +66,9 @@ export class EditEventPage implements OnInit {
public endMinDate = new Date(new Date().getTime() + 15 * 60000).toISOString().slice(0,10)
public maxDate: any;
public stepHour = 1;
public stepMinute = 5;
public stepSecond = 5;
currentDate = new Date();
public stepMinute = 15;
public stepSecond = 15;
currentDate = this.roundTimeQuarterHour();
loadedEventAttachments: Attachment[] = [];
taskParticipants: any = [];
@@ -171,6 +171,39 @@ export class EditEventPage implements OnInit {
});
}
roundTimeQuarterHour() {
var timeToReturn = new Date();
// var minutes = timeToReturn.getMinutes();
var minutes = timeToReturn.getMinutes();
var hours = timeToReturn.getHours();
// console.log("MINUTOS: " +minutes);
// console.log("BEFORE MINUTES: " +(Math.round(minutes/15) * 15));
var m = (Math.round(minutes/15) * 15) % 60;
// console.log("AFTER MINUTES: " +m);
var h = minutes > 52 ? (hours === 23 ? 0 : ++hours) : hours;
if (m == 0) {
if(minutes > m){
m = m + 15;
}
timeToReturn.setHours(h);
timeToReturn.setMinutes(m);
}else{
if(minutes > m){
m = m + 15;
timeToReturn.setHours(h);
timeToReturn.setMinutes(m);
}else {
timeToReturn.setHours(h);
timeToReturn.setMinutes(m);
}
}
}
onSelectedRecurringChanged(ev?:any) {
this.calculetedLastOccurrence(ev);
@@ -310,6 +310,24 @@
</ion-item>
</ion-list>
</div>
<!--
<div >
<ion-list class="list">
<ion-item>
<ion-label>
<p class="d-flex ion-justify-content-between">
<span class="attach-title-item">Assunto</span>
<span class="app-name">appName</span>
<span class="close-button text-black cursor-pointer" (click)="removeAttachment(i)" >
<ion-icon class="font-20" src="assets/images/icons-delete-25.svg"></ion-icon>
</span>
</p>
<p><span class="span-left">EntidadeOrganicaNome</span><span class="span-right"> document </span></p>
</ion-label>
</ion-item>
</ion-list>
</div> -->
</div>
</ion-content>
<ion-footer class="ion-no-border d-flex justify-center px-20">
+11
View File
@@ -218,6 +218,17 @@
class=" height-100 flex-column">
</app-contacts>
<!-- <app-contacts
(openMessage)="openMessagesPage($event)"
(backToChat)="backToChat($event)"
(emptyTextDescriptionOpen)="emptyTextDescriptionOpen()"
(closeAllDesktopComponents)="closeAllDesktopComponents()"
*ngIf="showContacts"
[roomId]="roomId"
[style.display]="showContacts ? 'flex' : 'none'"
class=" height-100 flex-column">
</app-contacts> -->
<app-new-group
(addGroupMessage)="openGroupContactsPage($event)"
[roomId]="roomId"
+1 -1
View File
@@ -62,7 +62,7 @@
<ion-list>
<ion-item class="item-hover cursor-pointer" lines="none" *ngFor="let event of listToPresent"
(click)="goToEvent(event.EventId)"
(click)="goToEvent(event)"
>
<div class="d-flex content-{{loggeduser.Profile}}-{{event.CalendarName}}">
+5 -8
View File
@@ -460,18 +460,15 @@ export class EventsPage implements OnInit {
});
}
goToEvent(eventId: any) {
this.router.navigate(['/home/events', eventId, 'events']);
goToEvent(event: any) {
let navigationExtras: NavigationExtras = { queryParams: { CalendarId: event.CalendarId } }
this.router.navigate(['/home/events', event.EventId, 'agenda'], navigationExtras);
}
goToExpediente(SerialNumber: any) {
this.router.navigate(['/home/events/expediente', SerialNumber, 'events']);
/* if (this.loggeduser.Profile == 'MDGPR') {
this.router.navigate(['/home/events/expediente', SerialNumber, 'events']);
}
else if (this.loggeduser.Profile == 'PR') {
this.router.navigate(['/home/events/expedientes-pr', SerialNumber, 'events']);
} */
}
viewExpedientListPage() {
@@ -199,7 +199,7 @@
</div>
</div>
<div class="container-div width-100">
<!-- <div class="container-div width-100">
<div class="ion-item-class-2 d-flex">
<div class="ion-icon-class">
<ion-icon slot="start" src="assets/images/icons-refresh.svg"></ion-icon>
@@ -220,7 +220,7 @@
</div>
</div>
</div>
</div> -->
<div *ngIf="EventRecurrenceType != '-1'" class="container-div width-100">
<div class="ion-item-class-2 d-flex">
@@ -12,7 +12,6 @@
</div>
</div>
<div class=" align-center justify-center d-flex flex-column width-100">
<div *ngIf="SessionStore.hasPin" class="title">Digite o PIN</div>
<div *ngIf="!SessionStore.hasPin" class="title">Digite o novo PIN</div>
+3 -55
View File
@@ -39,41 +39,9 @@ export class InactivityPage implements OnInit {
ngOnInit() {
// window.addEventListener('resize', (event) => {
// if(this.router.url != '/login') return false
// if(this.loop == false) {
// this.loop = true
// this.runloop()
// }
// }, true);
}
runloop() {
// const containerHeight = 651
// let circleHeight = document.querySelector('.circle')['offsetHeight']
// let circleWidth = document.querySelector('.circle')['offsetWidth']
//
//
// document.querySelectorAll('.circle').forEach(e=>{
// e['style']['height'] = (circleHeight -1 )+'px'
// e['style']['width'] = (circleWidth -1 )+'px'
// })
// if( window.innerHeight< containerHeight) {
// setTimeout(()=>{
// this.runloop()
// }, 100)
// } else {
// this.loop = false
// }
}
@@ -165,8 +133,8 @@ export class InactivityPage implements OnInit {
if(!SessionStore.hasPin) {
//
this.storePin()
this.pinLogin()
} else {
//
this.pinLogin()
}
}
@@ -187,7 +155,7 @@ export class InactivityPage implements OnInit {
setTimeout(() => {
this.clearCode()
}, 1000)
}, 5000)
} else {
this.toastService._badRequest('Pin incorreto')
@@ -222,7 +190,7 @@ export class InactivityPage implements OnInit {
}
}, 5000)
}, 100)
}
@@ -230,29 +198,9 @@ export class InactivityPage implements OnInit {
storePin() {
setTimeout(() => {
const code = this.code.join('');
SessionStore.setPin(code);
if(this.p.userPermission(this.p.permissionList.Agenda.access) || this.p.userPermission(this.p.permissionList.Gabinete.access)){
//When user has got access to Agenda but does not have their own calendar, goes to Agenda
if(this.p.userPermission(this.p.permissionList.Agenda.access) && SessionStore.user.OwnerCalendars.length == 0){
this.router.navigate(['/home/agenda']);
}
else{
this.router.navigate(['/home/events']);
}
}
//If user has access permission to both Chat and Action, goes to Chat by default.
else if((this.p.userPermission(this.p.permissionList.Chat.access) && this.p.userPermission(this.p.permissionList.Actions.access)) || this.p.userPermission(this.p.permissionList.Chat.access)){
this.router.navigate(['/home/chat']);
}
else if(this.p.userPermission(this.p.permissionList.Actions.access)){
this.router.navigate(['/home/publications']);
}
}, 5000)
}
enterWithPasswordButton() {
+1 -2
View File
@@ -11,7 +11,6 @@ import { ClearStoreService } from 'src/app/services/clear-store.service';
import { ChangeProfileService } from 'src/app/services/change-profile.service';
import { ThemeService } from 'src/app/services/theme.service';
import { PermissionService } from 'src/app/services/permission.service';
import { PermissionList } from 'src/app/models/permission/permissionList';
import { MessageModel, DeleteMessageModel } from '../../models/beast-orm';
import { RochetChatConnectorService } from 'src/app/services/chat/rochet-chat-connector.service';
import { ChatSystemService } from 'src/app/services/chat/chat-system.service';
@@ -159,7 +158,7 @@ export class LoginPage implements OnInit {
this.getToken();
this.router.navigateByUrl('/pin', { replaceUrl: true });
this.router.navigateByUrl('/home/events', { replaceUrl: true });
}
}
else{
@@ -35,7 +35,6 @@
displayFormat="D MMM YYYY H:mm"
minuteValues="0,5,10,15,20,25,30,35,40,45,50,55"
monthShortNames="Jan, Fev, Mar, Abr, Mai, Jun, Jul, Aug, Sep, Out, Nov, Dez"
min="{{minDate}}"
max="2025">
</ion-datetime>
@@ -43,7 +42,6 @@
<input matInput [ngxMatDatetimePicker]="picker1"
placeholder="Data inicio*"
[formControl]="dateControlStart"
[min]="minDate"
[disabled]="disabled"
>
<mat-datepicker-toggle id="new-inicio" matSuffix [for]="picker1"></mat-datepicker-toggle>
@@ -37,7 +37,7 @@
</div>
</div>
<ion-progress-bar type="indeterminate" *ngIf="showLoader"></ion-progress-bar>
<!-- <ion-progress-bar type="indeterminate" *ngIf="showLoader"></ion-progress-bar> -->
</div>
</ion-toolbar>
+8 -3
View File
@@ -258,10 +258,8 @@ export class SearchPage implements OnInit {
if(this.type == "Agenda" ){
this.showLoader = true;
this.search.basicSearch(this.searchSubject, this.searchDocumentDate, this.searchSender
,this.searchOrganicEntiry, this.searchDocTypeId, '0').subscribe(res=>{
@@ -287,7 +285,8 @@ export class SearchPage implements OnInit {
this.loadWordCloud();
},error => {
this.searchResult = "Registo não encontrado"
this.showLoader = false;
// this.searchResult = "Registo não encontrado"
console.log(error)
});
}
@@ -551,6 +550,11 @@ export class SearchPage implements OnInit {
this.loadWordCloud();
},error => {
counter++;
if(counter ==2){
this.showLoader = false;
}
this.searchResult = "Registo não encontrado"
console.log(error)
});
@@ -586,6 +590,7 @@ export class SearchPage implements OnInit {
this.showLoader = false;
this.loadWordCloud();
},error => {
this.showLoader = false;
this.searchResult = "Registo não encontrado"
console.log(error)
});
+11 -3
View File
@@ -18,6 +18,7 @@ import { ChatMethodsService } from './chat-methods.service';
import { AESEncrypt } from '../aesencrypt.service'
import { AttachmentsService } from 'src/app/services/attachments.service';
import { NetworkServiceService} from 'src/app/services/network-service.service';
import { JsonStore } from '../jsonStore.service';
@Injectable({
providedIn: 'root'
@@ -95,10 +96,12 @@ export class ChatSystemService {
}
loadChat() {
if(SessionStore.user.ChatData) {
this.ReLoadChat()
}
}
async ReLoadChat() {
private async ReLoadChat() {
await this.chatService.refreshtoken();
await this.restoreUsers();
@@ -271,6 +274,7 @@ export class ChatSystemService {
}
}
this.loadingWholeList = false
await this.storage.set('Rooms', rooms);
setTimeout(() => {
@@ -282,7 +286,6 @@ export class ChatSystemService {
this.sortRoomList()
}, 10000)
this.loadingWholeList = false
}
/**
@@ -400,7 +403,7 @@ export class ChatSystemService {
if (setData.name != 'Rocket Cat') {
// create room
if(!this.roomExist(roomId)) {
let room:RoomService = new RoomService(this.RochetChatConnectorService, new MessageService(this.NfService, this.RochetChatConnectorService, this.ChatMethodsService, this.AESEncrypt, this.AttachmentsService, this.NetworkServiceService), this.storage, this.platform, this.sqlservice, this.NativeNotificationService, this.sortService, this.ChatService, this.NfService, this.ChatMethodsService, this.AESEncrypt, this.AttachmentsService, this.NetworkServiceService, this)
let room:RoomService = new RoomService(this.RochetChatConnectorService, new MessageService(this.NfService, this.RochetChatConnectorService, this.ChatMethodsService, this.AESEncrypt, this.AttachmentsService, this.NetworkServiceService, this), this.storage, this.platform, this.sqlservice, this.NativeNotificationService, this.sortService, this.ChatService, this.NfService, this.ChatMethodsService, this.AESEncrypt, this.AttachmentsService, this.NetworkServiceService, this)
room.setData(setData)
room.receiveMessage()
room.getAllUsers = this.getUsers
@@ -573,9 +576,14 @@ export class ChatSystemService {
})[0]
if(roomName) {
try {
const firstName = capitalizeTxt(roomName.split('.')[0])
const lastName = capitalizeTxt(roomName.split('.')[1])
return firstName + ' ' + lastName
} catch(e) {
return roomData['membersExcludeMe'][0].name
}
} else if(roomData.name) {
return roomData.name
} else {
+14 -3
View File
@@ -12,7 +12,7 @@ import { AESEncrypt } from '../aesencrypt.service'
import { HttpEventType } from '@angular/common/http';
import { AttachmentsService } from 'src/app/services/attachments.service';
import { NetworkServiceService , ConnectionStatus} from 'src/app/services/network-service.service';
import { ChatSystemService } from './chat-system.service';
@Injectable({
providedIn: 'root'
})
@@ -67,7 +67,8 @@ export class MessageService {
private ChatMethodsService: ChatMethodsService,
private AESEncrypt: AESEncrypt,
private AttachmentsService: AttachmentsService,
private NetworkServiceService: NetworkServiceService) {
private NetworkServiceService: NetworkServiceService,
private ChatSystemService: ChatSystemService) {
}
setData({customFields = {}, channels, mentions, msg ,rid ,ts, u, t, _id, id, _updatedAt, file, attachments, temporaryData, localReference , viewed = [], received = [], delate = false, delateRequest =false, from }:Message) {
@@ -119,6 +120,17 @@ export class MessageService {
}
}
if(!this.u.name && this.u.username) {
const user = this.ChatSystemService.users.find((u)=> u.username == this.u.username)
if(user) {
this.u.name = user.name
} else if( this.u.username == SessionStore.user.UserName) {
this.u.name = SessionStore.user.FullName
} else {
// console.log(user.username, SessionStore.user.UserName)
}
}
this.calDateDuration()
}
@@ -203,7 +215,6 @@ export class MessageService {
// console.log('online send')
this.RochetChatConnectorService.send(params).then(
(ChatMessage: any) => {
console.log('response')
ChatMessage = ChatMessage.message.result
this.messageSend = true
+6 -5
View File
@@ -184,7 +184,7 @@ export class RoomService {
}
}
setData({membersExcludeMe, members, u, customFields = {}, id, name, t, lastMessage = new MessageService(this.NfService, this.RochetChatConnectorService, this.ChatMethodsService, this.AESEncrypt, this.AttachmentsService, this.NetworkServiceService), _updatedAt }) {
setData({membersExcludeMe, members, u, customFields = {}, id, name, t, lastMessage = new MessageService(this.NfService, this.RochetChatConnectorService, this.ChatMethodsService, this.AESEncrypt, this.AttachmentsService, this.NetworkServiceService, this.ChatSystemService), _updatedAt }) {
this.customFields = customFields
this.id = id
this.name = name
@@ -710,10 +710,11 @@ export class RoomService {
} else {
const offlineMessage = await this.prepareMessageCreateIfNotExist({message:ChatMessage})
if(offlineMessage) {
offlineMessage.from = 'Offline'
offlineMessage.loadHistory = this.hasLoadHistory
if(offlineMessage) {
this.messagesLocalReference.push(offlineMessage.localReference)
offlineMessage?.decryptMessage()
@@ -827,7 +828,7 @@ export class RoomService {
message = this.fix_updatedAt(message)
const wewMessage = new MessageService(this.NfService, this.RochetChatConnectorService, this.ChatMethodsService, this.AESEncrypt, this.AttachmentsService, this.NetworkServiceService)
const wewMessage = new MessageService(this.NfService, this.RochetChatConnectorService, this.ChatMethodsService, this.AESEncrypt, this.AttachmentsService, this.NetworkServiceService, this.ChatSystemService)
wewMessage.setData(message)
wewMessage.loadHistory = this.hasLoadHistory
@@ -884,7 +885,7 @@ export class RoomService {
async prepareCreate({message, save = true}): Promise<MessageService> {
message = this.fix_updatedAt(message)
const wewMessage = new MessageService(this.NfService, this.RochetChatConnectorService, this.ChatMethodsService, this.AESEncrypt, this.AttachmentsService, this.NetworkServiceService)
const wewMessage = new MessageService(this.NfService, this.RochetChatConnectorService, this.ChatMethodsService, this.AESEncrypt, this.AttachmentsService, this.NetworkServiceService, this.ChatSystemService)
wewMessage.setData(message)
wewMessage.loadHistory = this.hasLoadHistory
@@ -922,7 +923,7 @@ export class RoomService {
simplePrepareMessage(message) {
message = this.fix_updatedAt(message)
const wewMessage = new MessageService(this.NfService, this.RochetChatConnectorService, this.ChatMethodsService, this.AESEncrypt, this.AttachmentsService, this.NetworkServiceService)
const wewMessage = new MessageService(this.NfService, this.RochetChatConnectorService, this.ChatMethodsService, this.AESEncrypt, this.AttachmentsService, this.NetworkServiceService, this.ChatSystemService)
wewMessage.setData(message)
wewMessage.loadHistory = this.hasLoadHistory
@@ -210,7 +210,7 @@
</div>
</div>
<div class="container-div width-100">
<!-- <div class="container-div width-100">
<div class="ion-item-class-2">
<div class="ion-icon-class">
<ion-icon slot="start" src="assets/images/icons-refresh.svg"></ion-icon>
@@ -239,7 +239,7 @@
</div>
</div>
</div>
</div> -->
<div *ngIf="eventProcess.workflowInstanceDataFields.OccurrenceType != '-1'"
class="container-div width-100">
@@ -147,7 +147,7 @@
[(ngModel)]="postEvent.EndDate"
[max]="maxDate"
[disabled]="disabled"
[min]="currentDate"
[min]="postEvent.StartDate"
>
<mat-datepicker-toggle id="new-fim" matSuffix [for]="fim"></mat-datepicker-toggle>
<ngx-mat-datetime-picker #fim
@@ -162,7 +162,7 @@
</div>
</div>
<div class="container-div d-flex">
<!-- <div class="container-div d-flex">
<div class="ion-item-class-2 width-100 d-flex">
<div class="ion-icon-class">
<ion-icon slot="start" src="assets/images/icons-refresh.svg"></ion-icon>
@@ -184,7 +184,7 @@
</div>
</div>
</div>
</div> -->
<div *ngIf="postEvent.EventRecurrence.Type != '-1'" class="container-div width-100">
<div class="ion-item-class-2 d-flex">
@@ -46,9 +46,9 @@ export class EditEventPage implements OnInit {
public endMinDate = new Date(new Date().getTime() + 15 * 60000).toISOString().slice(0,10)
public maxDate: any;
public stepHour = 1;
public stepMinute = 5;
public stepSecond = 5;
currentDate = new Date();
public stepMinute = 15;
public stepSecond = 15;
currentDate = this.roundTimeQuarterHour();
Form: FormGroup;
validateFrom = false
@@ -216,6 +216,39 @@ export class EditEventPage implements OnInit {
}
}
roundTimeQuarterHour() {
var timeToReturn = new Date();
// var minutes = timeToReturn.getMinutes();
var minutes = timeToReturn.getMinutes();
var hours = timeToReturn.getHours();
// console.log("MINUTOS: " +minutes);
// console.log("BEFORE MINUTES: " +(Math.round(minutes/15) * 15));
var m = (Math.round(minutes/15) * 15) % 60;
// console.log("AFTER MINUTES: " +m);
var h = minutes > 52 ? (hours === 23 ? 0 : ++hours) : hours;
if (m == 0) {
if(minutes > m){
m = m + 15;
}
timeToReturn.setHours(h);
timeToReturn.setMinutes(m);
}else{
if(minutes > m){
m = m + 15;
timeToReturn.setHours(h);
timeToReturn.setMinutes(m);
}else {
timeToReturn.setHours(h);
timeToReturn.setMinutes(m);
}
}
}
onSelectedRecurringChanged(ev:any){
this.calculetedLastOccurrence(ev);
@@ -0,0 +1,17 @@
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { AddUserPage } from './add-user.page';
const routes: Routes = [
{
path: '',
component: AddUserPage
}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule],
})
export class AddUserPageRoutingModule {}
@@ -0,0 +1,20 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { IonicModule } from '@ionic/angular';
import { AddUserPageRoutingModule } from './add-user-routing.module';
import { AddUserPage } from './add-user.page';
@NgModule({
imports: [
CommonModule,
FormsModule,
IonicModule,
AddUserPageRoutingModule
],
declarations: [AddUserPage]
})
export class AddUserPageModule {}
@@ -0,0 +1,9 @@
<ion-header>
<ion-toolbar>
<ion-title>addUser</ion-title>
</ion-toolbar>
</ion-header>
<ion-content>
</ion-content>
@@ -0,0 +1,24 @@
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
import { IonicModule } from '@ionic/angular';
import { AddUserPage } from './add-user.page';
describe('AddUserPage', () => {
let component: AddUserPage;
let fixture: ComponentFixture<AddUserPage>;
beforeEach(waitForAsync(() => {
TestBed.configureTestingModule({
declarations: [ AddUserPage ],
imports: [IonicModule.forRoot()]
}).compileComponents();
fixture = TestBed.createComponent(AddUserPage);
component = fixture.componentInstance;
fixture.detectChanges();
}));
it('should create', () => {
expect(component).toBeTruthy();
});
});
@@ -0,0 +1,15 @@
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-add-user',
templateUrl: './add-user.page.html',
styleUrls: ['./add-user.page.scss'],
})
export class AddUserPage implements OnInit {
constructor() { }
ngOnInit() {
}
}
@@ -16,6 +16,7 @@ export class AttendeePage implements OnInit {
contacts: EventPerson[];
showLoader: boolean = false;
eventPersons: EventPerson[];
inputFilter = ''
@Output() closeComponent = new EventEmitter<any>();
@@ -64,7 +65,6 @@ export class AttendeePage implements OnInit {
}
save() {
this.setIntervenient.emit(removeDuplicate(this.LtaskParticipants));
@@ -178,7 +178,17 @@ export class AttendeePage implements OnInit {
}
sort(data: []) {
return data.sort(function (a: any, b: any) {
if (a.Name > b.Name) {
return -1;
}
if (b.Name > a.Name) {
return 1;
}
return 0;
}).reverse()
}
async fetchContacts(filter: string) {
this.showLoader = true;
@@ -196,7 +206,7 @@ export class AttendeePage implements OnInit {
});
}
this.contacts = result;
this.contacts = this.sort(result as any);
this.showLoader = false;
}
);
@@ -155,7 +155,7 @@
</div>
</div>
<div class="container-div width-100">
<!-- <div class="container-div width-100">
<div class="ion-item-class-2">
<div class="ion-icon-class">
<ion-icon slot="start" src="assets/images/icons-refresh.svg"></ion-icon>
@@ -183,7 +183,7 @@
</div>
</div>
</div>
</div> -->
<div *ngIf="eventProcess.workflowInstanceDataFields.OccurrenceType != '-1'"
class="container-div width-100">
@@ -6,6 +6,7 @@
</button>
</div>
<div class="buttons">
<button class="btn-cancel" shape="round" >Adicionar</button>
<button (click)="leaveGroup()" class="btn-cancel" shape="round" >Sair do Grupo</button>
<button *ngIf="isAdmin" (click)="openChangeGroupName()" class="btn-cancel" shape="round" >Alterar nome do grupo</button>
<div class="solid"></div>
@@ -40,7 +40,6 @@
<div class="buttons" *ngIf="task.activityInstanceName == 'Tarefa de Parecer'">
<button (click)="openDarParecer(task)" class="btn-cancel" shape="round" >Dar o meu Parecer</button>
<button *ngIf="p.userPermission([p.permissionList.Agenda.access])" (click)="openBookMeetingModal(task)" class="btn-cancel" shape="round" >Marcar Reunião</button>
<button *ngIf="p.userPermission([p.permissionList.Agenda.access])" (click)="openBookMeetingModal(task)" class="btn-cancel" shape="round" >Marcar Reunião</button>
<button (click)="sendExpedienteToPending()" *ngIf="task.Status != 'Pending'" class="btn-cancel" shape="round" >Enviar para Pendentes</button>
<button (click)="openNewGroupPage()" class="btn-cancel" shape="round" *ngIf="task.WorkflowName == 'Pedido de Parecer do Presidente'">Iniciar Conversa</button>
<button (click)="cancel()" class="btn-cancel" shape="round" >Cancelar</button>
@@ -55,8 +54,5 @@
<button (click)="sendExpedienteToPending()" *ngIf="task.Status != 'Pending'" class="btn-cancel" shape="round" >Enviar para Pendentes</button>
<button (click)="cancel()" class="btn-cancel" shape="round" >Cancelar</button>
</div>
<!-- <div *ngIf="task.WorkflowName == 'Pedido de Parecer do Presidente'" class="buttons">
<button (click)="openNewGroupPage()" class="btn-cancel" shape="round" >Iniciar Conversa</button>
</div> -->
</div>
</div>
@@ -46,7 +46,6 @@
placeholder="Data inicio*"
[(ngModel)]="folder.DateBegin"
[disabled]="disabled"
[min]="currentDate"
>
<mat-datepicker-toggle id="new-inicio" matSuffix [for]="picker1"></mat-datepicker-toggle>
<ngx-mat-datetime-picker #picker1
@@ -83,7 +82,6 @@
placeholder="Data de fim*"
[(ngModel)]="folder.DateEnd"
[disabled]="disabled"
[min]="currentDate"
>
<mat-datepicker-toggle id="new-fim" matSuffix [for]="picker2"></mat-datepicker-toggle>
<ngx-mat-datetime-picker #picker2
@@ -63,8 +63,15 @@ export class NewActionPage implements OnInit {
}
get dateValid() {
if (window.innerWidth > 700) {
return new Date(this.folder.DateBegin).toLocaleString('pt') < new Date(this.folder.DateEnd).toLocaleString("pt")? ['ok'] : []
var validado: boolean;
if (window.innerWidth <= 800) {
if ((this.folder.DateBegin < this.folder.DateEnd) && (new Date(this.folder.DateBegin).getTime() > this.currentDate.getTime())) {
validado = true;
}else{
validado = false;
}
return validado == true ? ['ok']: [];
} else {
return ['ok']
}
+5
View File
@@ -56,6 +56,11 @@ class SessionService {
return this._user.Inactivity
}
isUserActive() {
return this._user.Inactivity
}
setInativity(value: boolean) {
this._user.Inactivity = value
this._user.UrlBeforeInactivity = ''
+2 -1
View File
@@ -1,6 +1,7 @@
export const environment = {
// apiURL: 'https://gabinetedigital.dyndns.info/GabineteDigital.Services/V5/api/',
apiURL: 'https://gd-api.oapr.gov.ao/api/',
// apiURL: 'https://gd-api.oapr.gov.ao/api/',
apiURL: 'https://gdapi-dev.dyndns.info/GabineteDigital.Services/V5/api/',
// apiURL: 'http://gpr-dev-01.gabinetedigital.local/GabineteDigital.Services/V5/api/',
// apiChatUrl: 'http://192.168.0.29:3000/api/v1/',
// apiWsChatUrl: 'wss://192.168.0.29:3000/websocket',
+3 -2
View File
@@ -1,11 +1,12 @@
export const environment = {
// apiURL: 'https://gabinetedigital.dyndns.info/GabineteDigital.Services/V5/api/',
apiURL: 'https://gd-api.oapr.gov.ao/api/',
// apiURL: 'https://gd-api.oapr.gov.ao/api/',
apiURL: 'https://gdapi-dev.dyndns.info/GabineteDigital.Services/V5/api/',
// apiURL: 'http://gpr-dev-01.gabinetedigital.local/GabineteDigital.Services/V5/api/',
// apiChatUrl: 'http://192.168.0.29:3000/api/v1/',
// apiWsChatUrl: 'wss://192.168.0.29:3000/websocket',
apiChatUrl: 'https://gd-chat.oapr.gov.ao/api/v1/',
apiWsChatUrl: 'ws://gd-chat.oapr.gov.ao/websocket',
apiWsChatUrl: 'wss://gd-chat.oapr.gov.ao/websocket',
/* apiChatUrl: 'https://www.tabularium.pt/api/v1/',
apiWsChatUrl: 'wss://www.tabularium.pt/websocket', */
// apiChatUrl: 'https://www.tabularium.pt/api/v1/',