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

opening stub dialog for edit project button

parent 325bd5ce
No related branches found
No related tags found
2 merge requests!115Resolve "admin panel should use API",!114Resolve "admin panel should use API"
......@@ -47,12 +47,12 @@ Admin.prototype._createGui = function() {
var headerDiv = Functions.createElement({
type : "div"
});
new Header({
self.setHeader(new Header({
element : headerDiv,
customMap : null,
project : self.getProject(),
adminLink : false,
});
}));
self.getElement().appendChild(headerDiv);
var panels = [ {
......@@ -162,6 +162,7 @@ Admin.prototype.init = function() {
for (var i = 0; i < this._panels.length; i++) {
promises.push(this._panels[i].init());
}
promises.push(this.getHeader().init())
return Promise.all(promises);
};
......@@ -173,4 +174,12 @@ Admin.prototype.getConfiguration = function() {
return this._configuration;
};
Admin.prototype.setHeader = function(header) {
this._header = header;
};
Admin.prototype.getHeader = function() {
return this._header;
};
module.exports = Admin;
"use strict";
/* exported logger */
var AbstractGuiElement = require('../AbstractGuiElement');
var GuiConnector = require('../../GuiConnector');
var functions = require('../../functions');
var logger = require('../../logger');
function EditProjectDialog(params) {
AbstractGuiElement.call(this, params);
var self = this;
}
EditProjectDialog.prototype = Object.create(AbstractGuiElement.prototype);
EditProjectDialog.prototype.constructor = EditProjectDialog;
EditProjectDialog.prototype.destroy = function() {
$(this.getElement()).dialog("destroy");
};
EditProjectDialog.prototype.open = function() {
var self = this;
var div = self.getElement();
if (!$(div).hasClass("ui-dialog-content")) {
$(div).dialog({
title : self.getProject().getProjectId(),
});
}
$(div).dialog("open");
};
module.exports = EditProjectDialog;
......@@ -3,6 +3,7 @@
/* exported logger */
var AbstractAdminPanel = require('./AbstractAdminPanel');
var EditProjectDialog = require('./EditProjectDialog');
var logger = require('../../logger');
......@@ -116,7 +117,7 @@ MapsAdminPanel.prototype.init = function() {
MapsAdminPanel.prototype.projectToTableRow = function(project) {
var self = this;
var disease = self.getHtmlStringLink(project.getDisease());
var organism = self.getHtmlStringLink(project.getOrganism());
var organism = self.getHtmlStringLink(project.getOrganism());
var row = [ project.getProjectId(), //
project.getName(), //
......@@ -167,12 +168,28 @@ MapsAdminPanel.prototype.onAddClicked = function() {
};
MapsAdminPanel.prototype.onRefreshClicked = function() {
var self = this;
return ServerConnector.getProjects(true).then(function(projects){
return ServerConnector.getProjects(true).then(function(projects) {
return self.setProjects(projects);
});
};
MapsAdminPanel.prototype.showEditDialog = function(id) {
return Promise.reject(new Error("Not implemented"));
var self = this;
GuiConnector.showProcessing();
return ServerConnector.getProject(id).then(function(project) {
var dialog = new EditProjectDialog({
element : Functions.createElement({
type : "div"
}),
project : project,
customMap : null,
});
dialog.open();
GuiConnector.hideProcessing();
}).then(null, function(error) {
GuiConnector.hideProcessing();
Promise.reject(error);
});
};
MapsAdminPanel.prototype.removeProject = function(id) {
return Promise.reject(new Error("Not implemented"));
......
"use strict";
/* exported logger */
var EditProjectDialog = require('../../../../main/js/gui/admin/EditProjectDialog');
var GuiMessageError = require('../../../../main/js/gui/GuiMessageError');
var MiriamType = require('../../../../main/js/map/data/MiriamType');
var logger = require('../../logger');
var assert = require('assert');
describe('EditProjectDialog', function() {
it('open', function() {
var dialog;
var project;
return ServerConnector.getProject().then(function(result) {
project = result;
return ServerConnector.getConfiguration();
}).then(function(configuration) {
dialog = new EditProjectDialog({
element : testDiv,
project : project,
customMap : null,
});
return dialog.open();
}).then(function() {
dialog.destroy();
});
});
});
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