[Kimchi-devel] [PATCH] [Kimchi] Create Template UI adjustments based on feedback; added Not Available to be displayed for Size when there's no size and move remote/local iso icon to bottom right
Socorro Stoppler
socorro at linux.vnet.ibm.com
Wed Apr 20 19:23:44 UTC 2016
Signed-off-by: Socorro Stoppler <socorro at linux.vnet.ibm.com>
---
ui/css/kimchi.css | 36 ++++
ui/css/src/modules/_templates.scss | 30 +++
ui/js/src/kimchi.template_add_main.js | 337 ++++++----------------------------
ui/pages/i18n.json.tmpl | 1 +
ui/pages/template-add.html.tmpl | 81 ++------
5 files changed, 136 insertions(+), 349 deletions(-)
diff --git a/ui/css/kimchi.css b/ui/css/kimchi.css
index 5afa55d..1d33d45 100644
--- a/ui/css/kimchi.css
+++ b/ui/css/kimchi.css
@@ -1628,6 +1628,42 @@ body.wok-gallery {
left: 0;
}
+#template-add-window .filter {
+ height: 40px;
+ overflow: visible;
+ clear: both;
+}
+
+#template-add-window .pull-right .bootstrap-select:not([class*=col-]):not([class*=form-control]):not(.input-group-btn) {
+ width: 133px;
+}
+
+#template-add-window .filter input[type="text"].form-control {
+ width: 460px;
+ height: 40px;
+ float: right;
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+}
+
+#template-add-window .filter .bootstrap-select.btn-group .btn .caret {
+ border-left: 0;
+}
+
+#template-add-window .filter button.btn.dropdown-toggle.form-control.selectpicker.btn-default {
+ border-top-right-radius: 0 !important;
+ border-bottom-right-radius: 0 !important;
+ background: #fcfcfc;
+ border-right: 0;
+}
+
+#template-add-window span.iso-image-indicator {
+ position: absolute;
+ bottom: 10px;
+ right: 10px;
+ font-size: 32px;
+}
+
/* VM List View classes*/
#templates-root-container .grid-control input[type="text"] {
height: 38px;
diff --git a/ui/css/src/modules/_templates.scss b/ui/css/src/modules/_templates.scss
index 86b9305..a9f0e8f 100644
--- a/ui/css/src/modules/_templates.scss
+++ b/ui/css/src/modules/_templates.scss
@@ -217,6 +217,36 @@
&.modal-content div#iso-local-box {
left: 0;
}
+ .filter {
+ height: 40px;
+ overflow: visible;
+ clear: both;
+ }
+ .pull-right .bootstrap-select:not([class*=col-]):not([class*=form-control]):not(.input-group-btn) {
+ width: 133px;
+ }
+ .filter input[type="text"].form-control {
+ width: 460px;
+ height: 40px;
+ float: right;
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+ }
+ .filter .bootstrap-select.btn-group .btn .caret {
+ border-left: 0;
+ }
+ .filter button.btn.dropdown-toggle.form-control.selectpicker.btn-default {
+ border-top-right-radius: 0 !important;
+ border-bottom-right-radius: 0 !important;
+ background: $table-bg-accent;
+ border-right: 0;
+ }
+ span.iso-image-indicator {
+ position: absolute;
+ bottom: 10px;
+ right: 10px;
+ font-size: 32px;
+ }
}
diff --git a/ui/js/src/kimchi.template_add_main.js b/ui/js/src/kimchi.template_add_main.js
index fa5c847..c3dd014 100644
--- a/ui/js/src/kimchi.template_add_main.js
+++ b/ui/js/src/kimchi.template_add_main.js
@@ -15,41 +15,12 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-kimchi.switchPage = function(fromPageId, toPageId, direction) {
- $('.tab-content').css('overflow', 'hidden');
- direction = direction || 'left';
- var toLeftBegin;
- var fromLeftEnd;
- if ('left' === direction) {
- toLeftBegin = '100%';
- fromLeftEnd = '-100%';
- } else if ('right' === direction) {
- toLeftBegin = '-100%';
- fromLeftEnd = '100%';
- }
- var formPage = $('#' + fromPageId);
- var toPage = $('#' + toPageId);
- toPage.css({
- left: toLeftBegin
- });
- formPage.animate({
- left: fromLeftEnd,
- opacity: 0.1
- }, 400, function() {
- $('.tab-content').css('overflow', 'visible');
- });
- toPage.animate({
- left: '0',
- opacity: 1
- }, 400, function() {
- $('.tab-content').css('overflow', 'visible');
- });
-};
-
kimchi.template_add_main = function() {
"use strict";
- var currentPage = 'iso-local-box';
kimchi.deepScanHandler = null;
+ var isos = [];
+ var local_isos = [];
+ var remote_isos = [];
var deepScan = function(button) {
kimchi.deepScanHandler = kimchi.stepListDeepScanIsos(function(isos, isFinished) {
@@ -76,7 +47,6 @@ kimchi.template_add_main = function() {
});
};
- //1-1-1 local iso list
var initLocalIsoField = function() {
kimchi.isoInfo = {};
$('#local-iso-field').hide();
@@ -94,51 +64,43 @@ kimchi.template_add_main = function() {
$('#iso-url').val(''); // 4 - Remote folder path text
$('#btn-template-file-create').attr('disabled', 'disabled').css('display', 'inline-block'); // 1 - Folder path
$('#btn-template-local-iso-create').attr('disabled', 'disabled').css('display', 'none'); // 2 - Selected ISOs
- $('#vm-image-local-box-button').attr('disabled', 'disabled').css('display', 'none'); // 3 - File path
- $('#btn-template-url-create').attr('disabled', 'disabled').css('display', 'none'); // 4 - Remote folder path
- $('#btn-template-remote-iso-create').attr('disabled', 'disabled').css('display', 'none'); // 5 - Remote selected isos
$('#select-all-local-iso, #select-all-remote-iso').prop('checked', false); // False to all select-all checkboxes
$('#list-local-iso [type="checkbox"], #list-remote-iso [type="checkbox"]').prop('checked', false); // False to all list checkboxes
-
};
var showLocalIsoField = function(isos) {
var html = '';
var template = $('#tmpl-list-local-iso').html();
$.each(isos, function(index, volume) {
+ if ((volume.path).indexOf('http') === -1) { // Didn't find 'http', so must be local
+ volume.icon = 'fa fa-hdd-o';
+ } else {
+ volume.icon = 'fa fa-globe';
+ }
var isoId = volume.os_distro + '*' + volume.name + '*' + volume.os_version;
if (!kimchi.isoInfo[isoId]) {
volume.isoId = isoId;
volume.capacity = wok.changetoProperUnit(volume.capacity, 1);
+ if (volume.capacity === "") {
+ volume.capacity = i18n['KCHTMPL6006M'];
+ }
kimchi.isoInfo[isoId] = volume;
html += wok.substitute(template, volume);
}
});
+
$('#list-local-iso').append(html);
$('#local-iso-field').show();
};
-
- //1-1-2 local iso file
var initIsoFileField = function() {
- //$('#iso-file-check').prop('checked', false);
$('#iso-file').val('');
$('vm-image-local-text').val('');
$('#iso-url').val('');
$('#btn-template-file-create').attr('disabled', 'disabled').css('display', 'inline-block');
-
$('#btn-template-local-iso-create').attr('disabled', 'disabled').css('display', 'none'); // 2 - Selected ISOs
-
- $('#vm-image-local-box-button').attr('disabled', 'disabled').css('display', 'none'); // 3 - File path
-
- $('#btn-template-url-create').attr('disabled', 'disabled').css('display', 'none'); // 4 - Remote folder path
-
- $('#btn-template-remote-iso-create').attr('disabled', 'disabled').css('display', 'none'); // 5 - Remote selected isos
-
$('#select-all-local-iso, #select-all-remote-iso').prop('checked', false); // False to all select-all checkboxes
-
$('#list-local-iso [type="checkbox"], #list-remote-iso [type="checkbox"]').prop('checked', false); // False to all list checkboxes
-
};
$('#iso-file').on('input propertychange keyup focus cut paste click', function() {
@@ -152,9 +114,6 @@ kimchi.template_add_main = function() {
}, 0);
if ($('#iso-file').val()) {
$('#btn-template-local-iso-create').attr('disabled', 'disabled').css('display', 'none'); // 2 - Selected ISOs
- $('#vm-image-local-box-button').attr('disabled', 'disabled').css('display', 'none'); // 3 - File path
- $('#btn-template-url-create').attr('disabled', 'disabled').css('display', 'none'); // 4 - Remote folder path
- $('#btn-template-remote-iso-create').attr('disabled', 'disabled').css('display', 'none'); // 5 - Remote selected isos
} else {
$('#btn-template-file-create').attr('disabled', 'disabled');
}
@@ -162,57 +121,58 @@ kimchi.template_add_main = function() {
initLocalIsoField();
initIsoFileField();
- kimchi.listIsos(function(isos) {
- if (isos && isos.length) {
- showLocalIsoField(isos);
- $('#iso-more').show();
- } else {
- $('#iso-search').show();
- }
+
+ kimchi.listIsos(function(local_isos) { //local ISOs
+ kimchi.listDistros(function(remote_isos) { //remote ISOs
+ isos = local_isos.concat(remote_isos); //all isos
+ if (isos && isos.length) {
+ showLocalIsoField(isos);
+ $('#iso-more').show();
+ } else {
+ $('#iso-search').show();
+ }
+ });
}, function(err) {
wok.message.error(err.responseJSON.reason, '#local-iso-error-container');
});
+
$('#template-add-window .modal-body .template-pager').animate({
height: "689px"
}, 400);
- // 1-1 local iso
- $('#iso-local').change(function() {
- if (this.checked) {
- if (currentPage === 'vm-image-local-box') {
- kimchi.switchPage(currentPage, 'iso-local-box', 'right');
- } else if (currentPage === 'iso-remote-box') {
- kimchi.switchPage(currentPage, 'iso-local-box', 'right');
+ var filterISOs = function(group, text) {
+ text = text.trim().split(" ");
+ var list = $('#isoRow').find('li');
+ if(text === ""){
+ list.show();
+ return;
+ }
+ list.hide();
+
+ list.filter(function(index, value){
+ var $li = $(this);
+ for (var i = 0; i < text.length; ++i){
+ if ($li.is(":containsNC('" + text[i] + "')")) {
+ if (group === 'all') {
+ return true;
+ } else if (group === 'local') {
+ return true;
+ } else if (group === 'remote') {
+ return true;
+ }
+ }
}
- currentPage = 'iso-local-box';
- $('#template-add-window .modal-body .template-pager').animate({
- height: "689px"
- }, 400);
- initLocalIsoField();
- initIsoFileField();
-
- $('#btn-template-file-create').attr('disabled', 'disabled').css('display', 'inline-block'); // 1 - Folder path
-
- $('#btn-template-local-iso-create').attr('disabled', 'disabled').css('display', 'none'); // 2 - Selected ISOs
-
- $('#vm-image-local-box-button').attr('disabled', 'disabled').css('display', 'none'); // 3 - File path
+ return false;
+ }).show();
+ };
- $('#btn-template-url-create').attr('disabled', 'disabled').css('display', 'none'); // 4 - Remote folder path
+ var setupFilters = function() {
+ $('input#template-add-iso-filter', '#form-template-add').on('keyup', function() {
+ filterISOs("all", $(this).val()); // Default to 'all' for now
+ });
+ };
- $('#btn-template-remote-iso-create').attr('disabled', 'disabled').css('display', 'none'); // 5 - Remote selected isos
-
- kimchi.listIsos(function(isos) {
- if (isos && isos.length) {
- showLocalIsoField(isos);
- $('#iso-more').show();
- } else {
- $('#iso-search').show();
- }
- }, function(err) {
- wok.message.error(err.responseJSON.reason, '#local-iso-error-container');
- });
- }
- });
+ setupFilters();
$('#iso-search').click(function() {
var settings = {
@@ -263,12 +223,6 @@ kimchi.template_add_main = function() {
$('#btn-template-local-iso-create').removeAttr('disabled').css('display', 'inline-block'); // 2 - Selected ISOs
- $('#vm-image-local-box-button').attr('disabled', 'disabled').css('display', 'none'); // 3 - File path
-
- $('#btn-template-url-create').attr('disabled', 'disabled').css('display', 'none'); // 4 - Remote folder path
-
- $('#btn-template-remote-iso-create').attr('disabled', 'disabled').css('display', 'none'); // 5 - Remote selected isos
-
} else {
$('#btn-template-local-iso-create').attr('disabled', 'disabled');
}
@@ -282,14 +236,8 @@ kimchi.template_add_main = function() {
$('#iso-url').val('');
$('#btn-template-file-create').attr('disabled', 'disabled').css('display', 'none'); // 1 - Folder path
-
$('#btn-template-local-iso-create').attr('disabled', 'disabled').css('display', 'inline-block'); // 2 - Selected ISOs
- $('#vm-image-local-box-button').attr('disabled', 'disabled').css('display', 'none'); // 3 - File path
-
- $('#btn-template-url-create').attr('disabled', 'disabled').css('display', 'none'); // 4 - Remote folder path
-
- $('#btn-template-remote-iso-create').attr('disabled', 'disabled').css('display', 'none'); // 5 - Remote selected isos
if (checkedLength) {
$('#btn-template-local-iso-create').removeAttr('disabled');
var length = $('#list-local-iso [type="checkbox"]').length;
@@ -302,12 +250,11 @@ kimchi.template_add_main = function() {
});
$('#btn-template-local-iso-create').click(function() {
- submitIso('form-local-iso');
+ submitIso();
});
$('#btn-template-file-create').click(function() {
var isoFile = $('#iso-file').val();
- $('vm-image-local-text').val('');
if (!kimchi.template_check_path(isoFile)) {
wok.message.error(i18n['KCHAPI6003E'],'#local-iso-error-container');
return;
@@ -318,9 +265,6 @@ kimchi.template_add_main = function() {
addTemplate(data);
});
- //1-2 remote iso
- $('#iso-remote').attr("disabled", true).css('cursor', 'not-allowed');
-
var enabledRemoteIso = function() {
if (kimchi.capabilities === undefined) {
setTimeout(enabledRemoteIso, 2000);
@@ -330,36 +274,15 @@ kimchi.template_add_main = function() {
if (kimchi.capabilities.qemu_stream !== true) {
return;
}
-
- $('#iso-remote').attr("disabled", false).css('cursor', 'pointer');
- $('#iso-remote').change(function() {
- if (this.checked) {
- if (currentPage === 'iso-local-box') { // slide twice
- kimchi.switchPage(currentPage, 'iso-remote-box', 'left');
- } else if (currentPage === 'vm-image-local-box') { // slide once
- kimchi.switchPage(currentPage, 'iso-remote-box', 'left');
- }
- currentPage = 'iso-remote-box';
- $('#template-add-window .modal-body .template-pager').animate({
- height: "635px"
- }, 400);
- initRemoteIsoField();
- initIsoUrlField();
- kimchi.listDistros(function(isos) {
- showRemoteIsoField(isos);
- }, function() {});
- }
- });
};
+
enabledRemoteIso();
- //1-2-1 remote iso list
var initRemoteIsoField = function() {
$('#load-remote-iso').show();
$('#remote-iso-field').hide();
$('#iso-url-field').hide();
$('#select-all-remote-iso').prop('checked', false);
- $('#btn-template-remote-iso-create').attr('disabled', 'disabled');
$('#iso-file').val('');
$('vm-image-local-text').val('');
@@ -369,12 +292,6 @@ kimchi.template_add_main = function() {
$('#btn-template-local-iso-create').attr('disabled', 'disabled').css('display', 'none'); // 2 - Selected ISOs
- $('#vm-image-local-box-button').attr('disabled', 'disabled').css('display', 'none'); // 3 - File path
-
- $('#btn-template-url-create').attr('disabled', 'disabled').css('display', 'inline-block'); // 4 - Remote folder path
-
- $('#btn-template-remote-iso-create').attr('disabled', 'disabled').css('display', 'none'); // 5 - Remote selected isos
-
$('#select-all-local-iso, #select-all-remote-iso').prop('checked', false); // False to all select-all checkboxes
$('#list-local-iso [type="checkbox"], #list-remote-iso [type="checkbox"]').prop('checked', false); // False to all list checkboxes
@@ -405,152 +322,14 @@ kimchi.template_add_main = function() {
}
};
- $('#select-all-remote-iso').click(function() {
- $('#list-remote-iso [type="checkbox"]').prop('checked', $(this).prop('checked'));
- if ($(this).prop('checked')) {
-
- $('#iso-file').val('');
- $('vm-image-local-text').val('');
- $('#iso-url').val('');
- $('#iso-url').parent().removeClass('has-error');
-
- $('#btn-template-file-create').attr('disabled', 'disabled').css('display', 'none'); // 1 - Folder path
-
- $('#btn-template-local-iso-create').attr('disabled', 'disabled').css('display', 'none'); // 2 - Selected ISOs
-
- $('#vm-image-local-box-button').attr('disabled', 'disabled').css('display', 'none'); // 3 - File path
-
- $('#btn-template-url-create').attr('disabled', 'disabled').css('display', 'none'); // 4 - Remote folder path
-
- $('#btn-template-remote-iso-create').removeAttr('disabled').css('display', 'inline-block'); // 5 - Remote selected isos
-
- } else {
- $('#btn-template-remote-iso-create').attr('disabled', 'disabled');
- }
- });
-
- $('#list-remote-iso').on('click', '[type="checkbox"]', function() {
- $('#iso-url').parent().removeClass('has-error');
- var checkedLength = $('#list-remote-iso [type="checkbox"]:checked').length;
- if (checkedLength) {
- $('#btn-template-remote-iso-create').removeAttr('disabled');
- var length = $('#list-remote-iso [type="checkbox"]').length;
- $('#select-all-remote-iso').prop('checked', length === checkedLength);
-
- $('#iso-file').val('');
- $('vm-image-local-text').val('');
- $('#iso-url').val('');
-
- $('#btn-template-file-create').attr('disabled', 'disabled').css('display', 'none'); // 1 - Folder path
-
- $('#btn-template-local-iso-create').attr('disabled', 'disabled').css('display', 'none'); // 2 - Selected ISOs
-
- $('#vm-image-local-box-button').attr('disabled', 'disabled').css('display', 'none'); // 3 - File path
-
- $('#btn-template-url-create').attr('disabled', 'disabled').css('display', 'none'); // 4 - Remote folder path
-
- $('#btn-template-remote-iso-create').removeAttr('disabled').css('display', 'inline-block'); // 5 - Remote selected isos
-
- } else {
- $('#select-all-remote-iso').prop('checked', false);
- $('#btn-template-remote-iso-create').attr('disabled', 'disabled');
- }
- });
-
- $('#btn-template-remote-iso-create').click(function() {
- submitIso('form-remote-iso');
- });
-
- //1-2-2 remote iso url
- var initIsoUrlField = function() {
-
- $('#iso-file').val('');
- $('vm-image-local-text').val('');
- $('#iso-url').val('');
-
- $('#btn-template-file-create').attr('disabled', 'disabled').css('display', 'none'); // 1 - Folder path
-
- $('#btn-template-local-iso-create').attr('disabled', 'disabled').css('display', 'none'); // 2 - Selected ISOs
-
- $('#vm-image-local-box-button').attr('disabled', 'disabled').css('display', 'none'); // 3 - File path
-
- $('#btn-template-url-create').attr('disabled', 'disabled').css('display', 'inline-block'); // 4 - Remote folder path
-
- $('#btn-template-remote-iso-create').attr('disabled', 'disabled').css('display', 'none'); // 5 - Remote selected isos
-
- };
-
$('#iso-url').on('input propertychange keyup focus cut paste click', function() {
$('#select-all-local-iso, #select-all-remote-iso').prop('checked', false);
$('#list-local-iso [type="checkbox"], #list-remote-iso [type="checkbox"]').prop('checked', false);
- $('#btn-template-url-create').attr('disabled', 'disabled').css('display', 'inline-block');
- $('#btn-template-remote-iso-create').attr('disabled', 'disabled').css('display', 'none');
setTimeout(function() {
var isValid = kimchi.template_check_url($('input#iso-url').val());
$('input#iso-url').parent().toggleClass('has-error', !isValid);
- $('#btn-template-url-create').attr('disabled', (isValid ? false : true));
}, 0);
});
-
- $('#vm-image-local').change(function() {
- if (this.checked) {
- if (currentPage === 'iso-local-box') {
- kimchi.switchPage(currentPage, 'vm-image-local-box', 'left');
- } else if (currentPage === 'iso-remote-box') {
- kimchi.switchPage(currentPage, 'vm-image-local-box', 'right');
- }
- currentPage = 'vm-image-local-box';
- $('#template-add-window .modal-body .template-pager').animate({
- height: "100px"
- }, 400);
-
- $('#btn-template-file-create').attr('disabled', 'disabled').css('display', 'none'); // 1 - Folder path
- $('#btn-template-local-iso-create').attr('disabled', 'disabled').css('display', 'none'); // 2 - Selected ISOs
- $('#vm-image-local-box-button').attr('disabled', 'disabled').css('display', 'inline-block'); // 3 - File path
- $('#btn-template-url-create').attr('disabled', 'disabled').css('display', 'none'); // 4 - Remote folder path
- $('#btn-template-remote-iso-create').attr('disabled', 'disabled').css('display', 'none'); // 5 - Remote selected isos
-
- }
- });
- $('input', '#vm-image-local-box').on('input propertychange keyup focus cut paste click', function() {
- setTimeout(function() {
- var isValid = kimchi.template_check_path($('input', '#vm-image-local-box').val());
- $('input', '#vm-image-local-box').parent().toggleClass('has-error', !isValid);
- $('#vm-image-local-box-button').attr('disabled', (isValid ? false : true));
- }, 0);
- });
- $('input', '#vm-image-local-box').on('input propertychange keyup focus cut paste click', function() {
- setTimeout(function() {
- var isValid = kimchi.template_check_path($('input', '#vm-image-local-box').val());
- $('input', '#vm-image-local-box').parent().toggleClass('has-error', !isValid);
- $('#vm-image-local-box-button').attr('disabled', (isValid ? false : true));
- }, 0);
- });
- $('#vm-image-local-box-button').on('click', function(){
- $('input', '#vm-image-local-box').prop('disabled', true);
- $('#vm-image-local-box-button').text(i18n['KCHAPI6008M']);
- $('#vm-image-local-box-button').prop('disabled', true);
- addTemplate({
- source_media: $('input', '#vm-image-local-box').val()
- }, function() {
- $('input', '#vm-image-local-box').prop('disabled', false);
- $('#vm-image-local-box-button').text(i18n['KCHAPI6005M']);
- $('#vm-image-local-box-button').prop('disabled', false);
- });
- });
-
- $('#btn-template-url-create').click(function() {
- var isoUrl = $('#iso-url').val();
- if (!kimchi.template_check_url(isoUrl)) {
- wok.message.error.code('KCHAPI6004E');
- return;
- }
- var data = {
- "source_media": isoUrl
- };
- addTemplate(data);
- });
-
//do create
var addTemplate = function(data, callback) {
kimchi.createTemplate(data, function() {
@@ -568,8 +347,8 @@ kimchi.template_add_main = function() {
});
};
- var submitIso = function(formId) {
- var formData = $('#' + formId).serializeObject();
+ var submitIso = function() {
+ var formData = $('#form-local-iso').serializeObject();
if (formData.iso) {
var length = 0;
var successNum = 0;
diff --git a/ui/pages/i18n.json.tmpl b/ui/pages/i18n.json.tmpl
index 24abeb6..e030a45 100644
--- a/ui/pages/i18n.json.tmpl
+++ b/ui/pages/i18n.json.tmpl
@@ -51,6 +51,7 @@
"KCHTMPL6003M": "$_("This will permanently delete the template. Would you like to continue?")",
"KCHTMPL6004M": "$_("View Table")",
"KCHTMPL6005M": "$_("View Gallery")",
+ "KCHTMPL6006M": "$_("Not Available")",
"KCHVM6001M": "$_("This will delete the virtual machine and its virtual disks. This operation cannot be undone. Would you like to continue?")",
"KCHVM6002M": "$_("Power off Confirmation")",
diff --git a/ui/pages/template-add.html.tmpl b/ui/pages/template-add.html.tmpl
index 2926cfa..670c7a2 100644
--- a/ui/pages/template-add.html.tmpl
+++ b/ui/pages/template-add.html.tmpl
@@ -29,16 +29,6 @@
</div>
<div class="modal-body">
<div class="template-modal-container">
- <div>
- <span id="alert-modal-container"></span>
- <h5>$_("Where is the source media for this template? ")</h5>
- <input type="radio" checked="checked" name="iso-source" id="iso-local" value="iso-local" class="wok-radio">
- <label for="iso-local">$_("Local ISO Image")</label>
- <input type="radio" name="iso-source" id="vm-image-local" value="vm-image-local" class="wok-radio">
- <label for="vm-image-local">$_("Local Image File")</label>
- <input type="radio" name="iso-source" id="iso-remote" value="iso-remote" class="wok-radio">
- <label for="iso-remote">$_("Remote ISO Image")</label>
- </div>
</div>
<div class="template-pager">
<div class="page-list">
@@ -47,7 +37,7 @@
<div id="iso-file-field">
<div id="iso-file-box" class="custom-iso-field">
<div class="form-group">
- <label for="iso-file">$_("Provide a File Path for a specific ISO image:")</label>
+ <label for="iso-file">$_("File Path:")</label>
<input type="text" class="form-control" id="iso-file" name="iso-file">
</div>
</div>
@@ -56,8 +46,16 @@
<span id="local-iso-error-container"></span>
<button class="btn btn-primary" id="iso-search" style="display: none">$_("Search ISOs")</button>
<button class="btn btn-primary" id="iso-search-loading" style="display: none"><span class="wok-loading-icon"></span> $_("Please, wait...")</button>
+
<!-- 1-1-1 -->
<div id="local-iso-field" class="iso-field" style="display: none;">
+ <form id="form-template-add">
+ <div class="filter">
+ <div class="form-group pull-right">
+ <input type="text" class="form-control" id="template-add-iso-filter" placeholder="$_("Filter")" />
+ </div>
+ </div>
+ </form>
<div class="row">
<p>$_("The following ISOs are available:")</p>
</div>
@@ -66,7 +64,7 @@
<input type="checkbox" id="select-all-local-iso">$_("All")
</label>
</div>
- <div class="row">
+ <div class="row" id="isoRow">
<form id="form-local-iso">
<ul id="list-local-iso" class="list-iso">
</ul>
@@ -88,6 +86,7 @@
<dt>{capacity}</dt>
<dd>$_("Size")</dd>
</dl>
+ <span class="iso-image-indicator"><i class="{icon}"></i></span>
</span>
</span>
</label>
@@ -108,69 +107,11 @@
</div>
</div>
- <!-- 1-2 -->
- <div class="page" id="iso-remote-box">
- <!-- 1-2-2 -->
- <div id="iso-url-field" style="display: none;">
- <div id="iso-url-box" class="form-group">
- <label for="iso-url">$_("Provide a URL for a specific ISO image:")</label>
- <input type="text" class="form-control" id="iso-url" name="iso-url">
- </div>
- </div>
- <!-- 1-2-0 -->
- <div id="load-remote-iso">
- <p><span class="wok-loading-icon"></span> $_("Loading default remote ISOs ...")</p>
- </div>
- <span id="remote-iso-warning-container"></span>
- <span id="remote-iso-error-container"></span>
- <!-- 1-2-1 -->
- <div id="remote-iso-field" class="iso-field" style="display: none;">
- <div class="row">
- <p>$_("The following ISOs are available:")</p>
- </div>
- <div class="checkbox">
- <label class="check-all">
- <input type="checkbox" id="select-all-remote-iso">$_("All")
- </label>
- </div>
- <div class="row">
- <form id="form-remote-iso">
- <ul id="list-remote-iso" class="list-iso">
- </ul>
- </form>
- <script id="tmpl-list-remote-iso" type="text/html">
- <li class="col-md-3">
- <label class="box-iso-outer">
- <input type="checkbox" class="iso-checkbox-hidden" name="iso" value="{isoId}">
- <span class="box-iso-border">
- <span class="box-iso-inner">
- <h3 class="iso-title {os_distro}" title="{name}">
- {name}
- </h3>
- <dl class="iso-info">
- <dt>{os_distro}</dt>
- <dd>$_("OS")</dd>
- <dt>{os_version}</dt>
- <dd>$_("Version")</dd>
- <dt>{os_arch}</dt>
- <dd>$_("Arch")</dd>
- </dl>
- </span>
- </span>
- </label>
- </li>
- </script>
- </div>
- </div>
- </div>
</div>
</div>
<div class="modal-footer">
<button class="btn btn-default" id="btn-template-file-create" disabled="disabled">$_("Create")</button>
<button class="btn btn-default" id="btn-template-local-iso-create" disabled="disabled">$_("Create")</button>
- <button id="vm-image-local-box-button" class="btn btn-default ui-button-primary">$_("Create")</button>
- <button class="btn btn-default" id="btn-template-url-create" disabled="disabled">$_("Create")</button>
- <button class="btn btn-default" id="btn-template-remote-iso-create" disabled="disabled">$_("Create")</button>
<button class="btn btn-default" data-dismiss="modal" type="button">$_("Cancel")</button>
</div>
</div>
--
2.5.0
More information about the Kimchi-devel
mailing list