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

AddProjectDialog uses GuiUtils for creating tabs

parent 1f6d418d
No related branches found
No related tags found
1 merge request!369Resolve "Functionality to update Terms of Service"
......@@ -515,6 +515,22 @@ h1 {
margin: 5px;
}
.minerva-edit-project-dialog .tab-pane {
overflow: auto;
}
.minerva-edit-project-dialog > .parentTabs {
position: absolute;
top: 10px;
bottom: 40px;
left: 10px;
right: 10px
}
.minerva-edit-project-dialog > .parentTabs > .tab-content {
height: 100%;
}
.minerva-no-close .ui-dialog-titlebar-close {
display: none
}
......
This diff is collapsed.
......@@ -980,8 +980,10 @@ GuiUtils.prototype.initTabContent = function (abstractGuiElement) {
* @param {AbstractGuiElement} abstractGuiElement
* @param {Object} params
* @param {string} params.name
* @param {HTMLElement} [params.content]
* @param {boolean} [params.disabled = false]
* @param {function} [params.panelClass]
* @param {Object} [params.options] - optional parameters passed to the panel constructor
* @param {function} params.panelClass
*/
GuiUtils.prototype.addTab = function (abstractGuiElement, params) {
var tabId = "panel_tab_" + tabIdCounter;
......@@ -1004,20 +1006,67 @@ GuiUtils.prototype.addTab = function (abstractGuiElement, params) {
contentElement.appendChild(contentDiv);
var options = {
element: contentDiv,
name: params.name,
configuration: this.getConfiguration(),
serverConnector: abstractGuiElement.getServerConnector(),
customMap: abstractGuiElement.getMap(),
project: abstractGuiElement.getProject()
};
if (params.content !== undefined) {
contentDiv.appendChild(params.content);
if (params.disabled) {
this.hideTab(abstractGuiElement, params.content);
}
} else {
var options = {
element: contentDiv,
name: params.name,
configuration: this.getConfiguration(),
serverConnector: abstractGuiElement.getServerConnector(),
customMap: abstractGuiElement.getMap(),
project: abstractGuiElement.getProject()
};
if (params.options !== undefined) {
options = jQuery.extend(options, params.options);
if (params.options !== undefined) {
options = jQuery.extend(options, params.options);
}
var panel = new params.panelClass(options);
abstractGuiElement._panels.push(panel);
if (params.disabled) {
this.hideTab(abstractGuiElement, panel);
}
}
};
/**
*
* @param {Panel|HTMLElement} panel
* @returns {string}
*/
function getPanelId(panel) {
var panelId;
if (Functions.isDomElement(panel)) {
if (panel.className.indexOf("tab-pane") >= 0) {
panelId = panel.id;
} else {
panelId = panel.parentNode.id;
}
} else {
panelId = panel.getElement().id;
}
return panelId;
}
abstractGuiElement._panels.push(new params.panelClass(options));
/**
*
* @param {AbstractGuiElement} abstractGuiElement
* @param {Panel|HTMLElement} panel
*/
GuiUtils.prototype.hideTab = function (abstractGuiElement, panel) {
var panelId = getPanelId(panel);
var liElement = $("li:has(a[href='#" + panelId + "'])", $(abstractGuiElement.getElement()))[0];
if (liElement !== undefined) {
$(liElement).hide();
} else {
logger.warn("Cannot find tab link for panel: " + panel);
}
};
/**
......@@ -1025,12 +1074,13 @@ GuiUtils.prototype.addTab = function (abstractGuiElement, params) {
* @param {AbstractGuiElement} abstractGuiElement
* @param {Panel} panel
*/
GuiUtils.prototype.hideTab = function (abstractGuiElement, panel) {
var liElement = $("li:has(a[href='#" + panel.getElement().id + "'])", $(abstractGuiElement.getElement()))[0];
GuiUtils.prototype.showTab = function (abstractGuiElement, panel) {
var panelId = getPanelId(panel);
var liElement = $("li:has(a[href='#" + panelId + "'])", $(abstractGuiElement.getElement()))[0];
if (liElement !== undefined) {
liElement.style.display = "none";
$(liElement).show();
} else {
logger.warn("Cannot find tab link for panel: " + panel.getPanelName());
logger.warn("Cannot find tab link for panel: " + panel);
}
};
......
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