diff --git a/frontend-js/src/main/js/gui/Header.js b/frontend-js/src/main/js/gui/Header.js new file mode 100644 index 0000000000000000000000000000000000000000..6a67a5495ee19271d68b3cc7f2f2c970ab4859e6 --- /dev/null +++ b/frontend-js/src/main/js/gui/Header.js @@ -0,0 +1,35 @@ +"use strict"; + +/* exported logger */ + +var AbstractGuiElement = require('./AbstractGuiElement'); +var Functions = require('../Functions'); + +var logger = require('../logger'); + +function Header(params) { + AbstractGuiElement.call(this, params); + var self = this; + + self._createHeaderGui(); +} + +Header.prototype = Object.create(AbstractGuiElement.prototype); +Header.prototype.constructor = Header; + +Header.prototype._createHeaderGui = function(message) { + var self = this; + var projectId = self.getMap().getProject().getProjectId(); + var projectName = self.getMap().getProject().getName(); + + var link = Functions.createElement({ + type : "a", + name : "headerPanel", + className : "mainTitle", + content : '<i class="fa fa-home" style="font-size:17px"></i> ' + projectName, + }); + link.href = ServerConnector.getServerBaseUrl() + "/?id=" + projectId; + self.getElement().appendChild(link); +}; + +module.exports = Header; diff --git a/frontend-js/src/main/js/gui/Panel.js b/frontend-js/src/main/js/gui/Panel.js index d9aec0adc43b080626d43a3583a0f13820b3b57c..016d88d8cd41114fc2c2653021b72e405db61fa5 100644 --- a/frontend-js/src/main/js/gui/Panel.js +++ b/frontend-js/src/main/js/gui/Panel.js @@ -15,8 +15,6 @@ function Panel(params) { var self = this; self.setPanelName(params.panelName); - self.setElement(params.element); - self.setMap(params.customMap); self._controlElements = []; } diff --git a/frontend-js/src/main/js/minerva.js b/frontend-js/src/main/js/minerva.js index 2511b62735670bcb4c389c981b4f86352bc3b2d8..2b9b7dd19f65271f9d5645aa0ef6611a32bda645 100644 --- a/frontend-js/src/main/js/minerva.js +++ b/frontend-js/src/main/js/minerva.js @@ -11,6 +11,7 @@ var ControlType = require('./map/ControlType'); var CustomMap = require('./map/CustomMap'); var DrugDbOverlay = require('./map/overlay/DrugDbOverlay'); var DrugPanel = require('./gui/DrugPanel'); +var Header = require('./gui/Header'); var MiRnaDbOverlay = require('./map/overlay/MiRnaDbOverlay'); var MiRnaPanel = require('./gui/MiRnaPanel'); var OverlayPanel = require('./gui/OverlayPanel'); @@ -255,6 +256,11 @@ function create(params) { element : document.getElementById("infoTab"), customMap : result }); + + var header = new Header({ + element : document.getElementById("headerPanel"), + customMap : result + }); return new Promise(function(resolve, reject) { diff --git a/frontend-js/src/test/js/gui/Header-test.js b/frontend-js/src/test/js/gui/Header-test.js new file mode 100644 index 0000000000000000000000000000000000000000..233361644f96ebcc757ae57cb5a5b6f9e82f07b7 --- /dev/null +++ b/frontend-js/src/test/js/gui/Header-test.js @@ -0,0 +1,36 @@ +"use strict"; + +/* exported logger */ + +var Helper = require('../helper'); + +require("../mocha-config.js"); + +var Header = require('../../../main/js/gui/Header'); + +var chai = require('chai'); +var assert = chai.assert; +var logger = require('../logger'); + +describe('Header', function() { + + var helper; + before(function() { + helper = new Helper(); + }); + + it('constructor', function() { + var div = helper.createSearchTab(); + + var map = helper.createCustomMap(); + + new Header({ + element : div, + customMap : map + }); + + assert.equal(logger.getWarnings().length, 0); + + }); + +}); diff --git a/frontend-js/src/test/js/helper.js b/frontend-js/src/test/js/helper.js index d200d973d59904960fc396e1c0e67bda063eb58c..77360d43bafbb58e91e655e545d50b92b1815d61 100644 --- a/frontend-js/src/test/js/helper.js +++ b/frontend-js/src/test/js/helper.js @@ -96,12 +96,16 @@ Helper.prototype.createLeftPanelTab = function() { result.appendChild(this.createSubmapTab()); result.appendChild(this.createProjectInfoTab()); result.appendChild(this.createLegendDiv()); + result.appendChild(this.createHeaderDiv()); return result; }; Helper.prototype.createSearchTab = function() { return this.createPanelTab("searchTab"); }; +Helper.prototype.createHeaderDiv = function() { + return this.createPanelTab("headerPanel"); +}; Helper.prototype.createDrugTab = function() { return this.createPanelTab("drugTab");