From fa11863c1268a89f5d0308babc4f13c38c8835ed Mon Sep 17 00:00:00 2001 From: juanf <juanf> Date: Fri, 22 Sep 2017 11:45:18 +0000 Subject: [PATCH] SSDM-4223 : Jupyter integration, view dataset parents codes on the dataset form SVN: 38754 --- .../html/js/controllers/MainController.js | 102 +++++++++++------- .../js/views/DataSetForm/DataSetFormView.js | 2 + 2 files changed, 68 insertions(+), 36 deletions(-) diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/controllers/MainController.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/controllers/MainController.js index 76f8901d61a..507ea0b9dd6 100644 --- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/controllers/MainController.js +++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/controllers/MainController.js @@ -534,54 +534,84 @@ function MainController(profile) { break; case "showViewDataSetPageFromPermId": var _this = this; - this.serverFacade.searchDataSetWithUniqueId(arg, function(dataSetData) { - if(!dataSetData.result || !dataSetData.result[0]) { - window.alert("The item is no longer available, refresh the page, if the problem persists tell your admin that the Lucene index is probably corrupted."); - } else { - if(dataSetData.result[0].sampleIdentifierOrNull) { - _this.serverFacade.searchWithIdentifiers([dataSetData.result[0].sampleIdentifierOrNull], function(sampleData) { - document.title = "Data Set " + dataSetData.result[0].code; - _this._showViewDataSetPage(sampleData[0], dataSetData.result[0]); - //window.scrollTo(0,0); - }); - } else if(dataSetData.result[0].experimentIdentifier) { - _this.serverFacade.listExperimentsForIdentifiers([dataSetData.result[0].experimentIdentifier], function(experimentResults) { - var experimentRules = { "UUIDv4" : { type : "Attribute", name : "PERM_ID", value : experimentResults.result[0].permId } }; - var experimentCriteria = { entityKind : "EXPERIMENT", logicalOperator : "AND", rules : experimentRules }; - _this.serverFacade.searchForExperimentsAdvanced(experimentCriteria, null, function(experimentData) { + var dsCriteria = { + entityKind : "DATASET", + logicalOperator : "AND", + rules : { "UUIDv4" : { type : "Attribute", name : "PERM_ID", value : arg } } + }; + + this.serverFacade.searchForDataSetsAdvanced(dsCriteria, null, function(results) { + var datasetParentCodes = []; + if(results.objects[0]) { + for(var pIdx = 0; pIdx < results.objects[0].parents.length; pIdx++) { + datasetParentCodes.push(results.objects[0].parents[pIdx].code); + } + } + _this.serverFacade.searchDataSetWithUniqueId(arg, function(dataSetData) { + if(!dataSetData.result || !dataSetData.result[0]) { + window.alert("The item is no longer available, refresh the page, if the problem persists tell your admin that the Lucene index is probably corrupted."); + } else { + dataSetData.result[0].parentCodes = datasetParentCodes; + if(dataSetData.result[0].sampleIdentifierOrNull) { + _this.serverFacade.searchWithIdentifiers([dataSetData.result[0].sampleIdentifierOrNull], function(sampleData) { document.title = "Data Set " + dataSetData.result[0].code; - _this._showViewDataSetPage(experimentData.objects[0], dataSetData.result[0]); + _this._showViewDataSetPage(sampleData[0], dataSetData.result[0]); //window.scrollTo(0,0); }); - }); + } else if(dataSetData.result[0].experimentIdentifier) { + _this.serverFacade.listExperimentsForIdentifiers([dataSetData.result[0].experimentIdentifier], function(experimentResults) { + var experimentRules = { "UUIDv4" : { type : "Attribute", name : "PERM_ID", value : experimentResults.result[0].permId } }; + var experimentCriteria = { entityKind : "EXPERIMENT", logicalOperator : "AND", rules : experimentRules }; + _this.serverFacade.searchForExperimentsAdvanced(experimentCriteria, null, function(experimentData) { + document.title = "Data Set " + dataSetData.result[0].code; + _this._showViewDataSetPage(experimentData.objects[0], dataSetData.result[0]); + //window.scrollTo(0,0); + }); + }); + } } - } + }); }); break; case "showEditDataSetPageFromPermId": var _this = this; - this.serverFacade.searchDataSetWithUniqueId(arg, function(dataSetData) { - if(!dataSetData.result || !dataSetData.result[0]) { - window.alert("The item is no longer available, refresh the page, if the problem persists tell your admin that the Lucene index is probably corrupted."); - } else { - if(dataSetData.result[0].sampleIdentifierOrNull) { - _this.serverFacade.searchWithIdentifiers([dataSetData.result[0].sampleIdentifierOrNull], function(sampleData) { - document.title = "Data Set " + dataSetData.result[0].code; - _this._showEditDataSetPage(sampleData[0], dataSetData.result[0]); - //window.scrollTo(0,0); - }); - } else if(dataSetData.result[0].experimentIdentifier) { - _this.serverFacade.listExperimentsForIdentifiers([dataSetData.result[0].experimentIdentifier], function(experimentResults) { - var experimentRules = { "UUIDv4" : { type : "Attribute", name : "PERM_ID", value : experimentResults.result[0].permId } }; - var experimentCriteria = { entityKind : "EXPERIMENT", logicalOperator : "AND", rules : experimentRules }; - _this.serverFacade.searchForExperimentsAdvanced(experimentCriteria, null, function(experimentData) { + var dsCriteria = { + entityKind : "DATASET", + logicalOperator : "AND", + rules : { "UUIDv4" : { type : "Attribute", name : "PERM_ID", value : arg } } + }; + + this.serverFacade.searchForDataSetsAdvanced(dsCriteria, null, function(results) { + var datasetParentCodes = []; + if(results.objects[0]) { + for(var pIdx = 0; pIdx < results.objects[0].parents.length; pIdx++) { + datasetParentCodes.push(results.objects[0].parents[pIdx].code); + } + } + _this.serverFacade.searchDataSetWithUniqueId(arg, function(dataSetData) { + if(!dataSetData.result || !dataSetData.result[0]) { + window.alert("The item is no longer available, refresh the page, if the problem persists tell your admin that the Lucene index is probably corrupted."); + } else { + dataSetData.result[0].parentCodes = datasetParentCodes; + if(dataSetData.result[0].sampleIdentifierOrNull) { + _this.serverFacade.searchWithIdentifiers([dataSetData.result[0].sampleIdentifierOrNull], function(sampleData) { document.title = "Data Set " + dataSetData.result[0].code; - _this._showEditDataSetPage(experimentData.objects[0], dataSetData.result[0]); + _this._showEditDataSetPage(sampleData[0], dataSetData.result[0]); //window.scrollTo(0,0); }); - }); + } else if(dataSetData.result[0].experimentIdentifier) { + _this.serverFacade.listExperimentsForIdentifiers([dataSetData.result[0].experimentIdentifier], function(experimentResults) { + var experimentRules = { "UUIDv4" : { type : "Attribute", name : "PERM_ID", value : experimentResults.result[0].permId } }; + var experimentCriteria = { entityKind : "EXPERIMENT", logicalOperator : "AND", rules : experimentRules }; + _this.serverFacade.searchForExperimentsAdvanced(experimentCriteria, null, function(experimentData) { + document.title = "Data Set " + dataSetData.result[0].code; + _this._showEditDataSetPage(experimentData.objects[0], dataSetData.result[0]); + //window.scrollTo(0,0); + }); + }); + } } - } + }); }); break; case "showDrawingBoard": diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataSetForm/DataSetFormView.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataSetForm/DataSetFormView.js index c6a4528bd02..3055f6d8f71 100644 --- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataSetForm/DataSetFormView.js +++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataSetForm/DataSetFormView.js @@ -152,6 +152,8 @@ function DataSetFormView(dataSetFormController, dataSetFormModel) { $dataSetTypeFieldSet.append($dataSetTypeLabel); var $dataSetCodeLabel = FormUtil.getFieldForLabelWithText('Code', this._dataSetFormModel.dataSet.code, null); $dataSetTypeFieldSet.append($dataSetCodeLabel); + var $dataSetParentsCodeLabel = FormUtil.getFieldForLabelWithText('Parents', JSON.stringify(this._dataSetFormModel.dataSet.parentCodes), null); + $dataSetTypeFieldSet.append($dataSetParentsCodeLabel); } var ownerName = null; -- GitLab