LP1828840: Option to hide grid save settings button in angular grid
authorJane Sandberg <sandbej@linnbenton.edu>
Sun, 26 May 2019 01:46:03 +0000 (18:46 -0700)
committerBill Erickson <berickxx@gmail.com>
Tue, 16 Jul 2019 17:50:44 +0000 (13:50 -0400)
To test:

1) Apply this commit.
2) Create an eg-grid in the Angular staff client without a persistKey
attribute (or use the one in the sandbox).
3) Compile the client and open the grid in your browser.  Open the
column picker menu.  Note that the Save button does not display.
4) Add an arbitrary value to the persistKey attribute.
5) Repeat step 3.  Note that the Save button does display.
6) Change the value of the persistKey attribute to "disabled".
7) Repeat step 3.  Note that the Save button does not display.

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>

Open-ILS/src/eg2/src/app/share/grid/grid-toolbar.component.html
Open-ILS/src/eg2/src/app/share/grid/grid-toolbar.component.ts
Open-ILS/src/eg2/src/app/share/grid/grid.component.html
Open-ILS/src/eg2/src/app/share/grid/grid.component.ts

index 6be9208..be7b19c 100644 (file)
         <span class="ml-2" i18n>Manage Column Widths</span>
       </a>
       <a class="dropdown-item label-with-material-icon"
+        *ngIf="!disableSaveSettings"
         (click)="saveGridConfig()">
         <span class="material-icons">save</span>
         <span class="ml-2" i18n>Save Grid Settings</span>
index 308fdd0..fbc826c 100644 (file)
@@ -16,6 +16,7 @@ export class GridToolbarComponent implements OnInit {
     @Input() gridContext: GridContext;
     @Input() colWidthConfig: GridColumnWidthComponent;
     @Input() gridPrinter: GridPrintComponent;
+    @Input() disableSaveSettings = false;
 
     renderedGroups: {[group: string]: boolean};
 
index 4a6ae6e..20015ca 100644 (file)
@@ -4,7 +4,8 @@
   <eg-grid-toolbar
     [gridContext]="context"
     [gridPrinter]="gridPrinter"
-    [colWidthConfig]="colWidthConfig">
+    [colWidthConfig]="colWidthConfig"
+    [disableSaveSettings]="!persistKey || ('disabled' === persistKey)">
   </eg-grid-toolbar>
 
   <eg-grid-header [context]="context"></eg-grid-header>
index 2b28d2d..e4938cc 100644 (file)
@@ -42,6 +42,9 @@ export class GridComponent implements OnInit, AfterViewInit, OnDestroy {
 
     // Storage persist key / per-grid-type unique identifier
     // The value is prefixed with 'eg.grid.'
+    //
+    // If persistKey is set to "disabled", or does not exist,
+    // the grid will not display a Save button to the user
     @Input() persistKey: string;
 
     @Input() disableSelect: boolean;