From 743c61d68046d099dd831856020441e9ed26033d Mon Sep 17 00:00:00 2001 From: Alex ORLUC <alex.orluc@maarch.org> Date: Wed, 30 Jan 2019 15:40:39 +0100 Subject: [PATCH] FEAT #9062 add var lang --- .../list/filters/filters-tool.component.ts | 43 +++--- .../summarySheet/summary-sheet.component.html | 40 +++--- .../summarySheet/summary-sheet.component.scss | 36 +++++ .../summarySheet/summary-sheet.component.ts | 136 +++++++++++------- src/frontend/lang/lang-en.ts | 16 ++- src/frontend/lang/lang-fr.ts | 14 ++ src/frontend/lang/lang-nl.ts | 14 ++ 7 files changed, 207 insertions(+), 92 deletions(-) diff --git a/src/frontend/app/list/filters/filters-tool.component.ts b/src/frontend/app/list/filters/filters-tool.component.ts index 615b1e9be7f..5c6fed82114 100644 --- a/src/frontend/app/list/filters/filters-tool.component.ts +++ b/src/frontend/app/list/filters/filters-tool.component.ts @@ -76,7 +76,7 @@ export class FiltersToolComponent implements OnInit { if (typeof value === 'string') { const filterValue = value.toLowerCase(); - + return opt.filter(item => this.latinisePipe.transform(item['label'].toLowerCase()).indexOf(this.latinisePipe.transform(filterValue)) != -1); } }; @@ -198,7 +198,7 @@ export class FiltersToolComponent implements OnInit { { id: 'categories', value: element.id, - label: (element.id !== null ? element.label : this.lang.undefined) , + label: (element.id !== null ? element.label : this.lang.undefined), count: element.count } ) @@ -210,7 +210,7 @@ export class FiltersToolComponent implements OnInit { { id: 'priorities', value: element.id, - label: (element.id !== null ? element.label : this.lang.undefined) , + label: (element.id !== null ? element.label : this.lang.undefined), count: element.count } ) @@ -222,7 +222,7 @@ export class FiltersToolComponent implements OnInit { { id: 'statuses', value: element.id, - label: (element.id !== null ? element.label : this.lang.undefined) , + label: (element.id !== null ? element.label : this.lang.undefined), count: element.count } ) @@ -236,7 +236,7 @@ export class FiltersToolComponent implements OnInit { { id: 'entities', value: element.entityId, - label: (element.id !== null ? element.label : this.lang.undefined) , + label: (element.id !== null ? element.label : this.lang.undefined), count: element.count } ) @@ -250,7 +250,7 @@ export class FiltersToolComponent implements OnInit { { id: 'subEntities', value: element.entityId, - label: (element.id !== null ? element.label : this.lang.undefined) , + label: (element.id !== null ? element.label : this.lang.undefined), count: element.count } ) @@ -262,7 +262,7 @@ export class FiltersToolComponent implements OnInit { this.stateForm.controls['stateGroup'].setValue(this.metaSearchInput); this.metaSearchInput = ''; }, 200); - } + } }); this.stateGroupOptions = this.stateForm.get('stateGroup')!.valueChanges @@ -274,25 +274,26 @@ export class FiltersToolComponent implements OnInit { openListAdmin(): void { this.dialog.open(ListAdministrationComponent, { - width: '800px', - data: { - ownerId : this.currentBasketInfo.ownerId, - groupId : this.currentBasketInfo.groupId, - basketId : this.currentBasketInfo.basketId, - filters : this.filtersListService.getUrlFilters() - } + width: '800px', + data: { + ownerId: this.currentBasketInfo.ownerId, + groupId: this.currentBasketInfo.groupId, + basketId: this.currentBasketInfo.basketId, + filters: this.filtersListService.getUrlFilters() + } }); } openSummarySheet(): void { this.dialog.open(SummarySheetComponent, { - width: '800px', - data: { - ownerId : this.currentBasketInfo.ownerId, - groupId : this.currentBasketInfo.groupId, - basketId : this.currentBasketInfo.basketId, - filters : this.filtersListService.getUrlFilters() - } + autoFocus: false, + width: '800px', + data: { + ownerId: this.currentBasketInfo.ownerId, + groupId: this.currentBasketInfo.groupId, + basketId: this.currentBasketInfo.basketId, + filters: this.filtersListService.getUrlFilters() + } }); } } diff --git a/src/frontend/app/list/summarySheet/summary-sheet.component.html b/src/frontend/app/list/summarySheet/summary-sheet.component.html index 3e7f398b480..69747cb5267 100644 --- a/src/frontend/app/list/summarySheet/summary-sheet.component.html +++ b/src/frontend/app/list/summarySheet/summary-sheet.component.html @@ -1,21 +1,21 @@ -<div mat-dialog-content> +<div mat-dialog-content class="summarySheet"> <div *ngIf="loading" class="loader"> <mat-spinner></mat-spinner> </div> - <div class="row" style="font-size:10px;padding: 10px;"> - <div class="col-md-4" style="text-align: left;"> - QrCode + <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> </div> - <div class="col-md-4" style="text-align: center;"> - Fiche de liaison <br/> Numéro chrono + <div class="col-md-4 text-center"> + {{lang.summarySheet}} - {{lang.chronoNumber}} </div> - <div class="col-md-4" style="text-align: right;"> - Nom de l'application / Date d'impression + <div class="col-md-4 text-right"> + {{lang.appName}} / {{lang.printDate}} </div> </div> - <div class="row" style="text-align: center;font-weight: bold;font-size: 24px;padding: 10px;"> - <div class="col-md-12" style="border: solid 1px black;"> - Objet + <div class="row"> + <div class="col-md-12 title"> + {{lang.object}} </div> </div> <div class="row"> @@ -23,27 +23,25 @@ <div cdkDropList #dataAvailableList="cdkDropList" [cdkDropListData]="dataAvailable" class="cdk-list" (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 style="position: absolute;top: 0;"> + <div class="columns" [class.disabled]="!item.enabled" *ngIf="item.unit !== 'qrcode'" cdkDrag id="{{item.unit}}" + style="position: relative;"> + <div class="unitTitle"> {{item.label}} </div> - <div class="row" style="padding-top: 20px;width: 100%;opacity:0.5;"> + <div class="row" class="unitData"> <div class="{{item.css}}" *ngFor="let itemData of item.desc"> {{itemData}} </div> </div> - <mat-slide-toggle [(ngModel)]="item.enabled" color="primary" style="position: absolute;right:10px;"></mat-slide-toggle> - - </div> - </ng-container> + <mat-slide-toggle [(ngModel)]="item.enabled" color="primary" class="unitToggle"></mat-slide-toggle> + </div> + </ng-container> </div> </div> </div> </div> <div mat-dialog-actions class="actions"> - <button mat-raised-button mat-button color="primary" (click)="genSummarySheets();">Générer les fiches de liaisons</button> + <button mat-raised-button mat-button color="primary" (click)="genSummarySheets();">{{lang.genSummarySheets}}</button> <button mat-raised-button mat-button [mat-dialog-close]="">{{lang.cancel}}</button> </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 e4f2eb72632..42d864004f3 100644 --- a/src/frontend/app/list/summarySheet/summary-sheet.component.scss +++ b/src/frontend/app/list/summarySheet/summary-sheet.component.scss @@ -14,6 +14,42 @@ padding-bottom: 50px; } +::ng-deep.mat-slide-toggle-content { + color: rgba(0, 0, 0, 0.87); +} + +.summarySheet { + .header { + font-size: 10px; + padding: 10px; + } + + .title { + text-align: center; + font-weight: bold; + font-size: 24px; + margin-top: 10px; + margin-bottom: 10px; + border: solid 1px black; + } + + .unitTitle { + position: absolute; + top: 0; + } + + .unitData { + padding-top: 20px; + width: 100%; + opacity: 0.5; + } + + .unitToggle { + position: absolute; + right: 10px; + } +} + .cdk-list { width: 100%; max-width: 100%; diff --git a/src/frontend/app/list/summarySheet/summary-sheet.component.ts b/src/frontend/app/list/summarySheet/summary-sheet.component.ts index af38e2319b5..d7043f09f0f 100644 --- a/src/frontend/app/list/summarySheet/summary-sheet.component.ts +++ b/src/frontend/app/list/summarySheet/summary-sheet.component.ts @@ -1,85 +1,119 @@ -import { Component, OnInit, ViewChild, Inject } 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} from '@angular/material'; +import { MAT_DIALOG_DATA } from '@angular/material'; declare function $j(selector: any): any; @Component({ - templateUrl : "summary-sheet.component.html", - styleUrls : ['summary-sheet.component.scss'], - providers : [NotificationService], + templateUrl: "summary-sheet.component.html", + styleUrls: ['summary-sheet.component.scss'], + providers: [NotificationService], }) export class SummarySheetComponent implements OnInit { - lang : any = LANG; - loading : boolean = false; + lang: any = LANG; + loading: boolean = false; - dataAvailable : any[] = [ + withQrcode: boolean = true; + + dataAvailable: any[] = [ { - unit : 'primaryInformations', - label : 'Informations pricipales', + unit: 'primaryInformations', + label: this.lang.primaryInformations, css: 'col-md-6 text-center', - desc : ['Date du courrier','Date d\'arrivée','Nature', 'Crée le', 'Type de document', 'Opérateur'], - enabled : true + desc: [ + this.lang.mailDate, + this.lang.arrivalDate, + this.lang.nature, + this.lang.creation_date, + this.lang.mailType, + this.lang.initiator + ], + enabled: true }, { - unit : 'senderRecipientInformations', - label : 'Informations de destination', + unit: 'senderRecipientInformations', + label: this.lang.senderRecipientInformations, css: 'col-md-6 text-center', - desc : ['Expéditeur','Destinataire'], - enabled : true + desc: [ + this.lang.sender, + this.lang.recipient + ], + enabled: true }, { - unit : 'secondaryInformations', - label : 'Informations secondaires', + unit: 'secondaryInformations', + label: this.lang.secondaryInformations, css: 'col-md-6 text-center', - desc : ['Catégorie','Statut','Priorité', 'Date limite de traitement'], - enabled : true + desc: [ + this.lang.category_id, + this.lang.status, + this.lang.priority, + this.lang.processLimitDate + ], + enabled: true }, { - unit : 'diffusionList', - label : 'Liste de diffusion', - css: 'col-md-12 text-center', - desc : ['Attributaire','En copie(s)'], - enabled : true + unit: 'diffusionList', + label: this.data.lang.diffusionList, + css: 'col-md-6 text-center', + desc: [ + this.lang.dest_user, + this.lang.copyUsersEntities + ], + enabled: true }, { - unit : 'avisWorkflow', - label : 'Circuit d\'avis', + unit: 'avisWorkflow', + label: this.lang.avis, css: 'col-md-4 text-center', - desc : ['Prénom Nom (entité traitante)','Rôle', 'Date de traitement'], - enabled : true + desc: [ + this.lang.firstname + ' ' + this.lang.lastname + '('+ this.lang.destinationEntity +')', + this.lang.role, + this.lang.processDate + ], + enabled: true }, { - unit : 'visaWorkflow', - label : 'Circuit de visa', + unit: 'visaWorkflow', + label: this.lang.visa, css: 'col-md-4 text-center', - desc : ['Prénom Nom (entité traitante)','Rôle', 'Date de traitement'], - enabled : true + desc: [ + this.lang.firstname + ' ' + this.lang.lastname + '('+ this.lang.destinationEntity +')', + this.lang.role, + this.lang.processDate + ], + enabled: true }, { - unit : 'notes', - label : 'Annotations', + unit: 'notes', + label: this.lang.notes, css: 'col-md-4 text-center', - desc : ['Prénom Nom','Date de création','Contenu'], - enabled : true + desc: [ + this.lang.firstname + ' ' + this.lang.lastname, + this.lang.creation_date, + this.lang.content + ], + enabled: true }, { - unit : 'freeField', - label : 'Commentaire(s)', + unit: 'freeField', + label: this.lang.comments, css: 'col-md-12 text-center', - desc : ['Note libre'], - enabled : true + desc: [ + this.lang.freeNote + ], + enabled: true } ]; constructor(public http: HttpClient, private notify: NotificationService, @Inject(MAT_DIALOG_DATA) public data: any) { } ngOnInit(): void { - //TO DO GET PARAM SUMMARY SHEET + //TO DO GET PARAM SUMMARY SHEET } drop(event: CdkDragDrop<string[]>) { @@ -90,19 +124,23 @@ export class SummarySheetComponent implements OnInit { genSummarySheets() { this.loading = true; - let currElemData: any[] = [{ - unit : 'qrcode', - label : '', - }]; + let currElemData: any[] = []; + + if (this.withQrcode) { + currElemData.push({ + unit: 'qrcode', + label: '', + }); + } this.dataAvailable.forEach((element: any) => { if (element.enabled) { currElemData.push({ - unit : element.unit, - label : element.label, + unit: element.unit, + label: element.label, }); } }); - this.http.get('../../rest/resourcesList/users/' + this.data.ownerId + '/groups/' + this.data.groupId + '/baskets/' + this.data.basketId + '/summarySheets?units=' + btoa(JSON.stringify(currElemData)) + '&init' + this.data.filters, {responseType: "blob"}) + this.http.get('../../rest/resourcesList/users/' + this.data.ownerId + '/groups/' + this.data.groupId + '/baskets/' + this.data.basketId + '/summarySheets?units=' + btoa(JSON.stringify(currElemData)) + '&init' + this.data.filters, { responseType: "blob" }) .subscribe((data) => { let downloadLink = document.createElement('a'); downloadLink.href = window.URL.createObjectURL(data); diff --git a/src/frontend/lang/lang-en.ts b/src/frontend/lang/lang-en.ts index 4c5f70c4002..9f092bf5944 100755 --- a/src/frontend/lang/lang-en.ts +++ b/src/frontend/lang/lang-en.ts @@ -767,7 +767,8 @@ export const LANG_EN = { "recipient" : "Recipient", "typist" : "Typist", "signatureDate" : "Signature date", - "comment" : "Comments", + "comment" : "Comment", + "comments" : "Comments", "delimiter" : "Delimiter", "datasToExport" : "Datas to export", "searchDatas" : "Search datas", @@ -777,4 +778,17 @@ export const LANG_EN = { "chosenDatas" : "Chosen data(s)", "removeAllDatas" : "Remove all datas", "toExport" : "Export", + "summarySheet" : "Summary sheet", + "appName" : "Application name", + "printDate" : "Print date", + "genSummarySheets" : "Generate Summary sheets", + "mailDate" : "Mail date", + "mailType" : "Mail type", + "initiator" : "Initiator", + "primaryInformations" : "Primary informations", + "secondaryInformations" : "Secondary informations", + "senderRecipientInformations" : "Sender / Recipient informations", + "processDate" : "Process date", + "content" : "Content", + "freeNote" : "Free note", }; diff --git a/src/frontend/lang/lang-fr.ts b/src/frontend/lang/lang-fr.ts index d9486e85286..3806b206654 100755 --- a/src/frontend/lang/lang-fr.ts +++ b/src/frontend/lang/lang-fr.ts @@ -794,6 +794,7 @@ export const LANG_FR = { "typist" : "Rédacteur", "signatureDate" : "Date de signature", "comment" : "Commentaire", + "comments" : "Commentaires", "delimiter" : "Délimiteur", "datasToExport" : "Données à exporter", "searchDatas" : "Rechercher une donnée", @@ -803,4 +804,17 @@ export const LANG_FR = { "chosenDatas" : "Donnée(s) sélectionnée(s)", "removeAllDatas" : "Enlever toutes les données", "toExport" : "Exporter", + "summarySheet" : "Fiche de liaison", + "appName" : "Nom de l'application", + "printDate" : "Date d'impression", + "genSummarySheets" : "Générer les fiches de liaisons", + "mailDate" : "Date du courrier", + "mailType" : "Type de courrier", + "initiator" : "Opérateur", + "primaryInformations" : "Informations pricipales", + "secondaryInformations" : "Informations secondaires", + "senderRecipientInformations" : "Informations de destination", + "processDate" : "Date de traitement", + "content" : "Contenu", + "freeNote" : "Note libre", }; diff --git a/src/frontend/lang/lang-nl.ts b/src/frontend/lang/lang-nl.ts index 2d3ce1854fa..cf2e020c496 100755 --- a/src/frontend/lang/lang-nl.ts +++ b/src/frontend/lang/lang-nl.ts @@ -797,6 +797,7 @@ export const LANG_NL = { "typist" : "_TO_TRANSLATE", "signatureDate" : "_TO_TRANSLATE", "comment" : "_TO_TRANSLATE", + "comments" : "_TO_TRANSLATE", "delimiter" : "_TO_TRANSLATE", "datasToExport" : "_TO_TRANSLATE", "searchDatas" : "_TO_TRANSLATE", @@ -806,4 +807,17 @@ export const LANG_NL = { "chosenDatas" : "_TO_TRANSLATE", "removeAllDatas" : "_TO_TRANSLATE", "toExport" : "_TO_TRANSLATE", + "summarySheet" : "_TO_TRANSLATE", + "appName" : "_TO_TRANSLATE", + "printDate" : "_TO_TRANSLATE", + "genSummarySheets" : "_TO_TRANSLATE", + "mailDate" : "_TO_TRANSLATE", + "mailType" : "_TO_TRANSLATE", + "initiator" : "_TO_TRANSLATE", + "primaryInformations" : "_TO_TRANSLATE", + "secondaryInformations" : "_TO_TRANSLATE", + "senderRecipientInformations" : "_TO_TRANSLATE", + "processDate" : "_TO_TRANSLATE", + "content" : "_TO_TRANSLATE", + "freeNote" : "_TO_TRANSLATE", }; -- GitLab