fix some bug on blue theme

This commit is contained in:
Eudes Inácio
2023-11-14 12:04:31 +01:00
parent 99d21a716b
commit af69d80453
30 changed files with 196 additions and 113 deletions
@@ -135,7 +135,7 @@
</div> </div>
</div> </div>
</div> --> </div>
</div> </div>
@@ -18,6 +18,7 @@ import { SessionStore } from 'src/app/store/session.service';
import { HttpErrorHandle } from 'src/app/services/http-error-handle.service' import { HttpErrorHandle } from 'src/app/services/http-error-handle.service'
import { environment } from 'src/environments/environment'; import { environment } from 'src/environments/environment';
import { ContactsService } from 'src/app/services/contacts.service'; import { ContactsService } from 'src/app/services/contacts.service';
import { DomSanitizerService } from 'src/app/services/DomSanitizer.service';
const CUSTOM_DATE_FORMATS: NgxMatDateFormats = { const CUSTOM_DATE_FORMATS: NgxMatDateFormats = {
parse: { parse: {
@@ -98,7 +99,8 @@ export class EditEventPage implements OnInit {
private router: Router, private router: Router,
public ThemeService: ThemeService, public ThemeService: ThemeService,
private httpErrorHandle: HttpErrorHandle, private httpErrorHandle: HttpErrorHandle,
private contactsService: ContactsService private contactsService: ContactsService,
private domSanitazerService: DomSanitizerService
) { ) {
/* this.postEvent = new Event(); */ /* this.postEvent = new Event(); */
@@ -363,6 +365,9 @@ export class EditEventPage implements OnInit {
} }
this.postEvent.Attendees = this.taskParticipants.concat(this.taskParticipantsCc) this.postEvent.Attendees = this.taskParticipants.concat(this.taskParticipantsCc)
this.postEvent.Subject = this.domSanitazerService.sanitizeInput(this.postEvent.Subject);
this.postEvent.Location = this.domSanitazerService.sanitizeInput(this.postEvent.Location);
this.postEvent.Body.Text = this.domSanitazerService.sanitizeInput(this.postEvent.Body.Text);
this.postEvent.EventRecurrence.Type = this.selectedRecurringType; this.postEvent.EventRecurrence.Type = this.selectedRecurringType;
@@ -23,6 +23,7 @@ import { environment } from 'src/environments/environment';
import { ProcessesService } from 'src/app/services/processes.service'; import { ProcessesService } from 'src/app/services/processes.service';
import { TaskService } from 'src/app/services/task.service' import { TaskService } from 'src/app/services/task.service'
import { ContactsService } from 'src/app/services/contacts.service'; import { ContactsService } from 'src/app/services/contacts.service';
import { DomSanitizerService } from 'src/app/services/DomSanitizer.service';
const CUSTOM_DATE_FORMATS: NgxMatDateFormats = { const CUSTOM_DATE_FORMATS: NgxMatDateFormats = {
parse: { parse: {
@@ -111,6 +112,7 @@ export class NewEventPage implements OnInit {
private processeService: ProcessesService, private processeService: ProcessesService,
public TaskService: TaskService, public TaskService: TaskService,
private contactsService: ContactsService, private contactsService: ContactsService,
private domSanitazerService: DomSanitizerService
) { ) {
this.loggeduser = SessionStore.user; this.loggeduser = SessionStore.user;
this.postEvent = new Event(); this.postEvent = new Event();
@@ -413,6 +415,9 @@ export class NewEventPage implements OnInit {
} }
this.postEvent.Attendees = this.taskParticipants.concat(this.taskParticipantsCc); this.postEvent.Attendees = this.taskParticipants.concat(this.taskParticipantsCc);
this.postEvent.Subject = this.domSanitazerService.sanitizeInput(this.postEvent.Subject);
this.postEvent.Location = this.domSanitazerService.sanitizeInput(this.postEvent.Location);
this.postEvent.Body.Text = this.domSanitazerService.sanitizeInput(this.postEvent.Body.Text);
let eventId: any; let eventId: any;
@@ -11,7 +11,7 @@
<div class="title-content d-flex justify-between width-100 mb-10"> <div class="title-content d-flex justify-between width-100 mb-10">
<div class="left d-flex"> <div class="left d-flex">
<button class="btn-no-color d-flex align-center" (click)="goBack()"> <button class="btn-no-color d-flex align-center" (click)="goBack()">
<ion-icon *ngIf="ThemeService.currentTheme == 'doneIt' " src="assets/images/theme/doneIt/icons-calendar-arrow-left.svg"></ion-icon> <ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/theme/blue/icons-calendar-arrow-left.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " slot="end" src='assets/images/theme/gov/icons-calendar-arrow-left.svg'></ion-icon> <ion-icon *ngIf="ThemeService.currentTheme == 'gov' " slot="end" src='assets/images/theme/gov/icons-calendar-arrow-left.svg'></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'doneIt' " slot="end" src='assets/images/theme/{{ThemeService.currentTheme}}/icons-calendar-arrow-left.svg'></ion-icon> <ion-icon *ngIf="ThemeService.currentTheme == 'doneIt' " slot="end" src='assets/images/theme/{{ThemeService.currentTheme}}/icons-calendar-arrow-left.svg'></ion-icon>
</button> </button>
@@ -23,7 +23,7 @@
</div> </div>
<div hidden class="right"> <div hidden class="right">
<button class="btn-no-color" (click)="openMessagesOptions()"> <button class="btn-no-color" (click)="openMessagesOptions()">
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/icons-menu.svg"></ion-icon> <ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/theme/blue/icons-menu.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " src="assets/images/theme/gov/icons-menu.svg"> <ion-icon *ngIf="ThemeService.currentTheme == 'gov' " src="assets/images/theme/gov/icons-menu.svg">
</ion-icon> </ion-icon>
</button> </button>
+2 -1
View File
@@ -311,7 +311,8 @@ label {
.time { .time {
font-family: Roboto; font-family: Roboto;
text-align: center; text-align: center;
color: var(--header-tab-text-white); /* color: var(--header-tab-text-white); */
color: black;
line-height: unset; line-height: unset;
margin-top: 10px; margin-top: 10px;
width: 100%; width: 100%;
@@ -12,7 +12,7 @@
<div class="title">{{ task.Folio}}</div> <div class="title">{{ task.Folio}}</div>
</div> </div>
<div class="div-icon" (click)="openOptions()"> <div class="div-icon" (click)="openOptions()">
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " class="font-25 cursor-pointer" src="assets/images/icons-menu.svg"></ion-icon> <ion-icon *ngIf="ThemeService.currentTheme == 'default' " class="font-25 cursor-pointer" src="assets/images/theme/blue/icons-menu.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " class="font-25 cursor-pointer" src="assets/images/theme/gov/icons-menu.svg"></ion-icon> <ion-icon *ngIf="ThemeService.currentTheme == 'gov' " class="font-25 cursor-pointer" src="assets/images/theme/gov/icons-menu.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'doneIt' " class="font-25 cursor-pointer" src="assets/images/theme/{{ThemeService.currentTheme}}/icons-menu.svg"></ion-icon> <ion-icon *ngIf="ThemeService.currentTheme == 'doneIt' " class="font-25 cursor-pointer" src="assets/images/theme/{{ThemeService.currentTheme}}/icons-menu.svg"></ion-icon>
</div> </div>
@@ -12,7 +12,7 @@
<ion-label class="title">{{ task.Folio }}</ion-label> <ion-label class="title">{{ task.Folio }}</ion-label>
</div> </div>
<div class="div-icon" (click)="openOptions()" *ngIf="p.userPermission([p.permissionList.Agenda.access])"> <div class="div-icon" (click)="openOptions()" *ngIf="p.userPermission([p.permissionList.Agenda.access])">
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/icons-menu.svg"></ion-icon> <ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/theme/blue/icons-menu.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " src="assets/images/theme/gov/icons-menu.svg"></ion-icon> <ion-icon *ngIf="ThemeService.currentTheme == 'gov' " src="assets/images/theme/gov/icons-menu.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'doneIt' " src="assets/images/theme/{{ThemeService.currentTheme}}/icons-menu.svg"></ion-icon> <ion-icon *ngIf="ThemeService.currentTheme == 'doneIt' " src="assets/images/theme/{{ThemeService.currentTheme}}/icons-menu.svg"></ion-icon>
</div> </div>
@@ -28,7 +28,7 @@
</div> </div>
<div class="menu-ptions"> <div class="menu-ptions">
<button class="btn-no-color" (click)="openOptions(loadedEvent)"> <button class="btn-no-color" (click)="openOptions(loadedEvent)">
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/icons-menu.svg"></ion-icon> <ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/theme/blue/icons-menu.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " src="assets/images/theme/gov/icons-menu.svg"></ion-icon> <ion-icon *ngIf="ThemeService.currentTheme == 'gov' " src="assets/images/theme/gov/icons-menu.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'doneIt' " src="assets/images/theme/gov/icons-menu.svg"></ion-icon> <ion-icon *ngIf="ThemeService.currentTheme == 'doneIt' " src="assets/images/theme/gov/icons-menu.svg"></ion-icon>
</button> </button>
@@ -17,7 +17,7 @@
</div> </div>
<div class="menu-ptions"> <div class="menu-ptions">
<button class="btn-no-color d-flex" (click)="openOptions()"> <button class="btn-no-color d-flex" (click)="openOptions()">
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/icons-menu.svg"></ion-icon> <ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/theme/blue/icons-menu.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " src="assets/images/theme/gov/icons-menu.svg"></ion-icon> <ion-icon *ngIf="ThemeService.currentTheme == 'gov' " src="assets/images/theme/gov/icons-menu.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'doneIt' " src="assets/images/theme/gov/icons-menu.svg"></ion-icon> <ion-icon *ngIf="ThemeService.currentTheme == 'doneIt' " src="assets/images/theme/gov/icons-menu.svg"></ion-icon>
</button> </button>
@@ -21,7 +21,7 @@
</div> </div>
<div class="menu-ptions"> <div class="menu-ptions">
<button class="btn-no-color" (click)="openOptions()"> <button class="btn-no-color" (click)="openOptions()">
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/icons-menu.svg"></ion-icon> <ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/theme/blue/icons-menu.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " src="assets/images/theme/gov/icons-menu.svg"></ion-icon> <ion-icon *ngIf="ThemeService.currentTheme == 'gov' " src="assets/images/theme/gov/icons-menu.svg"></ion-icon>
</button> </button>
</div> </div>
@@ -14,7 +14,7 @@
</div> </div>
<div class="div-icon d-flex"> <div class="div-icon d-flex">
<div autoHide="false" class="d-flex" (click)="openOptions()"> <div autoHide="false" class="d-flex" (click)="openOptions()">
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " class="font-30-rem cursor-pointer" src="assets/images/icons-menu.svg"></ion-icon> <ion-icon *ngIf="ThemeService.currentTheme == 'default' " class="font-30-rem cursor-pointer" src="assets/images/theme/blue/icons-menu.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " class="font-30-rem cursor-pointer" src="assets/images/theme/gov/icons-menu.svg"></ion-icon> <ion-icon *ngIf="ThemeService.currentTheme == 'gov' " class="font-30-rem cursor-pointer" src="assets/images/theme/gov/icons-menu.svg"></ion-icon>
</div> </div>
</div> </div>
+4 -3
View File
@@ -7,16 +7,17 @@
<div class="bg-4 d-flex justify-center align-center"> <div class="bg-4 d-flex justify-center align-center">
<div class="div-logo"> <div class="div-logo">
<img *ngIf="ThemeService.currentTheme == 'default' " src='assets/images/fullLogo-no-g.png' alt='logo'> <img *ngIf="ThemeService.currentTheme == 'default' " src='assets/images/donit.jpg' alt='logo'>
<img *ngIf="ThemeService.currentTheme == 'gov' " src='assets/images/theme/gov/governoangola_A.png' alt='logo'> <img *ngIf="ThemeService.currentTheme == 'gov' " src='assets/images/theme/gov/governoangola_A.png' alt='logo'>
<img *ngIf="ThemeService.currentTheme == 'doneIt' " src='assets/images/theme/{{ThemeService.currentTheme}}/governoangola_A.png' alt='logo'> <img *ngIf="ThemeService.currentTheme == 'doneIt' " src='assets/images/doneit.jpg' alt='logo'>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<h3 class="center text-white">Gabinete Digital</h3> <h3 class="center text-white">doneIT</h3>
<h3 class="center text-white">Digital Workplace</h3>
<form class="form"> <form class="form">
<p class="form-label">Email</p> <p class="form-label">Email</p>
<ion-item class="form-input"> <ion-item class="form-input">
@@ -0,0 +1,16 @@
import { TestBed } from '@angular/core/testing';
import { DomSanitizerService } from './DomSanitizer.service';
describe('ActiveTabService', () => {
let service: DomSanitizerService;
beforeEach(() => {
TestBed.configureTestingModule({});
service = TestBed.inject(DomSanitizerService);
});
it('should be created', () => {
expect(service).toBeTruthy();
});
});
+20
View File
@@ -0,0 +1,20 @@
import { Injectable, SecurityContext } from '@angular/core';
import { DomSanitizer } from '@angular/platform-browser';
import { Router } from '@angular/router';
@Injectable({
providedIn: 'root'
})
export class DomSanitizerService {
constructor(private sanitizer: DomSanitizer) {
}
sanitizeInput(input: string): string {
return this.sanitizer.sanitize(SecurityContext.HTML, input);
}
}
+1 -1
View File
@@ -13,7 +13,7 @@ export class ThemeService {
'doneIt' 'doneIt'
] ]
private defaultTheme: any = 'gov' private defaultTheme: any = 'default'
currentTheme: 'gov' | 'default' | 'doneIt' = this.defaultTheme currentTheme: 'gov' | 'default' | 'doneIt' = this.defaultTheme
keyName: string keyName: string
@@ -15,6 +15,7 @@ import { removeDuplicate } from 'src/plugin/removeDuplicate.js'
import { EventToApproveEdit } from 'src/app/models/event.model'; import { EventToApproveEdit } from 'src/app/models/event.model';
import { ThemeService } from 'src/app/services/theme.service' import { ThemeService } from 'src/app/services/theme.service'
import { HttpErrorHandle } from 'src/app/services/http-error-handle.service'; import { HttpErrorHandle } from 'src/app/services/http-error-handle.service';
import { DomSanitizerService } from 'src/app/services/DomSanitizer.service';
const CUSTOM_DATE_FORMATS: NgxMatDateFormats = { const CUSTOM_DATE_FORMATS: NgxMatDateFormats = {
@@ -131,7 +132,8 @@ export class EditEventToApprovePage implements OnInit {
private processes:ProcessesService, private processes:ProcessesService,
private toastService: ToastService, private toastService: ToastService,
public ThemeService: ThemeService, public ThemeService: ThemeService,
public httpErrorHandler: HttpErrorHandle public httpErrorHandler: HttpErrorHandle,
private domSanitizeService: DomSanitizerService
) { ) {
this.isEventEdited = false; this.isEventEdited = false;
} }
@@ -324,6 +326,10 @@ export class EditEventToApprovePage implements OnInit {
e.IsRequired = false e.IsRequired = false
}) })
this.eventProcess.workflowInstanceDataFields.Subject = this.domSanitizeService.sanitizeInput(this.eventProcess.workflowInstanceDataFields.Subject);
this.eventProcess.workflowInstanceDataFields.Location = this.domSanitizeService.sanitizeInput(this.eventProcess.workflowInstanceDataFields.Location);
this.eventProcess.workflowInstanceDataFields.Body = this.domSanitizeService.sanitizeInput(this.eventProcess.workflowInstanceDataFields.Body);
this.eventProcess.workflowInstanceDataFields.ParticipantsList = this.taskParticipants.concat(this.taskParticipantsCc) this.eventProcess.workflowInstanceDataFields.ParticipantsList = this.taskParticipants.concat(this.taskParticipantsCc)
this.eventProcess.workflowInstanceDataFields.ParticipantsList.forEach(e=>{ this.eventProcess.workflowInstanceDataFields.ParticipantsList.forEach(e=>{
@@ -15,6 +15,7 @@ import { ThemeService } from 'src/app/services/theme.service'
import { SessionStore } from 'src/app/store/session.service'; import { SessionStore } from 'src/app/store/session.service';
import { HttpErrorHandle } from 'src/app/services/http-error-handle.service'; import { HttpErrorHandle } from 'src/app/services/http-error-handle.service';
import { ContactsService } from 'src/app/services/contacts.service' import { ContactsService } from 'src/app/services/contacts.service'
import { DomSanitizerService } from 'src/app/services/DomSanitizer.service';
@Component({ @Component({
selector: 'app-edit-event', selector: 'app-edit-event',
@@ -100,7 +101,8 @@ export class EditEventPage implements OnInit {
private attachmentsService: AttachmentsService, private attachmentsService: AttachmentsService,
public ThemeService: ThemeService, public ThemeService: ThemeService,
private httpErrorHandle: HttpErrorHandle, private httpErrorHandle: HttpErrorHandle,
private contactsService: ContactsService private contactsService: ContactsService,
private domSanitizeService: DomSanitizerService
) {} ) {}
ngOnInit() { ngOnInit() {
@@ -344,6 +346,9 @@ export class EditEventPage implements OnInit {
} }
this._postEvent.Attendees = this.taskParticipants.concat(this.taskParticipantsCc); this._postEvent.Attendees = this.taskParticipants.concat(this.taskParticipantsCc);
this._postEvent.Subject = this.domSanitizeService.sanitizeInput(this._postEvent.Subject);
this._postEvent.Location = this.domSanitizeService.sanitizeInput(this._postEvent.Location);
this._postEvent.Body.Text = this.domSanitizeService.sanitizeInput(this._postEvent.Body.Text);
if(!this._postEvent.EventRecurrence.hasOwnProperty('Type')) { if(!this._postEvent.EventRecurrence.hasOwnProperty('Type')) {
this._postEvent.EventRecurrence.Type = '-1' this._postEvent.EventRecurrence.Type = '-1'
@@ -16,7 +16,7 @@
<div class="main-content"> <div class="main-content">
<div class="ion-item-container" [class.input-error]="Form?.get('Subject')?.invalid && validateFrom "> <div class="ion-item-container" [class.input-error]="Form?.get('Subject')?.invalid && validateFrom ">
<ion-input appInputFilter autocomplete="on" autocorrect="on" spellcheck="true" type="text" placeholder="Assunto*" [(ngModel)]="postEvent.Subject"></ion-input> <ion-input autocomplete="on" autocorrect="on" spellcheck="true" type="text" placeholder="Assunto*" [(ngModel)]="postEvent.Subject"></ion-input>
</div> </div>
<div *ngIf="Form && validateFrom" > <div *ngIf="Form && validateFrom" >
@@ -293,7 +293,7 @@
</div> </div>
<div class="ion-input-class-no-height flex-grow-1"> <div class="ion-input-class-no-height flex-grow-1">
<ion-textarea appInputFilter class="heigh-200" autocomplete="on" autocorrect="on" spellcheck="true" [(ngModel)]="postEvent.Body.Text" placeholder="Detalhes" autoGrow="true" ></ion-textarea> <ion-textarea class="heigh-200" autocomplete="on" autocorrect="on" spellcheck="true" [(ngModel)]="postEvent.Body.Text" placeholder="Detalhes" autoGrow="true" ></ion-textarea>
</div> </div>
</div> </div>
@@ -35,6 +35,7 @@ import { Subject } from 'rxjs';
import { TaskService } from 'src/app/services/task.service' import { TaskService } from 'src/app/services/task.service'
import { ContactsService } from 'src/app/services/contacts.service'; import { ContactsService } from 'src/app/services/contacts.service';
import { DomSanitizerService } from 'src/app/services/DomSanitizer.service';
const CUSTOM_DATE_FORMATS: NgxMatDateFormats = { const CUSTOM_DATE_FORMATS: NgxMatDateFormats = {
parse: { parse: {
dateInput: "YYYY-MMMM-DD HH:mm" dateInput: "YYYY-MMMM-DD HH:mm"
@@ -147,6 +148,7 @@ export class NewEventPage implements OnInit {
private processeService: ProcessesService, private processeService: ProcessesService,
public TaskService: TaskService, public TaskService: TaskService,
private contactsService: ContactsService, private contactsService: ContactsService,
private domSanitazerService: DomSanitizerService
) { ) {
this.dateAdapter.setLocale('pt'); this.dateAdapter.setLocale('pt');
this.loggeduser = SessionStore.user; this.loggeduser = SessionStore.user;
@@ -503,6 +505,10 @@ export class NewEventPage implements OnInit {
} }
this.postEvent.Attendees = this.taskParticipants.concat(this.taskParticipantsCc); this.postEvent.Attendees = this.taskParticipants.concat(this.taskParticipantsCc);
this.postEvent.Subject = this.domSanitazerService.sanitizeInput(this.postEvent.Subject);
this.postEvent.Location = this.domSanitazerService.sanitizeInput(this.postEvent.Location);
this.postEvent.Body.Text = this.domSanitazerService.sanitizeInput(this.postEvent.Body.Text);
if (this.documents.length > 0) { if (this.documents.length > 0) {
@@ -31,7 +31,7 @@
<!-- <div class="div-icon" (click)="openOptions()"> <!-- <div class="div-icon" (click)="openOptions()">
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/icons-menu.svg"></ion-icon> <ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/theme/blue/icons-menu.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " src="assets/images/theme/gov/icons-menu.svg"></ion-icon> <ion-icon *ngIf="ThemeService.currentTheme == 'gov' " src="assets/images/theme/gov/icons-menu.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'doneIt' " src="assets/images/theme/{{ThemeService.currentTheme}}/icons-menu.svg"></ion-icon> <ion-icon *ngIf="ThemeService.currentTheme == 'doneIt' " src="assets/images/theme/{{ThemeService.currentTheme}}/icons-menu.svg"></ion-icon>
</div> </div>
@@ -130,7 +130,7 @@
</div> </div>
<!-- <div (click)="docIndex(i);LoadDocumentDetails()" class="doc-options"> <!-- <div (click)="docIndex(i);LoadDocumentDetails()" class="doc-options">
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/icons-menu.svg"></ion-icon> <ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/theme/blue/icons-menu.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " <ion-icon *ngIf="ThemeService.currentTheme == 'gov' "
src="assets/images/theme/gov/icons-menu.svg"></ion-icon> src="assets/images/theme/gov/icons-menu.svg"></ion-icon>
</div> --> </div> -->
@@ -8,7 +8,7 @@
<div class="right"> <div class="right">
<!-- <div (click)=" ChatSystemService.getGroupRoom(this.roomId).deleteAll()">delete all</div> --> <!-- <div (click)=" ChatSystemService.getGroupRoom(this.roomId).deleteAll()">delete all</div> -->
<button title="Menu" class="btn-no-color" (click)="openGroupMessagesOptions()"> <button title="Menu" class="btn-no-color" (click)="openGroupMessagesOptions()">
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/icons-menu.svg"></ion-icon> <ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/theme/blue/icons-menu.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " src="assets/images/theme/gov/icons-menu.svg"></ion-icon> <ion-icon *ngIf="ThemeService.currentTheme == 'gov' " src="assets/images/theme/gov/icons-menu.svg"></ion-icon>
</button> </button>
</div> </div>
@@ -9,7 +9,7 @@
</div> </div>
<div hidden class="right"> <div hidden class="right">
<button title="Menu" class="btn-no-color" (click)="_openMessagesOptions()"> <button title="Menu" class="btn-no-color" (click)="_openMessagesOptions()">
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/icons-menu.svg"></ion-icon> <ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/theme/blue/icons-menu.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " src="assets/images/theme/gov/icons-menu.svg"> <ion-icon *ngIf="ThemeService.currentTheme == 'gov' " src="assets/images/theme/gov/icons-menu.svg">
</ion-icon> </ion-icon>
</button> </button>
+88 -78
View File
@@ -650,7 +650,7 @@ export class MessagesPage implements OnInit, OnChanges, AfterViewInit, OnDestroy
resultType: CameraResultType.Base64, resultType: CameraResultType.Base64,
source: CameraSource.Camera source: CameraSource.Camera
}); });
console.log('Selected: ', file)
var base64 = 'data:image/jpeg;base64,' + file.base64String var base64 = 'data:image/jpeg;base64,' + file.base64String
const compressedImage = await this.compressImageBase64( const compressedImage = await this.compressImageBase64(
base64, base64,
@@ -658,7 +658,7 @@ export class MessagesPage implements OnInit, OnChanges, AfterViewInit, OnDestroy
800, // maxHeight 800, // maxHeight
0.9 // quality 0.9 // quality
).then((picture) => { ).then((picture) => {
console.log('Selected: ', picture)
base64 = picture base64 = picture
}); });
@@ -790,42 +790,46 @@ export class MessagesPage implements OnInit, OnChanges, AfterViewInit, OnDestroy
//const imageData = await this.fileToBase64Service.convert(file) //const imageData = await this.fileToBase64Service.convert(file)
// //
console.log('Selected: ', file)
var base64 = 'data:image/jpeg;base64,' + file.base64String var base64 = 'data:image/jpeg;base64,' + file.base64String
const compressedImage = await this.compressImageBase64( if (file.format == "jpeg" || file.format == "png" || file.format == "gif") {
base64,
800, // maxWidth
800, // maxHeight
0.9 // quality
).then((picture) => {
console.log('Selected: ', picture)
base64 = picture
});
const response = await fetch(base64); const compressedImage = await this.compressImageBase64(
const blob = await response.blob(); base64,
800, // maxWidth
800, // maxHeight
0.9 // quality
).then((picture) => {
console.log(base64) base64 = picture
});
const formData = new FormData(); const response = await fetch(base64);
formData.append("blobFile", blob); const blob = await response.blob();
console.log(base64)
const formData = new FormData();
formData.append("blobFile", blob);
this.ChatSystemService.getDmRoom(roomId).send({
file: {
"type": "application/img",
"guid": ''
},
temporaryData: formData,
attachments: [{
"title": file.path,
//"image_url": 'data:image/jpeg;base64,' + file.base64String,
"text": "description",
"title_link_download": false,
}],
attachmentsModelData: {
fileBase64: base64,
}
})
}
this.ChatSystemService.getDmRoom(roomId).send({
file: {
"type": "application/img",
"guid": ''
},
temporaryData: formData,
attachments: [{
"title": file.path,
//"image_url": 'data:image/jpeg;base64,' + file.base64String,
"text": "description",
"title_link_download": false,
}],
attachmentsModelData: {
fileBase64: base64,
}
})
} }
@@ -838,63 +842,69 @@ export class MessagesPage implements OnInit, OnChanges, AfterViewInit, OnDestroy
const file: any = await this.fileService.getFileFromDevice(types); const file: any = await this.fileService.getFileFromDevice(types);
const fileName = file.name if (file.type == 'application/pdf' || file.type == 'application/doc' || file.type == 'application/docx' ||
file.type == 'application/xls' || file.type == 'application/xlsx' || file.type == 'application/ppt' ||
file.type == 'application/pptx' || file.type == 'application/txt') {
const validation = this.FileValidatorService.fileNameValidation(fileName) console.log('FILE', file)
if(validation.isOk) { const fileName = file.name
const encodedData = btoa(JSON.stringify(await this.getBase64(file).catch((error) => { const validation = this.FileValidatorService.fileNameValidation(fileName)
console.error(error);
})));
let blob; if (validation.isOk) {
let formData
let fileBase64
if (this.platform.is("tablet")) {
blob = this.fileService.base64toBlob(encodedData, file.type) const encodedData = btoa(JSON.stringify(await this.getBase64(file).catch((error) => {
console.log('BLOB BLOB', blob) console.error(error);
})));
formData = new FormData(); let blob;
formData.append('blobFile', blob); let formData
/* console.log('add file', fileBase64) */ let fileBase64
if (this.platform.is("tablet")) {
blob = this.fileService.base64toBlob(encodedData, file.type)
console.log('BLOB BLOB', blob)
formData = new FormData();
formData.append('blobFile', blob);
/* console.log('add file', fileBase64) */
} else {
blob = this.fileService.base64toBlob(encodedData, file.type)
fileBase64 = await this._getBase64(file)
formData = new FormData();
formData.append('blobFile', blob);
}
this.ChatSystemService.getDmRoom(roomId).send({
file: {
"type": file.type,
"guid": '',
},
attachments: [{
"title": file.name,
"name": file.name,
//"image_url": res,
// "text": "description",
"title_link_download": false,
}],
temporaryData: formData,
attachmentsModelData: {
fileBase64: fileBase64,
}
})
} else { } else {
blob = this.fileService.base64toBlob(encodedData, file.type) this.toastService._badRequest("Ficheiro inválido")
fileBase64 = await this._getBase64(file)
formData = new FormData();
formData.append('blobFile', blob);
} }
this.ChatSystemService.getDmRoom(roomId).send({
file: {
"type": file.type,
"guid": '',
},
attachments: [{
"title": file.name,
"name": file.name,
//"image_url": res,
// "text": "description",
"title_link_download": false,
}],
temporaryData: formData,
attachmentsModelData: {
fileBase64: fileBase64,
}
})
} else {
this.toastService._badRequest("Ficheiro inválido")
} }
} }
_getBase64(file) { _getBase64(file) {
@@ -9,7 +9,7 @@
<ion-label class="title">{{ task.Folio}}</ion-label> <ion-label class="title">{{ task.Folio}}</ion-label>
</div> </div>
<div class="div-icon" (click)="openOptions.emit()"> <div class="div-icon" (click)="openOptions.emit()">
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/icons-menu.svg"></ion-icon> <ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/theme/blue/icons-menu.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " src="assets/images/theme/gov/icons-menu.svg"></ion-icon> <ion-icon *ngIf="ThemeService.currentTheme == 'gov' " src="assets/images/theme/gov/icons-menu.svg"></ion-icon>
</div> </div>
</div> </div>
@@ -9,7 +9,7 @@
<ion-label class="title">{{ task.Folio}}</ion-label> <ion-label class="title">{{ task.Folio}}</ion-label>
</div> </div>
<div class="div-icon" (click)="openOptions.emit()"> <div class="div-icon" (click)="openOptions.emit()">
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/icons-menu.svg"></ion-icon> <ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/theme/blue/icons-menu.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " src="assets/images/theme/gov/icons-menu.svg"></ion-icon> <ion-icon *ngIf="ThemeService.currentTheme == 'gov' " src="assets/images/theme/gov/icons-menu.svg"></ion-icon>
</div> </div>
</div> </div>
Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

+1 -1
View File
@@ -4,4 +4,4 @@ import { doneITProd } from './suport/doneIt'
import { DevDev } from './suport/dev' import { DevDev } from './suport/dev'
export const environment: Environment = DevDev; export const environment: Environment = doneITProd;
+1 -1
View File
@@ -4,4 +4,4 @@ import { doneITDev } from './suport/doneIt'
import { DevDev } from './suport/dev' import { DevDev } from './suport/dev'
export const environment: Environment = DevDev export const environment: Environment = doneITDev
+16 -8
View File
@@ -3,12 +3,16 @@ import { Environment } from './../../app/models/envarioment';
export const doneITProd: Environment = { export const doneITProd: Environment = {
id:'1', id:'1',
apiURL: 'https://API.DONEIT.CO.AO/api/', apiURL: 'https://gdapi-dev.dyndns.info/api/',
apiChatUrl: 'https://gdchat-dev.dyndns.info/api/v1/',
apiWsChatUrl: 'wss://gdchat-dev.dyndns.info/websocket',
apiPCURL: 'https://gdcmapi-dev.dyndns.info/api/',
/* apiURL: 'https://API.DONEIT.CO.AO/api/',
apiChatUrl: 'https://CHAT.DONEIT.CO.AO/api/v1/', apiChatUrl: 'https://CHAT.DONEIT.CO.AO/api/v1/',
apiWsChatUrl: 'wss://CHAT.DONEIT.CO.AO/websocket', apiWsChatUrl: 'wss://CHAT.DONEIT.CO.AO/websocket',
apiPCURL: 'http://192.168.0.21:9099/api/', apiPCURL: 'http://192.168.0.21:9099/api/', */
production: true, production: true,
domain: 'equilibrium.co.ao', domain: 'gabinetedigital.local',
defaultuser: '', defaultuser: '',
defaultuserpwd: '', defaultuserpwd: '',
chatOffline: true, chatOffline: true,
@@ -29,14 +33,18 @@ export const doneITProd: Environment = {
export const doneITDev: Environment = { export const doneITDev: Environment = {
id:'1', id:'1',
apiURL: 'https://API.DONEIT.CO.AO/api/', apiURL: 'https://gdapi-dev.dyndns.info/api/',
apiChatUrl: 'https://gdchat-dev.dyndns.info/api/v1/',
apiWsChatUrl: 'wss://gdchat-dev.dyndns.info/websocket',
apiPCURL: 'https://gdcmapi-dev.dyndns.info/api/',
/* apiURL: 'https://API.DONEIT.CO.AO/api/',
apiChatUrl: 'https://CHAT.DONEIT.CO.AO/api/v1/', apiChatUrl: 'https://CHAT.DONEIT.CO.AO/api/v1/',
apiWsChatUrl: 'wss://CHAT.DONEIT.CO.AO/websocket', apiWsChatUrl: 'wss://CHAT.DONEIT.CO.AO/websocket',
apiPCURL: 'http://192.168.0.21:9099/api/', apiPCURL: 'http://192.168.0.21:9099/api/', */
production: true, production: true,
domain: 'equilibrium.co.ao', domain: 'gabinetedigital.local',
defaultuser: 'peter.maquiran@equilibrium.co.ao', defaultuser: '',
defaultuserpwd: 'codcodccx', defaultuserpwd: '',
chatOffline: true, chatOffline: true,
presidential: false, presidential: false,
version: versionData, version: versionData,