From eb7a1321adf91d81a99071bea4baff2daec9ac7e Mon Sep 17 00:00:00 2001 From: Alex ORLUC <alex.orluc@maarch.org> Date: Fri, 22 Feb 2019 19:40:49 +0100 Subject: [PATCH] improve context menu actions --- .../app/actions/actions-list.component.html | 6 +++--- src/frontend/app/list/basket-list.component.html | 4 ++-- src/frontend/app/list/basket-list.component.ts | 16 +++++++++++----- 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/src/frontend/app/actions/actions-list.component.html b/src/frontend/app/actions/actions-list.component.html index 6652d7a6fae..565bcf3d075 100644 --- a/src/frontend/app/actions/actions-list.component.html +++ b/src/frontend/app/actions/actions-list.component.html @@ -6,11 +6,11 @@ [style.top]="contextMenuPosition.y"></span> <mat-menu #menu="matMenu"> - <div style="text-align: center;font-size: 10px;opacity: 0.5;margin-top:-15px;"> - <ng-container *ngIf="!contextMode || (contextMode && this.selectedRes.length > 0)"> + <div style="text-align: center;font-size: 10px;opacity: 0.5;margin-top:-15px;padding:5px;"> + <ng-container *ngIf="!contextMode || (contextMode && this.selectedRes.length > 1)"> {{selectedRes.length}} {{lang.selectedElements}} </ng-container> - <ng-container *ngIf="contextMode && this.selectedRes.length == 0"> + <ng-container *ngIf="contextMode && this.selectedRes.length == 1"> {{this.contextMenuTitle}} </ng-container> </div> diff --git a/src/frontend/app/list/basket-list.component.html b/src/frontend/app/list/basket-list.component.html index bf8fbad878f..56a41ae901d 100644 --- a/src/frontend/app/list/basket-list.component.html +++ b/src/frontend/app/list/basket-list.component.html @@ -72,11 +72,11 @@ <!-- Primary Info Line --> <div class="resultRow newRow" [class.resultRow-mobile]="mobileMode"> <div *ngIf="!mobileMode" class="checkThis"> - <mat-checkbox color="primary" [checked]="row.checked" (change)="toggleRes($event,row.res_id)" + <mat-checkbox color="primary" [checked]="row.checked" (change)="toggleRes($event,row)" (click)="$event.stopPropagation();"></mat-checkbox> </div> <div class="resultCol" [class]="data.cssClasses.join(' ')" *ngFor="let data of displayedMainData" - (click)="launchEvent();" style="cursor: pointer;"> + style="cursor: pointer;"> <span *ngIf="data.value == 'alt_identifier'"> <mat-icon [ngStyle]="{'color': row.priorityColor}" color="primary" class="{{row.statusImage.charAt(0)}}{{row.statusImage.charAt(1)}} {{row.statusImage}} {{row.statusImage.charAt(0)}}{{row.statusImage.charAt(1)}}-2x" title="{{row.statusLabel}}" style="cursor: crosshair;" (click)="$event.stopPropagation();filterThis(row.statusLabel)"></mat-icon><br /> diff --git a/src/frontend/app/list/basket-list.component.ts b/src/frontend/app/list/basket-list.component.ts index 4e5530b48ed..e9186d4acc6 100755 --- a/src/frontend/app/list/basket-list.component.ts +++ b/src/frontend/app/list/basket-list.component.ts @@ -327,14 +327,16 @@ export class BasketListComponent implements OnInit { return data; } - toggleRes(e: any, resId: any) { + toggleRes(e: any, row: any) { if (e.checked) { - if (this.selectedRes.indexOf(resId) === -1) { - this.selectedRes.push(resId); + if (this.selectedRes.indexOf(row.res_id) === -1) { + this.selectedRes.push(row.res_id); + row.checked = true; } } else { - let index = this.selectedRes.indexOf(resId); + let index = this.selectedRes.indexOf(row.res_id); this.selectedRes.splice(index, 1); + row.checked = false; } } @@ -353,7 +355,11 @@ export class BasketListComponent implements OnInit { } open({ x, y }: MouseEvent, row: any) { - + let thisSelect = { checked : true }; + let thisDeselect = { checked : false }; + row.checked = true; + this.toggleAllRes(thisDeselect); + this.toggleRes(thisSelect, row); this.actionsList.open(x, y, row) // prevents default -- GitLab