From 60b9d4b286be71671ef16b0b4afec165d3afbb23 Mon Sep 17 00:00:00 2001 From: nanjum30 <52948615+nanjum30@users.noreply.github.com> Date: Tue, 16 Jul 2019 17:33:27 +0500 Subject: [PATCH] Sort and Filter Model Api Exposed Sort model and Filter model api methods to user in order to save and reload datagrid to a known state at a later time. --- aggrid/groupingtable/groupingtable.js | 36 +++++++++++++++++++++++++ aggrid/groupingtable/groupingtable.spec | 17 +++++++++++- 2 files changed, 52 insertions(+), 1 deletion(-) diff --git a/aggrid/groupingtable/groupingtable.js b/aggrid/groupingtable/groupingtable.js index 12b129be..b4d6bd89 100644 --- a/aggrid/groupingtable/groupingtable.js +++ b/aggrid/groupingtable/groupingtable.js @@ -4483,6 +4483,42 @@ angular.module('aggridGroupingtable', ['webSocketModule', 'servoy']).directive(' } } + /** + * Returns the sort state of the datagrid + * @return {object} + * @public + */ + $scope.api.getSortModel = function() { + return gridOptions.api.getSortModel(); + } + + /** + * Sets the sort state of the datagrid + * @param {object} model + * @public + */ + $scope.api.setSortModel = function(model) { + gridOptions.api.setSortModel(model); + } + + /** + * Gets the current state of all the advanced filters of datagrid. Used for saving filter state. + * @return {object} + * @public + */ + $scope.api.getFilterModel = function() { + return gridOptions.api.getFilterModel(); + } + + /** + * Sets the state of all the advanced filters in datagrid. Provide it with what you get from getFilterModel() to restore filter state. + * @param {object} model + * @public + */ + $scope.api.setFilterModel = function(model) { + gridOptions.api.setFilterModel(model); + } + // FIXME how to force re-fit when table is shown for the first time // bind resize event diff --git a/aggrid/groupingtable/groupingtable.spec b/aggrid/groupingtable/groupingtable.spec index c4a6144f..690e92d7 100644 --- a/aggrid/groupingtable/groupingtable.spec +++ b/aggrid/groupingtable/groupingtable.spec @@ -196,7 +196,22 @@ "delayUntilFormLoads": true, "discardPreviouslyQueuedSimilarCalls": true }, - "scrollToSelection": {} + "scrollToSelection": { + }, + "getSortModel": { + "parameters": [], + "returns": "object" + }, + "setSortModel": { + "parameters": [{"name": "model","type": "object"}] + }, + "getFilterModel": { + "parameters": [], + "returns": "object" + }, + "setFilterModel": { + "parameters": [{"name": "model","type": "object"}] + } }, "internalApi" : { "getGroupedFoundsetUUID" : {