On 02/02/2016 10:03 AM, sguimaraes943(a)gmail.com wrote:
From: Samuel GuimarĂ£es <sguimaraes943(a)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(a)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" />