mirror of
https://github.com/OpenNebula/one.git
synced 2025-03-20 10:50:08 +03:00
Feature #3748: Extract vms datatable methods to a module
This commit is contained in:
parent
bdc9cfb688
commit
fe21d98a38
@ -4,11 +4,9 @@ define(function(require) {
|
||||
*/
|
||||
|
||||
var TabDataTable = require('utils/tab-datatable');
|
||||
var VMsTableUtils = require('./utils/datatable-common');
|
||||
var SunstoneConfig = require('sunstone-config');
|
||||
var Locale = require('utils/locale');
|
||||
var Humanize = require('utils/humanize');
|
||||
var TemplateUtils = require('utils/template-utils');
|
||||
var OpenNebulaVM = require('opennebula/vm');
|
||||
var StateActions = require('./utils/state-actions');
|
||||
var Sunstone = require('sunstone');
|
||||
var Vnc = require('utils/vnc');
|
||||
@ -47,20 +45,7 @@ define(function(require) {
|
||||
]
|
||||
}
|
||||
|
||||
this.columns = [
|
||||
Locale.tr("ID") ,
|
||||
Locale.tr("Owner") ,
|
||||
Locale.tr("Group"),
|
||||
Locale.tr("Name"),
|
||||
Locale.tr("Status"),
|
||||
Locale.tr("Used CPU"),
|
||||
Locale.tr("Used Memory"),
|
||||
Locale.tr("Host"),
|
||||
Locale.tr("IPs"),
|
||||
Locale.tr("Start Time"),
|
||||
Locale.tr(""),
|
||||
Locale.tr("Hidden Template")
|
||||
];
|
||||
this.columns = VMsTableUtils.columns;
|
||||
|
||||
this.selectOptions = {
|
||||
"id_index": 1,
|
||||
@ -94,10 +79,6 @@ define(function(require) {
|
||||
*/
|
||||
|
||||
function _elementArray(element_json) {
|
||||
var element = element_json[XML_ROOT];
|
||||
|
||||
var state = OpenNebulaVM.stateStr(element.STATE);
|
||||
|
||||
this.totalVms++;
|
||||
switch (state) {
|
||||
case "INIT":
|
||||
@ -120,37 +101,7 @@ define(function(require) {
|
||||
break;
|
||||
}
|
||||
|
||||
if (state == "ACTIVE") {
|
||||
state = OpenNebulaVM.shortLcmStateStr(element.LCM_STATE);
|
||||
};
|
||||
|
||||
// VNC icon
|
||||
var vncIcon;
|
||||
if (OpenNebulaVM.isVNCSupported(element)) {
|
||||
vncIcon = '<a class="vnc" href="#" vm_id="' + element.ID + '"><i class="fa fa-desktop"/></a>';
|
||||
} else if (OpenNebulaVM.isSPICESupported(element)) {
|
||||
vncIcon = '<a class="spice" href="#" vm_id="' + element.ID + '"><i class="fa fa-desktop"/></a>';
|
||||
} else {
|
||||
vncIcon = '';
|
||||
}
|
||||
|
||||
return [
|
||||
'<input class="check_item" type="checkbox" id="' + RESOURCE.toLowerCase() + '_' +
|
||||
element.ID + '" name="selected_items" value="' +
|
||||
element.ID + '"/>',
|
||||
element.ID,
|
||||
element.UNAME,
|
||||
element.GNAME,
|
||||
element.NAME,
|
||||
state,
|
||||
element.CPU,
|
||||
Humanize.size(element.MEMORY),
|
||||
OpenNebulaVM.hostnameStr(element),
|
||||
OpenNebulaVM.ipsStr(element),
|
||||
Humanize.prettyTime(element.STIME),
|
||||
vncIcon,
|
||||
TemplateUtils.templateToString(element)
|
||||
];
|
||||
return VMsTableUtils.elementArray(element_json);
|
||||
}
|
||||
|
||||
function _preUpdateView() {
|
||||
|
@ -0,0 +1,90 @@
|
||||
define(function(require) {
|
||||
|
||||
var OpenNebulaVM = require('opennebula/vm');
|
||||
var Locale = require('utils/locale');
|
||||
var Humanize = require('utils/humanize');
|
||||
var TemplateUtils = require('utils/template-utils');
|
||||
|
||||
var RESOURCE = "VM";
|
||||
var XML_ROOT = "VM";
|
||||
|
||||
var _columns = [
|
||||
Locale.tr("ID") ,
|
||||
Locale.tr("Owner") ,
|
||||
Locale.tr("Group"),
|
||||
Locale.tr("Name"),
|
||||
Locale.tr("Status"),
|
||||
Locale.tr("Used CPU"),
|
||||
Locale.tr("Used Memory"),
|
||||
Locale.tr("Host"),
|
||||
Locale.tr("IPs"),
|
||||
Locale.tr("Start Time"),
|
||||
Locale.tr(""),
|
||||
Locale.tr("Hidden Template")
|
||||
];
|
||||
|
||||
return {
|
||||
'elementArray': _elementArray,
|
||||
'emptyElementArray': _emptyElementArray,
|
||||
'columns': _columns
|
||||
};
|
||||
|
||||
function _elementArray(element_json) {
|
||||
var element = element_json[XML_ROOT];
|
||||
|
||||
var state = OpenNebulaVM.stateStr(element.STATE);
|
||||
|
||||
// TODO bug: will not work if state is translated
|
||||
if (state == "ACTIVE") {
|
||||
state = OpenNebulaVM.shortLcmStateStr(element.LCM_STATE);
|
||||
}
|
||||
|
||||
// VNC icon
|
||||
var vncIcon;
|
||||
if (OpenNebulaVM.isVNCSupported(element)) {
|
||||
vncIcon = '<a class="vnc" href="#" vm_id="' + element.ID + '"><i class="fa fa-desktop"/></a>';
|
||||
} else if (OpenNebulaVM.isSPICESupported(element)) {
|
||||
vncIcon = '<a class="spice" href="#" vm_id="' + element.ID + '"><i class="fa fa-desktop"/></a>';
|
||||
} else {
|
||||
vncIcon = '';
|
||||
}
|
||||
|
||||
return [
|
||||
'<input class="check_item" type="checkbox" id="' + RESOURCE.toLowerCase() + '_' +
|
||||
element.ID + '" name="selected_items" value="' +
|
||||
element.ID + '"/>',
|
||||
element.ID,
|
||||
element.UNAME,
|
||||
element.GNAME,
|
||||
element.NAME,
|
||||
state,
|
||||
element.CPU,
|
||||
Humanize.size(element.MEMORY),
|
||||
OpenNebulaVM.hostnameStr(element),
|
||||
OpenNebulaVM.ipsStr(element),
|
||||
Humanize.prettyTime(element.STIME),
|
||||
vncIcon,
|
||||
TemplateUtils.templateToString(element)
|
||||
];
|
||||
}
|
||||
|
||||
function _emptyElementArray(vmId) {
|
||||
return [
|
||||
'<input class="check_item" type="checkbox" id="' + RESOURCE.toLowerCase() + '_' +
|
||||
vmId + '" name="selected_items" value="' +
|
||||
vmId + '"/>',
|
||||
vmId,
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
""
|
||||
];
|
||||
}
|
||||
});
|
Loading…
x
Reference in New Issue
Block a user