[PATCH] [Kimchi] Enabling multiselect for VEPA networks

From: Samuel Guimarães <sguimaraes943@gmail.com> This patch enables multiselect when the user chooses a VEPA network in "Add a Network" modal window. -Multiselect is enabled when interfaces > 1 -If nothing is selected, "Create" button won't be disabled but an error message will be displayed. -Default text when multiselect is enabled is "Select an Interface" -Search/filter is enabled when interfaces > 10 This won't work unless the latest version of Bootstrap-select is applied (patch sent to ML). Samuel Guimarães (1): Enabling multiselect for VEPA networks ui/js/src/kimchi.network_add_main.js | 10 ++++++++++ ui/pages/network-add.html.tmpl | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) -- 1.8.3.1

From: Samuel Guimarães <sguimaraes943@gmail.com> Signed-off-by: Samuel Guimarães <sguimaraes943@gmail.com> --- ui/js/src/kimchi.network_add_main.js | 10 ++++++++++ ui/pages/network-add.html.tmpl | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/ui/js/src/kimchi.network_add_main.js b/ui/js/src/kimchi.network_add_main.js index 521b450..99e42c1 100644 --- a/ui/js/src/kimchi.network_add_main.js +++ b/ui/js/src/kimchi.network_add_main.js @@ -107,6 +107,16 @@ kimchi.setupNetworkFormEvent = function() { $('#networkType').on('change', function() { var selectedType = $("#networkType").val(); if(selectedType === kimchi.NETWORK_TYPE_MACVTAP || selectedType === kimchi.NETWORK_TYPE_VEPA) { + if (selectedType === kimchi.NETWORK_TYPE_VEPA){ + $('#networkDestinationID').attr('multiple', true); + if($('#networkDestinationID option').length > 10 ) { + $('#networkDestinationID').data('liveSearch',true); + } + } + else { + $('#networkDestinationID').attr('multiple', false).data('liveSearch',false); + } + $('#networkDestinationID').selectpicker('destroy'); kimchi.loadInterfaces(new Array("nic", "bonding")); } else { kimchi.loadInterfaces(); diff --git a/ui/pages/network-add.html.tmpl b/ui/pages/network-add.html.tmpl index 715597a..7a2fadb 100644 --- a/ui/pages/network-add.html.tmpl +++ b/ui/pages/network-add.html.tmpl @@ -51,7 +51,7 @@ <div id="bridgedContent"> <div class="form-group"> <label for="networkDestinationID">$_("Destination"): </label> - <select id="networkDestinationID" class="selectpicker col-md-12 col-lg-12"> + <select id="networkDestinationID" data-size="5" class="selectpicker col-md-12 col-lg-12 form-control" data-none-selected-text="$_('Select an Interface')"> </select> </div> <div class="form-group" id="vlan"> -- 1.8.3.1

Reviewed by: Jose Ricardo Ziviani <joserz@linux.vnet.ibm.com> On 22-03-2016 18:25, sguimaraes943@gmail.com wrote:
From: Samuel Guimarães <sguimaraes943@gmail.com>
Signed-off-by: Samuel Guimarães <sguimaraes943@gmail.com> --- ui/js/src/kimchi.network_add_main.js | 10 ++++++++++ ui/pages/network-add.html.tmpl | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/ui/js/src/kimchi.network_add_main.js b/ui/js/src/kimchi.network_add_main.js index 521b450..99e42c1 100644 --- a/ui/js/src/kimchi.network_add_main.js +++ b/ui/js/src/kimchi.network_add_main.js @@ -107,6 +107,16 @@ kimchi.setupNetworkFormEvent = function() { $('#networkType').on('change', function() { var selectedType = $("#networkType").val(); if(selectedType === kimchi.NETWORK_TYPE_MACVTAP || selectedType === kimchi.NETWORK_TYPE_VEPA) { + if (selectedType === kimchi.NETWORK_TYPE_VEPA){ + $('#networkDestinationID').attr('multiple', true); + if($('#networkDestinationID option').length > 10 ) { + $('#networkDestinationID').data('liveSearch',true); + } + } + else { + $('#networkDestinationID').attr('multiple', false).data('liveSearch',false); + } + $('#networkDestinationID').selectpicker('destroy'); kimchi.loadInterfaces(new Array("nic", "bonding")); } else { kimchi.loadInterfaces(); diff --git a/ui/pages/network-add.html.tmpl b/ui/pages/network-add.html.tmpl index 715597a..7a2fadb 100644 --- a/ui/pages/network-add.html.tmpl +++ b/ui/pages/network-add.html.tmpl @@ -51,7 +51,7 @@ <div id="bridgedContent"> <div class="form-group"> <label for="networkDestinationID">$_("Destination"): </label> - <select id="networkDestinationID" class="selectpicker col-md-12 col-lg-12"> + <select id="networkDestinationID" data-size="5" class="selectpicker col-md-12 col-lg-12 form-control" data-none-selected-text="$_('Select an Interface')"> </select> </div> <div class="form-group" id="vlan">
-- Jose Ricardo Ziviani ----------------------------- Software Engineer Linux Technology Center - IBM

Applied. Thanks. Regards, Aline Manera
participants (3)
-
Aline Manera
-
Jose Ricardo Ziviani
-
sguimaraes943@gmail.com