mirror of
https://github.com/OpenNebula/one.git
synced 2025-03-25 02:50:08 +03:00
feature #3748: Add tab common actions module
This commit is contained in:
parent
23568fe84c
commit
ae570d80cc
@ -2,16 +2,23 @@ define(function(require) {
|
||||
var Sunstone = require('sunstone');
|
||||
var Notifier = require('utils/notifier');
|
||||
var Locale = require('utils/locale');
|
||||
var DataTable = require('./datatable');
|
||||
var OpenNebulaTemplate = require('opennebula/template');
|
||||
var CommonActions = require('utils/common-actions');
|
||||
|
||||
var TAB_ID = require('./tabId');
|
||||
var CREATE_DIALOG_ID = require('./form-panels/create/formPanelId');
|
||||
var CLONE_DIALOG_ID = require('./dialogs/clone/dialogId');
|
||||
var INSTANTIATE_DIALOG_ID = require('./dialogs/instantiate/dialogId');
|
||||
var XML_ROOT = "VMTEMPLATE"
|
||||
var RESOURCE = "Template"
|
||||
|
||||
var _commonActions = new CommonActions(OpenNebulaTemplate, RESOURCE, TAB_ID);
|
||||
|
||||
var _actions = {
|
||||
"Template.list" : _commonActions.list(),
|
||||
"Template.show" : _commonActions.show(),
|
||||
"Template.refresh" : _commonActions.refresh(),
|
||||
"Template.delete" : _commonActions.delete(),
|
||||
"Template.create" : {
|
||||
type: "create",
|
||||
call: OpenNebulaTemplate.create,
|
||||
@ -74,38 +81,6 @@ define(function(require) {
|
||||
Notifier.onError(request, response);
|
||||
}
|
||||
},
|
||||
"Template.list" : {
|
||||
type: "list",
|
||||
call: OpenNebulaTemplate.list,
|
||||
callback: function(request, response) {
|
||||
Sunstone.getDataTable(TAB_ID).updateView(request, response);
|
||||
},
|
||||
error: Notifier.onError
|
||||
},
|
||||
"Template.show" : {
|
||||
type: "single",
|
||||
call: OpenNebulaTemplate.show,
|
||||
callback: function(request, response) {
|
||||
Sunstone.getDataTable(TAB_ID).updateElement(request, response);
|
||||
if (Sunstone.rightInfoVisible($('#' + TAB_ID))) {
|
||||
Sunstone.insertPanels(TAB_ID, response);
|
||||
}
|
||||
},
|
||||
error: Notifier.onError
|
||||
},
|
||||
"Template.refresh" : {
|
||||
type: "custom",
|
||||
call: function() {
|
||||
var tab = $('#' + TAB_ID);
|
||||
if (Sunstone.rightInfoVisible(tab)) {
|
||||
Sunstone.runAction("Template.show", Sunstone.rightInfoResourceId(tab));
|
||||
} else {
|
||||
Sunstone.getDataTable(TAB_ID).waitingNodes();
|
||||
Sunstone.runAction("Template.list", {force: true});
|
||||
}
|
||||
},
|
||||
error: Notifier.onError
|
||||
},
|
||||
"Template.rename" : {
|
||||
type: "single",
|
||||
call: OpenNebulaTemplate.rename,
|
||||
@ -115,18 +90,6 @@ define(function(require) {
|
||||
error: Notifier.onError,
|
||||
notify: true
|
||||
},
|
||||
"Template.delete" : {
|
||||
type: "multiple",
|
||||
call : OpenNebulaTemplate.del,
|
||||
callback : function(request, response) {
|
||||
Sunstone.getDataTable(TAB_ID).deleteElement(request, response);
|
||||
},
|
||||
elements: function() {
|
||||
return Sunstone.getDataTable(TAB_ID).elements();
|
||||
},
|
||||
error: Notifier.onError,
|
||||
notify: true
|
||||
},
|
||||
"Template.instantiate" : {
|
||||
type: "multiple",
|
||||
call: OpenNebulaTemplate.instantiate,
|
||||
|
82
src/sunstone/public/app/utils/common-actions.js
Normal file
82
src/sunstone/public/app/utils/common-actions.js
Normal file
@ -0,0 +1,82 @@
|
||||
define(function(require) {
|
||||
var Sunstone = require('sunstone');
|
||||
var Notifier = require('utils/notifier');
|
||||
var Locale = require('utils/locale');
|
||||
|
||||
/*
|
||||
CONSTRUCTOR
|
||||
*/
|
||||
|
||||
function CommonActions(openNebulaResource, resourceStr, tabId) {
|
||||
this.openNebulaResource = openNebulaResource;
|
||||
this.tabId = tabId;
|
||||
this.resourceStr = resourceStr;
|
||||
}
|
||||
|
||||
CommonActions.prototype.list = _list;
|
||||
CommonActions.prototype.show = _show;
|
||||
CommonActions.prototype.refresh = _refresh;
|
||||
CommonActions.prototype.delete = _delete;
|
||||
|
||||
return CommonActions;
|
||||
|
||||
function _list() {
|
||||
var that = this;
|
||||
return {
|
||||
type: "list",
|
||||
call: that.openNebulaResource.list,
|
||||
callback: function(request, response) {
|
||||
Sunstone.getDataTable(that.tabId).updateView(request, response);
|
||||
},
|
||||
error: Notifier.onError
|
||||
}
|
||||
}
|
||||
|
||||
function _show() {
|
||||
var that = this;
|
||||
return {
|
||||
type: "single",
|
||||
call: that.openNebulaResource.show,
|
||||
callback: function(request, response) {
|
||||
Sunstone.getDataTable(that.tabId).updateElement(request, response);
|
||||
if (Sunstone.rightInfoVisible($('#' + that.tabId))) {
|
||||
Sunstone.insertPanels(that.tabId, response);
|
||||
}
|
||||
},
|
||||
error: Notifier.onError
|
||||
}
|
||||
}
|
||||
|
||||
function _refresh() {
|
||||
var that = this;
|
||||
return {
|
||||
type: "custom",
|
||||
call: function() {
|
||||
var tab = $('#' + that.tabId);
|
||||
if (Sunstone.rightInfoVisible(tab)) {
|
||||
Sunstone.runAction(that.resourceStr + ".show", Sunstone.rightInfoResourceId(tab));
|
||||
} else {
|
||||
Sunstone.getDataTable(that.tabId).waitingNodes();
|
||||
Sunstone.runAction(that.resourceStr + ".list", {force: true});
|
||||
}
|
||||
},
|
||||
error: Notifier.onError
|
||||
}
|
||||
}
|
||||
|
||||
function _delete() {
|
||||
var that = this;
|
||||
return {
|
||||
type: "multiple",
|
||||
call : that.openNebulaResource.del,
|
||||
callback : function(request, response) {
|
||||
Sunstone.getDataTable(that.tabId).deleteElement(request, response);
|
||||
},
|
||||
elements: function() {
|
||||
return Sunstone.getDataTable(that.tabId).elements();
|
||||
},
|
||||
error: Notifier.onError,
|
||||
notify: true
|
||||
}
|
||||
}
|
||||
});
|
Loading…
x
Reference in New Issue
Block a user