1
0
mirror of https://github.com/OpenNebula/one.git synced 2025-03-26 06:50:09 +03:00

Merge remote-tracking branch 'origin/master' into feature-4317

This commit is contained in:
Carlos Martín 2016-02-17 16:59:52 +01:00
commit 8c3b821d5d
4 changed files with 38 additions and 18 deletions

View File

@ -571,8 +571,17 @@ define(function(require) {
$('.top_button, .list_button', context).attr('disabled', false);
}
// Returns the element that is currently shown in the right info
var _getElementRightInfo = function(tabName, context) {
var context = context || $(".right-info", $("#" + tabName));
return context.data('element');
}
var _insertPanels = function(tabName, info, contextTabId, context) {
var context = context || $(".right-info", $("#" + tabName));
context.data('element', info[Object.keys(info)[0]]);
var containerId = tabName + '-panels';
var activaTab = $("dd.active a", $("#" + containerId));
if (activaTab) {
@ -1006,6 +1015,7 @@ define(function(require) {
"insertTabs": _insertTabs,
"insertPanels": _insertPanels,
"getElementRightInfo": _getElementRightInfo,
'showTab': _showTab,
"showElement" : _showElement,

View File

@ -20,6 +20,7 @@ define(function(require) {
var Locale = require('utils/locale');
var CommonActions = require('utils/common-actions');
var OpenNebulaResource = require('opennebula/marketplaceapp');
var OpenNebulaAction = require('opennebula/action');
var RESOURCE = "MarketPlaceApp";
var XML_ROOT = "MARKETPLACEAPP";

View File

@ -334,9 +334,19 @@ define(function(require) {
}
function _getLabel(dataTable, labelsColumn, resourceId) {
var nodes = dataTable.fnGetNodes();
var tr = $('.check_item[value="' + resourceId + '"]', nodes).closest('tr');
var aData = dataTable.fnGetData(tr);
return aData[labelsColumn];
var tab = dataTable.parents(".tab")
if (Sunstone.rightInfoVisible(tab)) {
var element = Sunstone.getElementRightInfo(tab.attr('id'));
if (element && element.TEMPLATE) {
return element.TEMPLATE[LABELS_ATTR]||'';
} else {
return '';
}
} else {
var nodes = dataTable.fnGetNodes();
var tr = $('.check_item[value="' + resourceId + '"]', nodes).closest('tr');
var aData = dataTable.fnGetData(tr);
return aData[labelsColumn];
}
}
});

View File

@ -497,20 +497,19 @@ define(function(require) {
}
//replaces an element with id 'tag' in a dataTable with a new one
function _updateElement(request, element_json) {
var id = element_json[this.xmlRoot].ID;
var element = this.elementArray(element_json);
var tag = '#' + this.resource.toLowerCase() + '_' + id;
// fnGetData should be used instead, otherwise it depends on the visible columns
var nodes = this.dataTable.fnGetNodes();
var tr = $(tag, nodes).parents('tr')[0];
if (tr) {
var checked_val = $('input.check_item', tr).prop('checked');
var position = this.dataTable.fnGetPosition(tr);
this.dataTable.fnUpdate(element, position, undefined, false);
$('input.check_item', tr).prop('checked', checked_val);
this.recountCheckboxes();
}
function _updateElement(request, elementJSON) {
var that = this;
var elementId = elementJSON[that.xmlRoot].ID;
var element = that.elementArray(elementJSON);
$.each(that.dataTable.fnGetData(), function(index, aData) {
if (aData[that.selectOptions.id_index] === elementId) {
element[0] = aData[0];
that.dataTable.fnUpdate(element, index, undefined, false);
that.recountCheckboxes();
return false;
}
});
}
function _getElementData(id, resource_tag) {