[Kimchi-devel] [PATCH 6/9] Adding new-ui to Templates tab

sguimaraes943 at gmail.com sguimaraes943 at gmail.com
Tue Oct 27 21:23:00 UTC 2015


From: samhenri <samuel.guimaraes at eldorado.org.br>

Signed-off-by: samhenri <samuel.guimaraes at eldorado.org.br>
---
 .../kimchi/ui/css/theme-default/template_add.css   | 317 ----------------
 .../kimchi/ui/js/src/kimchi.template_add_main.js   | 406 +++++++++++++++------
 .../plugins/kimchi/ui/pages/template-add.html.tmpl | 344 ++++++++---------
 .../kimchi/ui/pages/template-edit.html.tmpl        | 236 ++++++------
 .../plugins/kimchi/ui/pages/templates.html.tmpl    |  93 +++--
 5 files changed, 615 insertions(+), 781 deletions(-)
 delete mode 100644 src/wok/plugins/kimchi/ui/css/theme-default/template_add.css

diff --git a/src/wok/plugins/kimchi/ui/css/theme-default/template_add.css b/src/wok/plugins/kimchi/ui/css/theme-default/template_add.css
deleted file mode 100644
index f1e28c5..0000000
--- a/src/wok/plugins/kimchi/ui/css/theme-default/template_add.css
+++ /dev/null
@@ -1,317 +0,0 @@
-/*
- * Project Kimchi
- *
- * Copyright IBM, Corp. 2013-2015
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-.page-list {
-    position: absolute;
-    left: 0;
-    right: 0;
-    top: 0;
-    bottom: 0;
-    overflow: hidden;
-}
-
-.page {
-    position: absolute;
-    left: 100%;
-    width: 100%;
-    height: 100%;
-    overflow: auto;
-}
-
-.page>header {
-    position: relative;
-    overflow: hidden;
-}
-
-.button-group {
-    margin-left: 5px;
-}
-
-.back {
-    float: left; display : block;
-    width: 50px;
-    height: 52px;
-    background: url(../images/theme-default/icon-back.png) center
-                center no-repeat;
-    cursor: pointer;
-    display: block;
-}
-
-.step-title {
-    color: #333;
-    font-size: 18px;
-    font-weight: normal;
-    padding: 15px 10px;
-}
-
-.step-choose>li>a {
-    display: block;
-    margin: 0 10px 10px;
-    padding: 20px 10px 20px 65px;
-    border: 2px solid #ccc;
-    background: url(../images/theme-default/icon-local.png) 15px
-                center no-repeat;
-    cursor: pointer;
-}
-
-.step-choose>li>a.local {
-    background-image: url(../images/theme-default/icon-local.png);
-}
-
-.step-choose>li>a.remote {
-    background-image: url(../images/theme-default/icon-remote.png);
-}
-
-.step-choose>li>a:HOVER {
-    border: 2px solid #06C;
-}
-
-.step-subtitle {
-    font-size: 16px;
-    height: 48px;
-    line-height: 48px;
-    color: #06C;
-    margin: 0 10px;
-    font-weight: bold;
-    text-shadow: -1px -1px 1px #eaeaea, 1px 1px 1px #fff;
-}
-
-.custom-iso-field {
-    position: relative;
-    padding: 0 10px 10px;
-}
-
-.custom-iso-field>.input-wrapper {
-    margin-right: 110px;
-}
-
-.custom-iso-field>.input-wrapper>input.text {
-    padding: 10px;
-    color: #333;
-    font-size: 13px;
-    background: #fff;
-    -webkit-border-radius: 5px;
-    -moz-border-radius: 5px;
-    border-radius: 5px;
-    box-shadow: 2px 2px 2px #eee inset;
-    border-top: 1px solid #bbb;
-    border-left: 1px solid #bbb;
-    width: 100%;
-}
-
-.custom-iso-field>button {
-    position: absolute;
-    top: -6px;
-    right: 8px;
-}
-
-.iso-field .button-field {
-    padding: 0 20px;
-    text-align: right;
-}
-
-.check-all {
-    display: inline-block;
-    position: relative;
-    height: 38px;
-    line-height: 38px;
-    margin: 5px;
-    font-size: 13px;
-}
-
-.check-all input {
-    margin: 0 5px 0 0;
-}
-
-.box {
-    background: #ffffff;
-    background: -moz-linear-gradient(top, #ffffff 0%, #e5e5e5 100%);
-    background: -webkit-gradient(linear, left top, left bottom,
-                color-stop(0%, #ffffff), color-stop(100%, #e5e5e5));
-    background: -webkit-linear-gradient(top, #ffffff 0%, #e5e5e5 100%);
-    background: -o-linear-gradient(top, #ffffff 0%, #e5e5e5 100%);
-    background: -ms-linear-gradient(top, #ffffff 0%, #e5e5e5 100%);
-    background: linear-gradient(to bottom, #ffffff 0%, #e5e5e5 100%);
-    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff',
-            endColorstr='#e5e5e5', GradientType=0);
-    border: 1px solid #ccc;
-    color: #333;
-    text-shadow: -1px -1px 1px #ccc, 1px 1px 1px #fff;
-    -webkit-border-radius: 8px;
-    -moz-border-radius: 8px;
-    border-radius: 8px;
-}
-
-.box:HOVER {
-    border: 1px solid #aaa;
-    -webkit-box-shadow: #bbb 0px 0px 5px;
-    box-shadow: #bbb 0px 0px 5px;
-}
-
-.box-iso {
-    padding: 10px;
-    margin: 5px;
-    overflow: hidden;
-}
-
-.iso-icon {
-    float: left;
-    width: 58px;
-    height: 58px;
-    margin: 0 5px 0 0;
-    border: 1px solid #CCCCCC;
-    border-radius: 8px;
-    background: url(../images/icon-vm.png) center center no-repeat;
-    background-size: 58px;
-}
-
-.iso-icon.centos {
-    background-image: url(../images/icon-centos.png);
-}
-
-.iso-icon.debian {
-    background-image: url(../images/icon-debian.png);
-}
-
-.iso-icon.fedora {
-    background-image: url(../images/icon-fedora.png);
-}
-
-.iso-icon.opensuse {
-    background-image: url(../images/icon-opensuse.png);
-}
-
-.iso-icon.ubuntu {
-    background-image: url(../images/icon-ubuntu.png);
-}
-
-.iso-icon.gentoo {
-    background-image: url(../images/icon-gentoo.png);
-}
-
-.list-iso {
-    overflow: hidden;
-    margin: 5px;
-}
-
-.list-iso li {
-    float: left;
-    width: 320px;
-}
-
-.list-iso>li>label {
-    display: block;
-    cursor: pointer;
-}
-
-.list-iso>li>label>input[type="checkbox"] {
-    display: none;
-}
-
-.list-iso>li>label>input[type="checkbox"]:CHECKED+.box-iso {
-    border: 1px solid rgb(11, 107, 173);
-    -webkit-box-shadow: rgb(11, 107, 173) 0px 0px 4px;
-    box-shadow: rgb(11, 107, 173) 0px 0px 4px;
-}
-
-.iso-title {
-    margin: 0;
-    display: block;
-    position: relative;
-    height: 23px;
-    line-height: 23px;
-    font-size: 14px;
-    font-weight: normal;
-    max-width: 100%;
-    overflow: hidden;
-    text-overflow: ellipsis;
-    white-space: nowrap;
-}
-
-.iso-title>label>input {
-    display: block;
-    position: absolute;
-    top: 0;
-    right: 2px;
-}
-
-.iso-info {
-    margin-top: 5px;
-    overflow: hidden;
-}
-
-.iso-info-col {
-    float: left;
-    width: 50%;
-    -moz-box-sizing: border-box;
-    box-sizing: border-box;
-    padding: 0 0 0 5px;
-}
-
-.iso-info-col:FIRST-CHILD {
-    padding: 0 5px 0 0;
-    border-right: 1px solid #999;
-}
-
-.iso-info-item {
-    font-weight: bold;
-    color: #999;
-    font-size: 11px;
-    line-height: 18px;
-    max-width: 106px;
-    overflow: hidden;
-    text-overflow: ellipsis;
-    white-space: nowrap;
-}
-
-#iso-search {
-    margin: 10px 15px;
-}
-
-#iso-search-loading {
-    margin: 10px 15px;
-    background: #C0C0C0 url(../images/theme-default/loading.gif) 7px
-                center no-repeat;
-    padding: 0 20px 0 26px;
-}
-
-#iso-more-loading {
-    background: #C0C0C0 url(../images/theme-default/loading.gif) 7px
-                center no-repeat;
-    padding: 0 20px 0 26px;
-}
-
-#vm-image-local-box .body {
-    margin: 30px 0 0 26px;
-}
-
-#vm-image-local-box .body input {
-    background: none repeat scroll 0 0 #FFFFFF;
-    border-left: 1px solid #BBBBBB;
-    border-radius: 5px 5px 5px 5px;
-    border-top: 1px solid #BBBBBB;
-    box-shadow: 2px 2px 2px #EEEEEE inset;
-    color: #333333;
-    font-size: 13px;
-    padding: 10px;
-    margin-left: 10px;
-    width: 600px;
-}
-
-#vm-image-local-box .body button {
-    margin-left: 10px;
-}
diff --git a/src/wok/plugins/kimchi/ui/js/src/kimchi.template_add_main.js b/src/wok/plugins/kimchi/ui/js/src/kimchi.template_add_main.js
index 01a47c2..961d23a 100644
--- a/src/wok/plugins/kimchi/ui/js/src/kimchi.template_add_main.js
+++ b/src/wok/plugins/kimchi/ui/js/src/kimchi.template_add_main.js
@@ -42,68 +42,9 @@ kimchi.switchPage = function(fromPageId, toPageId, direction) {
 };
 
 kimchi.template_add_main = function() {
+    "use strict";
+    var currentPage = 'iso-local-box';
     kimchi.deepScanHandler = null;
-    // 1-1 local iso
-    $('#iso-local').click(function() {
-        kimchi.switchPage('iso-type-box', 'iso-local-box');
-        initLocalIsoField();
-        initIsoFileField();
-        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);
-        });
-    });
-
-    $('#iso-local-box-back').click(function() {
-        if (kimchi.deepScanHandler) {
-            kimchi.deepScanHandler.stop = true;
-        }
-        kimchi.switchPage('iso-local-box', 'iso-type-box', 'right');
-    });
-
-    $('#iso-search').click(function() {
-        var settings = {
-            content : i18n['KCHTMPL6002M']
-        };
-        wok.confirm(settings, function() {
-            $('#iso-search').hide();
-            $('#iso-search-loading').show();
-            deepScan('#iso-search');
-        });
-    });
-
-    $('#iso-more').click(function() {
-        var settings = {
-            content : i18n['KCHTMPL6002M']
-        };
-        wok.confirm(settings, function() {
-            $('#iso-more').hide();
-            $('#iso-more-loading').show();
-            deepScan('#iso-more');
-        });
-    });
-
-    $('#iso-search-loading').click(function() {
-        $('#iso-search-loading').hide();
-        $('#iso-search').show();
-        if (kimchi.deepScanHandler) {
-            kimchi.deepScanHandler.stop = true;
-        }
-    });
-
-    $('#iso-more-loading').click(function() {
-        $('#iso-more-loading').hide();
-        $('#iso-more').show();
-        if (kimchi.deepScanHandler) {
-            kimchi.deepScanHandler.stop = true;
-        }
-    });
 
     var deepScan = function(button) {
         kimchi.deepScanHandler = kimchi.stepListDeepScanIsos(function(isos, isFinished) {
@@ -141,6 +82,19 @@ kimchi.template_add_main = function() {
         $('#iso-search-loading').hide();
         $('#iso-more-loading').hide();
         $('#list-local-iso').empty();
+
+        // Resets input fields and hide other buttons
+        $('#iso-file').val(''); // 1 - Folder path text
+        $('vm-image-local-text').val(''); // 3 - File path text
+        $('#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) {
@@ -159,10 +113,160 @@ kimchi.template_add_main = function() {
         $('#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', function() {
+        if ($('#iso-file').val()) {
+
+        $('#btn-template-file-create').removeAttr('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
+
+        } else {
+            $('#btn-template-file-create').attr('disabled', 'disabled');
+        }
+    });
+
+    initLocalIsoField();
+    initIsoFileField();
+    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);
+    });
+    $('#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'); 
+            }
+            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
+
+            $('#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
+    
+
+            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);
+            });
+        }
+    });
+
+    $('#iso-search').click(function() {
+        var settings = {
+            content : i18n['KCHTMPL6002M']
+        };
+        wok.confirm(settings, function() {
+            $('#iso-search').hide();
+            $('#iso-search-loading').show();
+            deepScan('#iso-search');
+        });
+    });
+
+    $('#iso-more').click(function() {
+        var settings = {
+            content : i18n['KCHTMPL6002M']
+        };
+        wok.confirm(settings, function() {
+            $('#iso-more').hide();
+            $('#iso-more-loading').show();
+            deepScan('#iso-more');
+        });
+    });
+
+    $('#iso-search-loading').click(function() {
+        $('#iso-search-loading').hide();
+        $('#iso-search').show();
+        if (kimchi.deepScanHandler) {
+            kimchi.deepScanHandler.stop = true;
+        }
+    });
+
+    $('#iso-more-loading').click(function() {
+        $('#iso-more-loading').hide();
+        $('#iso-more').show();
+        if (kimchi.deepScanHandler) {
+            kimchi.deepScanHandler.stop = true;
+        }
+    });
+
     $('#select-all-local-iso').click(function() {
         $('#list-local-iso [type="checkbox"]').prop('checked', $(this).prop('checked'));
         if ($(this).prop('checked')) {
-            $('#btn-template-local-iso-create').removeAttr('disabled');
+            $('#iso-file').val('');
+            $('vm-image-local-text').val('');
+
+            $('#btn-template-file-create').attr('disabled', 'disabled').css('display','none'); // 1 - Folder path
+
+            $('#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');
         }
@@ -170,10 +274,24 @@ kimchi.template_add_main = function() {
 
     $('#list-local-iso').on('click', '[type="checkbox"]', function() {
         var checkedLength = $('#list-local-iso [type="checkbox"]:checked').length;
+        $('#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','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;
             $('#select-all-local-iso').prop('checked', length == checkedLength);
+            $('#btn-template-local-iso-create').removeAttr('disabled');
         } else {
             $('#select-all-local-iso').prop('checked', false);
             $('#btn-template-local-iso-create').attr('disabled', 'disabled');
@@ -184,32 +302,9 @@ kimchi.template_add_main = function() {
         submitIso('form-local-iso');
     });
 
-    //1-1-2 local iso file
-    var initIsoFileField = function() {
-        $('#iso-file-check').prop('checked', false);
-        $('#iso-file-box').hide();
-        $('#iso-file').val('');
-        $('#btn-template-file-create').attr('disabled', 'disabled');
-    };
-
-    $('#iso-file-check').click(function() {
-        if ($(this).prop('checked')) {
-            $('#iso-file-box').slideDown();
-        } else {
-            $('#iso-file-box').slideUp();
-        }
-    });
-
-    $('#iso-file').on('input propertychange', function() {
-        if ($('#iso-file').val()) {
-            $('#btn-template-file-create').removeAttr('disabled');
-        } else {
-            $('#btn-template-file-create').attr('disabled', 'disabled');
-        }
-    });
-
     $('#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.code('KCHAPI6003E');
             return;
@@ -221,7 +316,7 @@ kimchi.template_add_main = function() {
     });
 
     //1-2 remote iso
-    $('#iso-remote').css('opacity', 0.3).css('cursor', 'not-allowed');
+    $('#iso-remote').attr("disabled", true).css('cursor', 'not-allowed');
 
     var enabledRemoteIso = function() {
         if (kimchi.capabilities == undefined) {
@@ -233,23 +328,29 @@ kimchi.template_add_main = function() {
             return;
         }
 
-        $('#iso-remote').css('opacity', 1).css('cursor', 'pointer');
-        $('#iso-remote').click(function() {
-            kimchi.switchPage('iso-type-box', 'iso-remote-box');
-            initRemoteIsoField();
-            initIsoUrlField();
-            kimchi.listDistros(function(isos) {
-                showRemoteIsoField(isos);
-            }, function() {
-            });
+        $('#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: "689px"
+                },400);
+                initRemoteIsoField();
+                initIsoUrlField();
+                kimchi.listDistros(function(isos) {
+                    showRemoteIsoField(isos);
+                }, function() {
+                });
+            }
         });
     };
     enabledRemoteIso();
 
-    $('#iso-remote-box-back').click(function() {
-        kimchi.switchPage('iso-remote-box', 'iso-type-box', 'right');
-    });
-
     //1-2-1 remote iso list
     var initRemoteIsoField = function() {
         $('#load-remote-iso').show();
@@ -257,6 +358,25 @@ kimchi.template_add_main = function() {
         $('#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('');
+        $('#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
+
+        $('#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 showRemoteIsoField = function(isos) {
@@ -286,7 +406,21 @@ 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')) {
-            $('#btn-template-remote-iso-create').removeAttr('disabled');
+
+            $('#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 {
             $('#btn-template-remote-iso-create').attr('disabled', 'disabled');
         }
@@ -298,6 +432,21 @@ kimchi.template_add_main = function() {
             $('#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');
@@ -310,19 +459,22 @@ kimchi.template_add_main = function() {
 
     //1-2-2 remote iso url
     var initIsoUrlField = function() {
-        $('#iso-url-check').prop('checked', false);
-        $('#iso-url-box').hide();
+
+        $('#iso-file').val('');
+        $('vm-image-local-text').val('');
         $('#iso-url').val('');
-        $('#btn-template-url-create').attr('disabled', 'disabled');
-    }
 
-    $('#iso-url-check').click(function() {
-        if ($(this).prop('checked')) {
-            $('#iso-url-box').slideDown();
-        } else {
-            $('#iso-url-box').slideUp();
-        }
-    });
+        $('#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', function() {
         if ($('#iso-url').val()) {
@@ -332,20 +484,34 @@ kimchi.template_add_main = function() {
         }
     });
 
-    $('#vm-image-local').click(function(){
-        kimchi.switchPage('iso-type-box', 'vm-image-local-box');
-    });
-    $('#vm-image-local-box-back').click(function(){
-        kimchi.switchPage('vm-image-local-box', 'iso-type-box', 'right');
+    $('#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('keyup cut paste', function(){
         setTimeout(function(){
             var isValid = kimchi.template_check_path($('input', '#vm-image-local-box').val());
             $('input', '#vm-image-local-box').toggleClass('invalid-field', !isValid);
-            $('button', $('.body', '#vm-image-local-box')).button(isValid ? "enable" : "disable");
+            $('#vm-image-local-box-button').attr('disabled', (isValid ? "false" : "true"));
         }, 0);
     });
-    $('button', $('.body', '#vm-image-local-box')).button({
+    $('button', $('#vm-image-local-box')).button({
         disabled: true
     }).click(function(){
         $('input', '#vm-image-local-box').prop('disabled', true);
@@ -438,4 +604,4 @@ kimchi.template_check_path = function(filePath) {
         return reg.test(filePath);
     }
     return false;
-};
+};
\ No newline at end of file
diff --git a/src/wok/plugins/kimchi/ui/pages/template-add.html.tmpl b/src/wok/plugins/kimchi/ui/pages/template-add.html.tmpl
index 4c0f1da..e441a99 100644
--- a/src/wok/plugins/kimchi/ui/pages/template-add.html.tmpl
+++ b/src/wok/plugins/kimchi/ui/pages/template-add.html.tmpl
@@ -24,207 +24,177 @@
 <!DOCTYPE html>
 <html>
 <body>
-<div class="window" style="width: 992px;height: 660px;">
-    <header>
-        <h1 class="title h1 grey">$_("Add Template")</h1>
-    </header>
-    <div class="content" style="margin-bottom: 0">
-        <div class="page-list">
-            <!-- 1 -->
-            <div class="page" id="iso-type-box" style="left:0">
-                <h2 class="step-title">$_("Where is the source media for this template? ")</h2>
-                <ul class="step-choose">
-                    <li>
-                        <a id="iso-local" class="local">$_("Local ISO Image")</a>
-                    </li>
-                    <li>
-                        <a id="vm-image-local" class="local">$_("Local Image File")</a>
-                    </li>
-                    <li>
-                        <a id="iso-remote" class="remote">$_("Remote ISO Image")</a>
-                    </li>
-                </ul>
+<div id="template-add-window" class="window modal-content">
+            <div class="modal-header">
+                <h4 class="modal-title">$_("Add Template")</h4>
             </div>
-
-            <!-- 1-1 -->
-            <div class="page" id="iso-local-box">
-                <header>
-                    <a class="back" id="iso-local-box-back"></a>
-                    <h2 class="step-title">$_("Local ISO Image")</h2>
-                </header>
-
-                <button class="btn-normal" id="iso-search" style="display: none"><span class="text">$_("Search ISOs")</span></button>
-                <button class="btn-normal" id="iso-search-loading" style="display: none"><span class="text">$_("Please, wait...")</span></button>
-                <!-- 1-1-1 -->
-                <div id="local-iso-field" class="iso-field" style="display: none;">
-                    <h3 class="step-subtitle">
-                        $_("The following ISOs are available:")
-                    </h3>
-                    <div class="toolbar">
-                        <label class="check-all">
-                            <input type="checkbox" id="select-all-local-iso">$_("All")
+            <div class="modal-body">
+                <div class="template-modal-container">
+                    <div>
+                        <h5>$_("Where is the source media for this template? ")</h5>                       
+                        <label class="radio-inline">
+                            <input type="radio" checked="checked" name="iso-source" id="iso-local" value="iso-local"> $_("Local ISO Image")
+                        </label>                        
+                        <label class="radio-inline">
+                            <input type="radio" name="iso-source" id="vm-image-local" value="vm-image-local"> $_("Local Image File")
                         </label>
+                        <label class="radio-inline">
+                            <input type="radio" name="iso-source" id="iso-remote" value="iso-remote"> $_("Remote ISO Image")
+                        </label>                        
                     </div>
-                    <div>
-                        <form id="form-local-iso">
-                        <ul id="list-local-iso" class="list-iso">
-                        </ul>
-                        </form>
-                        <script id="tmpl-list-local-iso" type="text/html">
-                            <li>
-                                <label>
-                                    <input type="checkbox" name="iso" value="{isoId}">
-                                    <div class="box box-iso">
-                                        <div class="iso-icon {os_distro}">
-                                        </div>
-                                        <h3 class="iso-title" title="{name}">
-                                            {name}
-                                        </h3>
-                                        <div class="iso-info">
-                                            <div class="iso-info-col">
-                                                <div class="iso-info-item" title="{os_distro}">
-                                                    $_("OS: "){os_distro}
-                                                </div>
-                                                <div class="iso-info-item" title="{os_version}">
-                                                    $_("Version: "){os_version}
-                                                </div>
-                                            </div>
-                                            <div class="iso-info-col">
-                                                <div class="iso-info-item" title="{capacity}">
-                                                    $_("Size: "){capacity}
-                                                </div>
-                                            </div>
+                </div>
+                <div class="template-pager">
+                    <div class="page-list">
+                        <div class="page" id="iso-local-box">
+                                <!-- 1-1-2 -->
+                                <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>
+                                        <input type="text" class="form-control" id="iso-file" name="iso-file">
                                         </div>
                                     </div>
-                                </label>
-                            </li>
-                        </script>
-                    </div>
-                    <div class="button-field">
-                        <button class="btn-normal" id="iso-more" style="display: none"><span class="text">$_("Search more ISOs")</span></button>
-                        <button class="btn-normal" id="iso-more-loading" style="display: none"><span class="text">$_("Please, wait...")</span></button>
-                        <button class="btn-normal" id="btn-template-local-iso-create" disabled="disabled"><span class="text">$_("Create Templates from Selected ISO")</span></button>
-                    </div>
-                </div>
+                                </div>
+                                <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;">
+                                    <div class="row">
+                                        <p>$_("The following ISOs are available:")</p>
+                                    </div>
+                                    <div class="checkbox">
+                                        <label class="check-all">
+                                            <input type="checkbox" id="select-all-local-iso">$_("All")
+                                        </label>
+                                    </div>
+                                    <div class="row">
+                                        <form id="form-local-iso">
+                                        <ul id="list-local-iso" class="list-iso">
+                                        </ul>
+                                        </form>
+                                        <script id="tmpl-list-local-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>{capacity}</dt>
+                                                                <dd>$_("Size: ")</dd>
+                                                            </dl>
+                                                        </span>
+                                                    </span>
+                                                </label>
+                                            </li>
+                                        </script>
+                                    </div>
+                                    <div class="row">
+                                        <button class="btn btn-primary" id="iso-more" style="display: none"><span class="text">$_("Search more ISOs")</span></button>
+                                        <button class="btn btn-primary" id="iso-more-loading" style="display: none"><span class="wok-loading-icon"></span> $_("Please, wait...")</button>
+                                    </div>
+                                </div>
+                        </div>
 
-                <!-- 1-1-2 -->
-                <div id="iso-file-field">
-                    <h3 class="step-subtitle">
-                        <label>
-                            <input type="checkbox" id="iso-file-check">
-                            $_("I want to use a specific ISO file")
-                        </label>
-                    </h3>
-                    <div id="iso-file-box" class="custom-iso-field">
-                        <div class="input-wrapper"><input type="text" class="text" id="iso-file" name="iso-file"></div>
-                        <button class="btn-normal" id="btn-template-file-create" disabled="disabled"><span class="text">$_("Create")</span></button>
-                    </div>
-                </div>
+                        <div class="page" id="vm-image-local-box">
+                            <div class="from-group">
+                                <label for="vm-image-local-text">$_("File Path:")</label>
+                                <input type="text" class="form-control" id="vm-image-local-text" />
+                            </div>
+                        </div>
 
-            </div>
+                        <!-- 1-2 -->
+                        <div class="page" id="iso-remote-box">
 
-            <div class="page" id="vm-image-local-box">
-                <header>
-                    <a class="back" id="vm-image-local-box-back"></a>
-                    <h2 class="step-title">$_("Local Image File")</h2>
-                </header>
-                <div class="body">
-                    <label for="vm-image-local-text">$_("File Path:")</label>
-                    <input type="text" id="vm-image-local-text" />
-                    <button class="ui-button-primary">$_("Create")</button>
-                </div>
-            </div>
+                            <!-- 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 -->
-            <div class="page" id="iso-remote-box">
-                <header>
-                    <a class="back" id="iso-remote-box-back"></a>
-                    <h2 class="step-title">$_("Remote ISO Image")</h2>
-                </header>
-
-                <!-- 1-2-0 -->
-                <div id="load-remote-iso">
-                    <h3 class="step-subtitle">
-                        <label>
-                            <img src = "plugins/kimchi/images/theme-default/loading.gif" />
-                            $_("Loading default remote ISOs ...")
-                        </label>
-                    </h3>
-                </div>
+                            <!-- 1-2-0 -->
+                            <div id="load-remote-iso">
+                                <p><span class="wok-loading-icon"></span> $_("Loading default remote ISOs ...")</p>
+                            </div>
 
-                <!-- 1-2-1 -->
-                <div id="remote-iso-field" class="iso-field" style="display: none;">
-                    <h3 class="step-subtitle">
-                        $_("The following ISOs are available:")
-                    </h3>
-                    <div class="toolbar">
-                        <label class="check-all">
-                            <input type="checkbox" id="select-all-remote-iso">$_("All")
-                        </label>
-                    </div>
-                    <div>
-                        <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>
-                                <label>
-                                    <input type="checkbox" name="iso" value="{isoId}">
-                                    <div class="box box-iso">
-                                        <div class="iso-icon {os_distro}">
-                                        </div>
-                                        <h3 class="iso-title" title="{name}">
-                                            {name}
-                                        </h3>
-                                        <div class="iso-info">
-                                            <div class="iso-info-col">
-                                                <div class="iso-info-item" title="{os_distro}">
-                                                    $_("OS: "){os_distro}
-                                                </div>
-                                                <div class="iso-info-item" title="{os_version}">
-                                                    $_("Version: "){os_version}
-                                                </div>
-
-                                            </div>
-                                            <div class="iso-info-col">
-                                                <div class="iso-info-item" title="{os_arch}">
-                                                    $_("Arch: "){os_arch}
-                                                </div>
-                                            </div>
-                                        </div>
-                                    </div>
-                                </label>
-                            </li>
-                        </script>
+                            <!-- 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 class="button-field">
-                        <button class="btn-normal" id="btn-template-remote-iso-create" disabled="disabled"><span class="text">$_("Create Templates from Selected ISO")</span></button>
-                    </div>
-                </div>
+        </div>
+    </div>
+    <div class="modal-footer">
 
-                <!-- 1-2-2 -->
-                <div id="iso-url-field" style="display: none;">
-                    <h3 class="step-subtitle">
-                        <label>
-                            <input type="checkbox" id="iso-url-check">
-                            $_("I want to use a custom URL")
-                        </label>
-                    </h3>
-                    <div id="iso-url-box" class="custom-iso-field">
-                        <div class="input-wrapper"><input type="text" class="text" id="iso-url" name="iso-url"></div>
-                        <button class="btn-normal" id="btn-template-url-create" disabled="disabled"><span class="text">$_("Create")</span></button>
-                    </div>
-                </div>
+                <!-- Template from local file path -->
 
-            </div>
-        </div>
+                <!-- TODO: Use only one button and direct action based on current form field and "page" -->
+
+                <button class="btn btn-default" id="btn-template-file-create" disabled="disabled">$_("Create")</button>
+
+                <!-- Template from selected local isos -->
+
+                <!-- Old: $_("Create Templates from Selected ISO") -->
+                <button class="btn btn-default" id="btn-template-local-iso-create" disabled="disabled">$_("Create")</button>
+
+                <!-- Template from local file path -->
+
+                <button id="vm-image-local-box-button" class="btn btn-default ui-button-primary">$_("Create")</button>
+
+                <!-- Template from URL Iso -->
+
+                <button class="btn btn-default" id="btn-template-url-create" disabled="disabled">$_("Create")</button>
+
+                <!-- Template from selected remote isos -->
+
+                <!-- Old: $_("Create Templates from Selected ISO") -->
+                <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>
-    <footer>
-        <div class="button-group">
-            <button class="btn-normal close" type="button"><span type="text">$_("Cancel")</span></button>
-        </div>
-    </footer>
 </div>
 <script>
 kimchi.template_add_main();
diff --git a/src/wok/plugins/kimchi/ui/pages/template-edit.html.tmpl b/src/wok/plugins/kimchi/ui/pages/template-edit.html.tmpl
index aa7fd1a..433cb48 100644
--- a/src/wok/plugins/kimchi/ui/pages/template-edit.html.tmpl
+++ b/src/wok/plugins/kimchi/ui/pages/template-edit.html.tmpl
@@ -22,129 +22,127 @@
 #silent _ = t.gettext
 #silent _t = t.gettext
 
-<div id="template-edit-window" class="window">
-    <header>
-        <h1 class="title h1 grey">$_("Edit Template")</h1>
-    </header>
-    <div class="content">
-        <div id="edit-template-tabs">
-            <input type="hidden" id="template-name" name="templateName" />
-            <ul>
-                <li>
-                    <a href="#form-template-general">$_("General")</a>
-                </li>
-                <li>
-                    <a href="#form-template-storage">$_("Storage")</a>
-                </li>
-                <li>
-                    <a href="#form-template-interface">$_("Interface")</a>
-                </li>
-                <li>
-                    <a href="#form-template-processor">$_("Processor")</a>
-                </li>
-            </ul>
-            <form id="form-template-general">
-                <div class="form-template-inline-wrapper">
-                    <div class="template-edit-wrapper-label">
-                        <label for="template-edit-id-textbox">$_("Name")</label>
-                    </div>
-                    <div class="template-edit-wrapper-label">
-                        <label for="template-edit-vendor-textbox">$_("Vendor")</label>
-                    </div>
-                    <div class="template-edit-wrapper-label">
-                        <label for="template-edit-version-textbox">$_("Version")</label>
-                    </div>
-                    <div class="template-edit-wrapper-label">
-                        <label for="template-edit-memory-textbox">$_("Memory (MB)")</label>
-                    </div>
-                    <div class="template-edit-wrapper-label templ-edit-cdrom">
-                        <label for="template-edit-cdrom-textbox">$_("CDROM")</label>
-                    </div>
-                    <div class="template-edit-wrapper-label templ-edit-vm-image hide">
-                        <label for="template-edit-vmimage-textbox">$_("Image File")</label>
-                    </div>
-                    <div class="template-edit-wrapper-label">
-                        <label>$_("Graphics")</label>
-                    </div>
-                </div>
-                <div class="form-template-inline-wrapper">
-                    <div class="template-edit-wrapper-controls">
-                        <input id="template-edit-id-textbox" name="name" type="text" />
-                    </div>
-                    <div class="template-edit-wrapper-controls">
-                        <input id="template-edit-vendor-textbox" name="os_distro" type="text" disabled="disabled" />
-                    </div>
-                    <div class="template-edit-wrapper-controls">
-                        <input id="template-edit-version-textbox" name="os_version" type="text" disabled="disabled" />
-                    </div>
-                    <div class="template-edit-wrapper-controls">
-                        <input id="template-edit-memory-textbox" name="memory" type="text" />
-                    </div>
-                    <div class="template-edit-wrapper-controls templ-edit-cdrom">
-                        <input id="template-edit-cdrom-textbox" name="cdrom" type="text" disabled="disabled" />
-                    </div>
-                    <div class="template-edit-wrapper-controls templ-edit-vm-image hide">
-                        <input id="template-edit-vmimage-textbox" name="vm-image" type="text" disabled="disabled" />
-                    </div>
-                    <div class="template-edit-wrapper-controls">
-                        <div class="btn dropdown popable">
-                            <input id="template-edit-graphics" name="graphics" type="hidden" />
-                            <span class="text" id="template-edit-graphics-label"></span><span class="arrow"></span>
-                            <div class="popover" style="width: 100%">
-                                <ul class="select-list" id="template-edit-graphics-list" data-target="template-edit-graphics" data-label="template-edit-graphics-label">
-                                </ul>
+<div id="template-edit-window" class="window modal-content">
+            <div class="modal-header">
+                <h4 class="modal-title">$_("Edit Template")</h4>
+            </div>
+            <div class="modal-body">
+                <div id="edit-template-tabs">
+                    <input type="hidden" id="template-name" name="templateName" />
+                    <ul>
+                        <li>
+                            <a href="#form-template-general">$_("General")</a>
+                        </li>
+                        <li>
+                            <a href="#form-template-storage">$_("Storage")</a>
+                        </li>
+                        <li>
+                            <a href="#form-template-interface">$_("Interface")</a>
+                        </li>
+                        <li>
+                            <a href="#form-template-processor">$_("Processor")</a>
+                        </li>
+                    </ul>
+                    <form id="form-template-general">
+                        <div class="form-template-inline-wrapper">
+                            <div class="template-edit-wrapper-label">
+                                <label for="template-edit-id-textbox">$_("Name")</label>
+                            </div>
+                            <div class="template-edit-wrapper-label">
+                                <label for="template-edit-vendor-textbox">$_("Vendor")</label>
+                            </div>
+                            <div class="template-edit-wrapper-label">
+                                <label for="template-edit-version-textbox">$_("Version")</label>
+                            </div>
+                            <div class="template-edit-wrapper-label">
+                                <label for="template-edit-memory-textbox">$_("Memory (MB)")</label>
+                            </div>
+                            <div class="template-edit-wrapper-label templ-edit-cdrom">
+                                <label for="template-edit-cdrom-textbox">$_("CDROM")</label>
+                            </div>
+                            <div class="template-edit-wrapper-label templ-edit-vm-image hide">
+                                <label for="template-edit-vmimage-textbox">$_("Image File")</label>
+                            </div>
+                            <div class="template-edit-wrapper-label">
+                                <label>$_("Graphics")</label>
                             </div>
                         </div>
-                    </div>
-                </div>
-            </form>
-            <form id="form-template-storage">
-                <div class="template-tab-header">
-                    <span class="template-storage-cell">$_("Storage Pool")</span>
-                    <span class="template-storage-cell">$_("Type")</span>
-                    <span class="template-storage-cell">$_("Disk(GB)")</span>
-                    <span class="template-storage-cell">$_("Disk Format")</span>
-                    <button type="button" id="template-edit-storage-add-button" class="action-area"></button>
-                </div>
-                <div class="template-tab-body">
-                </div>
-            </form>
-            <form id="form-template-interface">
-                <div class="template-tab-header">
-                    <span class="template-interface-cell">$_("Network")</span>
-                    <span class="template-interface-cell">$_("Type")</span>
-                    <button type="button" id="template-edit-interface-add-button" class="action-area"></button>
-                </div>
-                <div class="template-tab-body"></div>
-            </form>
-            <form id="form-template-processor">
-                <div>
-                    <label for="cpus">$_("CPU Number")</label>
-                    <input type="text" value="1" id="cpus" />
-                </div>
-                <div class="manual">
-                    <input type="checkbox" id="cpus-check" />
-                    <label for="cpus-check">$_("Manually set CPU topology")</label>
-                </div>
-                <div class="topology hide">
-                    <div>
-                        <label for="cores">$_("Cores")</label>
-                        <input type="text" value="1" id="cores" />
-                    </div>
-                    <div>
-                        <label for="threads">$_("Threads")</label>
-                        <select id="threads"></select>
-                    </div>
+                        <div class="form-template-inline-wrapper">
+                            <div class="template-edit-wrapper-controls">
+                                <input id="template-edit-id-textbox" name="name" type="text" />
+                            </div>
+                            <div class="template-edit-wrapper-controls">
+                                <input id="template-edit-vendor-textbox" name="os_distro" type="text" disabled="disabled" />
+                            </div>
+                            <div class="template-edit-wrapper-controls">
+                                <input id="template-edit-version-textbox" name="os_version" type="text" disabled="disabled" />
+                            </div>
+                            <div class="template-edit-wrapper-controls">
+                                <input id="template-edit-memory-textbox" name="memory" type="text" />
+                            </div>
+                            <div class="template-edit-wrapper-controls templ-edit-cdrom">
+                                <input id="template-edit-cdrom-textbox" name="cdrom" type="text" disabled="disabled" />
+                            </div>
+                            <div class="template-edit-wrapper-controls templ-edit-vm-image hide">
+                                <input id="template-edit-vmimage-textbox" name="vm-image" type="text" disabled="disabled" />
+                            </div>
+                            <div class="template-edit-wrapper-controls">
+                                <div class="btn dropdown popable">
+                                    <input id="template-edit-graphics" name="graphics" type="hidden" />
+                                    <span class="text" id="template-edit-graphics-label"></span><span class="arrow"></span>
+                                    <div class="popover" style="width: 100%">
+                                        <ul class="select-list" id="template-edit-graphics-list" data-target="template-edit-graphics" data-label="template-edit-graphics-label">
+                                        </ul>
+                                    </div>
+                                </div>
+                            </div>
+                        </div>
+                    </form>
+                    <form id="form-template-storage">
+                        <div class="template-tab-header">
+                            <span class="template-storage-cell">$_("Storage Pool")</span>
+                            <span class="template-storage-cell">$_("Type")</span>
+                            <span class="template-storage-cell">$_("Disk(GB)")</span>
+                            <span class="template-storage-cell">$_("Disk Format")</span>
+                            <button type="button" id="template-edit-storage-add-button" class="action-area"></button>
+                        </div>
+                        <div class="template-tab-body">
+                        </div>
+                    </form>
+                    <form id="form-template-interface">
+                        <div class="template-tab-header">
+                            <span class="template-interface-cell">$_("Network")</span>
+                            <span class="template-interface-cell">$_("Type")</span>
+                            <button type="button" id="template-edit-interface-add-button" class="action-area"></button>
+                        </div>
+                        <div class="template-tab-body"></div>
+                    </form>
+                    <form id="form-template-processor">
+                        <div>
+                            <label for="cpus">$_("CPU Number")</label>
+                            <input type="text" value="1" id="cpus" />
+                        </div>
+                        <div class="manual">
+                            <input type="checkbox" id="cpus-check" />
+                            <label for="cpus-check">$_("Manually set CPU topology")</label>
+                        </div>
+                        <div class="topology hide">
+                            <div>
+                                <label for="cores">$_("Cores")</label>
+                                <input type="text" value="1" id="cores" />
+                            </div>
+                            <div>
+                                <label for="threads">$_("Threads")</label>
+                                <select id="threads"></select>
+                            </div>
+                        </div>
+                    </form>
                 </div>
-            </form>
-        </div>
     </div>
-    <footer>
-        <div class="btn-group">
-            <a id="tmpl-edit-button-save" class="btn-normal" href="javascript:void(0);"><span class="text">$_("Save")</span></a>
-            <button class="btn-normal close" type="button"><span class="text">$_("Cancel")</span></button>
-        </div>
-    </footer>
+    <div class="modal-footer">
+            <a id="tmpl-edit-button-save" class="btn btn-default" href="javascript:void(0);"><span class="text">$_("Save")</span></a>
+            <button class="btn btn-default" type="button" data-dismiss="modal">$_("Cancel")</button>
+    </div>
 </div>
 <script>
     kimchi.template_edit_main();
diff --git a/src/wok/plugins/kimchi/ui/pages/templates.html.tmpl b/src/wok/plugins/kimchi/ui/pages/templates.html.tmpl
index af1cf3f..977f30f 100644
--- a/src/wok/plugins/kimchi/ui/pages/templates.html.tmpl
+++ b/src/wok/plugins/kimchi/ui/pages/templates.html.tmpl
@@ -28,47 +28,64 @@
 <script src="plugins/kimchi/js/kimchi.min.js"></script>
 </head>
 <body>
-<div class="toolbar">
-    <div class="tools" style="display:none">
-        <a id="template-add" class="btn-tool" href="javascript:void(0);"><span class="icon add">+</span></a>
-    </div>
-</div>
-<div>
-    <div id="noTemplates" class="list-no-result" style="display: none;">
-        $_("No templates found.")
-    </div>
-
-    <ul id="templateList" class="empty-when-logged-off"></ul>
-
-    <script id="templateTmpl" type="html/text">
-
-        <div class="template-box white-box template-border">
-            <div class="btn dropdown popable" style="width: 70px">
-                <span class="text">$_("Actions")</span><span class="arrow"></span>
-                <div class="popover actionsheet right-side" style="width: 250px">
-                    <a class="button-big template-edit" data-template='{name}'>$_("Edit")</a>
-                    <a class="button-big template-clone" data-template='{name}'>$_("Clone")</a>
-                    <a class="button-big red template-delete" data-template='{name}'>$_("Delete")</a>
-                </div>
-            </div>
-
-            <div class="template-icon template-icon-position">
-                <img alt="" src="{icon}">
-                <img alt="" src="{location}" class="template-type-icon-position">
+<div id="templates-root-container">
+    <nav class="navbar navbar-default toolbar">
+        <div class="container">
+            <!-- Brand and toggle get grouped for better mobile display -->
+            <div class="navbar-header">
+              <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#toolbar" aria-expanded="false">
+                <span class="sr-only">Toggle navigation</span>
+                <span class="icon-bar"></span>
+                <span class="icon-bar"></span>
+                <span class="icon-bar"></span>
+              </button>
+            </div>        
+            <!-- Collect the nav links, forms, and other content for toggling -->
+            <div class="collapse navbar-collapse" id="toolbar">
+                <ul class="nav navbar-nav navbar-right tools" display="none">
+                    <li><a id="template-add" class="btn-tool" href="javascript:void(0);"><i class="fa fa-plus-circle"></i><span>Add a Template</span></a></li>
+                </ul>
             </div>
-            <div class="template-general template-title template-title-position">
-                <h2 class="title" title="{name}">{name}</h2>
-            </div>
-            <div class="template-os-position">
-                <div class="template-text">$_("OS"): {os_distro}</div>
-                <div class="template-text">$_("Version"): {os_version}</div>
-            </div>
-            <div class="template-cpu-position">
-                <div class="template-text">$_("CPUs"): {cpus}</div>
-                <div class="template-text">$_("Memory"): {memory}M</div>
+        </div>
+    </nav>
+    <div class="templates">
+        <div class="container">
+            <div id="alert-container"></div>
+            <div id="noTemplates" class="list-no-result" style="display: none;">
+                $_("No templates found.")
             </div>
+            <ul id="templateList" class="empty-when-logged-off"></ul>
+            <script id="templateTmpl" type="html/text">
+                <div class="template-box white-box template-border">
+                    <div class="btn dropdown popable" style="width: 70px">
+                        <span class="text">$_("Actions")</span><span class="arrow"></span>
+                        <div class="popover actionsheet right-side" style="width: 250px">
+                            <a class="button-big template-edit" data-template='{name}'>$_("Edit")</a>
+                            <a class="button-big template-clone" data-template='{name}'>$_("Clone")</a>
+                            <a class="button-big red template-delete" data-template='{name}'>$_("Delete")</a>
+                        </div>
+                    </div>
+                    <div class="template-icon template-icon-position">
+                        <img alt="" src="{icon}">
+                        <img alt="" src="{location}" class="template-type-icon-position">
+                    </div>
+                    <div class="template-general template-title template-title-position">
+                        <h2 class="title" title="{name}">{name}</h2>
+                    </div>
+                    <div class="template-os-position">
+                        <div class="template-text">$_("OS"): {os_distro}</div>
+                        <div class="template-text">$_("Version"): {os_version}</div>
+                    </div>
+                    <div class="template-cpu-position">
+                        <div class="template-text">$_("CPUs"): {cpus}</div>
+                        <div class="template-text">$_("Memory"): {memory}M</div>
+                    </div>
+                </div>
+            </script>
         </div>
-    </script>
+    </div>
+<div>
+<div id="modalWindow" class="modal fade host-modal templates-modal" tabindex="-1" role="dialog" aria-labelledby="templatesModalLabel" aria-hidden="true">
 </div>
 <script>
     kimchi.template_main();
-- 
1.9.3




More information about the Kimchi-devel mailing list