From 69634b35f227d4f2fa104a9bd27ca8c5b5414026 Mon Sep 17 00:00:00 2001 From: Hyyan Abo Fakher Date: Wed, 17 Jan 2018 14:38:10 +0100 Subject: [PATCH] Resolve issue #8 - add the ability to select/deselect only filtered data --- BBjGridExWidget.bbj | 26 ++++++++++++++++++++++++-- js/BBjGridExWidget.js | 17 +++++++++++++---- 2 files changed, 37 insertions(+), 6 deletions(-) diff --git a/BBjGridExWidget.bbj b/BBjGridExWidget.bbj index 9aad98d7..12bd0327 100644 --- a/BBjGridExWidget.bbj +++ b/BBjGridExWidget.bbj @@ -167,7 +167,18 @@ class public BBjGridExWidget extends BBjWidget rem */ method public void selectAll() - script$="bbj_grid_widget_set_select_all();" + script$="bbj_grid_widget_set_select_all(0);" + #executeScript(script$) + methodend + + rem /** + rem * select all rows + rem * + rem * @param BBJNumber x!: 0 select all , 1 select all filtered + rem */ + method public void selectAll(BBjNumber x!) + + script$="bbj_grid_widget_set_select_all(" + str(x!) + ");" #executeScript(script$) methodend @@ -177,10 +188,21 @@ class public BBjGridExWidget extends BBjWidget rem */ method public void deselectAll() - script$="bbj_grid_widget_set_deselect_all();" + script$="bbj_grid_widget_set_select_all(0);" #executeScript(script$) methodend + rem /** + rem * deselect all rows + rem * + rem * @param BBJNumber x!: 0 deselect all , 1 deselect all filtered + rem */ + method public void deselectAll(BBjNumber x!) + + script$="bbj_grid_widget_set_deselect_all(" + str(x!) + ");" + #executeScript(script$) + methodend + rem /** rem * Event Handler for Native JavaScript Event (from the Grid) rem * Determines and dispatches the actual event diff --git a/js/BBjGridExWidget.js b/js/BBjGridExWidget.js index 616e74b1..fe7ee83b 100644 --- a/js/BBjGridExWidget.js +++ b/js/BBjGridExWidget.js @@ -143,12 +143,21 @@ function bbj_grid_widget_set_selected_rows(rows) { $doc.bbj_grid_widget.api.onGroupExpandedOrCollapsed() } -function bbj_grid_widget_set_select_all(){ - $doc.bbj_grid_widget.api.selectAll() +function bbj_grid_widget_set_select_all(filtered){ + if(1 === filtered) { + $doc.bbj_grid_widget.api.selectAllFiltered(); + } else { + $doc.bbj_grid_widget.api.selectAll(); + } } -function bbj_grid_widget_set_deselect_all(){ - $doc.bbj_grid_widget.api.deselectAll() +function bbj_grid_widget_set_deselect_all(filtered){ + + if(1 === filtered) { + $doc.bbj_grid_widget.api.deselectAllFiltered(); + } else { + $doc.bbj_grid_widget.api.deselectAll(); + } } function bbj_grid_widget_get_state() {