From 751b24e1026b530f683e400f68ba86c01993ca42 Mon Sep 17 00:00:00 2001 From: Piotr Gawron <piotr.gawron@uni.lu> Date: Tue, 11 Apr 2017 13:47:07 +0200 Subject: [PATCH] header is create via Javascript --- frontend-js/src/main/js/gui/Header.js | 35 +++++++++++++++++++++ frontend-js/src/main/js/gui/Panel.js | 2 -- frontend-js/src/main/js/minerva.js | 6 ++++ frontend-js/src/test/js/gui/Header-test.js | 36 ++++++++++++++++++++++ frontend-js/src/test/js/helper.js | 4 +++ 5 files changed, 81 insertions(+), 2 deletions(-) create mode 100644 frontend-js/src/main/js/gui/Header.js create mode 100644 frontend-js/src/test/js/gui/Header-test.js 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 0000000000..6a67a5495e --- /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 d9aec0adc4..016d88d8cd 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 2511b62735..2b9b7dd19f 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 0000000000..233361644f --- /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 d200d973d5..77360d43ba 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"); -- GitLab