diff --git a/src/frontend/app/actions/actions-list.component.ts b/src/frontend/app/actions/actions-list.component.ts index 3bef731c1d12eec88318514d3058862039d47c83..80208826c20561c94517ed27e5ac4c48d6ae35c9 100644 --- a/src/frontend/app/actions/actions-list.component.ts +++ b/src/frontend/app/actions/actions-list.component.ts @@ -33,7 +33,7 @@ export class ActionsListComponent implements OnInit { lang: any = LANG; loading: boolean = false; - @ViewChild(MatMenuTrigger, { static: true }) contextMenu: MatMenuTrigger; + @ViewChild(MatMenuTrigger, { static: false }) contextMenu: MatMenuTrigger; @Output() triggerEvent = new EventEmitter<string>(); contextMenuPosition = { x: '0px', y: '0px' }; diff --git a/src/frontend/app/administration/basket/list/list-administration.component.html b/src/frontend/app/administration/basket/list/list-administration.component.html index 38abec859e1032ccb0c175553a805ab7cb521987..98097c5248f14071f7babfd1a327235cb74644a1 100644 --- a/src/frontend/app/administration/basket/list/list-administration.component.html +++ b/src/frontend/app/administration/basket/list/list-administration.component.html @@ -6,7 +6,7 @@ </mat-option> </mat-select> </mat-form-field> -<hr/> +<hr /> <mat-toolbar class="editorTool"> <span> <button color="primary" *ngIf="displayMode=='label'" mat-icon-button (click)="toggleData()" @@ -47,52 +47,55 @@ <ng-container *ngIf="(displayedSecondaryData.length > 0 && displayMode=='sample') || displayMode=='label'"> <mat-toolbar class="secondaryInformations example-list" cdkDropListOrientation="horizontal" cdkDropList [cdkDropListData]="displayedSecondaryData" (cdkDropListDropped)="drop($event)"> - <span class="example-box" *ngFor="let item of displayedSecondaryData;let itData=index" cdkDrag> - <button *ngIf="displayMode=='label'" color="primary" mat-icon-button [matMenuTriggerFor]="menu"> - <mat-icon fontSet="fas" fontIcon="fa-ellipsis-v fa-2x"></mat-icon> - </button> - <mat-menu #menu="matMenu"> - <button mat-menu-item (click)="removeData(item,itData)"> - <mat-icon class="secondaryInformations_icon" color="warn" fontSet="fas" - fontIcon="fa-trash fa-2x"></mat-icon> - <span>{{lang.delete}}</span> - </button> - <mat-divider></mat-divider> - <button [class.isSelectedMenu]="item.cssClasses.indexOf('boldFontData') > -1" mat-menu-item - (click)="setStyle(item,'boldFontData')"> - <mat-icon class="secondaryInformations_icon" fontSet="fas" fontIcon="fa-bold fa-2x"></mat-icon> - <span>{{lang.fontBold}}</span> - </button> - <button [class.isSelectedMenu]="item.cssClasses.indexOf('align_leftData') > -1" mat-menu-item - (click)="setStyle(item,'align_leftData')"> - <mat-icon class="secondaryInformations_icon" fontSet="fas" fontIcon="fa-align-left fa-2x"> - </mat-icon> - <span>{{lang.alignLeft}}</span> - </button> - <button [class.isSelectedMenu]="item.cssClasses.indexOf('align_centerData') > -1" mat-menu-item - (click)="setStyle(item,'align_centerData')"> - <mat-icon class="secondaryInformations_icon" fontSet="fas" fontIcon="fa-align-center fa-2x"> - </mat-icon> - <span>{{lang.alignCenter}}</span> - </button> - <button [class.isSelectedMenu]="item.cssClasses.indexOf('align_rightData') > -1" mat-menu-item - (click)="setStyle(item,'align_rightData')"> - <mat-icon class="secondaryInformations_icon" fontSet="fas" fontIcon="fa-align-right fa-2x"> - </mat-icon> - <span>{{lang.alignRight}}</span> + <ng-container *ngFor="let item of displayedSecondaryData;let itData=index"> + <span class="example-box" *ngIf="item.value != 'getFolders'" cdkDrag> + <button *ngIf="displayMode=='label'" color="primary" mat-icon-button [matMenuTriggerFor]="menu"> + <mat-icon fontSet="fas" fontIcon="fa-ellipsis-v fa-2x"></mat-icon> </button> - <button [class.isSelectedMenu]="item.cssClasses.indexOf('bigFontData') > -1" mat-menu-item - (click)="setStyle(item,'bigFontData')"> - <mat-icon class="secondaryInformations_icon" fontSet="fas" fontIcon="fa-text-height fa-2x"> - </mat-icon> - <span>{{lang.fontBig}}</span> - </button> - </mat-menu> - <span style="width:100%;" [class]="item.cssClasses.join(' ')"> - <i class="fa {{item.icon}}"></i> - <span class="secondaryInformations_label" [innerHTML]="item[displayMode]"></span> + <mat-menu #menu="matMenu"> + <button mat-menu-item (click)="removeData(item,itData)"> + <mat-icon class="secondaryInformations_icon" color="warn" fontSet="fas" + fontIcon="fa-trash fa-2x"></mat-icon> + <span>{{lang.delete}}</span> + </button> + <mat-divider></mat-divider> + <button [class.isSelectedMenu]="item.cssClasses.indexOf('boldFontData') > -1" mat-menu-item + (click)="setStyle(item,'boldFontData')"> + <mat-icon class="secondaryInformations_icon" fontSet="fas" fontIcon="fa-bold fa-2x"> + </mat-icon> + <span>{{lang.fontBold}}</span> + </button> + <button [class.isSelectedMenu]="item.cssClasses.indexOf('align_leftData') > -1" mat-menu-item + (click)="setStyle(item,'align_leftData')"> + <mat-icon class="secondaryInformations_icon" fontSet="fas" fontIcon="fa-align-left fa-2x"> + </mat-icon> + <span>{{lang.alignLeft}}</span> + </button> + <button [class.isSelectedMenu]="item.cssClasses.indexOf('align_centerData') > -1" mat-menu-item + (click)="setStyle(item,'align_centerData')"> + <mat-icon class="secondaryInformations_icon" fontSet="fas" fontIcon="fa-align-center fa-2x"> + </mat-icon> + <span>{{lang.alignCenter}}</span> + </button> + <button [class.isSelectedMenu]="item.cssClasses.indexOf('align_rightData') > -1" mat-menu-item + (click)="setStyle(item,'align_rightData')"> + <mat-icon class="secondaryInformations_icon" fontSet="fas" fontIcon="fa-align-right fa-2x"> + </mat-icon> + <span>{{lang.alignRight}}</span> + </button> + <button [class.isSelectedMenu]="item.cssClasses.indexOf('bigFontData') > -1" mat-menu-item + (click)="setStyle(item,'bigFontData')"> + <mat-icon class="secondaryInformations_icon" fontSet="fas" fontIcon="fa-text-height fa-2x"> + </mat-icon> + <span>{{lang.fontBig}}</span> + </button> + </mat-menu> + <span style="width:100%;" [class]="item.cssClasses.join(' ')"> + <i class="fa {{item.icon}}"></i> + <span class="secondaryInformations_label" [innerHTML]="item[displayMode]"></span> + </span> </span> - </span> + </ng-container> </mat-toolbar> </ng-container> <div class="resultRow newRow"> @@ -124,6 +127,22 @@ </button> </mat-button-toggle-group> </div> + <div *ngFor="let item of displayedSecondaryData;let itData=index" class="folder-info"> + <ng-container *ngIf="item.value=='getFolders'"> + <button *ngIf="displayMode=='label'" color="primary" mat-icon-button [matMenuTriggerFor]="menu"> + <mat-icon fontSet="fas" fontIcon="fa-ellipsis-v fa-2x"></mat-icon> + </button> + <mat-menu #menu="matMenu"> + <button mat-menu-item (click)="removeData(item,itData)"> + <mat-icon class="secondaryInformations_icon" color="warn" fontSet="fas" fontIcon="fa-trash fa-2x"> + </mat-icon> + <span>{{lang.delete}}</span> + </button> + </mat-menu> + <span class="badge badge-folder"><i class="fa fa-folder"></i> + {{item[displayMode]}}</span> + </ng-container> + </div> </mat-card> <div class="row"> <div class="col-md-12 text-center" style="margin-top:30px;"> diff --git a/src/frontend/app/administration/basket/list/list-administration.component.scss b/src/frontend/app/administration/basket/list/list-administration.component.scss index 2dc39e35d7452b2f0b201e51d2fd4ed50b2ceaab..232dddf535df5981033beb237e0c5776ce94ba03 100644 --- a/src/frontend/app/administration/basket/list/list-administration.component.scss +++ b/src/frontend/app/administration/basket/list/list-administration.component.scss @@ -1,3 +1,5 @@ +@import '../../../../css/vars.scss'; + .availableData { margin: 10px; display: flex; @@ -223,4 +225,11 @@ .eventList { padding-top: 10px; +} + +.badge-folder { + cursor: default; + background: $primary; + margin: 5px; + font-size: 8px; } \ No newline at end of file diff --git a/src/frontend/app/administration/basket/list/list-administration.component.ts b/src/frontend/app/administration/basket/list/list-administration.component.ts index 98c6280e01cc3339d1d303ef7b34263291dc667c..c2a21cf718d08c5eb225c7aa500097866a116d6e 100644 --- a/src/frontend/app/administration/basket/list/list-administration.component.ts +++ b/src/frontend/app/administration/basket/list/list-administration.component.ts @@ -122,9 +122,10 @@ export class ListAdministrationComponent implements OnInit { }, { 'value': 'getFolders', - 'label': 'Afficher les dossiers', - 'sample': '', - 'cssClasses': ['align_leftData'] + 'label': this.lang.getFolders, + 'sample': this.lang.getFoldersSample, + 'cssClasses': ['align_leftData'], + 'icon': 'fa-folder' } ]; availableDataClone: any = []; @@ -213,7 +214,7 @@ export class ListAdministrationComponent implements OnInit { } addData(event: any) { - if (this.displayedSecondaryData.length >= 7) { + if (this.displayedSecondaryData.filter((data: any) => data.value !== 'getFolders').length >= 7 && event.option.value.value !== 'getFolders') { this.dataControl.setValue(''); alert(this.lang.warnMaxDataList); } else { @@ -300,4 +301,12 @@ export class ListAdministrationComponent implements OnInit { }); this.dataControl.setValue(''); } + + hasFolder() { + if (this.displayedSecondaryData.map((data: any) => data.value).indexOf('getFolders') > -1) { + return true + } else { + return false; + } + } } diff --git a/src/frontend/lang/lang-en.ts b/src/frontend/lang/lang-en.ts index a3f5ff382ca95765fa448853b30a93b37f119fcf..a7d8b0c31315ff001baad2c7949bdb55d4d5ecd0 100755 --- a/src/frontend/lang/lang-en.ts +++ b/src/frontend/lang/lang-en.ts @@ -1053,4 +1053,6 @@ export const LANG_EN = { "removedFromFolder" : "Mail removed from folder", "removeFromFolder" : "Remove from folder", "classifyInFolder" : "Classify this mail in a folder", + "getFolders" : "Folders (fixed postion)", + "getFoldersSample" : "Litigation", }; diff --git a/src/frontend/lang/lang-fr.ts b/src/frontend/lang/lang-fr.ts index 4f6c62653d47b903bab6e6913605afb03c14c09b..7534bb9d8c058e5b56ec8ed585af26a60050d576 100755 --- a/src/frontend/lang/lang-fr.ts +++ b/src/frontend/lang/lang-fr.ts @@ -1090,4 +1090,6 @@ export const LANG_FR = { "removedFromFolder" : "Le courrier a été retiré du dossier", "removeFromFolder" : "Retirer du dossier", "classifyInFolder" : "Placer le courrier suivant dans un dossier", + "getFolders" : "Dossiers (emplacement fixe)", + "getFoldersSample" : "Litiges", }; \ No newline at end of file diff --git a/src/frontend/lang/lang-nl.ts b/src/frontend/lang/lang-nl.ts index 62ba0739ffc40dfe774402886e0ee89760f44ca5..ccaea40c66e2665fd3134deda159204c14948921 100755 --- a/src/frontend/lang/lang-nl.ts +++ b/src/frontend/lang/lang-nl.ts @@ -1079,4 +1079,6 @@ export const LANG_NL = { "removedFromFolder" : "Mail removed from folder", //_TO_TRANSLATE "removeFromFolder" : "Remove from folder", //_TO_TRANSLATE "classifyInFolder" : "Classify this mail in a folder", //_TO_TRANSLATE + "getFolders" : "Folders (fixed postion)", //_TO_TRANSLATE + "getFoldersSample" : "Litigation", //_TO_TRANSLATE };