LP1808268 eg2 grid action disableOnRows sanity check
authorBill Erickson <berickxx@gmail.com>
Wed, 23 Jan 2019 17:09:18 +0000 (12:09 -0500)
committerBill Erickson <berickxx@gmail.com>
Wed, 23 Jan 2019 17:09:20 +0000 (12:09 -0500)
The === null test for determining if a disableOnRows handler was set was
not broad enough to capture undefined values.  This commit changes it to
a more generic if() test to cover null/undefined.  Also, instead of
creating a dummy function in the action, the testing code checks for the
presence of the function at run time.

Apply a fix to an ng-lint warning introduced by this series of commits in
the sandbox code.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Open-ILS/src/eg2/src/app/share/grid/grid-toolbar-action.component.ts
Open-ILS/src/eg2/src/app/share/grid/grid-toolbar.component.ts
Open-ILS/src/eg2/src/app/staff/sandbox/sandbox.component.ts

index 85211e6..0a33376 100644 (file)
@@ -31,9 +31,7 @@ export class GridToolbarActionComponent implements OnInit {
         const action = new GridToolbarAction();
         action.label = this.label;
         action.action = this.action;
-
-        action.disableOnRows = (this.disableOnRows === null) ?
-            (rows: any[]) => false : this.disableOnRows;
+        action.disableOnRows = this.disableOnRows;
 
         this.grid.context.toolbarActions.push(action);
     }
index 93df402..399a4c7 100644 (file)
@@ -42,7 +42,10 @@ export class GridToolbarComponent implements OnInit {
     }
 
     shouldDisableAction(action: GridToolbarAction) {
-        return action.disableOnRows(this.gridContext.getSelectedRows());
+        if (action.disableOnRows) {
+            return action.disableOnRows(this.gridContext.getSelectedRows());
+        }
+        return false;
     }
 
     printHtml() {
index 0389521..9760599 100644 (file)
@@ -113,7 +113,7 @@ export class SandboxComponent implements OnInit {
         };
 
         this.complimentEvergreen = (rows: IdlObject[]) => alert('Evergreen is great!');
-        this.notOneSelectedRow = (rows: IdlObject[]) => (rows.length != 1);
+        this.notOneSelectedRow = (rows: IdlObject[]) => (rows.length !== 1);
 
     }