[Kimchi-devel] [PATCH] [Kimchi] [RFC] Max memory front-end
Aline Manera
alinefm at linux.vnet.ibm.com
Mon Feb 15 13:01:40 UTC 2016
On 02/02/2016 10:03 AM, sguimaraes943 at gmail.com wrote:
> From: Samuel Guimarães <sguimaraes943 at gmail.com>
>
> This patch adds a hidden "Max Memory" numbered input in Edit Guests. It also changes memory "text" input in Edit Templates to "number" to match Edit Guests ui.
> Validation (form submission) wasn't added as the selected guest json doesn't have a "max memory" key.
>
> Signed-off-by: Samuel Guimarães <sguimaraes943 at gmail.com>
> ---
> ui/css/kimchi.css | 27 ++++++++++++++++++++-------
> ui/css/src/modules/_edit-guests.scss | 14 +++++++++++++-
> ui/js/src/kimchi.guest_edit_main.js | 9 ++++++++-
> ui/pages/guest-edit.html.tmpl | 9 ++++++++-
> ui/pages/i18n.json.tmpl | 2 ++
> ui/pages/template-edit.html.tmpl | 2 +-
> 6 files changed, 52 insertions(+), 11 deletions(-)
>
> diff --git a/ui/css/kimchi.css b/ui/css/kimchi.css
> index 88ae7de..d032c4c 100644
> --- a/ui/css/kimchi.css
> +++ b/ui/css/kimchi.css
> @@ -78,7 +78,7 @@
> #guest-add-window.modal-content label.box-iso-outer span.box-iso-border {
> display: block;
> border: 3px solid transparent;
> - transition: all .1s ease-in-out;
> + transition: all 0.1s ease-in-out;
> }
>
> #template-add-window.modal-content label.box-iso-outer .iso-radio-hidden:checked + span.box-iso-border,
> @@ -100,7 +100,7 @@
> display: block;
> border: 1px solid transparent;
> background: #fff;
> - transition: all .1s ease-in-out;
> + transition: all 0.1s ease-in-out;
> }
>
> #template-add-window.modal-content ul.list-template,
> @@ -666,10 +666,20 @@
> position: relative;
> }
>
> -#guest-edit-window #form-guest-edit-general #guest-edit-memory-textbox {
> +#guest-edit-window #form-guest-edit-general #guest-max-memory-panel {
> + display: none;
> +}
> +
> +#guest-edit-window #form-guest-edit-general #guest-edit-memory-textbox,
> +#guest-edit-window #form-guest-edit-general #guest-edit-max-memory-textbox {
> width: 590px;
> }
>
> +#guest-edit-window #form-guest-edit-general #guest-edit-memory-textbox,
> +#guest-edit-window #form-guest-edit-general #guest-show-max-memory {
> + display: inline-block;
> +}
> +
> #guest-edit-window #form-guest-edit-interface .column-actions {
> width: 23%;
> }
> @@ -1007,7 +1017,7 @@
> border: 1px solid #eee !important;
> margin-bottom: 3px;
> display: block;
> - padding: .2em .6em .3em;
> + padding: 0.2em 0.6em 0.3em;
> font-weight: 700;
> line-height: 1;
> text-align: left;
> @@ -1250,7 +1260,7 @@
> height: 664px;
> width: 2164px;
> left: 0;
> - transition: left .2s ease-in-out;
> + transition: left 0.2s ease-in-out;
> }
>
> #template-add-window.modal-content p {
> @@ -1526,7 +1536,9 @@
> padding-right: 35px !important;
> }
>
> -#templates-root-container .wok-vm-gallery .item-hidden.column-type, #templates-root-container .wok-vm-gallery .item-hidden.column-version, #templates-root-container .wok-vm-gallery .item-hidden.column-processors {
> +#templates-root-container .wok-vm-gallery .item-hidden.column-type,
> +#templates-root-container .wok-vm-gallery .item-hidden.column-version,
> +#templates-root-container .wok-vm-gallery .item-hidden.column-processors {
> padding-bottom: 11px;
> }
>
> @@ -2067,7 +2079,8 @@
> white-space: nowrap;
> }
>
> -.storage-modal .filter-select.popable .popover ul li:hover, .storage-modal .filter-select.popable .popover ul li:focus,
> +.storage-modal .filter-select.popable .popover ul li:hover,
> +.storage-modal .filter-select.popable .popover ul li:focus,
> .storage-modal .storage-target-input .popover ul li:hover,
> .storage-modal .storage-target-input .popover ul li:focus,
> .storage-modal .storage-add-input .popover ul li:hover,
> diff --git a/ui/css/src/modules/_edit-guests.scss b/ui/css/src/modules/_edit-guests.scss
> index 4d642f3..057aad9 100644
> --- a/ui/css/src/modules/_edit-guests.scss
> +++ b/ui/css/src/modules/_edit-guests.scss
> @@ -25,9 +25,21 @@
> position: relative;
> }
> #form-guest-edit-general {
> - #guest-edit-memory-textbox {
> +
> + #guest-max-memory-panel {
> + display: none;
> + }
> +
> + #guest-edit-memory-textbox,
> + #guest-edit-max-memory-textbox {
> width: 590px;
> }
> +
> + #guest-edit-memory-textbox,
> + #guest-show-max-memory {
> + display: inline-block;
> + }
> +
> }
> #form-guest-edit-interface {
> .column-actions {
> diff --git a/ui/js/src/kimchi.guest_edit_main.js b/ui/js/src/kimchi.guest_edit_main.js
> index 136469b..aa09b65 100644
> --- a/ui/js/src/kimchi.guest_edit_main.js
> +++ b/ui/js/src/kimchi.guest_edit_main.js
> @@ -669,9 +669,16 @@ kimchi.guest_edit_main = function() {
> wok.window.open('plugins/kimchi/guest-storage-add.html', 'extendCreateStorage');
> });
> if ((kimchi.thisVMState === "running") || (kimchi.thisVMState === "paused")) {
> - $("#form-guest-edit-general input").not("#guest-edit-memory-textbox").prop("disabled", true);
> + $("#form-guest-edit-general input").not("#guest-edit-memory-textbox, #guest-edit-max-memory-textbox").prop("disabled", true);
> }
>
> + $('#guest-show-max-memory').on('click', function(e) {
> + e.preventDefault;
> + $('#guest-max-memory-panel').slideToggle();
> + var text = $('#guest-show-max-memory span.text').text();
> + $('#guest-show-max-memory span.text').text(text == i18n['KCHVMED6008M'] ? i18n['KCHVMED6009M'] : i18n['KCHVMED6008M']);
> + });
> +
> var onAttached = function(params) {
> refreshCDROMs();
> };
> diff --git a/ui/pages/guest-edit.html.tmpl b/ui/pages/guest-edit.html.tmpl
> index 0ad635c..b3e5817 100644
> --- a/ui/pages/guest-edit.html.tmpl
> +++ b/ui/pages/guest-edit.html.tmpl
> @@ -50,7 +50,14 @@
> </div>
> <div class="form-group">
> <label for="guest-edit-memory-textbox">$_("Memory (MB)")</label>
> - <input id="guest-edit-memory-textbox" class="form-control" name="memory" type="number" min="1024" step="1024" />
> + <div id="guest-memory">
> + <input id="guest-edit-memory-textbox" class="form-control" name="memory" type="number" min="1024" step="1024" />
> + <button id="guest-show-max-memory" class="btn btn-primary" type="button"><i class="fa fa-plus-circle"></i> <span class="text">$_("More")</span></button>
> + </div>
> + </div>
> + <div id="guest-max-memory-panel" class="form-group">
> + <label for="guest-edit-max-memory-textbox">$_("Max Memory (MB)")</label>
> + <input id="guest-edit-max-memory-textbox" class="form-control" name="max-memory" type="number" min="1024" step="1024" />
> </div>
> <div class="form-group">
> <label for="guest-edit-icon-textbox">$_("Icon")</label>
> diff --git a/ui/pages/i18n.json.tmpl b/ui/pages/i18n.json.tmpl
> index 8bc8683..c06b9be 100644
> --- a/ui/pages/i18n.json.tmpl
> +++ b/ui/pages/i18n.json.tmpl
> @@ -78,6 +78,8 @@
> "KCHVMED6005M": "$_("drive_type:")",
> "KCHVMED6006M": "$_("model:")",
> "KCHVMED6007M": "$_("Affected devices:")",
> + "KCHVMED6008M": "$_("More")",
> + "KCHVMED6009M": "$_("Less")",
>
> "KCHNET6001E": "$_("The VLAN id must be between 1 and 4094.")",
>
> diff --git a/ui/pages/template-edit.html.tmpl b/ui/pages/template-edit.html.tmpl
> index 478ccd5..47d4175 100644
> --- a/ui/pages/template-edit.html.tmpl
> +++ b/ui/pages/template-edit.html.tmpl
> @@ -82,7 +82,7 @@
> <input id="template-edit-version-textbox" class="form-control" name="os_version" type="text" disabled="disabled" />
> </div>
> <div class="template-edit-wrapper-controls">
> - <input id="template-edit-memory-textbox" class="form-control" name="memory" type="text" />
> + <input id="template-edit-memory-textbox" class="form-control" name="memory" type="number" step="1" min="1" />
Please, add the max memory field to the Edit Template dialog too.
The API will be the same as for the guest:
memory: {current: XXX, maxmemory: YYY}
> </div>
> <div class="template-edit-wrapper-controls templ-edit-cdrom">
> <input id="template-edit-cdrom-textbox" class="form-control" name="cdrom" type="text" disabled="disabled" />
More information about the Kimchi-devel
mailing list