diff --git a/src/frontend/app/adv-search/criteria-tool/criteria-tool.component.html b/src/frontend/app/adv-search/criteria-tool/criteria-tool.component.html index 8e1164200c60de8cfd828cf9f45b9b294ceca407..278c0882db2c9f1b5a53d8013721b2e4b77c0057 100755 --- a/src/frontend/app/adv-search/criteria-tool/criteria-tool.component.html +++ b/src/frontend/app/adv-search/criteria-tool/criteria-tool.component.html @@ -46,6 +46,14 @@ (keydown)="$event.stopPropagation()"> </mat-form-field> </div> + <button mat-menu-item (click)="saveSearchTemplate()" style="display: flex;align-items: center;"> + <div style="flex:1;"> + {{'lang.createSearchTemplate' | translate}} + </div> + <button mat-icon-button class="listModels-menu-delete"> + <mat-icon class="fa fa-copy" color="primary"></mat-icon> + </button> + </button> <ng-container *ngFor="let searchTemplate of searchTemplates | filterList:listFilter.value:'label'; let i=index"> <button mat-menu-item (click)="selectSearchTemplate(searchTemplate)" @@ -62,10 +70,6 @@ </button> </ng-container> </mat-menu> - <mat-icon class="far fa-copy" - style="color: white; width: 30px; text-align: center; padding-top: 2px;" - (click)="$event.stopPropagation();saveSearchTemplate()"> - </mat-icon> </mat-panel-description> </mat-expansion-panel-header> <ng-container *ngIf="!loading; else loadingTemplate"> @@ -129,9 +133,9 @@ <mat-form-field class="input-form input-date" floatLabel="never" (click)="picker.open()" style="cursor:pointer;"> <mat-date-range-input [rangePicker]="picker"> - <input matStartDate placeholder="Début" [value]="field.control.value.start" + <input matStartDate [placeholder]="'lang.start' | translate" [value]="field.control.value.start" (dateChange)="field.control.value.start=$event.value"> - <input matEndDate placeholder="Fin" [value]="field.control.value.end" + <input matEndDate [placeholder]="'lang.end' | translate" [value]="field.control.value.end" (dateChange)="field.control.value.end=$event.value"> </mat-date-range-input> <mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle> diff --git a/src/frontend/app/adv-search/criteria-tool/search-template/search-template-modal.component.html b/src/frontend/app/adv-search/criteria-tool/search-template/search-template-modal.component.html index 15ce5e73af9b64e233ec94b8bade3ae32d2c502d..621c91d0c2e5713e00aceb1c223b82dc6b2eced3 100755 --- a/src/frontend/app/adv-search/criteria-tool/search-template/search-template-modal.component.html +++ b/src/frontend/app/adv-search/criteria-tool/search-template/search-template-modal.component.html @@ -1,6 +1,9 @@ <div class="mat-dialog-content-container"> <h1 mat-dialog-title>{{'lang.searchTemplateCreation' | translate}}</h1> <mat-dialog-content> + <div class="alert-message alert-message-danger" role="alert" *ngIf="functions.empty(data.searchTemplate.query)"> + {{'lang.noDataToSave' | translate}} + </div> <form #submitForm="ngForm" (ngSubmit)="onSubmit()"> <div class="alert-message alert-message-info" role="alert" style="margin-top: 15px;">{{'lang.addSearchTemplateMsg' | translate}} </div> @@ -13,7 +16,7 @@ </mat-dialog-content> <mat-dialog-actions> <button mat-raised-button color="primary" type="submit" (click)="submitForm.ngSubmit.emit()" - [disabled]="!submitForm.form.valid">{{'lang.validate' | translate}}</button> + [disabled]="!submitForm.form.valid || functions.empty(data.searchTemplate.query)">{{'lang.validate' | translate}}</button> <button mat-raised-button color="default" type="button" (click)="dialogRef.close()">{{'lang.cancel' | translate}}</button> </mat-dialog-actions> </div> \ No newline at end of file diff --git a/src/frontend/app/adv-search/criteria-tool/search-template/search-template-modal.component.ts b/src/frontend/app/adv-search/criteria-tool/search-template/search-template-modal.component.ts index 0917006da85bbf3b89c01440ed5e141f55742a62..7eaf9c4a73c614cea0179ca3249f6501e78546d3 100644 --- a/src/frontend/app/adv-search/criteria-tool/search-template/search-template-modal.component.ts +++ b/src/frontend/app/adv-search/criteria-tool/search-template/search-template-modal.component.ts @@ -5,6 +5,7 @@ import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; import { NotificationService } from '../../../../service/notification/notification.service'; import { tap, catchError } from 'rxjs/operators'; import { of } from 'rxjs'; +import { FunctionsService } from '@service/functions.service'; @Component({ templateUrl: 'search-template-modal.component.html', @@ -17,13 +18,11 @@ export class AddSearchTemplateModalComponent { public http: HttpClient, @Inject(MAT_DIALOG_DATA) public data: any, public dialogRef: MatDialogRef<AddSearchTemplateModalComponent>, - private notify: NotificationService) { + private notify: NotificationService, + public functions: FunctionsService) { } - ngOnInit(): void { } - onSubmit() { - console.log(this.data.searchTemplate); this.http.post('../rest/searchTemplates', this.data.searchTemplate).pipe( tap((data: any) => { this.data.searchTemplate.id = data.id; diff --git a/src/lang/lang-en.json b/src/lang/lang-en.json index cd19c59f59ff86d0953ce0dd61c0d55cef8db2ba..393dd7387e7d9e05fc3aeeeca4b71f5eb3054cc3 100644 --- a/src/lang/lang-en.json +++ b/src/lang/lang-en.json @@ -2014,5 +2014,8 @@ "registeredMailRecipientSample": "MAARCH-LES-BAINS PATRICIA PETIT", "importRegisteredMails": "Import registered mail in mass", "confirmImportRegisteredMails": "Do you want to import <b>{{0}}</b> registered mail", - "columns": "columns" + "columns": "columns", + "start": "Début", + "end": "Fin", + "noDataToSave": "No data to save" } diff --git a/src/lang/lang-fr.json b/src/lang/lang-fr.json index d45bfae7695320c5a741ccf50a198db934be906d..f5e3e5cd77625fbf26b50258e12ca24d0f63310b 100644 --- a/src/lang/lang-fr.json +++ b/src/lang/lang-fr.json @@ -2023,5 +2023,9 @@ "noIssuingSitesAvailaible": "Aucun site émetteur disponible", "true": "Oui", "false": "Non", - "columns": "colonnes" + "columns": "colonnes", + "start": "Début", + "end": "Fin", + "noDataToSave": "Aucune donnée à enregistrer", + "createSearchTemplate": "Enregistrer un modèle..." }