[Kimchi-devel] [PATCH 1/2] Eject cdrom: Change js support for eject cdrom
Hongliang Wang
hlwang at linux.vnet.ibm.com
Thu Jun 5 08:31:21 UTC 2014
On 06/05/2014 04:22 PM, lvroyce at linux.vnet.ibm.com wrote:
> From: Royce Lv <lvroyce at linux.vnet.ibm.com>
>
> Add new api of eject, and support eject for cdrom which has
> media in it.
>
> Signed-off-by: Royce Lv <lvroyce at linux.vnet.ibm.com>
Reviewed-by: Hongliang Wang <hlwang at linux.vnet.ibm.com>
> ---
> ui/js/src/kimchi.api.js | 13 +++++++++++
> ui/js/src/kimchi.guest_cdrom_edit_main.js | 1 +
> ui/js/src/kimchi.guest_media_main.js | 38 ++++++++++++++++++++++++++++---
> 3 files changed, 49 insertions(+), 3 deletions(-)
>
> diff --git a/ui/js/src/kimchi.api.js b/ui/js/src/kimchi.api.js
> index 7d85fdf..9da04a5 100644
> --- a/ui/js/src/kimchi.api.js
> +++ b/ui/js/src/kimchi.api.js
> @@ -816,6 +816,19 @@ var kimchi = {
> });
> },
>
> + ejectVMStorage : function(settings, suc, err) {
> + var vm = encodeURIComponent(settings['vm']);
> + var dev = encodeURIComponent(settings['dev']);
> + kimchi.requestJSON({
> + url : kimchi.url + 'vms/' + vm + '/storages/' + dev + '/eject',
> + type : 'POST',
> + contentType : 'application/json',
> + dataType : 'json',
> + success : suc,
> + error : err
> + });
> + },
> +
> deleteVMStorage : function(settings, suc, err) {
> var vm = settings['vm'];
> var dev = settings['dev'];
> diff --git a/ui/js/src/kimchi.guest_cdrom_edit_main.js b/ui/js/src/kimchi.guest_cdrom_edit_main.js
> index abce9a5..19fbf08 100644
> --- a/ui/js/src/kimchi.guest_cdrom_edit_main.js
> +++ b/ui/js/src/kimchi.guest_cdrom_edit_main.js
> @@ -82,4 +82,5 @@ kimchi.guest_cdrom_edit_main = function() {
> ($(this).val() === '');
> $(submitButton).prop('disabled', invalid);
> });
> + pathTextbox.select();
> };
> diff --git a/ui/js/src/kimchi.guest_media_main.js b/ui/js/src/kimchi.guest_media_main.js
> index 02009ec..1661b33 100644
> --- a/ui/js/src/kimchi.guest_media_main.js
> +++ b/ui/js/src/kimchi.guest_media_main.js
> @@ -32,14 +32,46 @@ kimchi.guest_media_main = function() {
> container.append(templated);
> });
>
> - var replaceCDROM = function(event) {
> + var insertCDROM = function(event) {
> event.preventDefault();
> kimchi.selectedGuestStorage = $(this).data('dev');
> kimchi.window.open("guest-cdrom-edit.html");
> };
>
> - $('input[type="text"][name="cdrom"]', container).on('click', replaceCDROM);
> - $('.replace', container).on('click', replaceCDROM);
> +
> + cdroms = $('input[type="text"][name="cdrom"]', container);
> + $.each(cdroms, function(index, cdroms) {
> + if($(this).val() == "") {
> + $('.eject', $(this).parent()).addClass("hidden");
> + $('.replace', $(this).parent()).addClass("hidden");
> + }
> + else {
> + $('.insert', $(this).parent()).addClass("hidden");
> + }
> + });
> + var ejectCDROM = function(event) {
> + var settings = {
> + vm: kimchi.selectedGuest,
> + dev: $(this).data('dev'),
> + };
> +
> + event.preventDefault();
> + kimchi.ejectVMStorage(settings, function(result) {
> + kimchi.topic('kimchi/vmCDROMReplaced').publish({
> + result: result
> + });
> + }, function(result) {
> + var errText = result['reason'] ||
> + result['responseJSON']['reason'];
> + kimchi.message.error(errText);
> + });
> + };
> +
> +
> + $('input[type="text"][name="cdrom"]', container).on('click', insertCDROM);
> + $('.insert', container).on('click', insertCDROM);
> + $('.replace', container).on('click', insertCDROM);
> + $('.eject', container).on('click', ejectCDROM);
> });
> };
>
More information about the Kimchi-devel
mailing list