LP1808268: Add [disable] option to <eg-grid-toolbar-action> in eg2
[Evergreen.git] / Open-ILS / src / eg2 / src / app / share / grid / grid-toolbar-action.component.ts
index 593530a..6b6114f 100644 (file)
@@ -13,6 +13,11 @@ export class GridToolbarActionComponent implements OnInit {
     @Input() label: string;
     @Input() action: (rows: any[]) => any;
 
     @Input() label: string;
     @Input() action: (rows: any[]) => any;
 
+    // Optional: add a function that returns true or false.
+    // If true, this action will be disabled; if false
+    // (default behavior), the action will be enabled.
+    @Input() disabled: (rows: any[]) => boolean;
+
     // get a reference to our container grid.
     constructor(@Host() private grid: GridComponent) {}
 
     // get a reference to our container grid.
     constructor(@Host() private grid: GridComponent) {}
 
@@ -27,7 +32,9 @@ export class GridToolbarActionComponent implements OnInit {
         action.label = this.label;
         action.action = this.action;
 
         action.label = this.label;
         action.action = this.action;
 
+        action.disabled = (this.disabled == null) ? (rows: any[]) => false : this.disabled;
+
+
         this.grid.context.toolbarActions.push(action);
     }
 }
         this.grid.context.toolbarActions.push(action);
     }
 }
-