This commit is contained in:
Eudes Inácio
2021-06-07 08:47:44 +01:00
217 changed files with 996 additions and 3960 deletions
+16 -8
View File
@@ -16,14 +16,6 @@ const routes: Routes = [
path: 'empty-chat',
loadChildren: () => import('./shared/chat/empty-chat/empty-chat.module').then( m => m.EmptyChatPageModule)
},
{
path: 'btn-criar',
loadChildren: () => import('./shared/buttons/btn-criar/btn-criar.module').then( m => m.BtnCriarPageModule)
},
{
path: 'btn-adicionar',
loadChildren: () => import('./shared/buttons/btn-adicionar/btn-adicionar.module').then( m => m.BtnAdicionarPageModule)
},
{
path: 'empty-container',
loadChildren: () => import('./shared/empty-container/empty-container.module').then( m => m.EmptyContainerPageModule)
@@ -120,6 +112,22 @@ const routes: Routes = [
path: 'fingerprint',
loadChildren: () => import('./shared/fingerprint/fingerprint.module').then( m => m.FingerprintPageModule)
},
{
path: 'new-event',
loadChildren: () => import('./shared/agenda/new-event/new-event.module').then( m => m.NewEventPageModule)
},
{
path: 'edit-event',
loadChildren: () => import('./shared/agenda/edit-event/edit-event.module').then( m => m.EditEventPageModule)
},
{
path: 'event-list',
loadChildren: () => import('./shared/agenda/event-list/event-list.module').then( m => m.EventListPageModule)
},
{
path: 'approve-event',
loadChildren: () => import('./shared/agenda/approve-event/approve-event.module').then( m => m.ApproveEventPageModule)
},
/* {
path: 'chat',
+2 -2
View File
@@ -35,8 +35,8 @@ import { ChatService } from './services/chat.service'
@NgModule({
declarations: [AppComponent,MessagesPage,],
entryComponents: [MessagesPage],
declarations: [AppComponent],
entryComponents: [],
imports: [BrowserModule,
CommonModule,
FormsModule,
+3 -19
View File
@@ -1,28 +1,12 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { HeaderPage } from '../shared/header/header.page';
import { BtnSeguintePage } from '../shared/btn-seguinte/btn-seguinte.page';
import { BtnModalDismissPage } from '../shared/btn-modal-dismiss/btn-modal-dismiss.page';
import { EmptyChatPage } from '../shared/chat/empty-chat/empty-chat.page';
import { BtnCriarPage } from '../shared/buttons/btn-criar/btn-criar.page';
import { BtnAdicionarPage } from '../shared/buttons/btn-adicionar/btn-adicionar.page';
import { HeaderNoSearchPage } from '../shared/headers/header-no-search/header-no-search.page';
@NgModule({
declarations: [],
exports: [
HeaderPage,
HeaderNoSearchPage,
BtnSeguintePage,
BtnModalDismissPage,
EmptyChatPage,
BtnCriarPage,
BtnAdicionarPage,
],
exports: [],
imports: [
CommonModule
CommonModule,
]
})
export class ComponentsModule { }
+1
View File
@@ -4,4 +4,5 @@ export class AuthConnstants{
public static readonly AUTH = 'userDataKey';
public static readonly PROFILE = 'profile';
public static readonly USER = 'userId';
public static readonly USERCHAT = 'userChat';
}
@@ -9,18 +9,20 @@ import { CreateProcessPageRoutingModule } from './create-process-routing.module'
import { CreateProcessPage } from './create-process.page';
import { AttendeeModalPage } from 'src/app/shared/event/attendee-modal/attendee-modal.page';
import { EmptyContainerPage } from 'src/app/shared/empty-container/empty-container.page';
import { EmptyContainerPageModule } from 'src/app/shared/empty-container/empty-container.module';
import { AttendeeModalPageModule } from 'src/app/shared/event/attendee-modal/attendee-modal.module';
@NgModule({
imports: [
CommonModule,
FormsModule,
IonicModule,
CreateProcessPageRoutingModule
CreateProcessPageRoutingModule,
EmptyContainerPageModule,
AttendeeModalPageModule
],
declarations: [
CreateProcessPage,
AttendeeModalPage,
EmptyContainerPage,
CreateProcessPage
]
})
export class CreateProcessPageModule {}
@@ -5,7 +5,7 @@
<ion-label class="title">{{modalTitle[taskType]}}</ion-label>
</ion-item>
<div class="ion-item-container width-100">
<ion-input placeholder="Assunto" [(ngModel)]="postData.DispatchFolder.Subject"></ion-input>
<ion-textarea placeholder="Assunto" [(ngModel)]="postData.DispatchFolder.Subject"></ion-textarea>
</div>
<div class="container-div width-100">
@@ -62,7 +62,7 @@ export class DarParecerPage implements OnInit {
console.log(body);
try {
await this.processes.CompleteTask(body).toPromise()
await this.processes.CompleteTask(body).toPromise();
this.modalController.dismiss();
this.successMessage()
} catch (error) {
+5 -3
View File
@@ -8,17 +8,19 @@ import { DelegarPageRoutingModule } from './delegar-routing.module';
import { DelegarPage } from './delegar.page';
import { AttendeeModalPage } from 'src/app/shared/event/attendee-modal/attendee-modal.page';
import { AttendeeModalPageModule } from 'src/app/shared/event/attendee-modal/attendee-modal.module';
@NgModule({
imports: [
CommonModule,
FormsModule,
IonicModule,
DelegarPageRoutingModule
DelegarPageRoutingModule,
//
AttendeeModalPageModule
],
declarations: [
DelegarPage,
AttendeeModalPage,
DelegarPage
]
})
export class DelegarPageModule {}
+4 -1
View File
@@ -75,6 +75,9 @@ export class DelegarPage implements OnInit {
this.router.navigate(['/home/gabinete-digital/expediente']);
this.modalController.dismiss(null);
}
goBack() {
window.history.back()
}
cancelTask(){
this.modalController.dismiss(null);
}
@@ -100,7 +103,7 @@ export class DelegarPage implements OnInit {
(error)=>{
this.badRequest()
});
this.close();
this.goBack();
}
}
@@ -9,6 +9,7 @@ import { DocumentDetailPageRoutingModule } from './document-detail-routing.modul
import { DocumentDetailPage } from './document-detail.page';
import { SharedModule } from 'src/app/shared/shared.module';
import { ComponentsModule } from 'src/app/components/components.module';
import { BtnModalDismissPageModule } from 'src/app/shared/btn-modal-dismiss/btn-modal-dismiss.module';
@NgModule({
imports: [
@@ -16,10 +17,9 @@ import { ComponentsModule } from 'src/app/components/components.module';
FormsModule,
IonicModule,
ComponentsModule,
DocumentDetailPageRoutingModule
DocumentDetailPageRoutingModule,
BtnModalDismissPageModule,
],
declarations: [
DocumentDetailPage,
SharedModule,]
declarations: [DocumentDetailPage]
})
export class DocumentDetailPageModule {}
+1 -1
View File
@@ -25,5 +25,5 @@ export class User {
Id: 1
}[]
UserName: string
Profile: "PR" | "MDGPR"
Profile: any;
}
+28 -16
View File
@@ -13,11 +13,10 @@ import { CalModalPageModule } from '../cal-modal/cal-modal.module';
import { registerLocaleData } from '@angular/common';
import localeDe from '@angular/common/locales/pt';
import { SharedModule } from 'src/app/shared/shared.module';
import { NewEventPage } from "src/app/shared/agenda/new-event/new-event.component"
import { EditEventComponent } from 'src/app/shared/agenda/edit-event/edit-event.component';
import { NewEventPage } from "src/app/shared/agenda/new-event/new-event.page"
import { EditEventPage } from 'src/app/shared/agenda/edit-event/edit-event.page';
import { ViewEventPage } from 'src/app/shared/agenda/view-event/view-event.page';
import { EventListComponent } from "src/app/shared/agenda/event-list/event-list.component";
import { ApproveEventComponent } from "src/app/shared/agenda/approve-event/approve-event.component";
import { EventListPage } from "src/app/shared/agenda/event-list/event-list.page";
import { AttendeesPage } from 'src/app/shared/event/attendees/attendees.page';
import { AttendeeModalPage } from 'src/app/shared/event/attendee-modal/attendee-modal.page';
@@ -28,6 +27,19 @@ import { CalendarModule, DateAdapter } from 'angular-calendar';
import { adapterFactory } from 'angular-calendar/date-adapters/date-fns';
import { EventsToApprovePage } from 'src/app/shared/gabinete-digital/events-to-approve/events-to-approve.page';
import { ComponentsModule } from 'src/app/components/components.module';
import { AttendeesPageModule } from '../events/attendees/attendees.module';
import { AttendeeModalPageModule } from 'src/app/shared/event/attendee-modal/attendee-modal.module';
import { HeaderPageModule } from 'src/app/shared/header/header.module';
import { ViewEventPageModule } from 'src/app/shared/agenda/view-event/view-event.module';
import { ApproveEventPageModule } from 'src/app/shared/agenda/approve-event/approve-event.module';
import { NewEventPageModule } from 'src/app/shared/agenda/new-event/new-event.module';
import { EventsToApprovePageModule } from 'src/app/shared/gabinete-digital/events-to-approve/events-to-approve.module';
import { EventListPageModule } from 'src/app/shared/agenda/event-list/event-list.module';
import { EditEventPageModule } from 'src/app/shared/agenda/edit-event/edit-event.module';
@NgModule({
imports: [
CommonModule,
@@ -42,20 +54,20 @@ import { ComponentsModule } from 'src/app/components/components.module';
AgendaPageRoutingModule,
NgCalendarModule,
CalModalPageModule,
// entryComponents
HeaderPageModule,
ViewEventPageModule,
AttendeesPageModule,
AttendeeModalPageModule,
EventsToApprovePageModule,
ApproveEventPageModule,
NewEventPageModule,
EventListPageModule,
EditEventPageModule,
],
declarations: [
AgendaPage,
NewEventPage,
EditEventComponent,
ViewEventPage,
EventListComponent,
ApproveEventComponent,
AttendeesPage,
AttendeeModalPage,
EventsToApprovePage,
],
entryComponents: [
EventsToApprovePage,
AgendaPage
],
schemas: [CUSTOM_ELEMENTS_SCHEMA],
providers: [
@@ -1,105 +0,0 @@
<ion-header class="ion-no-border">
<div class="header-content">
<div class="header-icon-left">
<ion-icon (click)="close()" src="assets/images/icons-arrow-arrow-left.svg"></ion-icon>
</div>
<div class="header-title">
<label>""{{loadedEvent.workflowInstanceDataFields.Subject}}</label>
</div>
<div class="header-icon-right">
<ion-icon (click)="notImplemented()" src="assets/images/icons-edit.svg"></ion-icon>
</div>
</div>
</ion-header>
<ion-menu autoHide="false" side="end" content-id="main-content">
<ion-header>
<ion-toolbar translucent>
<ion-title>Acções</ion-title>
</ion-toolbar>
</ion-header>
<ion-content>
<ion-list>
<ion-item (click)="approveTask(loadedEvent.serialNumber)">
<ion-icon name="checkmark-sharp"></ion-icon>
<ion-label>Aprovar</ion-label>
</ion-item>
<ion-item (click)="emendTask(loadedEvent.serialNumber)">
<ion-icon name="create-outline"></ion-icon>
<ion-label>Adicionar Nota</ion-label>
</ion-item>
<ion-item (click)="rejectTask(loadedEvent.serialNumber)">
<ion-icon name="close-sharp"></ion-icon>
<ion-label>Rejeitar</ion-label>
</ion-item>
</ion-list>
</ion-content>
</ion-menu>
<ion-content id="main-content">
<div class="upper-content">
<div class="content-location">
<div class="location-detail">
<ion-label >11{{loadedEvent.workflowInstanceDataFields.Location}}</ion-label>
</div>
<div class="button-calendar-type">
<ion-button class="button-calendar-type" slot="end">{{loadedEvent.workflowInstanceDataFields.Agenda}}</ion-button>
</div>
</div>
<div class="content-details">
<ion-label>
<p>{{customDate}}</p>
<p>das {{loadedEvent.workflowInstanceDataFields.StartDate | date: 'hh:mm'}} às {{loadedEvent.workflowInstanceDataFields.EndDate | date: 'hh:mm'}}</p>
<p *ngIf="!loadedEvent.workflowInstanceDataFields.IsRecurring">(Não se repete)</p>
<p *ngIf="loadedEvent.workflowInstanceDataFields.IsRecurring">Repete</p>
</ion-label>
</div>
</div>
<div class="middle-content">
<h5>Intervenientes</h5>
<ion-item>
<ion-label>
<p>{{loadedEvent.workflowInstanceDataFields.Participants}}</p>
</ion-label>
</ion-item>
<h5>Detalhes</h5>
<ion-item>
<p>{{loadedEvent.workflowInstanceDataFields.Body}}</p>
</ion-item>
</div>
<div *ngIf="loadedAttachments" class="bottom-content">
<ion-list>
<h5>Documentos Anexados</h5>
<ion-item>
<ion-label>
<p class="attach-title-item">Receita por Natureza</p>
<p><span class="span-left">{{loadedAttachments.Remetente}}</span><span class="span-right">{{loadedAttachments.CreateDate}}<!-- {{ task.CreateDate | date: 'dd-MM-yy' }} --></span></p>
</ion-label>
</ion-item>
</ion-list>
</div>
</ion-content>
<ion-footer>
<ion-toolbar>
<div class="buttons">
<ion-item lines="none">
<p>
<ion-button class="button-edit-event" shape="round" (click)="emendTask(loadedEvent.serialNumber)">Emendar</ion-button>
</p>
<p>
<ion-menu-button autoHide="false">
<ion-icon (click)="openMenu()" name="ellipsis-vertical-outline"></ion-icon>
</ion-menu-button>
</p>
<p>
<ion-button class="button-approve" shape="round" (click)="approveTask(loadedEvent.serialNumber)">Aprovar</ion-button>
</p>
</ion-item>
<ion-item hidden>
<p>
<ion-button class="button-reject" shape="round" (click)="rejectTask(loadedEvent.serialNumber)">Rejeitar</ion-button>
</p>
</ion-item>
</div>
</ion-toolbar>
</ion-footer>
@@ -1,210 +0,0 @@
import { Component, OnInit } from '@angular/core';
import { Router } from '@angular/router';
import { MenuController, ModalController, NavParams, PopoverController } from '@ionic/angular';
import { Event } from 'src/app/models/event.model';
import { AlertService } from 'src/app/services/alert.service';
import { AttachmentsService } from 'src/app/services/attachments.service';
import { ProcessesService } from 'src/app/services/processes.service';
import { BadRequestComponent } from 'src/app/shared/popover/bad-request/bad-request.component';
import { SuccessMessageComponent } from 'src/app/shared/popover/success-message/success-message.component';
import { EmendMessageModalPage } from '../emend-message-modal/emend-message-modal.page';
import { EventActionsPopoverPage } from '../event-actions-popover/event-actions-popover.page';
@Component({
selector: 'app-approve-event-modal',
templateUrl: './approve-event-modal.page.html',
/* styleUrls: ['./approve-event-modal.page.scss'], */
})
export class ApproveEventModalPage implements OnInit {
event: Event;
loadedEvent:any;
loadedAttachments:any;
serialNumber:string;
customDate:any;
today:any;
months = ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"];
days = ["Domingo", "Segunda-feira", "Terça-feira", "Quarta-feira", "Quinta-feira", "Sexta-feira", "Sábado"];
constructor(
private router:Router,
private modalController: ModalController,
private navParams: NavParams,
private processes:ProcessesService,
private attachmentsService: AttachmentsService,
private popoverController: PopoverController,
private menu: MenuController,
private alertService: AlertService,
) {
this.serialNumber = this.navParams.get('serialNumber');
}
ngOnInit() {
this.getTask();
this.getAttachments();
window.onresize = (event) => {
// if not mobile remove all component
if( window.innerWidth >= 800){
this.modalController.dismiss(null);
}
};
}
notImplemented(){
this.alertService.presentAlert('Funcionalidade em desenvolvimento');
}
close(){
/* this.router.navigate(['/home/gabinete-digital/event-list']); */
this.modalController.dismiss(null);
}
getTask(){
this.processes.GetTask(this.serialNumber).subscribe(res => {
console.log(res);
this.loadedEvent = res;
this.today = new Date(res.workflowInstanceDataFields.StartDate);
console.log(new Date(this.today));
this.customDate = this.days[this.today.getDay()]+ ", " + this.today.getDate() +" de " + ( this.months[this.today.getMonth()]);
})
}
async approveTask(serialNumber:string){
let body = {
"serialNumber": serialNumber,
"action": "Aprovar"
}
try {
await this.processes.PostTaskAction(body).toPromise()
this.router.navigate(['/home/gabinete-digital/event-list']);
this.modalController.dismiss(null);
this.successMessage()
} catch (error) {
this.badRequest()
}
}
async emendTask(serialNumber:string){
try {
await this.openEmendMessageModal(serialNumber);
this.modalController.dismiss(null);
this.menu.close();
} catch (error) {
}
}
async rejectTask(serialNumber:string){
let body = { "serialNumber": serialNumber, "action": "Rejeitar" }
try {
await this.processes.PostTaskAction(body).toPromise()
this.router.navigate(['/home/gabinete-digital/event-list']);
this.modalController.dismiss(null);
this.successMessage()
} catch (error) {
this.badRequest()
}
}
getAttachments(){
this.attachmentsService.getAttachmentsBySerial(this.serialNumber).subscribe(res=>{
this.loadedAttachments = res;
console.log(res);
});
}
async openOptions(ev:any) {
const popover = await this.popoverController.create({
component: EventActionsPopoverPage,
cssClass: 'event-actions-popover',
event: ev,
translucent: true
});
return await popover.present();
}
openMenu() {
this.menu.open();
}
async openEmendMessageModal(serialNumber:string) {
const modal = await this.modalController.create({
component: EmendMessageModalPage,
componentProps:{
},
cssClass: 'emend-message-modal',
backdropDismiss: false
});
await modal.present();
modal.onDidDismiss().then(res => {
if(res.data !== '') {
let body = { "serialNumber": serialNumber,
"action": "Emendar",
"dataFields": {
"ReviewerUseComment": res.data,
}
}
try {
this.processes.PostTaskAction(body).toPromise()
this.router.navigate(['/home/gabinete-digital/event-list']);
this.successMessage()
} catch (error) {
this.badRequest()
}
}
else{
//this.alertService.presentAlert('Operação cancelada!');
}
});
}
async successMessage(message?: string) {
const modal = await this.modalController.create({
component: SuccessMessageComponent,
componentProps: {
message: message || 'Processo efetuado' ,
},
cssClass: 'modal modal-desktop'
});
modal.present()
setTimeout(()=>{
modal.dismiss()
},3000)
}
async badRequest(message?: string) {
const modal = await this.modalController.create({
component: BadRequestComponent,
componentProps: {
message: message || 'Processo não efetuado' ,
},
cssClass: 'modal modal-desktop'
});
modal.present()
setTimeout(()=>{
modal.dismiss()
},3000)
}
}
@@ -8,17 +8,20 @@ import { EditEventPageRoutingModule } from './edit-event-routing.module';
import { EditEventPage } from './edit-event.page';
import { AttendeeModalPage } from 'src/app/shared/event/attendee-modal/attendee-modal.page';
import { AttendeeModalPageModule } from 'src/app/shared/event/attendee-modal/attendee-modal.module';
@NgModule({
imports: [
CommonModule,
FormsModule,
IonicModule,
EditEventPageRoutingModule
EditEventPageRoutingModule,
//
AttendeeModalPageModule
],
declarations: [
EditEventPage,
AttendeeModalPage
EditEventPage
]
})
export class EditEventPageModule {}
@@ -35,8 +35,8 @@ export class EventActionsPopoverPage implements OnInit {
closePopover(){
this.popoverController.dismiss();
}
approveTask(serialNumber:string){
let body = { "serialNumber": serialNumber, "action": "Aprovar" }
approveTask() {
let body = { "serialNumber": this.serialNumber, "action": "Aprovar" }
console.log(body);
@@ -50,9 +50,9 @@ export class EventActionsPopoverPage implements OnInit {
}
}
emendarTask(serialNumber:string){
emendarTask(){
let body = { "serialNumber": serialNumber, "action": "Rejeitar" }
let body = { "serialNumber": this.serialNumber, "action": "Rejeitar" }
console.log(body);
@@ -1,17 +0,0 @@
<ion-content class="container">
<div class="arrow-right" >
<button class="btn-no-color">
<ion-icon slot="end" class="arrow-right-icon" src='assets/images/icons-arrow-arrow-right.svg'></ion-icon>
</button>
</div>
<div class="buttons">
<button full class="btn-ok" shape="round" >Efectuar Despacho</button>
<button full class="btn-ok" shape="round" >Pedido de Parecer</button>
<button full class="btn-ok" shape="round" >Pedido de Deferimento</button>
<button full class="btn-ok" shape="round" >Marcar reunião</button>
<button full class="btn-ok" shape="round" >Descartar</button>
<button full class="btn-ok" shape="round" *ngIf="showEnviarPendentes" >Enviar para pendentes</button>
<div class="solid"></div>
<button full class="btn-cancel" shape="round" >Cancelar</button>
</div>
</ion-content>
@@ -1,51 +0,0 @@
.container{
--padding-top:20px !important;
--padding-bottom:20px !important;
--padding-start:20px !important;
--padding-end:20px !important;
}
.arrow-right{
display: none;
margin-bottom: 20px;
.arrow-right-icon{
width: 37px;
float: right;
font-size: 35px;
overflow: hidden;
}
}
.buttons{
display: flex;
flex-wrap: wrap;
justify-content: space-around;
}
.solid {
display: none;
width: 90%;
border-top: 1px solid #bbb;
margin: 0 auto !important;
}
.btn-ok, .btn-cancel{
//width: 50% !important;
margin-bottom: 5px !important;
margin-top: 5px !important;
}
@media only screen and (min-width: 1024px) {
.arrow-right{
display: flex;
justify-content: flex-end;
}
.btn-cancel{
display: none;
width: 100% !important;
margin-bottom: 10px !important;
}
.btn-delete, .btn-ok{
width: 100% !important;
margin-bottom: 10px !important;
margin-top: 10px !important;
}
/* .solid{
display: block;
} */
}
@@ -1,24 +0,0 @@
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
import { IonicModule } from '@ionic/angular';
import { TaskOptionsComponent } from './task-options.component';
describe('TaskOptionsComponent', () => {
let component: TaskOptionsComponent;
let fixture: ComponentFixture<TaskOptionsComponent>;
beforeEach(waitForAsync(() => {
TestBed.configureTestingModule({
declarations: [ TaskOptionsComponent ],
imports: [IonicModule.forRoot()]
}).compileComponents();
fixture = TestBed.createComponent(TaskOptionsComponent);
component = fixture.componentInstance;
fixture.detectChanges();
}));
it('should create', () => {
expect(component).toBeTruthy();
});
});
@@ -1,14 +0,0 @@
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-task-options',
templateUrl: './task-options.component.html',
styleUrls: ['./task-options.component.scss'],
})
export class TaskOptionsComponent implements OnInit {
constructor() { }
ngOnInit() {}
}
@@ -12,7 +12,6 @@ import { ProcessesService } from 'src/app/services/processes.service';
import { ExpedientTaskModalPage } from '../../gabinete-digital/expediente/expedient-task-modal/expedient-task-modal.page';
import { BookMeetingModalPage } from '../../gabinete-digital/expediente/book-meeting-modal/book-meeting-modal.page';
import { OptsExpedientePage } from 'src/app/shared/popover/opts-expediente/opts-expediente.page';
import { TaskOptionsComponent } from './task-options/task-options.component';
@Component({
selector: 'app-view-event',
-13
View File
@@ -10,14 +10,6 @@ const routes: Routes = [
path: '',
component: ChatPage,
},
{
path: 'conversation',
loadChildren: () => import('./conversation/conversation.module').then( m => m.ConversationPageModule)
},
{
path: 'newchat',
loadChildren: () => import('./newchat/newchat.module').then( m => m.NewchatPageModule)
},
{
path: 'new-group',
loadChildren: () => import('./new-group/new-group.module').then( m => m.NewGroupPageModule)
@@ -34,11 +26,6 @@ const routes: Routes = [
{
path: 'edit-group',
loadChildren: () => import('./edit-group/edit-group.module').then( m => m.EditGroupPageModule)
},
{
path: 'test',
outlet:'test',
loadChildren: () => import('./test/test.module').then( m => m.TestPageModule)
}
];
+18 -17
View File
@@ -18,6 +18,14 @@ import { GroupContactsPage } from 'src/app/shared/chat/group-messages/group-cont
import { PipesModule } from 'src/app/pipes/pipes.module';
import { EditGroupPage } from 'src/app/shared/chat/edit-group/edit-group.page';
import { ComponentsModule } from 'src/app/components/components.module';
import { ContactsPageModule } from 'src/app/shared/chat/messages/contacts/contacts.module';
import { GroupMessagesPageModule } from 'src/app/shared/chat/group-messages/group-messages.module';
import { NewGroupPageModule } from 'src/app/shared/chat/new-group/new-group.module';
import { EditGroupPageModule } from 'src/app/shared/chat/edit-group/edit-group.module';
import { GroupContactsPageModule } from 'src/app/shared/chat/group-messages/group-contacts/group-contacts.module';
import { MessagesPageModule } from 'src/app/shared/chat/messages/messages.module';
import { EmptyChatPageModule } from 'src/app/shared/chat/empty-chat/empty-chat.module';
import { HeaderPageModule } from 'src/app/shared/header/header.module';
@NgModule({
imports: [
@@ -28,26 +36,19 @@ import { ComponentsModule } from 'src/app/components/components.module';
PipesModule,
ChatPageRoutingModule,
RouterModule,
HeaderPageModule,
MessagesPageModule,
ContactsPageModule,
GroupMessagesPageModule,
NewGroupPageModule,
EditGroupPageModule,
GroupContactsPageModule,
EmptyChatPageModule,
],
declarations: [
ChatPage,
MessagesPage,
ContactsPage,
GroupMessagesPage,
NewGroupPage,
EditGroupPage,
GroupContactsPage,
EmptyChatPage,
ChatPage
],
schemas: [CUSTOM_ELEMENTS_SCHEMA],
entryComponents: [
MessagesPage,
ContactsPage,
GroupMessagesPage,
NewGroupPage,
EditGroupPage,
GroupContactsPage,
EmptyChatPage,
]
entryComponents: []
})
export class ChatPageModule {}
+3 -3
View File
@@ -3,7 +3,7 @@
</ion-header>
<ion-content class="height-100">
<ion-refresher name="refresher" slot="fixed" (ionRefresh)="doRefresh($event)">
<ion-refresher name="refresher" slot="fixed" (ionRefresh)="doRefresh()">
<ion-progress-bar type="indeterminate" *ngIf="showLoader"></ion-progress-bar>
<ion-refresher-content>
</ion-refresher-content>
@@ -23,7 +23,7 @@
<button class="btn-no-color" (click)="openNewGroupPage()">
<ion-icon slot="end" src="assets/images/icons-chat-new-group.svg" ></ion-icon>
</button>
<button class="btn-no-color" (click)="doRefresh($event)">
<button class="btn-no-color" (click)="doRefresh()">
<ion-icon class="title-icon" name="reload-circle"></ion-icon>
</button>
</div>
@@ -51,7 +51,7 @@
<div class="item-title-time">
<div class="item-title">
<ion-label *ngFor="let user of dm.usernames">
<span *ngIf="user !=loggedUser.me.username">
<span *ngIf="user !=loggedUserChat.me.username">
{{user}}
</span>
</ion-label>
+7 -17
View File
@@ -12,12 +12,10 @@ import {
import { ModalController } from '@ionic/angular';
import { AuthService } from 'src/app/services/auth.service';
import { ChatService } from 'src/app/services/chat.service';
import { ConversationPage } from './conversation/conversation.page';
import { GroupMessagesPage } from './group-messages/group-messages.page';
import { ContactsPage } from './messages/contacts/contacts.page';
import { MessagesPage } from './messages/messages.page';
import { NewGroupPage } from './new-group/new-group.page';
import { NewchatPage } from './newchat/newchat.page';
import { Storage } from '@ionic/storage';
import { AlertService } from 'src/app/services/alert.service';
import { EditGroupPage } from 'src/app/shared/chat/edit-group/edit-group.page';
@@ -39,7 +37,7 @@ export class ChatPage implements OnInit {
X_User_Id:any;
X_Auth_Token:any;
private loggedUser: any;
loggedUser: any;
/* Set segment variable */
segment:string;
allGroups: any[];
@@ -92,6 +90,8 @@ export class ChatPage implements OnInit {
/* Fim websockets variables*/
loggedUserChat:any;
constructor(
private http:HttpClient,
private chatService: ChatService,
@@ -100,11 +100,14 @@ export class ChatPage implements OnInit {
private storage:Storage,
private resolver: ComponentFactoryResolver,
){
this.loggedUserChat = authService.ValidatedUserChat['data'];
this.headers = new HttpHeaders();
this.loadMessage();
}
ngOnInit() {
console.log(this.loggedUserChat);
this.segment = "Contactos";
this.authService.userData$.subscribe((res:any)=>{
@@ -257,7 +260,7 @@ sendMsg() {
}
getChatMembers(){
this.chatService.getMembers(this.userDirectMessages[0]._id).subscribe(res=> {
this.dmUsers = res['members'].filter(data => data.username != this.loggedUser.me.username)
this.dmUsers = res['members'].filter(data => data.username != this.loggedUserChat.me.username)
});
}
getGroups(){
@@ -277,19 +280,6 @@ sendMsg() {
});
});
}
async startConversation(selectedUser) {
const modal = await this.modalController.create({
component: ConversationPage,
cssClass: 'conversation',
backdropDismiss: false,
componentProps: {
user: selectedUser,
}
});
await modal.present();
modal.onDidDismiss();
}
async selectContact(){
const modal = await this.modalController.create({
@@ -1,49 +0,0 @@
<ion-header>
<ion-toolbar>
<ion-buttons slot="start">
<ion-back-button (click)="close()" defaultHref="/home/chat" icon="chevron-back"></ion-back-button>
</ion-buttons>
<ion-title>{{chatUser.name}}</ion-title>
</ion-toolbar>
</ion-header>
<ion-content>
<ion-row *ngFor="let message of messages" class="chat-container">
<ion-col size="9" *ngIf="message.user !== currentUser" class="message other-message">
<p><b>{{message.user}}</b></p>
<span>{{message.msg}}</span>
<div class="message-date">{{message.createdAt | date: 'HH:mm'}}</div>
</ion-col>
<ion-col offset="3" size="9" *ngIf="message.user === currentUser" class="message my-message">
<ion-label>
<p><b>{{message.user}}</b></p>
<span>{{message.msg}}</span>
<div class="message-date">{{message.createdAt | date: 'HH:mm'}}</div>
</ion-label>
</ion-col>
</ion-row>
</ion-content>
<ion-footer class="ion-no-border">
<ion-toolbar>
<ion-row align-items-center>
<ion-col>
<ion-item button lines="none">
<img src="assets/images/icons-arrow-arrow-down-25.svg">
</ion-item>
</ion-col>
<ion-col>
<ion-item lines="none" class="div-message">
<ion-textarea placeholder="Escrever uma mensagem" auto-grow class="message-input" rows="1" [(ngModel)]="message"></ion-textarea>
<ion-icon slot="end" name="mic-outline"></ion-icon>
</ion-item>
</ion-col>
<ion-col>
<ion-item button lines="none" [disabled]="message === ''">
<img src="assets/images/icons-chat-send.svg">
</ion-item>
</ion-col>
</ion-row>
</ion-toolbar>
</ion-footer>
@@ -1,55 +0,0 @@
ion-content{
background-color:#fefefe;
}
.chat-container{
margin: 10px 10px 0 10px;
}
.message {
padding: 5px 5px 5px 10px;
border-radius: 10px;
margin-bottom: 10px;
white-space: pre-wrap;
}
.my-message {
background: var(--ion-color-primary);
color: #fff;
}
.my-message p{
margin: 0;
padding: 0;
color: #9ab8e9;
}
.message-date{
font-size: 10px;
text-align: right;
margin-right: 5px;
}
.other-message {
background: #f2f3f7;
color: #333;
}
.other-message p{
margin: 0;
padding: 0;
color:#959ba7;
}
.message-input {
margin-top: 0px;
background: #fff;
padding: 0;
margin: 0;
}
.div-message{
border: 1px solid var(--ion-color-medium);
border-radius: 20px;
}
@@ -1,24 +0,0 @@
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { IonicModule } from '@ionic/angular';
import { ConversationPage } from './conversation.page';
describe('ConversationPage', () => {
let component: ConversationPage;
let fixture: ComponentFixture<ConversationPage>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ ConversationPage ],
imports: [IonicModule.forRoot()]
}).compileComponents();
fixture = TestBed.createComponent(ConversationPage);
component = fixture.componentInstance;
fixture.detectChanges();
}));
it('should create', () => {
expect(component).toBeTruthy();
});
});
@@ -1,73 +0,0 @@
import { Component, OnInit } from '@angular/core';
import { Router } from '@angular/router';
import { ModalController, NavParams } from '@ionic/angular';
import { AuthService } from 'src/app/services/auth.service';
@Component({
selector: 'app-conversation',
templateUrl: './conversation.page.html',
styleUrls: ['./conversation.page.scss'],
})
export class ConversationPage implements OnInit {
message = '';
messages = [];
currentUser = '';
constructor(
private authService: AuthService,
private router:Router,
private modalController: ModalController,
private navParams: NavParams) { }
loggedUser: any;
chatUser: any;
ngOnInit() {
this.authService.userData$.subscribe((res:any)=>{
this.loggedUser=res;
})
this.chatUser = this.navParams.get('user');
console.log(this.navParams.get('user'));
console.log(this.chatUser.name);
/* console.log("ON");
this.socket.connect();
//Set current user
let name = `User-${new Date().getTime()}`;
this.currentUser=name;
this.socket.emit('set-name', name);
//Reat from event calling "fromEvent"
this.socket.fromEvent('users-changed').subscribe(data =>{
console.log('gOT data:', data);
});
//Add message to the array of messages
this.socket.fromEvent('message').subscribe(message =>{
console.log('New:', message);
this.messages.push(message);
}); */
}
close(){
this.router.navigate(['/home/chat']);
this.modalController.dismiss(null);
}
sendMessage(){
}
/* sendMessage(){
this.socket.emit('send-message', {text: this.message});
this.message="";
}
ionViewWillLeave(){
this.socket.disconnect();
} */
}
@@ -9,6 +9,7 @@ import { EditGroupPageRoutingModule } from './edit-group-routing.module';
import { EditGroupPage } from './edit-group.page';
import { SharedModule } from 'src/app/shared/shared.module';
import { ComponentsModule } from 'src/app/components/components.module';
import { BtnSeguintePageModule } from 'src/app/shared/btn-seguinte/btn-seguinte.module';
@NgModule({
imports: [
@@ -16,7 +17,8 @@ import { ComponentsModule } from 'src/app/components/components.module';
FormsModule,
IonicModule,
ComponentsModule,
EditGroupPageRoutingModule
EditGroupPageRoutingModule,
BtnSeguintePageModule,
],
declarations: [EditGroupPage]
})
@@ -10,6 +10,7 @@ import { GroupContactsPage } from './group-contacts.page';
import { SharedModule } from 'src/app/shared/shared.module';
import { PipesModule } from 'src/app/pipes/pipes.module';
import { ComponentsModule } from 'src/app/components/components.module';
import { BtnSeguintePageModule } from 'src/app/shared/btn-seguinte/btn-seguinte.module';
@NgModule({
imports: [
@@ -18,7 +19,8 @@ import { ComponentsModule } from 'src/app/components/components.module';
IonicModule,
ComponentsModule,
PipesModule,
GroupContactsPageRoutingModule
GroupContactsPageRoutingModule,
BtnSeguintePageModule,
],
declarations: [GroupContactsPage]
})
@@ -8,8 +8,9 @@ import { IonicModule } from '@ionic/angular';
import { GroupMessagesPageRoutingModule } from './group-messages-routing.module';
import { GroupMessagesPage } from './group-messages.page';
import { PopoverModule } from 'src/app/shared/popover/chat-popover/popover.modules';
import { ComponentsModule } from 'src/app/components/components.module';
import { ChatPopoverPageModule } from 'src/app/shared/popover/chat-popover/chat-popover.module';
import { BtnModalDismissPageModule } from 'src/app/shared/btn-modal-dismiss/btn-modal-dismiss.module';
@NgModule({
imports: [
@@ -18,8 +19,9 @@ import { ComponentsModule } from 'src/app/components/components.module';
FormsModule,
IonicModule,
ComponentsModule,
PopoverModule,
GroupMessagesPageRoutingModule
GroupMessagesPageRoutingModule,
ChatPopoverPageModule,
BtnModalDismissPageModule,
],
declarations: [GroupMessagesPage]
})
@@ -158,7 +158,7 @@ export class GroupMessagesPage implements OnInit {
});
}
async openChatOptions(ev: any) {
async openChatOptions(ev?: any) {
const popover = await this.popoverController.create({
component: ChatOptionsPopoverPage,
cssClass: 'chat-options-popover',
@@ -10,6 +10,7 @@ import { ContactsPage } from './contacts.page';
import { SharedModule } from 'src/app/shared/shared.module';
import { PipesModule } from 'src/app/pipes/pipes.module';
import { ComponentsModule } from 'src/app/components/components.module';
import { FilterPipe } from 'src/app/pipes/filter.pipe';
@NgModule({
imports: [
@@ -17,8 +18,8 @@ import { ComponentsModule } from 'src/app/components/components.module';
FormsModule,
IonicModule,
ComponentsModule,
ContactsPageRoutingModule,
PipesModule,
ContactsPageRoutingModule
],
declarations: [ContactsPage]
})
+2 -2
View File
@@ -113,7 +113,7 @@ export class MessagesPage implements OnInit, AfterViewChecked {
});
}
async openMessagesOptions(ev: any) {
async openMessagesOptions(ev?: any) {
const popover = await this.popoverController.create({
component: MessagesOptionsPage,
componentProps: {
@@ -139,7 +139,7 @@ export class MessagesPage implements OnInit, AfterViewChecked {
modal.onDidDismiss();
}
async openChatOptions(ev: any) {
async openChatOptions(ev?: any) {
const popover = await this.popoverController.create({
component: ChatOptionsPopoverPage,
cssClass: 'chat-options-popover',
@@ -9,6 +9,7 @@ import { ContactsPageRoutingModule } from './contacts-routing.module';
import { ContactsPage } from './contacts.page';
import { SharedModule } from 'src/app/shared/shared.module';
import { ComponentsModule } from 'src/app/components/components.module';
import { BtnSeguintePageModule } from 'src/app/shared/btn-seguinte/btn-seguinte.module';
@NgModule({
imports: [
@@ -16,7 +17,8 @@ import { ComponentsModule } from 'src/app/components/components.module';
FormsModule,
IonicModule,
ComponentsModule,
ContactsPageRoutingModule
ContactsPageRoutingModule,
BtnSeguintePageModule,
],
declarations: [ContactsPage]
})
@@ -9,6 +9,8 @@ import { GroupChatPageRoutingModule } from './group-chat-routing.module';
import { GroupChatPage } from './group-chat.page';
import { SharedModule } from 'src/app/shared/shared.module';
import { ComponentsModule } from 'src/app/components/components.module';
import { BtnSeguintePageModule } from 'src/app/shared/btn-seguinte/btn-seguinte.module';
import { BtnModalDismissPageModule } from 'src/app/shared/btn-modal-dismiss/btn-modal-dismiss.module';
@NgModule({
imports: [
@@ -16,7 +18,9 @@ import { ComponentsModule } from 'src/app/components/components.module';
FormsModule,
IonicModule,
ComponentsModule,
GroupChatPageRoutingModule
GroupChatPageRoutingModule,
BtnSeguintePageModule,
BtnModalDismissPageModule,
],
declarations: [GroupChatPage]
})
@@ -9,6 +9,7 @@ import { NewGroupPageRoutingModule } from './new-group-routing.module';
import { NewGroupPage } from './new-group.page';
import { SharedModule } from 'src/app/shared/shared.module';
import { ComponentsModule } from 'src/app/components/components.module';
import { BtnSeguintePageModule } from 'src/app/shared/btn-seguinte/btn-seguinte.module';
@NgModule({
imports: [
@@ -16,7 +17,8 @@ import { ComponentsModule } from 'src/app/components/components.module';
FormsModule,
IonicModule,
ComponentsModule,
NewGroupPageRoutingModule
NewGroupPageRoutingModule,
BtnSeguintePageModule,
],
declarations: [NewGroupPage]
})
@@ -1,21 +0,0 @@
import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { IonicModule } from '@ionic/angular';
import { NewchatPageRoutingModule } from './newchat-routing.module';
import { NewchatPage } from './newchat.page';
@NgModule({
imports: [
CommonModule,
FormsModule,
IonicModule,
NewchatPageRoutingModule
],
declarations: [NewchatPage],
schemas: [CUSTOM_ELEMENTS_SCHEMA]
})
export class NewchatPageModule {}
@@ -1,51 +0,0 @@
<ion-header class="ion-no-border">
<ion-toolbar class="header-toolbar">
<div class="main-header">
<div class="title-content">
<div class="back-icon">
<ion-icon (click)="close()" slot="end" src='assets/images/icons-arrow-arrow-left.svg'></ion-icon>
</div>
<div class="div-title">
<ion-label class="title">Nova Conversa</ion-label>
</div>
</div>
</div>
</ion-toolbar>
</ion-header>
<ion-content>
<ion-refresher name="refresher" slot="fixed" (ionRefresh)="doRefresh($event)">
<ion-progress-bar type="indeterminate" *ngIf="showLoader"></ion-progress-bar>
<ion-refresher-content>
</ion-refresher-content>
</ion-refresher>
<div class="main-content">
<ion-toolbar>
<ion-searchbar round (ionChange)="onChange($event)" placeholder="Pesquisar por cantacto" ></ion-searchbar>
</ion-toolbar>
<ion-list>
<ion-item *ngFor="let user of searchedItem" (click)="starConversation(user)">
{{user.name}}
</ion-item>
<ion-item>
Tiago Kayaya
</ion-item>
<ion-item>
Gilson Manuel
</ion-item>
</ion-list>
<ion-alpha-scroll
[listData]="contacts"
key="name"
[itemTemplate]="alphaScrollItemTemplateRef"
[currentPageClass]="currentPageClass"
[triggerChange]="triggerAlphaScrollChange">
<ng-template #alphaScrollItemTemplateRef let-item>
<ion-item (click)="currentPageClass.onItemClick(item)">{{item.$t}}</ion-item>
</ng-template>
</ion-alpha-scroll>
</div>
</ion-content>
@@ -1,66 +0,0 @@
ion-content{
--background:transparent;
}
.header-toolbar{
--background:transparent;
--opacity: 1;
.main-header{
width: 100%; /* 400px */
height: 100%;
font-family: Roboto;
border-top-left-radius: 25px;
border-top-right-radius: 25px;
background-color: #fff;
overflow:hidden;
padding: 30px 20px 0px 20px;
color:#000;
transform: translate3d(0, 1px, 0);
.div-icon{
width: 40px;
float: right;
font-size: 35px;
overflow: auto;
padding: 1px;
}
.div-icon ion-icon{
float: right;
padding-left: 20px;
}
.title-content{
margin: 0px auto;
overflow: auto;
padding: 0 !important;
}
.back-icon{
width: 37px;
float: left;
font-size: 35px;
overflow: auto;
}
.div-title{
width: 221px;
padding: 0!important;
float: left;
margin: 2.5px 0 0 5px;
}
.title{
font-size: 25px;
}
}
}
.main-content{
width: 100%; /* 400px */
height: 100%;
font-family: Roboto;
margin: 0 auto;
background-color: #fff;
overflow:auto;
padding: 15px 20px 0 20px;
}
ion-searchbar{
--border-radius: 20px;
}
@@ -1,24 +0,0 @@
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { IonicModule } from '@ionic/angular';
import { NewchatPage } from './newchat.page';
describe('NewchatPage', () => {
let component: NewchatPage;
let fixture: ComponentFixture<NewchatPage>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ NewchatPage ],
imports: [IonicModule.forRoot()]
}).compileComponents();
fixture = TestBed.createComponent(NewchatPage);
component = fixture.componentInstance;
fixture.detectChanges();
}));
it('should create', () => {
expect(component).toBeTruthy();
});
});
@@ -1,98 +0,0 @@
import { Component, OnInit } from '@angular/core';
import { Router } from '@angular/router';
import { ModalController } from '@ionic/angular';
import { Observable } from 'rxjs';
import { ChatService } from 'src/app/services/chat.service';
import { ConversationPage } from '../conversation/conversation.page';
@Component({
selector: 'app-newchat',
templateUrl: './newchat.page.html',
styleUrls: ['./newchat.page.scss'],
})
export class NewchatPage implements OnInit {
showLoader: boolean;
userList: any[];
contacts:any;
currentPageClass = this;
triggerAlphaScrollChange: number = 0;
constructor(
private chatService: ChatService,
private modalController: ModalController,
private router:Router) {
this.contacts = [
{
'name': 'Affenpinscher'
},
{
'name': 'Afghan Hound'
},
// ...
];
}
result:any;
searchCountryString:any;
searchedItem:any;
ngOnInit() {
this.getUsers();
}
close(){
this.modalController.dismiss();
}
doRefresh(event) {
this.getUsers();
setTimeout(() => {
event.target.complete();
}, 2000);
}
getUsers(){
this.result = this.chatService.getAllUsers().subscribe((res:any)=>{
this.userList = res.users;
this.searchedItem = this.userList;
});
}
userSelected(id){
console.log(id);
this.router.navigate(['/home/chat/conversation']);
}
onChange(event){
const val = event.detail.value;
this.searchedItem = this.userList;
if(val && val.trim() != ''){
this.searchedItem = this.searchedItem.filter((item:any) =>{
return (item.name.toLowerCase().indexOf(val.toLowerCase()) > -1);
});
}
}
async starConversation(selectedUser) {
const modal = await this.modalController.create({
component: ConversationPage,
cssClass: 'conversation',
backdropDismiss: false,
componentProps: {
user: selectedUser,
}
});
await modal.present();
modal.onDidDismiss();
}
onItemClick(item) {
// This is an example of how you could manually trigger ngOnChange
// for the component. If you modify "listData" it won't perform
// an ngOnChange, you will have to trigger manually to refresh the component.
this.triggerAlphaScrollChange++;
}
}
-32
View File
@@ -1,32 +0,0 @@
<ion-header>
<ion-toolbar>
<ion-title>test</ion-title>
</ion-toolbar>
</ion-header>
<ion-content>
<div *ngFor="let member of members">{{member}}</div>
</ion-content>
<ion-footer>
<ion-toolbar>
<ion-row align-items-center class="row">
<ion-col size="1">
<ion-label class="ion-no-padding" lines="none">
<ion-icon (click)="openChatOptions()" class="chat-icon-options" src="assets/icon/icons-chat-options.svg"></ion-icon>
</ion-label>
</ion-col>
<ion-col size="9">
<ion-item class="ion-no-padding type-message" lines="none">
<ion-textarea placeholder="Escrever uma mensagem" auto-grow class="message-input" rows="1" [(ngModel)]="message"></ion-textarea>
<ion-icon slot="end" src="assets/icon/icons-chat-mic.svg"></ion-icon>
</ion-item>
</ion-col>
<ion-col size="2">
<!-- [disabled]="message === ''" -->
<ion-label>
<ion-icon (click)="sendMessage()" class="chat-icon-send" src="assets/icon/icons-chat-send.svg"></ion-icon>
</ion-label>
</ion-col>
</ion-row>
</ion-toolbar>
</ion-footer>
-200
View File
@@ -1,200 +0,0 @@
import { Component, OnInit } from '@angular/core';
import { ActionSheetController, MenuController, ModalController, NavParams, PopoverController } from '@ionic/angular';
import { AuthService } from 'src/app/services/auth.service';
import { ChatService } from 'src/app/services/chat.service';
import { ChatOptionsPopoverPage } from 'src/app/shared/popover/chat-options-popover/chat-options-popover.page';
import { ChatPopoverPage } from 'src/app/shared/popover/chat-popover/chat-popover.page';
import { GroupContactsPage } from '../group-messages/group-contacts/group-contacts.page';
@Component({
selector: 'app-test',
templateUrl: './test.page.html',
styleUrls: ['./test.page.scss'],
})
export class TestPage implements OnInit {
showLoader: boolean;
isGroupCreated:boolean;
loggedUser: any;
message:any;
messages:any;
room:any;
roomName:any;
members:any;
contacts: string[] = [" Ana M.", "Andre F.", "Bruno G.", "Catarina T", "Tiago"];
constructor(
private menu: MenuController,
private modalController: ModalController,
private actionSheetController: ActionSheetController,
public popoverController: PopoverController,
private chatService: ChatService,
private navParams: NavParams,
private authService: AuthService,
) {
this.isGroupCreated = true;
this.room = this.navParams.get('room');
this.roomName = this.room.name.split('-').join(' ');
}
ngOnInit() {
this.authService.userData$.subscribe((res:any)=>{
this.loggedUser=res;
console.log(this.loggedUser);
});
this.load();
}
load(){
this.getGroupContacts();
this.loadGroupMessages();
}
close(){
this.modalController.dismiss();
}
doRefresh(ev:any){
this.load();
ev.target.complete();
}
getGroupContacts(){
this.showLoader = true;
//If group is private call getGroupMembers
if(this.room.t === 'p'){
this.chatService.getGroupMembers(this.room._id).subscribe(res=>{
console.log(res);
this.members = res['members'];
this.showLoader = false;
});
}
//Otherwise call getChannelMembers for públic groups
else{
this.chatService.getChannelMembers(this.room._id).subscribe(res=>{
console.log(res);
this.members = res['members'];
this.showLoader = false;
});
}
}
loadGroupMessages(){
this.showLoader = true;
//If group is private call getGroupMembers
if(this.room.t === 'p'){
this.chatService.getPrivateGroupMessages(this.room._id).subscribe(res=>{
console.log(res);
let msgOnly = res['messages'].filter(data => data.t != 'au');
this.messages = msgOnly.reverse();
this.showLoader = false;
});
}
//Otherwise call getChannelMembers for públic groups
else{
this.chatService.getPublicGroupMessages(this.room._id).subscribe(res=>{
console.log(res);
this.messages = res['messages'].reverse();
});
}
}
sendMessage(){
let body = {
"message":
{
"rid": this.room._id, "msg": this.message
}
}
this.chatService.sendMessage(body).subscribe(res=> {
this.loadGroupMessages();
});
this.message = "";
}
async openOptions(ev: any) {
const popover = await this.popoverController.create({
component: ChatPopoverPage,
cssClass: 'chat-popover',
event: ev,
componentProps: {
room: this.room,
},
translucent: true
});
await popover.present();
popover.onDidDismiss().then(res=>{
console.log(res);
if(res.data){
this.roomName = res.data.name.split('-').join(' ');
console.log(this.roomName);
this.load();
/* this.modalController.dismiss(); */
};
});
}
async openChatOptions(ev: any) {
const popover = await this.popoverController.create({
component: ChatOptionsPopoverPage,
cssClass: 'chat-options-popover',
event: ev,
componentProps: {
room: this.room,
},
translucent: true
});
return await popover.present();
}
async addContacts(){
console.log(this.members);
const modal = await this.modalController.create({
component: GroupContactsPage,
componentProps: {
isCreated: this.isGroupCreated,
room: this.room,
members: this.members,
name: this.room.name,
},
cssClass: 'contacts',
backdropDismiss: false
});
await modal.present();
modal.onDidDismiss().then(()=>{
this.load();
});
}
/* async actionSheet() {
const actionSheet = await this.actionSheetController.create({
cssClass: 'my-custom-class',
buttons: [{
text: 'Sair do grupo',
handler: () => {
console.log('Delete clicked');
}
}, {
text: 'Alterar nome do grupo1',
handler: () => {
console.log('Alterar nome do grupo');
this.openChangeGroupName()
}
}, {
text: 'Apagar o grupo',
handler: () => {
console.log('Play clicked');
}
},
]
});
await actionSheet.present();
}
*/
}
@@ -15,6 +15,8 @@ import { AttendeeModalPage } from './attendee-modal.page';
IonicModule,
AttendeeModalPageRoutingModule
],
declarations: [AttendeeModalPage]
declarations: [AttendeeModalPage],
exports: [AttendeeModalPage]
})
export class AttendeeModalPageModule {}
@@ -15,6 +15,7 @@ import { AttendeesPage } from './attendees.page';
IonicModule,
AttendeesPageRoutingModule
],
declarations: [AttendeesPage]
declarations: [AttendeesPage],
exports: [AttendeesPage]
})
export class AttendeesPageModule {}
@@ -1,12 +1,12 @@
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { BtnCriarPage } from './btn-criar.page';
import { EditEventPage } from './edit-event.page';
const routes: Routes = [
{
path: '',
component: BtnCriarPage
component: EditEventPage
}
];
@@ -14,4 +14,4 @@ const routes: Routes = [
imports: [RouterModule.forChild(routes)],
exports: [RouterModule],
})
export class BtnCriarPageRoutingModule {}
export class EditEventPageRoutingModule {}
@@ -1,24 +0,0 @@
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
import { IonicModule } from '@ionic/angular';
import { EditEventComponent } from './edit-event.component';
describe('EditEventComponent', () => {
let component: EditEventComponent;
let fixture: ComponentFixture<EditEventComponent>;
beforeEach(waitForAsync(() => {
TestBed.configureTestingModule({
declarations: [ EditEventComponent ],
imports: [IonicModule.forRoot()]
}).compileComponents();
fixture = TestBed.createComponent(EditEventComponent);
component = fixture.componentInstance;
fixture.detectChanges();
}));
it('should create', () => {
expect(component).toBeTruthy();
});
});
@@ -1,21 +1,21 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { IonicModule } from '@ionic/angular';
import { TestPageRoutingModule } from './test-routing.module';
import { EditEventPageRoutingModule } from './edit-event-routing.module';
import { TestPage } from './test.page';
import { BrowserModule } from '@angular/platform-browser';
import { CommonModule } from '@angular/common';
import { EditEventPage } from './edit-event.page';
@NgModule({
imports: [
CommonModule,
FormsModule,
IonicModule,
TestPageRoutingModule
EditEventPageRoutingModule
],
declarations: [TestPage]
declarations: [EditEventPage],
exports: [EditEventPage]
})
export class TestPageModule {}
export class EditEventPageModule {}
@@ -16,16 +16,14 @@
<div *ngIf="loadedEvent">
<ion-item-group>
<ion-item-sliding>
<form [formGroup]="ionicForm" novalidate>
<ion-item>
<ion-label class="capitalizeText" position="stacked">Assunto</ion-label>
<ion-input class="capitalizeText" [(ngModel)]="loadedEvent.Subject" formControlName="subject" type="text" required></ion-input>
<ion-input class="capitalizeText" [(ngModel)]="loadedEvent.Subject" type="text" required></ion-input>
</ion-item>
<!-- Error messages -->
<span class="error ion-padding" *ngIf="errorControl.subject.errors?.required">
Campo obrigatório
</span>
</form>
<ion-item>
<ion-label position="stacked">Descrição</ion-label>
<ion-input class="capitalizeText" [(ngModel)]='loadedEvent.Body.Text'></ion-input>
@@ -117,17 +115,6 @@
</ion-button>
</div>
</div>
<!-- Skeleton Attachment -->
<!-- <ion-list *ngIf="!loadedEventAttachments">
<ion-item lines="none" >
<ion-icon name="attach" slot="start"></ion-icon>
<ion-label>
<p> <ion-skeleton-text animated></ion-skeleton-text></p>
<p> <ion-skeleton-text animated></ion-skeleton-text></p>
</ion-label>
</ion-item>
</ion-list> -->
<!-- No attachment message -->
<ion-list *ngIf="!loadedEvent.HasAttachments">
<ion-item lines="none" >
<ion-label>
@@ -1,19 +1,19 @@
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
import { IonicModule } from '@ionic/angular';
import { TestPage } from './test.page';
import { EditEventPage } from './edit-event.page';
describe('TestPage', () => {
let component: TestPage;
let fixture: ComponentFixture<TestPage>;
describe('EditEventPage', () => {
let component: EditEventPage;
let fixture: ComponentFixture<EditEventPage>;
beforeEach(waitForAsync(() => {
TestBed.configureTestingModule({
declarations: [ TestPage ],
declarations: [ EditEventPage ],
imports: [IonicModule.forRoot()]
}).compileComponents();
fixture = TestBed.createComponent(TestPage);
fixture = TestBed.createComponent(EditEventPage);
component = fixture.componentInstance;
fixture.detectChanges();
}));
@@ -16,12 +16,12 @@ import { AttachmentsPage } from '../attachments/attachments.page';
@Component({
selector: 'app-edit-event-home',
templateUrl: './app-edit-event-home.page.html',
styleUrls: ['./app-edit-event-home.page.scss'],
selector: 'app-edit-event',
templateUrl: './edit-event.page.html',
styleUrls: ['./edit-event.page.scss'],
})
export class EditEventPage implements OnInit {
export class EventEditPage implements OnInit {
loadedEvent: Event;
loadedEventAttachments: Attachment[];
@@ -242,5 +242,4 @@ export class EventEditPage implements OnInit {
});
}
}
+40 -36
View File
@@ -1,38 +1,42 @@
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { EventsPage } from './events.page';
const routes: Routes = [
{
path: '',
component: EventsPage
},
{
path: 'event-detail',
loadChildren: () => import('./event-detail/event-detail.module').then( m => m.EventDetailPageModule)
},
{
path: 'attachments',
loadChildren: () => import('./attachments/attachments.module').then( m => m.AttachmentsPageModule)
},
{
path: 'attendees',
loadChildren: () => import('./attendees/attendees.module').then( m => m.AttendeesPageModule)
},
{
path: 'attendee-modal',
loadChildren: () => import('./attendee-modal/attendee-modal.module').then( m => m.AttendeeModalPageModule)
},
{
path: 'event-detail-modal',
loadChildren: () => import('./event-detail-modal/event-detail-modal.module').then( m => m.EventDetailModalPageModule)
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { EventsPage } from './events.page';
const routes: Routes = [
{
path: '',
component: EventsPage
},
{
path: 'event-detail',
loadChildren: () => import('./event-detail/event-detail.module').then( m => m.EventDetailPageModule)
},
{
path: 'attachments',
loadChildren: () => import('./attachments/attachments.module').then( m => m.AttachmentsPageModule)
},
{
path: 'attendees',
loadChildren: () => import('./attendees/attendees.module').then( m => m.AttendeesPageModule)
},
{
path: 'attendee-modal',
loadChildren: () => import('./attendee-modal/attendee-modal.module').then( m => m.AttendeeModalPageModule)
},
{
path: 'event-detail-modal',
loadChildren: () => import('./event-detail-modal/event-detail-modal.module').then( m => m.EventDetailModalPageModule)
},
{
path: 'edit-event',
loadChildren: () => import('./edit-event/edit-event.module').then( m => m.EditEventPageModule)
}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule],
})
export class EventsPageRoutingModule {}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule],
})
+4 -2
View File
@@ -7,8 +7,9 @@ import { IonicModule } from '@ionic/angular';
import { EventsPageRoutingModule } from './events-routing.module';
import { EventsPage } from './events.page';
import { SharedModule } from 'src/app/shared/shared.module';
// import { SharedModule } from 'src/app/shared/shared.module';
import { ComponentsModule } from 'src/app/components/components.module';
import { HeaderNoSearchPageModule } from 'src/app/shared/headers/header-no-search/header-no-search.module';
@NgModule({
imports: [
@@ -16,7 +17,8 @@ import { ComponentsModule } from 'src/app/components/components.module';
FormsModule,
IonicModule,
ComponentsModule,
EventsPageRoutingModule
EventsPageRoutingModule,
HeaderNoSearchPageModule,
],
declarations: [EventsPage],
schemas: [CUSTOM_ELEMENTS_SCHEMA]
+1 -2
View File
@@ -15,9 +15,8 @@ import { DailyWorkTask } from '../../models/dailyworktask.model';
import { ViewEventPage } from '../agenda/view-event/view-event.page';
import { ExpedientePage } from '../gabinete-digital/expediente/expediente.page';
import { ExpedienteDetailPage } from '../gabinete-digital/expediente/expediente-detail/expediente-detail.page';
import { EventEditPage } from './edit-event/edit-event.component';
import { EditEventPage as EventEditPage } from './edit-event/edit-event.page';
import { GabineteDigitalPage } from '../gabinete-digital/gabinete-digital.page';
import { EditEventPage } from '../agenda/edit-event/edit-event.page';
import { User } from 'src/app/models/user.model';
@Component({
@@ -1,237 +0,0 @@
<ion-header class="ion-no-border">
<ion-toolbar class="header-toolbar">
<div class="main-header">
<div class="title-content">
<div class="middle">
<ion-label class="title">Novo Evento</ion-label>
</div>
</div>
</div>
</ion-toolbar>
</ion-header>
<ion-content>
<div class="main-content">
<div class="ion-item-container">
<!-- <ion-input placeholder="Assunto" [(ngModel)]="postEvent.Subject"></ion-input> -->
</div>
<div class="container-div">
<div class="ion-item-class-2">
<div class="ion-icon-class">
<ion-icon slot="start" src="assets/images/icons-location.svg"></ion-icon>
</div>
<div class="ion-input-class">
<!-- <ion-input placeholder="Localização" [(ngModel)]="postEvent.Location"></ion-input> -->
</div>
</div>
<!-- Error messages -->
<!-- <span class="error ion-padding" >
Campo obrigatório
</span> -->
</div>
<div class="container-div">
<div class="ion-item-class-2">
<div class="ion-icon-class">
<ion-icon slot="start" src="assets/images/icons-calendar.svg"></ion-icon>
</div>
<div class="ion-input-class">
<!-- <ion-select placeholder="Selecione agenda"
selectedText="{{postEvent.CalendarName}}"
[(ngModel)]="postEvent.CalendarName"
interface="action-sheet" Cancel-text="Cancelar"
required>
<ion-select-option value="Oficial">Oficial</ion-select-option>
<ion-select-option value="Pessoal">Pessoal</ion-select-option>
</ion-select> -->
</div>
</div>
</div>
<div class="container-div">
<div class="ion-item-class-2">
<div class="ion-icon-class">
<ion-icon slot="start" src="assets/images/icons-calendar.svg"></ion-icon>
</div>
<div class="ion-input-class">
<!-- <ion-select placeholder="Selecione tipo"
[(ngModel)]="postEvent.Categories[0]"
interface="action-sheet"
Cancel-text="Cancelar" required>
<ion-select-option value="Reunião">Reunião</ion-select-option>
<ion-select-option value="Viagem">Viagem</ion-select-option>
<ion-select-option value="Conferência">Conferência</ion-select-option>
<ion-select-option value="Encontro">Encontro</ion-select-option>
</ion-select> -->
</div>
</div>
</div>
<div class="container-div">
<div class="ion-item-class-2">
<div class="ion-icon-class">
<ion-icon slot="start" src="assets/images/icons-calendar.svg"></ion-icon>
</div>
<div class="ion-input-class">
<!-- <ion-datetime
placeholder="Início"
[(ngModel)]="postEvent.StartDate"
displayFormat="D MMM YYYY H:mm"
minuteValues="0,15,30,45"
monthShortNames="Jan, Fev, Mar, Abr, Mai, Jun, Jul, Aug, Sep, Out, Nov, Dez"
min="2018"
max="2022"
>
</ion-datetime> -->
<!-- <ion-input placeholder="Data início" [(ngModel)]="postData.StartDate"></ion-input> -->
</div>
</div>
</div>
<div class="container-div">
<div class="ion-item-class-2">
<div class="ion-icon-class">
<ion-icon slot="start" src="assets/images/icons-calendar.svg"></ion-icon>
</div>
<div class="ion-input-class">
<!-- <ion-datetime
placeholder="Fim"
[(ngModel)]="postEvent.EndDate"
displayFormat="D MMM YYYY H:mm"
minuteValues="0,15,30,45"
monthShortNames="Jan, Fev, Mar, Abr, Mai, Jun, Jul, Aug, Sep, Out, Nov, Dez"
min="2018"
max="2022"
>
</ion-datetime> -->
<!-- <ion-input placeholder="Data fim" [(ngModel)]="postData.EndDate"></ion-input> -->
</div>
</div>
</div>
<div class="container-div">
<div class="ion-item-class-2">
<div class="ion-icon-class">
<ion-icon slot="start" src="assets/images/icons-refresh.svg"></ion-icon>
</div>
<div class="ion-input-class">
<!-- <ion-select placeholder="Selecione repetição" value="false" interface="action-sheet" Cancel-text="Cancelar" required>
<ion-select-option value="false">Não se repete</ion-select-option>
<ion-select-option value="true">Repete</ion-select-option>
</ion-select> -->
</div>
</div>
</div>
<div 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>
</div>
<div class="ion-input-class-no-height">
<div class="list-people">
<!-- <ion-item lines="none">
<ion-list>
<ion-label *ngIf="taskParticipants.length == 0" class="list-people-title">Adicionar interveniente</ion-label>
<div class="list-people">
<ion-item lines="none">
<ion-list>
<ion-label *ngFor="let participant of taskParticipants">{{participant.Name}}</ion-label>
</ion-list>
</ion-item>
</div>
</ion-list>
</ion-item> -->
</div>
<!-- <div (click)="addParticipants()" class="add-people">
<ion-icon slot="start" src="assets/images/icons-arrow-forward.svg"></ion-icon>
</div> -->
</div>
</div>
</div>
<!-- HIDDEN -->
<div hidden 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>
</div>
<div class="ion-input-class-no-height">
<div class="list-people">
<ion-item lines="none">
<ion-list>
<ion-label class="list-people-title">Com conhecimento</ion-label>
<div class="list-people">
<ion-item lines="none">
<!-- <ion-list>
<ion-label *ngIf="!taskParticipants" class="list-people-title">Adicionar intervenientes</ion-label>
<ion-label *ngFor="let participant of taskParticipants">{{participant.Name}}</ion-label>
</ion-list> -->
</ion-item>
</div>
</ion-list>
</ion-item>
</div>
<!-- <div (click)="addParticipantsCC()" class="add-people">
<ion-icon slot="start" src="assets/images/icons-arrow-forward.svg"></ion-icon>
</div> -->
</div>
</div>
</div>
<div class="container-div">
<div class="ion-item-class-2">
<div class="ion-icon-class">
<ion-icon slot="start" src="assets/images/icons-description.svg"></ion-icon>
</div>
<div class="ion-input-class-no-height flex-grow-1">
<!-- <ion-textarea [(ngModel)]="postEvent.Body.Text" placeholder="Detalhes" ></ion-textarea> -->
</div>
</div>
</div>
<div hidden class="ion-item-container-no-border">
<ion-label class="cursor-pointer">
<div class="attach-icon">
<ion-icon src="assets/images/icons-attach-doc.svg"></ion-icon>
</div>
<div class="attach-document">
<ion-label>Anexar Documentos</ion-label>
</div>
</ion-label>
</div>
<div hidden>
<ion-item>
<ion-label>Documentos Anexados</ion-label>
</ion-item>
<ion-list>
<ion-item class="cursor-pointer">
<ion-label>
<h4 class="attach-title-item">Text</h4>
<p><span class="span-left">Text</span><span class="span-right"> Text </span></p>
</ion-label>
</ion-item>
</ion-list>
</div>
</div>
</ion-content>
<ion-footer class="ion-no-border d-flex justify-center px-20">
<ion-toolbar class=" ">
<ion-buttons slot="start">
<!-- <ion-button class="btn-cancel" fill="clear" color="#061b52" (click)="close()">
<ion-label>Cancelar</ion-label>
</ion-button> -->
</ion-buttons>
<ion-title></ion-title>
<ion-buttons slot="end">
<!-- <ion-button class="btn-ok" fill="clear" color="#fff" (click)="save()">
<ion-label>Gravar</ion-label>
</ion-button> -->
</ion-buttons>
</ion-toolbar>
</ion-footer>
@@ -1,24 +0,0 @@
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
import { IonicModule } from '@ionic/angular';
import { CreateTaskComponent } from './create-task.component';
describe('CreateTaskComponent', () => {
let component: CreateTaskComponent;
let fixture: ComponentFixture<CreateTaskComponent>;
beforeEach(waitForAsync(() => {
TestBed.configureTestingModule({
declarations: [ CreateTaskComponent ],
imports: [IonicModule.forRoot()]
}).compileComponents();
fixture = TestBed.createComponent(CreateTaskComponent);
component = fixture.componentInstance;
fixture.detectChanges();
}));
it('should create', () => {
expect(component).toBeTruthy();
});
});
@@ -1,14 +0,0 @@
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-create-task',
templateUrl: './create-task.component.html',
styleUrls: ['./create-task.component.scss'],
})
export class CreateTaskComponent implements OnInit {
constructor() { }
ngOnInit() {}
}
@@ -9,6 +9,7 @@ import { DespachoPrPageRoutingModule } from './despacho-pr-routing.module';
import { DespachoPrPage } from './despacho-pr.page';
import { SharedModule } from 'src/app/shared/shared.module';
import { ComponentsModule } from 'src/app/components/components.module';
import { HeaderPageModule } from 'src/app/shared/header/header.module';
@NgModule({
imports: [
@@ -16,7 +17,8 @@ import { ComponentsModule } from 'src/app/components/components.module';
FormsModule,
IonicModule,
ComponentsModule,
DespachoPrPageRoutingModule
DespachoPrPageRoutingModule,
HeaderPageModule,
],
declarations: [DespachoPrPage]
})
@@ -9,6 +9,8 @@ import { DespachosPrPageRoutingModule } from './despachos-pr-routing.module';
import { DespachosPrPage } from './despachos-pr.page';
import { SharedModule } from 'src/app/shared/shared.module';
import { ComponentsModule } from 'src/app/components/components.module';
import { HeaderPageModule } from 'src/app/shared/header/header.module';
import { BtnModalDismissPageModule } from 'src/app/shared/btn-modal-dismiss/btn-modal-dismiss.module';
@NgModule({
imports: [
@@ -16,7 +18,9 @@ import { ComponentsModule } from 'src/app/components/components.module';
FormsModule,
IonicModule,
ComponentsModule,
DespachosPrPageRoutingModule
DespachosPrPageRoutingModule,
HeaderPageModule,
BtnModalDismissPageModule,
],
declarations: [DespachosPrPage]
})
@@ -9,6 +9,7 @@ import { DespachoPageRoutingModule } from './despacho-routing.module';
import { DespachoPage } from './despacho.page';
import { SharedModule } from 'src/app/shared/shared.module';
import { ComponentsModule } from 'src/app/components/components.module';
import { HeaderPageModule } from 'src/app/shared/header/header.module';
@NgModule({
imports: [
@@ -16,7 +17,8 @@ import { ComponentsModule } from 'src/app/components/components.module';
FormsModule,
IonicModule,
ComponentsModule,
DespachoPageRoutingModule
DespachoPageRoutingModule,
HeaderPageModule,
],
declarations: [
DespachoPage,
@@ -84,22 +84,7 @@ export class DespachoPage implements OnInit {
}
goBack() {
// this.activatedRoute.queryParams.subscribe(params => {
// if(params["from"] == 'pendentes') {
// this.router.navigate(['/home/gabinete-digital/pendentes']);
// } else {
// let navigationExtras: NavigationExtras = {
// queryParams: {
// "despachos": true,
// }
// };
// this.router.navigate(['/home/gabinete-digital/despachos'], navigationExtras);
// }
// });
window.history.back()
}
@@ -9,6 +9,8 @@ import { DespachosPageRoutingModule } from './despachos-routing.module';
import { DespachosPage } from './despachos.page';
import { SharedModule } from 'src/app/shared/shared.module';
import { ComponentsModule } from 'src/app/components/components.module';
import { HeaderPageModule } from 'src/app/shared/header/header.module';
import { BtnModalDismissPageModule } from 'src/app/shared/btn-modal-dismiss/btn-modal-dismiss.module';
@NgModule({
imports: [
@@ -17,6 +19,8 @@ import { ComponentsModule } from 'src/app/components/components.module';
IonicModule,
ComponentsModule,
DespachosPageRoutingModule,
HeaderPageModule,
BtnModalDismissPageModule,
],
declarations: [
DespachosPage,
@@ -9,6 +9,8 @@ import { DiplomaAssinarPageRoutingModule } from './diploma-assinar-routing.modul
import { DiplomaAssinarPage } from './diploma-assinar.page';
import { SharedModule } from 'src/app/shared/shared.module';
import { ComponentsModule } from 'src/app/components/components.module';
import { HeaderPageModule } from 'src/app/shared/header/header.module';
import { BtnModalDismissPageModule } from 'src/app/shared/btn-modal-dismiss/btn-modal-dismiss.module';
@NgModule({
imports: [
@@ -16,7 +18,9 @@ import { ComponentsModule } from 'src/app/components/components.module';
FormsModule,
IonicModule,
ComponentsModule,
DiplomaAssinarPageRoutingModule
DiplomaAssinarPageRoutingModule,
HeaderPageModule,
BtnModalDismissPageModule,
],
declarations: [DiplomaAssinarPage]
})
@@ -9,6 +9,8 @@ import { DiplomasAssinarPageRoutingModule } from './diplomas-assinar-routing.mod
import { DiplomasAssinarPage } from './diplomas-assinar.page';
import { SharedModule } from 'src/app/shared/shared.module';
import { ComponentsModule } from 'src/app/components/components.module';
import { HeaderPageModule } from 'src/app/shared/header/header.module';
import { BtnModalDismissPageModule } from 'src/app/shared/btn-modal-dismiss/btn-modal-dismiss.module';
@NgModule({
imports: [
@@ -16,7 +18,9 @@ import { ComponentsModule } from 'src/app/components/components.module';
FormsModule,
IonicModule,
DiplomasAssinarPageRoutingModule,
ComponentsModule
HeaderPageModule,
ComponentsModule,
BtnModalDismissPageModule,
],
declarations: [DiplomasAssinarPage]
})
@@ -7,7 +7,7 @@
<div class="title">
<div class="thetitle"><ion-label >Diplomas</ion-label></div>
<div class="theicon">
<button class="btn-no-color" (click)="doRefresh($event)">
<button class="btn-no-color" (click)="doRefresh()">
<ion-icon slot="end" class="title-icon" name="reload-circle"></ion-icon>
</button>
</div>
@@ -18,7 +18,7 @@
<div class="main-content">
<ion-refresher name="refresher" slot="fixed" (ionRefresh)="doRefresh($event)">
<ion-refresher name="refresher" slot="fixed" (ionRefresh)="doRefresh()">
<ion-refresher-content
pullingIcon="chevron-down-circle-outline"
pullingText="deslize para actualizar"
@@ -9,6 +9,8 @@ import { DiplomaPageRoutingModule } from './diploma-routing.module';
import { DiplomaPage } from './diploma.page';
import { SharedModule } from 'src/app/shared/shared.module';
import { ComponentsModule } from 'src/app/components/components.module';
import { HeaderPageModule } from 'src/app/shared/header/header.module';
import { BtnModalDismissPageModule } from 'src/app/shared/btn-modal-dismiss/btn-modal-dismiss.module';
@NgModule({
imports: [
@@ -16,7 +18,9 @@ import { ComponentsModule } from 'src/app/components/components.module';
FormsModule,
IonicModule,
ComponentsModule,
DiplomaPageRoutingModule
DiplomaPageRoutingModule,
HeaderPageModule,
BtnModalDismissPageModule,
],
declarations: [DiplomaPage]
})
@@ -9,6 +9,8 @@ import { DiplomasPageRoutingModule } from './diplomas-routing.module';
import { DiplomasPage } from './diplomas.page';
import { SharedModule } from 'src/app/shared/shared.module';
import { ComponentsModule } from 'src/app/components/components.module';
import { HeaderPageModule } from 'src/app/shared/header/header.module';
import { BtnModalDismissPageModule } from 'src/app/shared/btn-modal-dismiss/btn-modal-dismiss.module';
@NgModule({
imports: [
@@ -16,7 +18,9 @@ import { ComponentsModule } from 'src/app/components/components.module';
FormsModule,
IonicModule,
DiplomasPageRoutingModule,
ComponentsModule
HeaderPageModule,
ComponentsModule,
BtnModalDismissPageModule,
],
declarations: [DiplomasPage]
})
@@ -7,13 +7,17 @@ import { IonicModule } from '@ionic/angular';
import { ApproveEventModalPageRoutingModule } from './approve-event-modal-routing.module';
import { ApproveEventModalPage } from './approve-event-modal.page';
import { HeaderPageModule } from 'src/app/shared/header/header.module';
import { BtnModalDismissPageModule } from 'src/app/shared/btn-modal-dismiss/btn-modal-dismiss.module';
@NgModule({
imports: [
CommonModule,
FormsModule,
IonicModule,
ApproveEventModalPageRoutingModule
ApproveEventModalPageRoutingModule,
HeaderPageModule,
BtnModalDismissPageModule,
],
declarations: [ApproveEventModalPage]
})
@@ -9,6 +9,8 @@ import { ApproveEventPageRoutingModule } from './approve-event-routing.module';
import { ApproveEventPage } from './approve-event.page';
import { SharedModule } from 'src/app/shared/shared.module';
import { ComponentsModule } from 'src/app/components/components.module';
import { HeaderPageModule } from 'src/app/shared/header/header.module';
import { BtnModalDismissPageModule } from 'src/app/shared/btn-modal-dismiss/btn-modal-dismiss.module';
@NgModule({
imports: [
@@ -16,7 +18,9 @@ import { ComponentsModule } from 'src/app/components/components.module';
FormsModule,
IonicModule,
ComponentsModule,
ApproveEventPageRoutingModule
ApproveEventPageRoutingModule,
HeaderPageModule,
BtnModalDismissPageModule,
],
declarations: [ApproveEventPage]
})
@@ -9,6 +9,8 @@ import { EventListPageRoutingModule } from './event-list-routing.module';
import { EventListPage } from './event-list.page';
import { SharedModule } from 'src/app/shared/shared.module';
import { ComponentsModule } from 'src/app/components/components.module';
import { HeaderPageModule } from 'src/app/shared/header/header.module';
import { BtnModalDismissPageModule } from 'src/app/shared/btn-modal-dismiss/btn-modal-dismiss.module';
@NgModule({
imports: [
@@ -16,8 +18,11 @@ import { ComponentsModule } from 'src/app/components/components.module';
FormsModule,
IonicModule,
ComponentsModule,
EventListPageRoutingModule
EventListPageRoutingModule,
HeaderPageModule,
BtnModalDismissPageModule,
],
declarations: [EventListPage]
declarations: [EventListPage],
exports: [EventListPage]
})
export class EventListPageModule {}
@@ -9,7 +9,7 @@
<ion-list>
<ion-item-sliding>
<ion-item *ngFor="let attendee of contacts">
<ion-checkbox slot="end" [disabled]="isCheckboxDisabled" (ionChange)="selectContact(attendee)"></ion-checkbox>
<ion-checkbox slot="end" (ionChange)="selectContact(attendee)"></ion-checkbox>
<ion-label>
<h3>{{ attendee.Name }}</h3>
<p>{{ attendee.EmailAddress }}</p>
@@ -8,17 +8,29 @@ import { BookMeetingModalPageRoutingModule } from './book-meeting-modal-routing.
import { BookMeetingModalPage } from './book-meeting-modal.page';
import { AttendeeModalPage } from 'src/app/shared/event/attendee-modal/attendee-modal.page';
import { AttendeesPageModule } from 'src/app/shared/event/attendees/attendees.module';
import { EmptyContainerPageModule } from 'src/app/shared/empty-container/empty-container.module';
import { BtnModalDismissPageModule } from 'src/app/shared/btn-modal-dismiss/btn-modal-dismiss.module';
import { AttendeeModalPageModule } from 'src/app/shared/event/attendee-modal/attendee-modal.module';
@NgModule({
imports: [
CommonModule,
FormsModule,
IonicModule,
BookMeetingModalPageRoutingModule
BookMeetingModalPageRoutingModule,
//
// AttendeesPageModule,
EmptyContainerPageModule,
AttendeeModalPageModule,
EmptyContainerPageModule,
BtnModalDismissPageModule,
],
declarations: [
BookMeetingModalPage,
AttendeeModalPage
BookMeetingModalPage
]
})
export class BookMeetingModalPageModule {}
@@ -9,18 +9,26 @@ import { ExpedientTaskModalPageRoutingModule } from './expedient-task-modal-rout
import { ExpedientTaskModalPage } from './expedient-task-modal.page';
import { AttendeeModalPage } from 'src/app/shared/event/attendee-modal/attendee-modal.page';
import { EmptyContainerPage } from 'src/app/shared/empty-container/empty-container.page';
import { AttendeesPageModule } from 'src/app/shared/event/attendees/attendees.module';
import { AttendeeModalPageModule } from 'src/app/shared/event/attendee-modal/attendee-modal.module';
import { EmptyContainerPageModule } from 'src/app/shared/empty-container/empty-container.module';
import { BtnModalDismissPageModule } from 'src/app/shared/btn-modal-dismiss/btn-modal-dismiss.module';
@NgModule({
imports: [
CommonModule,
FormsModule,
IonicModule,
ExpedientTaskModalPageRoutingModule
ExpedientTaskModalPageRoutingModule,
//
AttendeesPageModule,
AttendeeModalPageModule,
EmptyContainerPageModule,
BtnModalDismissPageModule,
],
declarations: [
ExpedientTaskModalPage,
AttendeeModalPage,
EmptyContainerPage,
ExpedientTaskModalPage
],
entryComponents: [
EmptyContainerPage,]
@@ -124,8 +124,6 @@
</div>
</div>
</div>
@@ -9,6 +9,8 @@ import { ExpedienteDetailPageRoutingModule } from './expediente-detail-routing.m
import { ExpedienteDetailPage } from './expediente-detail.page';
import { SharedModule } from 'src/app/shared/shared.module';
import { ComponentsModule } from 'src/app/components/components.module';
import { HeaderPageModule } from 'src/app/shared/header/header.module';
import { BtnModalDismissPageModule } from 'src/app/shared/btn-modal-dismiss/btn-modal-dismiss.module';
@NgModule({
imports: [
@@ -16,7 +18,9 @@ import { ComponentsModule } from 'src/app/components/components.module';
FormsModule,
IonicModule,
ComponentsModule,
ExpedienteDetailPageRoutingModule
ExpedienteDetailPageRoutingModule,
HeaderPageModule,
BtnModalDismissPageModule,
],
declarations: [ExpedienteDetailPage]
})
@@ -2,41 +2,6 @@
<app-header></app-header>
</ion-header>
<!-- <ion-menu autoHide="false" side="end" content-id="main-content">
<ion-header>
<ion-toolbar translucent>
<ion-title>Menu</ion-title>
</ion-toolbar>
</ion-header>
<ion-content>
<ion-list>
<ion-item (click)="openExpedientActionsModal('0', fulltask)">
<ion-icon name="documents" slot="start"></ion-icon>
<ion-label>Efectuar Despacho</ion-label>
</ion-item>
<ion-item (click)="openExpedientActionsModal('1', fulltask)">
<ion-icon name="arrow-undo" slot="start"></ion-icon>
<ion-label>Pedido de Parecer</ion-label>
</ion-item>
<ion-item (click)="openExpedientActionsModal('2', fulltask)">
<ion-icon name="arrow-redo" slot="start"></ion-icon>
<ion-label>Pedido de Deferimento</ion-label>
</ion-item>
<ion-item (click)="openBookMeetingModal(fulltask)">
<ion-icon name="calendar" slot="start"></ion-icon>
<ion-label>Marcar reunião</ion-label>
</ion-item>
<ion-item (click)="discartExpedient()">
<ion-icon name="trash" slot="start"></ion-icon>
<ion-label>Descartar</ion-label>
</ion-item>
<ion-item hidden disabled>
<ion-icon name="paper-plane" slot="start"></ion-icon>
<ion-label>Enviar para pendentes</ion-label>
</ion-item>
</ion-list>
</ion-content>
</ion-menu> -->
<div class="ion-page d-none" id="main-content">
<ion-menu-button></ion-menu-button>
</div>
@@ -227,20 +227,19 @@ export class ExpedienteDetailPage implements OnInit {
await modal.present();
modal.onDidDismiss().then( async (res)=>{
console.log(res['data']);
console.log(body);
if(body == 'descartar'){
if(res['data']== 'Yes'){
let otherbody = {
"serialNumber": this.task.SerialNumber,
"action": "Passivo",
"ActionTypeId": 94,
"ActionTypeId": 99999877,
"dataFields": {
"Note": "",
}
}
try {
try {
await this.processes.CompleteTask(otherbody).toPromise()
this.successMessage()
} catch (error) {
@@ -255,7 +254,7 @@ export class ExpedienteDetailPage implements OnInit {
else{
if(res['data']== 'Yes'){
try {
await this.processes.CompleteTask(body).toPromise()
//await this.processes.CompleteTask(body).toPromise()
this.successMessage()
} catch (error) {
this.badRequest()
@@ -318,7 +317,7 @@ export class ExpedienteDetailPage implements OnInit {
}
async openOptions(taskAction: any) {
async openOptions(taskAction?: any) {
const popover = await this.popoverController.create({
component: OptsExpedientePage,
cssClass: 'exp-options',
@@ -9,6 +9,7 @@ import { ExpedientePageRoutingModule } from './expediente-routing.module';
import { ExpedientePage } from './expediente.page';
import { SharedModule } from 'src/app/shared/shared.module';
import { ComponentsModule } from 'src/app/components/components.module';
import { HeaderPageModule } from 'src/app/shared/header/header.module';
@NgModule({
imports: [
@@ -16,7 +17,8 @@ import { ComponentsModule } from 'src/app/components/components.module';
FormsModule,
IonicModule,
ComponentsModule,
ExpedientePageRoutingModule
ExpedientePageRoutingModule,
HeaderPageModule,
],
declarations: [ExpedientePage],
schemas: [CUSTOM_ELEMENTS_SCHEMA]
@@ -2,7 +2,7 @@
<app-header></app-header>
</ion-header>
<ion-content>
<ion-refresher name="refresher" slot="fixed" (ionRefresh)="doRefresh($event)">
<ion-refresher name="refresher" slot="fixed" (ionRefresh)="doRefresh()">
<ion-progress-bar type="indeterminate" *ngIf="showLoader"></ion-progress-bar>
<ion-refresher-content>
</ion-refresher-content>
@@ -84,11 +84,10 @@ export class ExpedientePage implements OnInit {
});
}
doRefresh(event) {
doRefresh() {
this.LoadList();
setTimeout(() => {
event.target.complete();
}, 2000);
}
@@ -9,6 +9,8 @@ import { ExpedientePrPageRoutingModule } from './expediente-pr-routing.module';
import { ExpedientePrPage } from './expediente-pr.page';
import { SharedModule } from 'src/app/shared/shared.module';
import { ComponentsModule } from 'src/app/components/components.module';
import { HeaderPageModule } from 'src/app/shared/header/header.module';
import { BtnModalDismissPageModule } from 'src/app/shared/btn-modal-dismiss/btn-modal-dismiss.module';
@NgModule({
imports: [
@@ -16,7 +18,9 @@ import { ComponentsModule } from 'src/app/components/components.module';
FormsModule,
IonicModule,
ComponentsModule,
ExpedientePrPageRoutingModule
ExpedientePrPageRoutingModule,
HeaderPageModule,
BtnModalDismissPageModule,
],
declarations: [ExpedientePrPage]
})
@@ -313,21 +313,20 @@ export class ExpedientePrPage implements OnInit {
await modal.present();
modal.onDidDismiss().then( async (res)=>{
console.log(res['data']);
console.log(body);
if(body == 'descartar'){
if(res['data']== 'Yes'){
let otherbody = {
"serialNumber": body.serialNumber,
"serialNumber": this.task.SerialNumber,
"action": "Passivo",
"ActionTypeId": 94,
"ActionTypeId": 99999877,
"dataFields": {
"Note": "",
}
}
try {
await this.processes.CompleteTask(otherbody).toPromise()
await this.processes.CompleteTask(otherbody).toPromise();
this.successMessage()
} catch (error) {
this.badRequest()
@@ -343,7 +342,7 @@ export class ExpedientePrPage implements OnInit {
if(res['data']== 'Yes'){
try {
await this.processes.CompleteTask(body).toPromise()
//await this.processes.CompleteTask(body).toPromise()
this.successMessage()
this.goBack();
} catch (error) {
@@ -425,7 +424,7 @@ export class ExpedientePrPage implements OnInit {
}
async openOptions(taskAction: any) {
async openOptions(taskAction?: any) {
const popover = await this.popoverController.create({
component: OptsExpedientePrPage,
cssClass: 'exp-options',
@@ -9,6 +9,8 @@ import { ExpedientesPrPageRoutingModule } from './expedientes-pr-routing.module'
import { ExpedientesPrPage } from './expedientes-pr.page';
import { SharedModule } from 'src/app/shared/shared.module';
import { ComponentsModule } from 'src/app/components/components.module';
import { HeaderPageModule } from 'src/app/shared/header/header.module';
import { BtnModalDismissPageModule } from 'src/app/shared/btn-modal-dismiss/btn-modal-dismiss.module';
@NgModule({
imports: [
@@ -16,7 +18,9 @@ import { ComponentsModule } from 'src/app/components/components.module';
FormsModule,
IonicModule,
ExpedientesPrPageRoutingModule,
ComponentsModule
HeaderPageModule,
ComponentsModule,
BtnModalDismissPageModule,
],
declarations: [ExpedientesPrPage]
})
@@ -19,7 +19,7 @@
<div class="main-content">
<ion-refresher name="refresher" slot="fixed" (ionRefresh)="doRefresh($event)">
<ion-refresher name="refresher" slot="fixed" (ionRefresh)="doRefresh()">
<ion-progress-bar type="indeterminate" *ngIf="showLoader"></ion-progress-bar>
<ion-refresher-content>
</ion-refresher-content>
@@ -9,10 +9,9 @@ import { GabineteDigitalPageRoutingModule } from './gabinete-digital-routing.mod
import { GabineteDigitalPage } from './gabinete-digital.page';
import { SharedModule } from 'src/app/shared/shared.module';
import { EventListComponent } from 'src/app/shared/agenda/event-list/event-list.component';
import { EventListPage } from 'src/app/shared/agenda/event-list/event-list.page';
import { EmptyContainerPage } from 'src/app/shared/empty-container/empty-container.page';
import { EventsToApprovePage } from 'src/app/shared/gabinete-digital/events-to-approve/events-to-approve.page';
import { ExpedientePage } from 'src/app/shared/gabinete-digital/expediente/expediente.page';
import { ExpedientsPage } from 'src/app/shared/gabinete-digital/expedients/expedients.page';
import { PendentesPage } from 'src/app/shared/gabinete-digital/pendentes/pendentes.page';
import { PedidosPage } from 'src/app/shared/gabinete-digital/pedidos/pedidos.page';
@@ -20,10 +19,20 @@ import { DespachosPage } from 'src/app/shared/gabinete-digital/despachos/despach
import { DespachosPrPage } from 'src/app/shared/gabinete-digital/despachos-pr/despachos-pr.page';
import { DiplomasPage } from 'src/app/shared/gabinete-digital/diplomas/diplomas.page';
import { ExpedientesPrPage } from 'src/app/shared/gabinete-digital/expedientes-pr/expedientes-pr.page';
import { SignedDiplomaComponent } from 'src/app/shared/gabinete-digital/signed-diploma/signed-diploma.component';
import { DiplomasAssinarPage } from 'src/app/shared/gabinete-digital/diplomas-assinar/diplomas-assinar.page';
import { ComponentsModule } from 'src/app/components/components.module';
/* import { ComponentsModule } from 'src/app/components/components.module'; */
import { EmptyContainerPageModule } from 'src/app/shared/empty-container/empty-container.module';
import { EventsToApprovePageModule } from 'src/app/shared/gabinete-digital/events-to-approve/events-to-approve.module';
import { ExpedientsPageModule } from 'src/app/shared/gabinete-digital/expedients/expedients.module';
import { PedidosPageModule } from 'src/app/shared/gabinete-digital/pedidos/pedidos.module';
import { DespachosPageModule } from 'src/app/shared/gabinete-digital/despachos/despachos.module';
import { PendentesPageModule } from 'src/app/shared/gabinete-digital/pendentes/pendentes.module';
import { DespachosPrPageModule } from 'src/app/shared/gabinete-digital/despachos-pr/despachos-pr.module';
import { DiplomasPageModule } from 'src/app/shared/gabinete-digital/diplomas/diplomas.module';
import { ExpedientesPrPageModule } from 'src/app/shared/gabinete-digital/expedientes-pr/expedientes-pr.module';
import { DiplomasAssinarPageModule } from 'src/app/shared/gabinete-digital/diplomas-assinar/diplomas-assinar.module';
import { HeaderPageModule } from 'src/app/shared/header/header.module';
import { BtnModalDismissPageModule } from 'src/app/shared/btn-modal-dismiss/btn-modal-dismiss.module';
@NgModule({
imports: [
@@ -31,38 +40,27 @@ import { ComponentsModule } from 'src/app/components/components.module';
FormsModule,
IonicModule,
ComponentsModule,
GabineteDigitalPageRoutingModule
GabineteDigitalPageRoutingModule,
//
HeaderPageModule,
EmptyContainerPageModule,
EventsToApprovePageModule,
ExpedientsPageModule,
PedidosPageModule,
DespachosPageModule,
PendentesPageModule,
DespachosPrPageModule,
DiplomasPageModule,
ExpedientesPrPageModule,
DiplomasAssinarPageModule,
EmptyContainerPageModule,
BtnModalDismissPageModule,
],
declarations: [
GabineteDigitalPage,
EventListComponent,
EmptyContainerPage,
EventsToApprovePage,
ExpedientePage,
ExpedientsPage,
PedidosPage,
DespachosPage,
PendentesPage,
DespachosPrPage,
DiplomasPage,
ExpedientesPrPage,
SignedDiplomaComponent,
DiplomasAssinarPage
],
entryComponents: [
EmptyContainerPage,
EventsToApprovePage,
ExpedientePage,
ExpedientsPage,
PedidosPage,
DespachosPage,
PendentesPage,
DespachosPrPage,
DiplomasPage,
ExpedientesPrPage,
SignedDiplomaComponent,
DiplomasAssinarPage
GabineteDigitalPage
],
entryComponents: [],
schemas: [CUSTOM_ELEMENTS_SCHEMA]
})
export class GabineteDigitalPageModule {}
@@ -3,7 +3,7 @@
</ion-header>
<ion-content class="height-100">
<ion-refresher name="refresher" slot="fixed" (ionRefresh)="doRefresh($event)">
<ion-refresher name="refresher" slot="fixed" (ionRefresh)="doRefresh()">
<ion-progress-bar type="indeterminate" *ngIf="showLoader"></ion-progress-bar>
<ion-refresher-content>
</ion-refresher-content>
@@ -14,7 +14,7 @@
<div class="aside-wrapper d-flex flex-column justify-center width-md-40 flex-grow-1 ">
<div class="title-container">
<ion-label class="title">Gabinete Digital</ion-label>
<button class="btn-no-color btn-refresh" (click)="doRefresh($event)">
<button class="btn-no-color btn-refresh" (click)="doRefresh()">
<ion-icon class="title-icon" name="reload-circle"></ion-icon>
</button>
</div>
@@ -95,8 +95,8 @@
<ion-icon src="assets/images/icons-expediente-presidente.svg"></ion-icon>
</div>
<div class="exp-card-text">
<p class="exp-card-title " *ngIf="loggeduser.Profile == 'MDGPR'">Expediente Presidente</p>
<p class="exp-card-title " *ngIf="loggeduser.Profile == 'PR'">Expediente</p>
<p class="exp-card-title " *ngIf="loggeduser.Profile == mdgpr">Expediente Presidente</p>
<p class="exp-card-title " *ngIf="loggeduser.Profile == pr">Expediente</p>
<p class="exp-card-content"><span class="number">{{count_exp_pr}}</span> <span class="title1">Documentos</span> </p>
</div>
</div>
@@ -127,7 +127,7 @@
<div class="d-flex justify-center">
<ion-icon src="assets/images/icons-diplomas-assinados-presidente.svg"></ion-icon>
</div>
<p class="text-center exp-card-title " *ngIf="loggeduser.Profile == 'MDGPR' ">Diplomas assinados PR</p>
<p class="text-center exp-card-title " *ngIf="loggeduser.Profile == 'MDGPR'">Diplomas assinados PR</p>
<p class="text-center exp-card-title " *ngIf="loggeduser.Profile == 'PR'" >Diplomas</p>
<p class="text-center exp-card-content">{{ count_dip_as_pr }} <span class="title1">Documentos</span></p>
</div>
@@ -12,7 +12,6 @@ import { AuthService } from 'src/app/services/auth.service';
import { User } from 'src/app/models/user.model';
import { DespachosPrPage } from 'src/app/pages/gabinete-digital/despachos-pr/despachos-pr.page'
import { DiplomasPage } from 'src/app/shared/gabinete-digital/diplomas/diplomas.page';
import { SignedDiplomaComponent } from 'src/app/shared/gabinete-digital/signed-diploma/signed-diploma.component';
@Component({
selector: 'app-gabinete-digital',
templateUrl: './gabinete-digital.page.html',
@@ -69,6 +68,8 @@ export class GabineteDigitalPage implements OnInit {
serialNumber:string;
loggeduser: User;
mdgpr = "MDGPR";
pr = "PR"
constructor(
private processesbackend:ProcessesService,
@@ -375,7 +376,7 @@ export class GabineteDigitalPage implements OnInit {
}
}
openDespachosPage(segment:string) {
openDespachosPage(segment?:string) {
this.closeAllDesktopComponents();
if( window.innerWidth <= 800){
//this.openDespachoList();
@@ -388,7 +389,7 @@ export class GabineteDigitalPage implements OnInit {
}
}
openDespachosPrPage(segment:string) {
openDespachosPrPage(segment?:string) {
this.closeAllDesktopComponents();
if( window.innerWidth <= 800){
//this.openDespachoListPr();
@@ -401,7 +402,7 @@ export class GabineteDigitalPage implements OnInit {
}
}
openPendentesPage(segment:string){
openPendentesPage(segment?:string){
this.closeAllDesktopComponents();
if( window.innerWidth <= 800){
//this.openPendenteList();
@@ -414,7 +415,7 @@ export class GabineteDigitalPage implements OnInit {
}
}
openExpedientesPrPage(segment:string){
openExpedientesPrPage(segment?:string){
this.closeAllDesktopComponents();
if( window.innerWidth <= 800) {
//this.openExpedientList();
@@ -486,19 +487,6 @@ export class GabineteDigitalPage implements OnInit {
}
}
async openSignedDiplom(){
const modal = await this.modalController.create({
component: SignedDiplomaComponent,
componentProps:{
profile: this.profile,
},
cssClass: 'modal modal-desktop',
//backdropDismiss: false
});
await modal.present();
modal.onDidDismiss();
}
async openDeploma() {
const modal = await this.modalController.create({
component: DiplomasPage,
@@ -9,6 +9,8 @@ import { PedidoPageRoutingModule } from './pedido-routing.module';
import { PedidoPage } from './pedido.page';
import { SharedModule } from 'src/app/shared/shared.module';
import { ComponentsModule } from 'src/app/components/components.module';
import { HeaderPageModule } from 'src/app/shared/header/header.module';
import { BtnModalDismissPageModule } from 'src/app/shared/btn-modal-dismiss/btn-modal-dismiss.module';
@NgModule({
imports: [
@@ -16,7 +18,9 @@ import { ComponentsModule } from 'src/app/components/components.module';
FormsModule,
IonicModule,
ComponentsModule,
PedidoPageRoutingModule
PedidoPageRoutingModule,
HeaderPageModule,
BtnModalDismissPageModule,
],
declarations: [PedidoPage]
})
@@ -107,7 +107,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 (click)="openBookMeetingModal(task)" class="btn-cancel" shape="round" >Marcar Reunião</button>
<button (click)="openBookMeetingModal(task)" class="btn-cancel" shape="round" >Marcar Reunião</button>
<button (click)="sendExpedienteToPending()" class="btn-cancel" shape="round" >Enviar para Pendentes</button>
</div>
<div class="buttons" *ngIf="task.activityInstanceName == 'Concluir Parecer'">
@@ -41,7 +41,6 @@ export class PedidoPage implements OnInit {
fulltask: any;
eventsList: Event[];
serialnumber: string;
profile: string;
intervenientes: any;
cc: any;
loggeduser: User;
@@ -61,15 +60,11 @@ export class PedidoPage implements OnInit {
this.activatedRoute.queryParams.subscribe(params => {
if(params["serialNumber"]) {
this.serialnumber = params["serialNumber"];
// console.log(params["serialNumber"]);
}
});
}
ngOnInit() {
this.profile = "mdgpr";
// console.log(this.serialnumber);
this.LoadTaskDetail(this.serialnumber);
}
@@ -255,7 +250,6 @@ export class PedidoPage implements OnInit {
componentProps: {
taskAction: taskAction,
task: this.fulltask,
profile: this.profile,
},
cssClass: classs,
});
@@ -286,13 +280,11 @@ export class PedidoPage implements OnInit {
}
async viewEventDetail(eventId: any) {
console.log(this.profile);
const modal = await this.modalController.create({
component: ViewEventPage,
componentProps: {
eventId: eventId,
profile: this.profile,
},
cssClass: 'modal modal-desktop',
backdropDismiss: false
@@ -370,6 +362,7 @@ export class PedidoPage implements OnInit {
await modal.present();
modal.onDidDismiss();
}
async openAddNoteModal(actionName:string) {
let classs;
if( window.innerWidth <= 800){
@@ -9,6 +9,8 @@ import { PedidosPageRoutingModule } from './pedidos-routing.module';
import { PedidosPage } from './pedidos.page';
import { SharedModule } from 'src/app/shared/shared.module';
import { ComponentsModule } from 'src/app/components/components.module';
import { HeaderPageModule } from 'src/app/shared/header/header.module';
import { BtnModalDismissPageModule } from 'src/app/shared/btn-modal-dismiss/btn-modal-dismiss.module';
@NgModule({
imports: [
@@ -16,7 +18,9 @@ import { ComponentsModule } from 'src/app/components/components.module';
FormsModule,
IonicModule,
ComponentsModule,
PedidosPageRoutingModule
PedidosPageRoutingModule,
HeaderPageModule,
BtnModalDismissPageModule,
],
declarations: [PedidosPage]
})
@@ -27,7 +27,7 @@
<ion-content>
<div class="main-content">
<ion-refresher name="refresher" slot="fixed" (ionRefresh)="doRefresh($event)">
<ion-refresher name="refresher" slot="fixed" (ionRefresh)="doRefresh()">
<ion-refresher-content
pullingIcon="chevron-down-circle-outline"
pullingText="deslize para actualizar"
@@ -32,7 +32,6 @@ export class PedidosPage implements OnInit {
taskType: string;
serialNumber:string;
@Input() profile:string;
@Input() segment:string;
@Output() openExpedientDetail:EventEmitter<any> = new EventEmitter<any>();
@@ -43,7 +42,6 @@ export class PedidosPage implements OnInit {
private alertService: AlertService,
private activatedRoute: ActivatedRoute,
) {
this.profile = 'mdgpr';
}
ngOnInit() {
@@ -176,28 +174,11 @@ export class PedidosPage implements OnInit {
}
async viewPedidoDetail(serialNumber:any) {
console.log(this.profile);
// const modal = await this.modalController.create({
// component: PedidoPage,
// componentProps:{
// enterAnimation: "",
// serialNumber: serialNumber,
// profile: this.profile,
// },
// cssClass: 'modal modal-desktop',
// });
// await modal.present();
// modal.onDidDismiss().then((res)=>{
// console.log('refresh list');
// this.LoadList();
// });
let navigationExtras: NavigationExtras = {
queryParams: {
enterAnimation: "",
serialNumber: serialNumber,
profile: this.profile,
}
};
this.router.navigate(['/home/gabinete-digital/pedidos/pedido'], navigationExtras);
@@ -9,6 +9,8 @@ import { PendentesPageRoutingModule } from './pendentes-routing.module';
import { PendentesPage } from './pendentes.page';
import { SharedModule } from 'src/app/shared/shared.module';
import { ComponentsModule } from 'src/app/components/components.module';
import { HeaderPageModule } from 'src/app/shared/header/header.module';
import { BtnModalDismissPageModule } from 'src/app/shared/btn-modal-dismiss/btn-modal-dismiss.module';
@NgModule({
imports: [
@@ -16,7 +18,9 @@ import { ComponentsModule } from 'src/app/components/components.module';
FormsModule,
IonicModule,
ComponentsModule,
PendentesPageRoutingModule
PendentesPageRoutingModule,
HeaderPageModule,
BtnModalDismissPageModule,
],
declarations: [PendentesPage]
})
@@ -1,226 +0,0 @@
<ion-header class="ion-no-border">
<ion-toolbar class="header-toolbar">
<div class="main-header">
<div class="title-content">
<div class="middle">
<ion-label class="title">Novo Evento</ion-label>
</div>
</div>
</div>
</ion-toolbar>
</ion-header>
<ion-content>
<div class="main-content">
<div class="ion-item-container">
<ion-input type="text" placeholder="Assunto" ></ion-input>
</div>
<div class="container-div">
<div class="ion-item-class-2 d-flex">
<div class="ion-icon-class">
<ion-icon slot="start" src="assets/images/icons-location.svg"></ion-icon>
</div>
<div class="ion-input-class flex-grow-1">
<ion-input type="text" placeholder="Localização" ></ion-input>
</div>
</div>
<!-- Error messages -->
<!-- <span class="error ion-padding" >
Campo obrigatório
</span> -->
</div>
<div class="container-div">
<div class="ion-item-class-2 d-flex">
<div class="ion-icon-class">
<ion-icon slot="start" src="assets/images/icons-calendar.svg"></ion-icon>
</div>
<div class="ion-input-class flex-grow-1">
<ion-select placeholder="Selecione agenda"
interface="action-sheet" Cancel-text="Cancelar"
required>
<ion-select-option value="Oficial">Oficial</ion-select-option>
<ion-select-option value="Pessoal">Pessoal</ion-select-option>
</ion-select>
</div>
</div>
</div>
<div class="container-div">
<div class="ion-item-class-2 d-flex">
<div class="ion-icon-class">
<ion-icon slot="start" src="assets/images/icons-calendar.svg"></ion-icon>
</div>
<div class="ion-input-class flex-grow-1">
<ion-select placeholder="Selecione tipo"
interface="action-sheet"
Cancel-text="Cancelar" required>
<ion-select-option value="Reunião">Reunião</ion-select-option>
<ion-select-option value="Viagem">Viagem</ion-select-option>
<ion-select-option value="Conferência">Conferência</ion-select-option>
<ion-select-option value="Encontro">Encontro</ion-select-option>
</ion-select>
</div>
</div>
</div>
<div class="container-div">
<div class="ion-item-class-2 d-flex">
<div class="ion-icon-class">
<ion-icon slot="start" src="assets/images/icons-calendar.svg"></ion-icon>
</div>
<div class="ion-input-class flex-grow-1">
<ion-datetime
placeholder="Início"
displayFormat="D MMM YYYY H:mm"
minuteValues="0,15,30,45"
monthShortNames="Jan, Fev, Mar, Abr, Mai, Jun, Jul, Aug, Sep, Out, Nov, Dez"
min="2018"
max="2022"
>
</ion-datetime>
<!-- <ion-input placeholder="Data início" [(ngModel)]="postData.StartDate"></ion-input> -->
</div>
</div>
</div>
<div class="container-div">
<div class="ion-item-class-2 d-flex">
<div class="ion-icon-class">
<ion-icon slot="start" src="assets/images/icons-calendar.svg"></ion-icon>
</div>
<div class="ion-input-class flex-grow-1">
<ion-datetime
placeholder="Fim"
displayFormat="D MMM YYYY H:mm"
minuteValues="0,15,30,45"
monthShortNames="Jan, Fev, Mar, Abr, Mai, Jun, Jul, Aug, Sep, Out, Nov, Dez"
min="2018"
max="2022"
>
</ion-datetime>
<!-- <ion-input placeholder="Data fim" [(ngModel)]="postData.EndDate"></ion-input> -->
</div>
</div>
</div>
<div class="container-div">
<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">
<ion-select placeholder="Selecione repetição" value="false" interface="action-sheet" Cancel-text="Cancelar" required>
<ion-select-option value="false">Não se repete</ion-select-option>
<ion-select-option value="true">Repete</ion-select-option>
</ion-select>
</div>
</div>
</div>
<!-- <div class="container-div">
<div class="ion-item-class-2 d-flex">
<div class="ion-icon-class">
<ion-icon slot="start" src="assets/images/icons-person.svg"></ion-icon>
</div>
<div class="ion-input-class-no-height flex-grow-1">
<div class="list-people">
<ion-item lines="none">
<ion-list>
<ion-label *ngIf="taskParticipants.length ==0" class="list-people-title">Adicionar intervenientes</ion-label>
<ion-label *ngFor="let participant of taskParticipants">{{participant.Name}}</ion-label>
</ion-list>
</ion-item>
</div>
<div class="add-people" >
<ion-icon slot="start" src="assets/images/icons-arrow-forward.svg"></ion-icon>
</div>
</div>
</div>
</div> -->
<!-- <div class="container-div">
<div class="ion-item-class-2 d-flex">
<div class="ion-icon-class">
<ion-icon slot="start" src="assets/images/icons-people-cc.svg"></ion-icon>
</div>
<div class="ion-input-class-no-height flex-grow-1">
<div class="list-people">
<ion-item lines="none">
<ion-list>
<ion-label *ngIf="taskParticipantsCc.length ==0" class="list-people-title">Com conhecimento</ion-label>
<ion-label *ngFor="let participant of taskParticipantsCc">{{participant.Name}}</ion-label>
</ion-list>
</ion-item>
</div>
<div class="add-people" >
<ion-icon slot="start" src="assets/images/icons-arrow-forward.svg"></ion-icon>
</div>
</div>
</div>
</div>
<div class="container-div">
<div class="ion-item-class-2 d-flex">
<div class="ion-icon-class">
<ion-icon slot="start" src="assets/images/icons-description.svg"></ion-icon>
</div>
<div class="ion-input-class-no-height flex-grow-1">
<ion-textarea placeholder="Detalhes" ></ion-textarea>
</div>
</div>
</div> -->
<!-- <div class="ion-item-container-no-border" >
<ion-label>
<div class="attach-icon">
<ion-icon src="assets/images/icons-attach-doc.svg"></ion-icon>
</div>
<div class="attach-document">
<ion-label>Adicionar documentos</ion-label>
</div>
</ion-label>
</div>
<div class="list " *ngFor="let document of documents; let i = index" >
<ion-list>
<ion-item>
<ion-label>
<p class="d-flex ion-justify-content-between">
<span class="attach-title-item">{{document.Assunto}}</span>
<span class="app-name">{{document.appName}}</span>
<span class="close-button text-black" >
<ion-icon class="font-20" src="assets/images/icons-delete-25.svg"></ion-icon>
</span>
</p>
<p><span class="span-left">{{document.EntidadeOrganicaNome}}</span><span class="span-right"> {{document.Data | date: 'dd-MM-yy'}} </span></p>
</ion-label>
</ion-item>
</ion-list>
</div> -->
</div>
</ion-content>
<ion-footer class="ion-no-border px-20">
<ion-toolbar class="d-flex justify-space-between">
<ion-buttons slot="start">
<ion-button class="btn-cancel" fill="clear" color="#061b52" (click)="close()">
<ion-label>Cancelar</ion-label>
</ion-button>
</ion-buttons>
<ion-title></ion-title>
<ion-buttons slot="end">
<ion-button class="btn-ok" fill="clear" color="#fff" (click)="save()">
<ion-label>Gravar</ion-label>
</ion-button>
</ion-buttons>
</ion-toolbar>
</ion-footer>

Some files were not shown because too many files have changed in this diff Show More