This commit is contained in:
Peter Maquiran
2023-08-24 22:15:56 +01:00
parent 7280e5d494
commit 7302918ed8
17 changed files with 158 additions and 227 deletions
@@ -58,7 +58,7 @@
</div>
<div>
<div class="d-flex align-center">
<div class="d-flex align-center flex-column">
<ion-icon *ngIf="SessionStore.user.RoleDescription != 'Presidente da República' && SessionStore.user.RoleDescription != 'Ministro e Director do Gabinete do PR' && SessionStore.user.RoleDescription != 'Secretário Geral' " class="profile-pic"
src="assets/images/theme/gov/icons-profile.svg"></ion-icon>
@@ -76,7 +76,11 @@
src="assets/images/theme/gov/icons-profile.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'doneIt' " class="profile-pic"
src="assets/images/theme/{{ThemeService.currentTheme}}/icons-profile.svg"></ion-icon> -->
<div style="background: black;width: 50px;height: 50px;position: relative;top: -33px;left: 38px;border-radius: 55px;overflow: hidden;border: 5px solid white;">
<img src="assets/images/camera.png">
</div>
</div>
</div>
<div class="profile-info">
File diff suppressed because one or more lines are too long
@@ -193,9 +193,9 @@
<app-new-publication
*ngIf="desktopComponent.showAddNewPublication"
class="height-100 d-flex flex-column overflow-hidden background-white flex-grow-1"
[folderId]="folderId"
[publicationType]="publicationType"
[publicationId]="publicationId"
[publication]="publication"
[folderId]="folderId"
(closeDesktopComponent)="closeDesktopComponent($event)"
(goBacktoPublicationDetails)="goBacktoPublicationDetails()"
@@ -395,9 +395,9 @@ export class PublicationsPage implements OnInit {
this.desktopComponent.showEditActions = true;
}
async openPublicationDetails(publicationId: string) {
async openPublicationDetails({DocumentId, ProcessId}) {
this.publicationId = publicationId;
this.publicationId = DocumentId;
this.closeDesktopComponent();
this.idSelected = this.folderId;
@@ -21,7 +21,7 @@ import { PublicationFolderService } from 'src/app/store/publication-folder.servi
})
export class PublicationDetailPage implements OnInit {
showLoader: boolean;
publicationId: string;
DocumentId: string;
folderId: string;
publication: Publication;
isModal = false
@@ -37,92 +37,79 @@ export class PublicationDetailPage implements OnInit {
private httpErrorHandle: HttpErrorHandle,
public publicationFolderService: PublicationFolderService
) {
this.activatedRoute.paramMap.subscribe(params => {
// console.log(params["params"])
if(params["params"]) {
this.folderId = params["params"].folderId;
this.publicationId = params["params"].publicationId;
this.isModal = params["params"].isModal;
//
}
});
this.publication = {
DateIndex: null,
DocumentId: null,
ProcessId:'',
Title:'',
Message: '',
/* image: null, */
DatePublication: null,
FileBase64: '',
OriginalFileName: '',
FileExtension: '',
};
}
ngOnInit() {
this.getPublicationDetail();
this.activatedRoute.paramMap.subscribe(params => {
// console.log(params["params"])
if(params["params"]) {
this.folderId = params["params"].folderId;
this.DocumentId = params["params"].publicationId;
this.isModal = params["params"].isModal;
//
console.log('params', params)
if(this.DocumentId) {
this.getPublicationDetail();
}
}
});
this.publication = {
DateIndex: null,
DocumentId: null,
ProcessId:'',
Title:'',
Message: '',
/* image: null, */
DatePublication: null,
FileBase64: '',
OriginalFileName: '',
FileExtension: '',
};
}
doRefresh(event) {
this.getPublicationDetail();
setTimeout(() => {
try {
event?.target?.complete();
} catch(error) {}
}, 2000);
event?.target?.complete();
} catch(error) {}
}, 2000);
}
getPublicationDetail() {
const folderId = this.folderId
const localPublication = this.publicationFolderService.getLocalPublication(folderId, this.publicationId);
if(localPublication?.DocumentId) {
this.showLoader = true;
this.publications.GetPublicationById(this.DocumentId).subscribe(res => {
/* this.publication = res; */
this.publication = {
DateIndex: localPublication.DateIndex,
DocumentId: localPublication.DocumentId,
ProcessId:localPublication.ProcessId,
Title:localPublication.Title,
Message: localPublication.Message,
DatePublication: localPublication.DatePublication,
FileBase64: localPublication.FileBase64,
OriginalFileName: localPublication.OriginalFileName,
FileExtension: 'jpeg',
DateIndex: res.DateIndex,
DocumentId: res.DocumentId,
ProcessId:res.ProcessId,
Title:res.Title,
Message: res.Message,
DatePublication: res.DatePublication,
FileBase64: "data:image/jpeg;base64," + res.FileBase64,
OriginalFileName: res.OriginalFileName,
FileExtension: res.FileExtension,
}
} else {
this.showLoader = true;
console.log('this.publication', this.publication)
this.showLoader = false;
}, (error) => {
this.showLoader = false;
this.publications.GetPublicationById(this.publicationId).subscribe(res => {
if(error.status == 404) {
this.publicationFolderService.deletePost(this.publication.ProcessId, this.publication.DocumentId)
}
/* this.publication = res; */
this.publication = {
DateIndex: res.DateIndex,
DocumentId: res.DocumentId,
ProcessId:res.ProcessId,
Title:res.Title,
Message: res.Message,
DatePublication: res.DatePublication,
FileBase64: "data:image/jpg;base64," + res.FileBase64,
OriginalFileName: res.OriginalFileName,
FileExtension: 'jpeg',
}
this.showLoader = false;
}, (error) => {
this.showLoader = false;
if(error.status == 404) {
this.publicationFolderService.deletePost(this.folderId, this.publicationId)
}
this.goBack();
this.httpErrorHandle.httpStatusHandle(error)
});
}
this.goBack();
this.httpErrorHandle.httpStatusHandle(error)
});
}
@@ -147,18 +134,18 @@ export class PublicationDetailPage implements OnInit {
const loader = this.toastService.loading()
try {
await this.publications.DeletePublication(this.folderId, this.publicationId).toPromise();
await this.publications.DeletePublication(this.folderId, this.DocumentId).toPromise();
this.httpErrorHandle.httpsSucessMessagge('Eliminar publicação')
if(window['app-view-publications-page-doRefresh']) {
window['app-view-publications-page-doRefresh']()
}
this.publicationFolderService.deletePost(this.folderId, this.publicationId)
this.publicationFolderService.deletePost(this.folderId, this.DocumentId)
this.goBack();
} catch (error) {
if(error.status == 404) {
this.publicationFolderService.deletePost(this.folderId, this.publicationId)
this.publicationFolderService.deletePost(this.folderId, this.DocumentId)
this.goBack();
}
this.httpErrorHandle.httpStatusHandle(error)
@@ -33,7 +33,7 @@
<p class="px-20 item-content-detail font-14-em">{{publicationFolderService.FolderDetails[folderId].Detail}}</p>
<ion-card *ngFor="let publication of publicationFolderService.publicationList[folderId] let i = index"
(click)="goToPublicationDetail(publication.DocumentId)"
(click)="goToPublicationDetail(publication.DocumentId, publication.ProcessId)"
>
<ion-card-content>
<div class="post-img">
@@ -229,15 +229,17 @@ export class ViewPublicationsPage implements OnInit {
await modal.present();
}
goToPublicationDetail(publicationId: string) {
this.router.navigate(['/home/publications/view-publications', this.folderId, publicationId]);
goToPublicationDetail(DocumentId:string, ProcessId: string) {
this.router.navigate(['/home/publications/view-publications', this.folderId, DocumentId]);
}
async viewPublicationDetail(publicationId: string) {
async viewPublicationDetail(DocumentId: string) {
alert('nice');
const modal = await this.modalController.create({
component: PublicationDetailPage,
componentProps: {
publicationId: publicationId,
DocumentId: DocumentId,
folderId: this.folderId,
isModal: true
},
+4 -4
View File
@@ -10,7 +10,7 @@ export class PublicationPipe implements PipeTransform {
return null;
}
itemList(element ): Publication {
itemList(element): Publication {
return {
"DateIndex": element.DateIndex,
"DocumentId":element.DocumentId,
@@ -20,9 +20,9 @@ export class PublicationPipe implements PipeTransform {
"DatePublication": element.DatePublication,
/* image:itemImage, */
"FileBase64": "data:image/jpg;base64," + element.FileBase64,
"OriginalFileName": element?.OriginalFileName,
"FileExtension": element?.FileExtension,
"OrganicEntityId": element.OrganicEntityId
"OriginalFileName": element.OriginalFileName,
"FileExtension": element.FileExtension,
"OrganicEntityId": element.OrganicEntityId,
}
}
+5 -5
View File
@@ -47,17 +47,17 @@
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " class="icon font-45-em" src='assets/images/icons-profile.svg'></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " class="icon font-45-em" src='assets/images/theme/gov/icons-profile.svg'></ion-icon> -->
<img *ngIf="loggeduser.RoleDescription == 'Presidente da República' " class="profile-image"
<img *ngIf="loggeduser.RoleDescription == 'Presidente da República' " class="icon font-45-em"
src='assets/images/presidente.png'>
<img *ngIf="loggeduser.RoleDescription == 'Ministro e Director do Gabinete do PR' " class="profile-image"
<img *ngIf="loggeduser.RoleDescription == 'Ministro e Director do Gabinete do PR' " class="icon font-45-em"
src='assets/images/ministro.png'>
<img *ngIf="loggeduser.RoleDescription == 'Secretário Geral' " class="profile-image"
<img *ngIf="loggeduser.RoleDescription == 'Secretário Geral' " class="icon font-45-em"
src='assets/images/secretaria_geral.png'>
<ion-icon *ngIf="loggeduser.RoleDescription != 'Presidente da República'&& loggeduser.RoleDescription != 'Ministro e Director do Gabinete do PR' && loggeduser.RoleDescription != 'Secretário Geral' " class="icon font-45-em" src='assets/images/theme/gov/icons-profile.svg'></ion-icon>
<div class="profile-text">
<div *ngIf="notificationLength > 0" class="icon-badge" style="right: -18px;top: -29px;">
<div *ngIf="notificationLength > 0" class="icon-badge" style="right: -6px;top: 38px;top: -6px;">
{{notificationLength}} </div>
</div>
</div>
@@ -212,7 +212,7 @@
<div class="profile-text">
<div *ngIf="notificationLength > 0" class="icon-badge" style="right: -18px;top: -29px;">
<div *ngIf="notificationLength > 0" class="icon-badge" style="right: -6px;top: 38px;top: -6px;">
{{notificationLength}} </div>
</div>
+5 -5
View File
@@ -11,7 +11,7 @@
.profile-image {
border-radius: 80%; /* Tornar a imagem circular */
width: 25.33%;
width: 100%;
height: 25.33%;
overflow: auto;
}
@@ -88,12 +88,12 @@
.div-profile {
height: fit-content;
justify-content: flex-end;
display: flex;
background-color: transparent;
justify-content: center;
align-items: center;
overflow: auto;
display: flex !important;
justify-content: end;
max-width: 45px;
border-radius: 50px;
.icon{
position: relative;
File diff suppressed because one or more lines are too long
@@ -9,6 +9,7 @@ import { ViewMediaPage } from 'src/app/modals/view-media/view-media.page';
import { PermissionService } from 'src/app/services/permission.service';
import { HttpErrorHandle } from 'src/app/services/http-error-handle.service';
import { PublicationFolderService } from 'src/app/store/publication-folder.service';
import { PublicationPipe } from 'src/app/pipes/publication.pipe';
@Component({
selector: 'app-publication-detail-shared',
templateUrl: './publication-detail.page.html',
@@ -23,6 +24,7 @@ export class PublicationDetailPage implements OnInit {
@Output() addNewPublication = new EventEmitter<any>();
@Output() closeDesktopComponent = new EventEmitter<any>();
@Output() goBackToViewPublications = new EventEmitter();
publicationPipe = new PublicationPipe()
constructor(
private modalController: ModalController,
@@ -67,35 +69,18 @@ export class PublicationDetailPage implements OnInit {
const folderId = this.folderId
const localPublication = this.publicationFolderService.getLocalPublication(folderId, this.publicationId);
if(localPublication?.DocumentId) {
if(localPublication?.ProcessId) {
this.publication = localPublication
this.publication = {
DateIndex: localPublication.DateIndex,
DocumentId: localPublication.DocumentId,
ProcessId:localPublication.ProcessId,
Title:localPublication.Title,
Message: localPublication.Message,
DatePublication: localPublication.DatePublication,
FileBase64: localPublication.FileBase64,
OriginalFileName: localPublication.OriginalFileName,
FileExtension: 'jpeg',
}
} else {
this.showLoader = true;
this.publications.GetPublicationById(this.publicationId).subscribe(res => {
this.publication = {
DateIndex: res.DateIndex,
DocumentId: res.DocumentId,
ProcessId:res.ProcessId,
Title:res.Title,
Message: res.Message,
DatePublication: res.DatePublication,
FileBase64: "data:image/jpg;base64," + res.FileBase64,
OriginalFileName: res.OriginalFileName,
FileExtension: 'jpeg',
}
this.publication = this.publicationPipe.itemList(res)
this.showLoader = false;
}, (error) => {
this.showLoader = false;
@@ -165,6 +150,7 @@ export class PublicationDetailPage implements OnInit {
});
await modal.present();
} else {
this.addNewPublication.emit({
publicationType: publicationType,
folderId: this.folderId,
@@ -38,7 +38,7 @@
<p class="item-content-detail">{{publicationFolderService.FolderDetails[folderId].Detail}}</p>
<ion-card *ngFor="let publication of publicationFolderService.publicationList[folderId] let i = index"
(click)="viewPublicationDetail(publication.DocumentId)">
(click)="viewPublicationDetail(publication.DocumentId, publication.ProcessId)">
<ion-card-content>
<div class="post-img">
<img [lazyLoad]="publication.FileBase64">
@@ -191,7 +191,6 @@ export class ViewPublicationsPage implements OnInit {
const found = this.publicationIsPresent(publicationId, folderId)
if(!found) {
this.publicationFolderService.publicationList[folderId].push(publicationDetails)
// PublicationModel.create(publicationDetails)
} else {
this.publicationFolderService.publicationList[folderId][findIndex] = publicationDetails
}
@@ -287,9 +286,9 @@ export class ViewPublicationsPage implements OnInit {
}
async viewPublicationDetail(publicationId:string) {
async viewPublicationDetail(DocumentId:string, ProcessId: string) {
this.openPublicationDetails.emit(publicationId);
this.openPublicationDetails.emit({DocumentId, ProcessId});
}
+4 -7
View File
@@ -84,11 +84,11 @@ export class PublicationFolderService {
}
}
deletePost(folderId: any, publicationId: any) {
deletePost(folderId: any, DocumentId: any) {
if(this.publicationList[folderId]) {
this.publicationList[folderId] = this.publicationList[folderId].filter( e => e.DocumentId != publicationId)
this.publicationList[folderId] = this.publicationList[folderId].filter( e => e.DocumentId != DocumentId)
this.save(folderId)
}
@@ -191,13 +191,10 @@ export class PublicationFolderService {
}
getLocalPublication (folderId, publicationId) {
getLocalPublication (folderId, DocumentId) {
if(this.publicationList[folderId]) {
this.publicationList[folderId].filter( e=> e.ProcessId == publicationId || e.DocumentId == publicationId);
return this.publicationList[folderId].filter( e => e.ProcessId == publicationId || e.DocumentId == publicationId)?.[0]
return this.publicationList[folderId].find( e => e.DocumentId == DocumentId )
} else {
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

File diff suppressed because one or more lines are too long