diff --git a/xCAT-UI/js/nodes/nodes.js b/xCAT-UI/js/nodes/nodes.js
index 7be200132..4890b2593 100644
--- a/xCAT-UI/js/nodes/nodes.js
+++ b/xCAT-UI/js/nodes/nodes.js
@@ -154,8 +154,9 @@ function loadGroups(data) {
// Create link to add nodes
var addNodeLink = $('Add node');
addNodeLink.bind('click', function(event) {
- var nodeForm = '
'
- + '
'
+ // Create form to give node range, group, and hardware management
+ var mgtForm = '
';
+
+ // Create form for ipmi plugin
+ var ipmiForm = '
';
+
+ // Create form for blade plugin
+ var bladeForm = '
';
+
+ // Create form for hmc plugin
+ var hmcForm = '
';
+
+ // Create form for ivm plugin
+ var ivmForm = '
';
+
+ // Create form for fsp plugin
+ var fspForm = '
';
+
+ // Create form for zvm plugin
+ var zvmForm = '
';
- $.prompt(nodeForm, {
- callback : addNode,
- buttons : {
- Ok : true,
- Cancel : false
+ var states = {
+ mgt : {
+ html : mgtForm,
+ buttons : {
+ Ok : true,
+ Cancel : false
+ },
+ focus : 1,
+ prefix : 'cleanblue',
+ submit : function(v, m, f) {
+ if (!v) {
+ return true;
+ } else {
+ // Get the hardware management selected
+ var mgt = f.mgt;
+ switch(mgt) {
+ case "blade":
+ $.prompt.goToState("blade");
+ break;
+ case "fsp":
+ $.prompt.goToState("fsp");
+ break;
+ case "hmc":
+ $.prompt.goToState("hmc");
+ break;
+ case "ipmi":
+ $.prompt.goToState("ipmi");
+ break;
+ case "ivm":
+ $.prompt.goToState("ivm");
+ break;
+ case "zvm":
+ $.prompt.goToState("zvm");
+ break;
+ }
+
+ return false;
+ } // End of else
+ } // End of submit
},
+
+ // Show blade form
+ blade : {
+ html : bladeForm,
+ callback : addNode,
+ buttons : {
+ Ok : true,
+ Cancel : false
+ },
+ focus : 1,
+ prefix : 'cleanblue',
+ submit : function(v, m, f) {
+ if (v) {
+ return true;
+ }
+ }
+ },
+
+ // Show fsp form
+ fsp : {
+ html : fspForm,
+ callback : addNode,
+ buttons : {
+ Ok : true,
+ Cancel : false
+ },
+ focus : 1,
+ prefix : 'cleanblue',
+ submit : function(v, m, f) {
+ if (v) {
+ return true;
+ }
+ }
+ },
+
+ // Show hmc form
+ hmc : {
+ html : hmcForm,
+ callback : addNode,
+ buttons : {
+ Ok : true,
+ Cancel : false
+ },
+ focus : 1,
+ prefix : 'cleanblue',
+ submit : function(v, m, f) {
+ if (v) {
+ return true;
+ }
+ }
+ },
+
+ // Show ipmi form
+ ipmi : {
+ html : ipmiForm,
+ callback : addNode,
+ buttons : {
+ Ok : true,
+ Cancel : false
+ },
+ focus : 1,
+ prefix : 'cleanblue',
+ submit : function(v, m, f) {
+ if (v) {
+ return true;
+ }
+ }
+ },
+
+ // Show ivm form
+ ivm : {
+ html : ivmForm,
+ callback : addNode,
+ buttons : {
+ Ok : true,
+ Cancel : false
+ },
+ focus : 1,
+ prefix : 'cleanblue',
+ submit : function(v, m, f) {
+ if (v) {
+ return true;
+ }
+ }
+ },
+
+ // Show zvm form
+ zvm : {
+ html : zvmForm,
+ callback : addNode,
+ buttons : {
+ Ok : true,
+ Cancel : false
+ },
+ focus : 1,
+ prefix : 'cleanblue',
+ submit : function(v, m, f) {
+ if (v) {
+ return true;
+ }
+ }
+ }
+ };
+
+ $.prompt(states, {
prefix : 'cleanblue'
});
+
});
$('#groups').append(addNodeLink);
}