From c9ba16ef10fed2fb4976f87c6025a25d153006b3 Mon Sep 17 00:00:00 2001 From: Glowbal Date: Sun, 25 Dec 2016 21:32:17 +0100 Subject: [PATCH] feat(network-creation): add labels on network create (#408) --- .../createNetwork/createNetworkController.js | 25 ++++++++++++++-- .../createNetwork/createnetwork.html | 29 +++++++++++++++++++ 2 files changed, 52 insertions(+), 2 deletions(-) diff --git a/app/components/createNetwork/createNetworkController.js b/app/components/createNetwork/createNetworkController.js index 3d03b56bd..79970cf76 100644 --- a/app/components/createNetwork/createNetworkController.js +++ b/app/components/createNetwork/createNetworkController.js @@ -4,7 +4,8 @@ function ($scope, $state, Messages, Network) { $scope.formValues = { DriverOptions: [], Subnet: '', - Gateway: '' + Gateway: '', + Labels: [] }; $scope.config = { @@ -16,7 +17,8 @@ function ($scope, $state, Messages, Network) { IPAM: { Driver: 'default', Config: [] - } + }, + Labels: {} }; $scope.addDriverOption = function() { @@ -27,6 +29,14 @@ function ($scope, $state, Messages, Network) { $scope.formValues.DriverOptions.splice(index, 1); }; + $scope.addLabel = function() { + $scope.formValues.Labels.push({ name: '', value: ''}); + }; + + $scope.removeLabel = function(index) { + $scope.formValues.Labels.splice(index, 1); + }; + function createNetwork(config) { $('#createNetworkSpinner').show(); Network.create(config, function (d) { @@ -63,10 +73,21 @@ function ($scope, $state, Messages, Network) { config.Options = options; } + function prepareLabelsConfig(config) { + var labels = {}; + $scope.formValues.Labels.forEach(function (label) { + if (label.name && label.value) { + labels[label.name] = label.value; + } + }); + config.Labels = labels; + } + function prepareConfiguration() { var config = angular.copy($scope.config); prepareIPAMConfiguration(config); prepareDriverOptions(config); + prepareLabelsConfig(config); return config; } diff --git a/app/components/createNetwork/createnetwork.html b/app/components/createNetwork/createnetwork.html index 3ca1fccf2..c51aaca7d 100644 --- a/app/components/createNetwork/createnetwork.html +++ b/app/components/createNetwork/createnetwork.html @@ -78,6 +78,35 @@ + +
+ +
+ + label + +
+ +
+
+
+ name + +
+
+ value + + + + +
+
+
+ +
+