diff --git a/frontend-js/src/main/js/gui/admin/EditGenomeDialog.js b/frontend-js/src/main/js/gui/admin/EditGenomeDialog.js index 409f532147fc2841d8ec1656c461454fec1122c4..3f0cf1646ff1ab4c0f04aa241e8e449b95033256 100644 --- a/frontend-js/src/main/js/gui/admin/EditGenomeDialog.js +++ b/frontend-js/src/main/js/gui/admin/EditGenomeDialog.js @@ -189,7 +189,7 @@ EditGenomeDialog.prototype.createGeneralTabContent = function () { onclick: function () { return self.onSaveClicked().then(function () { return self.close(); - }, GuiConnector.alert); + }).catch(GuiConnector.alert); }, xss: false }); @@ -208,6 +208,20 @@ EditGenomeDialog.prototype.createGeneralTabContent = function () { return result; }; +/** + * + * @returns {Promise|PromiseLike} + */ +EditGenomeDialog.prototype.onSaveClicked = function () { + var self = this; + if (!self.isNew()) { + return self.callListeners("onSave"); + } else { + return self.getServerConnector().updateReferenceGenome(self.getReferenceGenome()).then(function () { + return self.callListeners("onSave"); + }); + } +}; /** * * @param {ReferenceGenome} genome @@ -289,7 +303,10 @@ EditGenomeDialog.prototype._fillTypeSelect = function (genome, selectedOrganism) */ EditGenomeDialog.prototype._fillVersionSelect = function (genome, selectedOrganism, selectedType) { var self = this; - return self.getServerConnector().getReferenceGenomeVersions({organism: selectedOrganism, type:selectedType}).then(function (versions) { + return self.getServerConnector().getReferenceGenomeVersions({ + organism: selectedOrganism, + type: selectedType + }).then(function (versions) { var genomeVersionSelect = $("[name=genomeVersionSelect]", self.getElement()); var selectedVersion; diff --git a/frontend-js/src/test/js/gui/admin/EditGenomeDialog-test.js b/frontend-js/src/test/js/gui/admin/EditGenomeDialog-test.js index 2eb9151181c3a36920d5e7366c97a16e300efc7f..5eb04f7f354dcc42fa86a3f4a7d16eaf60fbf344 100644 --- a/frontend-js/src/test/js/gui/admin/EditGenomeDialog-test.js +++ b/frontend-js/src/test/js/gui/admin/EditGenomeDialog-test.js @@ -61,4 +61,25 @@ describe('EditGenomeDialog', function () { }); }); + describe('click save', function () { + it('existing genome', function () { + var dialog; + return ServerConnector.getReferenceGenome({organism:"9606", type:"UCSC",version:"hg38"}).then(function (genome) { + dialog = new EditGenomeDialog({ + element: testDiv, + referenceGenome: genome, + customMap: null, + serverConnector: ServerConnector + }); + return dialog.init(); + }).then(function () { + return dialog.open(); + }).then(function () { + return $("[name=saveGenome]", testDiv)[0].onclick(); + }).then(function () { + dialog.destroy(); + }); + }); + }); + }); diff --git a/frontend-js/src/test/js/helper.js b/frontend-js/src/test/js/helper.js index 351c01ae74e9af18472876c3471ac601e577d94c..05ac27517cc12b4e57a57dfa2dc62f2f8000e259 100644 --- a/frontend-js/src/test/js/helper.js +++ b/frontend-js/src/test/js/helper.js @@ -505,8 +505,6 @@ Helper.prototype.triggerJqueryEvent = function (element, eventType) { var event = events[j]; var eventTargets = $(event.selector, domElement); for (var k = 0; k < eventTargets.length; k++) { - console.log(element); - console.log(eventTargets[k]); if (element === eventTargets[k]) { promises.push(event.handler.call(element)) } diff --git a/frontend-js/testFiles/apiCalls/genomics/taxonomies/9606/genomeTypes/UCSC/versions/hg38/token=MOCK_TOKEN_ID& b/frontend-js/testFiles/apiCalls/genomics/taxonomies/9606/genomeTypes/UCSC/versions/hg38/token=MOCK_TOKEN_ID& new file mode 100644 index 0000000000000000000000000000000000000000..d6e3f651ae1e7ccd4ce1a774931527624d8eeb9a --- /dev/null +++ b/frontend-js/testFiles/apiCalls/genomics/taxonomies/9606/genomeTypes/UCSC/versions/hg38/token=MOCK_TOKEN_ID& @@ -0,0 +1 @@ +{"downloadProgress":100.0,"geneMapping":[],"idObject":1563,"localUrl":"../minerva-big//5280/hg38.2bit","organism":{"annotatorClassName":"","descriptionByType":"","descriptionByTypeRelation":"","id":927074,"link":"http://www.ncbi.nlm.nih.gov/Taxonomy/Browser/wwwtax.cgi?mode=Info&id=9606","resource":"9606","type":"TAXONOMY"},"sourceUrl":"ftp://hgdownload.cse.ucsc.edu/goldenPath/hg38/bigZips/hg38.2bit","type":"UCSC","version":"hg38"} \ No newline at end of file