From 755b954d51e2265ffebabc780e7c021716d0b94d Mon Sep 17 00:00:00 2001 From: Alex ORLUC <alex.orluc@maarch.org> Date: Wed, 4 Mar 2020 18:55:38 +0100 Subject: [PATCH] FEAT #13119 TIME 4 fix css modal (part1) --- src/frontend/app/actions/actions.service.ts | 24 +- ...ontinue-avis-circuit-action.component.html | 129 +++--- ...ontinue-avis-circuit-action.component.scss | 8 - .../give-avis-parallel-action.component.html | 112 +++--- .../give-avis-parallel-action.component.scss | 8 - .../send-avis-parallel-action.component.html | 101 ++--- .../send-avis-parallel-action.component.scss | 8 - ...lidate-avis-parallel-action.component.html | 120 +++--- ...lidate-avis-parallel-action.component.scss | 8 - ...validate-avis-parallel-action.component.ts | 2 +- .../send-avis-workflow-action.component.html | 101 ++--- .../send-avis-workflow-action.component.scss | 8 - .../close-and-index-action.component.html | 49 +-- .../close-mail-action.component.html | 76 ++-- ...attachments-or-notes-action.component.html | 39 +- .../confirm-action.component.html | 38 +- ...nowledgement-receipt-action.component.html | 179 +++++---- .../redirect-action.component.html | 179 +++++---- .../redirect-action.component.scss | 3 - ...ect-initiator-entity-action.component.html | 38 +- ...d-external-note-book-action.component.html | 99 ++--- ...d-external-note-book-action.component.scss | 8 - ...ernal-signatory-book-action.component.html | 131 ++++--- ...ernal-signatory-book-action.component.scss | 8 - .../send-shipping-action.component.html | 226 ++++++----- ...wledgement-send-date-action.component.html | 63 +-- ...pdate-departure-date-action.component.html | 42 +- .../view-doc-action.component.html | 16 +- ...ontinue-visa-circuit-action.component.html | 130 +++--- ...ontinue-visa-circuit-action.component.scss | 8 - .../interrupt-visa-action.component.html | 88 +++-- ...isa-back-to-previous-action.component.html | 85 ++-- .../reset-visa-action.component.html | 86 ++-- .../send-signature-book-action.component.html | 111 +++--- .../send-signature-book-action.component.scss | 8 - .../modal/contact-modal.component.html | 20 +- .../modal/contact-modal.component.scss | 18 - .../contact/modal/contact-modal.component.ts | 6 +- .../entities-administration.component.ts | 4 +- src/frontend/app/app.module.ts | 1 - .../attachment-create.component.scss | 5 - .../attachments/attachments-list.component.ts | 10 +- .../attachment-page.component.html | 8 +- .../attachment-page.component.scss | 5 - .../add-avis-model-modal.component.html | 23 +- .../add-avis-model-modal.component.scss | 12 - .../app/avis/avis-workflow.component.ts | 2 +- .../contact-autocomplete.component.ts | 3 +- .../modal/contacts-list-modal.component.html | 22 +- .../modal/contacts-list-modal.component.scss | 13 - .../app/folder/folder-tree.component.ts | 2 +- .../folder-update.component.html | 90 +++-- .../folder-update.component.scss | 3 - .../folder-update/folder-update.component.ts | 3 +- .../app/indexation/indexation.component.ts | 2 +- ...rivate-indexing-model-modal.component.html | 26 +- ...rivate-indexing-model-modal.component.scss | 14 +- ...-private-indexing-model-modal.component.ts | 3 - .../info-change-password-modal.component.html | 24 +- .../link-resource-modal.component.html | 32 +- .../link-resource-modal.component.scss | 14 - .../linked-resource-list.component.ts | 4 +- .../app/list/basket-list.component.ts | 2 +- .../app/list/export/export.component.html | 145 +++---- .../summarySheet/summary-sheet.component.html | 140 ++++--- .../summarySheet/summary-sheet.component.scss | 11 +- .../summarySheet/summary-sheet.component.ts | 7 +- .../app/list/tools/tools-list.component.ts | 3 +- .../app/password-modification.component.ts | 82 ++-- .../printed-folder-modal.component.html | 186 ++++----- .../printed-folder-modal.component.ts | 2 +- src/frontend/app/process/process.component.ts | 4 +- .../sent-resource-list.component.ts | 2 +- .../sent-resource-page.component.html | 371 +++++++++--------- src/frontend/app/signature-book.component.ts | 2 +- .../app/viewer/document-viewer.component.ts | 2 +- .../document-viewer-modal.component.html | 22 +- .../document-viewer-modal.component.scss | 5 - .../add-visa-model-modal.component.html | 23 +- .../add-visa-model-modal.component.scss | 13 +- .../modal/visa-workflow-modal.component.html | 10 +- .../modal/visa-workflow-modal.component.scss | 13 +- src/frontend/css/maarch-material-modal.scss | 126 +++++- 83 files changed, 2019 insertions(+), 1860 deletions(-) diff --git a/src/frontend/app/actions/actions.service.ts b/src/frontend/app/actions/actions.service.ts index e92389606ca..69a9ce9f9ac 100644 --- a/src/frontend/app/actions/actions.service.ts +++ b/src/frontend/app/actions/actions.service.ts @@ -255,6 +255,7 @@ export class ActionsService { confirmAction(options: any = null) { const dialogRef = this.dialog.open(ConfirmActionComponent, { + panelClass: 'maarch-modal', disableClose: true, width: '500px', data: this.setDatasActionToSend() @@ -280,6 +281,7 @@ export class ActionsService { const dialogRef = this.dialog.open(CloseMailActionComponent, { disableClose: true, width: '500px', + panelClass: 'maarch-modal', data: this.setDatasActionToSend() }); dialogRef.afterClosed().pipe( @@ -300,6 +302,7 @@ export class ActionsService { closeAndIndexAction(options: any = null) { const dialogRef = this.dialog.open(CloseAndIndexActionComponent, { + panelClass: 'maarch-modal', disableClose: true, width: '500px', data: this.setDatasActionToSend() @@ -339,6 +342,7 @@ export class ActionsService { redirectInitiatorEntityAction(options: any = null) { const dialogRef = this.dialog.open(redirectInitiatorEntityActionComponent, { + panelClass: 'maarch-modal', disableClose: true, width: '500px', data: this.setDatasActionToSend() @@ -361,6 +365,7 @@ export class ActionsService { closeMailWithAttachmentsOrNotesAction(options: any = null) { const dialogRef = this.dialog.open(closeMailWithAttachmentsOrNotesActionComponent, { + panelClass: 'maarch-modal', disableClose: true, width: '500px', data: this.setDatasActionToSend() @@ -383,6 +388,7 @@ export class ActionsService { updateAcknowledgementSendDateAction(options: any = null) { const dialogRef = this.dialog.open(UpdateAcknowledgementSendDateActionComponent, { + panelClass: 'maarch-modal', disableClose: true, width: '500px', data: this.setDatasActionToSend() @@ -405,6 +411,7 @@ export class ActionsService { createAcknowledgementReceiptsAction(options: any = null) { const dialogRef = this.dialog.open(CreateAcknowledgementReceiptActionComponent, { + panelClass: 'maarch-modal', disableClose: true, width: '600px', data: this.setDatasActionToSend() @@ -427,6 +434,7 @@ export class ActionsService { updateDepartureDateAction(options: any = null) { const dialogRef = this.dialog.open(UpdateDepartureDateActionComponent, { + panelClass: 'maarch-modal', disableClose: true, width: '500px', data: this.setDatasActionToSend() @@ -515,13 +523,14 @@ export class ActionsService { viewDoc(options: any = null) { this.dialog.open(ViewDocActionComponent, { - panelClass: 'no-padding-full-dialog', + panelClass: 'maarch-modal no-padding-full-dialog', data: this.setDatasActionToSend() }); } sendExternalSignatoryBookAction(options: any = null) { const dialogRef = this.dialog.open(SendExternalSignatoryBookActionComponent, { + panelClass: 'maarch-modal', disableClose: true, width: '500px', data: this.setDatasActionToSend() @@ -544,6 +553,7 @@ export class ActionsService { sendExternalNoteBookAction(options: any = null) { const dialogRef = this.dialog.open(SendExternalNoteBookActionComponent, { + panelClass: 'maarch-modal', disableClose: true, width: '500px', data: this.setDatasActionToSend() @@ -566,6 +576,7 @@ export class ActionsService { redirectAction(options: any = null) { const dialogRef = this.dialog.open(RedirectActionComponent, { + panelClass: 'maarch-modal', disableClose: true, data: this.setDatasActionToSend() }); @@ -587,6 +598,7 @@ export class ActionsService { sendShippingAction(options: any = null) { const dialogRef = this.dialog.open(SendShippingActionComponent, { + panelClass: 'maarch-modal', disableClose: true, minWidth: '500px', data: this.setDatasActionToSend() @@ -609,6 +621,7 @@ export class ActionsService { sendSignatureBookAction(options: any = null) { const dialogRef = this.dialog.open(SendSignatureBookActionComponent, { + panelClass: 'maarch-modal', autoFocus: false, disableClose: true, data: this.setDatasActionToSend() @@ -631,6 +644,7 @@ export class ActionsService { continueVisaCircuitAction(options: any = null) { const dialogRef = this.dialog.open(ContinueVisaCircuitActionComponent, { + panelClass: 'maarch-modal', autoFocus: false, disableClose: true, data: this.setDatasActionToSend() @@ -697,6 +711,7 @@ export class ActionsService { rejectVisaBackToPreviousAction(options: any = null) { const dialogRef = this.dialog.open(RejectVisaBackToPrevousActionComponent, { + panelClass: 'maarch-modal', disableClose: true, width: '500px', data: this.setDatasActionToSend() @@ -719,6 +734,7 @@ export class ActionsService { resetVisaAction(options: any = null) { const dialogRef = this.dialog.open(ResetVisaActionComponent, { + panelClass: 'maarch-modal', disableClose: true, width: '500px', data: this.setDatasActionToSend() @@ -741,6 +757,7 @@ export class ActionsService { interruptVisaAction(options: any = null) { const dialogRef = this.dialog.open(InterruptVisaActionComponent, { + panelClass: 'maarch-modal', disableClose: true, width: '500px', data: this.setDatasActionToSend() @@ -763,6 +780,7 @@ export class ActionsService { sendToOpinionCircuitAction(options: any = null) { const dialogRef = this.dialog.open(SendAvisWorkflowComponent, { + panelClass: 'maarch-modal', autoFocus: false, disableClose: true, data: this.setDatasActionToSend() @@ -785,6 +803,7 @@ export class ActionsService { sendToParallelOpinion(options: any = null) { const dialogRef = this.dialog.open(SendAvisParallelComponent, { + panelClass: 'maarch-modal', autoFocus: false, disableClose: true, data: this.setDatasActionToSend() @@ -807,6 +826,7 @@ export class ActionsService { continueOpinionCircuitAction(options: any = null) { const dialogRef = this.dialog.open(ContinueAvisCircuitActionComponent, { + panelClass: 'maarch-modal', autoFocus: false, disableClose: true, data: this.setDatasActionToSend() @@ -829,6 +849,7 @@ export class ActionsService { giveOpinionParallelAction(options: any = null) { const dialogRef = this.dialog.open(GiveAvisParallelActionComponent, { + panelClass: 'maarch-modal', autoFocus: false, disableClose: true, data: this.setDatasActionToSend() @@ -851,6 +872,7 @@ export class ActionsService { validateParallelOpinionDiffusionAction(options: any = null) { const dialogRef = this.dialog.open(ValidateAvisParallelComponent, { + panelClass: 'maarch-modal', autoFocus: false, disableClose: true, data: this.setDatasActionToSend() diff --git a/src/frontend/app/actions/avis-continue-circuit-action/continue-avis-circuit-action.component.html b/src/frontend/app/actions/avis-continue-circuit-action/continue-avis-circuit-action.component.html index f4e26f2940a..beeae2c84b8 100644 --- a/src/frontend/app/actions/avis-continue-circuit-action/continue-avis-circuit-action.component.html +++ b/src/frontend/app/actions/avis-continue-circuit-action/continue-avis-circuit-action.component.html @@ -1,65 +1,70 @@ -<h1 mat-dialog-title>{{data.action.label}}</h1> -<div mat-dialog-content> - <div *ngIf="loading" class="loading" style="display:flex;height:100%;"> - <mat-spinner style="margin:auto;"></mat-spinner> - </div> - <mat-sidenav-container autosize style="height:100%;"> - <mat-sidenav-content style="background: white;padding:10px;"> - <div> - {{lang.makeActionOn}} - <b *ngIf="data.resIds.length === 0" color="primary" class="highlight">{{lang.currentIndexingMail}}</b> - <b *ngIf="data.resIds.length == 1" color="primary" class="highlight">{{data.resource.chrono}}</b> - <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}} - {{lang.elements}}</b> ? - </div> - <div class="alert-message alert-message-info" - *ngIf="data.resIds.length == 1 && !noResourceToProcess" - role="alert" style="margin-top: 30px;" - [innerHTML]="'<b>' + ownerOpinion + '</b> '+ lang.askOpinionUser + ' :<br/><br/>' + opinionContent"> - </div> - <div class="alert-message alert-message-info" - *ngIf="data.resIds.length == 1 && appAvisWorkflow !== undefined && appAvisWorkflow.getNextAvisUser() !== ''" - role="alert" style="margin-top: 30px;" - [innerHTML]="lang.sendToDocTo + ' <b>' + appAvisWorkflow.getNextAvisUser().labelToDisplay + '</b>'"> - </div> - - <div class="alert-message alert-message-info" - *ngIf="data.resIds.length == 1 && appAvisWorkflow !== undefined && appAvisWorkflow.getNextAvisUser() === '' && !noResourceToProcess" - role="alert" style="margin-top: 30px;" [innerHTML]="lang.endWorkflow"></div> +<div class="mat-dialog-content-container"> + <h1 mat-dialog-title>{{data.action.label}}</h1> + <div mat-dialog-content> + <div *ngIf="loading" class="loading" style="display:flex;height:100%;"> + <mat-spinner style="margin:auto;"></mat-spinner> + </div> + <mat-sidenav-container autosize style="height:100%;"> + <mat-sidenav-content style="background: white;padding:10px;"> + <div> + {{lang.makeActionOn}} + <b *ngIf="data.resIds.length === 0" color="primary" + class="highlight">{{lang.currentIndexingMail}}</b> + <b *ngIf="data.resIds.length == 1" color="primary" class="highlight">{{data.resource.chrono}}</b> + <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}} + {{lang.elements}}</b> ? + </div> + <div class="alert-message alert-message-info" *ngIf="data.resIds.length == 1 && !noResourceToProcess" + role="alert" style="margin-top: 30px;" + [innerHTML]="'<b>' + ownerOpinion + '</b> '+ lang.askOpinionUser + ' :<br/><br/>' + opinionContent"> + </div> + <div class="alert-message alert-message-info" + *ngIf="data.resIds.length == 1 && appAvisWorkflow !== undefined && appAvisWorkflow.getNextAvisUser() !== ''" + role="alert" style="margin-top: 30px;" + [innerHTML]="lang.sendToDocTo + ' <b>' + appAvisWorkflow.getNextAvisUser().labelToDisplay + '</b>'"> + </div> - <div *ngIf="resourcesErrors.length > 0" class="alert-message alert-message-danger mailList" role="alert"> - <p> - {{lang.canNotMakeAction}} : - </p> - <ul> - <li *ngFor="let ressource of resourcesErrors"> - <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}} - </li> - </ul> - </div> - <div *ngIf="resourcesWarnings.length > 0" class="alert-message alert-message-info mailList" role="alert"> - <ul style="margin: 0;padding-bottom: 0px;"> - <li *ngFor="let ressource of resourcesWarnings"> - <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}} - </li> - </ul> - </div> + <div class="alert-message alert-message-info" + *ngIf="data.resIds.length == 1 && appAvisWorkflow !== undefined && appAvisWorkflow.getNextAvisUser() === '' && !noResourceToProcess" + role="alert" style="margin-top: 30px;" [innerHTML]="lang.endWorkflow"></div> - <mat-form-field *ngIf="data.resIds.length === 1 && !noResourceToProcess" appearance="outline" style="cursor:pointer;margin-top: 10px;"> - <mat-label>{{lang.opinionLimitDate}}</mat-label> - <input matInput [(ngModel)]="opinionLimitDate" - readonly style="cursor:pointer;" disabled> - </mat-form-field> + <div *ngIf="resourcesErrors.length > 0" class="alert-message alert-message-danger mailList" + role="alert"> + <p> + {{lang.canNotMakeAction}} : + </p> + <ul> + <li *ngFor="let ressource of resourcesErrors"> + <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}} + </li> + </ul> + </div> + <div *ngIf="resourcesWarnings.length > 0" class="alert-message alert-message-info mailList" + role="alert"> + <ul style="margin: 0;padding-bottom: 0px;"> + <li *ngFor="let ressource of resourcesWarnings"> + <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}} + </li> + </ul> + </div> + <mat-form-field *ngIf="data.resIds.length === 1 && !noResourceToProcess" appearance="outline" + style="cursor:pointer;margin-top: 10px;"> + <mat-label>{{lang.opinionLimitDate}}</mat-label> + <input matInput [(ngModel)]="opinionLimitDate" readonly style="cursor:pointer;" disabled> + </mat-form-field> - <app-note-editor #noteEditor [title]="lang.addOpinion" [resIds]="data.resIds" [disableRestriction]="true"></app-note-editor> - <app-avis-workflow *ngIf="data.resIds.length == 1" [adminMode]="false" [resId]="data.resIds[0]" - #appAvisWorkflow> - </app-avis-workflow> - </mat-sidenav-content> - </mat-sidenav-container> -</div> -<div mat-dialog-actions class="actions"> - <button mat-raised-button mat-button color="primary" [disabled]="loading || !isValidAction()" - (click)="onSubmit()">{{lang.validate}}</button> - <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button> -</div> + <app-note-editor #noteEditor [title]="lang.addOpinion" [resIds]="data.resIds" + [disableRestriction]="true"></app-note-editor> + <app-avis-workflow *ngIf="data.resIds.length == 1" [adminMode]="false" [resId]="data.resIds[0]" + #appAvisWorkflow> + </app-avis-workflow> + </mat-sidenav-content> + </mat-sidenav-container> + </div> + <span class="divider-modal"></span> + <div mat-dialog-actions class="actions"> + <button mat-raised-button mat-button color="primary" [disabled]="loading || !isValidAction()" + (click)="onSubmit()">{{lang.validate}}</button> + <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button> + </div> +</div> \ No newline at end of file diff --git a/src/frontend/app/actions/avis-continue-circuit-action/continue-avis-circuit-action.component.scss b/src/frontend/app/actions/avis-continue-circuit-action/continue-avis-circuit-action.component.scss index 9424211bb4a..b4a360fe69f 100644 --- a/src/frontend/app/actions/avis-continue-circuit-action/continue-avis-circuit-action.component.scss +++ b/src/frontend/app/actions/avis-continue-circuit-action/continue-avis-circuit-action.component.scss @@ -1,13 +1,5 @@ @import '../../../css/vars.scss'; -.fullHeight { - height: 70vh; -} - -.fullWidth { - width: 70vw; -} - .highlight { font-size: 110%; } diff --git a/src/frontend/app/actions/avis-give-parallel-action/give-avis-parallel-action.component.html b/src/frontend/app/actions/avis-give-parallel-action/give-avis-parallel-action.component.html index 67a3c663cc7..b36c9a1a547 100644 --- a/src/frontend/app/actions/avis-give-parallel-action/give-avis-parallel-action.component.html +++ b/src/frontend/app/actions/avis-give-parallel-action/give-avis-parallel-action.component.html @@ -1,57 +1,61 @@ -<h1 mat-dialog-title>{{data.action.label}}</h1> -<div mat-dialog-content> - <div *ngIf="loading" class="loading" style="display:flex;height:100%;"> - <mat-spinner style="margin:auto;"></mat-spinner> - </div> - <mat-sidenav-container autosize style="height:100%;"> - <mat-sidenav-content style="background: white;padding:10px;"> - <div> - {{lang.makeActionOn}} - <b *ngIf="data.resIds.length === 0" color="primary" class="highlight">{{lang.currentIndexingMail}}</b> - <b *ngIf="data.resIds.length == 1" color="primary" class="highlight">{{data.resource.chrono}}</b> - <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}} - {{lang.elements}}</b> ? - </div> - <div class="alert-message alert-message-info" - *ngIf="data.resIds.length == 1 && !noResourceToProcess" - role="alert" style="margin-top: 30px;" - [innerHTML]="'<b>' + ownerOpinion + '</b> '+ lang.askOpinionUser + ' :<br/><br/>' + opinionContent"> - </div> - - <div class="alert-message alert-message-info" - *ngIf="data.resIds.length > 1 && !noResourceToProcess" - role="alert" style="margin-top: 30px;" [innerHTML]="lang.askOpinion"></div> +<div class="mat-dialog-content-container"> + <h1 mat-dialog-title>{{data.action.label}}</h1> + <div mat-dialog-content> + <div *ngIf="loading" class="loading" style="display:flex;height:100%;"> + <mat-spinner style="margin:auto;"></mat-spinner> + </div> + <mat-sidenav-container autosize style="height:100%;"> + <mat-sidenav-content style="background: white;padding:10px;"> + <div> + {{lang.makeActionOn}} + <b *ngIf="data.resIds.length === 0" color="primary" + class="highlight">{{lang.currentIndexingMail}}</b> + <b *ngIf="data.resIds.length == 1" color="primary" class="highlight">{{data.resource.chrono}}</b> + <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}} + {{lang.elements}}</b> ? + </div> + <div class="alert-message alert-message-info" *ngIf="data.resIds.length == 1 && !noResourceToProcess" + role="alert" style="margin-top: 30px;" + [innerHTML]="'<b>' + ownerOpinion + '</b> '+ lang.askOpinionUser + ' :<br/><br/>' + opinionContent"> + </div> - <div *ngIf="resourcesErrors.length > 0" class="alert-message alert-message-danger mailList" role="alert"> - <p> - {{lang.canNotMakeAction}} : - </p> - <ul> - <li *ngFor="let ressource of resourcesErrors"> - <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}} - </li> - </ul> - </div> - <div *ngIf="resourcesWarnings.length > 0" class="alert-message alert-message-info mailList" role="alert"> - <ul style="margin: 0;padding-bottom: 0px;"> - <li *ngFor="let ressource of resourcesWarnings"> - <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}} - </li> - </ul> - </div> + <div class="alert-message alert-message-info" *ngIf="data.resIds.length > 1 && !noResourceToProcess" + role="alert" style="margin-top: 30px;" [innerHTML]="lang.askOpinion"></div> - <mat-form-field *ngIf="data.resIds.length === 1 && !noResourceToProcess" appearance="outline" style="cursor:pointer;margin-top: 10px;"> - <mat-label>{{lang.opinionLimitDate}}</mat-label> - <input matInput [(ngModel)]="opinionLimitDate" - readonly style="cursor:pointer;" disabled> - </mat-form-field> + <div *ngIf="resourcesErrors.length > 0" class="alert-message alert-message-danger mailList" + role="alert"> + <p> + {{lang.canNotMakeAction}} : + </p> + <ul> + <li *ngFor="let ressource of resourcesErrors"> + <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}} + </li> + </ul> + </div> + <div *ngIf="resourcesWarnings.length > 0" class="alert-message alert-message-info mailList" + role="alert"> + <ul style="margin: 0;padding-bottom: 0px;"> + <li *ngFor="let ressource of resourcesWarnings"> + <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}} + </li> + </ul> + </div> + <mat-form-field *ngIf="data.resIds.length === 1 && !noResourceToProcess" appearance="outline" + style="cursor:pointer;margin-top: 10px;"> + <mat-label>{{lang.opinionLimitDate}}</mat-label> + <input matInput [(ngModel)]="opinionLimitDate" readonly style="cursor:pointer;" disabled> + </mat-form-field> - <app-note-editor #noteEditor [title]="lang.addOpinion" [resIds]="data.resIds" [disableRestriction]="true"></app-note-editor> - </mat-sidenav-content> - </mat-sidenav-container> -</div> -<div mat-dialog-actions class="actions"> - <button mat-raised-button mat-button color="primary" [disabled]="loading || !isValidAction()" - (click)="onSubmit()">{{lang.validate}}</button> - <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button> -</div> + <app-note-editor #noteEditor [title]="lang.addOpinion" [resIds]="data.resIds" + [disableRestriction]="true"></app-note-editor> + </mat-sidenav-content> + </mat-sidenav-container> + </div> + <span class="divider-modal"></span> + <div mat-dialog-actions class="actions"> + <button mat-raised-button mat-button color="primary" [disabled]="loading || !isValidAction()" + (click)="onSubmit()">{{lang.validate}}</button> + <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button> + </div> +</div> \ No newline at end of file diff --git a/src/frontend/app/actions/avis-give-parallel-action/give-avis-parallel-action.component.scss b/src/frontend/app/actions/avis-give-parallel-action/give-avis-parallel-action.component.scss index 9424211bb4a..b4a360fe69f 100644 --- a/src/frontend/app/actions/avis-give-parallel-action/give-avis-parallel-action.component.scss +++ b/src/frontend/app/actions/avis-give-parallel-action/give-avis-parallel-action.component.scss @@ -1,13 +1,5 @@ @import '../../../css/vars.scss'; -.fullHeight { - height: 70vh; -} - -.fullWidth { - width: 70vw; -} - .highlight { font-size: 110%; } diff --git a/src/frontend/app/actions/avis-parallel-send-action/send-avis-parallel-action.component.html b/src/frontend/app/actions/avis-parallel-send-action/send-avis-parallel-action.component.html index 83078a21933..3500b4957da 100644 --- a/src/frontend/app/actions/avis-parallel-send-action/send-avis-parallel-action.component.html +++ b/src/frontend/app/actions/avis-parallel-send-action/send-avis-parallel-action.component.html @@ -1,49 +1,54 @@ -<h1 mat-dialog-title>{{data.action.label}}</h1> -<div mat-dialog-content> - <div *ngIf="loading" class="loading" style="display:flex;height:100%;"> - <mat-spinner style="margin:auto;"></mat-spinner> +<div class="mat-dialog-content-container"> + <h1 mat-dialog-title>{{data.action.label}}</h1> + <div mat-dialog-content> + <div *ngIf="loading" class="loading" style="display:flex;height:100%;"> + <mat-spinner style="margin:auto;"></mat-spinner> + </div> + <mat-sidenav-container autosize style="height:100%;"> + <mat-sidenav-content style="background: white;padding:10px;"> + <div> + {{lang.makeActionOn}} + <b *ngIf="data.resIds.length === 0" color="primary" + class="highlight">{{lang.currentIndexingMail}}</b> + <b *ngIf="data.resIds.length == 1" color="primary" class="highlight">{{data.resource.chrono}}</b> + <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}} + {{lang.elements}}</b> ? + </div> + <div *ngIf="resourcesError.length > 0" class="alert-message alert-message-danger mailList" role="alert"> + <p> + {{lang.canNotMakeAction}} : + </p> + <ul> + <li *ngFor="let ressource of resourcesError"> + <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}} + </li> + </ul> + </div> + <mat-form-field (click)="picker.open()" appearance="outline" style="cursor:pointer;margin-top: 10px;"> + <mat-label>{{lang.opinionLimitDate}}</mat-label> + <input matInput [(ngModel)]="opinionLimitDate" [matDatepicker]="picker" + [placeholder]="lang.chooseDate" [min]="today" readonly style="cursor:pointer;" required> + <mat-datepicker-toggle matSuffix [for]="picker" *ngIf="!opinionLimitDate"> + </mat-datepicker-toggle> + <mat-datepicker #picker></mat-datepicker> + <button mat-button color="warn" matSuffix mat-icon-button *ngIf="opinionLimitDate" + (click)="$event.stopPropagation();opinionLimitDate = null;" [title]="lang.eraseValue"> + <mat-icon color="warn" class="fa fa-calendar-times"> + </mat-icon> + </button> + </mat-form-field> + <app-note-editor #noteEditor [title]="lang.addOpinionReason" [resIds]="data.resIds" + [disableRestriction]="true"></app-note-editor> + <app-avis-workflow *ngIf="data.resIds.length == 1 || (!noResourceToProcess && data.resIds.length > 1)" + [adminMode]="true" [mode]="'parallel'" #appAvisWorkflow> + </app-avis-workflow> + </mat-sidenav-content> + </mat-sidenav-container> </div> - <mat-sidenav-container autosize style="height:100%;"> - <mat-sidenav-content style="background: white;padding:10px;"> - <div> - {{lang.makeActionOn}} - <b *ngIf="data.resIds.length === 0" color="primary" class="highlight">{{lang.currentIndexingMail}}</b> - <b *ngIf="data.resIds.length == 1" color="primary" class="highlight">{{data.resource.chrono}}</b> - <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}} - {{lang.elements}}</b> ? - </div> - <div *ngIf="resourcesError.length > 0" class="alert-message alert-message-danger mailList" role="alert"> - <p> - {{lang.canNotMakeAction}} : - </p> - <ul> - <li *ngFor="let ressource of resourcesError"> - <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}} - </li> - </ul> - </div> - <mat-form-field (click)="picker.open()" appearance="outline" style="cursor:pointer;margin-top: 10px;"> - <mat-label>{{lang.opinionLimitDate}}</mat-label> - <input matInput [(ngModel)]="opinionLimitDate" [matDatepicker]="picker" [placeholder]="lang.chooseDate" - [min]="today" readonly style="cursor:pointer;" required> - <mat-datepicker-toggle matSuffix [for]="picker" *ngIf="!opinionLimitDate"> - </mat-datepicker-toggle> - <mat-datepicker #picker></mat-datepicker> - <button mat-button color="warn" matSuffix mat-icon-button *ngIf="opinionLimitDate" - (click)="$event.stopPropagation();opinionLimitDate = null;" [title]="lang.eraseValue"> - <mat-icon color="warn" class="fa fa-calendar-times"> - </mat-icon> - </button> - </mat-form-field> - <app-note-editor #noteEditor [title]="lang.addOpinionReason" [resIds]="data.resIds" [disableRestriction]="true"></app-note-editor> - <app-avis-workflow *ngIf="data.resIds.length == 1 || (!noResourceToProcess && data.resIds.length > 1)" - [adminMode]="true" [mode]="'parallel'" #appAvisWorkflow> - </app-avis-workflow> - </mat-sidenav-content> - </mat-sidenav-container> -</div> -<div mat-dialog-actions class="actions"> - <button mat-raised-button mat-button color="primary" [disabled]="loading || !isValidAction()" - (click)="onSubmit()">{{lang.validate}}</button> - <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button> -</div> + <span class="divider-modal"></span> + <div mat-dialog-actions class="actions"> + <button mat-raised-button mat-button color="primary" [disabled]="loading || !isValidAction()" + (click)="onSubmit()">{{lang.validate}}</button> + <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button> + </div> +</div> \ No newline at end of file diff --git a/src/frontend/app/actions/avis-parallel-send-action/send-avis-parallel-action.component.scss b/src/frontend/app/actions/avis-parallel-send-action/send-avis-parallel-action.component.scss index 9424211bb4a..b4a360fe69f 100644 --- a/src/frontend/app/actions/avis-parallel-send-action/send-avis-parallel-action.component.scss +++ b/src/frontend/app/actions/avis-parallel-send-action/send-avis-parallel-action.component.scss @@ -1,13 +1,5 @@ @import '../../../css/vars.scss'; -.fullHeight { - height: 70vh; -} - -.fullWidth { - width: 70vw; -} - .highlight { font-size: 110%; } diff --git a/src/frontend/app/actions/avis-parallel-validate-action/validate-avis-parallel-action.component.html b/src/frontend/app/actions/avis-parallel-validate-action/validate-avis-parallel-action.component.html index 94255e76dbc..73e9e990708 100644 --- a/src/frontend/app/actions/avis-parallel-validate-action/validate-avis-parallel-action.component.html +++ b/src/frontend/app/actions/avis-parallel-validate-action/validate-avis-parallel-action.component.html @@ -1,59 +1,65 @@ -<h1 mat-dialog-title>{{data.action.label}}</h1> -<div mat-dialog-content> - <div *ngIf="loading" class="loading" style="display:flex;height:100%;"> - <mat-spinner style="margin:auto;"></mat-spinner> - </div> - <mat-sidenav-container autosize style="height:100%;"> - <mat-sidenav-content style="background: white;padding:10px;"> - <div> - {{lang.makeActionOn}} - <b *ngIf="data.resIds.length === 0" color="primary" class="highlight">{{lang.currentIndexingMail}}</b> - <b *ngIf="data.resIds.length == 1" color="primary" class="highlight">{{data.resource.chrono}}</b> - <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}} - {{lang.elements}}</b> ? - </div> - <div class="alert-message alert-message-info" - *ngIf="data.resIds.length == 1 && !noResourceToProcess" - role="alert" style="margin-top: 30px;" - [innerHTML]="lang.validateAvisParallelSingle + ' <b>' + ownerOpinion + '</b>'"> - </div> +<div class="mat-dialog-content-container"> + <h1 mat-dialog-title>{{data.action.label}}</h1> + <div mat-dialog-content> + <div *ngIf="loading" class="loading" style="display:flex;height:100%;"> + <mat-spinner style="margin:auto;"></mat-spinner> + </div> + <mat-sidenav-container autosize style="height:100%;"> + <mat-sidenav-content style="background: white;padding:10px;"> + <div> + {{lang.makeActionOn}} + <b *ngIf="data.resIds.length === 0" color="primary" + class="highlight">{{lang.currentIndexingMail}}</b> + <b *ngIf="data.resIds.length == 1" color="primary" class="highlight">{{data.resource.chrono}}</b> + <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}} + {{lang.elements}}</b> ? + </div> + <div class="alert-message alert-message-info" *ngIf="data.resIds.length == 1 && !noResourceToProcess" + role="alert" style="margin-top: 30px;" + [innerHTML]="lang.validateAvisParallelSingle + ' <b>' + ownerOpinion + '</b>'"> + </div> - <div class="alert-message alert-message-info" - *ngIf="data.resIds.length > 1 && !noResourceToProcess" - role="alert" style="margin-top: 30px;" [innerHTML]="lang.validateAvisParallel"></div> + <div class="alert-message alert-message-info" *ngIf="data.resIds.length > 1 && !noResourceToProcess" + role="alert" style="margin-top: 30px;" [innerHTML]="lang.validateAvisParallel"></div> - <div *ngIf="resourcesErrors.length > 0" class="alert-message alert-message-danger mailList" role="alert"> - <p> - {{lang.canNotMakeAction}} : - </p> - <ul> - <li *ngFor="let ressource of resourcesErrors"> - <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}} - </li> - </ul> - </div> - <mat-form-field *ngIf="data.resIds.length === 1 && !noResourceToProcess" (click)="picker.open()" appearance="outline" style="cursor:pointer;margin-top: 10px;"> - <mat-label>{{lang.opinionLimitDate}}</mat-label> - <input matInput [(ngModel)]="opinionLimitDate" [matDatepicker]="picker" [placeholder]="lang.chooseDate" - [min]="today" readonly style="cursor:pointer;" required> - <mat-datepicker-toggle matSuffix [for]="picker" *ngIf="!opinionLimitDate"> - </mat-datepicker-toggle> - <mat-datepicker #picker></mat-datepicker> - <button mat-button color="warn" matSuffix mat-icon-button *ngIf="opinionLimitDate" - (click)="$event.stopPropagation();opinionLimitDate = null;" [title]="lang.eraseValue"> - <mat-icon color="warn" class="fa fa-calendar-times"> - </mat-icon> - </button> - </mat-form-field> - <app-note-editor *ngIf="data.resIds.length === 1 && !noResourceToProcess" #noteEditor [title]="lang.addOpinionReason" [content]="opinionContent" [resIds]="data.resIds" [disableRestriction]="true"></app-note-editor> - <app-avis-workflow *ngIf="data.resIds.length === 1 && !noResourceToProcess" - [adminMode]="true" [mode]="'parallel'" #appAvisWorkflow> - </app-avis-workflow> - </mat-sidenav-content> - </mat-sidenav-container> -</div> -<div mat-dialog-actions class="actions"> - <button mat-raised-button mat-button color="primary" [disabled]="loading || !isValidAction()" - (click)="onSubmit()">{{lang.validate}}</button> - <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button> -</div> + <div *ngIf="resourcesErrors.length > 0" class="alert-message alert-message-danger mailList" + role="alert"> + <p> + {{lang.canNotMakeAction}} : + </p> + <ul> + <li *ngFor="let ressource of resourcesErrors"> + <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}} + </li> + </ul> + </div> + <mat-form-field *ngIf="data.resIds.length === 1 && !noResourceToProcess" (click)="picker.open()" + appearance="outline" style="cursor:pointer;margin-top: 10px;"> + <mat-label>{{lang.opinionLimitDate}}</mat-label> + <input matInput [(ngModel)]="opinionLimitDate" [matDatepicker]="picker" + [placeholder]="lang.chooseDate" [min]="today" readonly style="cursor:pointer;" required> + <mat-datepicker-toggle matSuffix [for]="picker" *ngIf="!opinionLimitDate"> + </mat-datepicker-toggle> + <mat-datepicker #picker></mat-datepicker> + <button mat-button color="warn" matSuffix mat-icon-button *ngIf="opinionLimitDate" + (click)="$event.stopPropagation();opinionLimitDate = null;" [title]="lang.eraseValue"> + <mat-icon color="warn" class="fa fa-calendar-times"> + </mat-icon> + </button> + </mat-form-field> + <app-note-editor *ngIf="data.resIds.length === 1 && !noResourceToProcess" #noteEditor + [title]="lang.addOpinionReason" [content]="opinionContent" [resIds]="data.resIds" + [disableRestriction]="true"></app-note-editor> + <app-avis-workflow *ngIf="data.resIds.length === 1 && !noResourceToProcess" [adminMode]="true" + [mode]="'parallel'" #appAvisWorkflow> + </app-avis-workflow> + </mat-sidenav-content> + </mat-sidenav-container> + </div> + <span class="divider-modal"></span> + <div mat-dialog-actions class="actions"> + <button mat-raised-button mat-button color="primary" [disabled]="loading || !isValidAction()" + (click)="onSubmit()">{{lang.validate}}</button> + <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button> + </div> +</div> \ No newline at end of file diff --git a/src/frontend/app/actions/avis-parallel-validate-action/validate-avis-parallel-action.component.scss b/src/frontend/app/actions/avis-parallel-validate-action/validate-avis-parallel-action.component.scss index 9424211bb4a..b4a360fe69f 100644 --- a/src/frontend/app/actions/avis-parallel-validate-action/validate-avis-parallel-action.component.scss +++ b/src/frontend/app/actions/avis-parallel-validate-action/validate-avis-parallel-action.component.scss @@ -1,13 +1,5 @@ @import '../../../css/vars.scss'; -.fullHeight { - height: 70vh; -} - -.fullWidth { - width: 70vw; -} - .highlight { font-size: 110%; } diff --git a/src/frontend/app/actions/avis-parallel-validate-action/validate-avis-parallel-action.component.ts b/src/frontend/app/actions/avis-parallel-validate-action/validate-avis-parallel-action.component.ts index 19a61798970..6d7c8733656 100644 --- a/src/frontend/app/actions/avis-parallel-validate-action/validate-avis-parallel-action.component.ts +++ b/src/frontend/app/actions/avis-parallel-validate-action/validate-avis-parallel-action.component.ts @@ -14,7 +14,7 @@ import { HeaderService } from '../../../service/header.service'; templateUrl: "validate-avis-parallel-action.component.html", styleUrls: ['validate-avis-parallel-action.component.scss'], }) -export class ValidateAvisParallelComponent implements AfterViewInit { +export class ValidateAvisParallelComponent implements OnInit, AfterViewInit { lang: any = LANG; loading: boolean = false; diff --git a/src/frontend/app/actions/avis-workflow-send-action/send-avis-workflow-action.component.html b/src/frontend/app/actions/avis-workflow-send-action/send-avis-workflow-action.component.html index 463126d2dd7..9238d68d77d 100644 --- a/src/frontend/app/actions/avis-workflow-send-action/send-avis-workflow-action.component.html +++ b/src/frontend/app/actions/avis-workflow-send-action/send-avis-workflow-action.component.html @@ -1,49 +1,54 @@ -<h1 mat-dialog-title>{{data.action.label}}</h1> -<div mat-dialog-content> - <div *ngIf="loading" class="loading" style="display:flex;height:100%;"> - <mat-spinner style="margin:auto;"></mat-spinner> +<div class="mat-dialog-content-container"> + <h1 mat-dialog-title>{{data.action.label}}</h1> + <div mat-dialog-content> + <div *ngIf="loading" class="loading" style="display:flex;height:100%;"> + <mat-spinner style="margin:auto;"></mat-spinner> + </div> + <mat-sidenav-container autosize style="height:100%;"> + <mat-sidenav-content style="background: white;padding:10px;"> + <div> + {{lang.makeActionOn}} + <b *ngIf="data.resIds.length === 0" color="primary" + class="highlight">{{lang.currentIndexingMail}}</b> + <b *ngIf="data.resIds.length == 1" color="primary" class="highlight">{{data.resource.chrono}}</b> + <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}} + {{lang.elements}}</b> ? + </div> + <div *ngIf="resourcesError.length > 0" class="alert-message alert-message-danger mailList" role="alert"> + <p> + {{lang.canNotMakeAction}} : + </p> + <ul> + <li *ngFor="let ressource of resourcesError"> + <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}} + </li> + </ul> + </div> + <mat-form-field (click)="picker.open()" appearance="outline" style="cursor:pointer;margin-top: 10px;"> + <mat-label>{{lang.opinionLimitDate}}</mat-label> + <input matInput [(ngModel)]="opinionLimitDate" [matDatepicker]="picker" + [placeholder]="lang.chooseDate" [min]="today" readonly style="cursor:pointer;" required> + <mat-datepicker-toggle matSuffix [for]="picker" *ngIf="!opinionLimitDate"> + </mat-datepicker-toggle> + <mat-datepicker #picker></mat-datepicker> + <button mat-button color="warn" matSuffix mat-icon-button *ngIf="opinionLimitDate" + (click)="$event.stopPropagation();opinionLimitDate = null;" [title]="lang.eraseValue"> + <mat-icon color="warn" class="fa fa-calendar-times"> + </mat-icon> + </button> + </mat-form-field> + <app-note-editor #noteEditor [title]="lang.addOpinionReason" [resIds]="data.resIds" + [disableRestriction]="true"></app-note-editor> + <app-avis-workflow *ngIf="data.resIds.length == 1 || (!noResourceToProcess && data.resIds.length > 1)" + [adminMode]="true" #appAvisWorkflow> + </app-avis-workflow> + </mat-sidenav-content> + </mat-sidenav-container> </div> - <mat-sidenav-container autosize style="height:100%;"> - <mat-sidenav-content style="background: white;padding:10px;"> - <div> - {{lang.makeActionOn}} - <b *ngIf="data.resIds.length === 0" color="primary" class="highlight">{{lang.currentIndexingMail}}</b> - <b *ngIf="data.resIds.length == 1" color="primary" class="highlight">{{data.resource.chrono}}</b> - <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}} - {{lang.elements}}</b> ? - </div> - <div *ngIf="resourcesError.length > 0" class="alert-message alert-message-danger mailList" role="alert"> - <p> - {{lang.canNotMakeAction}} : - </p> - <ul> - <li *ngFor="let ressource of resourcesError"> - <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}} - </li> - </ul> - </div> - <mat-form-field (click)="picker.open()" appearance="outline" style="cursor:pointer;margin-top: 10px;"> - <mat-label>{{lang.opinionLimitDate}}</mat-label> - <input matInput [(ngModel)]="opinionLimitDate" [matDatepicker]="picker" [placeholder]="lang.chooseDate" - [min]="today" readonly style="cursor:pointer;" required> - <mat-datepicker-toggle matSuffix [for]="picker" *ngIf="!opinionLimitDate"> - </mat-datepicker-toggle> - <mat-datepicker #picker></mat-datepicker> - <button mat-button color="warn" matSuffix mat-icon-button *ngIf="opinionLimitDate" - (click)="$event.stopPropagation();opinionLimitDate = null;" [title]="lang.eraseValue"> - <mat-icon color="warn" class="fa fa-calendar-times"> - </mat-icon> - </button> - </mat-form-field> - <app-note-editor #noteEditor [title]="lang.addOpinionReason" [resIds]="data.resIds" [disableRestriction]="true"></app-note-editor> - <app-avis-workflow *ngIf="data.resIds.length == 1 || (!noResourceToProcess && data.resIds.length > 1)" - [adminMode]="true" #appAvisWorkflow> - </app-avis-workflow> - </mat-sidenav-content> - </mat-sidenav-container> -</div> -<div mat-dialog-actions class="actions"> - <button mat-raised-button mat-button color="primary" [disabled]="loading || !isValidAction()" - (click)="onSubmit()">{{lang.validate}}</button> - <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button> -</div> + <span class="divider-modal"></span> + <div mat-dialog-actions class="actions"> + <button mat-raised-button mat-button color="primary" [disabled]="loading || !isValidAction()" + (click)="onSubmit()">{{lang.validate}}</button> + <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button> + </div> +</div> \ No newline at end of file diff --git a/src/frontend/app/actions/avis-workflow-send-action/send-avis-workflow-action.component.scss b/src/frontend/app/actions/avis-workflow-send-action/send-avis-workflow-action.component.scss index 9424211bb4a..b4a360fe69f 100644 --- a/src/frontend/app/actions/avis-workflow-send-action/send-avis-workflow-action.component.scss +++ b/src/frontend/app/actions/avis-workflow-send-action/send-avis-workflow-action.component.scss @@ -1,13 +1,5 @@ @import '../../../css/vars.scss'; -.fullHeight { - height: 70vh; -} - -.fullWidth { - width: 70vw; -} - .highlight { font-size: 110%; } diff --git a/src/frontend/app/actions/close-and-index-action/close-and-index-action.component.html b/src/frontend/app/actions/close-and-index-action/close-and-index-action.component.html index ce563c12553..de32e377f60 100644 --- a/src/frontend/app/actions/close-and-index-action/close-and-index-action.component.html +++ b/src/frontend/app/actions/close-and-index-action/close-and-index-action.component.html @@ -1,27 +1,30 @@ -<h1 mat-dialog-title>{{data.action.label}}</h1> -<div mat-dialog-content> - <div *ngIf="loading" class="loading" style="display:flex;height:100%;"> - <mat-spinner style="margin:auto;"></mat-spinner> - </div> - <div class="row"> - <div class="col-md-12"> - {{lang.makeActionOn}} - <b *ngIf="data.resIds.length === 0" color="primary" class="highlight">{{lang.currentIndexingMail}}</b> - <b *ngIf="data.resIds.length === 1" color="primary" class="highlight">{{data.resource.chrono}}</b> - <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}} - {{lang.elements}}</b> ? - <div class="alert-message alert-message-info" role="alert" style="margin-top: 30px;" - [innerHTML]="lang.updateClosingDate"></div> - <div class="alert-message alert-message-info" role="alert" style="margin-top: 30px;" - [innerHTML]="lang.openIndexation"></div> +<div class="mat-dialog-content-container"> + <h1 mat-dialog-title>{{data.action.label}}</h1> + <div mat-dialog-content> + <div *ngIf="loading" class="loading" style="display:flex;height:100%;"> + <mat-spinner style="margin:auto;"></mat-spinner> </div> - <div class="col-md-12"> - <app-note-editor #noteEditor [resIds]="data.selectedRes"></app-note-editor> + <div class="row"> + <div class="col-md-12"> + {{lang.makeActionOn}} + <b *ngIf="data.resIds.length === 0" color="primary" class="highlight">{{lang.currentIndexingMail}}</b> + <b *ngIf="data.resIds.length === 1" color="primary" class="highlight">{{data.resource.chrono}}</b> + <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}} + {{lang.elements}}</b> ? + <div class="alert-message alert-message-info" role="alert" style="margin-top: 30px;" + [innerHTML]="lang.updateClosingDate"></div> + <div class="alert-message alert-message-info" role="alert" style="margin-top: 30px;" + [innerHTML]="lang.openIndexation"></div> + </div> + <div class="col-md-12"> + <app-note-editor #noteEditor [resIds]="data.selectedRes"></app-note-editor> + </div> </div> </div> -</div> -<div mat-dialog-actions class="actions"> - <button mat-raised-button mat-button color="primary" [disabled]="loading" - (click)="onSubmit()">{{lang.validate}}</button> - <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button> + <span class="divider-modal"></span> + <div mat-dialog-actions class="actions"> + <button mat-raised-button mat-button color="primary" [disabled]="loading" + (click)="onSubmit()">{{lang.validate}}</button> + <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button> + </div> </div> \ No newline at end of file diff --git a/src/frontend/app/actions/close-mail-action/close-mail-action.component.html b/src/frontend/app/actions/close-mail-action/close-mail-action.component.html index 4fa377a4ccc..8bf5aa4a879 100644 --- a/src/frontend/app/actions/close-mail-action/close-mail-action.component.html +++ b/src/frontend/app/actions/close-mail-action/close-mail-action.component.html @@ -1,40 +1,44 @@ -<h1 mat-dialog-title>{{data.action.label}}</h1> -<div mat-dialog-content> - <div *ngIf="loading" class="loading" style="display:flex;height:100%;"> - <mat-spinner style="margin:auto;"></mat-spinner> - </div> - <div class="row"> - <div class="col-md-12" *ngIf="emptyMandatoryFields.length > 0"> - <div *ngIf="data.resIds.length > 1" class="alert-message alert-message-danger mailList" role="alert"> - <p>{{lang.cannotCloseMails}} :</p> - <ul> - <li *ngFor="let emptyFields of emptyMandatoryFields"> - <b>{{emptyFields.chrono}}</b> : {{emptyFields.fields}} - </li> - </ul> - </div> - <div *ngIf="data.resIds.length < 2" class="alert-message alert-message-danger mailList" role="alert"> - <p>{{lang.cannotCloseThisMail}} : {{emptyMandatoryFields[0].fields}}</p> - </div> +<div class="mat-dialog-content-container"> + <h1 mat-dialog-title>{{data.action.label}}</h1> + <div mat-dialog-content> + <div *ngIf="loading" class="loading" style="display:flex;height:100%;"> + <mat-spinner style="margin:auto;"></mat-spinner> </div> - <ng-container *ngIf="data.resIds.length === 0 || canCloseResIds.length > 0"> - <div class="col-md-12"> - {{lang.makeActionOn}} - <b *ngIf="data.resIds.length === 0" color="primary" class="highlight">{{lang.currentIndexingMail}}</b> - <b *ngIf="data.resIds.length === 1" color="primary" class="highlight">{{data.resource.chrono}}</b> - <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{canCloseResIds.length}} - {{lang.elements}}</b> ? - <div class="alert-message alert-message-info" role="alert" style="margin-top: 30px;" - [innerHTML]="lang.updateClosingDate"></div> + <div class="row"> + <div class="col-md-12" *ngIf="emptyMandatoryFields.length > 0"> + <div *ngIf="data.resIds.length > 1" class="alert-message alert-message-danger mailList" role="alert"> + <p>{{lang.cannotCloseMails}} :</p> + <ul> + <li *ngFor="let emptyFields of emptyMandatoryFields"> + <b>{{emptyFields.chrono}}</b> : {{emptyFields.fields}} + </li> + </ul> + </div> + <div *ngIf="data.resIds.length < 2" class="alert-message alert-message-danger mailList" role="alert"> + <p>{{lang.cannotCloseThisMail}} : {{emptyMandatoryFields[0].fields}}</p> + </div> </div> - <div class="col-md-12"> - <app-note-editor #noteEditor [resIds]="canCloseResIds"></app-note-editor> - </div> - </ng-container> + <ng-container *ngIf="data.resIds.length === 0 || canCloseResIds.length > 0"> + <div class="col-md-12"> + {{lang.makeActionOn}} + <b *ngIf="data.resIds.length === 0" color="primary" + class="highlight">{{lang.currentIndexingMail}}</b> + <b *ngIf="data.resIds.length === 1" color="primary" class="highlight">{{data.resource.chrono}}</b> + <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{canCloseResIds.length}} + {{lang.elements}}</b> ? + <div class="alert-message alert-message-info" role="alert" style="margin-top: 30px;" + [innerHTML]="lang.updateClosingDate"></div> + </div> + <div class="col-md-12"> + <app-note-editor #noteEditor [resIds]="canCloseResIds"></app-note-editor> + </div> + </ng-container> + </div> + </div> + <span class="divider-modal"></span> + <div mat-dialog-actions class="actions"> + <button mat-raised-button mat-button color="primary" [disabled]="loading || canCloseResIds.length == 0" + (click)="onSubmit()">{{lang.validate}}</button> + <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button> </div> -</div> -<div mat-dialog-actions class="actions"> - <button mat-raised-button mat-button color="primary" [disabled]="loading || canCloseResIds.length == 0" - (click)="onSubmit()">{{lang.validate}}</button> - <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button> </div> \ No newline at end of file diff --git a/src/frontend/app/actions/close-mail-with-attachments-or-notes-action/close-mail-with-attachments-or-notes-action.component.html b/src/frontend/app/actions/close-mail-with-attachments-or-notes-action/close-mail-with-attachments-or-notes-action.component.html index b844452d495..ffea478bc66 100644 --- a/src/frontend/app/actions/close-mail-with-attachments-or-notes-action/close-mail-with-attachments-or-notes-action.component.html +++ b/src/frontend/app/actions/close-mail-with-attachments-or-notes-action/close-mail-with-attachments-or-notes-action.component.html @@ -1,11 +1,12 @@ -<h1 mat-dialog-title>{{data.action.label}}</h1> -<div mat-dialog-content *ngIf="!loadingInit"> - <div *ngIf="loading" class="loading" style="display:flex;height:100%;"> - <mat-spinner style="margin:auto;"></mat-spinner> - </div> - <div class="row"> - <div class="col-md-12"> - {{lang.makeActionOn}} +<div class="mat-dialog-content-container"> + <h1 mat-dialog-title>{{data.action.label}}</h1> + <div mat-dialog-content *ngIf="!loadingInit"> + <div *ngIf="loading" class="loading" style="display:flex;height:100%;"> + <mat-spinner style="margin:auto;"></mat-spinner> + </div> + <div class="row"> + <div class="col-md-12"> + {{lang.makeActionOn}} <b *ngIf="data.resIds.length == 1" color="primary" class="highlight">{{data.resource.chrono}}</b> <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}} {{lang.elements}}</b> ? @@ -28,15 +29,17 @@ </p> </div> </div> + </div> + <div class="col-md-12"> + <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor> + </div> </div> - <div class="col-md-12"> - <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor> - </div> </div> -</div> -<div mat-dialog-actions class="actions"> - <button mat-raised-button mat-button color="primary" - [disabled]="loading || (resourcesInfo.noAttachmentsNotes !== undefined && resourcesInfo.noAttachmentsNotes.length > 0 && !checkNote())" - (click)="onSubmit()">{{lang.validate}}</button> - <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button> -</div> + <span class="divider-modal"></span> + <div mat-dialog-actions class="actions"> + <button mat-raised-button mat-button color="primary" + [disabled]="loading || (resourcesInfo.noAttachmentsNotes !== undefined && resourcesInfo.noAttachmentsNotes.length > 0 && !checkNote())" + (click)="onSubmit()">{{lang.validate}}</button> + <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button> + </div> +</div> \ No newline at end of file diff --git a/src/frontend/app/actions/confirm-action/confirm-action.component.html b/src/frontend/app/actions/confirm-action/confirm-action.component.html index 074c9d73202..bb243a47e24 100644 --- a/src/frontend/app/actions/confirm-action/confirm-action.component.html +++ b/src/frontend/app/actions/confirm-action/confirm-action.component.html @@ -1,21 +1,25 @@ -<h1 mat-dialog-title>{{data.action.label}}</h1> -<div mat-dialog-content> - <div *ngIf="loading" class="loading" style="display:flex;height:100%;"> - <mat-spinner style="margin:auto;"></mat-spinner> - </div> - <div class="row"> - <div class="col-md-12"> - {{lang.makeActionOn}} - <b *ngIf="data.resIds.length === 0" color="primary" class="highlight">{{lang.currentIndexingMail}}</b> - <b *ngIf="data.resIds.length == 1" color="primary" class="highlight">{{data.resource.chrono}}</b> - <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}} {{lang.elements}}</b> ? +<div class="mat-dialog-content-container"> + <h1 mat-dialog-title>{{data.action.label}}</h1> + <div mat-dialog-content> + <div *ngIf="loading" class="loading" style="display:flex;height:100%;"> + <mat-spinner style="margin:auto;"></mat-spinner> </div> - <div class="col-md-12"> - <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor> + <div class="row"> + <div class="col-md-12"> + {{lang.makeActionOn}} + <b *ngIf="data.resIds.length === 0" color="primary" class="highlight">{{lang.currentIndexingMail}}</b> + <b *ngIf="data.resIds.length == 1" color="primary" class="highlight">{{data.resource.chrono}}</b> + <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}} {{lang.elements}}</b> ? + </div> + <div class="col-md-12"> + <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor> + </div> </div> </div> + <span class="divider-modal"></span> + <div mat-dialog-actions class="actions"> + <button mat-raised-button mat-button color="primary" [disabled]="loading" (click)="onSubmit()">{{lang.validate}}</button> + <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button> + </div> </div> -<div mat-dialog-actions class="actions"> - <button mat-raised-button mat-button color="primary" [disabled]="loading" (click)="onSubmit()">{{lang.validate}}</button> - <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button> -</div> + diff --git a/src/frontend/app/actions/create-acknowledgement-receipt-action/create-acknowledgement-receipt-action.component.html b/src/frontend/app/actions/create-acknowledgement-receipt-action/create-acknowledgement-receipt-action.component.html index 92903e1e301..1e8cd44ed93 100755 --- a/src/frontend/app/actions/create-acknowledgement-receipt-action/create-acknowledgement-receipt-action.component.html +++ b/src/frontend/app/actions/create-acknowledgement-receipt-action/create-acknowledgement-receipt-action.component.html @@ -1,95 +1,104 @@ -<h1 mat-dialog-title>{{data.action.label}}</h1> -<div mat-dialog-content *ngIf="!loadingInit"> - <div *ngIf="loading" class="loading" style="display:flex;height:100%;"> - <mat-spinner style="margin:auto;"></mat-spinner> - </div> - <div class="row"> - <div class="col-md-12"> - <p *ngIf="arMode == 'both' || acknowledgement.sendEmail || acknowledgement.sendPaper">{{lang.makeActionOn}} - <b *ngIf="data.resIds.length === 0" color="primary" class="highlight">{{lang.currentIndexingMail}}</b> - <b *ngIf="data.resIds.length == 1" color="primary" class="highlight">{{data.resource.chrono}}</b> - <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}} - {{lang.elements}}</b> ? - <div *ngIf="arMode == 'both'"> - <mat-slide-toggle [(ngModel)]="manualAR" color="primary" (change)="toggleArManual($event.checked)"> - {{lang.editAcknowledgementReceipt}}</mat-slide-toggle> - </div> - <div *ngIf="manualAR && realResSelected.length > 0"> - <mat-form-field floatLabel="never"> - <span matPrefix><span class="attachLabel">{{lang.object}} : </span>[AR] </span> - <input matInput [(ngModel)]="emailsubject" maxlength="100"> - </mat-form-field> - <div class="models"> - <plugin-select-search *ngIf="availableEmailModels.length > 0" [label]="lang.emailModel" - [placeholderLabel]="lang.emailModel" [datas]="availableEmailModels" - [formControlSelect]="templateEmailListForm" (afterSelected)="mergeEmailTemplate($event)"> - </plugin-select-search> +<div class="mat-dialog-content-container"> + <h1 mat-dialog-title>{{data.action.label}}</h1> + <div mat-dialog-content *ngIf="!loadingInit"> + <div *ngIf="loading" class="loading" style="display:flex;height:100%;"> + <mat-spinner style="margin:auto;"></mat-spinner> + </div> + <div class="row"> + <div class="col-md-12"> + <p *ngIf="arMode == 'both' || acknowledgement.sendEmail || acknowledgement.sendPaper"> + {{lang.makeActionOn}} + <b *ngIf="data.resIds.length === 0" color="primary" + class="highlight">{{lang.currentIndexingMail}}</b> + <b *ngIf="data.resIds.length == 1" color="primary" class="highlight">{{data.resource.chrono}}</b> + <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}} + {{lang.elements}}</b> ? + <div *ngIf="arMode == 'both'"> + <mat-slide-toggle [(ngModel)]="manualAR" color="primary" + (change)="toggleArManual($event.checked)"> + {{lang.editAcknowledgementReceipt}}</mat-slide-toggle> + </div> + <div *ngIf="manualAR && realResSelected.length > 0"> + <mat-form-field floatLabel="never"> + <span matPrefix><span + class="attachLabel">{{lang.object}} : </span>[AR] </span> + <input matInput [(ngModel)]="emailsubject" maxlength="100"> + </mat-form-field> + <div class="models"> + <plugin-select-search *ngIf="availableEmailModels.length > 0" [label]="lang.emailModel" + [placeholderLabel]="lang.emailModel" [datas]="availableEmailModels" + [formControlSelect]="templateEmailListForm" + (afterSelected)="mergeEmailTemplate($event)"> + </plugin-select-search> - <plugin-select-search #templateList *ngIf="availableSignEmailModels.length > 0" - [label]="lang.emailSignatures" [placeholderLabel]="lang.emailSignatures" - [datas]="availableSignEmailModels" [formControlSelect]="emailSignListForm" - (afterSelected)="mergeSignEmailTemplate($event)"> - </plugin-select-search> + <plugin-select-search #templateList *ngIf="availableSignEmailModels.length > 0" + [label]="lang.emailSignatures" [placeholderLabel]="lang.emailSignatures" + [datas]="availableSignEmailModels" [formControlSelect]="emailSignListForm" + (afterSelected)="mergeSignEmailTemplate($event)"> + </plugin-select-search> + </div> + <textarea style="padding-top: 10px;" name="emailSignature" id="emailSignature" + [(ngModel)]="emailContent"></textarea> </div> - <textarea style="padding-top: 10px;" name="emailSignature" id="emailSignature" - [(ngModel)]="emailContent"></textarea> - </div> - <div *ngIf="acknowledgement.alreadySend.number"> - <div class="alert-message alert-message-info acknowledgementList" role="alert"> - <p> - <b>{{acknowledgement.alreadySend.number}}</b> {{lang.arAlreadySend}} : - </p> - <ul> - <li *ngFor="let info of acknowledgement.alreadySend.list"> - {{info.alt_identifier}} - </li> - </ul> + <div *ngIf="acknowledgement.alreadySend.number"> + <div class="alert-message alert-message-info acknowledgementList" role="alert"> + <p> + <b>{{acknowledgement.alreadySend.number}}</b> {{lang.arAlreadySend}} : + </p> + <ul> + <li *ngFor="let info of acknowledgement.alreadySend.list"> + {{info.alt_identifier}} + </li> + </ul> + </div> </div> - </div> - <div *ngIf="acknowledgement.alreadyGenerated.number"> - <div class="alert-message alert-message-info acknowledgementList" role="alert"> - <p> - <b>{{acknowledgement.alreadyGenerated.number}}</b> {{lang.arAlreadyGenerated}} : - </p> - <ul> - <li *ngFor="let info of acknowledgement.alreadyGenerated.list"> - {{info.alt_identifier}} - </li> - </ul> + <div *ngIf="acknowledgement.alreadyGenerated.number"> + <div class="alert-message alert-message-info acknowledgementList" role="alert"> + <p> + <b>{{acknowledgement.alreadyGenerated.number}}</b> {{lang.arAlreadyGenerated}} : + </p> + <ul> + <li *ngFor="let info of acknowledgement.alreadyGenerated.list"> + {{info.alt_identifier}} + </li> + </ul> + </div> </div> - </div> - <div *ngIf="acknowledgement.noSendAR.number"> - <div class="alert-message alert-message-info acknowledgementList" role="alert"> - <p><b>{{acknowledgement.noSendAR.number}}</b> {{lang.canNotSendAr}} :</p> - <ul> - <li *ngFor="let info of acknowledgement.noSendAR.list"> - <b>{{info.alt_identifier != null ? info.alt_identifier : lang.undefined}}</b> : - {{info.info}} - </li> - </ul> + <div *ngIf="acknowledgement.noSendAR.number"> + <div class="alert-message alert-message-info acknowledgementList" role="alert"> + <p><b>{{acknowledgement.noSendAR.number}}</b> {{lang.canNotSendAr}} :</p> + <ul> + <li *ngFor="let info of acknowledgement.noSendAR.list"> + <b>{{info.alt_identifier != null ? info.alt_identifier : lang.undefined}}</b> : + {{info.info}} + </li> + </ul> + </div> </div> - </div> - <div *ngIf="acknowledgement.sendEmail || acknowledgement.sendPaper" - class="alert-message alert-message-success acknowledgementList" role="alert" style="padding: 10px;"> - <div *ngIf="acknowledgement.sendEmail"> - <b>{{acknowledgement.sendEmail}}</b> - {{lang.readyToSendElectronicAr}} + <div *ngIf="acknowledgement.sendEmail || acknowledgement.sendPaper" + class="alert-message alert-message-success acknowledgementList" role="alert" + style="padding: 10px;"> + <div *ngIf="acknowledgement.sendEmail"> + <b>{{acknowledgement.sendEmail}}</b> + {{lang.readyToSendElectronicAr}} + </div> + <div *ngIf="acknowledgement.sendPaper"> + <b>{{acknowledgement.sendPaper}}</b> + {{lang.readyToGeneratePaperAr}} + </div> </div> - <div *ngIf="acknowledgement.sendPaper"> - <b>{{acknowledgement.sendPaper}}</b> - {{lang.readyToGeneratePaperAr}} - </div> - </div> - </div> - <div class="col-md-12" *ngIf="acknowledgement.sendEmail || acknowledgement.sendPaper"> - <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor> + </div> + <div class="col-md-12" *ngIf="acknowledgement.sendEmail || acknowledgement.sendPaper"> + <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor> + </div> </div> </div> -</div> -<div mat-dialog-actions class="actions"> - <button mat-raised-button mat-button color="primary" - [disabled]="loading || (!acknowledgement.sendEmail && !acknowledgement.sendPaper)" - (click)="onSubmit()">{{lang.validate}}</button> - <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button> + <span class="divider-modal"></span> + <div mat-dialog-actions class="actions"> + <button mat-raised-button mat-button color="primary" + [disabled]="loading || (!acknowledgement.sendEmail && !acknowledgement.sendPaper)" + (click)="onSubmit()">{{lang.validate}}</button> + <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button> + </div> </div> \ No newline at end of file diff --git a/src/frontend/app/actions/redirect-action/redirect-action.component.html b/src/frontend/app/actions/redirect-action/redirect-action.component.html index c48034cedd7..34cdcb465cd 100644 --- a/src/frontend/app/actions/redirect-action/redirect-action.component.html +++ b/src/frontend/app/actions/redirect-action/redirect-action.component.html @@ -1,101 +1,106 @@ -<h1 mat-dialog-title>"{{data.action.label}}"</h1> -<div mat-dialog-content [class.fullWidth]="redirectMode == 'entity'"> - <div *ngIf="loading" class="loading" style="display:flex;height:100%;"> - <mat-spinner style="margin:auto;"></mat-spinner> - </div> - <ng-container *ngIf="!loading"> - {{lang.makeActionOn}} - <b *ngIf="data.resIds.length === 0" color="primary" class="highlight">{{lang.currentIndexingMail}}</b> - <b *ngIf="data.resIds.length == 1" color="primary" class="highlight">{{data.resource.chrono}}</b> - <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}} {{lang.elements}}</b> - ?<br /> - </ng-container> - <div class="chooseMode" *ngIf="redirectMode == '' && !loading"> - <div> - <button mat-stroked-button color="primary" (click)="loadEntities()"><i - class="fa fa-sitemap"></i>{{lang.toAService}}</button> - </div> - <div> - <button mat-stroked-button color="primary" (click)="loadDestUser()"><i - class="fa fa-user"></i>{{lang.toAnUser}}</button> +<div class="mat-dialog-content-container"> + <h1 mat-dialog-title>"{{data.action.label}}"</h1> + <div mat-dialog-content [class.fullWidth]="redirectMode == 'entity'"> + <div *ngIf="loading" class="loading" style="display:flex;height:100%;"> + <mat-spinner style="margin:auto;"></mat-spinner> </div> - </div> - <div *ngIf="redirectMode == 'none' && !loading"> - <div class="alert-message alert-message-danger" role="alert" style="margin-top: 30px;"> - {{lang.noSettingsAvailable}}</div> - </div> - <div *ngIf="redirectMode == 'entity'" class="row" style="display: flex;"> - <div class="redirectContent" style="flex:2"> - <h2>{{lang.redirectTo}} :</h2> - <div class="contentEntities"> - <mat-form-field appearance="outline" floatLabel="never" [style.fontSize.px]="10"> - <input matInput id="jstree_search" name="jstree_search" type="text" - placeholder="{{lang.searchEntities}}"> - </mat-form-field> - <div id="jstree"></div> + <ng-container *ngIf="!loading"> + {{lang.makeActionOn}} + <b *ngIf="data.resIds.length === 0" color="primary" class="highlight">{{lang.currentIndexingMail}}</b> + <b *ngIf="data.resIds.length == 1" color="primary" class="highlight">{{data.resource.chrono}}</b> + <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}} + {{lang.elements}}</b> + ?<br /> + </ng-container> + <div class="chooseMode" *ngIf="redirectMode == '' && !loading"> + <div> + <button mat-stroked-button color="primary" (click)="loadEntities()"><i + class="fa fa-sitemap"></i>{{lang.toAService}}</button> </div> + <div> + <button mat-stroked-button color="primary" (click)="loadDestUser()"><i + class="fa fa-user"></i>{{lang.toAnUser}}</button> + </div> + </div> + <div *ngIf="redirectMode == 'none' && !loading"> + <div class="alert-message alert-message-danger" role="alert" style="margin-top: 30px;"> + {{lang.noSettingsAvailable}}</div> </div> - <div class="redirectContent" style="flex:1;overflow: auto;"> - <h2 title="{{currentEntity.entity_label}}">{{lang.diffusionList}} "{{currentEntity.entity_label}}" :</h2> - <div class="contentEntities"> - <app-diffusions-list #appDiffusionsList [adminMode]="true" [resId]="injectDatasParam.resId" - [keepDestForRedirection]="injectDatasParam.keepDestForRedirection" [target]="'redirect'"> - </app-diffusions-list> + <div *ngIf="redirectMode == 'entity'" class="row" style="display: flex;"> + <div class="redirectContent" style="flex:2"> + <h2>{{lang.redirectTo}} :</h2> + <div class="contentEntities"> + <mat-form-field appearance="outline" floatLabel="never" [style.fontSize.px]="10"> + <input matInput id="jstree_search" name="jstree_search" type="text" + placeholder="{{lang.searchEntities}}"> + </mat-form-field> + <div id="jstree"></div> + </div> + </div> + <div class="redirectContent" style="flex:1;overflow: auto;"> + <h2 title="{{currentEntity.entity_label}}">{{lang.diffusionList}} "{{currentEntity.entity_label}}" : + </h2> + <div class="contentEntities"> + <app-diffusions-list #appDiffusionsList [adminMode]="true" [resId]="injectDatasParam.resId" + [keepDestForRedirection]="injectDatasParam.keepDestForRedirection" [target]="'redirect'"> + </app-diffusions-list> + </div> </div> </div> - </div> - <div *ngIf="redirectMode == 'user'" class="row"> - <mat-form-field appearance="outline" floatLabel="never" [style.fontSize.px]="10"> - <input class="searchUserRedirect" matInput placeholder="{{lang.searchNewAssignee}}" [matAutocomplete]="auto" - [formControl]="userRedirectCtrl" (click)="userRedirectCtrl.setValue('')"> - <mat-autocomplete #auto="matAutocomplete" (optionSelected)="changeDest($event)" isOpen="true"> - <mat-option *ngFor="let user of filteredUserRedirect | async" [value]="user"> - <mat-list> + <div *ngIf="redirectMode == 'user'" class="row"> + <mat-form-field appearance="outline" floatLabel="never" [style.fontSize.px]="10"> + <input class="searchUserRedirect" matInput placeholder="{{lang.searchNewAssignee}}" + [matAutocomplete]="auto" [formControl]="userRedirectCtrl" (click)="userRedirectCtrl.setValue('')"> + <mat-autocomplete #auto="matAutocomplete" (optionSelected)="changeDest($event)" isOpen="true"> + <mat-option *ngFor="let user of filteredUserRedirect | async" [value]="user"> + <mat-list> + <mat-list-item> + <mat-icon mat-list-icon class="fa fa-user" color="primary" style="padding-top:0px;"> + </mat-icon> + <h4 mat-line>{{user.labelToDisplay}}</h4> + <p mat-line style="opacity:0.5;line-height: 15px;font-size: 10px;"> + {{user.descriptionToDisplay}} </p> + </mat-list-item> + </mat-list> + </mat-option> + </mat-autocomplete> + </mat-form-field> + <div class="redirectContent" style="flex:2"> + <h2 style="top:-5px;">{{lang.newAssignee}} :</h2> + <div class="contentUser"> + <mat-list *ngIf="destUser != null"> <mat-list-item> - <mat-icon mat-list-icon class="fa fa-user" color="primary" style="padding-top:0px;"> - </mat-icon> - <h4 mat-line>{{user.labelToDisplay}}</h4> - <p mat-line style="opacity:0.5;line-height: 15px;font-size: 10px;"> - {{user.descriptionToDisplay}} </p> + <mat-icon mat-list-icon class="fa fa-2x fa-user" color="primary"></mat-icon> + <h4 mat-line>{{destUser.labelToDisplay}}</h4> + <p mat-line style="opacity:0.5;"> + {{destUser.descriptionToDisplay}} </p> </mat-list-item> </mat-list> - </mat-option> - </mat-autocomplete> - </mat-form-field> - <div class="redirectContent" style="flex:2"> - <h2 style="top:-5px;">{{lang.newAssignee}} :</h2> - <div class="contentUser"> - <mat-list *ngIf="destUser != null"> - <mat-list-item> - <mat-icon mat-list-icon class="fa fa-2x fa-user" color="primary"></mat-icon> - <h4 mat-line>{{destUser.labelToDisplay}}</h4> - <p mat-line style="opacity:0.5;"> - {{destUser.descriptionToDisplay}} </p> - </mat-list-item> - </mat-list> - <div *ngIf="destUser == null" class="noSelection"> - {{lang.noPerson}} + <div *ngIf="destUser == null" class="noSelection"> + {{lang.noPerson}} + </div> </div> </div> + <div *ngIf="isDestinationChanging && data.resIds.length == 1" class="alert-message alert-message-info" + role="alert" style="margin-top: 30px;">{{lang.destinationChangingInfo}} + <b>{{destUser.descriptionToDisplay}}</b></div> + <div *ngIf="isDestinationChanging && data.resIds.length > 1" class="alert-message alert-message-info" + role="alert" style="margin-top: 30px;">{{lang.destinationChangingInfoMass}} + <b>{{destUser.labelToDisplay}}</b> {{lang.destinationChangingInfoMass2}} + <b>{{destUser.descriptionToDisplay}}</b></div> + <div *ngIf="keepDestForRedirection && oldUser != null" class="alert-message alert-message-info" role="alert" + style="margin-top: 30px;"><b>{{oldUser.labelToDisplay}}</b> <span + [innerHTML]="lang.willBeAutomaticallyInCopy"></span></div> </div> - <div *ngIf="isDestinationChanging && data.resIds.length == 1" class="alert-message alert-message-info" - role="alert" style="margin-top: 30px;">{{lang.destinationChangingInfo}} - <b>{{destUser.descriptionToDisplay}}</b></div> - <div *ngIf="isDestinationChanging && data.resIds.length > 1" class="alert-message alert-message-info" - role="alert" style="margin-top: 30px;">{{lang.destinationChangingInfoMass}} - <b>{{destUser.labelToDisplay}}</b> {{lang.destinationChangingInfoMass2}} - <b>{{destUser.descriptionToDisplay}}</b></div> - <div *ngIf="keepDestForRedirection && oldUser != null" class="alert-message alert-message-info" role="alert" - style="margin-top: 30px;"><b>{{oldUser.labelToDisplay}}</b> <span - [innerHTML]="lang.willBeAutomaticallyInCopy"></span></div> - </div> - <div class="row" *ngIf="redirectMode != '' && redirectMode != 'none'"> - <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor> + <div class="row" *ngIf="redirectMode != '' && redirectMode != 'none'"> + <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor> + </div> + </div> + <span class="divider-modal"></span> + <div *ngIf="!loading" mat-dialog-actions class="actions"> + <button *ngIf="redirectMode != ''" mat-raised-button mat-button color="primary" [disabled]="checkValidity()" + (click)="onSubmit()">{{lang.validate}}</button> + <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button> </div> -</div> -<div *ngIf="!loading" mat-dialog-actions class="actions"> - <button *ngIf="redirectMode != ''" mat-raised-button mat-button color="primary" [disabled]="checkValidity()" - (click)="onSubmit()">{{lang.validate}}</button> - <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button> </div> \ No newline at end of file diff --git a/src/frontend/app/actions/redirect-action/redirect-action.component.scss b/src/frontend/app/actions/redirect-action/redirect-action.component.scss index 2cd9be52296..4608e807504 100644 --- a/src/frontend/app/actions/redirect-action/redirect-action.component.scss +++ b/src/frontend/app/actions/redirect-action/redirect-action.component.scss @@ -1,6 +1,3 @@ -.mat-dialog-content{ - min-height: 120px; -} .fullWidth { width: 70vw; } diff --git a/src/frontend/app/actions/redirect-initiator-entity-action/redirect-initiator-entity-action.component.html b/src/frontend/app/actions/redirect-initiator-entity-action/redirect-initiator-entity-action.component.html index 1b0b10cf9f0..a5b482f05bd 100644 --- a/src/frontend/app/actions/redirect-initiator-entity-action/redirect-initiator-entity-action.component.html +++ b/src/frontend/app/actions/redirect-initiator-entity-action/redirect-initiator-entity-action.component.html @@ -1,11 +1,12 @@ -<h1 mat-dialog-title>{{data.action.label}}</h1> -<div mat-dialog-content *ngIf="!loadingInit"> - <div *ngIf="loading" class="loading" style="display:flex;height:100%;"> - <mat-spinner style="margin:auto;"></mat-spinner> - </div> - <div class="row"> - <div class="col-md-12"> - {{lang.makeActionOn}} +<div class="mat-dialog-content-container"> + <h1 mat-dialog-title>{{data.action.label}}</h1> + <div mat-dialog-content *ngIf="!loadingInit"> + <div *ngIf="loading" class="loading" style="display:flex;height:100%;"> + <mat-spinner style="margin:auto;"></mat-spinner> + </div> + <div class="row"> + <div class="col-md-12"> + {{lang.makeActionOn}} <b *ngIf="data.resIds.length == 1" color="primary" class="highlight">{{data.resource.chrono}}</b> <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}} {{lang.elements}}</b> ? @@ -28,15 +29,16 @@ </p> </div> </div> + </div> + <div class="col-md-12"> + <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor> + </div> </div> - <div class="col-md-12"> - <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor> - </div> </div> -</div> -<div mat-dialog-actions class="actions"> - <button mat-raised-button mat-button color="primary" - [disabled]="loading || resourcesInfo.withEntity.length == 0" - (click)="onSubmit()">{{lang.validate}}</button> - <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button> -</div> + <span class="divider-modal"></span> + <div mat-dialog-actions class="actions"> + <button mat-raised-button mat-button color="primary" + [disabled]="loading || resourcesInfo.withEntity.length == 0" (click)="onSubmit()">{{lang.validate}}</button> + <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button> + </div> +</div> \ No newline at end of file diff --git a/src/frontend/app/actions/send-external-note-book-action/send-external-note-book-action.component.html b/src/frontend/app/actions/send-external-note-book-action/send-external-note-book-action.component.html index 31ebda22806..a37a5f48fdf 100644 --- a/src/frontend/app/actions/send-external-note-book-action/send-external-note-book-action.component.html +++ b/src/frontend/app/actions/send-external-note-book-action/send-external-note-book-action.component.html @@ -1,54 +1,57 @@ -<h1 mat-dialog-title>{{data.action.label}}</h1> -<div mat-dialog-content> - <div *ngIf="loading" class="loading" style="display:flex;height:100%;"> - <mat-spinner style="margin:auto;"></mat-spinner> - </div> - <mat-sidenav-container autosize style="height:100%;"> - <mat-sidenav-content style="background: white;"> - <div class="row" style="margin: 0;"> - <div class="col-md-12"> - {{lang.makeActionOn}} - <b *ngIf="data.resIds.length === 0" color="primary" - class="highlight">{{lang.currentIndexingMail}}</b> - <b *ngIf="data.resIds.length == 1" color="primary" - class="highlight">{{data.resource.chrono}}</b> - <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}} - {{lang.elements}}</b> ? - </div> - <div> - <div class="col-md-12" style="padding-top: 10px;" *ngIf="additionalsInfos.users.length != 0"> - <plugin-autocomplete [labelPlaceholder]="lang.userMaarchParapheur" - [datas]="additionalsInfos.users" [targetSearchKey]="'displayName'" [subInfoKey]="'email'" - (triggerEvent)="setVal($event)" [singleMode]="true" appearance="outline"> - </plugin-autocomplete> - </div> - <div class="col-md-12" *ngIf="additionalsInfos.users.length == 0"> - {{lang.noUserDefinedInMaarchParapheur}} +<div class="mat-dialog-content-container"> + <h1 mat-dialog-title>{{data.action.label}}</h1> + <div mat-dialog-content> + <div *ngIf="loading" class="loading" style="display:flex;height:100%;"> + <mat-spinner style="margin:auto;"></mat-spinner> + </div> + <mat-sidenav-container autosize style="height:100%;"> + <mat-sidenav-content style="background: white;"> + <div class="row" style="margin: 0;"> + <div class="col-md-12"> + {{lang.makeActionOn}} + <b *ngIf="data.resIds.length === 0" color="primary" + class="highlight">{{lang.currentIndexingMail}}</b> + <b *ngIf="data.resIds.length == 1" color="primary" + class="highlight">{{data.resource.chrono}}</b> + <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}} + {{lang.elements}}</b> ? </div> - <div class="col-md-12" *ngIf="additionalsInfos.noMail.length != 0"> - <div> - <div class="alert-message alert-message-danger mailList" role="alert"> - <p> - {{lang.canNotMakeAction}} : - </p> - <ul> - <li *ngFor="let mail of additionalsInfos.noMail"> - <b>{{mail.alt_identifier}}</b> : {{lang[mail.reason]}} - </li> - </ul> + <div> + <div class="col-md-12" style="padding-top: 10px;" *ngIf="additionalsInfos.users.length != 0"> + <plugin-autocomplete [labelPlaceholder]="lang.userMaarchParapheur" + [datas]="additionalsInfos.users" [targetSearchKey]="'displayName'" [subInfoKey]="'email'" + (triggerEvent)="setVal($event)" [singleMode]="true" appearance="outline"> + </plugin-autocomplete> + </div> + <div class="col-md-12" *ngIf="additionalsInfos.users.length == 0"> + {{lang.noUserDefinedInMaarchParapheur}} + </div> + <div class="col-md-12" *ngIf="additionalsInfos.noMail.length != 0"> + <div> + <div class="alert-message alert-message-danger mailList" role="alert"> + <p> + {{lang.canNotMakeAction}} : + </p> + <ul> + <li *ngFor="let mail of additionalsInfos.noMail"> + <b>{{mail.alt_identifier}}</b> : {{lang[mail.reason]}} + </li> + </ul> + </div> </div> </div> </div> + <div class="col-md-12" style="padding-top: 10px;"> + <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor> + </div> </div> - <div class="col-md-12" style="padding-top: 10px;"> - <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor> - </div> - </div> - </mat-sidenav-content> - </mat-sidenav-container> + </mat-sidenav-content> + </mat-sidenav-container> + </div> + <span class="divider-modal"></span> + <div mat-dialog-actions class="actions"> + <button mat-raised-button mat-button color="primary" [disabled]="loading || checkValidAction()" + (click)="onSubmit()">{{lang.validate}}</button> + <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button> + </div> </div> -<div mat-dialog-actions class="actions"> - <button mat-raised-button mat-button color="primary" [disabled]="loading || checkValidAction()" - (click)="onSubmit()">{{lang.validate}}</button> - <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button> -</div> \ No newline at end of file diff --git a/src/frontend/app/actions/send-external-note-book-action/send-external-note-book-action.component.scss b/src/frontend/app/actions/send-external-note-book-action/send-external-note-book-action.component.scss index 9424211bb4a..b4a360fe69f 100644 --- a/src/frontend/app/actions/send-external-note-book-action/send-external-note-book-action.component.scss +++ b/src/frontend/app/actions/send-external-note-book-action/send-external-note-book-action.component.scss @@ -1,13 +1,5 @@ @import '../../../css/vars.scss'; -.fullHeight { - height: 70vh; -} - -.fullWidth { - width: 70vw; -} - .highlight { font-size: 110%; } diff --git a/src/frontend/app/actions/send-external-signatory-book-action/send-external-signatory-book-action.component.html b/src/frontend/app/actions/send-external-signatory-book-action/send-external-signatory-book-action.component.html index 85d29b6fcdc..71e8a5f5e2a 100644 --- a/src/frontend/app/actions/send-external-signatory-book-action/send-external-signatory-book-action.component.html +++ b/src/frontend/app/actions/send-external-signatory-book-action/send-external-signatory-book-action.component.html @@ -1,65 +1,74 @@ -<h1 mat-dialog-title>{{data.action.label}}</h1> -<div mat-dialog-content> - <div *ngIf="loading" class="loading" style="display:flex;height:100%;"> - <mat-spinner style="margin:auto;"></mat-spinner> - </div> - <mat-sidenav-container autosize style="height:100%;"> - <mat-sidenav-content style="background: white;"> - <div class="row" style="margin: 0;"> - <div class="col-md-12"> - {{lang.makeActionOn}} - <b *ngIf="data.resIds.length === 0" color="primary" - class="highlight">{{lang.currentIndexingMail}}</b> - <b *ngIf="data.resIds.length == 1" color="primary" - class="highlight">{{data.resource.chrono}}</b> - <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}} - {{lang.elements}}</b> ? - </div> - <div *ngIf="data.resIds.length > 0" style="padding:10px;display: flex;flex-direction: column;"> - <mat-checkbox color="primary" *ngFor="let inteKey of integrationsInfo | keyvalue" (click)="toggleIntegration(inteKey.key)" [checked]="data.resource.integrations[inteKey.key]">{{lang[inteKey.key+'_doc']}}</mat-checkbox> - </div> - <div *ngIf="resourcesMailing.length > 0" class="alert-message alert-message-info" role="alert"> - <p>{{lang.mailingActionInformations}}</p> - <ul> - <li *ngFor="let ressource of resourcesMailing"> - <b>{{ressource.alt_identifier}}</b> - </li> - </ul> - </div> - <div> - <app-fast-paraph #fastParapheur *ngIf="signatoryBookEnabled=='fastParapheur'" - [additionalsInfos]="additionalsInfos" [externalSignatoryBookDatas]="externalSignatoryBookDatas"> - </app-fast-paraph> - <app-maarch-paraph #maarchParapheur *ngIf="signatoryBookEnabled=='maarchParapheur'" - [additionalsInfos]="additionalsInfos" [externalSignatoryBookDatas]="externalSignatoryBookDatas"> - </app-maarch-paraph> - <app-x-paraph #xParaph *ngIf="signatoryBookEnabled=='xParaph'" [additionalsInfos]="additionalsInfos" - [externalSignatoryBookDatas]="externalSignatoryBookDatas"></app-x-paraph> - <div class="col-md-12" - *ngIf="additionalsInfos.noAttachment.length != 0 && externalSignatoryBookDatas.objectSent == 'attachment'"> - <div> - <div class="alert-message alert-message-danger mailList" role="alert"> - <p> - {{lang.canNotMakeAction}} : - </p> - <ul> - <li *ngFor="let attachment of additionalsInfos.noAttachment"> - <b>{{attachment.alt_identifier}}</b> : {{lang[attachment.reason]}} - </li> - </ul> +<div class="mat-dialog-content-container"> + <h1 mat-dialog-title>{{data.action.label}}</h1> + <div mat-dialog-content> + <div *ngIf="loading" class="loading" style="display:flex;height:100%;"> + <mat-spinner style="margin:auto;"></mat-spinner> + </div> + <mat-sidenav-container autosize style="height:100%;"> + <mat-sidenav-content style="background: white;"> + <div class="row" style="margin: 0;"> + <div class="col-md-12"> + {{lang.makeActionOn}} + <b *ngIf="data.resIds.length === 0" color="primary" + class="highlight">{{lang.currentIndexingMail}}</b> + <b *ngIf="data.resIds.length == 1" color="primary" + class="highlight">{{data.resource.chrono}}</b> + <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}} + {{lang.elements}}</b> ? + </div> + <div *ngIf="data.resIds.length > 0" style="padding:10px;display: flex;flex-direction: column;"> + <mat-checkbox color="primary" *ngFor="let inteKey of integrationsInfo | keyvalue" + (click)="toggleIntegration(inteKey.key)" + [checked]="data.resource.integrations[inteKey.key]">{{lang[inteKey.key+'_doc']}} + </mat-checkbox> + </div> + <div *ngIf="resourcesMailing.length > 0" class="alert-message alert-message-info" role="alert"> + <p>{{lang.mailingActionInformations}}</p> + <ul> + <li *ngFor="let ressource of resourcesMailing"> + <b>{{ressource.alt_identifier}}</b> + </li> + </ul> + </div> + <div> + <app-fast-paraph #fastParapheur *ngIf="signatoryBookEnabled=='fastParapheur'" + [additionalsInfos]="additionalsInfos" + [externalSignatoryBookDatas]="externalSignatoryBookDatas"> + </app-fast-paraph> + <app-maarch-paraph #maarchParapheur *ngIf="signatoryBookEnabled=='maarchParapheur'" + [additionalsInfos]="additionalsInfos" + [externalSignatoryBookDatas]="externalSignatoryBookDatas"> + </app-maarch-paraph> + <app-x-paraph #xParaph *ngIf="signatoryBookEnabled=='xParaph'" + [additionalsInfos]="additionalsInfos" + [externalSignatoryBookDatas]="externalSignatoryBookDatas"></app-x-paraph> + <div class="col-md-12" + *ngIf="additionalsInfos.noAttachment.length != 0 && externalSignatoryBookDatas.objectSent == 'attachment'"> + <div> + <div class="alert-message alert-message-danger mailList" role="alert"> + <p> + {{lang.canNotMakeAction}} : + </p> + <ul> + <li *ngFor="let attachment of additionalsInfos.noAttachment"> + <b>{{attachment.alt_identifier}}</b> : {{lang[attachment.reason]}} + </li> + </ul> + </div> </div> </div> </div> + <div class="col-md-12" style="padding-top: 10px;"> + <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor> + </div> </div> - <div class="col-md-12" style="padding-top: 10px;"> - <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor> - </div> - </div> - </mat-sidenav-content> - </mat-sidenav-container> -</div> -<div mat-dialog-actions class="actions"> - <button mat-raised-button mat-button color="primary" [disabled]="loading || !isValidAction()" - (click)="onSubmit()">{{lang.validate}}</button> - <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button> -</div> + </mat-sidenav-content> + </mat-sidenav-container> + </div> + <span class="divider-modal"></span> + <div mat-dialog-actions class="actions"> + <button mat-raised-button mat-button color="primary" [disabled]="loading || !isValidAction()" + (click)="onSubmit()">{{lang.validate}}</button> + <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button> + </div> +</div> \ No newline at end of file diff --git a/src/frontend/app/actions/send-external-signatory-book-action/send-external-signatory-book-action.component.scss b/src/frontend/app/actions/send-external-signatory-book-action/send-external-signatory-book-action.component.scss index 9424211bb4a..b4a360fe69f 100644 --- a/src/frontend/app/actions/send-external-signatory-book-action/send-external-signatory-book-action.component.scss +++ b/src/frontend/app/actions/send-external-signatory-book-action/send-external-signatory-book-action.component.scss @@ -1,13 +1,5 @@ @import '../../../css/vars.scss'; -.fullHeight { - height: 70vh; -} - -.fullWidth { - width: 70vw; -} - .highlight { font-size: 110%; } diff --git a/src/frontend/app/actions/send-shipping-action/send-shipping-action.component.html b/src/frontend/app/actions/send-shipping-action/send-shipping-action.component.html index ea26f73c7df..021ee32fd39 100644 --- a/src/frontend/app/actions/send-shipping-action/send-shipping-action.component.html +++ b/src/frontend/app/actions/send-shipping-action/send-shipping-action.component.html @@ -1,121 +1,129 @@ -<h1 mat-dialog-title>{{data.action.label}}</h1> -<div mat-dialog-content [class.fullWidth]="shippings.length > 0" [class.fullHeight]="shippings.length > 0"> - <div *ngIf="loading" class="loading" style="display:flex;height:100%;"> - <mat-spinner style="margin:auto;"></mat-spinner> - </div> - <div *ngIf="!functions.empty(fatalError)" class="alert-message alert-message-danger mailList" role="alert"> - {{lang[fatalError.reason]}} - </div> - <div *ngIf="functions.empty(fatalError) && shippings.length == 0" class="alert-message alert-message-danger mailList" role="alert"> - {{lang.noShippingTemplate}} :<br /> - <div class="mailList"> - <ul> - <li *ngFor="let entity of entitiesList"> - {{entity}} - </li> - </ul> +<div class="mat-dialog-content-container"> + <h1 mat-dialog-title>{{data.action.label}}</h1> + <div mat-dialog-content [class.fullWidth]="shippings.length > 0" [class.fullHeight]="shippings.length > 0"> + <div *ngIf="loading" class="loading" style="display:flex;height:100%;"> + <mat-spinner style="margin:auto;"></mat-spinner> </div> - <span [innerHTML]="lang.doShippingParameter"></span> - </div> - <mat-sidenav-container *ngIf="shippings.length > 0" autosize style="height:100%;"> - <mat-sidenav-content style="background: white;"> - <div class="row" style="margin: 0;"> - <div class="col-md-12"> - {{lang.makeActionOn}} - <b *ngIf="data.resIds.length === 0" color="primary" - class="highlight">{{lang.currentIndexingMail}}</b> - <b *ngIf="data.resIds.length == 1" color="primary" - class="highlight">{{data.resource.chrono}}</b> - <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}} - {{lang.elements}}</b> ? - </div> - <div *ngIf="data.resIds.length > 0" style="padding:10px;display: flex;flex-direction: column;"> - <mat-checkbox color="primary" *ngFor="let inteKey of integrationsInfo | keyvalue" (click)="toggleIntegration(inteKey.key)" [checked]="data.resource.integrations[inteKey.key]">{{lang[inteKey.key+'_doc']}}</mat-checkbox> - </div> - <div class="col-md-12" style="padding-top: 10px;"> - <mat-form-field> - <mat-label>{{lang.shippings}}</mat-label> - <mat-select name="currentShipping" [(ngModel)]="currentShipping" required> - <mat-option *ngFor="let shipping of shippings" [value]="shipping"> - {{shipping.label}} - </mat-option> - </mat-select> - </mat-form-field> - </div> - <div class="col-md-12" *ngIf="attachList.length > 0"> - <div> - <div class="alert-message alert-message-info mailList" role="alert"> - <b>{{attachList.length}}</b> {{lang.shippingReadyToSend}} - </div> + <div *ngIf="!functions.empty(fatalError)" class="alert-message alert-message-danger mailList" role="alert"> + {{lang[fatalError.reason]}} + </div> + <div *ngIf="functions.empty(fatalError) && shippings.length == 0" + class="alert-message alert-message-danger mailList" role="alert"> + {{lang.noShippingTemplate}} :<br /> + <div class="mailList"> + <ul> + <li *ngFor="let entity of entitiesList"> + {{entity}} + </li> + </ul> + </div> + <span [innerHTML]="lang.doShippingParameter"></span> + </div> + <mat-sidenav-container *ngIf="shippings.length > 0" autosize style="height:100%;"> + <mat-sidenav-content style="background: white;"> + <div class="row" style="margin: 0;"> + <div class="col-md-12"> + {{lang.makeActionOn}} + <b *ngIf="data.resIds.length === 0" color="primary" + class="highlight">{{lang.currentIndexingMail}}</b> + <b *ngIf="data.resIds.length == 1" color="primary" + class="highlight">{{data.resource.chrono}}</b> + <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}} + {{lang.elements}}</b> ? </div> - </div> - <div class="col-md-12" *ngIf="mailsNotSend.length > 0"> - <div> - <div class="alert-message alert-message-danger mailList" role="alert"> - <p> - <b>{{mailsNotSend.length}}</b> {{lang.shippingNotEligible}} : - </p> - <ul> - <li *ngFor="let mail of mailsNotSend"> - <b>{{mail.chrono}}</b> : {{lang[mail.reason]}} - </li> - </ul> + <div *ngIf="data.resIds.length > 0" style="padding:10px;display: flex;flex-direction: column;"> + <mat-checkbox color="primary" *ngFor="let inteKey of integrationsInfo | keyvalue" + (click)="toggleIntegration(inteKey.key)" + [checked]="data.resource.integrations[inteKey.key]">{{lang[inteKey.key+'_doc']}} + </mat-checkbox> + </div> + <div class="col-md-12" style="padding-top: 10px;"> + <mat-form-field> + <mat-label>{{lang.shippings}}</mat-label> + <mat-select name="currentShipping" [(ngModel)]="currentShipping" required> + <mat-option *ngFor="let shipping of shippings" [value]="shipping"> + {{shipping.label}} + </mat-option> + </mat-select> + </mat-form-field> + </div> + <div class="col-md-12" *ngIf="attachList.length > 0"> + <div> + <div class="alert-message alert-message-info mailList" role="alert"> + <b>{{attachList.length}}</b> {{lang.shippingReadyToSend}} + </div> </div> </div> - </div> - <div *ngIf="currentShipping != null" class="col-md-12"> - <div class="formType" style="flex-direction: column;"> - <div class="formType-title"> - {{lang.pricesInformations}} + <div class="col-md-12" *ngIf="mailsNotSend.length > 0"> + <div> + <div class="alert-message alert-message-danger mailList" role="alert"> + <p> + <b>{{mailsNotSend.length}}</b> {{lang.shippingNotEligible}} : + </p> + <ul> + <li *ngFor="let mail of mailsNotSend"> + <b>{{mail.chrono}}</b> : {{lang[mail.reason]}} + </li> + </ul> + </div> </div> - <div class="priceContent"> - <div class="priceInfo"> - <div class="col-md-6"> - <p> - {{lang.sendMode}} : - </p> - <ul> - <li> - {{lang['maileva_'+currentShipping.options.sendMode]}} - </li> - </ul> - </div> - <div class="col-md-6"> - <p> - {{lang.shapingOptions}} : - </p> - <ul> - <li *ngFor="let option of currentShipping.options.shapingOptions"> - {{lang['maileva_'+option]}} - </li> - </ul> + </div> + <div *ngIf="currentShipping != null" class="col-md-12"> + <div class="formType" style="flex-direction: column;"> + <div class="formType-title"> + {{lang.pricesInformations}} + </div> + <div class="priceContent"> + <div class="priceInfo"> + <div class="col-md-6"> + <p> + {{lang.sendMode}} : + </p> + <ul> + <li> + {{lang['maileva_'+currentShipping.options.sendMode]}} + </li> + </ul> + </div> + <div class="col-md-6"> + <p> + {{lang.shapingOptions}} : + </p> + <ul> + <li *ngFor="let option of currentShipping.options.shapingOptions"> + {{lang['maileva_'+option]}} + </li> + </ul> + </div> </div> + <mat-form-field appearance="outline"> + <input matInput [(ngModel)]="currentShipping.fee" required name="totalPrice" + id="totalPrice" title="{{lang.totalPrice}}" type="number" disabled> + <span matSuffix> €</span> + </mat-form-field> </div> - <mat-form-field appearance="outline"> - <input matInput [(ngModel)]="currentShipping.fee" required name="totalPrice" - id="totalPrice" title="{{lang.totalPrice}}" type="number" disabled> - <span matSuffix> €</span> - </mat-form-field> </div> </div> - </div> - <div class="col-md-12"> - <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor> + <div class="col-md-12"> + <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor> + </div> </div> - </div> - </mat-sidenav-content> - <mat-sidenav mode="side" fixedTopGap="56" position='end' [opened]="attachList.length > 0" style="width: 50%;"> - <div class="pjList"> - <img *ngFor="let attach of attachList" title="{{attach.chrono}} : {{attach.title}}" - src="../../rest/{{attach.type === 'attachment' ? 'attachments' : 'resources'}}/{{attach.res_id}}/thumbnail" /> - </div> - </mat-sidenav> - </mat-sidenav-container> -</div> -<div mat-dialog-actions class="actions"> - <button mat-raised-button mat-button color="primary" - [disabled]="loading || currentShipping == null || attachList.length == 0" - (click)="onSubmit()">{{lang.validate}}</button> - <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button> + </mat-sidenav-content> + <mat-sidenav mode="side" fixedTopGap="56" position='end' [opened]="attachList.length > 0" + style="width: 50%;"> + <div class="pjList"> + <img *ngFor="let attach of attachList" title="{{attach.chrono}} : {{attach.title}}" + src="../../rest/{{attach.type === 'attachment' ? 'attachments' : 'resources'}}/{{attach.res_id}}/thumbnail" /> + </div> + </mat-sidenav> + </mat-sidenav-container> + </div> + <span class="divider-modal"></span> + <div mat-dialog-actions class="actions"> + <button mat-raised-button mat-button color="primary" + [disabled]="loading || currentShipping == null || attachList.length == 0" + (click)="onSubmit()">{{lang.validate}}</button> + <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button> + </div> </div> \ No newline at end of file diff --git a/src/frontend/app/actions/update-acknowledgement-send-date-action/update-acknowledgement-send-date-action.component.html b/src/frontend/app/actions/update-acknowledgement-send-date-action/update-acknowledgement-send-date-action.component.html index a3fb2ae11b3..e405d1b5247 100644 --- a/src/frontend/app/actions/update-acknowledgement-send-date-action/update-acknowledgement-send-date-action.component.html +++ b/src/frontend/app/actions/update-acknowledgement-send-date-action/update-acknowledgement-send-date-action.component.html @@ -1,34 +1,37 @@ -<h1 mat-dialog-title>{{data.action.label}}</h1> -<div mat-dialog-content> - <div *ngIf="loading" class="loading" style="display:flex;height:100%;"> - <mat-spinner style="margin:auto;"></mat-spinner> - </div> - <div class="row"> - <div class="col-md-12"> - {{lang.makeActionOn}} - <b *ngIf="data.resIds.length === 0" color="primary" class="highlight">{{lang.currentIndexingMail}}</b> - <b *ngIf="data.resIds.length == 1" color="primary" class="highlight">{{data.resource.chrono}}</b> - <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}} - {{lang.elements}}</b> ? - <div class="alert-message alert-message-info" role="alert" style="margin-top: 30px;" - [innerHTML]="lang.updateAcknowledgementSendDate"></div> - <div class="col-sm-6" style="padding-top:10px;"> - <mat-form-field> - <input matInput [(ngModel)]="acknowledgementSendDate" [max]="acknowledgementSendDateEnd" - [matDatepicker]="pickerStart" placeholder="{{lang.acknowledgementSendDate}}" - (focus)="pickerStart.open()"> - <mat-datepicker-toggle matSuffix [for]="pickerStart"></mat-datepicker-toggle> - <mat-datepicker #pickerStart [startAt]="acknowledgementSendDate"></mat-datepicker> - </mat-form-field> - </div> +<div class="mat-dialog-content-container"> + <h1 mat-dialog-title>{{data.action.label}}</h1> + <div mat-dialog-content> + <div *ngIf="loading" class="loading" style="display:flex;height:100%;"> + <mat-spinner style="margin:auto;"></mat-spinner> </div> - <div class="col-md-12"> - <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor> + <div class="row"> + <div class="col-md-12"> + {{lang.makeActionOn}} + <b *ngIf="data.resIds.length === 0" color="primary" class="highlight">{{lang.currentIndexingMail}}</b> + <b *ngIf="data.resIds.length == 1" color="primary" class="highlight">{{data.resource.chrono}}</b> + <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}} + {{lang.elements}}</b> ? + <div class="alert-message alert-message-info" role="alert" style="margin-top: 30px;" + [innerHTML]="lang.updateAcknowledgementSendDate"></div> + <div class="col-sm-6" style="padding-top:10px;"> + <mat-form-field> + <input matInput [(ngModel)]="acknowledgementSendDate" [max]="acknowledgementSendDateEnd" + [matDatepicker]="pickerStart" placeholder="{{lang.acknowledgementSendDate}}" + (focus)="pickerStart.open()"> + <mat-datepicker-toggle matSuffix [for]="pickerStart"></mat-datepicker-toggle> + <mat-datepicker #pickerStart [startAt]="acknowledgementSendDate"></mat-datepicker> + </mat-form-field> + </div> + </div> + <div class="col-md-12"> + <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor> + </div> </div> </div> -</div> -<div mat-dialog-actions class="actions"> - <button mat-raised-button mat-button color="primary" [disabled]="loading" - (click)="onSubmit()">{{lang.validate}}</button> - <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button> + <span class="divider-modal"></span> + <div mat-dialog-actions class="actions"> + <button mat-raised-button mat-button color="primary" [disabled]="loading" + (click)="onSubmit()">{{lang.validate}}</button> + <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button> + </div> </div> \ No newline at end of file diff --git a/src/frontend/app/actions/update-departure-date-action/update-departure-date-action.component.html b/src/frontend/app/actions/update-departure-date-action/update-departure-date-action.component.html index dcfa92401dc..50a3a61df9a 100644 --- a/src/frontend/app/actions/update-departure-date-action/update-departure-date-action.component.html +++ b/src/frontend/app/actions/update-departure-date-action/update-departure-date-action.component.html @@ -1,22 +1,28 @@ -<h1 mat-dialog-title>{{data.action.label}}</h1> -<div mat-dialog-content> - <div *ngIf="loading" class="loading" style="display:flex;height:100%;"> - <mat-spinner style="margin:auto;"></mat-spinner> - </div> - <div class="row"> - <div class="col-md-12"> - {{lang.makeActionOn}} - <b *ngIf="data.resIds.length === 0" color="primary" class="highlight">{{lang.currentIndexingMail}}</b> - <b *ngIf="data.resIds.length == 1" color="primary" class="highlight">{{data.resource.chrono}}</b> - <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}} {{lang.elements}}</b> ? - <div class="alert-message alert-message-info" role="alert" style="margin-top: 30px;" [innerHTML]="lang.updateDepartureDate"></div> +<div class="mat-dialog-content-container"> + <h1 mat-dialog-title>{{data.action.label}}</h1> + <div mat-dialog-content> + <div *ngIf="loading" class="loading" style="display:flex;height:100%;"> + <mat-spinner style="margin:auto;"></mat-spinner> </div> - <div class="col-md-12"> - <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor> + <div class="row"> + <div class="col-md-12"> + {{lang.makeActionOn}} + <b *ngIf="data.resIds.length === 0" color="primary" class="highlight">{{lang.currentIndexingMail}}</b> + <b *ngIf="data.resIds.length == 1" color="primary" class="highlight">{{data.resource.chrono}}</b> + <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}} + {{lang.elements}}</b> ? + <div class="alert-message alert-message-info" role="alert" style="margin-top: 30px;" + [innerHTML]="lang.updateDepartureDate"></div> + </div> + <div class="col-md-12"> + <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor> + </div> </div> </div> -</div> -<div mat-dialog-actions class="actions"> - <button mat-raised-button mat-button color="primary" [disabled]="loading" (click)="onSubmit()">{{lang.validate}}</button> - <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button> + <span class="divider-modal"></span> + <div mat-dialog-actions class="actions"> + <button mat-raised-button mat-button color="primary" [disabled]="loading" + (click)="onSubmit()">{{lang.validate}}</button> + <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button> + </div> </div> \ No newline at end of file diff --git a/src/frontend/app/actions/view-doc-action/view-doc-action.component.html b/src/frontend/app/actions/view-doc-action/view-doc-action.component.html index ac535df2f21..796054619d0 100644 --- a/src/frontend/app/actions/view-doc-action/view-doc-action.component.html +++ b/src/frontend/app/actions/view-doc-action/view-doc-action.component.html @@ -1,8 +1,10 @@ -<h1 mat-dialog-title>{{data.resource.chrono}} - <button title="{{lang.close}}" mat-icon-button [mat-dialog-close]=""> - <mat-icon class="fa fa-times-circle fa-2x"></mat-icon> - </button> -</h1> -<div style="overflow:auto;height: 100%;width: 100%;"> - <pdf-viewer [src]="docUrl" [render-text]="true" [autoresize]="true" [original-size]="false" [show-all]="true"></pdf-viewer> +<div class="mat-dialog-content-container"> + <h1 mat-dialog-title>{{data.resource.chrono}} + <button title="{{lang.close}}" mat-icon-button [mat-dialog-close]=""> + <mat-icon class="fa fa-times-circle fa-2x"></mat-icon> + </button> + </h1> + <div style="overflow:auto;height: 100%;width: 100%;"> + <pdf-viewer [src]="docUrl" [render-text]="true" [autoresize]="true" [original-size]="false" [show-all]="true"></pdf-viewer> + </div> </div> \ No newline at end of file diff --git a/src/frontend/app/actions/visa-continue-circuit-action/continue-visa-circuit-action.component.html b/src/frontend/app/actions/visa-continue-circuit-action/continue-visa-circuit-action.component.html index effec9a1c4e..387b7bb5b4b 100644 --- a/src/frontend/app/actions/visa-continue-circuit-action/continue-visa-circuit-action.component.html +++ b/src/frontend/app/actions/visa-continue-circuit-action/continue-visa-circuit-action.component.html @@ -1,64 +1,70 @@ -<h1 mat-dialog-title>{{data.action.label}}</h1> -<div mat-dialog-content> - <div *ngIf="loading" class="loading" style="display:flex;height:100%;"> - <mat-spinner style="margin:auto;"></mat-spinner> - </div> - <mat-sidenav-container autosize style="height:100%;"> - <mat-sidenav-content style="background: white;padding:10px;"> - <div> - {{lang.makeActionOn}} - <b *ngIf="data.resIds.length === 0" color="primary" class="highlight">{{lang.currentIndexingMail}}</b> - <b *ngIf="data.resIds.length == 1" color="primary" class="highlight">{{data.resource.chrono}}</b> - <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}} - {{lang.elements}}</b> ? - </div> - <div class="alert-message alert-message-info" - *ngIf="data.resIds.length == 1 && appVisaWorkflow !== undefined && appVisaWorkflow.getNextVisaUser() !== ''" - role="alert" style="margin-top: 30px;" - [innerHTML]="lang.sendToDocTo + ' <b>' + appVisaWorkflow.getNextVisaUser().labelToDisplay + '</b>'"> - </div> +<div class="mat-dialog-content-container"> + <h1 mat-dialog-title>{{data.action.label}}</h1> + <div mat-dialog-content> + <div *ngIf="loading" class="loading" style="display:flex;height:100%;"> + <mat-spinner style="margin:auto;"></mat-spinner> + </div> + <mat-sidenav-container autosize style="height:100%;"> + <mat-sidenav-content style="background: white;padding:10px;"> + <div> + {{lang.makeActionOn}} + <b *ngIf="data.resIds.length === 0" color="primary" + class="highlight">{{lang.currentIndexingMail}}</b> + <b *ngIf="data.resIds.length == 1" color="primary" class="highlight">{{data.resource.chrono}}</b> + <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}} + {{lang.elements}}</b> ? + </div> + <div class="alert-message alert-message-info" + *ngIf="data.resIds.length == 1 && appVisaWorkflow !== undefined && appVisaWorkflow.getNextVisaUser() !== ''" + role="alert" style="margin-top: 30px;" + [innerHTML]="lang.sendToDocTo + ' <b>' + appVisaWorkflow.getNextVisaUser().labelToDisplay + '</b>'"> + </div> - <div class="alert-message alert-message-info" - *ngIf="data.resIds.length == 1 && appVisaWorkflow !== undefined && appVisaWorkflow.getNextVisaUser() === '' && !noResourceToProcess" - role="alert" style="margin-top: 30px;" [innerHTML]="lang.endWorkflow"></div> + <div class="alert-message alert-message-info" + *ngIf="data.resIds.length == 1 && appVisaWorkflow !== undefined && appVisaWorkflow.getNextVisaUser() === '' && !noResourceToProcess" + role="alert" style="margin-top: 30px;" [innerHTML]="lang.endWorkflow"></div> - <div *ngIf="resourcesErrors.length > 0" class="alert-message alert-message-danger mailList" role="alert"> - <p> - {{lang.canNotMakeAction}} : - </p> - <ul> - <li *ngFor="let ressource of resourcesErrors"> - <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}} - </li> - </ul> - </div> - <div *ngIf="resourcesWarnings.length > 0" class="alert-message alert-message-info mailList" role="alert"> - <ul style="margin: 0;padding-bottom: 0px;"> - <li *ngFor="let ressource of resourcesWarnings"> - <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}} - </li> - </ul> - </div> - <div *ngIf="resourcesMailing.length > 0 && appVisaWorkflow !== undefined && appVisaWorkflow.getNextVisaUser() !== '' && appVisaWorkflow.getNextVisaUser().requested_signature" - class="alert-message alert-message-info" role="alert"> - <p>{{lang.mailingActionInformations}}</p> - <ul> - <li *ngFor="let ressource of resourcesMailing"> - <b>{{ressource.alt_identifier}}</b> - </li> - </ul> - </div> - <app-visa-workflow *ngIf="data.resIds.length == 1" [adminMode]="false" [resId]="data.resIds[0]" - #appVisaWorkflow> - </app-visa-workflow> - <div style="padding-top: 10px;"> - <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor> - </div> - </mat-sidenav-content> - </mat-sidenav-container> -</div> -<div mat-dialog-actions class="actions"> - <button mat-raised-button mat-button color="primary" [disabled]="loading || !isValidAction()" - (click)="onSubmit()">{{lang.validate}}</button> - <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button> -</div> + <div *ngIf="resourcesErrors.length > 0" class="alert-message alert-message-danger mailList" + role="alert"> + <p> + {{lang.canNotMakeAction}} : + </p> + <ul> + <li *ngFor="let ressource of resourcesErrors"> + <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}} + </li> + </ul> + </div> + <div *ngIf="resourcesWarnings.length > 0" class="alert-message alert-message-info mailList" + role="alert"> + <ul style="margin: 0;padding-bottom: 0px;"> + <li *ngFor="let ressource of resourcesWarnings"> + <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}} + </li> + </ul> + </div> + <div *ngIf="resourcesMailing.length > 0 && appVisaWorkflow !== undefined && appVisaWorkflow.getNextVisaUser() !== '' && appVisaWorkflow.getNextVisaUser().requested_signature" + class="alert-message alert-message-info" role="alert"> + <p>{{lang.mailingActionInformations}}</p> + <ul> + <li *ngFor="let ressource of resourcesMailing"> + <b>{{ressource.alt_identifier}}</b> + </li> + </ul> + </div> + <app-visa-workflow *ngIf="data.resIds.length == 1" [adminMode]="false" [resId]="data.resIds[0]" + #appVisaWorkflow> + </app-visa-workflow> + <div style="padding-top: 10px;"> + <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor> + </div> + </mat-sidenav-content> + </mat-sidenav-container> + </div> + <span class="divider-modal"></span> + <div mat-dialog-actions class="actions"> + <button mat-raised-button mat-button color="primary" [disabled]="loading || !isValidAction()" + (click)="onSubmit()">{{lang.validate}}</button> + <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button> + </div> +</div> \ No newline at end of file diff --git a/src/frontend/app/actions/visa-continue-circuit-action/continue-visa-circuit-action.component.scss b/src/frontend/app/actions/visa-continue-circuit-action/continue-visa-circuit-action.component.scss index 9424211bb4a..b4a360fe69f 100644 --- a/src/frontend/app/actions/visa-continue-circuit-action/continue-visa-circuit-action.component.scss +++ b/src/frontend/app/actions/visa-continue-circuit-action/continue-visa-circuit-action.component.scss @@ -1,13 +1,5 @@ @import '../../../css/vars.scss'; -.fullHeight { - height: 70vh; -} - -.fullWidth { - width: 70vw; -} - .highlight { font-size: 110%; } diff --git a/src/frontend/app/actions/visa-interrupt-action/interrupt-visa-action.component.html b/src/frontend/app/actions/visa-interrupt-action/interrupt-visa-action.component.html index 1fa9c8fd1fe..197c492052e 100644 --- a/src/frontend/app/actions/visa-interrupt-action/interrupt-visa-action.component.html +++ b/src/frontend/app/actions/visa-interrupt-action/interrupt-visa-action.component.html @@ -1,46 +1,52 @@ -<h1 mat-dialog-title>{{data.action.label}}</h1> -<div mat-dialog-content> - <div *ngIf="loading" class="loading" style="display:flex;height:100%;"> - <mat-spinner style="margin:auto;"></mat-spinner> - </div> - <div class="row"> - <div class="col-md-12"> - {{lang.makeActionOn}} - <b *ngIf="data.resIds.length === 1" color="primary" class="highlight">{{data.resource.chrono}}</b> - <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}} - {{lang.elements}}</b> ? - <div class="alert-message alert-message-info" role="alert" style="margin-top: 30px;" - [innerHTML]="lang.interruptVisaWorkflow"></div> +<div class="mat-dialog-content-container"> + <h1 mat-dialog-title>{{data.action.label}}</h1> + <div mat-dialog-content> + <div *ngIf="loading" class="loading" style="display:flex;height:100%;"> + <mat-spinner style="margin:auto;"></mat-spinner> + </div> + <div class="row"> + <div class="col-md-12"> + {{lang.makeActionOn}} + <b *ngIf="data.resIds.length === 1" color="primary" class="highlight">{{data.resource.chrono}}</b> + <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}} + {{lang.elements}}</b> ? + <div class="alert-message alert-message-info" role="alert" style="margin-top: 30px;" + [innerHTML]="lang.interruptVisaWorkflow"></div> - <div *ngIf="resourcesErrors.length > 0" class="alert-message alert-message-danger mailList" role="alert"> - <p> - {{lang.canNotMakeAction}} : - </p> - <ul> - <li *ngFor="let ressource of resourcesErrors"> - <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}} - </li> - </ul> + <div *ngIf="resourcesErrors.length > 0" class="alert-message alert-message-danger mailList" + role="alert"> + <p> + {{lang.canNotMakeAction}} : + </p> + <ul> + <li *ngFor="let ressource of resourcesErrors"> + <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}} + </li> + </ul> + </div> + <div *ngIf="resourcesWarnings.length > 0" class="alert-message alert-message-info mailList" + role="alert"> + <ul style="margin: 0;padding-bottom: 0px;"> + <li *ngFor="let ressource of resourcesWarnings"> + <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}} + </li> + </ul> + </div> + + <app-visa-workflow *ngIf="data.resIds.length == 1" [adminMode]="false" [resId]="data.resIds[0]" + #appVisaWorkflow> + </app-visa-workflow> </div> - <div *ngIf="resourcesWarnings.length > 0" class="alert-message alert-message-info mailList" role="alert"> - <ul style="margin: 0;padding-bottom: 0px;"> - <li *ngFor="let ressource of resourcesWarnings"> - <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}} - </li> - </ul> + <div class="col-md-12"> + <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor> </div> - - <app-visa-workflow *ngIf="data.resIds.length == 1" [adminMode]="false" [resId]="data.resIds[0]" - #appVisaWorkflow> - </app-visa-workflow> - </div> - <div class="col-md-12"> - <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor> </div> </div> -</div> -<div mat-dialog-actions class="actions"> - <button mat-raised-button mat-button color="primary" [disabled]="loading || !isValidAction()" - (click)="onSubmit()">{{lang.validate}}</button> - <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button> -</div> + <span class="divider-modal"></span> + <div mat-dialog-actions class="actions"> + <button mat-raised-button mat-button color="primary" [disabled]="loading || !isValidAction()" + (click)="onSubmit()">{{lang.validate}}</button> + <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button> + </div> + +</div> \ No newline at end of file diff --git a/src/frontend/app/actions/visa-reject-back-to-previous-action/reject-visa-back-to-previous-action.component.html b/src/frontend/app/actions/visa-reject-back-to-previous-action/reject-visa-back-to-previous-action.component.html index e1ec516307f..03b5990b5cc 100644 --- a/src/frontend/app/actions/visa-reject-back-to-previous-action/reject-visa-back-to-previous-action.component.html +++ b/src/frontend/app/actions/visa-reject-back-to-previous-action/reject-visa-back-to-previous-action.component.html @@ -1,45 +1,48 @@ -<h1 mat-dialog-title>{{data.action.label}}</h1> -<div mat-dialog-content> - <div *ngIf="loading" class="loading" style="display:flex;height:100%;"> - <mat-spinner style="margin:auto;"></mat-spinner> - </div> - <div class="row"> - <div class="col-md-12"> - {{lang.makeActionOn}} - <b *ngIf="data.resIds.length === 1" color="primary" class="highlight">{{data.resource.chrono}}</b> - <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}} - {{lang.elements}}</b> ? - <div *ngIf="data.resIds.length > 1" class="alert-message alert-message-info" role="alert" style="margin-top: 30px;" [innerHTML]="lang.rejectVisaBack"></div> - <div *ngIf="data.resIds.length == 1 && appVisaWorkflow !== undefined && appVisaWorkflow.getLastVisaUser() !== ''" class="alert-message alert-message-info" role="alert" style="margin-top: 30px;" [innerHTML]="lang.rejectVisaBackUser + ' <b>' + appVisaWorkflow.getLastVisaUser().labelToDisplay + '</b>'"></div> - - <div *ngIf="resourcesErrors.length > 0" class="alert-message alert-message-danger mailList" role="alert"> - <p> - {{lang.canNotMakeAction}} : - </p> - <ul> - <li *ngFor="let ressource of resourcesErrors"> - <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}} - </li> - </ul> +<div class="mat-dialog-content-container"> + <h1 mat-dialog-title>{{data.action.label}}</h1> + <div mat-dialog-content> + <div *ngIf="loading" class="loading" style="display:flex;height:100%;"> + <mat-spinner style="margin:auto;"></mat-spinner> + </div> + <div class="row"> + <div class="col-md-12"> + {{lang.makeActionOn}} + <b *ngIf="data.resIds.length === 1" color="primary" class="highlight">{{data.resource.chrono}}</b> + <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}} + {{lang.elements}}</b> ? + <div *ngIf="data.resIds.length > 1" class="alert-message alert-message-info" role="alert" style="margin-top: 30px;" [innerHTML]="lang.rejectVisaBack"></div> + <div *ngIf="data.resIds.length == 1 && appVisaWorkflow !== undefined && appVisaWorkflow.getLastVisaUser() !== ''" class="alert-message alert-message-info" role="alert" style="margin-top: 30px;" [innerHTML]="lang.rejectVisaBackUser + ' <b>' + appVisaWorkflow.getLastVisaUser().labelToDisplay + '</b>'"></div> + + <div *ngIf="resourcesErrors.length > 0" class="alert-message alert-message-danger mailList" role="alert"> + <p> + {{lang.canNotMakeAction}} : + </p> + <ul> + <li *ngFor="let ressource of resourcesErrors"> + <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}} + </li> + </ul> + </div> + <div *ngIf="resourcesWarnings.length > 0" class="alert-message alert-message-info mailList" role="alert"> + <ul style="margin: 0;padding-bottom: 0px;"> + <li *ngFor="let ressource of resourcesWarnings"> + <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}} + </li> + </ul> + </div> + + <app-visa-workflow *ngIf="data.resIds.length == 1" [adminMode]="false" [resId]="data.resIds[0]" #appVisaWorkflow> + </app-visa-workflow> </div> - <div *ngIf="resourcesWarnings.length > 0" class="alert-message alert-message-info mailList" role="alert"> - <ul style="margin: 0;padding-bottom: 0px;"> - <li *ngFor="let ressource of resourcesWarnings"> - <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}} - </li> - </ul> + <div class="col-md-12"> + <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor> </div> - - <app-visa-workflow *ngIf="data.resIds.length == 1" [adminMode]="false" [resId]="data.resIds[0]" #appVisaWorkflow> - </app-visa-workflow> - </div> - <div class="col-md-12"> - <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor> </div> </div> -</div> -<div mat-dialog-actions class="actions"> - <button mat-raised-button mat-button color="primary" [disabled]="loading || !isValidAction()" - (click)="onSubmit()">{{lang.validate}}</button> - <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button> -</div> + <span class="divider-modal"></span> + <div mat-dialog-actions class="actions"> + <button mat-raised-button mat-button color="primary" [disabled]="loading || !isValidAction()" + (click)="onSubmit()">{{lang.validate}}</button> + <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button> + </div> +</div> \ No newline at end of file diff --git a/src/frontend/app/actions/visa-reset-action/reset-visa-action.component.html b/src/frontend/app/actions/visa-reset-action/reset-visa-action.component.html index bc0edc7c6ba..82e3808ba85 100644 --- a/src/frontend/app/actions/visa-reset-action/reset-visa-action.component.html +++ b/src/frontend/app/actions/visa-reset-action/reset-visa-action.component.html @@ -1,45 +1,51 @@ -<h1 mat-dialog-title>{{data.action.label}}</h1> -<div mat-dialog-content> - <div *ngIf="loading" class="loading" style="display:flex;height:100%;"> - <mat-spinner style="margin:auto;"></mat-spinner> - </div> - <div class="row"> - <div class="col-md-12"> - {{lang.makeActionOn}} - <b *ngIf="data.resIds.length === 1" color="primary" class="highlight">{{data.resource.chrono}}</b> - <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}} - {{lang.elements}}</b> ? - <div *ngIf="data.resIds.length > 0" class="alert-message alert-message-info" role="alert" style="margin-top: 30px;" - [innerHTML]="lang.resetVisaWorkflow"></div> +<div class="mat-dialog-content-container"> + <h1 mat-dialog-title>{{data.action.label}}</h1> + <div mat-dialog-content> + <div *ngIf="loading" class="loading" style="display:flex;height:100%;"> + <mat-spinner style="margin:auto;"></mat-spinner> + </div> + <div class="row"> + <div class="col-md-12"> + {{lang.makeActionOn}} + <b *ngIf="data.resIds.length === 1" color="primary" class="highlight">{{data.resource.chrono}}</b> + <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}} + {{lang.elements}}</b> ? + <div *ngIf="data.resIds.length > 0" class="alert-message alert-message-info" role="alert" + style="margin-top: 30px;" [innerHTML]="lang.resetVisaWorkflow"></div> - <div *ngIf="resourcesErrors.length > 0" class="alert-message alert-message-danger mailList" role="alert"> - <p> - {{lang.canNotMakeAction}} : - </p> - <ul> - <li *ngFor="let ressource of resourcesErrors"> - <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}} - </li> - </ul> - </div> - <div *ngIf="resourcesWarnings.length > 0" class="alert-message alert-message-info mailList" role="alert"> - <ul style="margin: 0;padding-bottom: 0px;"> - <li *ngFor="let ressource of resourcesWarnings"> - <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}} - </li> - </ul> - </div> + <div *ngIf="resourcesErrors.length > 0" class="alert-message alert-message-danger mailList" + role="alert"> + <p> + {{lang.canNotMakeAction}} : + </p> + <ul> + <li *ngFor="let ressource of resourcesErrors"> + <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}} + </li> + </ul> + </div> + <div *ngIf="resourcesWarnings.length > 0" class="alert-message alert-message-info mailList" + role="alert"> + <ul style="margin: 0;padding-bottom: 0px;"> + <li *ngFor="let ressource of resourcesWarnings"> + <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}} + </li> + </ul> + </div> - <app-visa-workflow *ngIf="data.resIds.length == 1" [adminMode]="false" [resId]="data.resIds[0]" #appVisaWorkflow> + <app-visa-workflow *ngIf="data.resIds.length == 1" [adminMode]="false" [resId]="data.resIds[0]" + #appVisaWorkflow> </app-visa-workflow> + </div> + <div class="col-md-12"> + <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor> + </div> </div> - <div class="col-md-12"> - <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor> - </div> </div> -</div> -<div mat-dialog-actions class="actions"> - <button mat-raised-button mat-button color="primary" [disabled]="loading || !isValidAction()" - (click)="onSubmit()">{{lang.validate}}</button> - <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button> -</div> + <span class="divider-modal"></span> + <div mat-dialog-actions class="actions"> + <button mat-raised-button mat-button color="primary" [disabled]="loading || !isValidAction()" + (click)="onSubmit()">{{lang.validate}}</button> + <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button> + </div> +</div> \ No newline at end of file diff --git a/src/frontend/app/actions/visa-send-signature-book-action/send-signature-book-action.component.html b/src/frontend/app/actions/visa-send-signature-book-action/send-signature-book-action.component.html index bf667a02eef..59b4fd7bed5 100644 --- a/src/frontend/app/actions/visa-send-signature-book-action/send-signature-book-action.component.html +++ b/src/frontend/app/actions/visa-send-signature-book-action/send-signature-book-action.component.html @@ -1,52 +1,61 @@ -<h1 mat-dialog-title>{{data.action.label}}</h1> -<div mat-dialog-content> - <div *ngIf="loading" class="loading" style="display:flex;height:100%;"> - <mat-spinner style="margin:auto;"></mat-spinner> +<div class="mat-dialog-content-container"> + <h1 mat-dialog-title>{{data.action.label}}</h1> + <div mat-dialog-content> + <div *ngIf="loading" class="loading" style="display:flex;height:100%;"> + <mat-spinner style="margin:auto;"></mat-spinner> + </div> + <mat-sidenav-container autosize style="height:100%;"> + <mat-sidenav-content style="background: white;padding:10px;"> + <div> + {{lang.makeActionOn}} + <b *ngIf="data.resIds.length === 0" color="primary" + class="highlight">{{lang.currentIndexingMail}}</b> + <b *ngIf="data.resIds.length == 1" color="primary" class="highlight">{{data.resource.chrono}}</b> + <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}} + {{lang.elements}}</b> ? + </div> + <div *ngIf="data.resIds.length > 0" style="padding:10px;display: flex;flex-direction: column;"> + <mat-checkbox color="primary" *ngFor="let inteKey of integrationsInfo | keyvalue" + (click)="toggleIntegration(inteKey.key)" [checked]="data.resource.integrations[inteKey.key]"> + {{lang[inteKey.key+'_doc']}}</mat-checkbox> + </div> + <div *ngIf="resourcesError.length > 0" class="alert-message alert-message-danger mailList" role="alert"> + <p> + {{lang.canNotMakeAction}} : + </p> + <ul> + <li *ngFor="let ressource of resourcesError"> + <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}} + </li> + </ul> + </div> + <div *ngIf="resourcesMailing.length > 0 && appVisaWorkflow.getFirstVisaUser() != '' && appVisaWorkflow.visaWorkflow.items[0].requested_signature" + class="alert-message alert-message-info" role="alert"> + <p>{{lang.mailingActionInformations}}</p> + <ul> + <li *ngFor="let ressource of resourcesMailing"> + <b>{{ressource.alt_identifier}}</b> + </li> + </ul> + </div> + <app-visa-workflow *ngIf="data.resIds.length <= 1 || (!noResourceToProcess && data.resIds.length > 1)" + [adminMode]="true" #appVisaWorkflow> + </app-visa-workflow> + <div style="padding-top: 10px;"> + <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor> + </div> + </mat-sidenav-content> + <mat-sidenav position='end' [opened]="data.resIds.length === 1 && noResourceToProcess" mode="side" + style="overflow-x:hidden;" autoFocus="false" [ngStyle]="{'width': '400px'}"> + <app-attachments-list *ngIf="data.resIds.length === 1 && noResourceToProcess" [resId]="data.resIds[0]" + (afterActionAttachment)="checkSignatureBook()"></app-attachments-list> + </mat-sidenav> + </mat-sidenav-container> </div> - <mat-sidenav-container autosize style="height:100%;"> - <mat-sidenav-content style="background: white;padding:10px;"> - <div> - {{lang.makeActionOn}} - <b *ngIf="data.resIds.length === 0" color="primary" class="highlight">{{lang.currentIndexingMail}}</b> - <b *ngIf="data.resIds.length == 1" color="primary" class="highlight">{{data.resource.chrono}}</b> - <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}} - {{lang.elements}}</b> ? - </div> - <div *ngIf="data.resIds.length > 0" style="padding:10px;display: flex;flex-direction: column;"> - <mat-checkbox color="primary" *ngFor="let inteKey of integrationsInfo | keyvalue" (click)="toggleIntegration(inteKey.key)" [checked]="data.resource.integrations[inteKey.key]">{{lang[inteKey.key+'_doc']}}</mat-checkbox> - </div> - <div *ngIf="resourcesError.length > 0" class="alert-message alert-message-danger mailList" role="alert"> - <p> - {{lang.canNotMakeAction}} : - </p> - <ul> - <li *ngFor="let ressource of resourcesError"> - <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}} - </li> - </ul> - </div> - <div *ngIf="resourcesMailing.length > 0 && appVisaWorkflow.getFirstVisaUser() != '' && appVisaWorkflow.visaWorkflow.items[0].requested_signature" class="alert-message alert-message-info" role="alert"> - <p>{{lang.mailingActionInformations}}</p> - <ul> - <li *ngFor="let ressource of resourcesMailing"> - <b>{{ressource.alt_identifier}}</b> - </li> - </ul> - </div> - <app-visa-workflow *ngIf="data.resIds.length <= 1 || (!noResourceToProcess && data.resIds.length > 1)" [adminMode]="true" #appVisaWorkflow> - </app-visa-workflow> - <div style="padding-top: 10px;"> - <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor> - </div> - </mat-sidenav-content> - <mat-sidenav position='end' [opened]="data.resIds.length === 1 && noResourceToProcess" mode="side" style="overflow-x:hidden;" - autoFocus="false" [ngStyle]="{'width': '400px'}"> - <app-attachments-list *ngIf="data.resIds.length === 1 && noResourceToProcess" [resId]="data.resIds[0]" (afterActionAttachment)="checkSignatureBook()"></app-attachments-list> - </mat-sidenav> - </mat-sidenav-container> -</div> -<div mat-dialog-actions class="actions"> - <button mat-raised-button mat-button color="primary" [disabled]="loading || !isValidAction()" - (click)="onSubmit()">{{lang.validate}}</button> - <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button> -</div> + <span class="divider-modal"></span> + <div mat-dialog-actions class="actions"> + <button mat-raised-button mat-button color="primary" [disabled]="loading || !isValidAction()" + (click)="onSubmit()">{{lang.validate}}</button> + <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button> + </div> +</div> \ No newline at end of file diff --git a/src/frontend/app/actions/visa-send-signature-book-action/send-signature-book-action.component.scss b/src/frontend/app/actions/visa-send-signature-book-action/send-signature-book-action.component.scss index 014cefd7f79..04040dd72b2 100644 --- a/src/frontend/app/actions/visa-send-signature-book-action/send-signature-book-action.component.scss +++ b/src/frontend/app/actions/visa-send-signature-book-action/send-signature-book-action.component.scss @@ -1,13 +1,5 @@ @import '../../../css/vars.scss'; -.fullHeight { - height: 70vh; -} - -.fullWidth { - width: 70vw; -} - .highlight { font-size: 110%; } diff --git a/src/frontend/app/administration/contact/modal/contact-modal.component.html b/src/frontend/app/administration/contact/modal/contact-modal.component.html index c29b06ff90e..d0d492ba3db 100644 --- a/src/frontend/app/administration/contact/modal/contact-modal.component.html +++ b/src/frontend/app/administration/contact/modal/contact-modal.component.html @@ -1,4 +1,4 @@ -<div [class.admin-contact]="mode === 'update'"> +<div class="mat-dialog-content-container"> <h1 mat-dialog-title> <span style="flex: 1;"> {{creationMode ? lang.contactCreation : lang.contact}} @@ -13,16 +13,20 @@ (onSubmitEvent)="dialogRef.close($event)"></app-contact-form> <app-contacts-list *ngIf="mode === 'read'" [contact]="contact"></app-contacts-list> </mat-sidenav-content> - <mat-sidenav #drawer position='end' mode="side" - style="overflow-x:hidden;width: 50%;" autoFocus="false"> - <app-document-viewer *ngIf="loadedDocument" #appDocumentViewer style="height:100%;width:100%;position: relative;" - [editMode]="false" [base64]="headerService.getLastLoadedFile()"> + <mat-sidenav #drawer position='end' mode="side" style="overflow-x:hidden;width: 50%;" autoFocus="false"> + <app-document-viewer *ngIf="loadedDocument" #appDocumentViewer + style="height:100%;width:100%;position: relative;" [editMode]="false" + [base64]="headerService.getLastLoadedFile()"> </app-document-viewer> </mat-sidenav> </mat-sidenav-container> </mat-dialog-content> + <span class="divider-modal"></span> <div mat-dialog-actions class="actions" *ngIf="canUpdate && mode === 'read' && contact.type === 'contact'"> - <button mat-raised-button color="primary" - (click)="switchMode()">{{lang.update}}</button> + <button mat-raised-button color="primary" (click)="switchMode()">{{lang.update}}</button> </div> -</div> \ No newline at end of file +</div> + +<!--<div [class.admin-contact]="mode === 'update'"> + +</div>--> \ No newline at end of file diff --git a/src/frontend/app/administration/contact/modal/contact-modal.component.scss b/src/frontend/app/administration/contact/modal/contact-modal.component.scss index 3cf5f0a7708..cabffd14c3b 100644 --- a/src/frontend/app/administration/contact/modal/contact-modal.component.scss +++ b/src/frontend/app/administration/contact/modal/contact-modal.component.scss @@ -1,23 +1,5 @@ @import '../../../../css/vars.scss'; -.mat-dialog-title { - padding: 10px; - display: flex; - align-items: center; -} - -.modal-container { - min-height: 250px; - height: auto; - padding: 0px !important; - margin: 0; - flex: 1; - position: relative; -} - -.modal-body { - min-height: auto; -} .admin-contact { display: flex; diff --git a/src/frontend/app/administration/contact/modal/contact-modal.component.ts b/src/frontend/app/administration/contact/modal/contact-modal.component.ts index 53bf890715f..f44d1aac8d1 100644 --- a/src/frontend/app/administration/contact/modal/contact-modal.component.ts +++ b/src/frontend/app/administration/contact/modal/contact-modal.component.ts @@ -42,7 +42,8 @@ export class ContactModalComponent { this.creationMode = true; this.mode = 'update'; if (this.mode === 'update') { - $j('.contact-modal-container').css({'height' : '90vh'}); + $j('.maarch-modal').css({'height' : '99vh'}); + $j('.maarch-modal').css({'width' : '99vw'}); } if (this.headerService.getLastLoadedFile() !== null) { this.drawer.toggle(); @@ -57,7 +58,8 @@ export class ContactModalComponent { switchMode() { this.mode = this.mode === 'read' ? 'update' : 'read'; if (this.mode === 'update') { - $j('.contact-modal-container').css({'height' : '90vh'}); + $j('.maarch-modal').css({'height' : '99vh'}); + $j('.maarch-modal').css({'width' : '99vw'}); } if (this.headerService.getLastLoadedFile() !== null) { diff --git a/src/frontend/app/administration/entity/entities-administration.component.ts b/src/frontend/app/administration/entity/entities-administration.component.ts index 549d716f9d6..3ced15a96d1 100755 --- a/src/frontend/app/administration/entity/entities-administration.component.ts +++ b/src/frontend/app/administration/entity/entities-administration.component.ts @@ -691,8 +691,8 @@ export class EntitiesAdministrationComponent implements OnInit { toggleRole(role: any) { if (role.usedIn.length > 0) { - this.config = { data: { msg: this.lang.confirmAction, warn: this.lang.roleUsedInTemplateInfo + " : <b>" + role.usedIn.join(', ') + '</b><br/>' + this.lang.roleUsedInTemplateInfo2 } }; - let dialogRef = this.dialog.open(ConfirmModalComponent, this.config); + let dialogRef = this.dialog.open(ConfirmComponent, { autoFocus: false, data: { title: this.lang.confirmAction, msg: this.lang.roleUsedInTemplateInfo + " : <b>" + role.usedIn.join(', ') + '</b><br/>' + this.lang.roleUsedInTemplateInfo2 } }); + dialogRef.afterClosed().subscribe(result => { if (result === "ok") { role.available = !role.available; diff --git a/src/frontend/app/app.module.ts b/src/frontend/app/app.module.ts index 5e21c879671..36b942828d5 100755 --- a/src/frontend/app/app.module.ts +++ b/src/frontend/app/app.module.ts @@ -211,7 +211,6 @@ import { SentResourcePageComponent } from './sentResource/sent-resource-page/sen entryComponents: [ ConfirmModalComponent, InfoChangePasswordModalComponent, - AttachmentsListComponent, SummarySheetComponent, ExportComponent, ConfirmActionComponent, diff --git a/src/frontend/app/attachments/attachment-create/attachment-create.component.scss b/src/frontend/app/attachments/attachment-create/attachment-create.component.scss index 4b2f43f4fde..ef24f10eaab 100644 --- a/src/frontend/app/attachments/attachment-create/attachment-create.component.scss +++ b/src/frontend/app/attachments/attachment-create/attachment-create.component.scss @@ -1,10 +1,5 @@ @import "../../../css/vars.scss"; -::ng-deep.modal-container { - ::ng-deep.mat-dialog-container { - padding: 0px; - } -} .loading { display: flex; diff --git a/src/frontend/app/attachments/attachments-list.component.ts b/src/frontend/app/attachments/attachments-list.component.ts index f5c6d409c73..1bd33cf3492 100644 --- a/src/frontend/app/attachments/attachments-list.component.ts +++ b/src/frontend/app/attachments/attachments-list.component.ts @@ -82,7 +82,7 @@ export class AttachmentsListComponent implements OnInit { this.attachments = data.attachments; this.attachments.forEach((element: any) => { if (this.filterAttachTypes.filter(attachType => attachType.id === element.type).length === 0) { - this.filterAttachTypes.push( { + this.filterAttachTypes.push({ id: element.type, label: element.typeLabel }); @@ -122,7 +122,7 @@ export class AttachmentsListComponent implements OnInit { this.attachments = data.attachments; this.attachments.forEach((element: any) => { if (this.filterAttachTypes.filter(attachType => attachType.id === element.type).length === 0) { - this.filterAttachTypes.push( { + this.filterAttachTypes.push({ id: element.type, label: element.typeLabel }); @@ -176,7 +176,7 @@ export class AttachmentsListComponent implements OnInit { } showAttachment(attachment: any) { - this.dialogRef = this.dialog.open(AttachmentPageComponent, { height: '99vh', width: this.appService.getViewMode() ? '99vw' : '90vw', maxWidth: this.appService.getViewMode() ? '99vw' : '90vw', panelClass: 'modal-container', disableClose: true, data: { resId: attachment.resId} }); + this.dialogRef = this.dialog.open(AttachmentPageComponent, { height: '99vh', width: this.appService.getViewMode() ? '99vw' : '90vw', maxWidth: this.appService.getViewMode() ? '99vw' : '90vw', panelClass: 'attachment-modal-container', disableClose: true, data: { resId: attachment.resId } }); this.dialogRef.afterClosed().pipe( filter((data: string) => data === 'success'), @@ -191,7 +191,7 @@ export class AttachmentsListComponent implements OnInit { } createAttachment() { - this.dialogRef = this.dialog.open(AttachmentCreateComponent, { disableClose: true, panelClass: 'modal-container', height: '90vh', width: this.appService.getViewMode() ? '99vw' : '90vw', maxWidth: this.appService.getViewMode() ? '99vw' : '90vw', data: { resIdMaster: this.resId } }); + this.dialogRef = this.dialog.open(AttachmentCreateComponent, { disableClose: true, panelClass: 'attachment-modal-container', height: '90vh', width: this.appService.getViewMode() ? '99vw' : '90vw', maxWidth: this.appService.getViewMode() ? '99vw' : '90vw', data: { resIdMaster: this.resId } }); this.dialogRef.afterClosed().pipe( filter((data: string) => data === 'success'), @@ -229,6 +229,6 @@ export class AttachmentsListComponent implements OnInit { } openMaarchParapheurWorkflow(attachment: any) { - this.dialog.open(VisaWorkflowModalComponent, {data: {attachment : attachment}}); + this.dialog.open(VisaWorkflowModalComponent, { panelClass: 'maarch-modal', data: { attachment: attachment } }); } } diff --git a/src/frontend/app/attachments/attachments-page/attachment-page.component.html b/src/frontend/app/attachments/attachments-page/attachment-page.component.html index 00220374a7d..0dedf6d1e9f 100644 --- a/src/frontend/app/attachments/attachments-page/attachment-page.component.html +++ b/src/frontend/app/attachments/attachments-page/attachment-page.component.html @@ -171,7 +171,7 @@ <mat-tab-group [selectedIndex]="1" class="pjList" *ngIf="!loading" animationDuration="0" style="height: 100%"> <mat-tab label="Document principal" *ngIf="attachment.res_id_master !== null"> <ng-template matTabContent> - <app-document-viewer #appDocumentViewer style="height:100%;width:100%;" [editMode]="false" + <app-document-viewer #appDocumentViewer style="display:block;height:100%;width:100%;overflow: auto;" [editMode]="false" [resId]="attachment.resIdMaster.value" [title]="'Document principal'"> </app-document-viewer> </ng-template> @@ -180,7 +180,7 @@ <ng-template mat-tab-label> <span style="color:green">{{lang.signedAttachment}}</span> </ng-template> - <app-document-viewer #appDocumentViewer style="height:100%;width:100%;" [editMode]="false" + <app-document-viewer #appDocumentViewer style="display:block;height:100%;width:100%;overflow: auto;" [editMode]="false" [resId]="attachment.signedResponse.value" [mode]="'attachment'" [title]="attachment.chrono.value + ' - ' + attachment.title.value + ' (' + lang.signed + ')'"> </app-document-viewer> @@ -189,7 +189,7 @@ <ng-template mat-tab-label> <span style="color:#135f7f">{{lang.attachment}}</span> </ng-template> - <app-document-viewer #appAttachmentViewer style="height:100%;width:100%;" [editMode]="editMode" + <app-document-viewer #appAttachmentViewer style="display:block;height:100%;width:100%;overflow: auto;" [editMode]="editMode" [resId]="data.resId" [resIdMaster]="attachment['resIdMaster'].value" [mode]="'attachment'" [format]="attachment['format'].value" [attachType]="attachment['type'].value" [infoPanel]="snavLeft" (triggerEvent)="setDatasViewer($event)" @@ -199,7 +199,7 @@ <mat-tab label="{{lang.attachment}} ({{lang.version}} {{version.relation}})" *ngFor="let version of versions"> <ng-template matTabContent> - <app-document-viewer #appDocumentViewer style="height:100%;width:100%;" [editMode]="false" + <app-document-viewer #appDocumentViewer style="display:block;height:100%;width:100%;overflow: auto;" [editMode]="false" [resId]="version.resId" [mode]="'attachment'" [format]="attachment['format'].value" [title]="attachment.chrono.value + ' - ' + attachment.title.value + ' (' + version.relation + ')'"> </app-document-viewer> diff --git a/src/frontend/app/attachments/attachments-page/attachment-page.component.scss b/src/frontend/app/attachments/attachments-page/attachment-page.component.scss index 6d7d6218e23..07854d1e8cc 100644 --- a/src/frontend/app/attachments/attachments-page/attachment-page.component.scss +++ b/src/frontend/app/attachments/attachments-page/attachment-page.component.scss @@ -1,10 +1,5 @@ @import "../../../css/vars.scss"; -::ng-deep.modal-container { - ::ng-deep.mat-dialog-container { - padding: 0px; - } -} .attach-container { position: relative; diff --git a/src/frontend/app/avis/addAvisModel/add-avis-model-modal.component.html b/src/frontend/app/avis/addAvisModel/add-avis-model-modal.component.html index 30d14d0ffb6..0131c67f8dd 100644 --- a/src/frontend/app/avis/addAvisModel/add-avis-model-modal.component.html +++ b/src/frontend/app/avis/addAvisModel/add-avis-model-modal.component.html @@ -1,11 +1,14 @@ -<h1 mat-dialog-title>Ajouter un modèle</h1> -<mat-dialog-content class="modal-container"> - <mat-form-field appearance="outline"> - <input type="text" matInput [(ngModel)]="template.title" placeholder="Nom du modèle"> - </mat-form-field> -</mat-dialog-content> -<div mat-dialog-actions class="actions"> - <button mat-raised-button mat-button color="primary" [disabled]="loading" - (click)="onSubmit()">{{lang.validate}}</button> - <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button> +<div class="mat-dialog-content-container"> + <h1 mat-dialog-title>Ajouter un modèle</h1> + <mat-dialog-content class="modal-container"> + <mat-form-field appearance="outline"> + <input type="text" matInput [(ngModel)]="template.title" placeholder="Nom du modèle"> + </mat-form-field> + </mat-dialog-content> + <span class="divider-modal"></span> + <div mat-dialog-actions class="actions"> + <button mat-raised-button mat-button color="primary" [disabled]="loading" + (click)="onSubmit()">{{lang.validate}}</button> + <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button> + </div> </div> \ No newline at end of file diff --git a/src/frontend/app/avis/addAvisModel/add-avis-model-modal.component.scss b/src/frontend/app/avis/addAvisModel/add-avis-model-modal.component.scss index 7a15a35b125..a51c80f154a 100644 --- a/src/frontend/app/avis/addAvisModel/add-avis-model-modal.component.scss +++ b/src/frontend/app/avis/addAvisModel/add-avis-model-modal.component.scss @@ -1,13 +1 @@ @import '../../../css/vars.scss'; - -.mat-dialog-title { - padding: 10px; -} - -.modal-container{ - height: auto; -} - -.modal-body{ - min-height: auto; -} diff --git a/src/frontend/app/avis/avis-workflow.component.ts b/src/frontend/app/avis/avis-workflow.component.ts index d5b043b062c..1680ab5e541 100644 --- a/src/frontend/app/avis/avis-workflow.component.ts +++ b/src/frontend/app/avis/avis-workflow.component.ts @@ -500,7 +500,7 @@ export class AvisWorkflowComponent implements OnInit { } openPromptSaveModel() { - const dialogRef = this.dialog.open(AddAvisModelModalComponent, { data: { avisWorkflow: this.avisWorkflow.items } }); + const dialogRef = this.dialog.open(AddAvisModelModalComponent, { panelClass: 'maarch-modal', data: { avisWorkflow: this.avisWorkflow.items } }); dialogRef.afterClosed().pipe( filter((data: string) => !this.functions.empty(data)), diff --git a/src/frontend/app/contact/autocomplete/contact-autocomplete.component.ts b/src/frontend/app/contact/autocomplete/contact-autocomplete.component.ts index ad9a0c7ebde..3129e38b86d 100755 --- a/src/frontend/app/contact/autocomplete/contact-autocomplete.component.ts +++ b/src/frontend/app/contact/autocomplete/contact-autocomplete.component.ts @@ -330,8 +330,7 @@ export class ContactAutocompleteComponent implements OnInit { openContact(contact: any = null) { this.retrieveDocumentEvent.emit(); - - const dialogRef = this.dialog.open(ContactModalComponent, { maxWidth: '100vw', panelClass: 'contact-modal-container', disableClose: true, data: { editMode: this.canUpdate, contactId: contact !== null ? contact.id : null, contactType: contact !== null ? contact.type : null } }); + const dialogRef = this.dialog.open(ContactModalComponent, { maxWidth: '100vw', width: contact === null ? '99vw' : 'auto', panelClass: contact === null ? 'maarch-full-height-modal' : 'maarch-modal', disableClose: true, data: { editMode: this.canUpdate, contactId: contact !== null ? contact.id : null, contactType: contact !== null ? contact.type : null } }); dialogRef.afterClosed().pipe( filter((data: number) => data !== undefined), diff --git a/src/frontend/app/contact/list/modal/contacts-list-modal.component.html b/src/frontend/app/contact/list/modal/contacts-list-modal.component.html index 075f69be28b..672cb6e46a0 100644 --- a/src/frontend/app/contact/list/modal/contacts-list-modal.component.html +++ b/src/frontend/app/contact/list/modal/contacts-list-modal.component.html @@ -1,10 +1,12 @@ -<h1 mat-dialog-title> - <span style="flex: 1;" [title]="data.title"> - {{data.title | shorten: 50: '...'}} - </span> - <button [title]="lang.close" mat-icon-button (click)="dialogRef.close();"> - <mat-icon class="fa fa-times"></mat-icon> - </button></h1> -<mat-dialog-content class="modal-container"> - <app-contacts-list [resId]="data.resId" [mode]="data.mode"></app-contacts-list> -</mat-dialog-content> \ No newline at end of file +<div class="mat-dialog-content-container"> + <h1 mat-dialog-title> + <span style="flex: 1;" [title]="data.title"> + {{data.title | shorten: 50: '...'}} + </span> + <button [title]="lang.close" mat-icon-button (click)="dialogRef.close();"> + <mat-icon class="fa fa-times"></mat-icon> + </button></h1> + <mat-dialog-content> + <app-contacts-list [resId]="data.resId" [mode]="data.mode"></app-contacts-list> + </mat-dialog-content> +</div> diff --git a/src/frontend/app/contact/list/modal/contacts-list-modal.component.scss b/src/frontend/app/contact/list/modal/contacts-list-modal.component.scss index a3b61021e19..9fdf3cc5425 100644 --- a/src/frontend/app/contact/list/modal/contacts-list-modal.component.scss +++ b/src/frontend/app/contact/list/modal/contacts-list-modal.component.scss @@ -1,15 +1,2 @@ @import '../../../../css/vars.scss'; -.mat-dialog-title { - padding: 10px; - display: flex; - align-items: center; -} -.modal-container{ - min-height: 250px; - height: auto; -} - -.modal-body{ - min-height: auto; -} diff --git a/src/frontend/app/folder/folder-tree.component.ts b/src/frontend/app/folder/folder-tree.component.ts index 32d12ab4240..64c7d81a1e7 100644 --- a/src/frontend/app/folder/folder-tree.component.ts +++ b/src/frontend/app/folder/folder-tree.component.ts @@ -373,7 +373,7 @@ export class FolderTreeComponent implements OnInit { } openFolderAdmin(node: any) { - this.dialogRef = this.dialog.open(FolderUpdateComponent, { autoFocus: false, data: { folderId: node.id } }); + this.dialogRef = this.dialog.open(FolderUpdateComponent, { panelClass: 'maarch-modal', autoFocus: false, data: { folderId: node.id } }); this.dialogRef.afterClosed().pipe( tap((data) => { diff --git a/src/frontend/app/folder/folder-update/folder-update.component.html b/src/frontend/app/folder/folder-update/folder-update.component.html index 6e8208c394e..36189e47901 100644 --- a/src/frontend/app/folder/folder-update/folder-update.component.html +++ b/src/frontend/app/folder/folder-update/folder-update.component.html @@ -1,52 +1,56 @@ -<h1 mat-dialog-title>{{lang.folder}} : {{folder.label}}</h1> -<form (ngSubmit)="onSubmit()"> +<div class="mat-dialog-content-container"> + <h1 mat-dialog-title>{{lang.folder}} : {{folder.label}}</h1> <mat-dialog-content> - <div class="col-md-12"> - <mat-form-field> - <input matInput placeholder="{{lang.label}}" name="label" [(ngModel)]="folder.label"> - </mat-form-field> - </div> - <div class="col-md-12"> - <mat-tab-group (selectedTabChange)="initService($event)"> - <mat-tab label="{{lang.setInParentFolder}}"> - <mat-form-field appearance="outline"> - <input matInput id="jstree_searchFolders" type="text" placeholder="{{lang.searchFolder}}"> - </mat-form-field> - <div id="jstreeFolders" class="entitiesList"></div> - </mat-tab> - <mat-tab label="{{lang.shareToEntities}}"> - <div [class.col-md-12]="folder.sharing.entities.length === 0" - [class.col-md-6]="folder.sharing.entities.length > 0"> + <form #submitForm="ngForm" (ngSubmit)="onSubmit()"> + <div class="col-md-12"> + <mat-form-field> + <input matInput placeholder="{{lang.label}}" name="label" [(ngModel)]="folder.label"> + </mat-form-field> + </div> + <div class="col-md-12"> + <mat-tab-group (selectedTabChange)="initService($event)"> + <mat-tab label="{{lang.setInParentFolder}}"> <mat-form-field appearance="outline"> - <input matInput id="jstree_search" type="text" placeholder="{{lang.searchEntities}}"> + <input matInput id="jstree_searchFolders" type="text" placeholder="{{lang.searchFolder}}"> </mat-form-field> - <div id="jstree" class="entitiesList"></div> - </div> - <div class="col-md-6" *ngIf="folder.sharing.entities.length > 0"> - <div class="formType jstreeEntities"> - <div class="formType-title"> - {{lang.parameters}} + <div id="jstreeFolders" class="entitiesList"></div> + </mat-tab> + <mat-tab label="{{lang.shareToEntities}}"> + <div [class.col-md-12]="folder.sharing.entities.length === 0" + [class.col-md-6]="folder.sharing.entities.length > 0"> + <mat-form-field appearance="outline"> + <input matInput id="jstree_search" type="text" placeholder="{{lang.searchEntities}}"> + </mat-form-field> + <div id="jstree" class="entitiesList"></div> + </div> + <div class="col-md-6" *ngIf="folder.sharing.entities.length > 0"> + <div class="formType jstreeEntities"> + <div class="formType-title"> + {{lang.parameters}} + </div> + <ng-container *ngFor="let entity of entities"> + <mat-expansion-panel class="selectedEntities" *ngIf="checkSelectedFolder(entity)" + opened> + <mat-expansion-panel-header> + <mat-panel-title> + {{entity.entity_label}} + </mat-panel-title> + </mat-expansion-panel-header> + <mat-slide-toggle color="primary" [checked]="isAdminEnabled(entity)" + (change)="toggleAdmin(entity, $event)">{{lang.canManageFolder}} + </mat-slide-toggle> + </mat-expansion-panel> + </ng-container> </div> - <ng-container *ngFor="let entity of entities"> - <mat-expansion-panel class="selectedEntities" *ngIf="checkSelectedFolder(entity)" - opened> - <mat-expansion-panel-header> - <mat-panel-title> - {{entity.entity_label}} - </mat-panel-title> - </mat-expansion-panel-header> - <mat-slide-toggle color="primary" [checked]="isAdminEnabled(entity)" (change)="toggleAdmin(entity, $event)">{{lang.canManageFolder}} - </mat-slide-toggle> - </mat-expansion-panel> - </ng-container> </div> - </div> - </mat-tab> - </mat-tab-group> - </div> + </mat-tab> + </mat-tab-group> + </div> + </form> </mat-dialog-content> + <span class="divider-modal"></span> <mat-dialog-actions> - <button mat-raised-button color="primary" type="submit">{{lang.validate}}</button> + <button mat-raised-button color="primary" type="submit" (click)="submitForm.ngSubmit.emit()">{{lang.validate}}</button> <button mat-raised-button type="button" color="default" (click)="dialogRef.close()">{{lang.cancel}}</button> </mat-dialog-actions> -</form> \ No newline at end of file +</div> \ No newline at end of file diff --git a/src/frontend/app/folder/folder-update/folder-update.component.scss b/src/frontend/app/folder/folder-update/folder-update.component.scss index 98c9836f133..b5c5579602d 100644 --- a/src/frontend/app/folder/folder-update/folder-update.component.scss +++ b/src/frontend/app/folder/folder-update/folder-update.component.scss @@ -30,9 +30,6 @@ color: #135f7f; } } -.modal-body{ - min-height: 600px; -} .entitiesList { overflow: auto; diff --git a/src/frontend/app/folder/folder-update/folder-update.component.ts b/src/frontend/app/folder/folder-update/folder-update.component.ts index fd1eb8c92a2..2f976a80d38 100644 --- a/src/frontend/app/folder/folder-update/folder-update.component.ts +++ b/src/frontend/app/folder/folder-update/folder-update.component.ts @@ -1,4 +1,4 @@ -import { Component, OnInit, Input, Output, EventEmitter, Inject, HostListener } from '@angular/core'; +import { Component, OnInit, Inject, HostListener } from '@angular/core'; import { LANG } from '../../translate.component'; import { HttpClient } from '@angular/common/http'; import { map, tap, catchError, exhaustMap, finalize } from 'rxjs/operators'; @@ -12,7 +12,6 @@ declare function $j(selector: any): any; @Component({ templateUrl: "folder-update.component.html", styleUrls: ['folder-update.component.scss'], - providers: [NotificationService], }) export class FolderUpdateComponent implements OnInit { diff --git a/src/frontend/app/indexation/indexation.component.ts b/src/frontend/app/indexation/indexation.component.ts index bd25a15cc8c..5bc21b63892 100644 --- a/src/frontend/app/indexation/indexation.component.ts +++ b/src/frontend/app/indexation/indexation.component.ts @@ -270,7 +270,7 @@ export class IndexationComponent implements OnInit { } const masterIndexingModel = this.indexingModels.filter((indexingModel) => indexingModel.id === privateIndexingModel.master)[0]; - this.dialogRef = this.dialog.open(AddPrivateIndexingModelModalComponent, { autoFocus: true, disableClose: true, data: { indexingModel: privateIndexingModel, masterIndexingModel: masterIndexingModel } }); + this.dialogRef = this.dialog.open(AddPrivateIndexingModelModalComponent, { panelClass: 'maarch-modal', autoFocus: true, disableClose: true, data: { indexingModel: privateIndexingModel, masterIndexingModel: masterIndexingModel } }); this.dialogRef.afterClosed().pipe( filter((data: any) => data !== undefined), diff --git a/src/frontend/app/indexation/private-indexing-model/add-private-indexing-model-modal.component.html b/src/frontend/app/indexation/private-indexing-model/add-private-indexing-model-modal.component.html index d4db2795226..7e132bfb9e0 100644 --- a/src/frontend/app/indexation/private-indexing-model/add-private-indexing-model-modal.component.html +++ b/src/frontend/app/indexation/private-indexing-model/add-private-indexing-model-modal.component.html @@ -1,16 +1,20 @@ -<h1 mat-dialog-title>{{lang.privateIndexingModelCreation}}</h1> -<form #submitForm="ngForm" (ngSubmit)="onSubmit()"> +<div class="mat-dialog-content-container"> + <h1 mat-dialog-title>{{lang.privateIndexingModelCreation}}</h1> <mat-dialog-content> - <div class="alert-message alert-message-info" role="alert" style="margin-top: 30px;" - [innerHTML]="lang.addPrivateIndexingModelMsg +' <b>'+data.masterIndexingModel.label+'</b> ' + lang.addPrivateIndexingModelMsg2"></div> - <mat-form-field appearance="outline"> - <mat-label>{{lang.label}}</mat-label> - <input matInput name="label" placeholder="{{lang.label}}" [(ngModel)]="data.indexingModel.label" required maxlength="256"> - </mat-form-field> + <form #submitForm="ngForm" (ngSubmit)="onSubmit()"> + <div class="alert-message alert-message-info" role="alert" style="margin-top: 30px;" + [innerHTML]="lang.addPrivateIndexingModelMsg +' <b>'+data.masterIndexingModel.label+'</b> ' + lang.addPrivateIndexingModelMsg2"> + </div> + <mat-form-field appearance="outline"> + <mat-label>{{lang.label}}</mat-label> + <input matInput name="label" placeholder="{{lang.label}}" [(ngModel)]="data.indexingModel.label" + required maxlength="256"> + </mat-form-field> + </form> </mat-dialog-content> - <mat-dialog-actions> - <button mat-raised-button color="primary" type="submit" [disabled]="!submitForm.form.valid">{{lang.validate}}</button> + <button mat-raised-button color="primary" type="submit" (click)="submitForm.ngSubmit.emit()" + [disabled]="!submitForm.form.valid">{{lang.validate}}</button> <button mat-raised-button color="default" type="button" (click)="dialogRef.close()">{{lang.cancel}}</button> </mat-dialog-actions> -</form> \ No newline at end of file +</div> \ No newline at end of file diff --git a/src/frontend/app/indexation/private-indexing-model/add-private-indexing-model-modal.component.scss b/src/frontend/app/indexation/private-indexing-model/add-private-indexing-model-modal.component.scss index 80935ad615e..4366f021d06 100644 --- a/src/frontend/app/indexation/private-indexing-model/add-private-indexing-model-modal.component.scss +++ b/src/frontend/app/indexation/private-indexing-model/add-private-indexing-model-modal.component.scss @@ -1,15 +1,3 @@ -.mat-dialog-content{ - max-height: 80vh; -} - -.modal-body{ - min-height: auto; -} - -mat-dialog-actions{ - justify-content: center; -} - -mat-icon{ +mat-icon { height: auto !important; } \ No newline at end of file diff --git a/src/frontend/app/indexation/private-indexing-model/add-private-indexing-model-modal.component.ts b/src/frontend/app/indexation/private-indexing-model/add-private-indexing-model-modal.component.ts index 6ae2f1d3fa0..de893ed5fc3 100644 --- a/src/frontend/app/indexation/private-indexing-model/add-private-indexing-model-modal.component.ts +++ b/src/frontend/app/indexation/private-indexing-model/add-private-indexing-model-modal.component.ts @@ -6,12 +6,9 @@ import { NotificationService } from '../../notification.service'; import { tap, catchError } from 'rxjs/operators'; import { of } from 'rxjs'; -declare function $j(selector: any): any; - @Component({ templateUrl: "add-private-indexing-model-modal.component.html", styleUrls: ['add-private-indexing-model-modal.component.scss'], - providers: [NotificationService] }) export class AddPrivateIndexingModelModalComponent { lang: any = LANG; diff --git a/src/frontend/app/info-change-password-modal.component.html b/src/frontend/app/info-change-password-modal.component.html index 44a00931d4a..84f1ae84407 100755 --- a/src/frontend/app/info-change-password-modal.component.html +++ b/src/frontend/app/info-change-password-modal.component.html @@ -1,9 +1,15 @@ -<h2 mat-dialog-title color="primary" *ngIf="data.state=='BEGIN'">{{lang.hello}} <b>{{data.user.firstname}} {{data.user.lastname}}</b>, <br/>{{lang.changePasswordInfo}}.</h2> -<h2 mat-dialog-title color="primary" *ngIf="data.state=='END'"><i class="fa fa-check-circle fa-2x"></i> <span style="padding-left: 10px;">{{lang.passwordChanged}}</span></h2> - -<mat-dialog-content> - <mat-dialog-actions style="margin: 5px;margin-bottom:0px;justify-content:center;"> - <button mat-raised-button color="primary" (click)="dialogRef.close()" *ngIf="data.state=='BEGIN'">Ok</button> - <button mat-raised-button color="primary" (click)="redirect()" *ngIf="data.state=='END'">{{lang.homePage}}</button> - </mat-dialog-actions> -</mat-dialog-content> \ No newline at end of file +<div class="mat-dialog-content-container"> + <mat-dialog-content> + <p *ngIf="data.state=='BEGIN'"> + {{lang.hello}} <b>{{data.user.firstname}} {{data.user.lastname}}</b>, <br/>{{lang.changePasswordInfo}}. + </p> + <p *ngIf="data.state=='END'"> + <i class="fa fa-check-circle fa-2x"></i> <span style="padding-left: 10px;">{{lang.passwordChanged}}</span> + </p> + </mat-dialog-content> + <span class="divider-modal"></span> + <mat-dialog-actions> + <button mat-raised-button color="primary" (click)="dialogRef.close()" *ngIf="data.state=='BEGIN'">Ok</button> + <button mat-raised-button color="primary" (click)="redirect()" *ngIf="data.state=='END'">{{lang.homePage}}</button> + </mat-dialog-actions> +</div> \ No newline at end of file diff --git a/src/frontend/app/linkedResource/linkResourceModal/link-resource-modal.component.html b/src/frontend/app/linkedResource/linkResourceModal/link-resource-modal.component.html index 41c4fb67b7e..f2c13dc02a1 100644 --- a/src/frontend/app/linkedResource/linkResourceModal/link-resource-modal.component.html +++ b/src/frontend/app/linkedResource/linkResourceModal/link-resource-modal.component.html @@ -1,15 +1,19 @@ -<h1 mat-dialog-title> - <span style="flex: 1;" [title]="lang.linkResource"> - {{lang.linkResource}} - </span> - <button [title]="lang.close" mat-icon-button (click)="dialogRef.close();"> - <mat-icon class="fa fa-times"></mat-icon> - </button></h1> -<mat-dialog-content class="modal-container"> - <app-criteria-tool (searchUrlGenerated)="launchSearch($event)" [defaultCriteria]="['resourceField','contactField']"></app-criteria-tool> - <search-adv-list #appSearchAdvList [currentResId]="data.resId"></search-adv-list> -</mat-dialog-content> -<div mat-dialog-actions class="actions"> - <button mat-raised-button color="primary" [disabled]="appSearchAdvList.getSelectedRessources().length === 0" - (click)="linkResources()">{{lang.linkSelectedResources}}</button> +<div class="mat-dialog-content-container"> + <h1 mat-dialog-title> + <span style="flex: 1;" [title]="lang.linkResource"> + {{lang.linkResource}} + </span> + <button [title]="lang.close" mat-icon-button (click)="dialogRef.close();"> + <mat-icon class="fa fa-times"></mat-icon> + </button></h1> + <mat-dialog-content> + <app-criteria-tool (searchUrlGenerated)="launchSearch($event)" + [defaultCriteria]="['resourceField','contactField']"></app-criteria-tool> + <search-adv-list #appSearchAdvList [currentResId]="data.resId"></search-adv-list> + </mat-dialog-content> + <span class="divider-modal"></span> + <div mat-dialog-actions class="actions"> + <button mat-raised-button color="primary" [disabled]="appSearchAdvList.getSelectedRessources().length === 0" + (click)="linkResources()">{{lang.linkSelectedResources}}</button> + </div> </div> \ No newline at end of file diff --git a/src/frontend/app/linkedResource/linkResourceModal/link-resource-modal.component.scss b/src/frontend/app/linkedResource/linkResourceModal/link-resource-modal.component.scss index 7abd563bb58..a51c80f154a 100644 --- a/src/frontend/app/linkedResource/linkResourceModal/link-resource-modal.component.scss +++ b/src/frontend/app/linkedResource/linkResourceModal/link-resource-modal.component.scss @@ -1,15 +1 @@ @import '../../../css/vars.scss'; - -.mat-dialog-title { - padding: 10px; - display: flex; - align-items: center; -} -.modal-container{ - min-height: 250px; - height: auto; -} - -.modal-body{ - min-height: auto; -} diff --git a/src/frontend/app/linkedResource/linked-resource-list.component.ts b/src/frontend/app/linkedResource/linked-resource-list.component.ts index a6dc9fcf5a3..c61bb7c7b6b 100644 --- a/src/frontend/app/linkedResource/linked-resource-list.component.ts +++ b/src/frontend/app/linkedResource/linked-resource-list.component.ts @@ -139,7 +139,7 @@ export class LinkedResourceListComponent implements OnInit { } openSearchResourceModal() { - const dialogRef = this.dialog.open(LinkResourceModalComponent, { width: '80%',data: { resId: this.resId, currentLinkedRes : this.linkedResources.map(res => res.resId) } }); + const dialogRef = this.dialog.open(LinkResourceModalComponent, { panelClass: 'maarch-full-height-modal', minWidth: '80%',data: { resId: this.resId, currentLinkedRes : this.linkedResources.map(res => res.resId) } }); dialogRef.afterClosed().pipe( filter((data: string) => data === 'success'), tap(() => { @@ -154,6 +154,6 @@ export class LinkedResourceListComponent implements OnInit { } openContact(row: any, mode: string) { - this.dialog.open(ContactsListModalComponent, { data: { title: `${row.chrono} - ${row.subject}`, mode: mode, resId: row.resId } }); + this.dialog.open(ContactsListModalComponent, { panelClass: 'maarch-modal', data: { title: `${row.chrono} - ${row.subject}`, mode: mode, resId: row.resId } }); } } diff --git a/src/frontend/app/list/basket-list.component.ts b/src/frontend/app/list/basket-list.component.ts index 66764c9e2aa..b1da70195f7 100755 --- a/src/frontend/app/list/basket-list.component.ts +++ b/src/frontend/app/list/basket-list.component.ts @@ -484,7 +484,7 @@ export class BasketListComponent implements OnInit { } openContact(row: any, mode: string) { - this.dialog.open(ContactsListModalComponent, { data: { title: `${row.chrono} - ${row.subject}`, mode: mode, resId: row.resId } }); + this.dialog.open(ContactsListModalComponent, { panelClass: 'maarch-modal', data: { title: `${row.chrono} - ${row.subject}`, mode: mode, resId: row.resId } }); } viewDocument(row: any) { diff --git a/src/frontend/app/list/export/export.component.html b/src/frontend/app/list/export/export.component.html index 325673e0f22..da5d8b8703a 100644 --- a/src/frontend/app/list/export/export.component.html +++ b/src/frontend/app/list/export/export.component.html @@ -1,74 +1,87 @@ -<h1 mat-dialog-title>{{lang.exportDatas}}</h1> -<div mat-dialog-content> - <div *ngIf="loadingExport" class="loader"> - <mat-spinner></mat-spinner> - </div> - <div class="row"> - <div [class.col-md-12]="exportModel.format != 'csv'" [class.col-md-3]="exportModel.format == 'csv'"> - <mat-form-field appearance="outline"> - <mat-label>{{lang.format}}</mat-label> - <mat-select placeholder="{{lang.format}}" [(ngModel)]="exportModel.format" (selectionChange)="changeTemplate($event)"> - <mat-option *ngFor="let format of formats" [value]="format"> - {{format}} - </mat-option> - </mat-select> - </mat-form-field> +<div class="mat-dialog-content-container"> + <h1 mat-dialog-title>{{lang.exportDatas}}</h1> + <div mat-dialog-content> + <div *ngIf="loadingExport" class="loader"> + <mat-spinner></mat-spinner> </div> - <div class="col-md-9" *ngIf="exportModel.format == 'csv'"> - <mat-form-field appearance="outline"> - <mat-label>{{lang.delimiter}}</mat-label> - <mat-select placeholder="{{lang.delimiter}}" [(ngModel)]="exportModel.delimiter" [disabled]="exportModel.format != 'csv'"> - <mat-option *ngFor="let delimiter of delimiters" [value]="delimiter"> - {{delimiter}} - </mat-option> - </mat-select> - </mat-form-field> + <div class="row"> + <div [class.col-md-12]="exportModel.format != 'csv'" [class.col-md-3]="exportModel.format == 'csv'"> + <mat-form-field appearance="outline"> + <mat-label>{{lang.format}}</mat-label> + <mat-select placeholder="{{lang.format}}" [(ngModel)]="exportModel.format" + (selectionChange)="changeTemplate($event)"> + <mat-option *ngFor="let format of formats" [value]="format"> + {{format}} + </mat-option> + </mat-select> + </mat-form-field> + </div> + <div class="col-md-9" *ngIf="exportModel.format == 'csv'"> + <mat-form-field appearance="outline"> + <mat-label>{{lang.delimiter}}</mat-label> + <mat-select placeholder="{{lang.delimiter}}" [(ngModel)]="exportModel.delimiter" + [disabled]="exportModel.format != 'csv'"> + <mat-option *ngFor="let delimiter of delimiters" [value]="delimiter"> + {{delimiter}} + </mat-option> + </mat-select> + </mat-form-field> + </div> </div> - </div> - <mat-accordion> - <mat-expansion-panel [expanded]="true"> - <mat-expansion-panel-header> - <mat-panel-title> - {{lang.datasToExport}} - </mat-panel-title> - </mat-expansion-panel-header> + <mat-accordion> + <mat-expansion-panel [expanded]="true"> + <mat-expansion-panel-header> + <mat-panel-title> + {{lang.datasToExport}} + </mat-panel-title> + </mat-expansion-panel-header> - <div class="row"> - <div class="col-md-12"> - <mat-form-field appearance="outline" class="listFilter"> - <input matInput placeholder="{{lang.searchDatas}}" #listFilter cdkFocusInitial> - </mat-form-field> - </div> - </div> - <div class="row exportList"> - <div class="col-md-6 available-data"> - <h2><span class="title">{{lang.availableDatas}}</span> <i class="fa fa-plus-circle removeAllDatas" color="primary" title="{{lang.addAllDatas}}" (click)="addAllData()"></i></h2> - <div id="availableElements" cdkDropList #dataAvailableList="cdkDropList" [cdkDropListData]="dataAvailable" [cdkDropListConnectedTo]="[dataExportList]" class="cdk-list" (cdkDropListDropped)="drop($event)"> - <div class="columns" *ngFor="let item of dataAvailable | sortBy: 'label' | filterList:listFilter.value:'label'" - cdkDrag id="{{item.value}}">{{item.label}} <i class="fa fa-plus" color="primary" style="cursor:pointer;" - (click)="addData(item)"></i></div> - <div *ngIf="dataAvailable.length == 0" class="noData">{{lang.noDataAvailable}}</div> + <div class="row"> + <div class="col-md-12"> + <mat-form-field appearance="outline" class="listFilter"> + <input matInput placeholder="{{lang.searchDatas}}" #listFilter cdkFocusInitial> + </mat-form-field> </div> </div> - <div style="display: flex;align-items: center;"> - <i class="fas fa-arrow-right"></i> - </div> + <div class="row exportList"> + <div class="col-md-6 available-data"> + <h2><span class="title">{{lang.availableDatas}}</span> <i + class="fa fa-plus-circle removeAllDatas" color="primary" title="{{lang.addAllDatas}}" + (click)="addAllData()"></i></h2> + <div id="availableElements" cdkDropList #dataAvailableList="cdkDropList" + [cdkDropListData]="dataAvailable" [cdkDropListConnectedTo]="[dataExportList]" + class="cdk-list" (cdkDropListDropped)="drop($event)"> + <div class="columns" + *ngFor="let item of dataAvailable | sortBy: 'label' | filterList:listFilter.value:'label'" + cdkDrag id="{{item.value}}">{{item.label}} <i class="fa fa-plus" color="primary" + style="cursor:pointer;" (click)="addData(item)"></i></div> + <div *ngIf="dataAvailable.length == 0" class="noData">{{lang.noDataAvailable}}</div> + </div> + </div> + <div style="display: flex;align-items: center;"> + <i class="fas fa-arrow-right"></i> + </div> - <div class="col-md-6 active-data"> - <h2><span class="title">{{lang.chosenDatas}}</span> <i class="fa fa-minus-circle removeAllDatas" color="warn" title="{{lang.removeAllDatas}}" (click)="removeAllData()"></i></h2> - <div id="selectedElements" cdkDropList #dataExportList="cdkDropList" [cdkDropListData]="exportModel.data" - [cdkDropListConnectedTo]="[dataAvailableList]" class="cdk-list" (cdkDropListDropped)="drop($event)"> - <div class="columns" *ngFor="let item of exportModel.data;let i = index" cdkDrag id="{{item.value}}">{{item.label}} <i - class="fa fa-minus" color="warn" style="cursor:pointer;" (click)="removeData(i)"></i></div> - <div *ngIf="exportModel.data.length == 0" class="noData">{{lang.noDataAvailable}}</div> + <div class="col-md-6 active-data"> + <h2><span class="title">{{lang.chosenDatas}}</span> <i class="fa fa-minus-circle removeAllDatas" + color="warn" title="{{lang.removeAllDatas}}" (click)="removeAllData()"></i></h2> + <div id="selectedElements" cdkDropList #dataExportList="cdkDropList" + [cdkDropListData]="exportModel.data" [cdkDropListConnectedTo]="[dataAvailableList]" + class="cdk-list" (cdkDropListDropped)="drop($event)"> + <div class="columns" *ngFor="let item of exportModel.data;let i = index" cdkDrag + id="{{item.value}}">{{item.label}} <i class="fa fa-minus" color="warn" + style="cursor:pointer;" (click)="removeData(i)"></i></div> + <div *ngIf="exportModel.data.length == 0" class="noData">{{lang.noDataAvailable}}</div> + </div> </div> </div> - </div> - </mat-expansion-panel> - </mat-accordion> -</div> - -<div mat-dialog-actions class="actions"> - <button mat-raised-button mat-button color="primary" [disabled]="exportModel.data.length == 0" (click)="exportData();">{{lang.toExport}}</button> - <button mat-raised-button mat-button [mat-dialog-close]="">{{lang.cancel}}</button> -</div> + </mat-expansion-panel> + </mat-accordion> + </div> + <span class="divider-modal"></span> + <div mat-dialog-actions class="actions"> + <button mat-raised-button mat-button color="primary" [disabled]="exportModel.data.length == 0" + (click)="exportData();">{{lang.toExport}}</button> + <button mat-raised-button mat-button [mat-dialog-close]="">{{lang.cancel}}</button> + </div> +</div> \ No newline at end of file diff --git a/src/frontend/app/list/summarySheet/summary-sheet.component.html b/src/frontend/app/list/summarySheet/summary-sheet.component.html index 9d60e3afd7d..fef16fe55af 100644 --- a/src/frontend/app/list/summarySheet/summary-sheet.component.html +++ b/src/frontend/app/list/summarySheet/summary-sheet.component.html @@ -1,71 +1,87 @@ -<div mat-dialog-content class="summarySheet"> - <div *ngIf="loading" class="loader"> - <mat-spinner></mat-spinner> - </div> - <div class="row header"> - <div class="col-md-4 text-left"> - {{lang.appName}} / {{lang.printDate}} - </div> - <div class="col-md-4 text-center"> - <b>{{lang.summarySheet}}</b><br/>{{lang.chronoNumber}} +<div class="mat-dialog-content-container"> + <div mat-dialog-content class="summarySheet"> + <div *ngIf="loading" class="loader"> + <mat-spinner></mat-spinner> </div> - <div class="col-md-4 text-right" [class.disabled]="!withQrcode"> - <mat-button-toggle-group style="position: absolute;top:-2px;right:0px;" multiple (change)="toggleQrcode()"> - <mat-button-toggle style="width: 40px;height: 40px;" class="qrcode" [checked]="withQrcode" title="{{lang.toggleQrcode}}"> - <mat-icon fontSet="fas" fontIcon="fa-qrcode" style="height: auto;font-size: 30px;"></mat-icon> - </mat-button-toggle> - </mat-button-toggle-group> + <div class="row header"> + <div class="col-md-4 text-left"> + {{lang.appName}} / {{lang.printDate}} + </div> + <div class="col-md-4 text-center"> + <b>{{lang.summarySheet}}</b><br />{{lang.chronoNumber}} + </div> + <div class="col-md-4 text-right" [class.disabled]="!withQrcode"> + <mat-button-toggle-group style="position: absolute;top:-2px;right:0px;" multiple + (change)="toggleQrcode()"> + <mat-button-toggle style="width: 40px;height: 40px;" class="qrcode" [checked]="withQrcode" + title="{{lang.toggleQrcode}}"> + <mat-icon fontSet="fas" fontIcon="fa-qrcode" style="height: auto;font-size: 30px;"></mat-icon> + </mat-button-toggle> + </mat-button-toggle-group> + </div> </div> - </div> - <div class="row"> - <div class="col-md-12 title"> - {{lang.object}} + <div class="row"> + <div class="col-md-12 title"> + {{lang.object}} + </div> </div> - </div> - <div class="row"> - <div class="col-md-12"> - <div cdkDropList #dataAvailableList="cdkDropList" [cdkDropListData]="dataAvailable" class="cdk-list" - (cdkDropListDropped)="drop($event)"> - <ng-container *ngFor="let item of dataAvailable; let i=index"> - <div class="columns" [class.disabled]="!item.enabled" *ngIf="item.unit !== 'qrcode'" cdkDrag id="{{item.id}}" - style="position: relative;"> - <div class="unitTitle"> - <div class="handleDrag" cdkDragHandle> - <svg width="24px" fill="currentColor" viewBox="0 0 24 24"> - <path d="M10 9h4V6h3l-5-5-5 5h3v3zm-1 1H6V7l-5 5 5 5v-3h3v-4zm14 2l-5-5v3h-3v4h3v3l5-5zm-9 3h-4v3H7l5 5 5-5h-3v-3z"></path> - <path d="M0 0h24v24H0z" fill="none"></path> - </svg> + <div class="row"> + <div class="col-md-12"> + <div cdkDropList #dataAvailableList="cdkDropList" [cdkDropListData]="dataAvailable" class="cdk-list" + (cdkDropListDropped)="drop($event)"> + <ng-container *ngFor="let item of dataAvailable; let i=index"> + <div class="columns" [class.disabled]="!item.enabled" *ngIf="item.unit !== 'qrcode'" cdkDrag + id="{{item.id}}" style="position: relative;"> + <div class="unitTitle"> + <div class="handleDrag" cdkDragHandle> + <svg width="24px" fill="currentColor" viewBox="0 0 24 24"> + <path + d="M10 9h4V6h3l-5-5-5 5h3v3zm-1 1H6V7l-5 5 5 5v-3h3v-4zm14 2l-5-5v3h-3v4h3v3l5-5zm-9 3h-4v3H7l5 5 5-5h-3v-3z"> + </path> + <path d="M0 0h24v24H0z" fill="none"></path> + </svg> + </div> + <mat-form-field floatLabel="never" style="margin-top: -10px;"> + <input matInput placeholder="{{lang.label}}" [(ngModel)]="item.label" + (click)="$event.stopPropagation();"> + </mat-form-field> </div> - <mat-form-field floatLabel="never" style="margin-top: -10px;"> - <input matInput placeholder="{{lang.label}}" [(ngModel)]="item.label" (click)="$event.stopPropagation();"> - </mat-form-field> - </div> - <div class="row" class="unitData" (click)="item.enabled = !item.enabled"> - <div class="{{item.css}}" *ngFor="let itemData of item.desc"> - {{itemData}} + <div class="row" class="unitData" (click)="item.enabled = !item.enabled"> + <div class="{{item.css}}" *ngFor="let itemData of item.desc"> + {{itemData}} + </div> </div> + <mat-slide-toggle [(ngModel)]="item.enabled" color="primary" class="unitToggle"> + </mat-slide-toggle> + <button *ngIf="item.unit == 'freeField'" mat-icon-button color="warn" + style="position: absolute;right:5px;top:0px;" title="{{lang.deleteUnit}}" + (click)="removeCustomUnit(i)"> + <mat-icon fontSet="fas" fontIcon="fa-minus"></mat-icon> + </button> </div> - <mat-slide-toggle [(ngModel)]="item.enabled" color="primary" class="unitToggle"></mat-slide-toggle> - <button *ngIf="item.unit == 'freeField'" mat-icon-button color="warn" style="position: absolute;right:5px;top:0px;" title="{{lang.deleteUnit}}" (click)="removeCustomUnit(i)"> - <mat-icon fontSet="fas" fontIcon="fa-minus"></mat-icon> - </button> - </div> - </ng-container> + </ng-container> + </div> </div> </div> + <div *ngIf="!functions.empty(data.selectedRes) && data.selectedRes.length > 500 && !paramMode" + mat-dialog-actions class="actions"> + <span style="color: #d24747; font-style: italic">{{lang.firstSummarySheetsGenerated}}</span> + </div> + <div style="padding: 10px"> + <span class="alert-message alert-message-info">{{lang.arGenWithModelMessage}}</span> + </div> + </div> + + <span class="divider-modal"></span> + <div mat-dialog-actions class="actions"> + <button *ngIf="paramMode" mat-raised-button mat-button color="primary" + (click)="closeModalWithParams();">{{lang.validate}}</button> + <button *ngIf="!paramMode" mat-raised-button mat-button color="primary" + (click)="genSummarySheets();">{{lang.genSummarySheets}}</button> + <button mat-raised-button mat-button [mat-dialog-close]="">{{lang.cancel}}</button> + <button mat-mini-fab color="primary" (click)="addCustomUnit()" style="position: absolute;right: 30px;" + title="{{lang.addCustomUnit}}"> + <mat-icon fontSet="fas" fontIcon="fa-plus" style="height: auto;"></mat-icon> + </button> </div> -</div> -<div *ngIf="!functions.empty(data.selectedRes) && data.selectedRes.length > 500 && !paramMode" mat-dialog-actions class="actions"> - <span style="color: #d24747; font-style: italic">{{lang.firstSummarySheetsGenerated}}</span> -</div> -<div style="padding: 10px"> - <span class="alert-message alert-message-info">{{lang.arGenWithModelMessage}}</span> -</div> -<div mat-dialog-actions class="actions"> - <button *ngIf="paramMode" mat-raised-button mat-button color="primary" (click)="closeModalWithParams();">{{lang.validate}}</button> - <button *ngIf="!paramMode" mat-raised-button mat-button color="primary" (click)="genSummarySheets();">{{lang.genSummarySheets}}</button> - <button mat-raised-button mat-button [mat-dialog-close]="">{{lang.cancel}}</button> - <button mat-mini-fab color="primary" (click)="addCustomUnit()" style="position: absolute;right: 30px;" title="{{lang.addCustomUnit}}"> - <mat-icon fontSet="fas" fontIcon="fa-plus" style="height: auto;"></mat-icon> - </button> -</div> +</div> \ No newline at end of file diff --git a/src/frontend/app/list/summarySheet/summary-sheet.component.scss b/src/frontend/app/list/summarySheet/summary-sheet.component.scss index d769b6ea2c9..5fc2012fe61 100644 --- a/src/frontend/app/list/summarySheet/summary-sheet.component.scss +++ b/src/frontend/app/list/summarySheet/summary-sheet.component.scss @@ -1,4 +1,4 @@ -.summary-sheet-dialog { +/*.summary-sheet-dialog { .mat-dialog-container { position: relative; height: 99vh !important; @@ -10,7 +10,7 @@ max-height: 92vh; padding-bottom: 10px; overflow-x: hidden; -} +}*/ ::ng-deep.mat-expansion-panel-body { padding-bottom: 50px; @@ -109,6 +109,7 @@ .actions { justify-content: center; + position: relative; } .loader { @@ -129,9 +130,9 @@ } .qrcode { - .mat-button-toggle-label-content { - padding-left: 7px; - line-height: 40px; + ::ng-deep.mat-button-toggle-label-content { + padding-left: 7px !important; + line-height: 40px !important; } } diff --git a/src/frontend/app/list/summarySheet/summary-sheet.component.ts b/src/frontend/app/list/summarySheet/summary-sheet.component.ts index ecbd9d761f9..a028c5f706a 100644 --- a/src/frontend/app/list/summarySheet/summary-sheet.component.ts +++ b/src/frontend/app/list/summarySheet/summary-sheet.component.ts @@ -1,19 +1,16 @@ -import { Component, OnInit, Inject, ViewEncapsulation } from '@angular/core'; +import { Component, OnInit, Inject } from '@angular/core'; import { HttpClient } from '@angular/common/http'; import { LANG } from '../../translate.component'; import { NotificationService } from '../../notification.service'; import { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; -import { formatDate } from '@angular/common'; import { FunctionsService } from '../../../service/functions.service'; declare function $j(selector: any): any; @Component({ templateUrl: "summary-sheet.component.html", - styleUrls: ['summary-sheet.component.scss'], - providers: [NotificationService], - encapsulation: ViewEncapsulation.None + styleUrls: ['summary-sheet.component.scss'] }) export class SummarySheetComponent implements OnInit { diff --git a/src/frontend/app/list/tools/tools-list.component.ts b/src/frontend/app/list/tools/tools-list.component.ts index e856a467e99..10e23c9e116 100644 --- a/src/frontend/app/list/tools/tools-list.component.ts +++ b/src/frontend/app/list/tools/tools-list.component.ts @@ -54,6 +54,7 @@ export class ToolsListComponent implements OnInit { openExport(): void { this.dialog.open(ExportComponent, { + panelClass: 'maarch-modal', width: '800px', data: { ownerId: this.currentBasketInfo.ownerId, @@ -66,7 +67,7 @@ export class ToolsListComponent implements OnInit { openSummarySheet(): void { this.dialog.open(SummarySheetComponent, { - panelClass: 'summary-sheet-dialog', + panelClass: 'maarch-full-height-modal', width: '800px', data: { ownerId: this.currentBasketInfo.ownerId, diff --git a/src/frontend/app/password-modification.component.ts b/src/frontend/app/password-modification.component.ts index d2ad6d0cb23..ea58a45e53b 100755 --- a/src/frontend/app/password-modification.component.ts +++ b/src/frontend/app/password-modification.component.ts @@ -17,43 +17,43 @@ declare var angularGlobals: any; }) export class PasswordModificationComponent implements OnInit { - dialogRef : MatDialogRef<any>; - config : any = {}; - - lang : any = LANG; - loading : boolean = false; - - user : any = {}; - ruleText : string = ''; - otherRuleText : string; - hidePassword : boolean = true; - passLength : any = false; - arrValidator : any[] = []; - validPassword : boolean = false; - matchPassword : boolean = false; - isLinear : boolean = false; - firstFormGroup : FormGroup; - - passwordRules : any = { - minLength : { enabled: false, value: 0 }, - complexityUpper : { enabled: false, value: 0 }, - complexityNumber : { enabled: false, value: 0 }, - complexitySpecial : { enabled: false, value: 0 }, - renewal : { enabled: false, value: 0 }, - historyLastUse : { enabled: false, value: 0 }, + dialogRef: MatDialogRef<any>; + config: any = {}; + + lang: any = LANG; + loading: boolean = false; + + user: any = {}; + ruleText: string = ''; + otherRuleText: string; + hidePassword: boolean = true; + passLength: any = false; + arrValidator: any[] = []; + validPassword: boolean = false; + matchPassword: boolean = false; + isLinear: boolean = false; + firstFormGroup: FormGroup; + + passwordRules: any = { + minLength: { enabled: false, value: 0 }, + complexityUpper: { enabled: false, value: 0 }, + complexityNumber: { enabled: false, value: 0 }, + complexitySpecial: { enabled: false, value: 0 }, + renewal: { enabled: false, value: 0 }, + historyLastUse: { enabled: false, value: 0 }, }; - passwordModel : any = { - currentPassword : "", - newPassword : "", - reNewPassword : "", + passwordModel: any = { + currentPassword: "", + newPassword: "", + reNewPassword: "", }; constructor( - public http: HttpClient, - private notify: NotificationService, - private _formBuilder: FormBuilder, + public http: HttpClient, + private notify: NotificationService, + private _formBuilder: FormBuilder, public dialog: MatDialog, public appService: AppService ) { @@ -76,18 +76,18 @@ export class PasswordModificationComponent implements OnInit { ngOnInit(): void { this.prepare(); setTimeout(() => { - this.config = {data:{user:this.user,state:'BEGIN'},disableClose: true}; + this.config = { panelClass: 'maarch-modal', data: { user: this.user, state: 'BEGIN' }, disableClose: true }; this.dialogRef = this.dialog.open(InfoChangePasswordModalComponent, this.config); }, 0); this.http.get('../../rest/passwordRules') .subscribe((data: any) => { - let valArr : ValidatorFn[] = []; + let valArr: ValidatorFn[] = []; let ruleTextArr: String[] = []; let otherRuleTextArr: String[] = []; valArr.push(Validators.required); - + data.rules.forEach((rule: any) => { if (rule.label == 'minLength') { this.passwordRules.minLength.enabled = rule.enabled; @@ -121,13 +121,13 @@ export class PasswordModificationComponent implements OnInit { this.passwordRules.renewal.enabled = rule.enabled; this.passwordRules.renewal.value = rule.value; if (rule.enabled) { - otherRuleTextArr.push(this.lang['password' + rule.label] + ' <b>' + rule.value + ' ' + this.lang.days + '</b>. ' + this.lang['password2' + rule.label]+'.'); + otherRuleTextArr.push(this.lang['password' + rule.label] + ' <b>' + rule.value + ' ' + this.lang.days + '</b>. ' + this.lang['password2' + rule.label] + '.'); } } else if (rule.label == 'historyLastUse') { this.passwordRules.historyLastUse.enabled = rule.enabled; this.passwordRules.historyLastUse.value = rule.value; if (rule.enabled) { - otherRuleTextArr.push(this.lang['passwordhistoryLastUseDesc'] + ' <b>' + rule.value + '</b> ' + this.lang['passwordhistoryLastUseDesc2']+'.'); + otherRuleTextArr.push(this.lang['passwordhistoryLastUseDesc'] + ' <b>' + rule.value + '</b> ' + this.lang['passwordhistoryLastUseDesc2'] + '.'); } } }); @@ -169,14 +169,14 @@ export class PasswordModificationComponent implements OnInit { if (group.controls['newPasswordCtrl'].value == group.controls['retypePasswordCtrl'].value) { return false; } else { - group.controls['retypePasswordCtrl'].setErrors({'mismatch': true}); - return {'mismatch': true}; + group.controls['retypePasswordCtrl'].setErrors({ 'mismatch': true }); + return { 'mismatch': true }; } } getErrorMessage() { if (this.firstFormGroup.controls['newPasswordCtrl'].value != this.firstFormGroup.controls['retypePasswordCtrl'].value) { - this.firstFormGroup.controls['retypePasswordCtrl'].setErrors({'mismatch': true}); + this.firstFormGroup.controls['retypePasswordCtrl'].setErrors({ 'mismatch': true }); } else { this.firstFormGroup.controls['retypePasswordCtrl'].setErrors(null); } @@ -203,7 +203,7 @@ export class PasswordModificationComponent implements OnInit { this.passwordModel.reNewPassword = this.firstFormGroup.controls['retypePasswordCtrl'].value; this.http.put('../../rest/users/' + angularGlobals.user.id + '/password', this.passwordModel) .subscribe(() => { - this.config = {data:{state:'END'},disableClose: true}; + this.config = { panelClass: 'maarch-modal', data: { state: 'END' }, disableClose: true }; this.dialogRef = this.dialog.open(InfoChangePasswordModalComponent, this.config); }, (err: any) => { this.notify.error(err.error.errors); @@ -220,7 +220,7 @@ export class PasswordModificationComponent implements OnInit { }) export class InfoChangePasswordModalComponent { - lang : any = LANG; + lang: any = LANG; constructor(public http: HttpClient, @Inject(MAT_DIALOG_DATA) public data: any, public dialogRef: MatDialogRef<InfoChangePasswordModalComponent>) { } diff --git a/src/frontend/app/printedFolder/printed-folder-modal.component.html b/src/frontend/app/printedFolder/printed-folder-modal.component.html index c56dcd97d4a..40a3c899195 100644 --- a/src/frontend/app/printedFolder/printed-folder-modal.component.html +++ b/src/frontend/app/printedFolder/printed-folder-modal.component.html @@ -1,93 +1,103 @@ -<h1 mat-dialog-title> - <span style="flex: 1;"> - {{lang.generateAndDownloadPrintedFolder}} - </span> - <button [title]="lang.close" mat-icon-button (click)="dialogRef.close();"> - <mat-icon class="fa fa-times"></mat-icon> - </button></h1> -<mat-dialog-content class="modal-container"> - <div class="loading" *ngIf="loading; else loadingTemplate"> - <mat-spinner style="margin:auto;"></mat-spinner> - </div> - <ng-template #loadingTemplate> - <div class="example-loading-shade" *ngIf="isLoadingResults"> - <mat-spinner *ngIf="isLoadingResults"></mat-spinner> - </div> - <div style="padding: 10px;"> - <mat-slide-toggle color="primary" [(ngModel)]="summarySheet" - (change)="$event.checked ? openSummarySheet() : false">{{lang.attachSummarySheet}}</mat-slide-toggle> - </div> - <div style="padding: 10px;"> - <mat-slide-toggle color="primary" [(ngModel)]="withSeparator">{{lang.generateSeparators}}</mat-slide-toggle> +<div class="mat-dialog-content-container"> + <h1 mat-dialog-title> + <span style="flex: 1;"> + {{lang.generateAndDownloadPrintedFolder}} + </span> + <button [title]="lang.close" mat-icon-button (click)="dialogRef.close();"> + <mat-icon class="fa fa-times"></mat-icon> + </button></h1> + <mat-dialog-content> + <div class="loading" *ngIf="loading; else loadingTemplate"> + <mat-spinner style="margin:auto;"></mat-spinner> </div> - <div class="printedFolderContainer"> - <mat-expansion-panel *ngIf="mainDocumentInformation.format !== null" hideToggle disabled [title]="!mainDocumentInformation.canConvert ? 'Aucune version pdf trouvé!' : ''"> - <mat-expansion-panel-header> - <mat-panel-title style="color: #135f7f;font-weight: bold;"> - <mat-checkbox color="primary" [(ngModel)]="mainDocument" [disabled]="!mainDocumentInformation.canConvert" disableRipple>{{lang.mainDocument}} - </mat-checkbox> - </mat-panel-title> - </mat-expansion-panel-header> - </mat-expansion-panel> - <ng-container *ngFor="let keyVal of printedFolderElement | keyvalue"> - <div class="printedFolderElement" *ngIf="printedFolderElement[keyVal.key].length > 0"> - <mat-expansion-panel > - <mat-expansion-panel-header> - <mat-panel-title style="color: #135f7f;font-weight: bold;"> - <mat-checkbox color="primary" - (change)="$event ? toggleAllElements($event.checked, keyVal.key) : null" - [checked]="selectedPrintedFolderElement[keyVal.key].value.length > 0 && selectedPrintedFolderElement[keyVal.key].value.length === printedFolderElement[keyVal.key].length" - [indeterminate]="selectedPrintedFolderElement[keyVal.key].value.length > 0 && selectedPrintedFolderElement[keyVal.key].value.length !== printedFolderElement[keyVal.key].length" - (click)="$event.stopPropagation()" disableRipple>{{lang[keyVal.key]}}</mat-checkbox> - </mat-panel-title> - </mat-expansion-panel-header> - <mat-selection-list [formControl]="selectedPrintedFolderElement[keyVal.key]" color="primary" - class="printedFolderElement-content"> - <mat-list-option class="printedFolderElement-option" [title]="!element.canConvert ? 'Aucune version pdf trouvé!' : ''" [class.disabled]="!element.canConvert" checkboxPosition="before" - *ngFor="let element of printedFolderElement[keyVal.key]" [disabled]="!element.canConvert" [value]="element.id"> - <div class="printedFolderElement-item {{keyVal.key}}"> - <div color="primary" style="flex:1;font-size: 80%;padding-right: 10px;" - *ngIf="!functions.empty(element.chrono)"> - {{element.chrono}} - </div> - <div color="primary" style="flex:1;display: flex;font-size: 80%;white-space: pre;padding-right: 10px;" - *ngIf="!functions.empty(element.recipients)"> - {{lang.for | ucfirst}} : {{element.recipients}} - </div> - <div *ngIf="!functions.empty(element.creator)" color="primary" - style="flex:1;font-size: 80%;padding-right: 10px;"> - {{element.creator}} - </div> - <div style="flex:2;padding-right: 10px;" [title]="element.label" - [innerHTML]="element.label | shorten: 150: '...'"> - </div> - <div *ngIf="!functions.empty(element.type)" color="primary" - style="flex:1;font-size: 80%;white-space: pre;padding-right: 10px;"> - {{element.type}} - </div> + <ng-template #loadingTemplate> + <div class="example-loading-shade" *ngIf="isLoadingResults"> + <mat-spinner *ngIf="isLoadingResults"></mat-spinner> + </div> + <div style="padding: 10px;"> + <mat-slide-toggle color="primary" [(ngModel)]="summarySheet" + (change)="$event.checked ? openSummarySheet() : false">{{lang.attachSummarySheet}} + </mat-slide-toggle> + </div> + <div style="padding: 10px;"> + <mat-slide-toggle color="primary" [(ngModel)]="withSeparator">{{lang.generateSeparators}} + </mat-slide-toggle> + </div> + <div class="printedFolderContainer"> + <mat-expansion-panel *ngIf="mainDocumentInformation.format !== null" hideToggle disabled + [title]="!mainDocumentInformation.canConvert ? 'Aucune version pdf trouvé!' : ''"> + <mat-expansion-panel-header> + <mat-panel-title style="color: #135f7f;font-weight: bold;"> + <mat-checkbox color="primary" [(ngModel)]="mainDocument" + [disabled]="!mainDocumentInformation.canConvert" disableRipple>{{lang.mainDocument}} + </mat-checkbox> + </mat-panel-title> + </mat-expansion-panel-header> + </mat-expansion-panel> + <ng-container *ngFor="let keyVal of printedFolderElement | keyvalue"> + <div class="printedFolderElement" *ngIf="printedFolderElement[keyVal.key].length > 0"> + <mat-expansion-panel> + <mat-expansion-panel-header> + <mat-panel-title style="color: #135f7f;font-weight: bold;"> + <mat-checkbox color="primary" + (change)="$event ? toggleAllElements($event.checked, keyVal.key) : null" + [checked]="selectedPrintedFolderElement[keyVal.key].value.length > 0 && selectedPrintedFolderElement[keyVal.key].value.length === printedFolderElement[keyVal.key].length" + [indeterminate]="selectedPrintedFolderElement[keyVal.key].value.length > 0 && selectedPrintedFolderElement[keyVal.key].value.length !== printedFolderElement[keyVal.key].length" + (click)="$event.stopPropagation()" disableRipple>{{lang[keyVal.key]}} + </mat-checkbox> + </mat-panel-title> + </mat-expansion-panel-header> + <mat-selection-list [formControl]="selectedPrintedFolderElement[keyVal.key]" color="primary" + class="printedFolderElement-content"> + <mat-list-option class="printedFolderElement-option" + [title]="!element.canConvert ? 'Aucune version pdf trouvé!' : ''" + [class.disabled]="!element.canConvert" checkboxPosition="before" + *ngFor="let element of printedFolderElement[keyVal.key]" + [disabled]="!element.canConvert" [value]="element.id"> + <div class="printedFolderElement-item {{keyVal.key}}"> + <div color="primary" style="flex:1;font-size: 80%;padding-right: 10px;" + *ngIf="!functions.empty(element.chrono)"> + {{element.chrono}} + </div> + <div color="primary" + style="flex:1;display: flex;font-size: 80%;white-space: pre;padding-right: 10px;" + *ngIf="!functions.empty(element.recipients)"> + {{lang.for | ucfirst}} : {{element.recipients}} + </div> + <div *ngIf="!functions.empty(element.creator)" color="primary" + style="flex:1;font-size: 80%;padding-right: 10px;"> + {{element.creator}} + </div> + <div style="flex:2;padding-right: 10px;" [title]="element.label" + [innerHTML]="element.label | shorten: 150: '...'"> + </div> + <div *ngIf="!functions.empty(element.type)" color="primary" + style="flex:1;font-size: 80%;white-space: pre;padding-right: 10px;"> + {{element.type}} + </div> - <div *ngIf="!functions.empty(element.status)"> - <div *ngIf="element.status === 'SIGN'" style="color: green"> - {{lang['attachment_' + element.status]}} + <div *ngIf="!functions.empty(element.status)"> + <div *ngIf="element.status === 'SIGN'" style="color: green"> + {{lang['attachment_' + element.status]}} + </div> </div> - </div> - <div color="primary" [title]="element.creationDate | fullDate" - style="flex:1;justify-content: flex-end;display: flex;font-size: 80%;"> - {{element.creationDate | timeAgo : 'full' | ucfirst}} + <div color="primary" [title]="element.creationDate | fullDate" + style="flex:1;justify-content: flex-end;display: flex;font-size: 80%;"> + {{element.creationDate | timeAgo : 'full' | ucfirst}} + </div> </div> - </div> - </mat-list-option> - </mat-selection-list> - </mat-expansion-panel> - </div> - </ng-container> - </div> - </ng-template> - - -</mat-dialog-content> -<div mat-dialog-actions class="actions"> - <button mat-raised-button color="primary" [disabled]="isLoadingResults || isEmptySelection()" - (click)="onSubmit()">{{lang.validate}}</button> -</div> + </mat-list-option> + </mat-selection-list> + </mat-expansion-panel> + </div> + </ng-container> + </div> + </ng-template> + </mat-dialog-content> + <span class="divider-modal"></span> + <div mat-dialog-actions class="actions"> + <button mat-raised-button color="primary" [disabled]="isLoadingResults || isEmptySelection()" + (click)="onSubmit()">{{lang.validate}}</button> + </div> +</div> \ No newline at end of file diff --git a/src/frontend/app/printedFolder/printed-folder-modal.component.ts b/src/frontend/app/printedFolder/printed-folder-modal.component.ts index bdbc57a52b1..1ed40455080 100644 --- a/src/frontend/app/printedFolder/printed-folder-modal.component.ts +++ b/src/frontend/app/printedFolder/printed-folder-modal.component.ts @@ -286,7 +286,7 @@ export class PrintedFolderModalComponent { openSummarySheet(): void { const dialogRef = this.dialog.open(SummarySheetComponent, { - panelClass: 'summary-sheet-dialog', + panelClass: 'maarch-full-height-modal', width: '800px', data: { paramMode : true diff --git a/src/frontend/app/process/process.component.ts b/src/frontend/app/process/process.component.ts index 2c09e6dbe95..5aa49bb1aae 100755 --- a/src/frontend/app/process/process.component.ts +++ b/src/frontend/app/process/process.component.ts @@ -711,7 +711,7 @@ export class ProcessComponent implements OnInit { openContact() { if (this.hasContact) { - this.dialog.open(ContactsListModalComponent, { data: { title: `${this.currentResourceInformations.chrono} - ${this.currentResourceInformations.subject}`, mode: this.currentResourceInformations.categoryId !== 'outgoing' ? 'senders' : 'recipients', resId: this.currentResourceInformations.resId } }); + this.dialog.open(ContactsListModalComponent, { panelClass: 'maarch-modal', data: { title: `${this.currentResourceInformations.chrono} - ${this.currentResourceInformations.subject}`, mode: this.currentResourceInformations.categoryId !== 'outgoing' ? 'senders' : 'recipients', resId: this.currentResourceInformations.resId } }); } } @@ -813,6 +813,6 @@ export class ProcessComponent implements OnInit { } openPrintedFolderPrompt() { - this.dialog.open(PrintedFolderModalComponent, { data: { resId: this.currentResourceInformations.resId } }); + this.dialog.open(PrintedFolderModalComponent, { panelClass: 'maarch-modal', data: { resId: this.currentResourceInformations.resId } }); } } diff --git a/src/frontend/app/sentResource/sent-resource-list.component.ts b/src/frontend/app/sentResource/sent-resource-list.component.ts index fae35725ec2..ef70cb37f46 100644 --- a/src/frontend/app/sentResource/sent-resource-list.component.ts +++ b/src/frontend/app/sentResource/sent-resource-list.component.ts @@ -252,7 +252,7 @@ export class SentResourceListComponent implements OnInit { } if (row.canManage || row.id === null) { - const dialogRef = this.dialog.open(SentResourcePageComponent, { maxWidth: '90vw', width: '750px', minHeight:'500px', disableClose: true, data: { title: title, resId: this.resId, emailId: row.id, emailType: row.type } }); + const dialogRef = this.dialog.open(SentResourcePageComponent, { panelClass: 'maarch-modal', disableClose: true, data: { title: title, resId: this.resId, emailId: row.id, emailType: row.type } }); dialogRef.afterClosed().pipe( filter((data: any) => data.state === 'success' || data === 'success'), diff --git a/src/frontend/app/sentResource/sent-resource-page/sent-resource-page.component.html b/src/frontend/app/sentResource/sent-resource-page/sent-resource-page.component.html index f2f6e13555a..4149ebaee5d 100644 --- a/src/frontend/app/sentResource/sent-resource-page/sent-resource-page.component.html +++ b/src/frontend/app/sentResource/sent-resource-page/sent-resource-page.component.html @@ -1,186 +1,199 @@ -<h1 mat-dialog-title> - <span style="flex: 1;"> - {{data.title}} - </span> - <button [title]="lang.saveAndClose" mat-icon-button (click)="saveDraft()"> - <mat-icon class="fa fa-times"></mat-icon> - </button></h1> -<mat-dialog-content class="modal-container"> - <div *ngIf="loading" class="loading"> - <mat-spinner style="margin:auto;"></mat-spinner> - </div> - <mat-form-field> - <span matPrefix class="attachLabel">{{lang.senderShort}} : </span> - <input *ngIf="!canManageMail()" matInput [value]="currentSender.email" readonly> - <mat-select *ngIf="canManageMail()" [compareWith]="this.compareSenders" [(ngModel)]="currentSender"> - <mat-option *ngFor="let email of availableSenders | sortBy: 'label'" [value]="email"> - {{email.label}} ({{email.email}}) - </mat-option> - </mat-select> - <button mat-button color="primary" matSuffix [disabled]="!canManageMail()" [class.activeButton]="showCopies" - (click)="$event.stopPropagation();showCopies = !showCopies">{{lang.copieShort}}</button> - <button mat-button color="primary" matSuffix [disabled]="!canManageMail()" - [class.activeButton]="showInvisibleCopies" - (click)="$event.stopPropagation();showInvisibleCopies = !showInvisibleCopies">{{lang.invisibleCopyShort}}</button> - </mat-form-field> - <mat-form-field> - <span matPrefix class="attachLabel">{{lang.recipientShort}} : </span> - <mat-chip-list id="recipients-list" #recipientsList cdkDropList - [cdkDropListConnectedTo]="['copies-list','invcopies-list']" [cdkDropListData]="recipients" - (cdkDropListDropped)="drop($event)"> - <mat-chip cdkDrag [cdkDragDisabled]="emailStatus == 'SENT' || emailStatus == 'ERROR'" class="recipients" *ngFor="let recipient of recipients" [selectable]="selectable" - [removable]="canManageMail()" (removed)="remove(recipient, 'recipients')" (click)="remove(recipient, 'recipients')" [title]="recipient.email" - [class.badFormat]="recipient.badFormat"> - {{recipient.label}}{{recipient.label !== recipient.email ? ' (' + recipient.email + ')' : ''}} - <mat-icon matChipRemove class="fa fa-times" *ngIf="canManageMail()"></mat-icon> - </mat-chip> - <input [formControl]="recipientsInput" [matChipInputFor]="recipientsList" - [matChipInputSeparatorKeyCodes]="separatorKeysCodes" [matChipInputAddOnBlur]="true" - (matChipInputTokenEnd)="add($event, 'recipients')" [matAutocomplete]="autoEmails" - (focus)="resetAutocomplete()"> - </mat-chip-list> - <mat-autocomplete #autoEmails="matAutocomplete" (optionSelected)="addEmail($event.option.value, 'recipients')"> - <mat-option *ngFor="let option of filteredEmails | async" [value]="option"> - {{option.label}}<span class="attachLabel" *ngIf="option.type !== 'contactGroup'"> - ({{option.email}})</span> - </mat-option> - </mat-autocomplete> - </mat-form-field> - <mat-form-field *ngIf="showCopies"> - <span matPrefix class="attachLabel">{{lang.copieShort}} : </span> - <mat-chip-list id="copies-list" #copiesList cdkDropList - [cdkDropListConnectedTo]="['recipients-list','invcopies-list']" [cdkDropListData]="copies" - (cdkDropListDropped)="drop($event)"> - <mat-chip cdkDrag [cdkDragDisabled]="emailStatus == 'SENT' || emailStatus == 'ERROR'" class="copy" *ngFor="let copy of copies" [selectable]="selectable" - [removable]="canManageMail()" (removed)="remove(copy, 'copies')" (click)="remove(copycopy, 'recipients')" [title]="copy.email" - [class.badFormat]="copy.badFormat"> - {{copy.label}}{{copy.label !== copy.email ? ' (' + copy.email + ')' : ''}} - <mat-icon matChipRemove class="fa fa-times" *ngIf="canManageMail()"></mat-icon> - </mat-chip> - <input [formControl]="recipientsInput" [matChipInputFor]="copiesList" - [matChipInputSeparatorKeyCodes]="separatorKeysCodes" [matChipInputAddOnBlur]="true" - (matChipInputTokenEnd)="add($event, 'copies')" [matAutocomplete]="autoEmails2" - (focus)="resetAutocomplete()"> - </mat-chip-list> - <mat-autocomplete #autoEmails2="matAutocomplete" (optionSelected)="addEmail($event.option.value, 'copies')"> - <mat-option *ngFor="let option of filteredEmails | async" [value]="option"> - {{option.label}}<span class="attachLabel" *ngIf="option.type !== 'contactGroup'"> - ({{option.email}})</span> - </mat-option> - </mat-autocomplete> - </mat-form-field> - <mat-form-field *ngIf="showInvisibleCopies"> - <span matPrefix class="attachLabel">{{lang.invisibleCopyShort}} : </span> - <mat-chip-list id="invcopies-list" #invCopiesList cdkDropList - [cdkDropListConnectedTo]="['recipients-list','copies-list']" [cdkDropListData]="invisibleCopies" - (cdkDropListDropped)="drop($event)"> - <mat-chip cdkDrag [cdkDragDisabled]="emailStatus == 'SENT' || emailStatus == 'ERROR'" class="copy" *ngFor="let invCopy of invisibleCopies" [selectable]="selectable" - [removable]="canManageMail()" (removed)="remove(invCopy, 'invisibleCopies')" (click)="remove(invCopy, 'recipients')" [title]="invCopy.email" - [class.badFormat]="invCopy.badFormat"> - {{invCopy.label}}{{invCopy.label !== invCopy.email ? ' (' + invCopy.email + ')' : ''}} +<div class="mat-dialog-content-container"> + <h1 mat-dialog-title> + <span style="flex: 1;"> + {{data.title}} + </span> + <button [title]="lang.saveAndClose" mat-icon-button (click)="saveDraft()"> + <mat-icon class="fa fa-times"></mat-icon> + </button></h1> + <mat-dialog-content class="modal-container"> + <div *ngIf="loading" class="loading"> + <mat-spinner style="margin:auto;"></mat-spinner> + </div> + <mat-form-field> + <span matPrefix class="attachLabel">{{lang.senderShort}} : </span> + <input *ngIf="!canManageMail()" matInput [value]="currentSender.email" readonly> + <mat-select *ngIf="canManageMail()" [compareWith]="this.compareSenders" [(ngModel)]="currentSender"> + <mat-option *ngFor="let email of availableSenders | sortBy: 'label'" [value]="email"> + {{email.label}} ({{email.email}}) + </mat-option> + </mat-select> + <button mat-button color="primary" matSuffix [disabled]="!canManageMail()" [class.activeButton]="showCopies" + (click)="$event.stopPropagation();showCopies = !showCopies">{{lang.copieShort}}</button> + <button mat-button color="primary" matSuffix [disabled]="!canManageMail()" + [class.activeButton]="showInvisibleCopies" + (click)="$event.stopPropagation();showInvisibleCopies = !showInvisibleCopies">{{lang.invisibleCopyShort}}</button> + </mat-form-field> + <mat-form-field> + <span matPrefix class="attachLabel">{{lang.recipientShort}} : </span> + <mat-chip-list id="recipients-list" #recipientsList cdkDropList + [cdkDropListConnectedTo]="['copies-list','invcopies-list']" [cdkDropListData]="recipients" + (cdkDropListDropped)="drop($event)"> + <mat-chip cdkDrag [cdkDragDisabled]="emailStatus == 'SENT' || emailStatus == 'ERROR'" class="recipients" + *ngFor="let recipient of recipients" [selectable]="selectable" [removable]="canManageMail()" + (removed)="remove(recipient, 'recipients')" (click)="remove(recipient, 'recipients')" + [title]="recipient.email" [class.badFormat]="recipient.badFormat"> + {{recipient.label}}{{recipient.label !== recipient.email ? ' (' + recipient.email + ')' : ''}} + <mat-icon matChipRemove class="fa fa-times" *ngIf="canManageMail()"></mat-icon> + </mat-chip> + <input [formControl]="recipientsInput" [matChipInputFor]="recipientsList" + [matChipInputSeparatorKeyCodes]="separatorKeysCodes" [matChipInputAddOnBlur]="true" + (matChipInputTokenEnd)="add($event, 'recipients')" [matAutocomplete]="autoEmails" + (focus)="resetAutocomplete()"> + </mat-chip-list> + <mat-autocomplete #autoEmails="matAutocomplete" + (optionSelected)="addEmail($event.option.value, 'recipients')"> + <mat-option *ngFor="let option of filteredEmails | async" [value]="option"> + {{option.label}}<span class="attachLabel" *ngIf="option.type !== 'contactGroup'"> + ({{option.email}})</span> + </mat-option> + </mat-autocomplete> + </mat-form-field> + <mat-form-field *ngIf="showCopies"> + <span matPrefix class="attachLabel">{{lang.copieShort}} : </span> + <mat-chip-list id="copies-list" #copiesList cdkDropList + [cdkDropListConnectedTo]="['recipients-list','invcopies-list']" [cdkDropListData]="copies" + (cdkDropListDropped)="drop($event)"> + <mat-chip cdkDrag [cdkDragDisabled]="emailStatus == 'SENT' || emailStatus == 'ERROR'" class="copy" + *ngFor="let copy of copies" [selectable]="selectable" [removable]="canManageMail()" + (removed)="remove(copy, 'copies')" (click)="remove(copycopy, 'recipients')" [title]="copy.email" + [class.badFormat]="copy.badFormat"> + {{copy.label}}{{copy.label !== copy.email ? ' (' + copy.email + ')' : ''}} + <mat-icon matChipRemove class="fa fa-times" *ngIf="canManageMail()"></mat-icon> + </mat-chip> + <input [formControl]="recipientsInput" [matChipInputFor]="copiesList" + [matChipInputSeparatorKeyCodes]="separatorKeysCodes" [matChipInputAddOnBlur]="true" + (matChipInputTokenEnd)="add($event, 'copies')" [matAutocomplete]="autoEmails2" + (focus)="resetAutocomplete()"> + </mat-chip-list> + <mat-autocomplete #autoEmails2="matAutocomplete" (optionSelected)="addEmail($event.option.value, 'copies')"> + <mat-option *ngFor="let option of filteredEmails | async" [value]="option"> + {{option.label}}<span class="attachLabel" *ngIf="option.type !== 'contactGroup'"> + ({{option.email}})</span> + </mat-option> + </mat-autocomplete> + </mat-form-field> + <mat-form-field *ngIf="showInvisibleCopies"> + <span matPrefix class="attachLabel">{{lang.invisibleCopyShort}} : </span> + <mat-chip-list id="invcopies-list" #invCopiesList cdkDropList + [cdkDropListConnectedTo]="['recipients-list','copies-list']" [cdkDropListData]="invisibleCopies" + (cdkDropListDropped)="drop($event)"> + <mat-chip cdkDrag [cdkDragDisabled]="emailStatus == 'SENT' || emailStatus == 'ERROR'" class="copy" + *ngFor="let invCopy of invisibleCopies" [selectable]="selectable" [removable]="canManageMail()" + (removed)="remove(invCopy, 'invisibleCopies')" (click)="remove(invCopy, 'recipients')" + [title]="invCopy.email" [class.badFormat]="invCopy.badFormat"> + {{invCopy.label}}{{invCopy.label !== invCopy.email ? ' (' + invCopy.email + ')' : ''}} + <mat-icon matChipRemove class="fa fa-times" *ngIf="canManageMail()"></mat-icon> + </mat-chip> + <input [formControl]="recipientsInput" [matChipInputFor]="invCopiesList" + [matChipInputSeparatorKeyCodes]="separatorKeysCodes" [matChipInputAddOnBlur]="true" + (matChipInputTokenEnd)="add($event, 'invisibleCopies')" [matAutocomplete]="autoEmails3" + (focus)="resetAutocomplete()"> + </mat-chip-list> + <mat-autocomplete #autoEmails3="matAutocomplete" + (optionSelected)="addEmail($event.option.value, 'invisibleCopies')"> + <mat-option *ngFor="let option of filteredEmails | async" [value]="option"> + {{option.label}}<span class="attachLabel" *ngIf="option.type !== 'contactGroup'"> + ({{option.email}})</span> + </mat-option> + </mat-autocomplete> + </mat-form-field> + <mat-form-field floatLabel="never"> + <input matInput [placeholder]="lang.object" [readonly]="!canManageMail()" [(ngModel)]="emailsubject" + maxlength="70"> + <button mat-icon-button matSuffix *ngFor="let keyVal of emailAttachTool | keyvalue" + [disabled]="!canManageMail() || (emailAttachTool[keyVal.key].list.length === 0)" + [title]="emailAttachTool[keyVal.key].title" + (click)="$event.stopPropagation();currentEmailAttachTool=keyVal.key;" + [matMenuTriggerFor]="emailAttachListMenu"> + <mat-icon class="{{emailAttachTool[keyVal.key].icon}}" + [class.activeButton]="(keyVal.key === 'document' && emailAttach.document.isLinked) || (keyVal.key !== 'document' && emailAttach[keyVal.key].length > 0)" + color="primary"></mat-icon> + </button> + <mat-menu #emailAttachListMenu="matMenu" [class]="'attachListMenu'"> + <ng-container *ngFor="let keyVal of emailAttachTool | keyvalue"> + <ng-container *ngIf="keyVal.key === currentEmailAttachTool"> + <button mat-menu-item style="line-height: normal;" disableRipple + *ngFor="let attach of emailAttachTool[keyVal.key].list" + [disabled]="isSelectedAttachMail(attach,keyVal.key)" + (click)="$event.stopPropagation();toggleAttachMail(attach,keyVal.key,'original');"> + <span (click)="toggleAttachMail(attach,keyVal.key,'original')" [title]="attach.label"> + <div style="font-size: 10px;opacity: 0.5;">{{attach.chrono}} - {{attach.typeLabel}} + ({{attach.creator}})</div> + {{attach.label | shorten: 45: '...'}} - {{attach.format}} + </span> <span class="pdfVersion" *ngIf="!functions.empty(attach.convertedDocument)" + (click)="toggleAttachMail(attach,keyVal.key,'pdf');">({{lang.pdfVersion}}) + </span> + </button> + </ng-container> + </ng-container> + </mat-menu> + </mat-form-field> + <mat-chip-list> + <mat-chip class="copy" *ngIf="emailAttach.document.isLinked" [selectable]="selectable" + [removable]="canManageMail()" (removed)="removeAttachMail(0, 'document')" + [title]="emailAttach.document.chrono + ' - ' + emailAttach.document.label"> + <i + class="fa fa-file attachLabel"></i> {{emailAttach.document.label | shorten: 25: '...'}} <small + class="attachLabel">({{emailAttach.document.format}} - {{emailAttach.document.size}})</small> <mat-icon matChipRemove class="fa fa-times" *ngIf="canManageMail()"></mat-icon> </mat-chip> - <input [formControl]="recipientsInput" [matChipInputFor]="invCopiesList" - [matChipInputSeparatorKeyCodes]="separatorKeysCodes" [matChipInputAddOnBlur]="true" - (matChipInputTokenEnd)="add($event, 'invisibleCopies')" [matAutocomplete]="autoEmails3" - (focus)="resetAutocomplete()"> - </mat-chip-list> - <mat-autocomplete #autoEmails3="matAutocomplete" - (optionSelected)="addEmail($event.option.value, 'invisibleCopies')"> - <mat-option *ngFor="let option of filteredEmails | async" [value]="option"> - {{option.label}}<span class="attachLabel" *ngIf="option.type !== 'contactGroup'"> - ({{option.email}})</span> - </mat-option> - </mat-autocomplete> - </mat-form-field> - <mat-form-field floatLabel="never"> - <input matInput [placeholder]="lang.object" [readonly]="!canManageMail()" [(ngModel)]="emailsubject" - maxlength="70"> - <button mat-icon-button matSuffix *ngFor="let keyVal of emailAttachTool | keyvalue" - [disabled]="!canManageMail() || (emailAttachTool[keyVal.key].list.length === 0)" - [title]="emailAttachTool[keyVal.key].title" - (click)="$event.stopPropagation();currentEmailAttachTool=keyVal.key;" - [matMenuTriggerFor]="emailAttachListMenu"> - <mat-icon class="{{emailAttachTool[keyVal.key].icon}}" - [class.activeButton]="(keyVal.key === 'document' && emailAttach.document.isLinked) || (keyVal.key !== 'document' && emailAttach[keyVal.key].length > 0)" - color="primary"></mat-icon> - </button> - <mat-menu #emailAttachListMenu="matMenu" [class]="'attachListMenu'"> - <ng-container *ngFor="let keyVal of emailAttachTool | keyvalue"> - <ng-container *ngIf="keyVal.key === currentEmailAttachTool"> - <button mat-menu-item style="line-height: normal;" disableRipple - *ngFor="let attach of emailAttachTool[keyVal.key].list" - [disabled]="isSelectedAttachMail(attach,keyVal.key)" (click)="$event.stopPropagation();toggleAttachMail(attach,keyVal.key,'original');"> - <span (click)="toggleAttachMail(attach,keyVal.key,'original')" [title]="attach.label"> - <div style="font-size: 10px;opacity: 0.5;">{{attach.chrono}} - {{attach.typeLabel}} - ({{attach.creator}})</div> - {{attach.label | shorten: 45: '...'}} - {{attach.format}} - </span> <span class="pdfVersion" *ngIf="!functions.empty(attach.convertedDocument)" - (click)="toggleAttachMail(attach,keyVal.key,'pdf');">({{lang.pdfVersion}}) - </span> - </button> + <ng-container *ngFor="let keyVal of emailAttach | keyvalue"> + <ng-container *ngIf="keyVal.key !== 'document'"> + <mat-chip class="copy" *ngFor="let item of emailAttach[keyVal.key]; let i=index;" + [selectable]="selectable" [removable]="canManageMail()" + (removed)="removeAttachMail(i, keyVal.key)" [title]="item.title"> + <i + class="{{emailAttachTool[keyVal.key].icon}} attachLabel"></i> {{item.label | shorten: 25: '...'}} <small + class="attachLabel">({{item.format}}{{!functions.empty(item.size) ? ' - '+item.size : ''}})</small> + <mat-icon matChipRemove class="fa fa-times" *ngIf="canManageMail()"></mat-icon> + </mat-chip> </ng-container> </ng-container> - </mat-menu> - </mat-form-field> - <mat-chip-list> - <mat-chip class="copy" *ngIf="emailAttach.document.isLinked" [selectable]="selectable" - [removable]="canManageMail()" (removed)="removeAttachMail(0, 'document')" - [title]="emailAttach.document.chrono + ' - ' + emailAttach.document.label"> - <i class="fa fa-file attachLabel"></i> {{emailAttach.document.label | shorten: 25: '...'}} <small - class="attachLabel">({{emailAttach.document.format}} - {{emailAttach.document.size}})</small> - <mat-icon matChipRemove class="fa fa-times" *ngIf="canManageMail()"></mat-icon> - </mat-chip> - <ng-container *ngFor="let keyVal of emailAttach | keyvalue"> - <ng-container *ngIf="keyVal.key !== 'document'"> - <mat-chip class="copy" *ngFor="let item of emailAttach[keyVal.key]; let i=index;" - [selectable]="selectable" [removable]="canManageMail()" (removed)="removeAttachMail(i, keyVal.key)" - [title]="item.title"> - <i - class="{{emailAttachTool[keyVal.key].icon}} attachLabel"></i> {{item.label | shorten: 25: '...'}} <small - class="attachLabel">({{item.format}}{{!functions.empty(item.size) ? ' - '+item.size : ''}})</small> - <mat-icon matChipRemove class="fa fa-times" *ngIf="canManageMail()"></mat-icon> - </mat-chip> - </ng-container> - </ng-container> - </mat-chip-list> - <div class="models" *ngIf="canManageMail()"> - <plugin-select-search *ngIf="availableEmailModels.length > 0" [label]="lang.emailModel" - [placeholderLabel]="lang.emailModel" [datas]="availableEmailModels" - [formControlSelect]="templateEmailListForm" (afterSelected)="mergeEmailTemplate($event)"> - </plugin-select-search> + </mat-chip-list> + <div class="models" *ngIf="canManageMail()"> + <plugin-select-search *ngIf="availableEmailModels.length > 0" [label]="lang.emailModel" + [placeholderLabel]="lang.emailModel" [datas]="availableEmailModels" + [formControlSelect]="templateEmailListForm" (afterSelected)="mergeEmailTemplate($event)"> + </plugin-select-search> - <plugin-select-search #templateList *ngIf="availableSignEmailModels.length > 0" [label]="lang.emailSignatures" - [placeholderLabel]="lang.emailSignatures" [datas]="availableSignEmailModels" - [formControlSelect]="emailSignListForm" (afterSelected)="mergeSignEmailTemplate($event)"> - </plugin-select-search> - </div> - <div style="padding-top: 10px;"> - <textarea *ngIf="!pdfMode" style="padding-top: 10px;" name="emailSignature" id="emailSignature" - [(ngModel)]="emailContent"></textarea> + <plugin-select-search #templateList *ngIf="availableSignEmailModels.length > 0" + [label]="lang.emailSignatures" [placeholderLabel]="lang.emailSignatures" + [datas]="availableSignEmailModels" [formControlSelect]="emailSignListForm" + (afterSelected)="mergeSignEmailTemplate($event)"> + </plugin-select-search> + </div> + <div style="padding-top: 10px;"> + <textarea *ngIf="!pdfMode" style="padding-top: 10px;" name="emailSignature" id="emailSignature" + [(ngModel)]="emailContent"></textarea> - <app-document-viewer *ngIf="pdfMode" #appDocumentViewer - style="display:block;height:400px;width:100%;overflow: auto;" [editMode]="false" [base64]="emailContent"> - </app-document-viewer> - </div> -</mat-dialog-content> -<div mat-dialog-actions class="actions" *ngIf="!loading"> - <button mat-raised-button color="primary" style="min-width: auto;width: 30px;padding: 0;background-color: white; color: grey;" - *ngIf="canManageMail() && privilegeService.hasCurrentUserPrivilege('sendmail')" - [matMenuTriggerFor]="emailActionMenu"> - <mat-icon style="height:auto;" class="fas fa-ellipsis-v"></mat-icon> - </button> - <mat-menu #emailActionMenu="matMenu" [class]="'attachListMenu'"> - <button mat-menu-item (click)="switchEditionMode()" *ngIf="htmlMode"> - {{lang.switchInPlainText}} + <app-document-viewer *ngIf="pdfMode" #appDocumentViewer + style="display:block;height:400px;width:100%;overflow: auto;" [editMode]="false" + [base64]="emailContent"> + </app-document-viewer> + </div> + </mat-dialog-content> + <span class="divider-modal"></span> + <div mat-dialog-actions class="actions" *ngIf="!loading"> + <button mat-raised-button color="primary" + style="min-width: auto;width: 30px;padding: 0;background-color: white; color: grey;" + *ngIf="canManageMail() && privilegeService.hasCurrentUserPrivilege('sendmail')" + [matMenuTriggerFor]="emailActionMenu"> + <mat-icon style="height:auto;" class="fas fa-ellipsis-v"></mat-icon> </button> - <button mat-menu-item (click)="switchEditionMode()" *ngIf="!htmlMode"> - {{lang.switchInHtml}} - </button> - </mat-menu> - <button mat-raised-button color="primary" - *ngIf="canManageMail() && privilegeService.hasCurrentUserPrivilege('sendmail')" (click)="onSubmit()" - [disabled]="recipients.length === 0">{{lang.send}}</button> - <button mat-raised-button color="warn" (click)="deleteEmail()" *ngIf="data.emailId && data.emailType === 'email'" - [disabled]="headerService.user.id !== emailCreatorId">{{lang.delete}}</button> -</div> + <mat-menu #emailActionMenu="matMenu" [class]="'attachListMenu'"> + <button mat-menu-item (click)="switchEditionMode()" *ngIf="htmlMode"> + {{lang.switchInPlainText}} + </button> + <button mat-menu-item (click)="switchEditionMode()" *ngIf="!htmlMode"> + {{lang.switchInHtml}} + </button> + </mat-menu> + <button mat-raised-button color="primary" + *ngIf="canManageMail() && privilegeService.hasCurrentUserPrivilege('sendmail')" (click)="onSubmit()" + [disabled]="recipients.length === 0">{{lang.send}}</button> + <button mat-raised-button color="warn" (click)="deleteEmail()" + *ngIf="data.emailId && data.emailType === 'email'" + [disabled]="headerService.user.id !== emailCreatorId">{{lang.delete}}</button> + </div> +</div> \ No newline at end of file diff --git a/src/frontend/app/signature-book.component.ts b/src/frontend/app/signature-book.component.ts index c3df638f3a6..e007a251847 100755 --- a/src/frontend/app/signature-book.component.ts +++ b/src/frontend/app/signature-book.component.ts @@ -527,7 +527,7 @@ export class SignatureBookComponent implements OnInit { } createAttachment() { - this.dialogRef = this.dialog.open(AttachmentCreateComponent, { disableClose: true, panelClass: 'modal-container', height: '90vh', width: '90vw', data: { resIdMaster: this.resId } }); + this.dialogRef = this.dialog.open(AttachmentCreateComponent, { disableClose: true, panelClass: 'attachment-modal-container', height: '90vh', width: '90vw', data: { resIdMaster: this.resId } }); this.dialogRef.afterClosed().pipe( filter((data: string) => data === 'success'), diff --git a/src/frontend/app/viewer/document-viewer.component.ts b/src/frontend/app/viewer/document-viewer.component.ts index 4802d338647..7cd083e1d71 100644 --- a/src/frontend/app/viewer/document-viewer.component.ts +++ b/src/frontend/app/viewer/document-viewer.component.ts @@ -936,7 +936,7 @@ export class DocumentViewerComponent implements OnInit { this.http.get(`../../rest/resources/${this.resId}/content/${version}?type=${type}`).pipe( tap((data: any) => { - this.dialog.open(DocumentViewerModalComponent, { autoFocus: false, height: '90vh', width: '90vw', data: { title: `${title}`, base64: data.encodedDocument } }); + this.dialog.open(DocumentViewerModalComponent, { autoFocus: false, panelClass: 'maarch-full-height-modal', data: { title: `${title}`, base64: data.encodedDocument } }); }), catchError((err: any) => { this.notify.handleSoftErrors(err); diff --git a/src/frontend/app/viewer/modal/document-viewer-modal.component.html b/src/frontend/app/viewer/modal/document-viewer-modal.component.html index a60e8c6ae43..99f185ca1da 100644 --- a/src/frontend/app/viewer/modal/document-viewer-modal.component.html +++ b/src/frontend/app/viewer/modal/document-viewer-modal.component.html @@ -1,9 +1,13 @@ -<h1 mat-dialog-title>{{data.title}} - <button title="{{lang.close}}" mat-icon-button [mat-dialog-close]=""> - <mat-icon class="fa fa-times-circle fa-2x"></mat-icon> - </button> -</h1> -<div style="overflow:auto;height: 100%;width: 100%;"> - <app-document-viewer #appDocumentViewer style="height:100%;width:100%;" [editMode]="false" [base64]="data.base64" [title]="data.title"> - </app-document-viewer> -</div> \ No newline at end of file +<div class="mat-dialog-content-container"> + <h1 mat-dialog-title> + <span>{{data.title}}</span> + <span class="divider-modal"></span> + <button title="{{lang.close}}" mat-icon-button [mat-dialog-close]=""> + <mat-icon class="fa fa-times-circle fa-2x"></mat-icon> + </button> + </h1> + <mat-dialog-content> + <app-document-viewer #appDocumentViewer style="height:100%;width:100%;" [editMode]="false" [base64]="data.base64" [title]="data.title"> + </app-document-viewer> + </mat-dialog-content> +</div> diff --git a/src/frontend/app/viewer/modal/document-viewer-modal.component.scss b/src/frontend/app/viewer/modal/document-viewer-modal.component.scss index f1c85626d8d..e69de29bb2d 100644 --- a/src/frontend/app/viewer/modal/document-viewer-modal.component.scss +++ b/src/frontend/app/viewer/modal/document-viewer-modal.component.scss @@ -1,5 +0,0 @@ -button { - z-index: 1; - float: right; - top: -5px; -} \ No newline at end of file diff --git a/src/frontend/app/visa/addVisaModel/add-visa-model-modal.component.html b/src/frontend/app/visa/addVisaModel/add-visa-model-modal.component.html index 30d14d0ffb6..0131c67f8dd 100644 --- a/src/frontend/app/visa/addVisaModel/add-visa-model-modal.component.html +++ b/src/frontend/app/visa/addVisaModel/add-visa-model-modal.component.html @@ -1,11 +1,14 @@ -<h1 mat-dialog-title>Ajouter un modèle</h1> -<mat-dialog-content class="modal-container"> - <mat-form-field appearance="outline"> - <input type="text" matInput [(ngModel)]="template.title" placeholder="Nom du modèle"> - </mat-form-field> -</mat-dialog-content> -<div mat-dialog-actions class="actions"> - <button mat-raised-button mat-button color="primary" [disabled]="loading" - (click)="onSubmit()">{{lang.validate}}</button> - <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button> +<div class="mat-dialog-content-container"> + <h1 mat-dialog-title>Ajouter un modèle</h1> + <mat-dialog-content class="modal-container"> + <mat-form-field appearance="outline"> + <input type="text" matInput [(ngModel)]="template.title" placeholder="Nom du modèle"> + </mat-form-field> + </mat-dialog-content> + <span class="divider-modal"></span> + <div mat-dialog-actions class="actions"> + <button mat-raised-button mat-button color="primary" [disabled]="loading" + (click)="onSubmit()">{{lang.validate}}</button> + <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button> + </div> </div> \ No newline at end of file diff --git a/src/frontend/app/visa/addVisaModel/add-visa-model-modal.component.scss b/src/frontend/app/visa/addVisaModel/add-visa-model-modal.component.scss index de22a63f264..60cea6b8505 100644 --- a/src/frontend/app/visa/addVisaModel/add-visa-model-modal.component.scss +++ b/src/frontend/app/visa/addVisaModel/add-visa-model-modal.component.scss @@ -1,8 +1,5 @@ @import '../../../css/vars.scss'; -.mat-dialog-title { - padding: 10px; -} .avatarAccount { border: solid 3px #F99830; height: 45px !important; @@ -10,12 +7,4 @@ background-size: cover; background-repeat: no-repeat; background-position: center; -} - -.modal-container{ - height: auto; -} - -.modal-body{ - min-height: auto; -} +} \ No newline at end of file diff --git a/src/frontend/app/visa/modal/visa-workflow-modal.component.html b/src/frontend/app/visa/modal/visa-workflow-modal.component.html index 312dbac3a24..14326fc1a13 100644 --- a/src/frontend/app/visa/modal/visa-workflow-modal.component.html +++ b/src/frontend/app/visa/modal/visa-workflow-modal.component.html @@ -1,4 +1,6 @@ -<h1 mat-dialog-title>{{lang.externalVisaWorkflow}}</h1> -<mat-dialog-content class="modal-container"> - <app-visa-workflow #appVisaWorkflow [adminMode]="false"></app-visa-workflow> -</mat-dialog-content> \ No newline at end of file +<div class="mat-dialog-content-container"> + <h1 mat-dialog-title>{{lang.externalVisaWorkflow}}</h1> + <mat-dialog-content> + <app-visa-workflow #appVisaWorkflow [adminMode]="false"></app-visa-workflow> + </mat-dialog-content> +</div> \ No newline at end of file diff --git a/src/frontend/app/visa/modal/visa-workflow-modal.component.scss b/src/frontend/app/visa/modal/visa-workflow-modal.component.scss index de22a63f264..60cea6b8505 100644 --- a/src/frontend/app/visa/modal/visa-workflow-modal.component.scss +++ b/src/frontend/app/visa/modal/visa-workflow-modal.component.scss @@ -1,8 +1,5 @@ @import '../../../css/vars.scss'; -.mat-dialog-title { - padding: 10px; -} .avatarAccount { border: solid 3px #F99830; height: 45px !important; @@ -10,12 +7,4 @@ background-size: cover; background-repeat: no-repeat; background-position: center; -} - -.modal-container{ - height: auto; -} - -.modal-body{ - min-height: auto; -} +} \ No newline at end of file diff --git a/src/frontend/css/maarch-material-modal.scss b/src/frontend/css/maarch-material-modal.scss index 2ead5e44a4e..db267251330 100644 --- a/src/frontend/css/maarch-material-modal.scss +++ b/src/frontend/css/maarch-material-modal.scss @@ -1,6 +1,6 @@ @import 'vars.scss'; -.mat-dialog-title { +/*.mat-dialog-title { margin: -24px !important; margin-bottom: -24px !important; margin-bottom: 0 !important; @@ -22,4 +22,126 @@ .mat-dialog-actions, .mat-dialog-title { justify-content: center; text-align: center; -} \ No newline at end of file +}*/ + + +.maarch-full-height-modal { + height: 99%; + min-height: 99%; + + .mat-dialog-title { + margin: 0; + padding: 5px; + padding-left: 10px; + background: $primary; + color: white; + display: flex; + align-items: center; + + small { + color: #F99830; + } + } + + .mat-dialog-content-container { + height: 100%; + display: flex; + flex-direction: column; + } + + .mat-dialog-content { + height: 100%; + max-height: 100% !important; + margin: 0px; + position: relative; + } + + .mat-dialog-container { + padding: 0px; + } + + .mat-dialog-actions { + margin: 0px; + padding: 0px; + justify-content: center; + } + + .divider-modal { + flex: 1 1 auto; + } +} + +.maarch-modal { + height: auto; + + .mat-dialog-title { + margin: 0; + padding: 5px; + padding-left: 10px; + background: $primary; + color: white; + display: flex; + align-items: center; + + small { + color: #F99830; + } + } + + .mat-dialog-content-container { + height: 100%; + display: flex; + flex-direction: column; + } + + .mat-dialog-content { + height: 100%; + max-height: 100% !important; + margin: 0px; + position: relative; + } + + .mat-dialog-container { + padding: 0px; + } + + .mat-dialog-actions { + margin: 0px; + padding: 0px; + justify-content: center; + } + + .divider-modal { + flex: 1 1 auto; + } +} + +.attachment-modal-container { + .mat-dialog-title { + margin: -24px !important; + margin-bottom: -24px !important; + margin-bottom: 0 !important; + background: $primary; + color: white; + padding: 5px; + + small { + color: #F99830; + } + } + + .mat-dialog-content { + padding-top: 10px !important; + position: relative; + max-height: 80vh !important; + } + + .mat-dialog-actions, .mat-dialog-title { + justify-content: center; + text-align: center; + } + + .mat-dialog-container { + padding: 0px; + } +} -- GitLab