Skip to content
Snippets Groups Projects
Commit 35bb5ae3 authored by Piotr Gawron's avatar Piotr Gawron
Browse files

footer part generated via javscript

parent ffcdd191
No related branches found
No related tags found
1 merge request!5Frontend refactor
"use strict";
var ConfigurationType = {
DEFAULT_MAP : "DEFAULT_MAP",
GOOGLE_ANALYTICS_IDENTIFIER : "GOOGLE_ANALYTICS_IDENTIFIER",
LOGO_IMG : "LOGO_IMG",
......@@ -8,6 +9,7 @@ var ConfigurationType = {
LEGEND_FILES : "LEGEND_FILES",
MIN_COLOR_VAL : "MIN_COLOR_VAL",
MAX_COLOR_VAL : "MAX_COLOR_VAL",
USER_MANUAL_FILE : "USER_MANUAL_FILE",
};
module.exports = ConfigurationType;
"use strict";
/* exported logger */
var AbstractGuiElement = require('./AbstractGuiElement');
var ConfigurationType = require('../ConfigurationType');
var Functions = require('../Functions');
var logger = require('../logger');
function Footer(params) {
AbstractGuiElement.call(this, params);
var self = this;
self._createFooterGui();
}
Footer.prototype = Object.create(AbstractGuiElement.prototype);
Footer.prototype.constructor = Footer;
Footer.prototype._createFooterGui = function(message) {
var self = this;
var projectId = self.getMap().getProject().getProjectId();
var link = Functions.createElement({
type : "a",
name : "footerAdminLink",
style : "float:left; padding-left:25px;",
content : '<i class="fa fa-lock" style="font-size:17px"></i> &nbsp;ADMIN',
});
link.href = ServerConnector.getServerBaseUrl() + "/admin.xhtml?id=" + projectId;
self.getElement().appendChild(link);
link = Functions.createElement({
type : "a",
name : "footerManualLink",
style : "float:left; padding-left:25px;",
content : '<i class="fa fa-lock" style="font-size:17px"></i> &nbsp;MANUAL',
});
link.href = "#";
link.onclick = function() {
return ServerConnector.getConfigurationParam(ConfigurationType.USER_MANUAL_FILE).then(function(manualFileUrl){
var win = window.open(manualFileUrl, '_user_manual_');
win.focus();
});
}
self.getElement().appendChild(link);
link = Functions.createElement({
type : "a",
name : "footerAdminLink",
style : "float:right; padding-right:25px;",
content : 'EXPORT&nbsp; <i class="fa fa-mail-forward" style="font-size:17px"></i>',
});
link.href = ServerConnector.getServerBaseUrl() + "/export.xhtml?id=" + projectId;
self.getElement().appendChild(link);
};
module.exports = Footer;
"use strict";
/* exported logger */
var Helper = require('../helper');
require("../mocha-config.js");
var Footer = require('../../../main/js/gui/Footer');
var chai = require('chai');
var assert = chai.assert;
var logger = require('../logger');
describe('Footer', function() {
var helper;
before(function() {
helper = new Helper();
});
it('constructor', function() {
var div = helper.createSearchTab();
var map = helper.createCustomMap();
new Footer({
element : div,
customMap : map
});
assert.equal(logger.getWarnings().length, 0);
});
it('link clicks', function() {
var div = helper.createSearchTab();
var map = helper.createCustomMap();
new Footer({
element : div,
customMap : map
});
var promises = [];
$("a", div).each(function(index, element) {
promises.push(new Promise(function(resolve, reject) {
var fun = element.onclick;
if (fun) {
resolve(fun());
} else {
resolve(null);
}
})
)});
return Promise.all(promises);
});
});
......@@ -16,7 +16,16 @@ global.$ = require('jQuery');
global.jQuery = $;
global.window.$ = $;
//additions to jsdom implementations:
global.Option = window.Option;
window.open = function(){
var result = {};
result.focus = function(){
};
return result;
}
//---
require('jquery-ui-dist/jquery-ui.js');
......
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