diff --git a/src/frontend/app/administration/list/list-administration.component.ts b/src/frontend/app/administration/list/list-administration.component.ts index 7f7891c9a08d6c391871cffb06d08fd42d1525cd..f355123e047c7ea9ff09d0850708f714caf3bcd6 100644 --- a/src/frontend/app/administration/list/list-administration.component.ts +++ b/src/frontend/app/administration/list/list-administration.component.ts @@ -251,9 +251,17 @@ export class ListAdministrationComponent implements OnInit { if (event.previousContainer === event.container) { moveItemInArray(event.container.data, event.previousIndex, event.currentIndex); } else { - const fakeIndex = $j('.available-data .columns')[event.previousIndex].id; - const realIndex = this.dataAvailable.map((dataAv: any) => (dataAv.value)).indexOf(fakeIndex); - + let realIndex = event.previousIndex; + + if (event.container.id == 'cdk-drop-list-1') { + realIndex = 0 + if ($j('.available-data .columns')[event.previousIndex] !== undefined) { + const fakeIndex = $j('.available-data .columns')[event.previousIndex].id; + realIndex = this.dataAvailable.map((dataAv: any) => (dataAv.value)).indexOf(fakeIndex); + } + } + + transferArrayItem(event.previousContainer.data, event.container.data, realIndex, @@ -293,7 +301,11 @@ export class ListAdministrationComponent implements OnInit { }); transferArrayItem(this.dataAvailable, this.exportModel.data, realIndex, this.exportModel.data.length); + const curFilter = this.listFilter.nativeElement.value; this.listFilter.nativeElement.value = ''; + setTimeout(() => { + this.listFilter.nativeElement.value = curFilter; + }, 10); } removeData(i: number) { diff --git a/src/frontend/app/list/filters/filters-tool.component.ts b/src/frontend/app/list/filters/filters-tool.component.ts index 5c6fed82114f5c41031d0be3849836a2ebe4d82d..fee93452a7cb5aa6d25fa183ff41c61ef1b7e47d 100644 --- a/src/frontend/app/list/filters/filters-tool.component.ts +++ b/src/frontend/app/list/filters/filters-tool.component.ts @@ -286,7 +286,7 @@ export class FiltersToolComponent implements OnInit { openSummarySheet(): void { this.dialog.open(SummarySheetComponent, { - autoFocus: false, + panelClass: 'summary-sheet-dialog', width: '800px', data: { ownerId: this.currentBasketInfo.ownerId, diff --git a/src/frontend/app/list/summarySheet/summary-sheet.component.html b/src/frontend/app/list/summarySheet/summary-sheet.component.html index 69747cb5267ea0d28079a11e813695b47a190bc7..f6e5e05cd1b36e7279ca03a1147aaf9169c6df8f 100644 --- a/src/frontend/app/list/summarySheet/summary-sheet.component.html +++ b/src/frontend/app/list/summarySheet/summary-sheet.component.html @@ -4,7 +4,12 @@ </div> <div class="row header"> <div class="col-md-4 text-left" [class.disabled]="!withQrcode"> - <mat-slide-toggle [(ngModel)]="withQrcode" color="primary">res_id (QrCode)</mat-slide-toggle> + <mat-button-toggle-group style="position: absolute;top:-9px;left: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> + <!--<mat-slide-toggle [(ngModel)]="withQrcode" color="primary">res_id (QrCode)</mat-slide-toggle>--> </div> <div class="col-md-4 text-center"> {{lang.summarySheet}} - {{lang.chronoNumber}} @@ -24,8 +29,14 @@ (cdkDropListDropped)="drop($event)"> <ng-container *ngFor="let item of dataAvailable"> <div class="columns" [class.disabled]="!item.enabled" *ngIf="item.unit !== 'qrcode'" cdkDrag id="{{item.unit}}" - style="position: relative;"> - <div class="unitTitle"> + style="position: relative;" (click)="item.enabled = !item.enabled"> + <div class="unitTitle" cdkDragHandle> + <div class="handleDrag"> + <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> {{item.label}} </div> <div class="row" class="unitData"> @@ -33,7 +44,7 @@ {{itemData}} </div> </div> - <mat-slide-toggle [(ngModel)]="item.enabled" color="primary" class="unitToggle"></mat-slide-toggle> + <mat-slide-toggle [(ngModel)]="item.enabled" color="primary" class="unitToggle"></mat-slide-toggle> </div> </ng-container> </div> diff --git a/src/frontend/app/list/summarySheet/summary-sheet.component.scss b/src/frontend/app/list/summarySheet/summary-sheet.component.scss index 42d864004f37c4d7c660037db1921d8e9e523b68..53fdc14bc495796c7c5866dc2e162519bfa15a99 100644 --- a/src/frontend/app/list/summarySheet/summary-sheet.component.scss +++ b/src/frontend/app/list/summarySheet/summary-sheet.component.scss @@ -1,7 +1,9 @@ -::ng-deep.mat-dialog-container { - position: relative; - height: 99vh !important; - padding-top: 0px; +.summary-sheet-dialog { + .mat-dialog-container { + position: relative; + height: 99vh !important; + padding-top: 0px; + } } .mat-dialog-content { @@ -34,12 +36,15 @@ } .unitTitle { + display: flex; + cursor: move; position: absolute; - top: 0; + top: 5px; + left: 5px; } .unitData { - padding-top: 20px; + margin-top: 20px; width: 100%; opacity: 0.5; } @@ -72,7 +77,7 @@ align-items: center; justify-content: space-between; box-sizing: border-box; - cursor: move; + cursor: pointer; background: white; font-size: 14px; } @@ -120,4 +125,23 @@ .disabled { opacity: 0.5; +} + +.qrcode { + .mat-button-toggle-label-content { + padding-left: 7px; + line-height: 40px; + } +} + +.qrcode.mat-button-toggle-checked.mat-button-toggle-appearance-standard { + background-color: #135f7f; + color: white; +} + +.handleDrag { + padding-right: 5px; + cursor: move; + display:inline-block; + opacity: 0.5; } \ No newline at end of file diff --git a/src/frontend/app/list/summarySheet/summary-sheet.component.ts b/src/frontend/app/list/summarySheet/summary-sheet.component.ts index 57a38cf1b5ee727991bd36398df822229f35409d..e0f8355a94358ab41b6928a984bdd2726f0eed96 100644 --- a/src/frontend/app/list/summarySheet/summary-sheet.component.ts +++ b/src/frontend/app/list/summarySheet/summary-sheet.component.ts @@ -1,4 +1,4 @@ -import { Component, OnInit, Inject } from '@angular/core'; +import { Component, OnInit, Inject, ViewEncapsulation } from '@angular/core'; import { HttpClient } from '@angular/common/http'; import { LANG } from '../../translate.component'; import { NotificationService } from '../../notification.service'; @@ -11,6 +11,7 @@ declare function $j(selector: any): any; templateUrl: "summary-sheet.component.html", styleUrls: ['summary-sheet.component.scss'], providers: [NotificationService], + encapsulation: ViewEncapsulation.None }) export class SummarySheetComponent implements OnInit { @@ -23,7 +24,7 @@ export class SummarySheetComponent implements OnInit { { unit: 'primaryInformations', label: this.lang.primaryInformations, - css: 'col-md-6 text-center', + css: 'col-md-6 text-left', desc: [ this.lang.mailDate, this.lang.arrivalDate, @@ -37,17 +38,17 @@ export class SummarySheetComponent implements OnInit { { unit: 'senderRecipientInformations', label: this.lang.senderRecipientInformations, - css: 'col-md-6 text-center', + css: 'col-md-6 text-left', desc: [ - this.lang.sender, - this.lang.recipient + this.lang.senders, + this.lang.recipients ], enabled: true }, { unit: 'secondaryInformations', label: this.lang.secondaryInformations, - css: 'col-md-6 text-center', + css: 'col-md-6 text-left', desc: [ this.lang.category_id, this.lang.status, @@ -59,7 +60,7 @@ export class SummarySheetComponent implements OnInit { { unit: 'diffusionList', label: this.lang.diffusionList, - css: 'col-md-6 text-center', + css: 'col-md-6 text-left', desc: [ this.lang.dest_user, this.lang.copyUsersEntities @@ -71,7 +72,7 @@ export class SummarySheetComponent implements OnInit { label: this.lang.avis, css: 'col-md-4 text-center', desc: [ - this.lang.firstname + ' ' + this.lang.lastname + '('+ this.lang.destinationEntity +')', + this.lang.firstname + ' ' + this.lang.lastname + ' ('+ this.lang.destinationEntity +')', this.lang.role, this.lang.processDate ], @@ -79,10 +80,10 @@ export class SummarySheetComponent implements OnInit { }, { unit: 'visaWorkflow', - label: this.lang.visa, + label: this.lang.visaWorkflow, css: 'col-md-4 text-center', desc: [ - this.lang.firstname + ' ' + this.lang.lastname + '('+ this.lang.destinationEntity +')', + this.lang.firstname + ' ' + this.lang.lastname + ' ('+ this.lang.destinationEntity +')', this.lang.role, this.lang.processDate ], @@ -102,7 +103,7 @@ export class SummarySheetComponent implements OnInit { { unit: 'freeField', label: this.lang.comments, - css: 'col-md-12 text-center', + css: 'col-md-12 text-left', desc: [ this.lang.freeNote ], @@ -112,9 +113,7 @@ export class SummarySheetComponent implements OnInit { constructor(public http: HttpClient, private notify: NotificationService, @Inject(MAT_DIALOG_DATA) public data: any) { } - ngOnInit(): void { - //TO DO GET PARAM SUMMARY SHEET - } + ngOnInit(): void { } drop(event: CdkDragDrop<string[]>) { if (event.previousContainer === event.container) { @@ -153,4 +152,8 @@ export class SummarySheetComponent implements OnInit { this.notify.handleErrors(err); }); } + + toggleQrcode() { + this.withQrcode = !this.withQrcode; + } } diff --git a/src/frontend/lang/lang-en.ts b/src/frontend/lang/lang-en.ts index 9f092bf5944a5cb964702e3375ed914dc6ed29ca..d5a13d338dc4c5837ea181f044f23f889070304b 100755 --- a/src/frontend/lang/lang-en.ts +++ b/src/frontend/lang/lang-en.ts @@ -764,7 +764,9 @@ export const LANG_EN = { "destinationEntity" : "Destination entity name", "destinationEntityType" : "Destination entity type", "sender" : "Sender", + "senders" : "Sender(s)", "recipient" : "Recipient", + "recipients" : "Recipient(s)", "typist" : "Typist", "signatureDate" : "Signature date", "comment" : "Comment", @@ -791,4 +793,5 @@ export const LANG_EN = { "processDate" : "Process date", "content" : "Content", "freeNote" : "Free note", + "toggleQrcode" : "Display / Hide mail identifier (qrcode)", }; diff --git a/src/frontend/lang/lang-fr.ts b/src/frontend/lang/lang-fr.ts index 3806b206654df5a909b4dcac36aa140c2b6b8a00..c34bde5c230bb82ce0f55a1e7db2881b1ab58a78 100755 --- a/src/frontend/lang/lang-fr.ts +++ b/src/frontend/lang/lang-fr.ts @@ -341,7 +341,7 @@ export const LANG_FR = { "noRecord" : "Aucun élément", "noReplacement" : "Aucun remplacement", "noResult" : "Aucun résultat", - "notes" : "Annotations", + "notes" : "Annotation(s)", "notificationAdded" : "Notification ajoutée", "notificationCreation" : "Création d'une notification", "notificationDeleted" : "Notification supprimée", @@ -658,7 +658,7 @@ export const LANG_FR = { "close" : "Fermer", "contactGroupCreate" : "Créer un groupement de contact", "contactLink" : "Associer un contact", - "incoming" : "Courrier arrivé", + "incoming" : "Courrier arrivée", "outgoing" : "Courrier départ", "internal" : "Courrier interne", "menu" : "Menu", @@ -790,7 +790,9 @@ export const LANG_FR = { "destinationEntity" : "Libellé de l'entité traitante", "destinationEntityType" : "Libellé de l'entité traitante", "sender" : "Expéditeur", + "senders" : "Expéditeur(s)", "recipient" : "Destinataire", + "recipients" : "Destinataire(s)", "typist" : "Rédacteur", "signatureDate" : "Date de signature", "comment" : "Commentaire", @@ -817,4 +819,5 @@ export const LANG_FR = { "processDate" : "Date de traitement", "content" : "Contenu", "freeNote" : "Note libre", + "toggleQrcode" : "Afficher / cacher l'identifiant courrier (qrcode)", }; diff --git a/src/frontend/lang/lang-nl.ts b/src/frontend/lang/lang-nl.ts index cf2e020c496fe10b39e63f2e5c6a9c5cdce10856..0676b02a5f625898849f4a42917ff76e9a07a4d1 100755 --- a/src/frontend/lang/lang-nl.ts +++ b/src/frontend/lang/lang-nl.ts @@ -793,7 +793,9 @@ export const LANG_NL = { "destinationEntity" : "_TO_TRANSLATE", "destinationEntityType" : "_TO_TRANSLATE", "sender" : "_TO_TRANSLATE", + "senders" : "_TO_TRANSLATE", "recipient" : "_TO_TRANSLATE", + "recipients" : "_TO_TRANSLATE", "typist" : "_TO_TRANSLATE", "signatureDate" : "_TO_TRANSLATE", "comment" : "_TO_TRANSLATE", @@ -820,4 +822,5 @@ export const LANG_NL = { "processDate" : "_TO_TRANSLATE", "content" : "_TO_TRANSLATE", "freeNote" : "_TO_TRANSLATE", + "toggleQrcode" : "_TO_TRANSLATE", };