You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ak...@apache.org on 2015/07/02 10:48:36 UTC

[50/50] [abbrv] incubator-ignite git commit: IGNITE-843 Cleanup module.

IGNITE-843 Cleanup module.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/80a5a7ab
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/80a5a7ab
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/80a5a7ab

Branch: refs/heads/ignite-843
Commit: 80a5a7ab2e653494ee3f5db225adb60fe390f579
Parents: b32bd3d
Author: AKuznetsov <ak...@gridgain.com>
Authored: Thu Jul 2 15:47:30 2015 +0700
Committer: AKuznetsov <ak...@gridgain.com>
Committed: Thu Jul 2 15:47:30 2015 +0700

----------------------------------------------------------------------
 .../public/javascripts/controllers/clusters.js  |   2 +-
 .../public/javascripts/controllers/common.js    |   1 -
 .../nodejs/views/includes/header.jade           |   4 +-
 .../nodejs/views/layout-sidebar.jade            |   8 +-
 .../ignite/webconfig/server/HelloServlet.java   |  12 -
 modules/webconfig/src/main/webapp/caches.html   | 491 ------------------
 modules/webconfig/src/main/webapp/clients.html  |  86 ----
 modules/webconfig/src/main/webapp/clusters.html | 493 -------------------
 .../webconfig/src/main/webapp/images/docker.png | Bin 994 -> 0 bytes
 .../webconfig/src/main/webapp/images/java.png   | Bin 170 -> 0 bytes
 .../webconfig/src/main/webapp/images/logo.png   | Bin 8148 -> 0 bytes
 .../webconfig/src/main/webapp/images/xml.png    | Bin 232 -> 0 bytes
 modules/webconfig/src/main/webapp/index.html    |  76 ---
 .../src/main/webapp/layout-sidebar.html         |  80 ---
 modules/webconfig/src/main/webapp/layout.html   |  61 ---
 .../webconfig/src/main/webapp/persistence.html  | 377 --------------
 modules/webconfig/src/main/webapp/sql.html      |  66 ---
 .../src/main/webapp/stylesheets/style.css       |   1 -
 modules/webconfig/src/main/webapp/summary.html  | 142 ------
 19 files changed, 7 insertions(+), 1893 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80a5a7ab/modules/web-control-center/nodejs/public/javascripts/controllers/clusters.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/public/javascripts/controllers/clusters.js b/modules/web-control-center/nodejs/public/javascripts/controllers/clusters.js
index ce38381..3186eb7 100644
--- a/modules/web-control-center/nodejs/public/javascripts/controllers/clusters.js
+++ b/modules/web-control-center/nodejs/public/javascripts/controllers/clusters.js
@@ -21,7 +21,7 @@ configuratorModule.controller('clustersController', ['$scope', '$alert', '$http'
         $scope.getModel = commonFunctions.getModel;
 
         $scope.templates = [
-            {value: {}, label: 'blank'},
+            {value: {}, label: 'none'},
             {value: {discovery: {kind: 'Vm', Vm: {addresses: ['127.0.0.1:47500..47510']}}}, label: 'local'},
             {value: {discovery: {kind: 'Multicast', Multicast: {}}}, label: 'multicast'}
         ];

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80a5a7ab/modules/web-control-center/nodejs/public/javascripts/controllers/common.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/public/javascripts/controllers/common.js b/modules/web-control-center/nodejs/public/javascripts/controllers/common.js
index 4d1e411..8fec94d 100644
--- a/modules/web-control-center/nodejs/public/javascripts/controllers/common.js
+++ b/modules/web-control-center/nodejs/public/javascripts/controllers/common.js
@@ -72,7 +72,6 @@ configuratorModule.config(function ($tooltipProvider) {
         placement: 'right',
         html: 'true',
         trigger: 'click hover'
-        //,delay: { hide: 600 }
     });
 });
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80a5a7ab/modules/web-control-center/nodejs/views/includes/header.jade
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/views/includes/header.jade b/modules/web-control-center/nodejs/views/includes/header.jade
index 9ffb687..33ee064 100644
--- a/modules/web-control-center/nodejs/views/includes/header.jade
+++ b/modules/web-control-center/nodejs/views/includes/header.jade
@@ -22,8 +22,8 @@ header.header(id='header')
             ul.nav.navbar-nav(ng-controller='activeLink')
                 li
                     a(ng-class="{active: isActive('/clusters')}" href='/clusters') Configuration
-                li
-                    a(ng-class="{active: isActive('/sql')}" href='/sql') SQL
+                //li
+                //    a(ng-class="{active: isActive('/sql')}" href='/sql') SQL
             ul.nav.navbar-nav.pull-right(ng-init='user = #{JSON.stringify(user)}')
                 li(ng-show='user')
                     a.dropdown-toggle(data-toggle='dropdown' aria-expanded='true' bs-dropdown data-template='user-dropdown' data-placement='bottom-right') {{user.username}}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80a5a7ab/modules/web-control-center/nodejs/views/layout-sidebar.jade
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/views/layout-sidebar.jade b/modules/web-control-center/nodejs/views/layout-sidebar.jade
index f88bb7d..9335493 100644
--- a/modules/web-control-center/nodejs/views/layout-sidebar.jade
+++ b/modules/web-control-center/nodejs/views/layout-sidebar.jade
@@ -25,10 +25,10 @@ block container
                         a(ng-class="{active: isActive('/clusters')}" href='/clusters') Clusters
                     li
                         a(ng-class="{active: isActive('/caches')}" href='/caches') Caches
-                    li
-                        a(ng-class="{active: isActive('/persistence')}" href='/persistence') Persistence
-                    li
-                        a(ng-class="{active: isActive('/clients')}" href='/clients') Clients
+                    //li
+                    //    a(ng-class="{active: isActive('/persistence')}" href='/persistence') Persistence
+                    //li
+                    //    a(ng-class="{active: isActive('/clients')}" href='/clients') Clients
                     li
                         p
                         a(ng-class="{active: isActive('/summary')}" href='/summary') Summary

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80a5a7ab/modules/webconfig/src/main/java/org/apache/ignite/webconfig/server/HelloServlet.java
----------------------------------------------------------------------
diff --git a/modules/webconfig/src/main/java/org/apache/ignite/webconfig/server/HelloServlet.java b/modules/webconfig/src/main/java/org/apache/ignite/webconfig/server/HelloServlet.java
deleted file mode 100644
index efc7ef5..0000000
--- a/modules/webconfig/src/main/java/org/apache/ignite/webconfig/server/HelloServlet.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package org.apache.ignite.webconfig.server;
-
-public class HelloServlet extends HttpServlet
-{
-    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
-    {
-        response.setContentType("text/html");
-        response.setStatus(HttpServletResponse.SC_OK);
-        response.getWriter().println("<h1>Hello Servlet</h1>");
-        response.getWriter().println("session=" + request.getSession(true).getId());
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80a5a7ab/modules/webconfig/src/main/webapp/caches.html
----------------------------------------------------------------------
diff --git a/modules/webconfig/src/main/webapp/caches.html b/modules/webconfig/src/main/webapp/caches.html
deleted file mode 100644
index 150e5a6..0000000
--- a/modules/webconfig/src/main/webapp/caches.html
+++ /dev/null
@@ -1,491 +0,0 @@
-<!DOCTYPE html>
-<html ng-app="ignite-web-configurator">
-  <head>
-    <title></title>
-    <!-- Bootstrap-->
-    <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.4/css/bootstrap.css">
-    <!-- Font Awesome Icons-->
-    <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.css">
-    <!-- Font-->
-    <link rel="stylesheet" href="//fonts.googleapis.com/css?family=Roboto+Slab:700:serif|Roboto+Slab:400:serif">
-    <link rel="stylesheet" href="/stylesheets/style.css">
-    <script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.js"></script>
-    <script src="//cdnjs.cloudflare.com/ajax/libs/lodash.js/3.9.3/lodash.min.js"></script>
-    <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.js"></script>
-    <script src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.15/angular-sanitize.js"></script>
-    <script src="//cdnjs.cloudflare.com/ajax/libs/angular-strap/2.2.2/angular-strap.js"></script>
-    <script src="//cdnjs.cloudflare.com/ajax/libs/angular-strap/2.2.2/angular-strap.tpl.min.js"></script>
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular-smart-table/2.0.3/smart-table.js"></script>
-    <script src="/javascripts/controllers/common.js"></script>
-    <script src="/javascripts/dataStructures.js"></script>
-    <script src="/javascripts/bundle.js"></script>
-    <script src="/javascripts/controllers/caches.js"></script>
-  </head>
-  <body class="theme-line body-overlap">
-    <div class="wrapper">
-      <header id="header" class="header">
-        <div class="container">
-          <h1 class="navbar-brand"><a href="/">Apache Ignite Web Configurator</a></h1>
-          <div ng-controller="auth" class="navbar-collapse collapse">
-            <ul ng-controller="activeLink" class="nav navbar-nav">
-              <li><a ng-class="{active: isActive('/clusters')}" href="/clusters">Configuration</a></li>
-              <li><a ng-class="{active: isActive('/sql')}" href="/sql">SQL</a></li>
-            </ul>
-            <ul ng-init="user = undefined" class="nav navbar-nav pull-right">
-              <li ng-show="user"><a data-toggle="dropdown" aria-expanded="true" bs-dropdown data-template="user-dropdown" data-placement="bottom-right" class="dropdown-toggle">{{user.username}}<span class="caret"></span></a>
-                <script id="user-dropdown" type="text/ng-template">
-                  <ul class="dropdown-menu">
-                    <li><a href="/rest/auth/logout">Log Out</a></li>
-                  </ul>
-                </script>
-              </li>
-              <li ng-show="!user" class="nav-login"><a ng-click="login()" href="#">Log In</a></li>
-            </ul>
-          </div>
-        </div>
-      </header>
-      <div class="container body-container">
-        <div class="main-content">
-          <div class="main-head">
-            <div class="row">
-              <div class="col-sm-2 border-right section-left greedy">
-                <div class="sidebar-nav">
-                  <ul ng-controller="activeLink" class="menu">
-                    <li><a ng-class="{active: isActive('/clusters')}" href="/clusters">Clusters</a></li>
-                    <li><a ng-class="{active: isActive('/caches')}" href="/caches">Caches</a></li>
-                    <li><a ng-class="{active: isActive('/persistence')}" href="/persistence">Persistence</a></li>
-                    <li><a ng-class="{active: isActive('/clients')}" href="/clients">Clients</a></li>
-                    <li>
-                      <p></p><a ng-class="{active: isActive('/summary')}" href="/summary">Summary</a>
-                    </li>
-                  </ul>
-                </div>
-              </div>
-              <div class="col-sm-10 border-left section-right">
-                <div class="docs-content">
-                  <div class="docs-header">
-                    <h1>Caches</h1>
-                    <p>Create and configure Ignite caches.</p>
-                    <hr>
-                  </div>
-                  <div ng-controller="cachesController" class="docs-body">
-                    <div ng-hide="caches.length == 0" class="links">
-                      <table st-table="caches" class="col-sm-12">
-                        <tbody>
-                          <tr ng-repeat="row in caches track by row._id">
-                            <td ng-class="{active: row._id == selectedItem._id}" class="col-sm-6"><a ng-click="selectItem(row)">{{$index + 1}}. {{row.name}}, {{row.mode | displayValue:modes:'Cache mode not set'}}, {{row.atomicityMode | displayValue:atomicities:'Cache atomicity not set'}}</a></td>
-                          </tr>
-                        </tbody>
-                      </table>
-                    </div>
-                    <button ng-click="createItem()" class="btn btn-primary">Add cache</button>
-                    <hr>
-                    <form name="inputForm" ng-if="backupItem" novalidate class="form-horizontal">
-                      <div bs-collapse data-start-collapsed="false">
-                        <div class="panel panel-default">
-                          <div class="panel-heading">
-                            <h3><a bs-collapse-toggle>General</a></h3>
-                          </div>
-                          <div bs-collapse-target class="panel-collapse">
-                            <div class="panel-body">
-                              <div ng-repeat="field in general" class="settings-row">
-                                <div ng-switch="field.type">
-                                  <div ng-switch-when="check" class="checkbox col-sm-6">
-                                    <label>
-                                      <input type="checkbox" ng-model="getModel(backupItem, field.path)[field.model]"/>{{field.label}}<i ng-if="field.tip" bs-tooltip="joinTip(field.tip)" type="button" class="tipLabel fa fa-question-circle"></i><i ng-if="!field.tip" class="tipLabel fa fa-question-circle blank"></i>
-                                    </label>
-                                  </div>
-                                  <div ng-switch-when="text">
-                                    <label ng-class="{required: field.required}" class="col-sm-2">{{field.label}}:</label>
-                                    <div class="col-sm-4"><i ng-if="field.tip" bs-tooltip="joinTip(field.tip)" type="button" class="tipField fa fa-question-circle"></i><i ng-if="!field.tip" class="tipField fa fa-question-circle blank"></i>
-                                      <div class="input-tip">
-                                        <input type="text" placeholder="{{field.placeholder}}" ng-required="field.required" class="form-control" ng-model="getModel(backupItem, field.path)[field.model]"/>
-                                      </div>
-                                    </div>
-                                  </div>
-                                  <div ng-switch-when="password">
-                                    <label ng-class="{required: field.required}" class="col-sm-2">{{field.label}}:</label>
-                                    <div class="col-sm-4"><i ng-if="field.tip" bs-tooltip="joinTip(field.tip)" type="button" class="tipField fa fa-question-circle"></i><i ng-if="!field.tip" class="tipField fa fa-question-circle blank"></i>
-                                      <div class="input-tip">
-                                        <input type="password" placeholder="{{field.placeholder}}" ng-required="field.required" class="form-control" ng-model="getModel(backupItem, field.path)[field.model]"/>
-                                      </div>
-                                    </div>
-                                  </div>
-                                  <div ng-switch-when="number">
-                                    <label ng-class="{required: field.required}" class="col-sm-2">{{field.label}}:</label>
-                                    <div class="col-sm-4"><i ng-if="field.tip" bs-tooltip="joinTip(field.tip)" type="button" class="tipField fa fa-question-circle"></i><i ng-if="!field.tip" class="tipField fa fa-question-circle blank"></i>
-                                      <div class="input-tip">
-                                        <input name="{{field.model}}" type="number" placeholder="{{field.placeholder}}" min="{{field.min ? field.min : 0}}" max="{{field.max ? field.max : Number.MAX_VALUE}}" ng-required="field.required" class="form-control" ng-model="getModel(backupItem, field.path)[field.model]"/><i ng-show="inputForm[&quot;{{field.model}}&quot;].$error.min" bs-tooltip="bs-tooltip" data-title="Value is less than allowable minimum." type="button" class="fa fa-exclamation-triangle form-control-feedback"></i><i ng-show="inputForm[&quot;{{field.model}}&quot;].$error.max" bs-tooltip="bs-tooltip" data-title="Value is more than allowable maximum." type="button" class="fa fa-exclamation-triangle form-control-feedback"></i><i ng-show="inputForm[&quot;{{field.model}}&quot;].$error.number" bs-tooltip="bs-tooltip" data-title="Invalid value. Only numbers allowed." type="button" class="fa fa-exclamation-triangle form-control-feedback"></i>
-                                      </div>
-                                    </div>
-                                  </div>
-                                  <div ng-switch-when="dropdown">
-                                    <label ng-class="{required: field.required}" class="col-sm-2">{{field.label}}:</label>
-                                    <div class="col-sm-4"><i ng-if="field.tip" bs-tooltip="joinTip(field.tip)" type="button" class="tipField fa fa-question-circle"></i><i ng-if="!field.tip" class="tipField fa fa-question-circle blank"></i>
-                                      <div class="input-tip">
-                                        <button bs-select="bs-select" ng-required="field.required" data-placeholder="{{field.placeholder}}" bs-options="item.value as item.label for item in {{field.items}}" class="form-control" ng-model="getModel(backupItem, field.path)[field.model]"></button>
-                                      </div>
-                                    </div>
-                                  </div>
-                                  <div ng-switch-when="dropdown-multiple">
-                                    <label ng-class="{required: field.required}" class="col-sm-2">{{field.label}}:</label>
-                                    <div class="col-sm-4"><i ng-if="field.tip" bs-tooltip="joinTip(field.tip)" type="button" class="tipField fa fa-question-circle"></i><i ng-if="!field.tip" class="tipField fa fa-question-circle blank"></i>
-                                      <div class="input-tip">
-                                        <button bs-select="bs-select" ng-disabled="{{field.items}}.length == 0" data-multiple="1" data-placeholder="{{field.placeholder}}" bs-options="item.value as item.label for item in {{field.items}}" class="form-control" ng-model="getModel(backupItem, field.path)[field.model]"></button>
-                                      </div>
-                                    </div><a ng-show="field.addLink" ng-href="{{field.addLink.ref}}" class="customize">{{field.addLink.label}}</a>
-                                  </div>
-                                  <div ng-switch-when="dropdown-details">
-                                    <label ng-class="{required: field.required}" class="col-sm-2">{{field.label}}:</label>
-                                    <div class="col-sm-4"><i ng-if="field.tip" bs-tooltip="joinTip(field.tip)" type="button" class="tipField fa fa-question-circle"></i><i ng-if="!field.tip" class="tipField fa fa-question-circle blank"></i>
-                                      <div class="input-tip">
-                                        <button bs-select="bs-select" ng-required="field.required" data-placeholder="{{field.placeholder}}" bs-options="item.value as item.label for item in {{field.items}}" class="form-control" ng-model="getModel(backupItem, field.path)[field.model]"></button>
-                                      </div>
-                                    </div><a ng-show="getModel(backupItem, field.path)[field.model] &amp;&amp; field.details[getModel(backupItem, field.path)[field.model]].fields" ng-click="field.details[getModel(backupItem, field.path)[field.model]].expanded = !field.details[getModel(backupItem, field.path)[field.model]].expanded" class="customize">{{field.details[getModel(backupItem, field.path)[field.model]].expanded ? "Hide settings" : "Show settings"}}</a>
-                                    <div ng-show="field.details[getModel(backupItem, field.path)[field.model]].expanded &amp;&amp; getModel(backupItem, field.path)[field.model]" class="col-sm-6 panel-details">
-                                      <div ng-repeat="detail in field.details[getModel(backupItem, field.path)[field.model]].fields" class="details-row">
-                                        <div ng-switch="detail.type">
-                                          <div ng-switch-when="check" class="checkbox">
-                                            <label>
-                                              <input type="checkbox" ng-model="getModel(backupItem, detail.path)[detail.model]"/>{{detail.label}}<i ng-if="detail.tip" bs-tooltip="joinTip(detail.tip)" type="button" class="tipLabel fa fa-question-circle"></i><i ng-if="!detail.tip" class="tipLabel fa fa-question-circle blank"></i>
-                                            </label>
-                                          </div>
-                                          <div ng-switch-when="text">
-                                            <label class="col-sm-4 details-label">{{detail.label}}:</label>
-                                            <div class="col-sm-8"><i ng-if="detail.tip" bs-tooltip="joinTip(detail.tip)" type="button" class="tipField fa fa-question-circle"></i><i ng-if="!detail.tip" class="tipField fa fa-question-circle blank"></i>
-                                              <div class="input-tip">
-                                                <input type="text" placeholder="{{detail.placeholder}}" class="form-control" ng-model="getModel(backupItem, detail.path)[detail.model]"/>
-                                              </div>
-                                            </div>
-                                          </div>
-                                          <div ng-switch-when="number">
-                                            <label class="col-sm-4 details-label">{{detail.label}}:</label>
-                                            <div class="col-sm-8"><i ng-if="detail.tip" bs-tooltip="joinTip(detail.tip)" type="button" class="tipField fa fa-question-circle"></i><i ng-if="!detail.tip" class="tipField fa fa-question-circle blank"></i>
-                                              <div class="input-tip">
-                                                <input name="{{detail.model}}" type="number" placeholder="{{detail.placeholder}}" min="{{detail.min ? detail.min : 0}}" max="{{detail.max ? detail.max : Number.MAX_VALUE}}" class="form-control" ng-model="getModel(backupItem, detail.path)[detail.model]"/><i ng-show="inputForm[&quot;{{detail.model}}&quot;].$error.min" bs-tooltip="bs-tooltip" data-title="Value is less than allowable minimum." type="button" class="fa fa-exclamation-triangle form-control-feedback"></i><i ng-show="inputForm[&quot;{{detail.model}}&quot;].$error.max" bs-tooltip="bs-tooltip" data-title="Value is more than allowable maximum." type="button" class="fa fa-exclamation-triangle form-control-feedback"></i><i ng-show="inputForm[&quot;{{detail.model}}&quot;].$error.number" bs-tooltip="bs-tooltip" data-title="Invalid value. Only numbers allowed." type="button" class="fa fa-exclamation-triangle form-control-feedback"></i>
-                                              </div>
-                                            </div>
-                                          </div>
-                                          <div ng-switch-when="dropdown">
-                                            <label class="col-sm-4 details-label">{{detail.label}}:</label>
-                                            <div class="col-sm-8"><i ng-if="detail.tip" bs-tooltip="joinTip(detail.tip)" type="button" class="tipField fa fa-question-circle"></i><i ng-if="!detail.tip" class="tipField fa fa-question-circle blank"></i>
-                                              <div class="input-tip">
-                                                <button bs-select="bs-select" data-placeholder="{{detail.placeholder}}" bs-options="item.value as item.label for item in {{detail.items}}" class="form-control" ng-model="getModel(backupItem, detail.path)[detail.model]"></button>
-                                              </div>
-                                            </div>
-                                          </div>
-                                          <div ng-switch-when="dropdown-multiple">
-                                            <label class="col-sm-4 details-label">{{detail.label}}:</label>
-                                            <div class="col-sm-8">
-                                              <button bs-select="bs-select" data-multiple="1" data-placeholder="{{detail.placeholder}}" bs-options="item.value as item.label for item in {{detail.items}}" class="form-control" ng-model="getModel(backupItem, detail.path)[detail.model]"></button>
-                                            </div><i ng-if="detail.tip" bs-tooltip="joinTip(detail.tip)" type="button" class="tipField fa fa-question-circle"></i><i ng-if="!detail.tip" class="tipField fa fa-question-circle blank"></i>
-                                          </div>
-                                          <div ng-switch-when="table-simple" style="margin-right: 5px; margin-top: -0.65em" ng-model="getModel(backupItem, detail.path)[detail.model]">
-                                            <table st-table="getModel(backupItem, detail.path)[detail.model]" ng-show="getModel(backupItem, detail.path)[detail.model].length &gt; 0" class="col-sm-12 links-edit">
-                                              <tbody>
-                                                <tr ng-repeat="item in getModel(backupItem, detail.path)[detail.model] track by $index">
-                                                  <td class="col-sm-11">
-                                                    <div ng-show="detail.editIdx != {{$index}}"><a ng-click="detail.editIdx = $index; curValue = getModel(backupItem, detail.path)[detail.model][$index]">{{$index + 1}}) {{item}}</a><i ng-click="detail.editIdx = -1; getModel(backupItem, detail.path)[detail.model].splice($index, 1)" class="tipField fa fa-remove"></i></div>
-                                                    <div ng-show="detail.editIdx == {{$index}}">
-                                                      <label class="labelField">{{$index + 1}})</label><i ng-click="detail.editIdx = -1; getModel(backupItem, detail.path)[detail.model][$index]=curValue" class="tipField fa fa-floppy-o"></i>
-                                                      <div class="input-tip">
-                                                        <input type="text" ng-model="curValue" placeholder="{{detail.placeholder}}" class="form-control"/>
-                                                      </div>
-                                                    </div>
-                                                  </td>
-                                                  <td ng-if="detail.reordering" class="col-sm-1"><i ng-show="$index &gt; 0" ng-click="swapSimpleItems(detailMdl, $index, $index - 1); detail.editIdx = -1;" class="fa fa-arrow-up"></i><i ng-show="$index &lt; getModel(backupItem, detail.path)[detail.model].length - 1" ng-click="swapSimpleItems(getModel(backupItem, detail.path)[detail.model], $index, $index + 1); detail.editIdx = -1;" class="fa fa-arrow-down"></i></td>
-                                                </tr>
-                                              </tbody>
-                                            </table>
-                                            <button ng-disabled="!newValue || getModel(backupItem, detail.path)[detail.model].indexOf(newValue) &gt;= 0" ng-click="detail.editIdx = -1; getModel(backupItem, detail.path)[detail.model] ? getModel(backupItem, detail.path)[detail.model].push(newValue) : getModel(backupItem, detail.path)[detail.model] = [newValue];" class="btn btn-primary fieldButton">Add</button><i ng-if="detail.tip" bs-tooltip="joinTip(detail.tip)" type="button" class="tipField fa fa-question-circle"></i><i ng-if="!detail.tip" class="tipField fa fa-question-circle blank"></i>
-                                            <div class="input-tip">
-                                              <input type="text" ng-model="newValue" ng-focus="detail.editIdx = -1" placeholder="{{detail.placeholder}}" class="form-control"/>
-                                            </div>
-                                          </div>
-                                        </div>
-                                      </div>
-                                    </div>
-                                  </div>
-                                  <div ng-switch-when="table-simple" ng-model="getModel(backupItem, field.path)[field.model]">
-                                    <div>
-                                      <label>{{field.tableLabel}}: {{getModel(backupItem, field.path)[field.model].length}}</label><i ng-if="field.tip" bs-tooltip="joinTip(field.tip)" type="button" class="tipLabel fa fa-question-circle"></i><i ng-if="!field.tip" class="tipLabel fa fa-question-circle blank"></i>
-                                    </div>
-                                    <table st-table="getModel(backupItem, field.path)[field.model]" ng-show="getModel(backupItem, field.path)[field.model].length &gt; 0" class="links-edit col-sm-12">
-                                      <tbody>
-                                        <tr ng-repeat="item in getModel(backupItem, field.path)[field.model] track by $index" class="col-sm-12">
-                                          <td class="col-sm-6">
-                                            <div ng-show="field.editIdx != {{$index}}"><a ng-click="field.editIdx = $index; curValue = getModel(backupItem, field.path)[field.model][$index]">{{$index + 1}}) {{item | compact}}</a><i ng-click="field.editIdx = -1; getModel(backupItem, field.path)[field.model].splice($index, 1)" class="tipField fa fa-remove"></i></div>
-                                            <div ng-show="field.editIdx == {{$index}}">
-                                              <label class="labelField">{{$index + 1}})</label><i ng-click="field.editIdx = -1; getModel(backupItem, field.path)[field.model][$index]=curValue" class="tipField fa fa-floppy-o"></i>
-                                              <div class="input-tip">
-                                                <input type="text" ng-model="curValue" placeholder="{{field.placeholder}}" class="form-control"/>
-                                              </div>
-                                            </div>
-                                          </td>
-                                          <td ng-if="field.reordering" class="col-sm-1"><i ng-show="$index &gt; 0" ng-click="swapSimpleItems(fieldMdl, $index, $index - 1); field.editIdx = -1;" class="fa fa-arrow-up"></i><i ng-show="$index &lt; getModel(backupItem, field.path)[field.model].length - 1" ng-click="swapSimpleItems(getModel(backupItem, field.path)[field.model], $index, $index + 1); field.editIdx = -1;" class="fa fa-arrow-down"></i></td>
-                                        </tr>
-                                      </tbody>
-                                    </table>
-                                    <div class="col-sm-6">
-                                      <button ng-disabled="!newValue || getModel(backupItem, field.path)[field.model].indexOf(newValue) &gt;= 0" ng-click="field.editIdx = -1; getModel(backupItem, field.path)[field.model] ? getModel(backupItem, field.path)[field.model].push(newValue) : getModel(backupItem, field.path)[field.model] = [newValue];" class="btn btn-primary fieldButton">Add</button><i ng-if="field.tip" bs-tooltip="joinTip(field.tip)" type="button" class="tipField fa fa-question-circle"></i><i ng-if="!field.tip" class="tipField fa fa-question-circle blank"></i>
-                                      <div class="input-tip">
-                                        <input type="text" ng-model="newValue" ng-focus="field.editIdx = -1" placeholder="{{field.placeholder}}" class="form-control"/>
-                                      </div>
-                                    </div>
-                                  </div>
-                                  <div ng-switch-when="indexedTypes">
-                                    <div>
-                                      <label>Indexed types: {{backupItem.indexedTypes.length}}</label><i ng-if="field.tip" bs-tooltip="joinTip(field.tip)" type="button" class="tipLabel fa fa-question-circle"></i><i ng-if="!field.tip" class="tipLabel fa fa-question-circle blank"></i>
-                                    </div>
-                                    <table st-table="backupItem.indexedTypes" ng-show="backupItem.indexedTypes.length &gt; 0" class="links-edit col-sm-12">
-                                      <tbody>
-                                        <tr ng-repeat="item in backupItem.indexedTypes" class="col-sm-12">
-                                          <td class="col-sm-6">
-                                            <div ng-show="field.editIdx != {{$index}}"><a ng-click="field.editIdx = $index; curKeyClass = backupItem.indexedTypes[$index].keyClass; curValueClass = backupItem.indexedTypes[$index].valueClass">{{$index + 1}}) {{item.keyClass}} / {{item.valueClass}}</a><i ng-click="field.editIdx = -1; backupItem.indexedTypes.splice($index, 1)" class="tipField fa fa-remove"></i></div>
-                                            <div ng-show="field.editIdx == {{$index}}">
-                                              <label class="labelField">{{$index + 1}})</label><i ng-click="field.editIdx = -1; backupItem.indexedTypes[$index]={keyClass: curKeyClass, valueClass: curValueClass}" class="tipField fa fa-floppy-o"></i>
-                                              <div class="input-tip">
-                                                <div class="col-sm-12">
-                                                  <input type="text" ng-model="curKeyClass" placeholder="Key class full name" class="form-control table-form-control"/>
-                                                  <label>&nbsp;/&nbsp;</label>
-                                                  <input type="text" ng-model="curValueClass" placeholder="Value class full name" class="form-control table-form-control"/>
-                                                </div>
-                                              </div>
-                                            </div>
-                                          </td>
-                                        </tr>
-                                      </tbody>
-                                    </table>
-                                    <div class="col-sm-6">
-                                      <input type="text" ng-model="newKeyClass" ng-focus="field.editIdx = -1" placeholder="Key class full name" class="form-control"/>
-                                      <div class="settings-row">
-                                        <input type="text" ng-model="newValueClass" ng-focus="field.editIdx = -1" placeholder="Value class full name" class="form-control"/>
-                                      </div>
-                                      <button ng-click="field.editIdx = -1; addIndexedTypes(newKeyClass, newValueClass)" class="btn btn-primary fieldButton">Add</button>
-                                    </div>
-                                  </div>
-                                </div>
-                              </div>
-                            </div>
-                          </div>
-                        </div>
-                      </div>
-                      <div bs-collapse data-start-collapsed="true">
-                        <div ng-show="expanded" class="panel-title">
-                          <h3><a bs-collapse-toggle="0" ng-click="expanded = !expanded;">{{expanded ? 'Hide advanced settings...' : 'Show advanced settings...'}}</a></h3>
-                        </div>
-                        <div bs-collapse-target class="panel-collapse">
-                          <div bs-collapse data-start-collapsed="true" data-allow-multiple="true" class="span">
-                            <div ng-repeat="group in advanced" class="panel panel-default">
-                              <div class="panel-heading">
-                                <h3><a bs-collapse-toggle>{{group.label}}</a><i ng-if="group.tip" bs-tooltip="joinTip(group.tip)" type="button" class="tipLabel fa fa-question-circle"></i><i ng-if="!group.tip" class="tipLabel fa fa-question-circle blank"></i></h3>
-                              </div>
-                              <div bs-collapse-target class="panel-collapse">
-                                <div class="panel-body">
-                                  <div ng-repeat="field in group.fields" class="settings-row">
-                                    <div ng-switch="field.type">
-                                      <div ng-switch-when="check" class="checkbox col-sm-6">
-                                        <label>
-                                          <input type="checkbox" ng-model="getModel(backupItem, field.path)[field.model]"/>{{field.label}}<i ng-if="field.tip" bs-tooltip="joinTip(field.tip)" type="button" class="tipLabel fa fa-question-circle"></i><i ng-if="!field.tip" class="tipLabel fa fa-question-circle blank"></i>
-                                        </label>
-                                      </div>
-                                      <div ng-switch-when="text">
-                                        <label ng-class="{required: field.required}" class="col-sm-2">{{field.label}}:</label>
-                                        <div class="col-sm-4"><i ng-if="field.tip" bs-tooltip="joinTip(field.tip)" type="button" class="tipField fa fa-question-circle"></i><i ng-if="!field.tip" class="tipField fa fa-question-circle blank"></i>
-                                          <div class="input-tip">
-                                            <input type="text" placeholder="{{field.placeholder}}" ng-required="field.required" class="form-control" ng-model="getModel(backupItem, field.path)[field.model]"/>
-                                          </div>
-                                        </div>
-                                      </div>
-                                      <div ng-switch-when="password">
-                                        <label ng-class="{required: field.required}" class="col-sm-2">{{field.label}}:</label>
-                                        <div class="col-sm-4"><i ng-if="field.tip" bs-tooltip="joinTip(field.tip)" type="button" class="tipField fa fa-question-circle"></i><i ng-if="!field.tip" class="tipField fa fa-question-circle blank"></i>
-                                          <div class="input-tip">
-                                            <input type="password" placeholder="{{field.placeholder}}" ng-required="field.required" class="form-control" ng-model="getModel(backupItem, field.path)[field.model]"/>
-                                          </div>
-                                        </div>
-                                      </div>
-                                      <div ng-switch-when="number">
-                                        <label ng-class="{required: field.required}" class="col-sm-2">{{field.label}}:</label>
-                                        <div class="col-sm-4"><i ng-if="field.tip" bs-tooltip="joinTip(field.tip)" type="button" class="tipField fa fa-question-circle"></i><i ng-if="!field.tip" class="tipField fa fa-question-circle blank"></i>
-                                          <div class="input-tip">
-                                            <input name="{{field.model}}" type="number" placeholder="{{field.placeholder}}" min="{{field.min ? field.min : 0}}" max="{{field.max ? field.max : Number.MAX_VALUE}}" ng-required="field.required" class="form-control" ng-model="getModel(backupItem, field.path)[field.model]"/><i ng-show="inputForm[&quot;{{field.model}}&quot;].$error.min" bs-tooltip="bs-tooltip" data-title="Value is less than allowable minimum." type="button" class="fa fa-exclamation-triangle form-control-feedback"></i><i ng-show="inputForm[&quot;{{field.model}}&quot;].$error.max" bs-tooltip="bs-tooltip" data-title="Value is more than allowable maximum." type="button" class="fa fa-exclamation-triangle form-control-feedback"></i><i ng-show="inputForm[&quot;{{field.model}}&quot;].$error.number" bs-tooltip="bs-tooltip" data-title="Invalid value. Only numbers allowed." type="button" class="fa fa-exclamation-triangle form-control-feedback"></i>
-                                          </div>
-                                        </div>
-                                      </div>
-                                      <div ng-switch-when="dropdown">
-                                        <label ng-class="{required: field.required}" class="col-sm-2">{{field.label}}:</label>
-                                        <div class="col-sm-4"><i ng-if="field.tip" bs-tooltip="joinTip(field.tip)" type="button" class="tipField fa fa-question-circle"></i><i ng-if="!field.tip" class="tipField fa fa-question-circle blank"></i>
-                                          <div class="input-tip">
-                                            <button bs-select="bs-select" ng-required="field.required" data-placeholder="{{field.placeholder}}" bs-options="item.value as item.label for item in {{field.items}}" class="form-control" ng-model="getModel(backupItem, field.path)[field.model]"></button>
-                                          </div>
-                                        </div>
-                                      </div>
-                                      <div ng-switch-when="dropdown-multiple">
-                                        <label ng-class="{required: field.required}" class="col-sm-2">{{field.label}}:</label>
-                                        <div class="col-sm-4"><i ng-if="field.tip" bs-tooltip="joinTip(field.tip)" type="button" class="tipField fa fa-question-circle"></i><i ng-if="!field.tip" class="tipField fa fa-question-circle blank"></i>
-                                          <div class="input-tip">
-                                            <button bs-select="bs-select" ng-disabled="{{field.items}}.length == 0" data-multiple="1" data-placeholder="{{field.placeholder}}" bs-options="item.value as item.label for item in {{field.items}}" class="form-control" ng-model="getModel(backupItem, field.path)[field.model]"></button>
-                                          </div>
-                                        </div><a ng-show="field.addLink" ng-href="{{field.addLink.ref}}" class="customize">{{field.addLink.label}}</a>
-                                      </div>
-                                      <div ng-switch-when="dropdown-details">
-                                        <label ng-class="{required: field.required}" class="col-sm-2">{{field.label}}:</label>
-                                        <div class="col-sm-4"><i ng-if="field.tip" bs-tooltip="joinTip(field.tip)" type="button" class="tipField fa fa-question-circle"></i><i ng-if="!field.tip" class="tipField fa fa-question-circle blank"></i>
-                                          <div class="input-tip">
-                                            <button bs-select="bs-select" ng-required="field.required" data-placeholder="{{field.placeholder}}" bs-options="item.value as item.label for item in {{field.items}}" class="form-control" ng-model="getModel(backupItem, field.path)[field.model]"></button>
-                                          </div>
-                                        </div><a ng-show="getModel(backupItem, field.path)[field.model] &amp;&amp; field.details[getModel(backupItem, field.path)[field.model]].fields" ng-click="field.details[getModel(backupItem, field.path)[field.model]].expanded = !field.details[getModel(backupItem, field.path)[field.model]].expanded" class="customize">{{field.details[getModel(backupItem, field.path)[field.model]].expanded ? "Hide settings" : "Show settings"}}</a>
-                                        <div ng-show="field.details[getModel(backupItem, field.path)[field.model]].expanded &amp;&amp; getModel(backupItem, field.path)[field.model]" class="col-sm-6 panel-details">
-                                          <div ng-repeat="detail in field.details[getModel(backupItem, field.path)[field.model]].fields" class="details-row">
-                                            <div ng-switch="detail.type">
-                                              <div ng-switch-when="check" class="checkbox">
-                                                <label>
-                                                  <input type="checkbox" ng-model="getModel(backupItem, detail.path)[detail.model]"/>{{detail.label}}<i ng-if="detail.tip" bs-tooltip="joinTip(detail.tip)" type="button" class="tipLabel fa fa-question-circle"></i><i ng-if="!detail.tip" class="tipLabel fa fa-question-circle blank"></i>
-                                                </label>
-                                              </div>
-                                              <div ng-switch-when="text">
-                                                <label class="col-sm-4 details-label">{{detail.label}}:</label>
-                                                <div class="col-sm-8"><i ng-if="detail.tip" bs-tooltip="joinTip(detail.tip)" type="button" class="tipField fa fa-question-circle"></i><i ng-if="!detail.tip" class="tipField fa fa-question-circle blank"></i>
-                                                  <div class="input-tip">
-                                                    <input type="text" placeholder="{{detail.placeholder}}" class="form-control" ng-model="getModel(backupItem, detail.path)[detail.model]"/>
-                                                  </div>
-                                                </div>
-                                              </div>
-                                              <div ng-switch-when="number">
-                                                <label class="col-sm-4 details-label">{{detail.label}}:</label>
-                                                <div class="col-sm-8"><i ng-if="detail.tip" bs-tooltip="joinTip(detail.tip)" type="button" class="tipField fa fa-question-circle"></i><i ng-if="!detail.tip" class="tipField fa fa-question-circle blank"></i>
-                                                  <div class="input-tip">
-                                                    <input name="{{detail.model}}" type="number" placeholder="{{detail.placeholder}}" min="{{detail.min ? detail.min : 0}}" max="{{detail.max ? detail.max : Number.MAX_VALUE}}" class="form-control" ng-model="getModel(backupItem, detail.path)[detail.model]"/><i ng-show="inputForm[&quot;{{detail.model}}&quot;].$error.min" bs-tooltip="bs-tooltip" data-title="Value is less than allowable minimum." type="button" class="fa fa-exclamation-triangle form-control-feedback"></i><i ng-show="inputForm[&quot;{{detail.model}}&quot;].$error.max" bs-tooltip="bs-tooltip" data-title="Value is more than allowable maximum." type="button" class="fa fa-exclamation-triangle form-control-feedback"></i><i ng-show="inputForm[&quot;{{detail.model}}&quot;].$error.number" bs-tooltip="bs-tooltip" data-title="Invalid value. Only numbers allowed." type="button" class="fa fa-exclamation-triangle form-control-feedback"></i>
-                                                  </div>
-                                                </div>
-                                              </div>
-                                              <div ng-switch-when="dropdown">
-                                                <label class="col-sm-4 details-label">{{detail.label}}:</label>
-                                                <div class="col-sm-8"><i ng-if="detail.tip" bs-tooltip="joinTip(detail.tip)" type="button" class="tipField fa fa-question-circle"></i><i ng-if="!detail.tip" class="tipField fa fa-question-circle blank"></i>
-                                                  <div class="input-tip">
-                                                    <button bs-select="bs-select" data-placeholder="{{detail.placeholder}}" bs-options="item.value as item.label for item in {{detail.items}}" class="form-control" ng-model="getModel(backupItem, detail.path)[detail.model]"></button>
-                                                  </div>
-                                                </div>
-                                              </div>
-                                              <div ng-switch-when="dropdown-multiple">
-                                                <label class="col-sm-4 details-label">{{detail.label}}:</label>
-                                                <div class="col-sm-8">
-                                                  <button bs-select="bs-select" data-multiple="1" data-placeholder="{{detail.placeholder}}" bs-options="item.value as item.label for item in {{detail.items}}" class="form-control" ng-model="getModel(backupItem, detail.path)[detail.model]"></button>
-                                                </div><i ng-if="detail.tip" bs-tooltip="joinTip(detail.tip)" type="button" class="tipField fa fa-question-circle"></i><i ng-if="!detail.tip" class="tipField fa fa-question-circle blank"></i>
-                                              </div>
-                                              <div ng-switch-when="table-simple" style="margin-right: 5px; margin-top: -0.65em" ng-model="getModel(backupItem, detail.path)[detail.model]">
-                                                <table st-table="getModel(backupItem, detail.path)[detail.model]" ng-show="getModel(backupItem, detail.path)[detail.model].length &gt; 0" class="col-sm-12 links-edit">
-                                                  <tbody>
-                                                    <tr ng-repeat="item in getModel(backupItem, detail.path)[detail.model] track by $index">
-                                                      <td class="col-sm-11">
-                                                        <div ng-show="detail.editIdx != {{$index}}"><a ng-click="detail.editIdx = $index; curValue = getModel(backupItem, detail.path)[detail.model][$index]">{{$index + 1}}) {{item}}</a><i ng-click="detail.editIdx = -1; getModel(backupItem, detail.path)[detail.model].splice($index, 1)" class="tipField fa fa-remove"></i></div>
-                                                        <div ng-show="detail.editIdx == {{$index}}">
-                                                          <label class="labelField">{{$index + 1}})</label><i ng-click="detail.editIdx = -1; getModel(backupItem, detail.path)[detail.model][$index]=curValue" class="tipField fa fa-floppy-o"></i>
-                                                          <div class="input-tip">
-                                                            <input type="text" ng-model="curValue" placeholder="{{detail.placeholder}}" class="form-control"/>
-                                                          </div>
-                                                        </div>
-                                                      </td>
-                                                      <td ng-if="detail.reordering" class="col-sm-1"><i ng-show="$index &gt; 0" ng-click="swapSimpleItems(detailMdl, $index, $index - 1); detail.editIdx = -1;" class="fa fa-arrow-up"></i><i ng-show="$index &lt; getModel(backupItem, detail.path)[detail.model].length - 1" ng-click="swapSimpleItems(getModel(backupItem, detail.path)[detail.model], $index, $index + 1); detail.editIdx = -1;" class="fa fa-arrow-down"></i></td>
-                                                    </tr>
-                                                  </tbody>
-                                                </table>
-                                                <button ng-disabled="!newValue || getModel(backupItem, detail.path)[detail.model].indexOf(newValue) &gt;= 0" ng-click="detail.editIdx = -1; getModel(backupItem, detail.path)[detail.model] ? getModel(backupItem, detail.path)[detail.model].push(newValue) : getModel(backupItem, detail.path)[detail.model] = [newValue];" class="btn btn-primary fieldButton">Add</button><i ng-if="detail.tip" bs-tooltip="joinTip(detail.tip)" type="button" class="tipField fa fa-question-circle"></i><i ng-if="!detail.tip" class="tipField fa fa-question-circle blank"></i>
-                                                <div class="input-tip">
-                                                  <input type="text" ng-model="newValue" ng-focus="detail.editIdx = -1" placeholder="{{detail.placeholder}}" class="form-control"/>
-                                                </div>
-                                              </div>
-                                            </div>
-                                          </div>
-                                        </div>
-                                      </div>
-                                      <div ng-switch-when="table-simple" ng-model="getModel(backupItem, field.path)[field.model]">
-                                        <div>
-                                          <label>{{field.tableLabel}}: {{getModel(backupItem, field.path)[field.model].length}}</label><i ng-if="field.tip" bs-tooltip="joinTip(field.tip)" type="button" class="tipLabel fa fa-question-circle"></i><i ng-if="!field.tip" class="tipLabel fa fa-question-circle blank"></i>
-                                        </div>
-                                        <table st-table="getModel(backupItem, field.path)[field.model]" ng-show="getModel(backupItem, field.path)[field.model].length &gt; 0" class="links-edit col-sm-12">
-                                          <tbody>
-                                            <tr ng-repeat="item in getModel(backupItem, field.path)[field.model] track by $index" class="col-sm-12">
-                                              <td class="col-sm-6">
-                                                <div ng-show="field.editIdx != {{$index}}"><a ng-click="field.editIdx = $index; curValue = getModel(backupItem, field.path)[field.model][$index]">{{$index + 1}}) {{item | compact}}</a><i ng-click="field.editIdx = -1; getModel(backupItem, field.path)[field.model].splice($index, 1)" class="tipField fa fa-remove"></i></div>
-                                                <div ng-show="field.editIdx == {{$index}}">
-                                                  <label class="labelField">{{$index + 1}})</label><i ng-click="field.editIdx = -1; getModel(backupItem, field.path)[field.model][$index]=curValue" class="tipField fa fa-floppy-o"></i>
-                                                  <div class="input-tip">
-                                                    <input type="text" ng-model="curValue" placeholder="{{field.placeholder}}" class="form-control"/>
-                                                  </div>
-                                                </div>
-                                              </td>
-                                              <td ng-if="field.reordering" class="col-sm-1"><i ng-show="$index &gt; 0" ng-click="swapSimpleItems(fieldMdl, $index, $index - 1); field.editIdx = -1;" class="fa fa-arrow-up"></i><i ng-show="$index &lt; getModel(backupItem, field.path)[field.model].length - 1" ng-click="swapSimpleItems(getModel(backupItem, field.path)[field.model], $index, $index + 1); field.editIdx = -1;" class="fa fa-arrow-down"></i></td>
-                                            </tr>
-                                          </tbody>
-                                        </table>
-                                        <div class="col-sm-6">
-                                          <button ng-disabled="!newValue || getModel(backupItem, field.path)[field.model].indexOf(newValue) &gt;= 0" ng-click="field.editIdx = -1; getModel(backupItem, field.path)[field.model] ? getModel(backupItem, field.path)[field.model].push(newValue) : getModel(backupItem, field.path)[field.model] = [newValue];" class="btn btn-primary fieldButton">Add</button><i ng-if="field.tip" bs-tooltip="joinTip(field.tip)" type="button" class="tipField fa fa-question-circle"></i><i ng-if="!field.tip" class="tipField fa fa-question-circle blank"></i>
-                                          <div class="input-tip">
-                                            <input type="text" ng-model="newValue" ng-focus="field.editIdx = -1" placeholder="{{field.placeholder}}" class="form-control"/>
-                                          </div>
-                                        </div>
-                                      </div>
-                                      <div ng-switch-when="indexedTypes">
-                                        <div>
-                                          <label>Indexed types: {{backupItem.indexedTypes.length}}</label><i ng-if="field.tip" bs-tooltip="joinTip(field.tip)" type="button" class="tipLabel fa fa-question-circle"></i><i ng-if="!field.tip" class="tipLabel fa fa-question-circle blank"></i>
-                                        </div>
-                                        <table st-table="backupItem.indexedTypes" ng-show="backupItem.indexedTypes.length &gt; 0" class="links-edit col-sm-12">
-                                          <tbody>
-                                            <tr ng-repeat="item in backupItem.indexedTypes" class="col-sm-12">
-                                              <td class="col-sm-6">
-                                                <div ng-show="field.editIdx != {{$index}}"><a ng-click="field.editIdx = $index; curKeyClass = backupItem.indexedTypes[$index].keyClass; curValueClass = backupItem.indexedTypes[$index].valueClass">{{$index + 1}}) {{item.keyClass}} / {{item.valueClass}}</a><i ng-click="field.editIdx = -1; backupItem.indexedTypes.splice($index, 1)" class="tipField fa fa-remove"></i></div>
-                                                <div ng-show="field.editIdx == {{$index}}">
-                                                  <label class="labelField">{{$index + 1}})</label><i ng-click="field.editIdx = -1; backupItem.indexedTypes[$index]={keyClass: curKeyClass, valueClass: curValueClass}" class="tipField fa fa-floppy-o"></i>
-                                                  <div class="input-tip">
-                                                    <div class="col-sm-12">
-                                                      <input type="text" ng-model="curKeyClass" placeholder="Key class full name" class="form-control table-form-control"/>
-                                                      <label>&nbsp;/&nbsp;</label>
-                                                      <input type="text" ng-model="curValueClass" placeholder="Value class full name" class="form-control table-form-control"/>
-                                                    </div>
-                                                  </div>
-                                                </div>
-                                              </td>
-                                            </tr>
-                                          </tbody>
-                                        </table>
-                                        <div class="col-sm-6">
-                                          <input type="text" ng-model="newKeyClass" ng-focus="field.editIdx = -1" placeholder="Key class full name" class="form-control"/>
-                                          <div class="settings-row">
-                                            <input type="text" ng-model="newValueClass" ng-focus="field.editIdx = -1" placeholder="Value class full name" class="form-control"/>
-                                          </div>
-                                          <button ng-click="field.editIdx = -1; addIndexedTypes(newKeyClass, newValueClass)" class="btn btn-primary fieldButton">Add</button>
-                                        </div>
-                                      </div>
-                                    </div>
-                                  </div>
-                                </div>
-                              </div>
-                            </div>
-                          </div>
-                        </div>
-                        <div class="panel-title">
-                          <h3><a bs-collapse-toggle="0" ng-click="expanded = !expanded;">{{expanded ? 'Hide advanced settings...' : 'Show advanced settings...'}}</a></h3>
-                        </div>
-                      </div>
-                      <button id="save-btn" ng-disabled="inputForm.$invalid" ng-click="saveItem()" class="btn btn-primary">Save</button>
-                      <button ng-show="backupItem._id" ng-click="removeItem()" class="btn btn-primary btn-second">Remove</button>
-                    </form>
-                  </div>
-                </div>
-              </div>
-            </div>
-          </div>
-        </div>
-      </div>
-      <div class="container container-footer">
-        <footer>
-          <center>
-            <p>Powered by<a href="http://ignite.incubator.apache.org"> Apache Ignite</a>, version 1.1.0</p>
-          </center>
-        </footer>
-      </div>
-    </div>
-  </body>
-</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80a5a7ab/modules/webconfig/src/main/webapp/clients.html
----------------------------------------------------------------------
diff --git a/modules/webconfig/src/main/webapp/clients.html b/modules/webconfig/src/main/webapp/clients.html
deleted file mode 100644
index 05daf87..0000000
--- a/modules/webconfig/src/main/webapp/clients.html
+++ /dev/null
@@ -1,86 +0,0 @@
-<!DOCTYPE html>
-<html ng-app="ignite-web-configurator">
-  <head>
-    <title></title>
-    <!-- Bootstrap-->
-    <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.4/css/bootstrap.css">
-    <!-- Font Awesome Icons-->
-    <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.css">
-    <!-- Font-->
-    <link rel="stylesheet" href="//fonts.googleapis.com/css?family=Roboto+Slab:700:serif|Roboto+Slab:400:serif">
-    <link rel="stylesheet" href="/stylesheets/style.css">
-    <script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.js"></script>
-    <script src="//cdnjs.cloudflare.com/ajax/libs/lodash.js/3.9.3/lodash.min.js"></script>
-    <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.js"></script>
-    <script src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.15/angular-sanitize.js"></script>
-    <script src="//cdnjs.cloudflare.com/ajax/libs/angular-strap/2.2.2/angular-strap.js"></script>
-    <script src="//cdnjs.cloudflare.com/ajax/libs/angular-strap/2.2.2/angular-strap.tpl.min.js"></script>
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular-smart-table/2.0.3/smart-table.js"></script>
-    <script src="/javascripts/controllers/common.js"></script>
-    <script src="/javascripts/dataStructures.js"></script>
-    <script src="/javascripts/bundle.js"></script>
-  </head>
-  <body class="theme-line body-overlap">
-    <div class="wrapper">
-      <header id="header" class="header">
-        <div class="container">
-          <h1 class="navbar-brand"><a href="/">Apache Ignite Web Configurator</a></h1>
-          <div ng-controller="auth" class="navbar-collapse collapse">
-            <ul ng-controller="activeLink" class="nav navbar-nav">
-              <li><a ng-class="{active: isActive('/clusters')}" href="/clusters">Configuration</a></li>
-              <li><a ng-class="{active: isActive('/sql')}" href="/sql">SQL</a></li>
-            </ul>
-            <ul ng-init="user = undefined" class="nav navbar-nav pull-right">
-              <li ng-show="user"><a data-toggle="dropdown" aria-expanded="true" bs-dropdown data-template="user-dropdown" data-placement="bottom-right" class="dropdown-toggle">{{user.username}}<span class="caret"></span></a>
-                <script id="user-dropdown" type="text/ng-template">
-                  <ul class="dropdown-menu">
-                    <li><a href="/rest/auth/logout">Log Out</a></li>
-                  </ul>
-                </script>
-              </li>
-              <li ng-show="!user" class="nav-login"><a ng-click="login()" href="#">Log In</a></li>
-            </ul>
-          </div>
-        </div>
-      </header>
-      <div class="container body-container">
-        <div class="main-content">
-          <div class="main-head">
-            <div class="row">
-              <div class="col-sm-2 border-right section-left greedy">
-                <div class="sidebar-nav">
-                  <ul ng-controller="activeLink" class="menu">
-                    <li><a ng-class="{active: isActive('/clusters')}" href="/clusters">Clusters</a></li>
-                    <li><a ng-class="{active: isActive('/caches')}" href="/caches">Caches</a></li>
-                    <li><a ng-class="{active: isActive('/persistence')}" href="/persistence">Persistence</a></li>
-                    <li><a ng-class="{active: isActive('/clients')}" href="/clients">Clients</a></li>
-                    <li>
-                      <p></p><a ng-class="{active: isActive('/summary')}" href="/summary">Summary</a>
-                    </li>
-                  </ul>
-                </div>
-              </div>
-              <div class="col-sm-10 border-left section-right">
-                <div class="docs-content">
-                  <div class="docs-header">
-                    <h1>Clients</h1>
-                    <p>Create and configure Ignite clients.</p>
-                    <hr>
-                  </div>
-                  <div ng-controller="clientsRouter" class="docs-body"></div>
-                </div>
-              </div>
-            </div>
-          </div>
-        </div>
-      </div>
-      <div class="container container-footer">
-        <footer>
-          <center>
-            <p>Powered by<a href="http://ignite.incubator.apache.org"> Apache Ignite</a>, version 1.1.0</p>
-          </center>
-        </footer>
-      </div>
-    </div>
-  </body>
-</html>
\ No newline at end of file