- },
- registry: {},
- modal : {
- initialize: {
- gateway: function() {
- var h3 = "Add Gateway IP Address";
- var footer = one.f.switchmanager.subnetGatewayConfig.modal.footer();
- var $modal = one.lib.modal.spawn(one.f.switchmanager.subnetGatewayConfig.id.modal.modal, h3, "", footer);
- // bind save button
- $('#' + one.f.switchmanager.subnetGatewayConfig.id.modal.save, $modal).click(function() {
- one.f.switchmanager.subnetGatewayConfig.modal.save.gateway($modal);
- });
- var $body = one.f.switchmanager.subnetGatewayConfig.modal.body.gateway();
- one.lib.modal.inject.body($modal, $body);
- return $modal;
- },
- ports: function() {
- var h3 = "Add Ports";
- var footer = one.f.switchmanager.subnetGatewayConfig.modal.footer();
- var $modal = one.lib.modal.spawn(one.f.switchmanager.subnetGatewayConfig.id.modal.modal, h3, "", footer);
- // bind save button
- $('#' + one.f.switchmanager.subnetGatewayConfig.id.modal.save, $modal).click(function() {
- one.f.switchmanager.subnetGatewayConfig.modal.save.ports($modal);
- });
-
- // TODO: Change to subnetGateway instead.
- one.f.switchmanager.spanPortConfig.modal.ajax.nodes(function(nodes, nodeports) {
- var $body = one.f.switchmanager.subnetGatewayConfig.modal.body.ports(nodes, nodeports);
- one.lib.modal.inject.body($modal, $body);
- });
- return $modal;
- }
- },
- save: {
- gateway: function($modal) {
- var result = {};
- result['gatewayName'] = $('#' + one.f.switchmanager.subnetGatewayConfig.id.modal.form.name, $modal).val();
- if(!one.f.switchmanager.validateName(result['gatewayName'])) {
- alert("Gateway name can contain upto 255 characters");
- return;
- }
- result['gatewayIPAddress'] = $('#' + one.f.switchmanager.subnetGatewayConfig.id.modal.form.gatewayIPAddress, $modal).val();
- one.f.switchmanager.subnetGatewayConfig.modal.ajax.gateway(result,
- function(response) {
- if(response.status == true) {
- $modal.modal('hide');
- one.f.switchmanager.subnetGatewayConfig.dashlet($("#right-bottom .dashlet"));
- } else {
- alert(response.message);
- }
- });
- },
- ports: function($modal) {
- var result = {};
- var gatewayRegistryIndex = $('#' + one.f.switchmanager.subnetGatewayConfig.id.modal.form.name, $modal).val();
- result['portsName'] = one.f.switchmanager.subnetGatewayConfig.registry.gateways[gatewayRegistryIndex];
- result['nodeId'] = $('#' + one.f.switchmanager.subnetGatewayConfig.id.modal.form.nodeId, $modal).val();
- result['ports'] = $('#' + one.f.switchmanager.subnetGatewayConfig.id.modal.form.ports, $modal).val();
- if(!result['portsName'] || result['portsName'] == "") {
- alert("No gateway chosen. Cannot add port");
- return;
- }
- if(!result['nodeId'] || result['nodeId'] == "") {
- alert("Please select a node.");
- return;
- }
- if(!result['ports'] || result['ports'] == "") {
- alert("Please choose a port.");
- return;
- }
- one.f.switchmanager.subnetGatewayConfig.modal.ajax.ports(result,
- function(response) {
- if(response.status == true) {
- $modal.modal('hide');
- one.f.switchmanager.subnetGatewayConfig.dashlet($("#right-bottom .dashlet"));
- } else {
- alert(response.message);
- }
- });
- }
- },
- body: {
- gateway: function() {
- var $form = $(document.createElement('form'));
- var $fieldset = $(document.createElement('fieldset'));
- // gateway name
- var $label = one.lib.form.label("Name");
- var $input = one.lib.form.input("Name");
- $input.attr('id', one.f.switchmanager.subnetGatewayConfig.id.modal.form.name);
- $fieldset.append($label).append($input);
- // gateway IP Mask
- var $label = one.lib.form.label("Gateway IP Address/Mask");
- var $input = one.lib.form.input("Gateway IP Address/Mask");
- $input.attr('id', one.f.switchmanager.subnetGatewayConfig.id.modal.form.gatewayIPAddress);
- $fieldset.append($label).append($input);
-
- $form.append($fieldset);
- return $form;
- },
- ports: function(nodes, nodeports) {
- var $form = $(document.createElement('form'));
- var $fieldset = $(document.createElement('fieldset'));
- // gateways drop down
- var $label = one.lib.form.label("Gateway Name");
- var $select = one.lib.form.select.create(one.f.switchmanager.subnetGatewayConfig.registry.gateways);
- $select.attr('id', one.f.switchmanager.subnetGatewayConfig.id.modal.form.name);
- $select.val($select.find("option:first").val());
- $fieldset.append($label).append($select);
-
- // node ID
- var $label = one.lib.form.label("Node ID");
- var $select = one.lib.form.select.create(nodes);
- $select.attr('id', one.f.switchmanager.subnetGatewayConfig.id.modal.form.nodeId);
- one.lib.form.select.prepend($select, { '' : 'Please Select a Node' });
- $select.val($select.find("option:first").val());
- $fieldset.append($label).append($select);
-
- // bind onchange
- $select.change(function() {
- // retrieve port value
- var node = $(this).find('option:selected').attr('value');
- one.f.switchmanager.subnetGatewayConfig.registry['currentNode'] = node;
- var $ports = $('#' + one.f.switchmanager.subnetGatewayConfig.id.modal.form.ports);
- var ports = nodeports[node];
- one.lib.form.select.inject($ports, ports);
- one.lib.form.select.prepend($ports, { '' : 'Please Select a Port' });
- $ports.val($ports.find("option:first").val());
- });
-
- // ports
- var $label = one.lib.form.label("Select Port");
- var $select = one.lib.form.select.create();
- $select.attr('id', one.f.switchmanager.subnetGatewayConfig.id.modal.form.ports);
- $fieldset.append($label).append($select);
-
- $form.append($fieldset);
- return $form;
- }
- },
- ajax: {
- gateway: function(requestData, callback) {
- $.getJSON(one.f.switchmanager.rootUrl + "/subnetGateway/add", requestData, function(data) {
- callback(data);