Skip to content
Snippets Groups Projects
Commit 449b8e25 authored by juanf's avatar juanf
Browse files

SSDM-3250 : Piping pagination information from Search Grid to Sample Form

SVN: 39097
parent ccadcdb6
No related branches found
No related tags found
No related merge requests found
...@@ -563,14 +563,18 @@ function AdvancedSearchView(advancedSearchController, advancedSearchModel) { ...@@ -563,14 +563,18 @@ function AdvancedSearchView(advancedSearchController, advancedSearchModel) {
} }
this._getGridForResults = function(criteria, isGlobalSearch) { this._getGridForResults = function(criteria, isGlobalSearch) {
var _this = this;
var getLinkOnClick = function(code, data) {
var getLinkOnClick = function(code, data, paginationInfo) {
if(data.entityKind !== "Sample") {
paginationInfo = null; // TODO - Only supported for samples for now
}
switch(data.entityKind) { switch(data.entityKind) {
case "Experiment": case "Experiment":
return FormUtil.getFormLink(code, data.entityKind, data.identifier); return FormUtil.getFormLink(code, data.entityKind, data.identifier, paginationInfo);
break; break;
default: default:
return FormUtil.getFormLink(code, data.entityKind, data.permId); return FormUtil.getFormLink(code, data.entityKind, data.permId, paginationInfo);
break; break;
} }
} }
...@@ -611,16 +615,54 @@ function AdvancedSearchView(advancedSearchController, advancedSearchModel) { ...@@ -611,16 +615,54 @@ function AdvancedSearchView(advancedSearchController, advancedSearchModel) {
property : 'code', property : 'code',
isExportable: true, isExportable: true,
sortable : !isGlobalSearch, sortable : !isGlobalSearch,
render : function(data) { render : function(data, grid) {
return getLinkOnClick(data.code, data); var paginationInfo = null;
if(!isGlobalSearch) {
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._advancedSearchController.searchWithPagination(_this._advancedSearchModel.criteria, false),
pagOptions : grid.lastUsedOptions,
currentIndex : indexFound,
totalCount : grid.lastReceivedData.totalCount
}
}
}
return getLinkOnClick(data.code, data, paginationInfo);
} }
}, { }, {
label : 'Identifier', label : 'Identifier',
property : 'identifier', property : 'identifier',
isExportable: true, isExportable: true,
sortable : !isGlobalSearch, sortable : !isGlobalSearch,
render : function(data) { render : function(data, grid) {
return getLinkOnClick(data.identifier, data); var paginationInfo = null;
if(!isGlobalSearch) {
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._advancedSearchController.searchWithPagination(_this._advancedSearchModel.criteria, false),
pagOptions : grid.lastUsedOptions,
currentIndex : indexFound,
totalCount : grid.lastReceivedData.totalCount
}
}
}
return getLinkOnClick(data.identifier, data, paginationInfo);
} }
}, { }, {
label : ELNDictionary.ExperimentELN + '/' + ELNDictionary.ExperimentInventory, label : ELNDictionary.ExperimentELN + '/' + ELNDictionary.ExperimentInventory,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment