-
+
{{msg.u.name}}
{{showDateDuration(msg._updatedAt)}}
@@ -66,7 +66,7 @@
{{msg.msg}}
{{last ? scrollToBottom() : ''}}
@@ -152,4 +154,5 @@
+
diff --git a/src/app/pages/chat/group-messages/group-messages.page.scss b/src/app/pages/chat/group-messages/group-messages.page.scss
index f0d364001..c08d1b385 100644
--- a/src/app/pages/chat/group-messages/group-messages.page.scss
+++ b/src/app/pages/chat/group-messages/group-messages.page.scss
@@ -278,3 +278,36 @@
}
}
+.preview-slides {
+ margin-top: 20%;
+ background: #e6e6e6;
+
+ img {
+ padding-top: 20px;
+ padding-bottom: 20px;
+ }
+}
+
+.transparent-modal {
+ .modal-wrapper {
+ --background: rgba(44, 39, 45, 0.2);
+ }
+}
+
+
+.image-slide,
+.image-card {
+ overflow: visible;
+}
+
+.image-card {
+ z-index: 9;
+}
+
+.backdrop {
+ height: 200%;
+ width: 100%;
+ background: black;
+ position: absolute;
+ z-index: 10;
+}
\ No newline at end of file
diff --git a/src/app/pages/chat/group-messages/group-messages.page.ts b/src/app/pages/chat/group-messages/group-messages.page.ts
index b89e7e8b1..4f6cbab0b 100644
--- a/src/app/pages/chat/group-messages/group-messages.page.ts
+++ b/src/app/pages/chat/group-messages/group-messages.page.ts
@@ -1,5 +1,5 @@
-import { Component, ElementRef, OnInit, ViewChild, AfterViewChecked, AfterViewInit, OnDestroy, } from '@angular/core';
-import { ActionSheetController, MenuController, ModalController, NavParams, PopoverController } from '@ionic/angular';
+import { Component, ElementRef, OnInit, ViewChild, AfterViewChecked, AfterViewInit, OnDestroy, ChangeDetectorRef, } from '@angular/core';
+import { ActionSheetController, IonSlides, MenuController, ModalController, NavParams, PopoverController } from '@ionic/angular';
import { AlertService } from 'src/app/services/alert.service';
import { AuthService } from 'src/app/services/auth.service';
import { ChatService } from 'src/app/services/chat.service';
@@ -20,6 +20,7 @@ import { NewEventPage } from '../../agenda/new-event/new-event.page';
import { EventPerson } from 'src/app/models/eventperson.model';
import { ViewDocumentPage } from 'src/app/modals/view-document/view-document.page';
import { ThemeService } from 'src/app/services/theme.service'
+import { PreviewCameraPage } from 'src/app/modals/preview-camera/preview-camera.page';
@Component({
selector: 'app-group-messages',
@@ -27,6 +28,9 @@ import { ThemeService } from 'src/app/services/theme.service'
styleUrls: ['./group-messages.page.scss'],
})
export class GroupMessagesPage implements OnInit, AfterViewInit, OnDestroy {
+
+
+
showLoader: boolean;
isGroupCreated:boolean;
loggedUser: any;
@@ -75,7 +79,8 @@ export class GroupMessagesPage implements OnInit, AfterViewInit, OnDestroy {
private fileToBase64Service: FileToBase64Service,
private fileService: FileService,
private toastService: ToastService,
- public ThemeService: ThemeService
+ public ThemeService: ThemeService,
+ private changeDetectorRef: ChangeDetectorRef
) {
this.loggedUserChat = authService.ValidatedUserChat['data'];
this.isGroupCreated = true;
@@ -464,7 +469,7 @@ export class GroupMessagesPage implements OnInit, AfterViewInit, OnDestroy {
//this.loadPicture();
}
else if(res['data'] == 'add-picture'){
- this.fileService.addPictureToChat(this.roomId);
+ this.fileService.addPictureToChatMobile(this.roomId);
//this.loadPicture();
}
else if(res['data'] == 'add-document'){
@@ -580,4 +585,59 @@ export class GroupMessagesPage implements OnInit, AfterViewInit, OnDestroy {
});
}
+ sliderOpts = {
+ zoom: false,
+ slidesPerView: 1.5,
+ spaceBetween: 20,
+ centeredSlides: true
+ };
+ zoomActive = false;
+zoomScale = 1;
+
+sliderZoomOpts = {
+ allowSlidePrev: false,
+ allowSlideNext: false,
+ zoom: {
+ maxRatio: 5
+ },
+ on: {
+ zoomChange: (scale, imageEl, slideEl) => {
+ this.zoomActive = true;
+ this.zoomScale = scale/5;
+ this.changeDetectorRef.detectChanges();
+ }
+ }
}
+
+async touchEnd(zoomslides: IonSlides, card) {
+ // Zoom back to normal
+ const slider = await zoomslides.getSwiper();
+ const zoom = slider.zoom;
+ zoom.out();
+
+ // Card back to normal
+ card.el.style['z-index'] = 9;
+
+ this.zoomActive = false;
+ this.changeDetectorRef.detectChanges();
+}
+
+touchStart(card) {
+ // Make card appear above backdrop
+ card.el.style['z-index'] = 11;
+}
+
+ async openPreview(img) {
+ const modal = await this.modalController.create({
+ component: PreviewCameraPage,
+ cssClass: 'transparent-modal',
+ componentProps: {
+ image: img.attachments[0].image_url,
+ username: img.u.username,
+ _updatedAt: img._updatedAt
+ }
+ });
+ modal.present();
+ }
+}
+
diff --git a/src/app/pages/chat/messages/messages.page.html b/src/app/pages/chat/messages/messages.page.html
index d97245b37..cf14f59d9 100644
--- a/src/app/pages/chat/messages/messages.page.html
+++ b/src/app/pages/chat/messages/messages.page.html
@@ -50,8 +50,8 @@
-->
-
+
+
+
@@ -90,7 +90,9 @@
-
+ [class.messages-list-item-wrapper-active]="msg._id == selectedMsgId" >
+
{{msg.u.name}}
{{showDateDuration(msg._updatedAt)}}
@@ -60,7 +60,7 @@
{{msg.msg}}
-
+
diff --git a/src/app/pages/publications/new-publication/new-publication.page.ts b/src/app/pages/publications/new-publication/new-publication.page.ts
index a82247f04..4d68e061e 100644
--- a/src/app/pages/publications/new-publication/new-publication.page.ts
+++ b/src/app/pages/publications/new-publication/new-publication.page.ts
@@ -1,5 +1,5 @@
import { Component, OnInit } from '@angular/core';
-import { ModalController, NavParams } from '@ionic/angular';
+import { ModalController, NavParams, Platform, LoadingController } from '@ionic/angular';
/* import {Plugins, CameraResultType, CameraSource} from '@capacitor/core'; */
import { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';
@@ -16,14 +16,25 @@ import { formatDate } from 'src/plugin/momentG.js'
import { FileLoaderService } from 'src/app/services/file/file-loader.service';
import { FileToBase64Service } from 'src/app/services/file/file-to-base64.service';
import { ThemeService } from 'src/app/services/theme.service';
-import { Camera, CameraResultType, CameraSource, Photo} from '@capacitor/camera';
+import { Camera, CameraResultType, CameraSource, Photo } from '@capacitor/camera';
+import { Filesystem, Directory } from '@capacitor/filesystem';
+import { NgxImageCompressService } from "ngx-image-compress";
+import { SocialSharing } from '@ionic-native/social-sharing/ngx';
+const IMAGE_DIR = 'stored-images';
+
+interface LocalFile {
+ name: string;
+ path: string;
+ data: string;
+}
@Component({
selector: 'app-new-publication',
templateUrl: './new-publication.page.html',
styleUrls: ['./new-publication.page.scss'],
})
export class NewPublicationPage implements OnInit {
+ images: LocalFile[] = [];
// date picker
public date: any;
@@ -32,7 +43,7 @@ export class NewPublicationPage implements OnInit {
public showSeconds = false;
public touchUi = false;
public enableMeridian = false;
- public minDate = new Date().toISOString().slice(0,10)
+ public minDate = new Date().toISOString().slice(0, 10)
public endMinDate = new Date(new Date().getTime() + 15 * 60000);
public stepHour = 1;
public stepMinute = 5;
@@ -48,20 +59,23 @@ export class NewPublicationPage implements OnInit {
folderId: string;
image: Image = new Image();
- publicationType:string;
- publicationTitle:string;
- imgUrl:any;
+ publicationType: string;
+ publicationTitle: string;
+ imgUrl: any;
- Defaultimage:any = '';
+ Defaultimage: any = '';
photo: SafeResourceUrl;
- guestPicture:any;
+ guestPicture: any;
- capturedImage:any = '';
- capturedImageTitle:any;
+ capturedImage: any = '';
+ capturedImageTitle: any;
public photos: any[] = [];
+ imgResultBeforeCompress: string;
+ imgResultAfterCompress: string;
+
constructor(
private modalController: ModalController,
public photoService: PhotoService,
@@ -70,49 +84,64 @@ export class NewPublicationPage implements OnInit {
private toastService: ToastService,
private fileLoaderService: FileLoaderService,
private fileToBase64Service: FileToBase64Service,
- public ThemeService: ThemeService
- ) {
+ public ThemeService: ThemeService,
+ private platform: Platform,
+ private loadingCtrl: LoadingController,
+ public imageCompress: NgxImageCompressService,
+ private socialSharing: SocialSharing
+ ) {
- this.publicationType = this.navParams.get('publicationType');
- this.folderId = this.navParams.get('folderId');
- this.publicationTitle = 'Nova Publicação';
- }
+ this.publicationType = this.navParams.get('publicationType');
+ this.folderId = this.navParams.get('folderId');
+ this.publicationTitle = 'Nova Publicação';
+ }
ngOnInit() {
this.setTitle();
console.log(this.folderId);
+ Filesystem.mkdir({
+ path: IMAGE_DIR,
+ directory: Directory.Data,
+ recursive: true
+ });
// this.takePicture();
}
-async takePicture() {
- const capturedImage = await Camera.getPhoto({
- quality: 90,
- // allowEditing: true,
- resultType: CameraResultType.Uri,
- source: CameraSource.Camera
+ async takePicture() {
+ const image = await Camera.getPhoto({
+ quality: 20,
+ allowEditing: false,
+ width:50,
+ height: 50,
+ resultType: CameraResultType.Uri,
+ source: CameraSource.Camera // Camera, Photos or Prompt!
- });
- const response = await fetch(capturedImage.webPath!);
- const blob = await response.blob();
-
- this.photos.unshift({
- filepath: "soon...",
- webviewPath: capturedImage.webPath
});
- this.capturedImage = await this.convertBlobToBase64(blob);
- this.capturedImageTitle = new Date().getTime() + '.jpeg';
+ if (image) {
+ this.saveImage(image)
+ }
- //console.log(this.capturedImage);
+
}
+
+ imageSize(image) {
+ var canvas = document.createElement('canvas');
+ var ctx = canvas.getContext('2d');
+ canvas.width = 100
+ canvas.height = 34
+ ctx.drawImage(image, 0, 0, 100, 34);
+ document.body.appendChild(canvas);
+ }
+
convertBlobToBase64 = (blob: Blob) => new Promise((resolve, reject) => {
const reader = new FileReader;
reader.onerror = reject;
reader.onload = () => {
- resolve(reader.result);
+ resolve(reader.result);
};
reader.readAsDataURL(blob);
});
@@ -121,7 +150,7 @@ async takePicture() {
async laodPicture() {
const capturedImage = await Camera.getPhoto({
resultType: CameraResultType.Uri,
- source: CameraSource.Photos,
+ source: CameraSource.Camera,
quality: 90,
width: 1080,
height: 720,
@@ -159,7 +188,7 @@ async takePicture() {
runValidation() {
- this.validateFrom = true
+ this.validateFrom = true
}
injectValidation() {
@@ -185,18 +214,18 @@ async takePicture() {
this.injectValidation()
this.runValidation()
- if(this.Form.invalid) return false
+ if (this.Form.invalid) return false
- if(this.publicationType == '3') {
+ if (this.publicationType == '3') {
console.log(this.navParams.get('publication'));
- if(this.capturedImage != ''){
+ if (this.capturedImage != '') {
this.publication = {
DateIndex: this.publication.DateIndex,
- DocumentId:this.publication.DocumentId,
- ProcessId:this.publication.ProcessId,
+ DocumentId: this.publication.DocumentId,
+ ProcessId: this.publication.ProcessId,
Title: this.pub.Title,
Message: this.pub.Message,
DatePublication: this.publication.DatePublication,
@@ -225,8 +254,8 @@ async takePicture() {
this.publication = {
DateIndex: this.publication.DateIndex,
- DocumentId:this.publication.DocumentId,
- ProcessId:this.publication.ProcessId,
+ DocumentId: this.publication.DocumentId,
+ ProcessId: this.publication.ProcessId,
Title: this.pub.Title,
Message: this.pub.Message,
DatePublication: this.publication.DatePublication,
@@ -247,15 +276,15 @@ async takePicture() {
this.close();
} catch (error) {
this.toastService.badRequest("Publicação não criado")
- } finally {
+ } finally {
loader.remove()
}
- } else {
+ } else {
this.publication = {
DateIndex: this.publication.DateIndex,
- DocumentId:this.publication.DocumentId,
- ProcessId:this.publication.ProcessId,
+ DocumentId: this.publication.DocumentId,
+ ProcessId: this.publication.ProcessId,
Title: this.pub.Title,
Message: this.pub.Message,
DatePublication: this.publication.DatePublication,
@@ -275,7 +304,7 @@ async takePicture() {
this.close();
} catch (error) {
this.toastService.badRequest("Publicação não criado")
- } finally {
+ } finally {
loader.remove()
}
@@ -283,15 +312,15 @@ async takePicture() {
}
else {
- const date = formatDate(new Date(), 'yyyy-MM-dd HH:mm:ss')
+ const date = formatDate(new Date(), 'yyyy-MM-dd HH:mm:ss')
console.log(date);
console.log(this.folderId);
this.publication = {
DateIndex: date,
- DocumentId:null,
- ProcessId:this.folderId,
+ DocumentId: null,
+ ProcessId: this.folderId,
Title: this.pub.Title,
Message: this.pub.Message,
DatePublication: date,
@@ -312,7 +341,7 @@ async takePicture() {
this.close();
} catch (error) {
this.toastService.badRequest("Publicação não criado")
- } finally {
+ } finally {
loader.remove()
}
@@ -321,8 +350,8 @@ async takePicture() {
close() {
- this.modalController.dismiss().then(()=>{
- this.showLoader=true;
+ this.modalController.dismiss().then(() => {
+ this.showLoader = true;
});
}
@@ -331,13 +360,13 @@ async takePicture() {
}
setTitle() {
- if(this.publicationType == '1') {
+ if (this.publicationType == '1') {
this.publicationTitle = 'Nova Publicação Rápida';
}
- else if(this.publicationType == '2') {
+ else if (this.publicationType == '2') {
this.publicationTitle = 'Nova Publicação';
}
- else if(this.publicationType == '3') {
+ else if (this.publicationType == '3') {
this.publicationTitle = 'Editar Publicação';
this.pub = this.navParams.get('publication');
@@ -357,16 +386,156 @@ async takePicture() {
modal.onDidDismiss();
} */
- /* async takePicture(){
- const image = await Plugins.Camera.getPhoto({
- quality: 100,
- allowEditing: false,
- resultType: CameraResultType.DataUrl,
- source: CameraSource.Camera
- });
- console.log(image);
+ /* async takePicture(){
+ const image = await Plugins.Camera.getPhoto({
+ quality: 100,
+ allowEditing: false,
+ resultType: CameraResultType.DataUrl,
+ source: CameraSource.Camera
+ });
+ console.log(image);
+
+ this.photo = this.sanitizer.bypassSecurityTrustResourceUrl(image && (image.dataUrl));
+ } */
+
+ async selectImage() {
+ const image = await Camera.getPhoto({
+ quality: 20,
+ allowEditing: false,
+ resultType: CameraResultType.Uri,
+ source: CameraSource.Camera // Camera, Photos or Prompt!
+ });
+ if (image) {
+ this.saveImage(image)
+ }
+ }
+
+
+
+ // Create a new file from a capture image
+ async saveImage(photo: Photo) {
+ const base64Data = await this.readAsBase64(photo);
+
+ const fileName = new Date().getTime() + '.jpeg';
+ const savedFile = await Filesystem.writeFile({
+ path: `${IMAGE_DIR}/${fileName}`,
+ data: base64Data,
+ directory: Directory.Data
+ });
+
+ //this.loadFiles(fileName);
+ this.loadFileData(fileName);
+ }
+
+ private async readAsBase64(photo: Photo) {
+ if (this.platform.is('hybrid')) {
+ const file = await Filesystem.readFile({
+ path: photo.path
+ });
+
+ return file.data;
+ }
+ else {
+ // Fetch the photo, read as a blob, then convert to base64 format
+ const response = await fetch(photo.webPath);
+ const blob = await response.blob();
+
+ return await this.convertBlobToBase64(blob) as string;
+ }
+ }
+
+ async loadFiles(fileName) {
+ this.images = [];
+
+ const loading = await this.loadingCtrl.create({
+ message: 'Loading data...',
+ });
+ await loading.present();
+
+ /* Filesystem.readdir({
+ path: `${IMAGE_DIR}/${fileName}`,
+ directory: Directory.Data,
+ }).then(result => {
+ console.log('ALL RESULTS', result.files)
+ let lastphoto = result.files[result.files.length - 1]
+ this.loadFileData(lastphoto);
+ },
+ async (err) => {
+ console.log('ERROR FILE DOSENT EXIST', err)
+ // Folder does not yet exists!
+ await Filesystem.mkdir({
+ path: IMAGE_DIR,
+ directory: Directory.Data,
+ recursive: true
+ });
+ }
+ ).then(_ => {
+ loading.dismiss();
+ }); */
+ }
+
+ async loadFileData(fileName: string) {
+ console.log('ALL PHOTOT FILE', fileName)
+
+ const loading = await this.loadingCtrl.create({
+ message: 'Loading data...',
+ });
+ await loading.present();
+
+ const filePath = `${IMAGE_DIR}/${fileName}`;
+
+ const readFile = await Filesystem.readFile({
+ path: filePath,
+ directory: Directory.Data,
+ });
+
+ this.images.push({
+ name: fileName,
+ path: filePath,
+ data: `data:image/jpeg;base64,${readFile.data}`,
+ });
+
+ console.log('ALL IMAGE', this.images)
+
+ this.capturedImage = this.images[0].data
+
+ this.compressFile();
+
+ loading.dismiss();
+
+ }
+
+ /* compressImage() {
+ let image = this.capturedImage;
+ this.imageCompress.compressFile(image, orientation, 50, 50,).then(() => {
+
+ this.imgResultBeforeCompress = image;
+ console.log('Size in bytes was:', this.imageCompress.byteCount(image));
+
+ this.imageCompress.compressFile(image, orientation, 50, 50).then(
+ result => {
+ this.imgResultAfterCompress = result;
+ console.log('Size in bytes is now:', this.imageCompress.byteCount(result));
+ }
+ );
+ })
+ } */
+
+ compressFile() {
+
+ //this.imgResultBeforeCompress = image;
+ this.imageCompress.getOrientation(this.capturedImage).then((orientation) => {
+ console.log('Size in bytes was:', this.imageCompress.byteCount(this.capturedImage));
+ this.imageCompress.compressFile(this.capturedImage, orientation, 20, 20).then(
+ result => {
+ this.capturedImage = result;
+ console.log('Size in bytes is now:', this.imageCompress.byteCount(result));
+ }
+ );
+
+ });
+ }
+
- this.photo = this.sanitizer.bypassSecurityTrustResourceUrl(image && (image.dataUrl));
- } */
}
diff --git a/src/app/pages/publications/new-publication/photos.ts b/src/app/pages/publications/new-publication/photos.ts
new file mode 100644
index 000000000..0690d6cc0
--- /dev/null
+++ b/src/app/pages/publications/new-publication/photos.ts
@@ -0,0 +1,4 @@
+export interface Photos {
+ filepath: string;
+ webviewPath: string;
+}
\ No newline at end of file
diff --git a/src/app/pages/publications/publications.module.ts b/src/app/pages/publications/publications.module.ts
index dbb7e19a7..5f121647f 100644
--- a/src/app/pages/publications/publications.module.ts
+++ b/src/app/pages/publications/publications.module.ts
@@ -15,6 +15,7 @@ import { PublicationDetailPageModule } from 'src/app/shared/publication/view-pub
import { HeaderPageModule } from 'src/app/shared/header/header.module';
import { EditActionPageModule } from 'src/app/shared/publication/edit-action/edit-action.module';
import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
+import { LazyLoadImageModule } from 'ng-lazyload-image'; // <-- import it
@NgModule({
imports: [
@@ -29,6 +30,7 @@ import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
PublicationDetailPageModule,
NewActionPageModule,
EditActionPageModule,
+ LazyLoadImageModule
],
declarations: [
PublicationsPage,
diff --git a/src/app/pages/publications/publications.page.html b/src/app/pages/publications/publications.page.html
index f1c15bcad..9951a3376 100644
--- a/src/app/pages/publications/publications.page.html
+++ b/src/app/pages/publications/publications.page.html
@@ -66,7 +66,7 @@
@@ -77,7 +77,6 @@
-
{
if (window.innerWidth < 801) {
@@ -238,9 +242,9 @@ export class PublicationsPage implements OnInit {
try {
await this.publications.DeletePresidentialAction(id).toPromise();
- this.toastService.successMessage()
+ this.toastService._successMessage()
} catch (e) {
- this.toastService.badRequest()
+ this.toastService._badRequest()
}
finally {
loader.remove()
@@ -452,4 +456,10 @@ export class PublicationsPage implements OnInit {
});
}
+ // this.crop.crop('path/to/image.jpg', {quality: 75})
+ // .then(
+ // newImage => console.log('new image path is: ' + newImage),
+ // error => console.error('Error cropping image', error)
+ // );
+
}
diff --git a/src/app/pages/publications/view-publications/publication-detail/publication-detail.page.html b/src/app/pages/publications/view-publications/publication-detail/publication-detail.page.html
index 70c3a110a..0a0caf116 100644
--- a/src/app/pages/publications/view-publications/publication-detail/publication-detail.page.html
+++ b/src/app/pages/publications/view-publications/publication-detail/publication-detail.page.html
@@ -24,7 +24,7 @@
diff --git a/src/app/pages/publications/view-publications/view-publications.module.ts b/src/app/pages/publications/view-publications/view-publications.module.ts
index d05bd8b49..35b432670 100644
--- a/src/app/pages/publications/view-publications/view-publications.module.ts
+++ b/src/app/pages/publications/view-publications/view-publications.module.ts
@@ -10,6 +10,9 @@ import { ViewPublicationsPage } from './view-publications.page';
import { HeaderPageModule } from 'src/app/shared/header/header.module';
+import { LazyLoadImageModule } from 'ng-lazyload-image'; // <-- import it
+
+
@NgModule({
imports: [
CommonModule,
@@ -18,6 +21,7 @@ import { HeaderPageModule } from 'src/app/shared/header/header.module';
ViewPublicationsPageRoutingModule,
HeaderPageModule,
+ LazyLoadImageModule
],
exports: [ViewPublicationsPage],
declarations: [ViewPublicationsPage]
diff --git a/src/app/pages/publications/view-publications/view-publications.page.html b/src/app/pages/publications/view-publications/view-publications.page.html
index fd3a2a111..32001f7d2 100644
--- a/src/app/pages/publications/view-publications/view-publications.page.html
+++ b/src/app/pages/publications/view-publications/view-publications.page.html
@@ -34,12 +34,12 @@
-
diff --git a/src/app/pages/publications/view-publications/view-publications.page.scss b/src/app/pages/publications/view-publications/view-publications.page.scss
index e4c1a0dd2..77534f9d2 100644
--- a/src/app/pages/publications/view-publications/view-publications.page.scss
+++ b/src/app/pages/publications/view-publications/view-publications.page.scss
@@ -126,7 +126,7 @@
}
.post-img{
width: 100%;
- //height: 400px;
+ height: 400px;
margin: 0 auto;
border-radius: 0px!important;
overflow: hidden;
diff --git a/src/app/pages/publications/view-publications/view-publications.page.ts b/src/app/pages/publications/view-publications/view-publications.page.ts
index ad0095192..8d8839623 100644
--- a/src/app/pages/publications/view-publications/view-publications.page.ts
+++ b/src/app/pages/publications/view-publications/view-publications.page.ts
@@ -13,6 +13,7 @@ import { PublicationDetailPage } from './publication-detail/publication-detail.p
import { SqliteService } from 'src/app/services/sqlite.service';
import { BackgroundService } from 'src/app/services/background.service';
import { ThemeService } from 'src/app/services/theme.service'
+import { forkJoin } from 'rxjs';
@Component({
selector: 'app-view-publications',
@@ -25,7 +26,9 @@ export class ViewPublicationsPage implements OnInit {
publicationList: Publication[] = new Array();
item: PublicationFolder;
+ defaultImage = "https://governo.gov.ao/ao/noticias/presidente-joao-lourenco-ouviu-a-voz-da-igreja/"
folderId: string;
+ id: string;
error: any;
publicationListStorage = PublicationListStorage
@@ -65,15 +68,15 @@ export class ViewPublicationsPage implements OnInit {
if (typeof (this.folderId) == 'object') {
this.folderId = this.folderId['ProcessId']
}
-
+ this.testForkJoin()
this.getPublicationDetail();
setTimeout(() => {
- this.getPublications();
- }, 5000);
+ this.getPublicationsIds();
+ }, 1000);
- this.backgroundservice.registerBackService('Online',() => {
+ this.backgroundservice.registerBackService('Online', () => {
this.getPublicationDetail();
- this.getPublications();
+ this.testForkJoin()
})
@@ -85,14 +88,19 @@ export class ViewPublicationsPage implements OnInit {
this.folderId = this.folderId['ProcessId']
}
+ // if (typeof (this.id == 'object') {
+ // this.id = this.id['ProcessId']
+ // }
+ this.testForkJoin()
this.getPublicationDetail();
- this.getPublications();
+ // this.getPublicationsIds();
}
doRefresh = (event) => {
setTimeout(() => {
+ this.testForkJoin()
this.getPublicationDetail();
- this.getPublications();
+ // this.getPublicationsIds();
event.target.complete();
}, 3000);
@@ -110,50 +118,125 @@ export class ViewPublicationsPage implements OnInit {
getPublicationDetail() {
setTimeout(() => {
+
let allActions = this.publicationEventFolderStorage.list.concat(this.publicationTravelFolderService.list)
this.item = allActions.find((e) => e.ProcessId == this.folderId);
this.publicationDitails = this.item
console.log('item', this.item)
+
}, 100);
}
+// goes to fork
+ // getPublicationsIds() {
+
+ // this.showLoader = true;
+ // const folderId = this.folderId
+
+ // this.publications.GetIdsPublicationsImages(this.id).subscribe(res => {
+
+ // console.log(this.id)
+
+ // this.publicationList = new Array();
+
+ getPublicationsIds() {
- getPublications() {
this.showLoader = true;
const folderId = this.folderId
- this.publications.GetPublications(this.folderId).subscribe(res => {
- console.log(this.folderId)
+ this.publications.GetPublicationsImages(this.folderId).subscribe(res => {
+
+ console.log('publications ids', res)
this.publicationList = new Array();
+ for(let i of res) {
+ this.publications.GetPublicationById(i).subscribe(ress => {
+ console.log('publications by ids', ress)
+ let item: Publication = this.publicationPipe.itemList(ress)
+ console.log('publications by ids 2', item)
+ this.publicationList.push(item);
+ })
+ }
+
+ /* res.forEach(element => {
+ console.log('publications elements', element)
+ this.publications.GetPublicationById(element).subscribe(ress => {
+ console.log('publications by ids', ress)
+ let item: Publication = this.publicationPipe.itemList(ress)
+ console.log('publications by ids 2', item)
+ this.publicationList.push(ress);
+ })
+
+ }); */
- res.forEach(element => {
- console.log('getPublications', element)
- let item: Publication = this.publicationPipe.itemList(element)
- this.publicationList.push(item);
- });
this.sqliteservice.updateactions(this.folderId, JSON.stringify(this.publicationList));
-
this.publicationListStorage.add(folderId, this.publicationList)
this.getpublication = this.publicationList;
this.showLoader = false;
- },
- (error) => {
- if(error.status == '0') {
- this.getFromDB();
- }
- if (error.status == '404') {
- this.error = 'Sem publicações disponÃveis!';
- this.publicationList = [];
- this.publicationListStorage.add(folderId, this.publicationList)
- }
- this.showLoader = false;
+ /* this.publicationList = new Array();
+
+ res.forEach(element => {
+ console.log('getPublications', element)
+ let item: Publication = this.publicationPipe.itemList(element)
+ this.publicationList.push(item);
+ });
+ this.sqliteservice.updateactions(this.folderId, JSON.stringify(this.publicationList));
+
+ this.publicationListStorage.add(folderId, this.publicationList)
+ this.getpublication = this.publicationList; */
+ });
+ }
+
+ getPublications() {
+
+ this.showLoader = true;
+ const folderId = this.folderId
+
+ this.publications.GetPublications(this.folderId).subscribe(res => {
+
+ console.log(this.folderId)
+
+ this.publicationList = new Array();
+
+ res.forEach(element => {
+ console.log('getPublications', element)
+ let item: Publication = this.publicationPipe.itemList(element)
+ this.publicationList.push(item);
+ console.log('getPublications 222', item)
});
+ this.sqliteservice.updateactions(this.folderId, JSON.stringify(this.publicationList));
+ this.publicationListStorage.add(folderId, this.publicationList)
+ this.getpublication = this.publicationList;
+
+ this.showLoader = false;
+ }, (error) => {
+
+ if (error.status == '0') {
+ this.getFromDB();
+ }
+ if (error.status == '404') {
+ this.error = 'Sem publicações disponÃveis!';
+ this.publicationList = [];
+ this.publicationListStorage.add(folderId, this.publicationList)
+ }
+ this.showLoader = false;
+ });
+ }
+
+ testForkJoin(){
+ forkJoin([
+ this.getPublicationsIds(),
+ this.getPublications(),
+
+
+ ]).subscribe(allResults =>{
+ this.publicationList = allResults[2]
+ })
}
getFromDB() {
@@ -223,7 +306,7 @@ export class ViewPublicationsPage implements OnInit {
});
await modal.present();
modal.onDidDismiss().then(() => {
- this.getPublications();
+ this.getPublicationsIds();
});
}
diff --git a/src/app/services/agenda/list-box.service.ts b/src/app/services/agenda/list-box.service.ts
index 04066f1da..8070c3a21 100644
--- a/src/app/services/agenda/list-box.service.ts
+++ b/src/app/services/agenda/list-box.service.ts
@@ -8,11 +8,11 @@ import { DateService } from '../date.service';
export class ListBoxService {
constructor(
- private dateService: DateService
- ){}
+ private dateService: DateService
+ ){}
- filterProfile(eventSource: EventListStore[], profile: 'md' | 'pr' | 'all') {
+ filterProfile(eventSource: EventListStore[] = [], profile: 'md' | 'pr' | 'all') {
return eventSource.filter((e) => e.profile == profile)
}
@@ -26,32 +26,34 @@ export class ListBoxService {
})
}
- filterSegment(eventSource: EventListStore[], segment): EventListStore[] {
- return eventSource.filter( data => data.calendarName == segment)
- }
-
+ filterSegment(eventSource: EventListStore[], segment): EventListStore[] {
+ return eventSource.filter( data => data.calendarName == segment)
+ }
daysBetween(){ }
list(eventSource: EventListStore[], profile: 'md' | 'pr' | 'all', rangeStartDate, randEndDate, {segment = 'Combinado', selectedDate= null}) {
- // filter range
- if(selectedDate) {
- eventSource = eventSource.filter(data =>
- data.startTime.toLocaleDateString('pt')>= selectedDate.toLocaleDateString('pt') &&
- data.endTime.toLocaleDateString('pt')>= selectedDate.toLocaleDateString('pt')
- )
- }
+ // console.log('eventSource', eventSource ,'rangeStartDate', new Date(rangeStartDate).toLocaleDateString('pt') , 'randEndDate', new Date(randEndDate).toLocaleDateString('pt'))
- if(segment!='Combinado') {
- eventSource = this.filterSegment(eventSource, segment)
- }
+ // // filter range
+ // if(selectedDate) {
+ // eventSource = eventSource.filter(data =>
+ // data.startTime.toLocaleDateString('pt') >= new Date(rangeStartDate).toLocaleDateString('pt') &&
+ // data.startTime.toLocaleDateString('pt') <= new Date(rangeStartDate).toLocaleDateString('pt')
+ // )
+ // }
+
+
+ if(segment!='Combinado') {
+ eventSource = this.filterSegment(eventSource, segment)
+ }
if(profile != 'all') {
eventSource = this.filterProfile(eventSource, profile)
}
- let newStracture:CustomCalendarEvent[];
+ let newStracture:CustomCalendarEvent[];
if(profile == 'md') {
newStracture = this.encapsulation(eventSource, 'mdgpr');
@@ -92,12 +94,12 @@ export class ListBoxService {
if (diffDays >= 1) {
const StartEvent = this.transForm(event, {startMany: true,endMany: false, middle: false, profile})
-
- if(this.push(event, selectedDate)) days[day].push(StartEvent)
+
+ if(this.push(event, selectedDate)) days[day].push(StartEvent)
let i = 1;
- // create event between date
+ // create event between date
while (startDate.getFullYear() != endDate.getFullYear() ||
startDate.getMonth() != endDate.getMonth() ||
startDate.getDate() != endDate.getDate()) {
@@ -130,12 +132,15 @@ export class ListBoxService {
}
} else {
+
+
if(this.push(event, selectedDate)) days[day].push(event)
}
} else {
+
if(this.push(event, selectedDate)) days[day].push(event)
}
- }
+ }
if(this.push(event, selectedDate)) days[day].push(event)
@@ -155,10 +160,12 @@ export class ListBoxService {
}
- push(event: any, selectedDate: Date) {
- return new Date(event.start).getMonth() == selectedDate.getMonth() &&
- new Date(event.start).getFullYear() == selectedDate.getFullYear()
- }
+ push(event: any, selectedDate: Date) {
+
+ return new Date(event.start).getMonth() == selectedDate.getMonth() &&
+ new Date(event.start).getFullYear() == selectedDate.getFullYear() &&
+ new Date(event.start).getDate() >= selectedDate.getDate()
+ }
encapsulation(eventsList:EventListStore[], profile): CustomCalendarEvent[] {
diff --git a/src/app/services/background.service.ts b/src/app/services/background.service.ts
index e1670c200..acd6153ec 100644
--- a/src/app/services/background.service.ts
+++ b/src/app/services/background.service.ts
@@ -1,5 +1,6 @@
import { Injectable } from '@angular/core';
import { ThemeService } from 'src/app/services/theme.service';
+import { StorageService} from 'src/app/services/storage.service';
@Injectable({
providedIn: 'root'
@@ -13,7 +14,8 @@ export class BackgroundService {
}[] = []
constructor(
- private themeservice: ThemeService
+ private themeservice: ThemeService,
+ private storageservice: StorageService
) { }
online() {
@@ -24,6 +26,7 @@ export class BackgroundService {
document.body.style.setProperty(`--color3`, "#d9d9d9");
document.body.style.setProperty(`--color4`, "#d9d9d9ee");
document.body.style.setProperty(`--color5`, "#ececec");
+ this.storageservice.store('networkCheckStore','online');
} else {
document.body.style.setProperty(`--color`, "#0782C9");
@@ -31,6 +34,7 @@ export class BackgroundService {
document.body.style.setProperty(`--color3`, "#0782C9");
document.body.style.setProperty(`--color4`, "#0782c9f0");
document.body.style.setProperty(`--color5`, "#45BAFF");
+ this.storageservice.store('networkCheckStore','online');
}
this.callBacks.forEach((e) => {
@@ -46,6 +50,7 @@ export class BackgroundService {
document.body.style.setProperty(`--color3`, "#ffb703");
document.body.style.setProperty(`--color4`, "#ffb703");
document.body.style.setProperty(`--color5`, "#ffb703");
+ this.storageservice.store('networkCheckStore','offline');
this.callBacks.forEach((e) => {
if (e.type == 'Offline') {
e.funx()
diff --git a/src/app/services/date.service.ts b/src/app/services/date.service.ts
index 2895fea2d..c1c98e440 100644
--- a/src/app/services/date.service.ts
+++ b/src/app/services/date.service.ts
@@ -7,7 +7,6 @@ export class DateService {
constructor() { }
-
deferenceBetweenDays(start: any, end: any) {
const diffTime = Math.abs(end - start);
return Math.ceil(diffTime / (1000 * 60 * 60 * 24));
diff --git a/src/app/services/events.service.ts b/src/app/services/events.service.ts
index ed264d7ba..c2fd4b9b6 100644
--- a/src/app/services/events.service.ts
+++ b/src/app/services/events.service.ts
@@ -346,6 +346,7 @@ export class EventsService {
return this.http.put(`${puturl}`, event, options).pipe(
catchError(err => {
+ console.log('Event edit saved offline')
this.offlinemanager.storeRequestData('eventEdit', arrayReq);
throw new Error(err);
})
@@ -481,6 +482,7 @@ export class EventsService {
return this.http.delete(`${puturl}`, options).pipe(
catchError(err => {
+ console.log('Event edit saved offline')
this.offlinemanager.storeRequestData('eventDelete', arrayReq);
throw new Error(err);
})
diff --git a/src/app/services/file/custom-image-cache/custom-image-cache-routing.module.ts b/src/app/services/file/custom-image-cache/custom-image-cache-routing.module.ts
new file mode 100644
index 000000000..4632ffd0b
--- /dev/null
+++ b/src/app/services/file/custom-image-cache/custom-image-cache-routing.module.ts
@@ -0,0 +1,17 @@
+import { NgModule } from '@angular/core';
+import { Routes, RouterModule } from '@angular/router';
+
+import { CustomImageCachePage } from './custom-image-cache.page';
+
+const routes: Routes = [
+ {
+ path: '',
+ component: CustomImageCachePage
+ }
+];
+
+@NgModule({
+ imports: [RouterModule.forChild(routes)],
+ exports: [RouterModule],
+})
+export class CustomImageCachePageRoutingModule {}
diff --git a/src/app/services/file/custom-image-cache/custom-image-cache.module.ts b/src/app/services/file/custom-image-cache/custom-image-cache.module.ts
new file mode 100644
index 000000000..7f1fa8b50
--- /dev/null
+++ b/src/app/services/file/custom-image-cache/custom-image-cache.module.ts
@@ -0,0 +1,21 @@
+import { NgModule } from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+
+import { IonicModule } from '@ionic/angular';
+
+import { CustomImageCachePageRoutingModule } from './custom-image-cache-routing.module';
+
+import { CustomImageCachePage } from './custom-image-cache.page';
+
+@NgModule({
+ imports: [
+ CommonModule,
+ FormsModule,
+ IonicModule,
+ CustomImageCachePageRoutingModule
+ ],
+ exports: [CustomImageCachePage],
+ declarations: [CustomImageCachePage]
+})
+export class CustomImageCachePageModule {}
diff --git a/src/app/services/file/custom-image-cache/custom-image-cache.page.html b/src/app/services/file/custom-image-cache/custom-image-cache.page.html
new file mode 100644
index 000000000..0f86fae9f
--- /dev/null
+++ b/src/app/services/file/custom-image-cache/custom-image-cache.page.html
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/app/services/file/custom-image-cache/custom-image-cache.page.scss b/src/app/services/file/custom-image-cache/custom-image-cache.page.scss
new file mode 100644
index 000000000..e69de29bb
diff --git a/src/app/services/file/custom-image-cache/custom-image-cache.page.spec.ts b/src/app/services/file/custom-image-cache/custom-image-cache.page.spec.ts
new file mode 100644
index 000000000..eb8009136
--- /dev/null
+++ b/src/app/services/file/custom-image-cache/custom-image-cache.page.spec.ts
@@ -0,0 +1,24 @@
+import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
+import { IonicModule } from '@ionic/angular';
+
+import { CustomImageCachePage } from './custom-image-cache.page';
+
+describe('CustomImageCachePage', () => {
+ let component: CustomImageCachePage;
+ let fixture: ComponentFixture;
+
+ beforeEach(waitForAsync(() => {
+ TestBed.configureTestingModule({
+ declarations: [ CustomImageCachePage ],
+ imports: [IonicModule.forRoot()]
+ }).compileComponents();
+
+ fixture = TestBed.createComponent(CustomImageCachePage);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ }));
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/src/app/services/file/custom-image-cache/custom-image-cache.page.ts b/src/app/services/file/custom-image-cache/custom-image-cache.page.ts
new file mode 100644
index 000000000..e225ba059
--- /dev/null
+++ b/src/app/services/file/custom-image-cache/custom-image-cache.page.ts
@@ -0,0 +1,76 @@
+import { Component, Input, OnInit } from '@angular/core';
+import { Directory, Filesystem } from '@capacitor/filesystem';
+// import { readFile } from 'fs';
+
+
+
+const CACHE_FOLDER = 'CACHED-IMG'
+
+@Component({
+ selector: 'app-custom-image-cache',
+ templateUrl: './custom-image-cache.page.html',
+ styleUrls: ['./custom-image-cache.page.scss'],
+})
+export class CustomImageCachePage implements OnInit {
+
+ _src ="";
+ @Input () spinner = false
+
+ ngOnInit() {
+ }
+ constructor() { }
+
+ @Input()
+ set src(imageUrl: string){
+ console.log('SET SOURCE', imageUrl)
+
+ const imageName = imageUrl.split('/').pop()
+ const fileType = imageName.split('.').pop()
+
+ Filesystem.readFile({
+ directory: Directory.Cache,
+ path: `${CACHE_FOLDER}/${imageName}`}).then(readFile =>{
+ console.log('LOCAL FILE: ', readFile)
+ // set to SRC
+ this._src = `data:image/${fileType};base64ToFile, ${readFile.data}`
+ }).catch(async e =>{
+ await this.storedImage(imageUrl, imageName)
+ })
+ Filesystem.readFile({
+ directory: Directory.Cache,
+ path: `${CACHE_FOLDER}/${imageName}`
+ }).then(readFile =>{
+ this._src = `data:image/${fileType};base64ToFile, ${readFile.data}`
+ })
+
+ }
+ async storedImage(url, path){
+ const response = await fetch(`http://api-cors-proxy-devdactic.herokuapp.com/${url}`)
+ const blob = await response.blob()
+
+ const base64Data = await this.convertBlobToBase64(blob) as string;
+ const savedFile = await Filesystem.writeFile({
+ path: `${CACHE_FOLDER}/${path}`,
+ data: base64Data,
+ directory: Directory.Cache
+ })
+ return savedFile
+ }
+
+ convertBlobToBase64(blob: Blob){
+ return new Promise((resolve, reject) =>{
+ const reader = new FileReader;
+ reader.onerror = reject;
+ reader.onload = () => {
+ resolve(reader.result)
+ }
+ reader.readAsDataURL(blob)
+ })
+ }
+ }
+
+
+
+
+
+
diff --git a/src/app/services/functions/file.service.ts b/src/app/services/functions/file.service.ts
index 040f13324..146f8cb91 100644
--- a/src/app/services/functions/file.service.ts
+++ b/src/app/services/functions/file.service.ts
@@ -4,18 +4,29 @@ import { FileToBase64Service } from '../file/file-to-base64.service';
import { InAppBrowser } from '@ionic-native/in-app-browser/ngx';
import { ChatService } from '../chat.service';
-import { ModalController } from '@ionic/angular';
+import { ModalController, Platform,LoadingController } from '@ionic/angular';
import { SearchPage } from 'src/app/pages/search/search.page';
import { SearchList } from 'src/app/models/search-document';
import { ProcessesService } from '../processes.service';
import { ToastService } from '../toast.service';
import { Camera, CameraResultType, CameraSource, Photo} from '@capacitor/camera';
+import { Filesystem, Directory } from '@capacitor/filesystem';
+
+const IMAGE_DIR = 'stored-images';
+
+interface LocalFile {
+ name: string;
+ path: string;
+ data: string;
+}
+
@Injectable({
providedIn: 'root'
})
export class FileService {
+ images: LocalFile[] = [];
capturedImage:any;
capturedImageTitle:any;
documents:SearchList[] = [];
@@ -23,6 +34,7 @@ export class FileService {
files: Set;
photos: any[] = [];
+ idroom: any;
constructor(
private fileLoaderService: FileLoaderService,
@@ -32,6 +44,8 @@ export class FileService {
private modalController: ModalController,
private processesService: ProcessesService,
private toastService: ToastService,
+ private platform: Platform,
+ private loadingCtrl: LoadingController
) { }
async takePicture() {
@@ -93,59 +107,156 @@ export class FileService {
};
}
+ //new method1
+ async saveImage(photo: Photo, roomid: any) {
+ const base64Data = await this.readAsBase64(photo);
+
+ const fileName = new Date().getTime() + '.jpeg';
+ const savedFile = await Filesystem.writeFile({
+ path: `${IMAGE_DIR}/${fileName}`,
+ data: base64Data,
+ directory: Directory.Data
+ });
+
+ this.loadFiles(roomid);
+ }
+
+ //new method 2
+ private async readAsBase64(photo: Photo) {
+ if (this.platform.is('hybrid')) {
+ const file = await Filesystem.readFile({
+ path: photo.path
+ });
+
+ return file.data;
+ }
+ else {
+ // Fetch the photo, read as a blob, then convert to base64 format
+ const response = await fetch(photo.webPath);
+ const blob = await response.blob();
+
+ return await this.convertBlobToBase64(blob) as string;
+ }
+ }
+
+ //new method 3
+ async loadFiles(roomid) {
+ this.images = [];
+
+ const loading = await this.loadingCtrl.create({
+ message: 'Loading data...',
+ });
+ await loading.present();
+
+ Filesystem.readdir({
+ path: IMAGE_DIR,
+ directory: Directory.Data,
+ }).then(result => {
+ console.log('ALL RESULTS', result.files[0])
+ let lastphoto = result.files[result.files.length - 1]
+ this.loadFileData(lastphoto,roomid);
+ },
+ async (err) => {
+ console.log('ERROR FILE DOSENT EXIST', err)
+ // Folder does not yet exists!
+ await Filesystem.mkdir({
+ path: IMAGE_DIR,
+ directory: Directory.Data,
+ recursive: true
+ });
+ }
+ ).then(_ => {
+ loading.dismiss();
+ });
+ }
+
+ //new method 4
+ async loadFileData(fileName: string, roomid: any) {
+ console.log('ALL PHOTOT FILE', fileName)
+ // for (let f of fileNames) {
+ const filePath = `${IMAGE_DIR}/${fileName}`;
+
+ const readFile = await Filesystem.readFile({
+ path: filePath,
+ directory: Directory.Data,
+ });
+
+ this.images.push({
+ name: fileName,
+ path: filePath,
+ data: `data:image/jpeg;base64,${readFile.data}`,
+ });
+
+ console.log('ALL IMAGE', this.images)
+
+ this.capturedImage = this.images[0].data
+
+ this.capturedImageTitle = new Date().getTime() + '.jpeg';
+
+ let body = {
+ "message":
+ {
+ "rid": roomid,
+ "msg": "",
+ "attachments": [{
+ "title": this.capturedImageTitle,
+ "title_link_download": false,
+ "image_url": this.capturedImage,
+ }]
+ }
+ }
+ console.log('BODY TAKE PICTURE CHAT', body)
+ const loader = this.toastService.loading();
+ this.chatService.sendMessage(body).subscribe(res=> {
+ console.log(res);
+ loader.remove();
+ },(error) => {
+ loader.remove();
+ this.toastService.badRequest("Não foi possÃvel adicionar a fotografia!");
+ });
+ }
+
+
+
async addCameraPictureToChat(roomId){
- const capturedImage = await Camera.getPhoto({
- quality: 90,
- // allowEditing: true,
+ const image = await Camera.getPhoto({
+ quality: 50,
+ allowEditing: false,
resultType: CameraResultType.Uri,
- source: CameraSource.Camera
-
+ source: CameraSource.Camera // Camera, Photos or Prompt!
});
- const response = await fetch(capturedImage.webPath!);
+
+ if (image) {
+ await this.saveImage(image,roomId)
+ }
+/* const response = await fetch(capturedImage.webPath!);
const blob = await response.blob();
this.photos.unshift({
filepath: "soon...",
webviewPath: capturedImage.webPath
- });
+ }); */
- this.capturedImage = await this.convertBlobToBase64(blob);
- this.capturedImageTitle = new Date().getTime() + '.jpeg';
-
- let body = {
- "message":
- {
- "rid": roomId,
- "msg": "",
- "attachments": [{
- "title": this.capturedImageTitle,
- "title_link_download": false,
- "image_url": this.capturedImage,
- }]
- }
- }
- const loader = this.toastService.loading();
- this.chatService.sendMessage(body).subscribe(res=> {
- console.log(res);
- loader.remove();
- },(error) => {
- loader.remove();
- this.toastService.badRequest("Não foi possÃvel adicionar a fotografia!");
- });
+ //this.capturedImage = this.capturedImage;
+
}
async addPictureToChatMobile(roomId) {
const capturedImage = await Camera.getPhoto({
- quality: 90,
+ quality: 50,
// allowEditing: true,
resultType: CameraResultType.Uri,
- source: CameraSource.Photos
+ source: CameraSource.Camera
});
- const response = await fetch(capturedImage.webPath!);
+
+ if (capturedImage) {
+ await this.saveImage(capturedImage,roomId)
+ }
+ /* const response = await fetch(capturedImage.webPath!);
const blob = await response.blob();
this.photos.unshift({
@@ -177,7 +288,7 @@ export class FileService {
},(error) => {
//loader.remove();
});
- }
+ */ }
addPictureToChat(roomId) {
@@ -193,7 +304,7 @@ export class FileService {
input.onchange = async () => {
- alert('Onchange AQUI')
+ //alert('Onchange AQUI')
const file = this.fileLoaderService.getFirstFile(input)
@@ -218,6 +329,7 @@ export class FileService {
}
}
+ console.log('SELECT PICTURE GALLERY', body)
console.log(this.capturedImage)
this.chatService.sendMessage(body).subscribe(res=> {
diff --git a/src/app/services/functions/object.service.spec.ts b/src/app/services/functions/object.service.spec.ts
new file mode 100644
index 000000000..ed7a3d76a
--- /dev/null
+++ b/src/app/services/functions/object.service.spec.ts
@@ -0,0 +1,16 @@
+import { TestBed } from '@angular/core/testing';
+
+import { ObjectService } from './object.service';
+
+describe('ObjectService', () => {
+ let service: ObjectService;
+
+ beforeEach(() => {
+ TestBed.configureTestingModule({});
+ service = TestBed.inject(ObjectService);
+ });
+
+ it('should be created', () => {
+ expect(service).toBeTruthy();
+ });
+});
diff --git a/src/app/services/functions/object.service.ts b/src/app/services/functions/object.service.ts
new file mode 100644
index 000000000..9b52713c8
--- /dev/null
+++ b/src/app/services/functions/object.service.ts
@@ -0,0 +1,25 @@
+import { Injectable } from '@angular/core';
+
+@Injectable({
+ providedIn: 'root'
+})
+export class ObjectService {
+
+ constructor() { }
+
+
+ deepFind(obj, path) {
+ var paths = path.split('.')
+ , current = obj
+ , i;
+
+ for (i = 0; i < paths.length; ++i) {
+ if (current[paths[i]] == undefined) {
+ return undefined;
+ } else {
+ current = current[paths[i]];
+ }
+ }
+ return current;
+ }
+}
diff --git a/src/app/services/functions/sort.service.ts b/src/app/services/functions/sort.service.ts
index 9d580897b..c248ff958 100644
--- a/src/app/services/functions/sort.service.ts
+++ b/src/app/services/functions/sort.service.ts
@@ -1,11 +1,12 @@
import { Injectable } from '@angular/core';
+import { ObjectService } from './object.service';
@Injectable({
providedIn: 'root'
})
export class SortService {
- constructor() { }
+ constructor(private ObjectService: ObjectService) { }
sortArrayISODate(myArray: any) {
if(myArray.length > 0){
@@ -14,6 +15,7 @@ export class SortService {
});
}
}
+
sortArrayByDate(myArray: any) {
console.log(myArray[0].taskStartDate);
if(myArray.length > 0){
@@ -22,4 +24,15 @@ export class SortService {
});
}
}
+
+ sortDate(array = [], path: string) {
+
+ return array.sort( (a,b)=> {
+
+ return new Date(this.ObjectService.deepFind(b, path)).getTime() -
+ new Date(this.ObjectService.deepFind(a, path)).getTime()
+
+ })
+
+ }
}
diff --git a/src/app/services/notifications.service.ts b/src/app/services/notifications.service.ts
index 50dab7589..d05b89b07 100644
--- a/src/app/services/notifications.service.ts
+++ b/src/app/services/notifications.service.ts
@@ -157,6 +157,12 @@ export class NotificationsService {
PushNotifications.addListener('pushNotificationActionPerformed',
(notification: ActionPerformed) => {
console.log('Push action performed: ' + JSON.stringify(notification));
+ /* this.DataArray.push(notification.notification)
+ console.log("On ReceiveNotification", this.DataArray)
+ this.storageService.store("Notifications", this.DataArray)
+ this.eventtrigger.publishSomeData({
+ notification: "recive"
+ }) */
this.notificatinsRoutes(notification)
}
);
diff --git a/src/app/services/publications.service.ts b/src/app/services/publications.service.ts
index 3d14a1344..e381adad9 100644
--- a/src/app/services/publications.service.ts
+++ b/src/app/services/publications.service.ts
@@ -1,4 +1,4 @@
-import { Injectable } from '@angular/core';
+import { Injectable, OnInit } from '@angular/core';
import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';
import { environment } from 'src/environments/environment';
import { AuthService } from '../services/auth.service';
@@ -6,20 +6,27 @@ import { LoginUserRespose } from '../models/user.model';
import { Observable, throwError } from 'rxjs';
import { catchError } from 'rxjs/operators'
import { Publication } from '../models/publication';
+import { getUrl } from 'ionicons/dist/types/components/icon/utils';
+import { ActivatedRoute, Router } from '@angular/router';
@Injectable({
providedIn: 'root'
})
-export class PublicationsService {
+export class PublicationsService {
+
+
authheader = {};
loggeduser: LoginUserRespose;
headers: HttpHeaders;
- constructor(private http: HttpClient, user: AuthService) {
+ constructor(private http: HttpClient, user: AuthService,
+ private activatedRoute: ActivatedRoute,
+ private router: Router) {
this.loggeduser = user.ValidatedUser;
this.headers = new HttpHeaders();
this.headers = this.headers.set('Authorization', this.loggeduser.BasicAuthKey);
+
}
GetPublicationFolderList(){
@@ -77,6 +84,20 @@ export class PublicationsService {
return this.http.delete(`${geturl}`, options);
}
+ GetPublicationsImages(folder:any) {
+ const geturl = environment.apiURL + 'presidentialActions/'+ folder +'/posts/ids';
+ let params = new HttpParams();
+
+ params = params.set("folderId", folder);
+
+ let options = {
+ headers: this.headers,
+ params: params
+ };
+ return this.http.get(`${geturl}`, options)
+
+ }
+
GetPublications(id:any){
const geturl = environment.apiURL + 'presidentialActions/'+ id +'/posts';
let params = new HttpParams();
@@ -90,19 +111,88 @@ export class PublicationsService {
return this.http.get(`${geturl}`, options)
}
+ // this one too,goes to observable as a first api call
+ GetIdsPublicationsImages(id:any) {
+ const geturl = environment.apiURL + 'presidentialActions/'+ id +'/posts/ids';
+ let params = new HttpParams();
+
+ params = params.set("folderId", id);
+
+ let options = {
+ headers: this.headers,
+ params: params
+ };
+ return this.http.get(`${geturl}`, options)
+ }
+
+
GetPublicationById( publicationId:any){
const geturl = environment.apiURL + 'presidentialActions/posts/'+ publicationId;
let params = new HttpParams();
- /* params = params.set("id", publicationId); */
+ params = params.set("id", publicationId);
let options = {
headers: this.headers,
- /* params: params */
+ params: params
};
return this.http.get(`${geturl}`, options);
}
+// my own tries
+
+GetPublicationByIdNext( publicationId:any){
+ let geturl = environment.apiURL + 'presidentialActions/'+ publicationId + '/posts/ids';
+ let params = new HttpParams();
+
+ params = params.set("folderId", publicationId);
+
+ let options = {
+ headers: this.headers,
+ /* params: params */
+ };
+
+ const imageLoads = !!(+localStorage.getItem('loadedimage'))
+ if(imageLoads){
+ return true
+ }else{
+ const navigation = this.router.getCurrentNavigation()
+ console.log('nav:', navigation)
+
+ if(navigation){
+ geturl = navigation.extractedUrl.toString()
+ }
+
+ this.router.navigate([URL], {queryParams: {returnto: geturl}})
+
+ }
+}
+
+GetIdsPublicationNext(id:any){
+ let geturl = environment.apiURL + 'presidentialActions/posts/' + id;
+ let params = new HttpParams();
+
+ params = params.set("id", id);
+
+ let options = {
+ headers: this.headers,
+ params: params
+ };
+
+ var search = this.http.get(`${geturl}`, options).subscribe(
+ res => {
+ res.this.activatedRoute.snapshot.queryParams.get('returnto') || '/posts'
+
+ }
+
+ )
+
+ return search
+
+}
+
+//my last tries
+
CreatePublication(folderId:any,body:any){
const geturl = environment.apiURL + 'presidentialActions/'+folderId+'/posts';
let params = new HttpParams();
diff --git a/src/app/services/sqlite.service.ts b/src/app/services/sqlite.service.ts
index c7ef44e7a..ce1bd7a58 100644
--- a/src/app/services/sqlite.service.ts
+++ b/src/app/services/sqlite.service.ts
@@ -207,15 +207,18 @@ export class SqliteService {
//updateActions
public updateactions(id, data) {
- console.log("update action data", data)
- this.dbInstance.executeSql(`
- UPDATE ${this.actions} SET publications = ? WHERE ProcessId = ${id}`, [data])
- .then(() => {
- console.log("action update with Success");
+ try {
+ console.log("update action data", data)
+ this.dbInstance.executeSql(`
+ UPDATE ${this.actions} SET publications = ? WHERE ProcessId = ${id}`, [data])
+ .then(() => {
+ console.log("action update with Success");
+
+ }, (e) => {
+ console.log(JSON.stringify(e.err));
+ });
+ } catch(error) {}
- }, (e) => {
- console.log(JSON.stringify(e.err));
- });
}
@@ -512,4 +515,10 @@ export class SqliteService {
console.log(" Get events by id error", JSON.stringify(e));
});
}
+
+ deleteEventTable() {
+ this.dbInstance.executeSql("delete from "+ this.events).then((res) => {
+ console.log('DELETE EVENT TABLE RESULT ', res)
+ });
+ }
}
diff --git a/src/app/services/toast.service.ts b/src/app/services/toast.service.ts
index db279af79..60fbde25a 100644
--- a/src/app/services/toast.service.ts
+++ b/src/app/services/toast.service.ts
@@ -24,6 +24,73 @@ export class ToastService {
toast.present();
}
+
+ async _successMessage(message?: any, callback?) {
+
+ let notification = document.createElement('div')
+ notification.className = 'notification'
+ notification.innerHTML = `
+
+
@@ -138,6 +138,7 @@
-->
+
diff --git a/src/app/pages/chat/messages/messages.page.ts b/src/app/pages/chat/messages/messages.page.ts
index aac84926d..971268b39 100644
--- a/src/app/pages/chat/messages/messages.page.ts
+++ b/src/app/pages/chat/messages/messages.page.ts
@@ -1,6 +1,6 @@
-import { AfterViewChecked, AfterViewInit, Component, ElementRef, OnDestroy, OnInit, ViewChild } from '@angular/core';
+import { AfterViewChecked, AfterViewInit, ChangeDetectorRef, Component, ElementRef, OnDestroy, OnInit, ViewChild } from '@angular/core';
import {ActivatedRoute, Router} from '@angular/router'
-import { GestureController, Gesture, ModalController, NavParams, PopoverController } from '@ionic/angular';
+import { GestureController, Gesture, ModalController, NavParams, PopoverController, IonSlides } from '@ionic/angular';
import { map } from 'rxjs/operators';
import { ViewDocumentPage } from 'src/app/modals/view-document/view-document.page';
import { EventPerson } from 'src/app/models/eventperson.model';
@@ -23,6 +23,11 @@ import { ThemeService } from 'src/app/services/theme.service'
import { Filesystem, Directory, Encoding } from '@capacitor/filesystem';
import { VoiceRecorder, VoiceRecorderPlugin, RecordingData, GenericResponse, CurrentRecordingStatus } from 'capacitor-voice-recorder';
import { Haptics, ImpactStyle } from '@capacitor/haptics';
+import { PreviewCameraPage } from 'src/app/modals/preview-camera/preview-camera.page';
+// import { SocialSharing } from '@ionic-native/social-sharing/ngx';
+//import { Share } from '@capacitor/share';
+
+const IMAGE_DIR = 'stored-images';
@Component({
selector: 'app-messages',
@@ -36,8 +41,9 @@ export class MessagesPage implements OnInit, AfterViewInit, OnDestroy {
/* @ViewChild('messageContainer') messageContainer: ElementRef; */
@ViewChild('rectangle') private rectangle: ElementRef;
+ canvas: any
+ ctx: any
loggedUser: any;
-
message = '';
messages:any;
userPresence='';
@@ -83,7 +89,9 @@ export class MessagesPage implements OnInit, AfterViewInit, OnDestroy {
private fileService: FileService,
private gestureController: GestureController,
private processes: ProcessesService,
- public ThemeService: ThemeService
+ public ThemeService: ThemeService,
+ private changeDetectorRef: ChangeDetectorRef,
+ // private socialSharing: SocialSharing
) {
this.loggedUser = authService.ValidatedUserChat['data'];
this.roomId = this.navParams.get('roomId');
@@ -101,6 +109,11 @@ export class MessagesPage implements OnInit, AfterViewInit, OnDestroy {
this.loadFiles();
VoiceRecorder.requestAudioRecordingPermission();
+ Filesystem.mkdir({
+ path: IMAGE_DIR,
+ directory: Directory.Data,
+ recursive: true
+ });
}
ngAfterViewInit() {
@@ -583,8 +596,95 @@ export class MessagesPage implements OnInit, AfterViewInit, OnDestroy {
});
}
- openPreview(){
+
+ sliderOpts = {
+ zoom: false,
+ slidesPerView: 1.5,
+ spaceBetween: 20,
+ centeredSlides: true
+ };
+ zoomActive = false;
+zoomScale = 1;
+
+sliderZoomOpts = {
+ allowSlidePrev: false,
+ allowSlideNext: false,
+ zoom: {
+ maxRatio: 5
+ },
+ on: {
+ zoomChange: (scale, imageEl, slideEl) => {
+ this.zoomActive = true;
+ this.zoomScale = scale/5;
+ this.changeDetectorRef.detectChanges();
+ }
+ }
+}
+
+async touchEnd(zoomslides: IonSlides, card) {
+ // Zoom back to normal
+ const slider = await zoomslides.getSwiper();
+ const zoom = slider.zoom;
+ zoom.out();
+
+ // Card back to normal
+ card.el.style['z-index'] = 9;
+
+ this.zoomActive = false;
+ this.changeDetectorRef.detectChanges();
+}
+
+touchStart(card) {
+ // Make card appear above backdrop
+ card.el.style['z-index'] = 11;
+}
+
+
+ async openPreview(msg) {
+ const modal = await this.modalController.create({
+ component: PreviewCameraPage,
+ cssClass: 'transparent-modal',
+ componentProps: {
+ image: msg.attachments[0].image_url,
+ username: msg.u.username,
+ _updatedAt: msg._updatedAt,
+ }
+
+
+ });
+ modal.present();
+ }
+
+
+ imageSize(img){
+ var canvas = document.createElement('canvas');
+ var ctx = canvas.getContext('2d');
+ canvas.width=300
+ canvas.height=234
+ ctx.drawImage(img.attachments[0].image_url, 0, 0, 300, 234);
+ document.body.appendChild(canvas);
+}
+
+getPicture(img){
+ var canvas = document.createElement('canvas');
+ var ctx = canvas.getContext('2d');
+ canvas.width=300
+ canvas.height=234
+ ctx.drawImage(img.attachments[0].image_url, 0, 0, 300, 234);
+ document.body.appendChild(canvas);
}
+ // async ShareEmail(msg){
+ // // Check if sharing via email is supported
+ // await Share.share({
+ // title: msg.u.username,
+ // text: msg._updatedAt,
+ // url: msg.attachments[0].image_url,
+ // dialogTitle: 'Share with buddies',
+ // });
+ // }
}
+
+
+
diff --git a/src/app/pages/events/events.page.html b/src/app/pages/events/events.page.html
index 7ad906034..9792c8a6c 100644
--- a/src/app/pages/events/events.page.html
+++ b/src/app/pages/events/events.page.html
@@ -1,8 +1,8 @@
-
+
-
+
diff --git a/src/app/pages/events/events.page.scss b/src/app/pages/events/events.page.scss
index 3080ac852..0a534d223 100644
--- a/src/app/pages/events/events.page.scss
+++ b/src/app/pages/events/events.page.scss
@@ -275,6 +275,7 @@ ion-toolbar{
// new
.main{
padding: 0px em(20px);
+ background: linear-gradient(270deg, var(--color2) 100%, var(--color3) 100%, var(--color4) 100%, var(--color5) 100%) !important;
}
.event-number{
@@ -402,8 +403,8 @@ ion-toolbar{
display: flex;
justify-content: space-between;
align-items: center;
- background-color: transparent !important;
- --background: transparent !important;
+ background-color: transparent;
+ --background: transparent;
.schedule-time{
margin-right: 10px;
.time-start{
diff --git a/src/app/pages/events/events.page.ts b/src/app/pages/events/events.page.ts
index 709122a83..e9a4177b0 100644
--- a/src/app/pages/events/events.page.ts
+++ b/src/app/pages/events/events.page.ts
@@ -318,6 +318,36 @@ export class EventsPage implements OnInit {
if (list.length > 0) {
list.forEach(element => {
this.sqliteservice.addEvent(element)
+
+ this.sqliteservice.getAllEvents().then((event: any[]) => {
+ let todayEvents = new Array()
+ event.forEach((element) => {
+ let eventObject = {
+ AppointmentState: element.AppointmentState,
+ Attachments: element.Attachments,
+ Attendees: element.Attendees,
+ CalendarId: element.CalendarId,
+ CalendarName: element.CalendarName,
+ Category: element.Category,
+ EndDate: element.EndDate,
+ EventId: element.EventId,
+ EventRecurrence: element.EventRecurrence,
+ EventType: element.EventType,
+ HasAttachments: element.HasAttachments,
+ HumanDate: element.HumanDate,
+ IsAllDayEvent: element.IsAllDayEvent,
+ IsMeeting: element.IsMeeting,
+ IsRecurring: element.IsRecurring,
+ Location: element.Location,
+ Organizer: element.Organizer,
+ Profile: element.Profile,
+ StartDate: element.StartDate,
+ Subject: element.Subject
+ }
+ todayEvents.push(eventObject);
+ })
+ console.log('JIFJSOSDJSDONS',todayEvents)
+ })
});
}
}
diff --git a/src/app/pages/gabinete-digital/despachos-pr/despacho-pr/despacho-pr.page.html b/src/app/pages/gabinete-digital/despachos-pr/despacho-pr/despacho-pr.page.html
index 3df1fa9ac..d0b92ddcb 100644
--- a/src/app/pages/gabinete-digital/despachos-pr/despacho-pr/despacho-pr.page.html
+++ b/src/app/pages/gabinete-digital/despachos-pr/despacho-pr/despacho-pr.page.html
@@ -1,4 +1,4 @@
-
+
diff --git a/src/app/pages/gabinete-digital/despachos-pr/despacho-pr/despacho-pr.page.ts b/src/app/pages/gabinete-digital/despachos-pr/despacho-pr/despacho-pr.page.ts
index e80b51e2b..d295e2e60 100644
--- a/src/app/pages/gabinete-digital/despachos-pr/despacho-pr/despacho-pr.page.ts
+++ b/src/app/pages/gabinete-digital/despachos-pr/despacho-pr/despacho-pr.page.ts
@@ -157,7 +157,7 @@ export class DespachoPrPage implements OnInit {
} catch (e) {
window.history.back();
}
- this.toastService.badRequest('Processo não encontrado')
+ this.toastService._badRequest('Processo não encontrado')
}
});
@@ -272,9 +272,9 @@ export class DespachoPrPage implements OnInit {
try {
await this.processes.CompleteTask(body).toPromise()
this.close();
- this.toastService.successMessage()
+ this.toastService._successMessage()
} catch (error) {
- this.toastService.badRequest()
+ this.toastService._badRequest()
}
finally {
loader.remove()
@@ -297,10 +297,10 @@ export class DespachoPrPage implements OnInit {
try {
await this.processes.CompleteTask(body).toPromise()
- this.toastService.successMessage('Processo arquivado')
+ this.toastService._successMessage('Processo arquivado')
this.close();
} catch (error) {
- this.toastService.badRequest('Processo não arquivado')
+ this.toastService._badRequest('Processo não arquivado')
}
finally {
loader.remove()
@@ -320,10 +320,10 @@ export class DespachoPrPage implements OnInit {
documents
}).toPromise()
- this.toastService.successMessage('Processo criado')
+ this.toastService._successMessage('Processo criado')
this.close();
} catch (error) {
- this.toastService.badRequest('Processo não criado')
+ this.toastService._badRequest('Processo não criado')
}
finally {
loader.remove()
@@ -346,10 +346,10 @@ export class DespachoPrPage implements OnInit {
try {
await this.processes.CompleteTask(body).toPromise()
- this.toastService.successMessage('')
+ this.toastService._successMessage('')
this.close();
} catch (error) {
- this.toastService.badRequest()
+ this.toastService._badRequest()
}
finally {
loader.remove()
@@ -373,10 +373,10 @@ export class DespachoPrPage implements OnInit {
try {
await this.processes.CompleteTask(body).toPromise()
- this.toastService.successMessage()
+ this.toastService._successMessage()
this.close();
} catch (error) {
- this.toastService.badRequest()
+ this.toastService._badRequest()
}
finally {
loader.remove()
@@ -391,11 +391,11 @@ export class DespachoPrPage implements OnInit {
sendExpedienteToPending() {
this.processes.SetTaskToPending(this.serialNumber).subscribe(res => {
this.popoverController.dismiss('close')
- this.toastService.successMessage('Processo enviado para pendentes')
+ this.toastService._successMessage('Processo enviado para pendentes')
this.goBack()
}, () => {
- this.toastService.badRequest('Processo não encontrado')
+ this.toastService._badRequest('Processo não encontrado')
});
}
@@ -448,6 +448,7 @@ export class DespachoPrPage implements OnInit {
else if (actionName == 'Reexecução') {
await this.reexecutar(res.data.note, docs);
}
+
this.goBack();
}
});
@@ -535,7 +536,15 @@ export class DespachoPrPage implements OnInit {
backdropDismiss: false
});
await modal.present();
- modal.onDidDismiss();
+ modal.onDidDismiss().then(res => {
+ if(res){
+ const data = res.data;
+ if(data == 'close') {
+ this.goBack();
+ }
+ }
+
+ });
}
async distartExpedientModal() {
diff --git a/src/app/pages/gabinete-digital/despachos-pr/despachos-pr.page.ts b/src/app/pages/gabinete-digital/despachos-pr/despachos-pr.page.ts
index 80fa3d4be..a237e0c7e 100644
--- a/src/app/pages/gabinete-digital/despachos-pr/despachos-pr.page.ts
+++ b/src/app/pages/gabinete-digital/despachos-pr/despachos-pr.page.ts
@@ -157,8 +157,9 @@ export class DespachosPrPage implements OnInit {
}
this.despachoList.push(task);
- console.log(this.despachoList);
});
+
+ this.despachoList = this.sortService.sortDate(this.despachoList, 'CreateDate')
this.listToPresent = this.despachoList
}, (error) => {
diff --git a/src/app/pages/gabinete-digital/diplomas-assinar/diploma-assinar/diploma-assinar.page.ts b/src/app/pages/gabinete-digital/diplomas-assinar/diploma-assinar/diploma-assinar.page.ts
index 270c49bca..e4eb59fc6 100644
--- a/src/app/pages/gabinete-digital/diplomas-assinar/diploma-assinar/diploma-assinar.page.ts
+++ b/src/app/pages/gabinete-digital/diplomas-assinar/diploma-assinar/diploma-assinar.page.ts
@@ -117,15 +117,15 @@ export class DiplomaAssinarPage implements OnInit {
}, (error)=>{
try {
- this.toastService.badRequest('Processo não encontrado')
+ this.toastService._badRequest('Processo não encontrado')
this.goBack()
} catch (e) {
window.history.back();
} finally {
if(error.status == 0) {
- this.toastService.badRequest('Não é possÃvel visualizar este processo no modo offline')
+ this.toastService._badRequest('Não é possÃvel visualizar este processo no modo offline')
} else {
- this.toastService.badRequest('Processo não encontrado')
+ this.toastService._badRequest('Processo não encontrado')
}
}
});
@@ -179,11 +179,11 @@ export class DiplomaAssinarPage implements OnInit {
try {
await this.processes.CompleteTask(body).toPromise()
- this.toastService.successMessage(false, ()=>{
+ this.toastService._successMessage(false, ()=>{
this.goBack();
})
} catch (error) {
- this.toastService.badRequest()
+ this.toastService._badRequest()
}
finally {
loader.remove()
diff --git a/src/app/pages/gabinete-digital/diplomas-assinar/diplomas-assinar.page.ts b/src/app/pages/gabinete-digital/diplomas-assinar/diplomas-assinar.page.ts
index e9cfdf5ca..564ea7b51 100644
--- a/src/app/pages/gabinete-digital/diplomas-assinar/diplomas-assinar.page.ts
+++ b/src/app/pages/gabinete-digital/diplomas-assinar/diplomas-assinar.page.ts
@@ -80,13 +80,14 @@ export class DiplomasAssinarPage implements OnInit {
let diplomas = await this.processes.GetTasksList("Despacho do Presidente da República", false).toPromise();
this.diplomasList = [];
- let diplomasAssinar = diplomas.reverse().filter(data => data.activityInstanceName == "Assinar Diploma");
- diplomasAssinar = this.sortService.sortArrayISODate(diplomasAssinar);
+ let diplomasAssinar = diplomas.filter(data => data.activityInstanceName == "Assinar Diploma");
diplomasAssinar.forEach(element => {
let task: customTask = this.customTaskPipe.transform(element)
this.diplomasList.push(task);
});
+ this.diplomasList = this.sortService.sortDate(this.diplomasList, 'CreateDate')
+
this.skeletonLoader = false
this.showLoader = false;
diff --git a/src/app/pages/gabinete-digital/diplomas/diploma/diploma.page.ts b/src/app/pages/gabinete-digital/diplomas/diploma/diploma.page.ts
index 54c9862f8..914df88d3 100644
--- a/src/app/pages/gabinete-digital/diplomas/diploma/diploma.page.ts
+++ b/src/app/pages/gabinete-digital/diplomas/diploma/diploma.page.ts
@@ -163,7 +163,7 @@ export class DiplomaPage implements OnInit {
} catch (e) {
window.history.back();
}
- this.toastService.badRequest('Processo não encontrado')
+ this.toastService._badRequest('Processo não encontrado')
}
});
@@ -282,12 +282,12 @@ export class DiplomaPage implements OnInit {
try {
await this.processes.CompleteTask(body).toPromise()
- this.toastService.successMessage(false, () => {
+ this.toastService._successMessage(false, () => {
this.close();
})
} catch (error) {
- this.toastService.badRequest()
+ this.toastService._badRequest()
}
finally {
loader.remove()
@@ -308,9 +308,9 @@ export class DiplomaPage implements OnInit {
const loader = this.toastService.loading()
try {
await this.processes.CompleteTask(body).toPromise()
- this.toastService.successMessage()
+ this.toastService._successMessage()
} catch (error) {
- this.toastService.badRequest()
+ this.toastService._badRequest()
}
finally {
loader.remove()
@@ -334,9 +334,9 @@ export class DiplomaPage implements OnInit {
try {
await this.processes.CompleteTask(body).toPromise();
- this.toastService.successMessage('Processo concluÃdo')
+ this.toastService._successMessage('Processo concluÃdo')
} catch (error) {
- this.toastService.badRequest()
+ this.toastService._badRequest()
}
finally {
loader.remove()
diff --git a/src/app/pages/gabinete-digital/diplomas/diplomas.page.html b/src/app/pages/gabinete-digital/diplomas/diplomas.page.html
index b5b84d976..2fb25a676 100644
--- a/src/app/pages/gabinete-digital/diplomas/diplomas.page.html
+++ b/src/app/pages/gabinete-digital/diplomas/diplomas.page.html
@@ -16,10 +16,10 @@
- Por validar
+ Por validar ...
- Assinados PR
+ Assinados PR ...
diff --git a/src/app/pages/gabinete-digital/diplomas/diplomas.page.ts b/src/app/pages/gabinete-digital/diplomas/diplomas.page.ts
index 49a5df6e8..5f49173e7 100644
--- a/src/app/pages/gabinete-digital/diplomas/diplomas.page.ts
+++ b/src/app/pages/gabinete-digital/diplomas/diplomas.page.ts
@@ -182,7 +182,6 @@ export class DiplomasPage implements OnInit, OnDestroy {
this.skeletonLoader = false
this.showLoader = false;
-
let diplomasValidar = diplomas.filter(data => data.activityInstanceName == "Revisar Diploma");
let diplomasList = [];
diplomasValidar.forEach(async element => {
@@ -191,18 +190,19 @@ export class DiplomasPage implements OnInit, OnDestroy {
diplomasList.push(task);
});
- this.diplomasList = this.sortService.sortArrayISODate(diplomasList.reverse());
+
+ this.diplomasList = this.sortService.sortDate(diplomasList, 'CreateDate');
+ let diplomasAssinados = diplomas.filter(data => data.activityInstanceName == "Diploma Assinado");
+ let diplomasAssinadoList = [];
- let diplomasAssinados = diplomas.reverse().filter(data => data.activityInstanceName == "Diploma Assinado");
- let diplomasAssinadoList = []
diplomasAssinados.forEach(async element => {
let task = this.pipeTask(element);
diplomasAssinadoList.push(task);
});
- console.log('diplomasAssinados', diplomasAssinados)
- this.diplomasAssinadoList = this.sortService.sortArrayISODate(diplomasAssinadoList).reverse();
+
+ this.diplomasAssinadoList = this.sortService.sortDate(diplomasAssinadoList, 'CreateDate')
}, (error) => {
this.getFromDb()
@@ -220,21 +220,21 @@ export class DiplomasPage implements OnInit, OnDestroy {
let task = this.pipeTaskOffline(element)
diplomasList.push(task);
+ });
- });
- console.log(diplomasList);
+ console.log(diplomasList);
+ this.diplomasList = this.sortService.sortDate(diplomasList, 'taskStartDate');
- this.diplomasList = this.sortService.sortArrayISODate(diplomasList).reverse();
-
- let diplomasAssinados = process.reverse().filter(data => data.activityInstanceName == "Diploma Assinado");
+ let diplomasAssinados = process.filter(data => data.activityInstanceName == "Diploma Assinado");
let diplomasAssinadoList = []
diplomasAssinados.forEach(async element => {
- let task = this.pipeTaskOffline(element)
- diplomasAssinadoList.push(task);
- });
- console.log('diplomasAssinados', diplomasAssinados)
- this.diplomasAssinadoList = this.sortService.sortArrayISODate(diplomasAssinadoList).reverse();
+ let task = this.pipeTaskOffline(element)
+ diplomasAssinadoList.push(task);
+ });
+
+ console.log('diplomasAssinados', diplomasAssinados)
+ this.diplomasAssinadoList = this.sortService.sortDate(diplomasAssinadoList, 'taskStartDate')
})
}
diff --git a/src/app/pages/gabinete-digital/event-list/approve-event-modal/approve-event-modal.page.ts b/src/app/pages/gabinete-digital/event-list/approve-event-modal/approve-event-modal.page.ts
index 3dc0df31b..3318f254c 100644
--- a/src/app/pages/gabinete-digital/event-list/approve-event-modal/approve-event-modal.page.ts
+++ b/src/app/pages/gabinete-digital/event-list/approve-event-modal/approve-event-modal.page.ts
@@ -110,13 +110,13 @@ export class ApproveEventModalPage implements OnInit {
try {
await this.processes.PostTaskAction(body).toPromise()
- this.toastService.successMessage('Evento aprovado', ()=>{
+ this.toastService._successMessage('Evento aprovado', ()=>{
this.router.navigate(['/home/gabinete-digital/event-list']);
this.modalController.dismiss(null);
})
} catch (error) {
- this.toastService.badRequest('Evento não aprovado')
+ this.toastService._badRequest('Evento não aprovado')
}
finally {
loader.remove()
@@ -141,11 +141,11 @@ export class ApproveEventModalPage implements OnInit {
try {
await this.processes.PostTaskAction(body).toPromise()
- this.toastService.successMessage('Evento rejeitado', () =>{
+ this.toastService._successMessage('Evento rejeitado', () =>{
this.router.navigate(['/home/gabinete-digital/event-list']);
})
} catch (error) {
- this.toastService.badRequest('Evento não rejeitado')
+ this.toastService._badRequest('Evento não rejeitado')
}
finally {
loader.remove()
diff --git a/src/app/pages/gabinete-digital/event-list/approve-event/approve-event.page.ts b/src/app/pages/gabinete-digital/event-list/approve-event/approve-event.page.ts
index eb15015f1..6ed90e273 100644
--- a/src/app/pages/gabinete-digital/event-list/approve-event/approve-event.page.ts
+++ b/src/app/pages/gabinete-digital/event-list/approve-event/approve-event.page.ts
@@ -17,6 +17,7 @@ import { SqliteService } from '../../../../services/sqlite.service';
import { BackgroundService } from '../../../../services/background.service';
import { Platform } from '@ionic/angular';
import { ThemeService } from 'src/app/services/theme.service'
+import { OfflineManagerService } from 'src/app/services/offline-manager.service';
@Component({
@@ -62,6 +63,7 @@ export class ApproveEventPage implements OnInit {
private platform: Platform,
private backgroundservice: BackgroundService,
public ThemeService: ThemeService,
+ private offlineManager: OfflineManagerService
) {
this.activatedRoute.paramMap.subscribe(params => {
// console.log(params["params"]);
@@ -203,11 +205,11 @@ export class ApproveEventPage implements OnInit {
try {
await this.processes.PostTaskAction(body).toPromise()
- this.toastService.successMessage();
+ this.toastService._successMessage();
this.goBack();
} catch (error) {
- this.toastService.badRequest()
+ this.toastService._badRequest()
}
finally {
loader.remove()
@@ -255,11 +257,15 @@ export class ApproveEventPage implements OnInit {
const loader = this.toastService.loading()
try {
- await this.processes.PostTaskAction(body).toPromise();
- this.toastService.successMessage('Pedido enviado');
+ await this.processes.PostTaskAction(body).toPromise()
+ .catch(() => {
+ console.log('Send event to approve for revition')
+ this.offlineManager.storeRequestData('event-listRever', body);
+ });
+ this.toastService._successMessage('Pedido enviado');
this.goBack();
} catch (error) {
- this.toastService.badRequest();
+ this.toastService._badRequest();
} finally {
loader.remove()
}
@@ -280,10 +286,10 @@ export class ApproveEventPage implements OnInit {
const loader = this.toastService.loading()
try {
await this.processes.PostTaskAction(body).toPromise();
- await this.toastService.successMessage('Processo rejeitado');
+ await this.toastService._successMessage('Processo rejeitado');
this.goBack();
} catch (error) {
- this.toastService.badRequest()
+ this.toastService._badRequest()
}
finally {
loader.remove()
@@ -358,10 +364,10 @@ export class ApproveEventPage implements OnInit {
try {
await this.processes.PostTaskAction(body).toPromise();
- this.toastService.successMessage();
+ this.toastService._successMessage();
this.goBack();
} catch (error) {
- this.toastService.badRequest();
+ this.toastService._badRequest();
} finally {
loader.remove()
}
diff --git a/src/app/pages/gabinete-digital/event-list/event-list.page.ts b/src/app/pages/gabinete-digital/event-list/event-list.page.ts
index 444e0e291..aa7a02372 100644
--- a/src/app/pages/gabinete-digital/event-list/event-list.page.ts
+++ b/src/app/pages/gabinete-digital/event-list/event-list.page.ts
@@ -84,14 +84,13 @@ export class EventListPage implements OnInit {
this.platform.ready().then(() => {
this.sqliteservice.getListOfEventAprove('Agenda Oficial MDGPR', 'Agenda Pessoal MDGPR').then((event: any[]) => {
- this.eventsMDGPRList = this.sortService.sortArrayByDate(event).reverse()
+ this.eventsMDGPRList = this.sortService.sortDate(event, 'taskStartDate')
- console.log("All evento to aprove from db ", event)
})
this.sqliteservice.getListOfEventAprove('Agenda Oficial PR', 'Agenda Pessoal PR').then((event: any[]) => {
- this.eventsPRList = this.sortService.sortArrayByDate(event).reverse()
- console.log("All evento to aprove from db ", event)
+ this.eventsPRList = this.sortService.sortDate(event, 'taskStartDate')
+
})
})
console.log('Offlineee')
@@ -111,14 +110,14 @@ export class EventListPage implements OnInit {
let mdEventsOficial = await this.processes.GetTasksList('Agenda Oficial MDGPR', false).toPromise();
let mdEventsPessoal = await this.processes.GetTasksList('Agenda Pessoal MDGPR', false).toPromise();
this.eventsMDGPRList = mdEventsOficial.concat(mdEventsPessoal);
- this.eventsMDGPRList = this.sortService.sortArrayByDate(this.eventsMDGPRList).reverse()
+ this.eventsMDGPRList = this.sortService.sortDate(this.eventsMDGPRList, 'taskStartDate')
this.eventaprovacaostore.resetmd(this.sortService.sortArrayByDate(this.eventsMDGPRList).reverse());
}
else if (this.segment == 'PR') {
let prEventsOficial = await this.processes.GetTasksList('Agenda Oficial PR', false).toPromise();
let prEventsPessoal = await this.processes.GetTasksList('Agenda Pessoal PR', false).toPromise();
this.eventsPRList = prEventsOficial.concat(prEventsPessoal);
- this.eventsPRList = this.sortService.sortArrayByDate(this.eventsPRList).reverse();
+ this.eventsPRList = this.sortService.sortDate(this.eventsPRList, 'taskStartDate')
this.eventaprovacaostore.resetpr(this.sortService.sortArrayByDate(this.eventsPRList).reverse());
}
this.showLoader = false;
diff --git a/src/app/pages/gabinete-digital/expediente/book-meeting-modal/book-meeting-modal.page.ts b/src/app/pages/gabinete-digital/expediente/book-meeting-modal/book-meeting-modal.page.ts
index 7411339b3..060b0afb9 100644
--- a/src/app/pages/gabinete-digital/expediente/book-meeting-modal/book-meeting-modal.page.ts
+++ b/src/app/pages/gabinete-digital/expediente/book-meeting-modal/book-meeting-modal.page.ts
@@ -275,10 +275,10 @@ export class BookMeetingModalPage implements OnInit {
this.modalController.dismiss();
// this.distartExpedientModal();
- this.toastService.successMessage('Reunião criada');
+ this.toastService._successMessage('Reunião criada');
} catch (error) {
- this.toastService.badRequest('Reunião não criada')
+ this.toastService._badRequest('Reunião não criada')
}
finally {
loader.remove()
@@ -300,10 +300,10 @@ export class BookMeetingModalPage implements OnInit {
break;
}
this.close();
- this.toastService.successMessage('Reunião criada');
+ this.toastService._successMessage('Reunião criada');
} catch (error) {
- this.toastService.badRequest()
+ this.toastService._badRequest()
} finally {
loader.remove()
}
diff --git a/src/app/pages/gabinete-digital/expediente/expedient-task-modal/expedient-task-modal.page.ts b/src/app/pages/gabinete-digital/expediente/expedient-task-modal/expedient-task-modal.page.ts
index 66a2f128e..6b2a10354 100644
--- a/src/app/pages/gabinete-digital/expediente/expedient-task-modal/expedient-task-modal.page.ts
+++ b/src/app/pages/gabinete-digital/expediente/expedient-task-modal/expedient-task-modal.page.ts
@@ -328,11 +328,11 @@ export class ExpedientTaskModalPage implements OnInit {
try {
this.taskResult = await this.processes.postDespatcho(this.postData).toPromise();
- await this.toastService.successMessage('Processo efetuado');
+ await this.toastService._successMessage('Processo efetuado');
this.modalController.dismiss(action_despacho);
} catch (error) {
- await this.toastService.badRequest('Processo não efetuado')
+ await this.toastService._badRequest('Processo não efetuado')
} finally {
loader.remove()
}
@@ -362,11 +362,11 @@ export class ExpedientTaskModalPage implements OnInit {
try {
this.taskResult = await this.processes.postParecer(this.postData).toPromise();
- await this.toastService.successMessage('Pedido enviado');
+ await this.toastService._successMessage('Pedido enviado');
this.modalController.dismiss(action_parecer);
} catch (error) {
- await this.toastService.badRequest('Processo não efetuado')
+ await this.toastService._badRequest('Processo não efetuado')
} finally {
loader.remove()
}
@@ -394,10 +394,10 @@ export class ExpedientTaskModalPage implements OnInit {
try {
this.taskResult = await this.processes.postDeferimento(this.postData).toPromise();
- this.toastService.successMessage('Processo efetuado');
+ this.toastService._successMessage('Processo efetuado');
this.modalController.dismiss(action_deferimento);
} catch (error) {
- await this.toastService.badRequest('Processo não efetuado')
+ await this.toastService._badRequest('Processo não efetuado')
} finally {
loader.remove()
}
@@ -436,18 +436,18 @@ export class ExpedientTaskModalPage implements OnInit {
if(this.postData.DispatchFolder.Message){
try {
this.taskResult = await this.despachoService.createDespacho(this.postData).toPromise();
- await this.toastService.successMessage('Processo efetuado');
+ await this.toastService._successMessage('Processo efetuado');
this.modalController.dismiss(action_despacho_pr);
} catch (error) {
- await this.toastService.badRequest('Processo não efetuado')
+ await this.toastService._badRequest('Processo não efetuado')
} finally {
//loader.remove()
}
}
else{
this.validateField = true;
- this.toastService.badRequest('Por favor adicione uma descrição');
+ this.toastService._badRequest('Por favor adicione uma descrição');
}
loader.remove();
break;
@@ -474,11 +474,11 @@ export class ExpedientTaskModalPage implements OnInit {
try {
this.taskResult = await this.processes.postParecerPr(this.postData).toPromise();
- await this.toastService.successMessage('Pedido enviado');
+ await this.toastService._successMessage('Pedido enviado');
this.modalController.dismiss(action_parecer_pr);
} catch (error) {
- await this.toastService.badRequest('Processo não efetuado')
+ await this.toastService._badRequest('Processo não efetuado')
} finally {
loader.remove()
}
diff --git a/src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page.html b/src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page.html
index 25b9444c2..a980387ca 100644
--- a/src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page.html
+++ b/src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page.html
@@ -111,7 +111,7 @@
-
+
{{customDate}}
-
+
diff --git a/src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page.ts b/src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page.ts
index 1307cae28..685853c82 100644
--- a/src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page.ts
+++ b/src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page.ts
@@ -171,9 +171,9 @@ export class ExpedienteDetailPage implements OnInit {
try {
await this.processes.CompleteTask(body).toPromise();
this.close();
- this.toastService.successMessage('Processo aprovado')
+ this.toastService._successMessage('Processo aprovado')
} catch (error) {
- this.toastService.badRequest('Processo não aprovado')
+ this.toastService._badRequest('Processo não aprovado')
} finally {
loader.remove()
}
@@ -196,9 +196,9 @@ export class ExpedienteDetailPage implements OnInit {
try {
await this.processes.CompleteTask(body).toPromise()
this.close();
- this.toastService.successMessage()
+ this.toastService._successMessage()
} catch (error) {
- this.toastService.badRequest()
+ this.toastService._badRequest()
} finally {
loader.remove()
}
@@ -293,11 +293,11 @@ export class ExpedienteDetailPage implements OnInit {
sendExpedienteToPending() {
this.processes.SetTaskToPending(this.serialNumber).subscribe(res => {
console.log(res);
- this.toastService.successMessage('Processo enviado para pendentes')
+ this.toastService._successMessage('Processo enviado para pendentes')
this.goBack();
},
(error) => {
- this.toastService.badRequest('Processo não enviado para pendentes')
+ this.toastService._badRequest('Processo não enviado para pendentes')
});
}
@@ -349,12 +349,12 @@ export class ExpedienteDetailPage implements OnInit {
this.getFromDB();
} else {
try {
- this.toastService.badRequest('Processo não encontrado')
+ this.toastService._badRequest('Processo não encontrado')
this.goBack()
} catch (e) {
window.history.back();
}
- this.toastService.badRequest('Processo não encontrado')
+ this.toastService._badRequest('Processo não encontrado')
}
});
@@ -441,9 +441,9 @@ export class ExpedienteDetailPage implements OnInit {
const loader = this.toastService.loading()
this.attachmentsService.AddAttachment(body).subscribe((res) => {
- this.toastService.successMessage()
+ this.toastService._successMessage()
}, () => {
- this.toastService.badRequest()
+ this.toastService._badRequest()
}, () => {
loader.remove()
});
@@ -479,7 +479,7 @@ export class ExpedienteDetailPage implements OnInit {
await this.processes.CompleteTask(body).toPromise();
this.goBack();
} catch (error) {
- this.toastService.badRequest('Processo não descartado')
+ this.toastService._badRequest('Processo não descartado')
} finally {
loader.remove()
}
@@ -510,10 +510,10 @@ export class ExpedienteDetailPage implements OnInit {
try {
await this.expedienteService.discard({ SerialNumber: this.task.SerialNumber }).toPromise()
- this.toastService.successMessage('Processo descartado');
+ this.toastService._successMessage('Processo descartado');
this.goBack();
} catch (error) {
- this.toastService.badRequest('Processo não descartado')
+ this.toastService._badRequest('Processo não descartado')
} finally {
loader.remove()
}
@@ -529,10 +529,10 @@ export class ExpedienteDetailPage implements OnInit {
const loader = this.toastService.loading()
try {
await this.expedienteService.CompleteTask(body).toPromise();
- //this.toastService.successMessage('Processo descartado');
+ //this.toastService._successMessage('Processo descartado');
this.goBack();
} catch (error) {
- this.toastService.badRequest('Processo não descartado')
+ this.toastService._badRequest('Processo não descartado')
} finally {
loader.remove()
}
@@ -543,10 +543,10 @@ export class ExpedienteDetailPage implements OnInit {
const loader = this.toastService.loading()
try {
await this.processes.UpdateTaskStatus(this.task.FolderId).toPromise();
- this.toastService.successMessage();
+ this.toastService._successMessage();
this.goBack();
} catch (error) {
- this.toastService.badRequest()
+ this.toastService._badRequest()
} finally {
loader.remove()
}
diff --git a/src/app/pages/gabinete-digital/expediente/expediente.page.ts b/src/app/pages/gabinete-digital/expediente/expediente.page.ts
index 3f165a4a1..fbb867aa7 100644
--- a/src/app/pages/gabinete-digital/expediente/expediente.page.ts
+++ b/src/app/pages/gabinete-digital/expediente/expediente.page.ts
@@ -8,7 +8,7 @@ import { SqliteService } from 'src/app/services/sqlite.service';
import { Platform } from '@ionic/angular';
import { BackgroundService } from '../../../services/background.service';
import { ThemeService } from 'src/app/services/theme.service'
-
+import { SortService } from 'src/app/services/functions/sort.service';
@Component({
selector: 'app-expediente',
@@ -38,7 +38,8 @@ export class ExpedientePage implements OnInit {
public platform: Platform,
private sqliteservice: SqliteService,
private backgroundservice: BackgroundService,
- public ThemeService: ThemeService
+ public ThemeService: ThemeService,
+ private sortService: SortService,
) { }
ngOnInit() {
@@ -70,7 +71,7 @@ export class ExpedientePage implements OnInit {
const result = res
this.taskslist = new Array();
- let ress = result.reverse().filter((data: any) => data.workflowInstanceDataFields.Status == "Active");
+ let ress = result.filter((data: any) => data.workflowInstanceDataFields.Status == "Active");
ress.forEach((element: any) => {
@@ -78,7 +79,7 @@ export class ExpedientePage implements OnInit {
this.taskslist.push(task);
this.addProcessTODb(task);
});
- this.listToPresent = this.taskslist
+ this.listToPresent = this.sortService.sortDate(this.taskslist, 'taskStartDate')
console.log('expediente list', this.listToPresent)
this.skeletonLoader = false;
diff --git a/src/app/pages/gabinete-digital/expedientes-pr/expediente-pr/expediente-pr.page.ts b/src/app/pages/gabinete-digital/expedientes-pr/expediente-pr/expediente-pr.page.ts
index bdf1e1646..a23d40c14 100644
--- a/src/app/pages/gabinete-digital/expedientes-pr/expediente-pr/expediente-pr.page.ts
+++ b/src/app/pages/gabinete-digital/expedientes-pr/expediente-pr/expediente-pr.page.ts
@@ -135,11 +135,11 @@ export class ExpedientePrPage implements OnInit {
sendExpedienteToPending() {
this.processes.SetTaskToPending(this.serialnumber).subscribe(res=>{
console.log(res);
- this.toastService.successMessage('Processo enviado para pendentes')
+ this.toastService._successMessage('Processo enviado para pendentes')
this.goBack();
},
(error)=>{
- this.toastService.badRequest('Processo não enviado para pendentes')
+ this.toastService._badRequest('Processo não enviado para pendentes')
});
}
@@ -184,15 +184,15 @@ export class ExpedientePrPage implements OnInit {
}, (error)=>{
try {
- this.toastService.badRequest('Processo não encontrado')
+ this.toastService._badRequest('Processo não encontrado')
this.goBack()
} catch (e) {
window.history.back();
} finally {
if(error.status == 0) {
- this.toastService.badRequest('Não é possÃvel visualizar este processo no modo offline')
+ this.toastService._badRequest('Não é possÃvel visualizar este processo no modo offline')
} else {
- this.toastService.badRequest('Processo não encontrado')
+ this.toastService._badRequest('Processo não encontrado')
}
}
});
@@ -303,9 +303,9 @@ export class ExpedientePrPage implements OnInit {
try {
await this.processes.CompleteTask(body).toPromise();
this.close();
- this.toastService.successMessage('Processo aprovado')
+ this.toastService._successMessage('Processo aprovado')
} catch(error) {
- this.toastService.badRequest('Processo não aprovado')
+ this.toastService._badRequest('Processo não aprovado')
} finally {
loader.remove()
}
@@ -328,9 +328,9 @@ export class ExpedientePrPage implements OnInit {
try {
await this.processes.CompleteTask(body).toPromise()
this.close();
- this.toastService.successMessage()
+ this.toastService._successMessage()
} catch(error) {
- this.toastService.badRequest()
+ this.toastService._badRequest()
} finally {
loader.remove()
}
@@ -448,10 +448,10 @@ export class ExpedientePrPage implements OnInit {
try {
await this.processes.CompleteTask(otherbody).toPromise()
- this.toastService.successMessage('Processo descartado');
+ this.toastService._successMessage('Processo descartado');
this.goBack();
} catch (error) {
- this.toastService.badRequest('Processo não descartado')
+ this.toastService._badRequest('Processo não descartado')
} finally {
loader.remove()
}
@@ -468,10 +468,10 @@ export class ExpedientePrPage implements OnInit {
try {
await this.processes.CompleteTask(body).toPromise();
- // this.toastService.successMessage('Processo descartado');
+ // this.toastService._successMessage('Processo descartado');
this.goBack();
} catch (error) {
- // this.toastService.badRequest('Processo não descartado')
+ // this.toastService._badRequest('Processo não descartado')
} finally {
loader.remove()
}
@@ -485,10 +485,10 @@ export class ExpedientePrPage implements OnInit {
try {
await this.processes.UpdateTaskStatus(this.task.FolderId).toPromise();
- this.toastService.successMessage();
+ this.toastService._successMessage();
this.goBack();
} catch (error) {
- this.toastService.badRequest()
+ this.toastService._badRequest()
} finally {
loader.remove()
}
diff --git a/src/app/pages/gabinete-digital/expedientes-pr/expedientes-pr.page.ts b/src/app/pages/gabinete-digital/expedientes-pr/expedientes-pr.page.ts
index 590200750..9ce1fd431 100644
--- a/src/app/pages/gabinete-digital/expedientes-pr/expedientes-pr.page.ts
+++ b/src/app/pages/gabinete-digital/expedientes-pr/expedientes-pr.page.ts
@@ -12,7 +12,7 @@ import { Location } from '@angular/common'
import { ExpedienteGdStore } from 'src/app/store/expedientegd-store.service';
import { ExpedienteTaskPipe } from 'src/app/pipes/expediente-task.pipe';
import { ThemeService } from 'src/app/services/theme.service'
-
+import { SortService } from 'src/app/services/functions/sort.service';
@Component({
selector: 'app-expedientes-pr',
@@ -41,7 +41,8 @@ export class ExpedientesPrPage implements OnInit {
private authService: AuthService,
private router: Router,
private location: Location,
- public ThemeService: ThemeService
+ public ThemeService: ThemeService,
+ private sortService: SortService,
) {
this.loggeduser = authService.ValidatedUser;
}
@@ -80,6 +81,8 @@ export class ExpedientesPrPage implements OnInit {
this.taskslist.push(task);
});
console.log(this.taskslist);
+
+ this.taskslist = this.sortService.sortDate(this.taskslist, 'CreateDate')
this.expedienteGdStore.reset(this.taskslist);
this.skeletonLoader = false
})
diff --git a/src/app/pages/gabinete-digital/gabinete-digital.page.html b/src/app/pages/gabinete-digital/gabinete-digital.page.html
index 6c3fcf1a9..bcdf3a838 100644
--- a/src/app/pages/gabinete-digital/gabinete-digital.page.html
+++ b/src/app/pages/gabinete-digital/gabinete-digital.page.html
@@ -181,7 +181,7 @@
30" class="post-img">
-
+
30" class="post-img">
-
+
+
+ `
+
+ document.body.append(notification)
+ notification.querySelector('.text').innerHTML = message || 'Processo efetuado'
+ setTimeout(()=>{
+ if (callback) {
+ callback()
+ }
+
+ notification.style.right = "-100%"
+
+ setTimeout(()=>{
+ notification.remove()
+ },1000)
+
+ },6000)
+
+ }
+
+ async _badRequest(message?: string, callback?) {
+
+ let notification = document.createElement('div')
+ notification.className = 'notification'
+ notification.innerHTML = `
+
+
+
{{ message }}
+ + +
+
+ `
+
+ notification.style.animationName = 'notification-top'
+
+ document.body.append(notification)
+ notification.querySelector('.text').innerHTML = message || 'Processo não efetuado'
+ setTimeout(()=>{
+ if (callback) {
+ callback()
+ }
+
+ notification.style.right = "-100%"
+
+ setTimeout(()=>{
+ notification.remove()
+ },1000)
+
+ },6000)
+
+ }
+
async successMessage(message?: any, callback?) {
let notification = document.createElement('div')
@@ -129,16 +196,30 @@ export class ToastService {
loading() : HTMLDivElement {
+
let loader: HTMLDivElement = document.createElement('div')
+
+ let theme;
+
+ if(document.querySelector('body').className.includes('gov')) {
+ theme = 'gov'
+ } else if(document.querySelector('body').className.includes('default')) {
+ theme = 'blue'
+ } else if(document.querySelector('body').className.includes('tribunal')) {
+ theme = 'tribunal'
+ } else {
+ theme = 'gov'
+ }
+
loader.innerHTML = `
-
-
+
{{ message }}
+ + +
- A conversa original mantêm-se como chat individual
-
-
+
- `
-
+ `;
+
+ console.log(document.querySelector('body').classList)
document.body.append(loader)
loader.addEventListener('click', ()=>{
diff --git a/src/app/services/webnotifications.service.ts b/src/app/services/webnotifications.service.ts
index db0818093..f67bdcd3e 100644
--- a/src/app/services/webnotifications.service.ts
+++ b/src/app/services/webnotifications.service.ts
@@ -24,8 +24,7 @@ export class WebNotificationsService {
private animationController: AnimationController,
private platform: Platform,
private router: Router,
- private toastService: ToastService,
- private zone: NgZone) { }
+ private toastService: ToastService) { }
webconnection() {
diff --git a/src/app/shared/agenda/edit-event/edit-event.page.ts b/src/app/shared/agenda/edit-event/edit-event.page.ts
index 4eef38a80..f66e97819 100644
--- a/src/app/shared/agenda/edit-event/edit-event.page.ts
+++ b/src/app/shared/agenda/edit-event/edit-event.page.ts
@@ -142,6 +142,10 @@ export class EditEventPage implements OnInit {
}
+ ngOnChanges(changes: any): void {
+ // this.loadedEventAttachments = this.loadedEventAttachments.concat(this.postEvent.Attachments)
+ }
+
close() {
this.closeComponent.emit();
this.setIntervenient.emit([]);
@@ -193,6 +197,7 @@ export class EditEventPage implements OnInit {
]),
})
+
}
openInicio() {
@@ -252,7 +257,8 @@ export class EditEventPage implements OnInit {
this.showLoader = true;
- await this.eventsService.editEvent(this.postEvent, 2, 3).subscribe(async () => {
+ try {
+ await this.eventsService.editEvent(this.postEvent, 2, 3).toPromise()
if(this.initCalendarName != this.postEvent.CalendarName) {
let body = {
"EventId": this.postEvent.EventId,
@@ -265,11 +271,10 @@ export class EditEventPage implements OnInit {
}
this.showLoader = false;
this.toastService.successMessage()
- },
- error => {
+ } catch(error) {
this.showLoader = false
this.toastService.badRequest()
- });
+ }
this.clearPostEvent.emit();
this.deleteTemporaryData();
@@ -282,7 +287,6 @@ export class EditEventPage implements OnInit {
async saveDocument() {
- console.log(this.loadedEventAttachments)
await this.loadedEventAttachments.forEach( async (e)=>{
@@ -303,10 +307,10 @@ export class EditEventPage implements OnInit {
};
await this.attachmentsService.setEventAttachmentById(DocumentToSave).toPromise();
- this.getAttachments(this.postEvent.EventId);
+ await this.getAttachments(this.postEvent.EventId);
} else if(remove) {
- this.attachmentsService.deleteEventAttachmentById(e.Id).subscribe( res=> {})
+ await this.attachmentsService.deleteEventAttachmentById(e.Id).toPromise()
}
})
@@ -365,11 +369,9 @@ export class EditEventPage implements OnInit {
window['temp.path:/home/agenda/edit-event.component.ts'] = {}
}
- getAttachments(eventId: string){
- this.attachmentsService.getAttachmentsById(eventId).subscribe(res=>{
- this.loadedEventAttachments = res;
- console.log('res', res);
- });
+ async getAttachments(eventId: string){
+ const rest: any = this.attachmentsService.getAttachmentsById(eventId).toPromise()
+ this.loadedEventAttachments = rest;
}
deleteAttachment(attachmentID: string, index) {
diff --git a/src/app/shared/agenda/new-event/new-event.page.ts b/src/app/shared/agenda/new-event/new-event.page.ts
index bcf7d5dc4..058c0910f 100644
--- a/src/app/shared/agenda/new-event/new-event.page.ts
+++ b/src/app/shared/agenda/new-event/new-event.page.ts
@@ -409,14 +409,14 @@ export class NewEventPage implements OnInit {
this.afterSave();
}
- this.toastService.successMessage('Evento criado')
+ this.toastService._successMessage('Evento criado')
},
error => {
loader.remove()
this.showLoader = false
- this.toastService.badRequest('Evento não criado')
+ this.toastService._badRequest('Evento não criado')
});
diff --git a/src/app/shared/agenda/view-event/view-event.page.ts b/src/app/shared/agenda/view-event/view-event.page.ts
index cff1408fe..2de4d89da 100644
--- a/src/app/shared/agenda/view-event/view-event.page.ts
+++ b/src/app/shared/agenda/view-event/view-event.page.ts
@@ -95,6 +95,7 @@ export class ViewEventPage implements OnInit {
}
loadEvent() {
+
this.eventsService.getEvent(this.eventId).subscribe(res => {
console.log(res);
this.loadedEvent = res;
diff --git a/src/app/shared/chat/group-messages/group-messages.page.html b/src/app/shared/chat/group-messages/group-messages.page.html
index e8ba47bdc..0ebc7fdbb 100644
--- a/src/app/shared/chat/group-messages/group-messages.page.html
+++ b/src/app/shared/chat/group-messages/group-messages.page.html
@@ -44,7 +44,7 @@
+
+
-
+
+
+
diff --git a/src/app/shared/chat/group-messages/group-messages.page.ts b/src/app/shared/chat/group-messages/group-messages.page.ts
index 9c9d56edb..cf0ac3345 100644
--- a/src/app/shared/chat/group-messages/group-messages.page.ts
+++ b/src/app/shared/chat/group-messages/group-messages.page.ts
@@ -1,5 +1,5 @@
-import { Component, OnChanges, OnInit, Input, SimpleChanges, Output, EventEmitter, ViewChild, ElementRef, AfterViewChecked, AfterViewInit, OnDestroy} from '@angular/core';
-import { ActionSheetController, AnimationController, MenuController, ModalController, PopoverController } from '@ionic/angular';
+import { Component, OnChanges, OnInit, Input, SimpleChanges,ChangeDetectorRef,Output, EventEmitter, ViewChild, ElementRef, AfterViewChecked, AfterViewInit, OnDestroy} from '@angular/core';
+import { ActionSheetController, AnimationController, IonSlides, MenuController, ModalController, PopoverController } from '@ionic/angular';
import { AlertService } from 'src/app/services/alert.service';
import { AuthService } from 'src/app/services/auth.service';
import { ChatService } from 'src/app/services/chat.service';
@@ -19,6 +19,7 @@ import { ProcessesService } from 'src/app/services/processes.service';
import { FileService } from 'src/app/services/functions/file.service';
import { ViewDocumentPage } from 'src/app/modals/view-document/view-document.page';
import { ThemeService } from 'src/app/services/theme.service'
+import { PreviewCameraPage } from 'src/app/modals/preview-camera/preview-camera.page';
/*
import * as pdfjsLib from 'pdfjs-dist';
@@ -86,7 +87,8 @@ export class GroupMessagesPage implements OnInit, OnChanges, AfterViewInit, OnDe
private fileToBase64Service: FileToBase64Service,
private processesService: ProcessesService,
private fileService: FileService,
- public ThemeService: ThemeService
+ public ThemeService: ThemeService,
+ private changeDetectorRef: ChangeDetectorRef
) {
this.loggedUserChat = authService.ValidatedUserChat['data'];
this.isGroupCreated = true;
@@ -767,7 +769,61 @@ export class GroupMessagesPage implements OnInit, OnChanges, AfterViewInit, OnDe
}
}
+
+ sliderOpts = {
+ zoom: false,
+ slidesPerView: 1.5,
+ spaceBetween: 20,
+ centeredSlides: true
+ };
+ zoomActive = false;
+zoomScale = 1;
+
+sliderZoomOpts = {
+ allowSlidePrev: false,
+ allowSlideNext: false,
+ zoom: {
+ maxRatio: 5
+ },
+ on: {
+ zoomChange: (scale, imageEl, slideEl) => {
+ this.zoomActive = true;
+ this.zoomScale = scale/5;
+ this.changeDetectorRef.detectChanges();
+ }
+ }
+}
+
+async touchEnd(zoomslides: IonSlides, card) {
+ // Zoom back to normal
+ const slider = await zoomslides.getSwiper();
+ const zoom = slider.zoom;
+ zoom.out();
+
+ // Card back to normal
+ card.el.style['z-index'] = 9;
+
+ this.zoomActive = false;
+ this.changeDetectorRef.detectChanges();
+}
+
+touchStart(card) {
+ // Make card appear above backdrop
+ card.el.style['z-index'] = 11;
+}
+ async openPreview(img) {
+ const modal = await this.modalController.create({
+ component: PreviewCameraPage,
+ cssClass: 'transparent-modal',
+ componentProps: {
+ image: img.attachments[0].image_url,
+ username: img.u.username,
+ _updatedAt: img._updatedAt
+ }
+ });
+ modal.present();
+ }
}
diff --git a/src/app/shared/chat/messages/messages.page.html b/src/app/shared/chat/messages/messages.page.html
index 53f592363..8f1fe149b 100644
--- a/src/app/shared/chat/messages/messages.page.html
+++ b/src/app/shared/chat/messages/messages.page.html
@@ -37,7 +37,7 @@
-
+
diff --git a/src/app/shared/chat/messages/messages.page.ts b/src/app/shared/chat/messages/messages.page.ts
index 8f11f9533..b3eec13c2 100644
--- a/src/app/shared/chat/messages/messages.page.ts
+++ b/src/app/shared/chat/messages/messages.page.ts
@@ -1,5 +1,5 @@
-import { AfterViewChecked, AfterViewInit, Component, ElementRef, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output, SimpleChanges, ViewChild } from '@angular/core';
-import { AnimationController, GestureController, ModalController, PopoverController } from '@ionic/angular';
+import { AfterViewChecked, AfterViewInit, Component, ElementRef,ChangeDetectorRef, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output, SimpleChanges, ViewChild } from '@angular/core';
+import { AnimationController, GestureController, IonSlides, ModalController, PopoverController } from '@ionic/angular';
import { AlertService } from 'src/app/services/alert.service';
import { AuthService } from 'src/app/services/auth.service';
import { ChatService } from 'src/app/services/chat.service';
@@ -16,6 +16,7 @@ import { FileService } from 'src/app/services/functions/file.service';
import { HttpClient, HttpHeaders } from '@angular/common/http';
import { ViewDocumentPage } from 'src/app/modals/view-document/view-document.page';
import { ThemeService } from 'src/app/services/theme.service'
+import { PreviewCameraPage } from 'src/app/modals/preview-camera/preview-camera.page';
@Component({
selector: 'app-messages',
@@ -71,7 +72,8 @@ export class MessagesPage implements OnInit, OnChanges, AfterViewInit, OnDestroy
private fileService: FileService,
private gestureController: GestureController,
private http:HttpClient,
- public ThemeService: ThemeService
+ public ThemeService: ThemeService,
+ private changeDetectorRef: ChangeDetectorRef
) {
this.loggedUser = authService.ValidatedUserChat['data'];
@@ -553,7 +555,61 @@ export class MessagesPage implements OnInit, OnChanges, AfterViewInit, OnDestroy
this.serverLongPull();
});
+ }sliderOpts = {
+ zoom: false,
+ slidesPerView: 1.5,
+ spaceBetween: 20,
+ centeredSlides: true
+ };
+ zoomActive = false;
+zoomScale = 1;
+
+sliderZoomOpts = {
+ allowSlidePrev: false,
+ allowSlideNext: false,
+ zoom: {
+ maxRatio: 5
+ },
+ on: {
+ zoomChange: (scale, imageEl, slideEl) => {
+ this.zoomActive = true;
+ this.zoomScale = scale/5;
+ this.changeDetectorRef.detectChanges();
+ }
}
-
+}
+
+async touchEnd(zoomslides: IonSlides, card) {
+ // Zoom back to normal
+ const slider = await zoomslides.getSwiper();
+ const zoom = slider.zoom;
+ zoom.out();
+
+ // Card back to normal
+ card.el.style['z-index'] = 9;
+
+ this.zoomActive = false;
+ this.changeDetectorRef.detectChanges();
+}
+
+touchStart(card) {
+ // Make card appear above backdrop
+ card.el.style['z-index'] = 11;
}
+ async openPreview(msg) {
+ const modal = await this.modalController.create({
+ component: PreviewCameraPage,
+ cssClass: 'transparent-modal',
+ componentProps: {
+ image: msg.attachments[0].image_url,
+ username: msg.u.username,
+ _updatedAt: msg._updatedAt
+ }
+ });
+ modal.present();
+ }
+}
+
+
+
diff --git a/src/app/shared/gabinete-digital/all-processes/all-processes.page.ts b/src/app/shared/gabinete-digital/all-processes/all-processes.page.ts
index 5ccb1343c..e41d4bd93 100644
--- a/src/app/shared/gabinete-digital/all-processes/all-processes.page.ts
+++ b/src/app/shared/gabinete-digital/all-processes/all-processes.page.ts
@@ -66,6 +66,8 @@ export class AllProcessesPage implements OnInit {
let allProcessesList = await this.processesService.GetTasksList("", false).toPromise();
//console.log(allProcessesList);
+ allProcessesList = allProcessesList.filter(element => element.activityInstanceName != 'Conhecimento')
+
this.skeletonLoader = true;
this.allProcessesList = [];
@@ -73,14 +75,11 @@ export class AllProcessesPage implements OnInit {
allProcessesList.forEach(element => {
let date = new Date(element.taskStartDate);
date.setMonth(date.getMonth() + 1);
- let taskDate = date.getFullYear() + "-" + date.getMonth() + "-" + date.getDate() + " " + date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds();
-
let task = {
"SerialNumber": element.serialNumber,
"Folio": element.workflowInstanceDataFields.Subject,
"Senders": element.workflowInstanceDataFields.Sender,
- //"CreateDate": taskDate,
"CreateDate": new Date(element.taskStartDate),
"DocumentURL": element.workflowInstanceDataFields.ViewerRequest,
"Remetente": element.workflowInstanceDataFields.Remetente,
@@ -93,10 +92,11 @@ export class AllProcessesPage implements OnInit {
"Agenda": element.workflowInstanceDataFields.Agenda,
"customDate": this.setFormatDate(new Date(element.workflowInstanceDataFields.StartDate), new Date(element.workflowInstanceDataFields.EndDate), element.workflowInstanceDataFields.IsAllDayEvent),
}
+
this.allProcessesList.push(task);
this.allProcessesList = removeDuplicate(this.allProcessesList)
- //this.allProcessesList = this.sortArrayISODate(this.allProcessesList).reverse();
- this.allProcessesList = this.sortService.sortArrayISODate(this.allProcessesList).reverse();
+
+ this.allProcessesList = this.sortService.sortDate(this.allProcessesList, 'CreateDate');
});
diff --git a/src/app/shared/gabinete-digital/despachos-pr/despachos-pr.page.ts b/src/app/shared/gabinete-digital/despachos-pr/despachos-pr.page.ts
index 1da06551a..c5a97201e 100644
--- a/src/app/shared/gabinete-digital/despachos-pr/despachos-pr.page.ts
+++ b/src/app/shared/gabinete-digital/despachos-pr/despachos-pr.page.ts
@@ -74,7 +74,7 @@ constructor (
despachoList.push(task);
});
- despachoList = this.sortService.sortArrayISODate(despachoList).reverse()
+ despachoList = this.sortService.sortDate(despachoList, 'CreateDate')
this.despachosprstore.reset(despachoList);
this.skeletonLoader = false;
diff --git a/src/app/shared/gabinete-digital/diplomas-assinar/diplomas-assinar.page.ts b/src/app/shared/gabinete-digital/diplomas-assinar/diplomas-assinar.page.ts
index 2292ba298..047ba3e66 100644
--- a/src/app/shared/gabinete-digital/diplomas-assinar/diplomas-assinar.page.ts
+++ b/src/app/shared/gabinete-digital/diplomas-assinar/diplomas-assinar.page.ts
@@ -31,7 +31,7 @@ export class DiplomasAssinarPage implements OnInit {
private router: Router,
private sortService: SortService,
public ThemeService: ThemeService
- ) { }
+ ) {}
ngOnInit() {
@@ -56,30 +56,30 @@ export class DiplomasAssinarPage implements OnInit {
doRefresh() {
setTimeout(() => {
this.LoadList();
- //event.target.complete();
}, 1000);
}
async LoadList() {
+
+
this.skeletonLoader = true
let diplomas = await this.processes.GetTasksList("Despacho do Presidente da República", false).toPromise();
this.diplomasList = new Array();
this.skeletonLoader = false
- console.log(diplomas);
let diplomasAssinar = diplomas.reverse().filter(data => data.activityInstanceName == "Assinar Diploma");
- console.log(diplomasAssinar);
diplomasAssinar.forEach(element => {
-
let task: customTask = this.customTaskPipe.transform(element)
this.diplomasList.push(task);
- this.deplomasStore.resetDiplomasList(this.sortService.sortArrayByDate(this.diplomasList));
-
});
+ this.diplomasList = this.sortService.sortDate(this.diplomasList, 'CreateDate')
+
+
+ this.deplomasStore.resetDiplomasList(this.diplomasList);
}
}
diff --git a/src/app/shared/gabinete-digital/diplomas/diplomas.page.ts b/src/app/shared/gabinete-digital/diplomas/diplomas.page.ts
index 53a5fdeb1..452d7a033 100644
--- a/src/app/shared/gabinete-digital/diplomas/diplomas.page.ts
+++ b/src/app/shared/gabinete-digital/diplomas/diplomas.page.ts
@@ -8,6 +8,7 @@ import { removeDuplicate } from 'src/plugin/removeDuplicate.js'
import { CustomTaskPipe } from 'src/app/pipes/custom-task.pipe';
import { DeplomasStore } from 'src/app/store/deplomas.service';
import { ThemeService } from 'src/app/services/theme.service'
+import { SortService } from 'src/app/services/functions/sort.service';
@Component({
selector: 'app-diplomas',
@@ -34,10 +35,9 @@ constructor(
private alertService: AlertService,
private router: Router,
private activatedRoute: ActivatedRoute,
- public ThemeService: ThemeService
- ) {
-
- }
+ public ThemeService: ThemeService,
+ private sortService: SortService,
+ ) {}
ngOnInit() {
// update list
@@ -82,7 +82,7 @@ constructor(
diplomasList.push(task);
});
- this.diplomasList = this.sortArrayISODate(diplomasList).reverse();
+ this.diplomasList = this.sortService.sortDate(diplomasList, 'CreateDate')
this.deplomasStore.resetDiplomasList(this.diplomasList)
let diplomasAssinadoList = []
@@ -93,7 +93,7 @@ constructor(
diplomasAssinadoList.push(task);
});
- this.diplomasAssinadoList = this.sortArrayISODate(diplomasAssinadoList).reverse();
+ this.diplomasAssinadoList = this.sortService.sortDate(diplomasAssinadoList, 'CreateDate')
this.deplomasStore.resetDiplomasAssinadoList(this.diplomasAssinadoList)
this.showLoader = false;
@@ -120,12 +120,6 @@ constructor(
}
}
- sortArrayISODate(myArray: any) {
- return myArray.sort(function(a, b) {
- return (a.CreateDate < b.CreateDate) ? -1 : ((a.CreateDate > b.CreateDate) ? 1 : 0);
- });
- }
-
async refreshing() {
setTimeout(() => {
this.LoadList();
diff --git a/src/app/shared/gabinete-digital/events-to-approve/events-to-approve.page.ts b/src/app/shared/gabinete-digital/events-to-approve/events-to-approve.page.ts
index e04bf0a86..93a20876d 100644
--- a/src/app/shared/gabinete-digital/events-to-approve/events-to-approve.page.ts
+++ b/src/app/shared/gabinete-digital/events-to-approve/events-to-approve.page.ts
@@ -69,13 +69,14 @@ export class EventsToApprovePage implements OnInit {
this.eventsMDGPRList = mdEventsOficial.concat(mdEventsPessoal);
console.log(this.sortService.sortArrayByDate(this.eventsMDGPRList));
- this.eventaprovacaostore.resetmd(this.sortService.sortArrayByDate(this.eventsMDGPRList).reverse());
+ this.eventaprovacaostore.resetmd(this.sortService.sortDate(this.eventsMDGPRList, 'CreateDate'));
}
else if(this.segment == 'PR'){
let prEventsOficial = await this.processes.GetTasksList('Agenda Oficial PR', false).toPromise();
let prEventsPessoal = await this.processes.GetTasksList('Agenda Pessoal PR', false).toPromise();
this.eventsPRList = prEventsOficial.concat(prEventsPessoal);
- this.eventaprovacaostore.resetpr(this.sortService.sortArrayByDate(this.eventsPRList).reverse());
+
+ this.eventaprovacaostore.resetpr(this.sortService.sortDate(this.eventsPRList, 'CreateDate'));
}
this.showLoader = false;
}
diff --git a/src/app/shared/gabinete-digital/expedientes-pr/expedientes-pr.page.ts b/src/app/shared/gabinete-digital/expedientes-pr/expedientes-pr.page.ts
index d89169481..fc6b10e54 100644
--- a/src/app/shared/gabinete-digital/expedientes-pr/expedientes-pr.page.ts
+++ b/src/app/shared/gabinete-digital/expedientes-pr/expedientes-pr.page.ts
@@ -10,6 +10,7 @@ import { CustomTaskPipe } from 'src/app/pipes/custom-task.pipe';
import { ExpedienteGdStore } from 'src/app/store/expedientegd-store.service';
import { ExpedienteTaskPipe } from 'src/app/pipes/expediente-task.pipe';
import { ThemeService } from 'src/app/services/theme.service'
+import { SortService } from 'src/app/services/functions/sort.service';
@Component({
@@ -35,7 +36,8 @@ export class ExpedientesPrPage implements OnInit {
private alertService: AlertService,
private authService: AuthService,
private router: Router,
- public ThemeService: ThemeService
+ public ThemeService: ThemeService,
+ private sortService: SortService,
) {
this.loggeduser = authService.ValidatedUser;
}
@@ -75,7 +77,8 @@ export class ExpedientesPrPage implements OnInit {
let task = this.expedienteTaskPipe.transform(element);
this.taskslist.push(task);
});
- console.log(this.taskslist);
+
+ this.taskslist = this.sortService.sortDate(this.taskslist, 'CreateDate')
this.expedienteGdStore.reset(this.taskslist);
this.skeletonLoader = false;
diff --git a/src/app/shared/gabinete-digital/expedients/expedients.page.ts b/src/app/shared/gabinete-digital/expedients/expedients.page.ts
index 2f0237c92..84d2baad5 100644
--- a/src/app/shared/gabinete-digital/expedients/expedients.page.ts
+++ b/src/app/shared/gabinete-digital/expedients/expedients.page.ts
@@ -5,6 +5,7 @@ import { AlertService } from 'src/app/services/alert.service';
import { ExpedienteGdStore } from 'src/app/store/expedientegd-store.service';
import { ExpedienteTaskPipe } from 'src/app/pipes/expediente-task.pipe';
import { ThemeService } from 'src/app/services/theme.service'
+import { SortService } from 'src/app/services/functions/sort.service';
@Component({
selector: 'app-expedients',
@@ -27,7 +28,8 @@ export class ExpedientsPage implements OnInit {
private processes:ProcessesService,
private alertService: AlertService,
private router: Router,
- public ThemeService: ThemeService
+ public ThemeService: ThemeService,
+ private sortService: SortService,
) {
this.profile = 'mdgpr';
@@ -67,13 +69,14 @@ export class ExpedientsPage implements OnInit {
this.taskslist = [];
this.skeletonLoader = false
- let res = result.reverse().filter(data => data.workflowInstanceDataFields.Status == "Active");
+ let res = result.filter(data => data.workflowInstanceDataFields.Status == "Active");
res.forEach(element => {
let task = this.expedienteTaskPipe.transform(element)
this.taskslist.push(task);
});
+ this.taskslist = this.sortService.sortDate(this.taskslist, 'CreateDate')
this.expedientegbstore.reset(this.taskslist);
});
}
diff --git a/src/app/shared/gabinete-digital/pedidos/pedidos.page.html b/src/app/shared/gabinete-digital/pedidos/pedidos.page.html
index 898c7c71c..d552bb84a 100644
--- a/src/app/shared/gabinete-digital/pedidos/pedidos.page.html
+++ b/src/app/shared/gabinete-digital/pedidos/pedidos.page.html
@@ -110,7 +110,7 @@
Lista vazia
@@ -119,7 +119,7 @@
Lista vazia
diff --git a/src/app/shared/gabinete-digital/pedidos/pedidos.page.ts b/src/app/shared/gabinete-digital/pedidos/pedidos.page.ts
index 785392167..409e85bf9 100644
--- a/src/app/shared/gabinete-digital/pedidos/pedidos.page.ts
+++ b/src/app/shared/gabinete-digital/pedidos/pedidos.page.ts
@@ -50,7 +50,7 @@ export class PedidosPage implements OnInit {
public ThemeService: ThemeService
) {
this.profile = 'mdgpr';
- }
+ }
ngOnInit() {
@@ -96,7 +96,8 @@ export class PedidosPage implements OnInit {
let task: customTask = this.customTaskPipe.transform(element);
this.parecerList.push(task);
});
- this.pedidosstore.resetparecer(this.sortService.sortArrayISODate(this.parecerList));
+
+ this.pedidosstore.resetparecer(this.sortService.sortDate(this.parecerList, 'CreateDate'));
}
else if(this.segment == 'deferimento') {
@@ -112,7 +113,9 @@ export class PedidosPage implements OnInit {
let task: customTask = this.customTaskPipe.transform(element);
this.deferimentoList.push(task);
});
- this.pedidosstore.resetdeferimento(this.sortService.sortArrayISODate(this.deferimentoList));
+
+
+ this.pedidosstore.resetdeferimento(this.sortService.sortDate(this.deferimentoList, 'CreateDate'));
});
}
diff --git a/src/app/shared/gabinete-digital/pendentes/pendentes.page.ts b/src/app/shared/gabinete-digital/pendentes/pendentes.page.ts
index cc20a4a26..c74f98171 100644
--- a/src/app/shared/gabinete-digital/pendentes/pendentes.page.ts
+++ b/src/app/shared/gabinete-digital/pendentes/pendentes.page.ts
@@ -62,7 +62,7 @@ export class PendentesPage implements OnInit {
});
pendentesList = removeDuplicate( pendentesList)
- pendentesList = this.sortService.sortArrayISODate(pendentesList);
+ pendentesList = this.sortService.sortDate(pendentesList, 'CreateDate')
this.pendentesstore.reset(pendentesList);
this.skeletonLoader = false;
diff --git a/src/app/shared/header/header.page.html b/src/app/shared/header/header.page.html
index ad92feb8b..34d0f448b 100644
--- a/src/app/shared/header/header.page.html
+++ b/src/app/shared/header/header.page.html
@@ -1,6 +1,6 @@
-
+
diff --git a/src/app/shared/popover/deploma-options/deploma-options.page.ts b/src/app/shared/popover/deploma-options/deploma-options.page.ts
index d976e4540..0ad15f77b 100644
--- a/src/app/shared/popover/deploma-options/deploma-options.page.ts
+++ b/src/app/shared/popover/deploma-options/deploma-options.page.ts
@@ -107,9 +107,9 @@ export class DeplomaOptionsPage implements OnInit {
try {
await this.processes.CompleteTask(body).toPromise()
this.close();
- this.toastService.successMessage()
+ this.toastService._successMessage()
} catch (error) {
- this.toastService.badRequest()
+ this.toastService._badRequest()
} finally {
loader.remove()
}
@@ -154,9 +154,9 @@ export class DeplomaOptionsPage implements OnInit {
try {
await this.processes.CompleteTask(body).toPromise()
this.close();
- this.toastService.successMessage()
+ this.toastService._successMessage()
} catch (error) {
- this.toastService.badRequest()
+ this.toastService._badRequest()
} finally {
loader.remove()
}
@@ -180,9 +180,9 @@ export class DeplomaOptionsPage implements OnInit {
try {
await this.processes.CompleteTask(body).toPromise()
this.close();
- this.toastService.successMessage()
+ this.toastService._successMessage()
} catch (error) {
- this.toastService.badRequest()
+ this.toastService._badRequest()
} finally {
loader.remove()
}
@@ -205,9 +205,9 @@ export class DeplomaOptionsPage implements OnInit {
try {
await this.processes.CompleteTask(body).toPromise();
- this.toastService.successMessage('Processo concluÃdo')
+ this.toastService._successMessage('Processo concluÃdo')
} catch (error) {
- this.toastService.badRequest()
+ this.toastService._badRequest()
}
finally {
loader.remove()
diff --git a/src/app/shared/popover/despachos-options/despachos-options.page.ts b/src/app/shared/popover/despachos-options/despachos-options.page.ts
index b1d62bbc8..bd0343cf6 100644
--- a/src/app/shared/popover/despachos-options/despachos-options.page.ts
+++ b/src/app/shared/popover/despachos-options/despachos-options.page.ts
@@ -11,7 +11,7 @@ import { ToastService } from 'src/app/services/toast.service';
import { customTask, fullTask } from 'src/app/models/dailyworktask.model';
import { PermissionService } from 'src/app/services/worker/permission.service';
import { ThemeService } from 'src/app/services/theme.service'
-
+import { Location } from '@angular/common'
@Component({
selector: 'app-despachos-options',
@@ -32,7 +32,8 @@ export class DespachosOptionsPage implements OnInit {
private navParams: NavParams,
private toastService: ToastService,
public p: PermissionService,
- public ThemeService: ThemeService
+ public ThemeService: ThemeService,
+ private location: Location,
) {
this.task = this.navParams.get('task')
this.fulltask = this.navParams.get('fulltask')
@@ -74,12 +75,12 @@ export class DespachosOptionsPage implements OnInit {
sendExpedienteToPending(){
this.popoverController.dismiss();
this.processes.SetTaskToPending(this.task.SerialNumber).subscribe(res=>{
- this.toastService.successMessage()
+ this.toastService._successMessage()
console.log(res);
this.close();
},()=>{
- this.toastService.badRequest('Processo não encontrado')
+ this.toastService._badRequest('Processo não encontrado')
});
}
@@ -143,8 +144,14 @@ export class DespachosOptionsPage implements OnInit {
backdropDismiss: false
});
await modal.present();
- modal.onDidDismiss().then(res=>{
- this.goBack();
+ modal.onDidDismiss().then(res => {
+ if(res){
+ const data = res.data;
+ if(data == 'close') {
+ this.goBack();
+ }
+ }
+
});
}
@@ -163,10 +170,10 @@ export class DespachosOptionsPage implements OnInit {
try {
await this.processes.CompleteTask(body).toPromise()
- this.toastService.successMessage()
+ this.toastService._successMessage()
this.close();
} catch (error) {
- this.toastService.badRequest()
+ this.toastService._badRequest()
} finally {
loader.remove()
}
@@ -244,10 +251,10 @@ export class DespachosOptionsPage implements OnInit {
try {
await this.processes.CompleteTask(body).toPromise()
- this.toastService.successMessage('Processo arquivado')
+ this.toastService._successMessage('Processo arquivado')
this.close();
} catch (error) {
- this.toastService.badRequest('Processo não arquivado')
+ this.toastService._badRequest('Processo não arquivado')
} finally {
loader.remove()
}
@@ -272,9 +279,9 @@ export class DespachosOptionsPage implements OnInit {
try {
await this.processes.CompleteTask(body).toPromise()
this.close();
- this.toastService.successMessage()
+ this.toastService._successMessage()
} catch(error) {
- this.toastService.badRequest()
+ this.toastService._badRequest()
} finally {
loader.remove()
}
@@ -298,10 +305,10 @@ export class DespachosOptionsPage implements OnInit {
try {
await this.processes.CompleteTask(body).toPromise()
- this.toastService.successMessage()
+ this.toastService._successMessage()
this.close();
} catch (error) {
- this.toastService.badRequest()
+ this.toastService._badRequest()
} finally {
loader.remove()
}
@@ -309,7 +316,7 @@ export class DespachosOptionsPage implements OnInit {
}
goBack() {
- this.router.navigate(['/home/gabinete-digital/despachos']);
+ this.location.back();
}
}
diff --git a/src/app/shared/popover/despachos-pr-options/despachos-pr-options.page.ts b/src/app/shared/popover/despachos-pr-options/despachos-pr-options.page.ts
index 5ba9b2902..070c98772 100644
--- a/src/app/shared/popover/despachos-pr-options/despachos-pr-options.page.ts
+++ b/src/app/shared/popover/despachos-pr-options/despachos-pr-options.page.ts
@@ -35,7 +35,8 @@ export class DespachosPrOptionsPage implements OnInit {
private toastService: ToastService,
private location: Location,
public p: PermissionService,
- public ThemeService: ThemeService
+ public ThemeService: ThemeService,
+
) { }
ngOnInit() {
@@ -100,11 +101,11 @@ export class DespachosPrOptionsPage implements OnInit {
sendExpedienteToPending() {
this.processes.SetTaskToPending(this.serialNumber).subscribe(res=>{
console.log(res);
- this.toastService.successMessage()
+ this.toastService._successMessage()
this.popoverController.dismiss('close')
},()=>{
- this.toastService.badRequest('Processo não encontrado')
+ this.toastService._badRequest('Processo não encontrado')
});
}
@@ -174,7 +175,15 @@ export class DespachosPrOptionsPage implements OnInit {
backdropDismiss: false
});
await modal.present();
- modal.onDidDismiss();
+ modal.onDidDismiss().then(res => {
+ if(res){
+ const data = res.data;
+ if(data == 'close') {
+ this.goBack();
+ }
+ }
+
+ });
}
async generateDiploma(note:string, documents:any) {
@@ -192,10 +201,10 @@ export class DespachosPrOptionsPage implements OnInit {
try {
await this.processes.CompleteTask(body).toPromise()
- this.toastService.successMessage()
+ this.toastService._successMessage()
this.close();
} catch (error) {
- this.toastService.badRequest()
+ this.toastService._badRequest()
} finally {
loader.remove()
}
@@ -254,6 +263,7 @@ export class DespachosPrOptionsPage implements OnInit {
else if(actionName == 'Concluido') {
await this.concluir(res.data.note, docs);
}
+
this.goBack();
}
});
@@ -275,10 +285,10 @@ export class DespachosPrOptionsPage implements OnInit {
try {
await this.processes.CompleteTask(body).toPromise()
- this.toastService.successMessage('')
+ this.toastService._successMessage('')
this.close();
} catch (error) {
- this.toastService.badRequest()
+ this.toastService._badRequest()
}
finally {
loader.remove()
@@ -363,7 +373,7 @@ export class DespachosPrOptionsPage implements OnInit {
}
goBack() {
- this.router.navigate(['/home/gabinete-digital/despachos-pr'])
+ this.location.back();
}
cancle() {
diff --git a/src/app/shared/popover/opts-expediente-pr/opts-expediente-pr.page.ts b/src/app/shared/popover/opts-expediente-pr/opts-expediente-pr.page.ts
index 35a192b50..8fd55d91f 100644
--- a/src/app/shared/popover/opts-expediente-pr/opts-expediente-pr.page.ts
+++ b/src/app/shared/popover/opts-expediente-pr/opts-expediente-pr.page.ts
@@ -142,9 +142,9 @@ export class OptsExpedientePrPage implements OnInit {
try {
await this.processes.CompleteTask(body).toPromise()
this.close();
- this.toastService.successMessage()
+ this.toastService._successMessage()
} catch(error) {
- this.toastService.badRequest()
+ this.toastService._badRequest()
} finally {
loader.remove()
}
@@ -179,10 +179,10 @@ export class OptsExpedientePrPage implements OnInit {
try {
await this.processes.CompleteTask(otherbody).toPromise()
- this.toastService.successMessage('Processo descartado');
+ this.toastService._successMessage('Processo descartado');
this.goBack();
} catch (error) {
- this.toastService.badRequest('Processo não descartado')
+ this.toastService._badRequest('Processo não descartado')
} finally {
loader.remove()
}
@@ -201,7 +201,7 @@ export class OptsExpedientePrPage implements OnInit {
// this.toastService.successMessage('Processo descartado');
this.goBack();
} catch (error) {
- this.toastService.badRequest('Processo não descartado');
+ this.toastService._badRequest('Processo não descartado');
} finally {
loader.remove()
}
@@ -213,10 +213,10 @@ export class OptsExpedientePrPage implements OnInit {
try {
await this.processes.UpdateTaskStatus(this.task.FolderId).toPromise();
- this.toastService.successMessage();
+ this.toastService._successMessage();
this.goBack();
} catch (error) {
- this.toastService.badRequest();
+ this.toastService._badRequest();
} finally {
loader.remove()
}
@@ -242,9 +242,9 @@ export class OptsExpedientePrPage implements OnInit {
try {
await this.processes.CompleteTask(body).toPromise();
this.close();
- this.toastService.successMessage()
+ this.toastService._successMessage()
} catch(error) {
- this.toastService.badRequest()
+ this.toastService._badRequest()
} finally {
loader.remove()
}
@@ -258,7 +258,7 @@ export class OptsExpedientePrPage implements OnInit {
this.close();
},()=>{
- this.toastService.badRequest('Processo não encontrado')
+ this.toastService._badRequest('Processo não encontrado')
});
}
@@ -295,7 +295,7 @@ export class OptsExpedientePrPage implements OnInit {
// this.toastService.successMessage('Processo descartado');
this.goBack();
} catch (error) {
- this.toastService.badRequest('Processo não descartado');
+ this.toastService._badRequest('Processo não descartado');
} finally {
loader.remove()
}
diff --git a/src/app/shared/popover/opts-expediente/opts-expediente.page.ts b/src/app/shared/popover/opts-expediente/opts-expediente.page.ts
index b8d1bb688..f874a9f4d 100644
--- a/src/app/shared/popover/opts-expediente/opts-expediente.page.ts
+++ b/src/app/shared/popover/opts-expediente/opts-expediente.page.ts
@@ -166,9 +166,9 @@ export class OptsExpedientePage implements OnInit {
const loader = this.toastService.loading()
this.attachmentsService.AddAttachment(body).subscribe((res)=> {
- this.toastService.successMessage()
+ this.toastService._successMessage()
},()=> {
- this.toastService.badRequest()
+ this.toastService._badRequest()
},()=> {
loader.remove()
});
@@ -243,9 +243,9 @@ export class OptsExpedientePage implements OnInit {
try {
await this.processes.CompleteTask(body).toPromise()
this.close();
- this.toastService.successMessage()
+ this.toastService._successMessage()
} catch(error) {
- this.toastService.badRequest()
+ this.toastService._badRequest()
} finally {
loader.remove()
}
@@ -257,7 +257,7 @@ export class OptsExpedientePage implements OnInit {
this.goBack();
},()=>{
- this.toastService.badRequest('Processo não encontrado')
+ this.toastService._badRequest('Processo não encontrado')
});
}
@@ -279,9 +279,9 @@ export class OptsExpedientePage implements OnInit {
try {
await this.processes.CompleteTask(body).toPromise();
this.close();
- this.toastService.successMessage('Processo aprovado')
+ this.toastService._successMessage('Processo aprovado')
} catch(error) {
- this.toastService.badRequest('Processo não aprovado')
+ this.toastService._badRequest('Processo não aprovado')
} finally {
loader.remove()
}
@@ -337,7 +337,7 @@ export class OptsExpedientePage implements OnInit {
await this.processes.CompleteTask(body).toPromise();
this.goBack();
} catch (error) {
- this.toastService.badRequest('Processo não descartado')
+ this.toastService._badRequest('Processo não descartado')
} finally {
loader.remove()
}
@@ -369,10 +369,10 @@ export class OptsExpedientePage implements OnInit {
try {
await this.expedienteService.discard({SerialNumber: this.task.SerialNumber}).toPromise()
- this.toastService.successMessage('Processo descartado');
+ this.toastService._successMessage('Processo descartado');
this.goBack();
} catch (error) {
- this.toastService.badRequest('Processo não descartado')
+ this.toastService._badRequest('Processo não descartado')
} finally {
loader.remove()
}
@@ -389,10 +389,10 @@ export class OptsExpedientePage implements OnInit {
try {
await this.processes.CompleteTask(body).toPromise();
- this.toastService.successMessage('Processo descartado');
+ this.toastService._successMessage('Processo descartado');
this.goBack();
} catch (error) {
- this.toastService.badRequest('Processo não descartado')
+ this.toastService._badRequest('Processo não descartado')
} finally {
loader.remove()
}
@@ -404,10 +404,10 @@ export class OptsExpedientePage implements OnInit {
try {
await this.processes.UpdateTaskStatus(this.task.FolderId).toPromise();
- this.toastService.successMessage();
+ this.toastService._successMessage();
this.goBack();
} catch (error) {
- this.toastService.badRequest()
+ this.toastService._badRequest()
} finally {
loader.remove()
}
diff --git a/src/app/shared/popover/request-options/request-options.page.ts b/src/app/shared/popover/request-options/request-options.page.ts
index 5cc63ba03..b8616959b 100644
--- a/src/app/shared/popover/request-options/request-options.page.ts
+++ b/src/app/shared/popover/request-options/request-options.page.ts
@@ -83,11 +83,11 @@ export class RequestOptionsPage implements OnInit {
sendExpedienteToPending() {
this.processes.SetTaskToPending(this.task.SerialNumber).subscribe(res=>{
console.log(res);
- this.toastService.successMessage()
+ this.toastService._successMessage()
this.close();
},()=>{
- this.toastService.badRequest('Processo não encontrado')
+ this.toastService._badRequest('Processo não encontrado')
});
}
@@ -186,9 +186,9 @@ export class RequestOptionsPage implements OnInit {
try {
await this.processes.CompleteTask(body).toPromise()
this.close();
- this.toastService.successMessage()
+ this.toastService._successMessage()
} catch (error) {
- this.toastService.badRequest()
+ this.toastService._badRequest()
}
finally {
loader.remove()
@@ -255,9 +255,9 @@ export class RequestOptionsPage implements OnInit {
note
}).toPromise()
- this.toastService.successMessage('Processo arquivado')
+ this.toastService._successMessage('Processo arquivado')
} catch (error) {
- this.toastService.badRequest('Processo não arquivado')
+ this.toastService._badRequest('Processo não arquivado')
} finally {
loader.remove()
}
diff --git a/src/app/shared/publication/new-publication/new-publication.page.ts b/src/app/shared/publication/new-publication/new-publication.page.ts
index f270cef56..42526fa0b 100644
--- a/src/app/shared/publication/new-publication/new-publication.page.ts
+++ b/src/app/shared/publication/new-publication/new-publication.page.ts
@@ -202,11 +202,11 @@ export class NewPublicationPage implements OnInit {
try {
await this.publications.UpdatePublication(this.publication.ProcessId, this.publication).toPromise()
- this.toastService.successMessage()
+ this.toastService._successMessage()
this.goBack();
} catch (error) {
- this.toastService.badRequest()
+ this.toastService._badRequest()
} finally {
loader.remove()
}
@@ -230,11 +230,12 @@ export class NewPublicationPage implements OnInit {
try {
console.log(this.publication);
await this.publications.UpdatePublication(this.publication.ProcessId, this.publication).toPromise()
- this.toastService.successMessage()
+
+ this.toastService._successMessage()
this.goBack();
} catch (error) {
- this.toastService.badRequest()
+ this.toastService._badRequest()
} finally {
loader.remove()
}
@@ -258,11 +259,11 @@ export class NewPublicationPage implements OnInit {
try {
await this.publications.UpdatePublication(this.publication.ProcessId, this.publication).toPromise()
- this.toastService.successMessage()
+ this.toastService._successMessage()
this.goBack();
} catch (error) {
- this.toastService.badRequest()
+ this.toastService._badRequest()
} finally {
loader.remove()
}
@@ -289,11 +290,11 @@ export class NewPublicationPage implements OnInit {
try {
console.log(this.publication);
await this.publications.CreatePublication(this.folderId, this.publication).toPromise()
- this.toastService.successMessage()
+ this.toastService._successMessage()
this.goBackToViewPublications.emit();
} catch (error) {
- this.toastService.badRequest()
+ this.toastService._badRequest()
} finally {
loader.remove()
}
@@ -304,9 +305,11 @@ export class NewPublicationPage implements OnInit {
close(){
this.goBack();
}
+
clear(){
this.capturedImage = '';
}
+
setTitle(){
if(this.publicationType == '1') {
this.publicationTitle = 'Nova Publicação Rápida';
diff --git a/src/app/shared/publication/view-publications/publication-detail/publication-detail.page.ts b/src/app/shared/publication/view-publications/publication-detail/publication-detail.page.ts
index b94ed647f..0dc8d3c09 100644
--- a/src/app/shared/publication/view-publications/publication-detail/publication-detail.page.ts
+++ b/src/app/shared/publication/view-publications/publication-detail/publication-detail.page.ts
@@ -94,10 +94,10 @@ export class PublicationDetailPage implements OnInit {
try {
await this.publications.DeletePublication(this.folderId, this.publicationId).toPromise();
- this.toastService.successMessage("Publicação eliminado")
+ this.toastService._successMessage("Publicação eliminado")
this.goBackToViewPublications.emit();
} catch (error) {
- this.toastService.badRequest("Publicação não eliminado")
+ this.toastService._badRequest("Publicação não eliminado")
} finally {
laoder.remove()
}
diff --git a/src/app/shared/publication/view-publications/view-publications.page.html b/src/app/shared/publication/view-publications/view-publications.page.html
index ab4e8eb78..3b7dfd51b 100644
--- a/src/app/shared/publication/view-publications/view-publications.page.html
+++ b/src/app/shared/publication/view-publications/view-publications.page.html
@@ -1,12 +1,10 @@
-
-
-
+
{{item.Description}}
-
{{item.Detail}}
{{ item.DateBegin | date: 'dd-MM-yy | HH:mm'}}
@@ -34,7 +32,7 @@ 30" class="mb-10 post-img width-md-100">
diff --git a/src/app/shared/publication/view-publications/view-publications.page.ts b/src/app/shared/publication/view-publications/view-publications.page.ts
index 1d48135bb..72f6ae99f 100644
--- a/src/app/shared/publication/view-publications/view-publications.page.ts
+++ b/src/app/shared/publication/view-publications/view-publications.page.ts
@@ -4,7 +4,7 @@ import { Publication } from 'src/app/models/publication';
import { PublicationFolder } from 'src/app/models/publicationfolder';
import { LoadingService } from 'src/app/services/loading.service';
import { PublicationsService } from 'src/app/services/publications.service';
-import { PublicationDetailPage } from 'src/app/pages/publications/publication-detail/publication-detail.page';
+
import { NewPublicationPage } from 'src/app/pages/publications/new-publication/new-publication.page';
import { PublicationListStorage } from 'src/app/store/publication-list.service'
import { PublicationEventFolderStorage } from 'src/app/store/publication-event-folder.service';
diff --git a/src/app/store/publication-event-folder.service.ts b/src/app/store/publication-event-folder.service.ts
index caefad462..edd57c397 100644
--- a/src/app/store/publication-event-folder.service.ts
+++ b/src/app/store/publication-event-folder.service.ts
@@ -18,17 +18,17 @@ export class PublicationEventFolderService {
setTimeout(()=>{
let restore = localstoreService.get(this.keyName, [])
- this._list = restore.list
+ this._list = restore.list || []
}, 10)
}
get list() {
- return this._list
+ return this._list || []
}
reset(list: PublicationFolder[]) {
- this._list = list
+ this._list = list || []
this.save()
}
@@ -36,7 +36,7 @@ export class PublicationEventFolderService {
private save() {
setTimeout(()=> {
localstoreService.set(this.keyName, {
- list: this._list
+ list: this._list || []
})
}, 10)
}
diff --git a/src/app/store/publication-list.service.ts b/src/app/store/publication-list.service.ts
index a84ed779d..093f4f763 100644
--- a/src/app/store/publication-list.service.ts
+++ b/src/app/store/publication-list.service.ts
@@ -31,9 +31,12 @@ export class PublicationListService {
return this._document[folderId]
}
+
add(folderId, document = []) {
this._document[folderId] = document
+
+
setTimeout(()=> {
localstoreService.set(this.keyName, {
document: this._document
diff --git a/src/assets/gif/theme/blue/Blocks-loader.svg b/src/assets/gif/theme/blue/Blocks-loader.svg
new file mode 100644
index 000000000..498b9787d
--- /dev/null
+++ b/src/assets/gif/theme/blue/Blocks-loader.svg
@@ -0,0 +1,20 @@
+
+
\ No newline at end of file
diff --git a/src/assets/gif/theme/gov/Blocks-loader.svg b/src/assets/gif/theme/gov/Blocks-loader.svg
new file mode 100644
index 000000000..eef24b374
--- /dev/null
+++ b/src/assets/gif/theme/gov/Blocks-loader.svg
@@ -0,0 +1,20 @@
+
+
\ No newline at end of file
diff --git a/src/assets/gif/theme/tribunal/Blocks-loader.svg b/src/assets/gif/theme/tribunal/Blocks-loader.svg
new file mode 100644
index 000000000..6f4006567
--- /dev/null
+++ b/src/assets/gif/theme/tribunal/Blocks-loader.svg
@@ -0,0 +1,20 @@
+
+
\ No newline at end of file
diff --git a/src/assets/icon/chat/Ellipse 1.svg b/src/assets/icon/chat/Ellipse 1.svg
new file mode 100644
index 000000000..d43d45429
--- /dev/null
+++ b/src/assets/icon/chat/Ellipse 1.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/assets/icon/chat/Ellipse 3.svg b/src/assets/icon/chat/Ellipse 3.svg
new file mode 100644
index 000000000..ccbf2eb90
--- /dev/null
+++ b/src/assets/icon/chat/Ellipse 3.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/assets/icon/chat/Ellipse 8.svg b/src/assets/icon/chat/Ellipse 8.svg
new file mode 100644
index 000000000..475cd6171
--- /dev/null
+++ b/src/assets/icon/chat/Ellipse 8.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/assets/icon/chat/Ellipse 9.svg b/src/assets/icon/chat/Ellipse 9.svg
new file mode 100644
index 000000000..b0e7d1487
--- /dev/null
+++ b/src/assets/icon/chat/Ellipse 9.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/assets/icon/chat/Ellipse.svg b/src/assets/icon/chat/Ellipse.svg
new file mode 100644
index 000000000..60ed39b5b
--- /dev/null
+++ b/src/assets/icon/chat/Ellipse.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/assets/icon/chat/Ellipsed.svg b/src/assets/icon/chat/Ellipsed.svg
new file mode 100644
index 000000000..453e02896
--- /dev/null
+++ b/src/assets/icon/chat/Ellipsed.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/assets/icon/chat/Ellipselast.svg b/src/assets/icon/chat/Ellipselast.svg
new file mode 100644
index 000000000..d5c790d77
--- /dev/null
+++ b/src/assets/icon/chat/Ellipselast.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/assets/icon/chat/Untitled.svg b/src/assets/icon/chat/Untitled.svg
new file mode 100644
index 000000000..cd3bc9abc
--- /dev/null
+++ b/src/assets/icon/chat/Untitled.svg
@@ -0,0 +1,228 @@
+
diff --git a/src/assets/icon/chat/Vector.svg b/src/assets/icon/chat/Vector.svg
new file mode 100644
index 000000000..ad99b9c44
--- /dev/null
+++ b/src/assets/icon/chat/Vector.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/assets/icon/chat/circle-info-solid (1) 1.svg b/src/assets/icon/chat/circle-info-solid (1) 1.svg
new file mode 100644
index 000000000..bb713f866
--- /dev/null
+++ b/src/assets/icon/chat/circle-info-solid (1) 1.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/assets/icon/chat/circle-info-solids.svg b/src/assets/icon/chat/circle-info-solids.svg
new file mode 100644
index 000000000..544ac6623
--- /dev/null
+++ b/src/assets/icon/chat/circle-info-solids.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icon/chat/circle-xmark-solid 1.svg b/src/assets/icon/chat/circle-xmark-solid 1.svg
new file mode 100644
index 000000000..dbc039351
--- /dev/null
+++ b/src/assets/icon/chat/circle-xmark-solid 1.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/assets/images/theme/gov/tribunal-constitucional-logo-removebg-preview.png b/src/assets/images/theme/gov/tribunal-constitucional-logo-removebg-preview.png
new file mode 100644
index 000000000..5ab14f907
Binary files /dev/null and b/src/assets/images/theme/gov/tribunal-constitucional-logo-removebg-preview.png differ
diff --git a/src/global.scss b/src/global.scss
index 60aff4c0b..3e9a49fe0 100644
--- a/src/global.scss
+++ b/src/global.scss
@@ -747,6 +747,13 @@ app-header-no-search .ion-toolbar{
--title-text-color: rgb(0, 0, 0);
--subtitle-text-color: #000
+
+
+
+
+
+
+
}
@@ -1235,7 +1242,7 @@ ngx-mat-datetime-content{
.loading-blocker {
.loading-blocker-container {
- width: 250px;
+ width: 196px;
}
}
}
@@ -1297,4 +1304,73 @@ ngx-mat-datetime-content{
.add-people {
align-items: center;
height: 45px;
-}
\ No newline at end of file
+}
+
+
+@keyframes ldio-rpinwye8j0b {
+ 0% { transform: rotate(0deg) }
+ 50% { transform: rotate(180deg) }
+ 100% { transform: rotate(360deg) }
+ }
+ .ldio-rpinwye8j0b div {
+ position: absolute;
+ animation: ldio-rpinwye8j0b 1s linear infinite;
+ width: 160px;
+ height: 160px;
+ top: 20px;
+ left: 20px;
+ border-radius: 50%;
+ box-shadow: 0 4px 0 0 #e15b64;
+ transform-origin: 80px 82px;
+ }
+ .loadingio-eclipse {
+ width: 200px;
+ height: 200px;
+ display: inline-block;
+ overflow: hidden;
+ }
+ .ldio-rpinwye8j0b {
+ width: 100%;
+ height: 100%;
+ position: relative;
+ transform: translateZ(0) scale(1);
+ backface-visibility: hidden;
+ transform-origin: 0 0; /* see note above */
+ }
+ .ldio-rpinwye8j0b div { box-sizing: content-box; }
+
+ .transparent-modal {
+ --background: #f1eaeae7;
+ --margin: 0;
+ --padding: 0;
+
+ ion-content {
+ --background:#f1f0ebe7;
+
+ }
+}
+
+ ion-modal::part(content){
+ backdrop-filter: blur(12px);
+ }
+
+ .transparentblack-modal{
+ --background: #000000e7;
+
+ .transparent-modal .modal-wrapper {
+ --background: rgb(44, 39, 45);
+ }
+ }
+
+
+$font-family: 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif;
+$font-size: 11pt;
+
+ ion-row ul > li{
+ font-family: $font-family;
+ font-size: $font-size;
+
+}
+
+
+
\ No newline at end of file
diff --git a/src/main.ts b/src/main.ts
index d52b16637..61a416308 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -16,4 +16,5 @@ platformBrowserDynamic().bootstrapModule(AppModule)
.catch(err => console.log(err));
// Call the element loader after the platform has been bootstrapped
+
defineCustomElements(window);
diff --git a/src/proxy.conf.json b/src/proxy.conf.json
new file mode 100644
index 000000000..9e26dfeeb
--- /dev/null
+++ b/src/proxy.conf.json
@@ -0,0 +1 @@
+{}
\ No newline at end of file
diff --git a/src/style/main.scss b/src/style/main.scss
index 87e671c4b..bb7430d66 100644
--- a/src/style/main.scss
+++ b/src/style/main.scss
@@ -770,6 +770,17 @@
color: black;
}
+.header-color {
+ color: white;
+}
+
+.init-event-header {
+ color: white;
+ background: linear-gradient(270deg, var(--color2) 100%, var(--color3) 100%, var(--color4) 100%, var(--color5) 100%) !important;
+}
+
+
+
.background-blue {
background-color: #0d89d1;
}
diff --git a/src/theme/variables.scss b/src/theme/variables.scss
index b9d52a1e0..84d552a9d 100644
--- a/src/theme/variables.scss
+++ b/src/theme/variables.scss
@@ -588,9 +588,11 @@ $app-theme: mat-light-theme(
color: #061b52 !important;
margin: 0 auto !important;
}
+
.btn-no-color {
background-color: #fff;
}
+
.exp-workflow {
float: left;
margin-left: 15px;
@@ -627,6 +629,7 @@ body {
--indicator-color: transparent !important;
--indicator-color-checked: transparent !important;
}
+
.yellow-orange{
color: #ffb703 !important;
}
@@ -647,8 +650,12 @@ body {
--header-container-background: #fff;
--header-bottom-line-background: rgb(255, 0, 0);
--header-bottom-line-background-image: linear-gradient(to right, #ff0000, #fd0000, #ff0000);
- --font-awesome: #ff0000;
+ --font-awesome: #f7dddd;
--font-awesome-1: #c63527;
+ --PinDots: #44b5ea;
+ --PinCircleBackground: url(/auth.svg);
+ --PinBackground: #e1e7eb;
+ --PinTextColor: #44b5ea;
--color: #97cae631;
--color2: #97cae631;
@@ -721,6 +728,7 @@ body {
--button-color: #ffb81c;
--button-text-color: white;
--inicio-open-page-from-box: #c63527;
+ --PinBackground: #e1e7eb;
--header-tab-top-border: #000;
--header-tab-text-white: rgb(0, 0, 0);
@@ -733,6 +741,9 @@ body {
--mat-selected-hover: #c634277e;
--mat-calendar-body-selected: #c63527;
--monthview-selected: rgb(198 53 39 / 49%);
+ --PinDots: #c63527;
+ --PinTextColor: black;
+ --PinCircleBackground: url(/auth.svg);
--color: #d9d9d9;
--color2: #f0f0f0;
@@ -785,6 +796,7 @@ body {
}
}
+// blue
.default {
--login-label-text: #fff;
--chat-alert-msg-color: #fef4c5;
@@ -802,6 +814,12 @@ body {
--mat-selected-hover: rgb(216 240 255);
--mat-calendar-body-selected: #42b9fe ;
--monthview-selected: lightskyblue;
+
+ --PinDots: #44b5ea;
+ --PinTextColor: #44b5ea;
+ --PinCircleBackground: url(/assets/background/auth.svg);
+ --PinBackground: white !important;
+
--header-container-background: linear-gradient(
270deg,
var(--color2) 0%,
diff --git a/tsconfig.json b/tsconfig.json
index 7f4f42584..399fde719 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -3,6 +3,7 @@
"compilerOptions": {
"baseUrl": "./",
"outDir": "./dist/out-tsc",
+ "skipLibCheck": true,
"sourceMap": true,
"declaration": false,
"downlevelIteration": true,
@@ -10,7 +11,7 @@
"module": "es2020",
"moduleResolution": "node",
"importHelpers": true,
- "target": "es2015",
+ "target": "es2017",
//"target": "es5",
"lib": [
"es2018",
-