Skip to content
Snippets Groups Projects
Commit 391796ac authored by Alex ORLUC's avatar Alex ORLUC
Browse files

FEAT #12026 TIME 0:35 WIP signature position

parent 292c43ea
No related branches found
No related tags found
No related merge requests found
...@@ -13,9 +13,16 @@ ...@@ -13,9 +13,16 @@
</div> </div>
</div> </div>
<div class="col-md-12" style="text-align: right;"> <div class="col-md-12" style="text-align: right;">
<button mat-button *ngIf="additionalsInfos.attachments.length === 1" color="primary" type="button" [matMenuTriggerFor]="menu" [disabled]="!isValidParaph()">Gérer les positions de signature...</button> <button mat-button *ngIf="additionalsInfos.attachments.length === 1" color="primary" type="button"
<mat-menu #menu="matMenu"> [matMenuTriggerFor]="menu" [disabled]="!isValidParaph()">Gérer les positions de signature...</button>
<button mat-menu-item *ngFor="let resource of resourcesToSign" (click)="openSignaturePosition(resource.resId)">{{resource.title}}</button> <mat-menu #menu="matMenu" class="docToSignTemplateMenu">
<button mat-menu-item *ngFor="let resource of resourcesToSign" (click)="openSignaturePosition(resource)"
style="font-size:12px;">
<mat-icon style="height: auto;" class="fas fa-compress-arrows-alt"></mat-icon>
<span>
<span color="primary">{{resource.chrono}}</span>&nbsp;- {{resource.title}}
</span>
</button>
</mat-menu> </mat-menu>
</div> </div>
<div class="col-md-12" *ngIf="additionalsInfos.visaWorkflowError"> <div class="col-md-12" *ngIf="additionalsInfos.visaWorkflowError">
......
...@@ -33,4 +33,8 @@ ...@@ -33,4 +33,8 @@
.alert-message { .alert-message {
margin: 0 ; margin: 0 ;
}
::ng-deep.docToSignTemplateMenu.mat-menu-panel {
max-width: 100% !important;
} }
\ No newline at end of file
...@@ -77,22 +77,22 @@ export class MaarchParaphComponent implements OnInit { ...@@ -77,22 +77,22 @@ export class MaarchParaphComponent implements OnInit {
return this.externalSignatoryBookDatas; return this.externalSignatoryBookDatas;
} }
openSignaturePosition(resId: number) { openSignaturePosition(resource: any) {
console.log('this.additionalsInfos', this.additionalsInfos); console.log('this.additionalsInfos', this.additionalsInfos);
const dialogRef = this.dialog.open(SignaturePositionComponent, { const dialogRef = this.dialog.open(SignaturePositionComponent, {
height: '99vh', height: '99vh',
panelClass: 'maarch-modal', panelClass: 'maarch-modal',
disableClose: true, disableClose: true,
data: { data: {
resId: resId, resource: resource,
workflow: this.appVisaWorkflow.getWorkflow() workflow: this.appVisaWorkflow.getWorkflow()
} }
}); });
dialogRef.afterClosed().pipe( dialogRef.afterClosed().pipe(
filter((res: any) => !this.functions.empty(res)), filter((res: any) => !this.functions.empty(res)),
tap((res: any) => { tap((res: any) => {
this.signaturePositions[resId] = res; this.resourcesToSign.filter((itemToSign: any) => itemToSign.resId === resource.resId && itemToSign.mainDocument === resource.mainDocument)[0]['signaturePositions'] = res;
console.log('result', this.signaturePositions); console.log('result', this.resourcesToSign);
}), }),
finalize(() => this.loading = false), finalize(() => this.loading = false),
catchError((err: any) => { catchError((err: any) => {
......
...@@ -41,6 +41,9 @@ export class SignaturePositionComponent implements OnInit { ...@@ -41,6 +41,9 @@ export class SignaturePositionComponent implements OnInit {
ngOnInit(): void { ngOnInit(): void {
this.currentPage = 1; this.currentPage = 1;
this.getPageAttachment(); this.getPageAttachment();
if (this.data.resource.signaturePositions !== undefined) {
this.signList = this.data.resource.signaturePositions;
}
console.log(this.data.workflow); console.log(this.data.workflow);
} }
......
...@@ -62,7 +62,9 @@ export class SendExternalSignatoryBookActionComponent implements OnInit { ...@@ -62,7 +62,9 @@ export class SendExternalSignatoryBookActionComponent implements OnInit {
ngOnInit(): void { ngOnInit(): void {
this.loading = true; this.loading = true;
if (this.data.resource.integrations['inSignatureBook']) {
this.toggleDocToSign(true, this.data.resource, true);
}
this.checkExternalSignatureBook(); this.checkExternalSignatureBook();
} }
...@@ -80,18 +82,21 @@ export class SendExternalSignatoryBookActionComponent implements OnInit { ...@@ -80,18 +82,21 @@ export class SendExternalSignatoryBookActionComponent implements OnInit {
this.http.post(`../rest/resourcesList/users/${this.data.userId}/groups/${this.data.groupId}/baskets/${this.data.basketId}/checkExternalSignatoryBook`, { resources: this.data.resIds }).pipe( this.http.post(`../rest/resourcesList/users/${this.data.userId}/groups/${this.data.groupId}/baskets/${this.data.basketId}/checkExternalSignatoryBook`, { resources: this.data.resIds }).pipe(
tap((data: any) => { tap((data: any) => {
// FOR TEST // FOR TEST
this.resourcesToSign = [ const test = [
{ {
resId: 103, resId: 103,
chrono: 'MAARCH/2020A/2', chrono: 'MAARCH/2020A/2',
title: 'Réponse à signer', subject: 'Réponse à signer',
}, },
{ {
resId: 104, resId: 104,
chrono: 'MAARCH/2020A/4', chrono: 'MAARCH/2020A/4',
title: 'Réponse à signer 2', subject: 'Réponse à signer 2',
} }
]; ];
test.forEach((res: any) => {
this.toggleDocToSign(true, res, false);
});
this.additionalsInfos = data.additionalsInfos; this.additionalsInfos = data.additionalsInfos;
if (this.additionalsInfos.attachments.length > 0) { if (this.additionalsInfos.attachments.length > 0) {
this.signatoryBookEnabled = data.signatureBookEnabled; this.signatoryBookEnabled = data.signatureBookEnabled;
...@@ -150,6 +155,7 @@ export class SendExternalSignatoryBookActionComponent implements OnInit { ...@@ -150,6 +155,7 @@ export class SendExternalSignatoryBookActionComponent implements OnInit {
this.http.put(`../rest/resourcesList/integrations`, { resources: this.data.resIds, integrations: { [integrationId]: !this.data.resource.integrations[integrationId] } }).pipe( this.http.put(`../rest/resourcesList/integrations`, { resources: this.data.resIds, integrations: { [integrationId]: !this.data.resource.integrations[integrationId] } }).pipe(
tap(async () => { tap(async () => {
this.data.resource.integrations[integrationId] = !this.data.resource.integrations[integrationId]; this.data.resource.integrations[integrationId] = !this.data.resource.integrations[integrationId];
this.toggleDocToSign(this.data.resource.integrations[integrationId], this.data.resource, true);
await this.checkExternalSignatureBook(); await this.checkExternalSignatureBook();
this.changeDetectorRef.detectChanges(); this.changeDetectorRef.detectChanges();
}), }),
...@@ -160,5 +166,18 @@ export class SendExternalSignatoryBookActionComponent implements OnInit { ...@@ -160,5 +166,18 @@ export class SendExternalSignatoryBookActionComponent implements OnInit {
).subscribe(); ).subscribe();
} }
toggleDocToSign(state: boolean, document: any, mainDocument: boolean = true) {
if (state) {
this.resourcesToSign.push(
{
resId: document.resId,
chrono: document.chrono,
title: document.subject,
mainDocument: mainDocument,
});
} else {
const index = this.resourcesToSign.map((item: any) => `${item.resId}_${item.mainDocument}`).indexOf(`${document.resId}_${mainDocument}`);
this.resourcesToSign.splice(index, 1);
}
}
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment