mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-18 12:37:53 +00:00
bugs fixed
This commit is contained in:
@@ -2,6 +2,12 @@
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>NSCameraUsageDescription</key>
|
||||
<string>Privacy - Camera Usage Description</string>
|
||||
<key>NSPhotoLibraryAddUsageDescription</key>
|
||||
<string>Privacy - Photo Library Additions Usage Description</string>
|
||||
<key>NSPhotoLibraryUsageDescription</key>
|
||||
<string>Privacy - Photo Library Usage Description</string>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleDisplayName</key>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<ion-content class=" bg-blue">
|
||||
<div class="main-content width-100 overflow-y-auto height-100 header-fix">
|
||||
<div class="profile-header width-100">
|
||||
<div class="main-content header-fix width-100 overflow-y-auto height-100">
|
||||
<div class="profile-header width-100 ">
|
||||
<div class="div-logo width-40">
|
||||
<div class="logo-icon">
|
||||
<img *ngIf="ThemeService.currentTheme == 'default' " src='assets/images/logo-no-bg.png' alt='logo'>
|
||||
|
||||
@@ -66,29 +66,49 @@
|
||||
|
||||
<ion-list>
|
||||
<div class="item cursor-pointer ion-no-padding ion-no-margin" lines="none"
|
||||
*ngFor="let item of notificationdata; let i = index"
|
||||
(click)="notificatinsRoutes(item.index,item.Service,item.Object,item.IdObject,item.FolderId)">
|
||||
<div class="item-conten-{{item.Service}}-{{item.TypeAgenda}}-{{item.Role}}">
|
||||
*ngFor="let item of notificationdata; let i = index">
|
||||
|
||||
<div *ngIf="item.read == false" class="item-conten-{{item.Service}}-{{item.TypeAgenda}}-{{item.Role}}" (click)="notificatinsRoutes(item.index,item.Service,item.Object,item.IdObject,item.FolderId,i)">
|
||||
<div class="notification-item">
|
||||
<img class="notification-icon" slot="end" *ngIf="item.Service == 'agenda'"
|
||||
src="assets/images/icons-default-agenda.svg">
|
||||
<img class="notification-icon" slot="end" *ngIf="item.Service == 'gabinete-digital'"
|
||||
src="assets/images/icons-correspondencias.svg">
|
||||
<img class="notification-icon" slot="end" *ngIf="item.Service == 'accoes'"
|
||||
src="assets/images/icons-nav-accoes-active.svg">
|
||||
<img class="notification-icon" slot="end" *ngIf="item.Service == 'chat'"
|
||||
src="assets/images/icons-nav-agenda-active.svg">
|
||||
<img class="notification-icon" slot="end" *ngIf = "item.Service == 'agenda'" src="assets/images/icons-default-agenda.svg" >
|
||||
<img class="notification-icon" slot="end" *ngIf = "item.Service == 'gabinete-digital'" src="assets/images/icons-correspondencias.svg" >
|
||||
<img class="notification-icon" slot="end" *ngIf = "item.Service == 'accoes'" src="assets/images/icons-nav-accoes-active.svg" >
|
||||
<img class="notification-icon" slot="end" *ngIf = "item.Service == 'chat'" src="assets/images/icons-nav-agenda-active.svg" >
|
||||
</div>
|
||||
<div class="approve-event-time">
|
||||
<p *ngIf="item.Service == 'agenda'">{{item.dateInit}}</p>
|
||||
<p *ngIf="item.Service == 'agenda'">{{item.dateEnd}}</p>
|
||||
<p *ngIf = "item.Service == 'agenda'">{{item.dateInit}}</p>
|
||||
<p *ngIf = "item.Service == 'agenda'">{{item.dateEnd}}</p>
|
||||
</div>
|
||||
<div class="approve-event-detail">
|
||||
<p *ngIf="item.Service == 'agenda'">{{item.Location}}</p>
|
||||
<p *ngIf = "item.Service == 'agenda'">{{item.Location}}</p>
|
||||
<h3 id="profile-title">{{item.title}}</h3>
|
||||
<p id="profile-title" *ngIf="item.Service != 'agenda'">{{item.body}}</p>
|
||||
<p id="profile-title" *ngIf = "item.Service != 'agenda'">{{item.body}}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div *ngIf="item.read == true" >
|
||||
<div class="notification-item">
|
||||
<img class="notification-icon-error" slot="end" src="assets/images/exclamation_mark.svg" >
|
||||
</div>
|
||||
<div class="approve-event-time">
|
||||
<p *ngIf = "item.Service == 'agenda'">{{item.dateInit}}</p>
|
||||
</div>
|
||||
<div class="approve-event-detail-error">
|
||||
<p id="profile-title-error">Possivelmente esta tarefa não foi criada ou já foi executada. Deseja dar a notificação como lida?</p>
|
||||
</div>
|
||||
|
||||
<div class="d-flex mt-10 width-100">
|
||||
<ion-buttons slot="start" class="buttonSize" >
|
||||
<button (click)="doNotKeppNotification(item.index)" class="btn-delete" fill="clear" >
|
||||
<ion-label style="color:#d30a0a;">Sim</ion-label>
|
||||
</button>
|
||||
<button (click)="keppNotification(i)" class="btn-cancel" fill="clear" color="#fff" >
|
||||
<ion-label>Não</ion-label>
|
||||
</button>
|
||||
</ion-buttons>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</ion-list>
|
||||
|
||||
|
||||
@@ -171,8 +171,8 @@ ion-list {
|
||||
width: calc(100% - 115px) !important;
|
||||
float: left;
|
||||
#profile-title-error {
|
||||
display: flex;
|
||||
width: 250px;
|
||||
white-space: nowrap;
|
||||
font-size: small
|
||||
;
|
||||
}
|
||||
|
||||
@@ -10,6 +10,8 @@ import { SessionStore } from 'src/app/store/session.service';
|
||||
import { EventTrigger } from '../../services/eventTrigger.service';
|
||||
import { ThemeService } from 'src/app/services/theme.service'
|
||||
import { environment } from 'src/environments/environment';
|
||||
import { ProcessesService } from 'src/app/services/processes.service';
|
||||
import { EventsService } from 'src/app/services/events.service';
|
||||
|
||||
@Component({
|
||||
selector: 'app-profile',
|
||||
@@ -34,6 +36,9 @@ export class ProfilePage implements OnInit {
|
||||
logoutOut = false
|
||||
notificationStatus = '';
|
||||
environment = environment
|
||||
taskExist = true;
|
||||
taskNotExist = false;
|
||||
|
||||
|
||||
SessionStore = SessionStore;
|
||||
constructor(
|
||||
@@ -45,7 +50,9 @@ export class ProfilePage implements OnInit {
|
||||
private platform: Platform,
|
||||
private eventTriger: EventTrigger,
|
||||
public ThemeService: ThemeService,
|
||||
private notificationService: NotificationsService
|
||||
private notificationService: NotificationsService,
|
||||
private processesService: ProcessesService,
|
||||
private eventsService: EventsService
|
||||
) {
|
||||
|
||||
|
||||
@@ -112,7 +119,8 @@ export class ProfilePage implements OnInit {
|
||||
Location: element.data.Location,
|
||||
TypeAgenda: element.data.TypeAgenda,
|
||||
Role: element.data.Role,
|
||||
Status: element.data.Status
|
||||
Status: element.data.Status,
|
||||
read: false,
|
||||
}
|
||||
|
||||
} else if (element.data) {
|
||||
@@ -129,7 +137,8 @@ export class ProfilePage implements OnInit {
|
||||
Location: element.data.Location,
|
||||
TypeAgenda: element.data.TypeAgenda,
|
||||
Role: element.data.Role,
|
||||
Status: element.data.Status
|
||||
Status: element.data.Status,
|
||||
read: false,
|
||||
}
|
||||
|
||||
} else {
|
||||
@@ -147,14 +156,15 @@ export class ProfilePage implements OnInit {
|
||||
dateEnd: element.dateEnd,
|
||||
dateInit: element.dateInit,
|
||||
index: element.index,
|
||||
title: element.title
|
||||
title: element.title,
|
||||
read: false,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.DataArray.push(notificationObject)
|
||||
});
|
||||
this.notificationdata = this.DataArray
|
||||
this.notificationdata = this.DataArray.reverse();
|
||||
}).catch((error) => {
|
||||
console.error('storage getnotification: ', error)
|
||||
})
|
||||
@@ -173,22 +183,95 @@ export class ProfilePage implements OnInit {
|
||||
return time;
|
||||
}
|
||||
|
||||
notificatinsRoutes = (index, Service, Object, IdObject, FolderId) => {
|
||||
notificatinsRoutes = (index, Service, Object, IdObject, FolderId,i) => {
|
||||
|
||||
console.log(index, i)
|
||||
|
||||
if(Service === "agenda") {
|
||||
this.eventsService.getEvent(IdObject).subscribe((task) => {
|
||||
|
||||
if (Service === "agenda" && IdObject.length > 10) {
|
||||
this.zone.run(() => this.router.navigate(['/home/agenda', IdObject, 'agenda']));
|
||||
|
||||
} else if (Service === "agenda" && Object === "event-list") {
|
||||
//this.zone.run(() => this.router.navigate(['/home/gabinete-digital/event-list/approve-event',IdObject, 'agenda']));
|
||||
this.zone.run(() => this.router.navigate(['/home/agenda/event-list/approve-event', IdObject, 'agenda']));
|
||||
|
||||
}
|
||||
|
||||
this.deleteNotification(index);
|
||||
|
||||
}, (error) => {
|
||||
this.notificationdata[i].read = true;
|
||||
})
|
||||
|
||||
} else if (Service === "gabinete-digital") {
|
||||
|
||||
this.processesService.GetTask(IdObject).subscribe((task) => {
|
||||
|
||||
if (Service === "gabinete-digital" && Object === "expedientes") {
|
||||
this.zone.run(() => this.router.navigate(['/home/gabinete-digital/expediente', IdObject, 'gabinete-digital']));
|
||||
} else if (Service === "gabinete-digital" && Object === "despachos") {
|
||||
this.zone.run(() => this.router.navigate(['/home/gabinete-digital/despachos', IdObject, 'gabinete-digital'], { replaceUrl: true }));
|
||||
}else if (Service === "gabinete-digital" && Object === "parecer") {
|
||||
|
||||
this.zone.run(() => this.router.navigate(['/home/gabinete-digital/pedidos', IdObject, 'gabinete-digital']));
|
||||
}
|
||||
else if (Service === "gabinete-digital" && Object === "deferimento") {
|
||||
|
||||
this.zone.run(() => this.router.navigate(['/home/gabinete-digital/pedidos', IdObject, 'gabinete-digital']));
|
||||
}
|
||||
else if (Service === "gabinete-digital" && Object === "despachos-pr") {
|
||||
|
||||
this.zone.run(() => this.router.navigate(['/home/gabinete-digital/despachos-pr', IdObject, 'gabinete-digital']));
|
||||
}
|
||||
|
||||
this.deleteNotification(index);
|
||||
|
||||
}, (error) => {
|
||||
this.notificationdata[i].read = true;
|
||||
})
|
||||
|
||||
|
||||
if (Service === "agenda" && IdObject.length > 10) {
|
||||
} else if( Service === "accoes") {
|
||||
if (Service === "accoes" && Object === "accao") {
|
||||
this.zone.run(() => this.router.navigate(['/home/publications', IdObject]));
|
||||
this.deleteNotification(index);
|
||||
}
|
||||
else if (Service === "accoes" && Object === "publicacao") {
|
||||
this.zone.run(() => this.router.navigate(['/home/publications/view-publications', FolderId, IdObject]));
|
||||
this.deleteNotification(index);
|
||||
}
|
||||
|
||||
} else if (Service === "chat") {
|
||||
let navigationExtras: NavigationExtras = { queryParams: { "roomId": IdObject, } };
|
||||
this.zone.run(() => this.router.navigate(['/home/chat'], navigationExtras));
|
||||
this.deleteNotification(index);
|
||||
}
|
||||
|
||||
|
||||
/* if (Service === "agenda" && IdObject.length > 10) {
|
||||
this.zone.run(() => this.router.navigate(['/home/agenda', IdObject, 'agenda']));
|
||||
}
|
||||
else if (Service === "gabinete-digital" && Object === "expediente") {
|
||||
this.zone.run(() => this.router.navigate(['/home/gabinete-digital/expediente', IdObject, 'gabinete-digital']));
|
||||
else if (Service === "gabinete-digital" && Object === "expedientes") {
|
||||
this.processesService.GetTask(IdObject).subscribe((task) => {
|
||||
this.zone.run(() => this.router.navigate(['/home/gabinete-digital/expediente', IdObject, 'gabinete-digital']));
|
||||
}, (error) => {
|
||||
this.notificationdata[i].read = true;
|
||||
})
|
||||
}
|
||||
else if (Service === "agenda" && Object === "event-list") {
|
||||
//this.zone.run(() => this.router.navigate(['/home/gabinete-digital/event-list/approve-event',IdObject, 'agenda']));
|
||||
this.zone.run(() => this.router.navigate(['/home/agenda/event-list/approve-event', IdObject, 'agenda']));
|
||||
|
||||
} else if (Service === "gabinete-digital" && Object === "despachos") {
|
||||
this.processesService.GetTask(IdObject).subscribe((task) => {
|
||||
this.zone.run(() => this.router.navigate(['/home/gabinete-digital/despachos', IdObject, 'gabinete-digital'], { replaceUrl: true }));
|
||||
}, (error) => {
|
||||
this.notificationdata[i].read = true;
|
||||
})
|
||||
|
||||
this.zone.run(() => this.router.navigate(['/home/gabinete-digital/despachos', IdObject, 'gabinete-digital'], { replaceUrl: true }));
|
||||
|
||||
}
|
||||
else if (Service === "gabinete-digital" && Object === "parecer") {
|
||||
|
||||
@@ -220,10 +303,10 @@ export class ProfilePage implements OnInit {
|
||||
} else if (Service === "chat") {
|
||||
let navigationExtras: NavigationExtras = { queryParams: { "roomId": IdObject, } };
|
||||
this.zone.run(() => this.router.navigate(['/home/chat'], navigationExtras));
|
||||
}
|
||||
} */
|
||||
|
||||
// this.notificationservice.tempClearArray();
|
||||
this.deleteNotification(index);
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -317,4 +400,13 @@ export class ProfilePage implements OnInit {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
keppNotification(index) {
|
||||
this.notificationdata[index].read = false;
|
||||
}
|
||||
|
||||
doNotKeppNotification(index) {
|
||||
this.deleteNotification(index);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -51,24 +51,33 @@ models.register({
|
||||
models: [MessageModel, DeleteMessageModel, attachments]
|
||||
})
|
||||
|
||||
|
||||
|
||||
// // acçoes
|
||||
// export class ActionModel extends models.Model{
|
||||
// static $tableName = ''
|
||||
|
||||
// ProcessId = models.IntegerField({unique: true})
|
||||
// Description = models.CharField()
|
||||
// Detail = models.CharField()
|
||||
// DateBegin = models.CharField()
|
||||
// DateEnd = models.CharField()
|
||||
// ActionType = models.CharField()
|
||||
|
||||
// }
|
||||
|
||||
|
||||
// export class PublicationFolderModel extends models.Model{
|
||||
// static $tableName = ''
|
||||
|
||||
// DateBegin = models.CharField()
|
||||
// Description = models.CharField()
|
||||
// Detail = models.CharField()
|
||||
// }
|
||||
|
||||
// export class PublicationDetailsModel extends models.Model{
|
||||
// static $tableName = ''
|
||||
|
||||
// DateIndex = models.CharField()
|
||||
// DocumentId = models.IntegerField({unique: true})
|
||||
// ProcessId = models.CharField()
|
||||
@@ -83,6 +92,8 @@ models.register({
|
||||
|
||||
|
||||
// export class WebtrixUserModel extends models.Model {
|
||||
// static $tableName = ''
|
||||
|
||||
// FullName = models.CharField()
|
||||
// Role = models.CharField()
|
||||
// }
|
||||
|
||||
@@ -423,7 +423,7 @@ export class MessagesPage implements OnInit, AfterViewInit, OnDestroy {
|
||||
}],
|
||||
temporaryData: formData,
|
||||
attachmentsModelData: {
|
||||
fileBase64: await this.fileService.blobToBase64(blob),
|
||||
fileBase64: encodedData,
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
<div class="conteiner-box pt-20 height-100">
|
||||
|
||||
<div class="main-content justify-center d-flex height-100">
|
||||
<div class="box-container width-100 d-flex mx-20" style="padding: 0px;overflow: hidden;">
|
||||
<div class="box-container width-100 d-flex mx-20 overflow-hidden" style="padding: 0px;overflow: hidden;">
|
||||
<ion-progress-bar type="indeterminate" *ngIf="loadingAllTask || TaskService.showLoader"></ion-progress-bar>
|
||||
<div class="px-20 pb-20 container-filters">
|
||||
<p class="time ion-text-left font-18-em">{{customDate}}</p>
|
||||
|
||||
@@ -215,7 +215,7 @@ ion-button{
|
||||
}
|
||||
@media only screen and (min-width: 801px) {
|
||||
.div-icon{
|
||||
display: none;
|
||||
display: none !important;
|
||||
}
|
||||
.content{
|
||||
width: 65%;
|
||||
|
||||
@@ -174,7 +174,7 @@ ion-button{
|
||||
}
|
||||
@media only screen and (min-width: 801px) {
|
||||
.div-icon{
|
||||
display: none;
|
||||
display: none !important;
|
||||
}
|
||||
.content{
|
||||
width: 65%;
|
||||
|
||||
+1
-1
@@ -240,7 +240,7 @@ ion-button{
|
||||
}
|
||||
@media only screen and (min-width: 801px) {
|
||||
.div-icon{
|
||||
display: none;
|
||||
display: none !important;
|
||||
}
|
||||
.content{
|
||||
width: 65%;
|
||||
|
||||
@@ -105,7 +105,7 @@ export class DiplomasGerarPage implements OnInit {
|
||||
}, 1000);
|
||||
}
|
||||
|
||||
async LoadList(){
|
||||
async LoadList() {
|
||||
|
||||
this.skeletonLoader = true
|
||||
|
||||
@@ -134,10 +134,10 @@ export class DiplomasGerarPage implements OnInit {
|
||||
this.skeletonLoader = false
|
||||
this.showLoader = false;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
goBack() {
|
||||
this.RouteService.goBack();
|
||||
// window.history.back()
|
||||
}
|
||||
goBack() {
|
||||
this.RouteService.goBack();
|
||||
// window.history.back()
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -227,7 +227,7 @@ ion-button{
|
||||
}
|
||||
@media only screen and (min-width: 801px) {
|
||||
.div-icon{
|
||||
display: none;
|
||||
display: none !important;
|
||||
}
|
||||
.content{
|
||||
width: 65%;
|
||||
|
||||
@@ -63,7 +63,7 @@ ion-button{
|
||||
}
|
||||
@media only screen and (min-width: 801px) {
|
||||
.div-icon{
|
||||
display: none;
|
||||
display: none !important;
|
||||
}
|
||||
.content{
|
||||
width: 65%;
|
||||
|
||||
+1
-1
@@ -287,7 +287,7 @@ ion-button{
|
||||
}
|
||||
@media only screen and (min-width: 801px) {
|
||||
.menu-ptions{
|
||||
display: none;
|
||||
display: none !important;
|
||||
}
|
||||
.content{
|
||||
width: 65%;
|
||||
|
||||
@@ -205,7 +205,7 @@ ion-button{
|
||||
}
|
||||
@media only screen and (min-width: 801px) {
|
||||
.menu-ptions{
|
||||
display: none;
|
||||
display: none !important;
|
||||
}
|
||||
.content{
|
||||
width: 65%;
|
||||
|
||||
@@ -171,7 +171,7 @@ ion-button{
|
||||
}
|
||||
@media only screen and (min-width: 801px) {
|
||||
.div-icon{
|
||||
display: none;
|
||||
display: none !important;
|
||||
}
|
||||
.content{
|
||||
width: 65%;
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
|
||||
<div class="main-wrapper">
|
||||
|
||||
<div class="main-content d-flex flex-column width header-fix" >
|
||||
<div class="main-content d-flex flex-column width " >
|
||||
|
||||
<div class="div-top-header">
|
||||
<div class="div-top-header header-fix">
|
||||
|
||||
<div class="div-logo">
|
||||
<img style="max-width: 90px;" *ngIf="ThemeService.currentTheme == 'default' " src='assets/images/logo-bg-removebg-preview.png' alt='logo'>
|
||||
|
||||
@@ -319,12 +319,6 @@ ion-item{
|
||||
position: relative;
|
||||
top: 35px;
|
||||
}
|
||||
|
||||
.div-top-header {
|
||||
position: absolute !important;
|
||||
top: 0px !important;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -240,7 +240,7 @@ export class NotificationsService {
|
||||
|
||||
this.zone.run(() => this.router.navigate(['/home/agenda', notification.notification.data.IdObject, 'agenda']));
|
||||
}
|
||||
else if (notification.notification.data.Service === "gabinete-digital" && notification.notification.data.Object === "expediente") {
|
||||
else if (notification.notification.data.Service === "gabinete-digital" && notification.notification.data.Object === "expedientes") {
|
||||
this.zone.run(() => this.router.navigate(['/home/gabinete-digital/expediente', notification.notification.data.IdObject, 'gabinete-digital']));
|
||||
}
|
||||
else if (notification.notification.data.Service === "agenda" && notification.notification.data.Object === "event-list") {
|
||||
|
||||
@@ -452,7 +452,8 @@ export class EditEventPage implements OnInit {
|
||||
window['temp.path:/home/agenda/edit-event.component.ts'] = {
|
||||
postEvent: this._postEvent,
|
||||
eventBody: this.eventBody,
|
||||
segment: this.segment
|
||||
segment: this.segment,
|
||||
loadedEventAttachments: this.loadedEventAttachments
|
||||
}
|
||||
}
|
||||
|
||||
@@ -464,6 +465,7 @@ export class EditEventPage implements OnInit {
|
||||
this._postEvent = restoredData.postEvent
|
||||
this.eventBody = restoredData.eventBody
|
||||
this.segment = restoredData.segment
|
||||
this.loadedEventAttachments = restoredData.loadedEventAttachments
|
||||
|
||||
return true;
|
||||
} else {
|
||||
|
||||
@@ -727,7 +727,8 @@ export class NewEventPage implements OnInit {
|
||||
postEvent: this.postEvent,
|
||||
eventBody: this.eventBody,
|
||||
segment: this.segment,
|
||||
CalendarName: this.CalendarName
|
||||
CalendarName: this.CalendarName,
|
||||
documents: this.documents
|
||||
}
|
||||
}
|
||||
|
||||
@@ -745,6 +746,7 @@ export class NewEventPage implements OnInit {
|
||||
this.eventBody = restoredData.eventBody
|
||||
this.segment = restoredData.segment
|
||||
this.CalendarName = restoredData.CalendarName
|
||||
this.documents = restoredData.documents
|
||||
|
||||
// restore dater for date and hours picker
|
||||
|
||||
|
||||
@@ -442,7 +442,7 @@ export class MessagesPage implements OnInit, OnChanges, AfterViewInit, OnDestroy
|
||||
}],
|
||||
temporaryData: formData,
|
||||
attachmentsModelData: {
|
||||
fileBase64: await this.fileService.blobToBase64(blob),
|
||||
fileBase64: encodedData,
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
<div >
|
||||
<ion-toolbar class="d-flex">
|
||||
<div class="d-flex align-items-center px-20 pt-20 font-25">
|
||||
<div class="d-flex align-items-center px-20 pt-20 font-25-rem">
|
||||
<div class="left cursor-pointer" (click)="close()">
|
||||
<fa-icon icon="chevron-left" class="menu-icon font-awesome-1"></fa-icon>
|
||||
</div>
|
||||
|
||||
<div class="middle add-ellipsis">
|
||||
<div class="middle add-ellipsis font-25-rem">
|
||||
{{Document.Assunto}}
|
||||
</div>
|
||||
|
||||
@@ -21,18 +21,21 @@
|
||||
apiKey="wr5dk69kive0qr9ig6y5spqvlj3a0tsiwnzdsexnz241k69p"
|
||||
[(ngModel)]="editorContent"
|
||||
[init]="{
|
||||
save_onsavecallback: 'onSaveContent',
|
||||
language: 'pt_PT',
|
||||
height: 600,
|
||||
menubar: false,
|
||||
autosave_interval:30,
|
||||
plugins: [
|
||||
'advlist autolink lists link image charmap print preview anchor',
|
||||
'advlist autolink autosave lists link image charmap print preview anchor',
|
||||
'searchreplace visualblocks code fullscreen',
|
||||
'insertdatetime media table paste code help wordcount print'
|
||||
],
|
||||
toolbar:
|
||||
'undo redo | formatselect | bold italic backcolor | \
|
||||
alignleft aligncenter alignright alignjustify | \
|
||||
bullist numlist outdent indent | removeformat | print | help' }"
|
||||
bullist numlist outdent indent | removeformat | print | save | help ' }"
|
||||
|
||||
initialValue='{{content}}'
|
||||
[(ngModel)]="content"
|
||||
(onSaveContent)="somefunction()"
|
||||
|
||||
@@ -1,13 +1,15 @@
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import { Component, OnDestroy, OnInit } from '@angular/core';
|
||||
import { NavParams } from '@ionic/angular';
|
||||
import { EventDetailsDocumentsOptionsPage } from '../shared/popover/event-details-documents-options/event-details-documents-options.page';
|
||||
import { AlertController, ModalController } from '@ionic/angular';
|
||||
import { ProcessesService } from '../services/processes.service';
|
||||
import { HttpErrorHandle } from '../services/http-error-handle.service';
|
||||
@Component({
|
||||
selector: 'app-tiny-mce',
|
||||
templateUrl: './tiny-mce.page.html',
|
||||
styleUrls: ['./tiny-mce.page.scss'],
|
||||
})
|
||||
export class TinyMCEPage implements OnInit {
|
||||
export class TinyMCEPage implements OnDestroy {
|
||||
|
||||
|
||||
|
||||
@@ -16,25 +18,30 @@ export class TinyMCEPage implements OnInit {
|
||||
content: ""
|
||||
editorContent: "";
|
||||
value: "";
|
||||
|
||||
private intervalId: any;
|
||||
private intervalTime: number = 30000;
|
||||
|
||||
|
||||
|
||||
constructor(
|
||||
private navParams: NavParams,
|
||||
private modalController: ModalController,
|
||||
|
||||
private processService: ProcessesService,
|
||||
private erroHandler: HttpErrorHandle
|
||||
|
||||
) {
|
||||
this.Document = this.navParams.get('Document')
|
||||
this.content = this.navParams.get('content')
|
||||
|
||||
|
||||
this.waitForTiny();
|
||||
this.saveDraft();
|
||||
}
|
||||
|
||||
waitForTiny() {
|
||||
const tiny: HTMLDivElement = document.querySelector('.tox-tinymce')
|
||||
|
||||
if(tiny) {
|
||||
if (tiny) {
|
||||
this.doneWaitForTiny(tiny)
|
||||
} else {
|
||||
setTimeout(() => {
|
||||
@@ -47,16 +54,39 @@ export class TinyMCEPage implements OnInit {
|
||||
tiny.style.height = '100%'
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
this.value = ""
|
||||
ngOnDestroy() {
|
||||
// Certifique-se de limpar o intervalo quando o componente é destruído
|
||||
if (this.intervalId) {
|
||||
clearInterval(this.intervalId);
|
||||
}
|
||||
}
|
||||
|
||||
close() {
|
||||
this.modalController.dismiss()
|
||||
}
|
||||
|
||||
saveDraft() {
|
||||
this.intervalId = setInterval(() => {
|
||||
// Lógica que deseja executar em intervalos regulares
|
||||
console.log('Intervalo de 30 segundos...');
|
||||
console.log(document)
|
||||
let objectDraft = {
|
||||
"status": false,
|
||||
"description": this.Document.Assunto,
|
||||
"content": this.content,
|
||||
"path": this.Document.path,
|
||||
"ownerId": this.Document.ownerId
|
||||
}
|
||||
this.processService.SaveDraftByID(this.Document.DocId, objectDraft).subscribe((res) => {
|
||||
window['tinyupdate']()
|
||||
}, (error) => {
|
||||
this.erroHandler.httpStatusHandle(error)
|
||||
})
|
||||
}, this.intervalTime);
|
||||
}
|
||||
|
||||
somefunction() {
|
||||
console.log(this.content)
|
||||
|
||||
}
|
||||
|
||||
async openOptions() {
|
||||
@@ -70,7 +100,7 @@ export class TinyMCEPage implements OnInit {
|
||||
});
|
||||
|
||||
|
||||
modal.onDidDismiss().then((res)=>{},() => {})
|
||||
modal.onDidDismiss().then((res) => { }, () => { })
|
||||
|
||||
await modal.present();
|
||||
}
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
export let versionData = {
|
||||
"shortSHA": "fbd4b87fe",
|
||||
"SHA": "fbd4b87fe5b11d3539da0c7228a9749d29ec7f12",
|
||||
"shortSHA": "f22590357",
|
||||
"SHA": "f22590357e16e8fa3a2c3ba96ca18994a1507ccb",
|
||||
"branch": "developer-catch-merge",
|
||||
"lastCommitAuthor": "'Eudes Inácio'",
|
||||
"lastCommitTime": "'Thu Jul 27 15:20:13 2023 +0100'",
|
||||
"lastCommitMessage": "pull made",
|
||||
"lastCommitNumber": "5122",
|
||||
"lastCommitTime": "'Sun Jul 30 21:42:56 2023 +0100'",
|
||||
"lastCommitMessage": "tinymce language pt",
|
||||
"lastCommitNumber": "5123",
|
||||
"change": "",
|
||||
"changeStatus": "On branch developer-catch-merge\nYour branch is ahead of 'origin/developer-catch-merge' by 4 commits.\n (use \"git push\" to publish your local commits)\n\nChanges to be committed:\n (use \"git restore --staged <file>...\" to unstage)\n\tmodified: src/app/tiny-mce/tiny-mce.page.html",
|
||||
"changeStatus": "On branch developer-catch-merge\nYour branch and 'origin/developer-catch-merge' have diverged,\nand have 5 and 6 different commits each, respectively.\n (use \"git pull\" to merge the remote branch into yours)\n\nAll conflicts fixed but you are still merging.\n (use \"git commit\" to conclude merge)\n\nChanges to be committed:\n\tmodified: ios/App/App/Info.plist\n\tmodified: src/app/modals/profile/edit-profile/edit-profile.page.html\n\tmodified: src/app/modals/profile/profile.page.html\n\tmodified: src/app/modals/profile/profile.page.scss\n\tmodified: src/app/modals/profile/profile.page.ts\n\tmodified: src/app/models/beast-orm.ts\n\tmodified: src/app/pages/chat/messages/messages.page.ts\n\tmodified: src/app/pages/events/events.page.html\n\tmodified: src/app/pages/gabinete-digital/despachos-pr/despacho-pr/despacho-pr.page.scss\n\tmodified: src/app/pages/gabinete-digital/despachos/despacho/despacho.page.scss\n\tmodified: src/app/pages/gabinete-digital/diplomas-assinar/diploma-assinar/diploma-assinar.page.scss\n\tmodified: src/app/pages/gabinete-digital/diplomas-gerar/diplomas-gerar.page.ts\n\tmodified: src/app/pages/gabinete-digital/diplomas-gerar/diplomas-gerar/diplomas-gerar.page.scss\n\tmodified: src/app/pages/gabinete-digital/diplomas/diploma/diploma.page.scss\n\tmodified: src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page.scss\n\tmodified: src/app/pages/gabinete-digital/expedientes-pr/expediente-pr/expediente-pr.page.scss\n\tmodified: src/app/pages/gabinete-digital/pedidos/pedido/pedido.page.scss\n\tmodified: src/app/pages/inactivity/inactivity.page.html\n\tmodified: src/app/pages/inactivity/inactivity.page.scss\n\tmodified: src/app/services/notifications.service.ts\n\tmodified: src/app/shared/agenda/edit-event/edit-event.page.ts\n\tmodified: src/app/shared/agenda/new-event/new-event.page.ts\n\tmodified: src/app/shared/chat/messages/messages.page.ts\n\tmodified: src/app/tiny-mce/tiny-mce.page.html\n\tmodified: src/app/tiny-mce/tiny-mce.page.ts",
|
||||
"changeAuthor": "eudes.inacio"
|
||||
}
|
||||
Reference in New Issue
Block a user