From ff3eb0d5d07a6f6989b096b11fc3d368a8a96c8a Mon Sep 17 00:00:00 2001 From: juanf <juanf> Date: Wed, 13 Dec 2017 13:30:54 +0000 Subject: [PATCH] SSDM-3250 : Piping pagination information from Grid to Sample Form SVN: 39037 --- .../js/views/DataGrid/SampleDataGridUtil.js | 18 +++++++++++++--- .../js/views/SampleForm/SampleFormView.js | 21 +++++++++++-------- .../webapps/eln-lims/html/lib/grid/js/Grid.js | 2 +- 3 files changed, 28 insertions(+), 13 deletions(-) diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataGrid/SampleDataGridUtil.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataGrid/SampleDataGridUtil.js index 3b74c35f0a4..52b50aab9f5 100644 --- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataGrid/SampleDataGridUtil.js +++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataGrid/SampleDataGridUtil.js @@ -14,9 +14,21 @@ var SampleDataGridUtil = new function() { render : function(data, grid) { var paginationInfo = null; if(isDynamic) { - paginationInfo = { - pagFunction : _this.getDataListDynamic(samplesOrCriteria, false), - pagOptions : grid.lastUsedOptions + var indexFound = null; + for(var idx = 0; idx < grid.lastReceivedData.objects.length; idx++) { + if(grid.lastReceivedData.objects[idx].permId === data.permId) { + indexFound = idx + (grid.lastUsedOptions.pageIndex * grid.lastUsedOptions.pageSize); + break; + } + } + + if(indexFound !== null) { + paginationInfo = { + pagFunction : _this.getDataListDynamic(samplesOrCriteria, false), + pagOptions : grid.lastUsedOptions, + currentIndex : indexFound, + totalCount : grid.lastReceivedData.totalCount + } } } return (isLinksDisabled)?data.identifier:FormUtil.getFormLink(data.identifier, "Sample", data.permId, paginationInfo); diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/SampleFormView.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/SampleFormView.js index e7c071f2180..6ed44188414 100644 --- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/SampleFormView.js +++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/SampleFormView.js @@ -265,16 +265,19 @@ function SampleFormView(sampleFormController, sampleFormModel) { } if(this._sampleFormModel.mode !== FormMode.CREATE && this._sampleFormModel.paginationInfo) { - var $backBtn = FormUtil.getButtonWithIcon("glyphicon-arrow-left", function () { - - }); - toolbarModel.push({ component : $backBtn, tooltip: "Go to previous Object from list" }); + if(this._sampleFormModel.paginationInfo.currentIndex > 0) { + var $backBtn = FormUtil.getButtonWithIcon("glyphicon-arrow-left", function () { + + }); + toolbarModel.push({ component : $backBtn, tooltip: "Go to previous Object from list" }); + } - var $nextBtn = FormUtil.getButtonWithIcon("glyphicon-arrow-right", function () { - - }); - toolbarModel.push({ component : $nextBtn, tooltip: "Go to next Object from list" }); - + if(this._sampleFormModel.paginationInfo.currentIndex+1 < this._sampleFormModel.paginationInfo.totalCount) { + var $nextBtn = FormUtil.getButtonWithIcon("glyphicon-arrow-right", function () { + + }); + toolbarModel.push({ component : $nextBtn, tooltip: "Go to next Object from list" }); + } } var $header = views.header; diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/grid/js/Grid.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/grid/js/Grid.js index be184f40b44..0e2c5ce124f 100644 --- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/grid/js/Grid.js +++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/grid/js/Grid.js @@ -631,7 +631,7 @@ $.extend(Grid.prototype, { if(isDynamic) { dataList = dataListResult.objects; - + thisGrid.lastReceivedData = dataListResult; if(thisGrid.onChangeState && thisGrid.tableSettings) { thisGrid.tableSettings.sort = { sortProperty : options.sortProperty, -- GitLab