http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80a5a7ab/modules/webconfig/src/main/webapp/persistence.html ---------------------------------------------------------------------- diff --git a/modules/webconfig/src/main/webapp/persistence.html b/modules/webconfig/src/main/webapp/persistence.html deleted file mode 100644 index bc04893..0000000 --- a/modules/webconfig/src/main/webapp/persistence.html +++ /dev/null @@ -1,377 +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/persistences.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>Persistence</h1> - <p>Create and configure Ignite persistence.</p> - <hr> - </div> - <div ng-controller="persistenceController" class="docs-body"> - <div ng-hide="persistences.length == 0" class="links"> - <table st-table="persistences" class="col-sm-12"> - <tbody> - <tr ng-repeat="row in persistences 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.database | displayValue:databases:'Database not set'}}</a></td> - </tr> - </tbody> - </table> - </div> - <button ng-click="createItem()" class="btn btn-primary">Add</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>Connection</a></h3> - </div> - <div bs-collapse-target class="panel-collapse"> - <div class="panel-body"> - <div ng-repeat="field in connection" 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["{{field.model}}"].$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["{{field.model}}"].$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["{{field.model}}"].$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] && 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 && 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["{{detail.model}}"].$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["{{detail.model}}"].$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["{{detail.model}}"].$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 > 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 > 0" ng-click="swapSimpleItems(detailMdl, $index, $index - 1); detail.editIdx = -1;" class="fa fa-arrow-up"></i><i ng-show="$index < 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) >= 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 > 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 > 0" ng-click="swapSimpleItems(fieldMdl, $index, $index - 1); field.editIdx = -1;" class="fa fa-arrow-up"></i><i ng-show="$index < 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) >= 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 > 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> / </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" ng-hide="data.tables.length == 0"> - <div class="panel panel-default"> - <div class="panel-heading"> - <h3><a bs-collapse-toggle>Metadata</a></h3> - </div> - <div bs-collapse-target class="panel-collapse"> - <div class="panel-body"> - <div ng-hide="data.tables.length == 0"> - <table st-table="data.tables" class="table-bordered table-condensed links-edit-small-padding col-sm-12"> - <thead> - <tr> - <th class="col-sm-3">Schema/Table</th> - <th>Key class</th> - <th>Value class</th> - </tr> - </thead> - <tbody> - <tr ng-repeat="row in data.tables"> - <td colspan="{{row.tableName ? 1 : 3}}"> - <div ng-if="!row.tableName" class="checkbox"> - <label ng-click="selectSchema($index)"> - <input type="checkbox" ng-checked="row.use">{{row.schemaName}} - </label> - </div> - <div ng-if="row.tableName" class="checkbox"> - <label style="padding-left: 30px" ng-click="selectTable($index)"> - <input type="checkbox" ng-checked="row.use">{{row.tableName}} - </label> - </div> - </td> - <td ng-if="row.tableName"><a ng-show="data.curTableIdx != $index" ng-click="selectTable($index)">{{row.keyClass}}</a> - <input type="text" ng-show="data.curTableIdx == $index" ng-model="data.curKeyClass" placeholder="Key class full name" class="form-control"> - </td> - <td ng-if="row.tableName"><a ng-show="data.curTableIdx != $index" ng-click="selectTable($index)">{{row.valueClass}}</a> - <input type="text" ng-show="data.curTableIdx == $index" ng-model="data.curValueClass" placeholder="Value class full name" class="form-control"> - </td> - </tr> - </tbody> - </table> - </div> - <div ng-hide="data.curTableIdx < 0"> - <table st-table="data.tables[data.curTableIdx].fields" class="table-bordered table-condensed links-edit-small-padding col-sm-12"> - <thead> - <tr> - <th style="width:45px">Use</th> - <th style="width:45px">Key</th> - <th style="width:45px">Ak</th> - <th>DB Name</th> - <th>DB Type</th> - <th>Java Name</th> - <th>Java Type</th> - </tr> - </thead> - <tbody> - <tr ng-repeat="row in data.tables[data.curTableIdx].fields"> - <td> - <input type="checkbox" style="margin-left: 5px" ng-checked="row.use"/> - </td> - <td> - <input type="checkbox" style="margin-left: 5px" ng-checked="row.key"/> - </td> - <td> - <input type="checkbox" style="margin-left: 5px" ng-checked="row.ak"/> - </td> - <td> - <label>{{row.dbName}}</label> - </td> - <td> - <label>{{row.dbType}}</label> - </td> - <td><a ng-show="data.curFieldIdx != $index" ng-click="selectField($index)">{{row.javaName}}</a> - <input type="text" ng-show="data.curFieldIdx == $index" ng-model="data.curJavaName" placeholder="Field Java name" class="form-control"> - </td> - <td><a ng-show="data.curFieldIdx != $index" ng-click="selectField($index)">{{row.javaType}}</a> - <input type="text" ng-show="data.curFieldIdx == $index" ng-model="data.curJavaType" placeholder="Field Java type" class="form-control"> - </td> - </tr> - </tbody> - </table> - </div> - </div> - </div> - </div> - </div> - </form> - <button 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> - <button ng-click="reloadMetadata()" class="btn btn-primary btn-second">Reload</button> - </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/sql.html ---------------------------------------------------------------------- diff --git a/modules/webconfig/src/main/webapp/sql.html b/modules/webconfig/src/main/webapp/sql.html deleted file mode 100644 index 6107486..0000000 --- a/modules/webconfig/src/main/webapp/sql.html +++ /dev/null @@ -1,66 +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="docs-header"> - <h1>SQL</h1> - <p>Connect to Zeppelin and execute SQL queries.</p> - <hr> - </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/stylesheets/style.css ---------------------------------------------------------------------- diff --git a/modules/webconfig/src/main/webapp/stylesheets/style.css b/modules/webconfig/src/main/webapp/stylesheets/style.css deleted file mode 100644 index fb21a65..0000000 --- a/modules/webconfig/src/main/webapp/stylesheets/style.css +++ /dev/null @@ -1 +0,0 @@ -.main-header .logo{height:auto}.main-sidebar{padding-top:60px}.navbar-default .navbar-brand,.navbar-default .navbar-brand:hover{position:absolute;width:100%;left:0;text-align:center}.modal-backdrop.am-fade{opacity:.5;transition:opacity .15s linear}.modal-backdrop.am-fade.ng-enter{opacity:0}.modal-backdrop.am-fade.ng-enter.ng-enter-active{opacity:.5}.modal-backdrop.am-fade.ng-leave{opacity:.5}.modal-backdrop.am-fade.ng-leave.ng-leave-active{opacity:0}.modal.center .modal-dialog{position:fixed;top:40%;left:50%;min-width:320px;max-width:630px;width:50%;transform:translateX(-50%) translateY(-50%)}.border-left{box-shadow:1px 0 0 0 #eee inset}.border-right{box-shadow:1px 0 0 0 #eee}.theme-line{background-color:#f9f9f9}.theme-line header{background-color:#fff}.theme-line header a.btn{border:0 none;padding:10px 25px;background-color:rgba(0,0,0,0.15)}.theme-line header a.btn:hover{background-color:rgba(0,0,0,0.25)}.theme-line header a.btn.btn-link{background:transparent;color:rgba(255,255,25 5,0.8)}.theme-line header a.btn.btn-link:hover{color:#fff;text-decoration:none}.theme-line .navbar-nav a{background-color:transparent}.theme-line .navbar-nav a:hover,.theme-line .navbar-nav a:active,.theme-line .navbar-nav a:focus{background-color:transparent}.theme-line .main-links{padding-top:50px}.theme-line .main-links h3{margin-top:0;font-size:17px}.theme-line .main-links .links a{color:#888}.theme-line .main-links .links a:hover{text-decoration:none}.theme-line #category-columns,.theme-solid #category-columns{margin:50px 30px 0}.theme-line #category-columns h4{text-transform:uppercase;font-weight:300;color:#999;font-size:14px}.theme-line #category-columns ul{list-style:none;padding:0;margin-bottom:15px}.theme-line #category-columns ul li a{padding:4px 0;display:block;font-size:16px}.theme-line #category-columns ul .view-all{font-size:0.85em}.theme-line .docs-header{color:#999;overflow:hidden}.theme-line .docs-header h1{color:#444;margin-top:0;font-size:25px}.theme-line .btn-pr imary{border:0 none;background-color:#ec1c24}.theme-line .btn-primary:hover{background-color:#950d12}.theme-line .main-content .nav-horizontal a{box-shadow:0 0;border:0 none;background-color:#fff;border-radius:0;color:#aaa;padding:6px;margin:0 14px}.theme-line .main-content .nav-horizontal a:hover{color:#999;border-bottom:4px solid #ddd}.theme-line .main-content .nav-horizontal a.active{border-bottom:4px solid #888}.theme-line .sidebar-nav{color:#474a54;padding-bottom:30px}.theme-line .sidebar-nav ul{padding:0;list-style:none;font-size:13px;margin:3px 0 0}.theme-line .sidebar-nav ul li a{padding:3px 0;display:block;color:#666;position:relative;white-space:nowrap;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis}.theme-line .sidebar-nav ul li a:before{top:0;content:" ";display:block;width:6px;height:100%;position:absolute;left:-30px}.theme-line .sidebar-nav ul li a:hover{text-decoration:none}.theme-line .select li a{color:#666}.theme-line .select li a:hover,.theme-line .select .active{color:#ec1c24;background-color:white}.theme-line .sidebar-nav ul li .subcategory{padding-left:15px}.theme-line .sidebar-nav h4{margin-top:2em;font-weight:normal;text-transform:uppercase;font-size:11px;margin-bottom:10px;color:#bbb}.theme-line .sidebar-nav h4:first-child{margin-top:0}.theme-line .sidebar-nav .ask{width:100%;text-align:center;padding:10px}.theme-line .border-left .sidebar-nav{padding-left:15px}.theme-line .suggest{padding:4px;display:inline-block;font-size:12px}.header{padding:15px}.header .has-github{padding-right:136px}.header h1.navbar-brand{height:40px;width:200px;padding:0;margin:5px 15px 0 0}.header h1.navbar-brand a{text-indent:-99999px;background:no-repeat center center;display:block;width:100%;height:100%;background-size:contain}.header .nav.navbar-nav.pull-right{position:relative;right:-30px}.header .nav.navbar-nav .not-link{padding:15px;display:inline-block}.header .nav.navbar-nav .stable,.header .nav.navbar-nav .beta,.header .nav.navbar-na v .private{font-size:9px;padding:3px 5px;display:inline-block;line-height:8px;border-radius:3px;margin-left:6px;color:#fff;top:-2px;position:relative;opacity:0.6;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";filter:alpha(opacity=60)}.header .nav.navbar-nav a:hover>.stable,.header .nav.navbar-nav a:hover>.beta,.header .nav.navbar-nav a:hover>.private{opacity:1;-ms-filter:none;filter:none}.header .nav.navbar-nav .beta{background-color:#59c3d1}.header .nav.navbar-nav .stable{background-color:#41b841}.header .nav.navbar-nav .private{background-color:#333}.theme-line header{border-bottom:8px solid}.theme-line header h2{color:#aaa}.theme-line header p{color:#666}.theme-line header{border-bottom-color:#ec1c24}.theme-line .navbar-nav{color:#888}.theme-line .navbar-nav a{color:#bbb}.theme-line header a.btn{background-color:#ec1c24}.theme-line header a.btn:hover{background-color:#950d12}.theme-line header .navbar-nav .tt-cursor{background-color:#ec1c24}.theme-line header .n avbar-nav a:hover,.theme-line header .navbar-nav .open>a{color:#ec1c24}.theme-line .navbar-nav .active a{color:#ec1c24}.theme-line .navbar-nav .active a:hover{color:#950d12}.theme-line .main-links .links a:hover{color:#ec1c24}.theme-line .main-content a{color:#666}.theme-line .main-content a:hover{color:#950d12}.theme-line .sidebar-nav ul li a.active:before{background-color:#ec1c24}.theme-line .sidebar-nav ul li a.active{color:#ec1c24}.theme-line .sidebar-nav ul li a:hover,.theme-line .sidebar-nav ul li a.active:hover{color:#950d12}.theme-line .main-content .nav-horizontal a.active{border-color:#ec1c24;color:#ec1c24}.theme-line .main-content .nav-horizontal a:hover{color:#950d12}.theme-line .main-content .nav-horizontal a.active:hover{border-color:#950d12}.theme-line header .navbar-nav a.active,.theme-line #versions-list li a:hover strong,.theme-line #versions-list li a.active .current,.theme-line #versions-list li a:active .current{color:#ec1c24}.theme-line.body-threes .section-rig ht .threes-nav .btn-default:hover,.theme-line.page-docs.body-threes .section-right .threes-nav .pull-right a:hover{color:#ec1c24;border-color:#ec1c24}.theme-line .section-right{padding-left:30px}.body-overlap .main-content{margin-top:30px}.body-box .main-content,.body-overlap .main-content{padding:30px;box-shadow:0 0 0 1px rgba(0,0,0,0.1);background-color:#fff}body{font-weight:400;font-family:Roboto Slab, serif}h1,h2,h3,h4,h5,h6{font-weight:700;font-family:Roboto Slab, serif}.submit-vote.submit-vote-parent.voted a.submit-vote-button,.submit-vote.submit-vote-parent a.submit-vote-button:hover{background-color:#ec1c24}div.submit-vote.submit-vote-parent.voted a.submit-vote-button:hover{background-color:#950d12}a,.link .title{color:#ec1c24}a:hover,.link:hover .title{color:#950d12}.header h1.navbar-brand a{background-image:url("https://www.filepicker.io/api/file/QagunjDGRFul2JgNCAli")}.header h1.navbar-brand{width:96px}.block-edit-parameters{text-align:right;padding-bottom:5px}.ng-table-p ager{display:none}.container-footer{margin-top:20px}.vcenter{display:inline-block;vertical-align:middle;float:none}.vcenter2{position:relative;top:50%;transform:translateY(-50%)}.modal{display:block;overflow:hidden}.modal .close{position:absolute;top:0.65em;right:0.65em;float:none}.modal-header .close{margin-right:-2px}.modal .modal-dialog{width:610px}.modal .modal-content{border-radius:0;background-color:#f7f7f7}.modal .modal-content .modal-header{background-color:#fff;text-align:center;color:#555;padding:24px;font-family:"myriad-pro",sans-serif}.modal .modal-content .modal-header h4{font-family:"myriad-pro",sans-serif;font-size:22px}.modal .modal-content .modal-header h4 .fa{display:block;font-size:41px;color:#ddd;margin-bottom:5px}.modal .modal-content .modal-header p{color:#aaa;font-size:1em;margin:3px 0 0}.modal .modal-content .modal-spacer{padding:10px 10px 0 10px}.modal .modal-content .modal-footer{margin-top:0}.modal-body{padding-top:30px}h1.ignite-logo{background-image:url( "https://www.filepicker.io/api/file/QagunjDGRFul2JgNCAli")}.st-sort-ascent:after{font-family:FontAwesome, serif;content:'\f077'}.st-sort-descent:after{font-family:FontAwesome, serif;content:'\f078'}.block-display-image img{max-width:100%;max-height:450px;margin:auto;display:block}.greedy{min-height:200px;height:calc(100vh - 230px)}@media (min-width:768px){.navbar-nav>li>a{padding-top:20px;padding-bottom:10px}}.details-row{padding-left:1.3em}.details-table-row{padding:0}.details-row,.settings-row{display:block;margin:0.65em 0;line-height:28px}.details-row [class*="col-"],.settings-row [class*="col-"]{display:inline-block;vertical-align:middle;float:none;padding-left:0 !important;padding-right:0 !important}.details-row input[type="checkbox"],.settings-row input[type="checkbox"]{line-height:20px;margin-right:4px}.details-row .checkbox label,.settings-row .checkbox label{line-height:20px;vertical-align:middle}button{margin-right:4px}h1,h2,h3{user-select:none;font-weight:normal;line-heig ht:1}h3{color:black;font-size:1.2em;margin-top:0;margin-bottom:1.5em}table tr:hover{cursor:pointer}.input-group{display:inline-block}.input-group .form-control{width:auto;margin-left:0;margin-right:0}.form-control{display:inline-block;text-align:left;padding:3px 3px;height:28px}.form-control button{text-align:left}.table-form-control{width:auto}.form-horizontal .control-label{padding-top:4px}button .caret{float:right;margin-left:0;margin-top:7px}.theme-line .panel-heading{padding:10px 10px;margin:0}.theme-line .panel-heading h3{margin-bottom:0}.theme-line .panel-heading h3>a{color:black;cursor:pointer}.theme-line .panel-title a{color:#ec1c24}.theme-line .panel-title h3{margin-bottom:1.3em}.theme-line .panel-body{padding:0.65em 1.3em}.theme-line .main-content a.customize{color:#ec1c24;cursor:pointer}.theme-line .panel-collapse{margin:0}.theme-line .links table,.theme-line table.links-edit,.theme-line table.links-edit-small-padding{display:table;table-layout:fixed;margin-bottom:10px}. theme-line .links table td,.theme-line table.links-edit td,.theme-line table.links-edit-small-padding td{padding-left:18px}.theme-line .links table .active a,.theme-line table.links-edit .active a,.theme-line table.links-edit-small-padding .active a{color:#ec1c24;font-weight:bold}.theme-line .links table a:hover,.theme-line table.links-edit a:hover,.theme-line table.links-edit-small-padding a:hover{color:#950d12}.theme-line .links table a,.theme-line table.links-edit a,.theme-line table.links-edit-small-padding a{color:#666}.theme-line table.links-edit label{line-height:28px;color:#666}.btn{padding:3px 6px}.panel-title a{font-size:14px}.panel-details{margin-top:1.3em;margin-bottom:0.65em;padding:0.65em;border-radius:4px;border:thin dotted lightgrey}.tooltip.right .tooltip-arrow{border-right-color:#ec1c24}.tooltip>.tooltip-inner{max-width:400px;text-align:left;background-color:#ec1c24}label{font-weight:normal;line-height:14px;margin-bottom:0}.form-horizontal .checkbox{padding-top:0}. input-tip{display:block;overflow:hidden;padding-right:4px}.labelField{float:left;margin-right:4px}.tipField{float:right;line-height:28px;margin-right:5px}.tipLabel{font-size:14px;margin-left:4px}.fieldButton{float:right;margin-left:4px;margin-right:0}.table-nowrap{table-layout:fixed}.td-overflow{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fa-edit{cursor:pointer}.fa-remove{color:#ec1c24;margin-left:5px;margin-right:5px;cursor:pointer}label.required:after{color:#ec1c24;content:' *';display:inline}.blank{visibility:hidden}.alert{outline:0}.alert.bottom,.alert.bottom-left,.alert.bottom-right,.alert.top,.alert.top-left,.alert.top-right{position:fixed;z-index:1050;margin:20px}.alert.top,.alert.top-left,.alert.top-right{top:50px}.alert.top{right:0;left:0}.alert.top-right{right:0}.alert.top-right .close{padding-left:10px}.alert.top-left{left:0}.alert.top-left .close{padding-right:10px}.alert.bottom,.alert.bottom-left,.alert.bottom-right{bottom:0}.alert.bottom{ right:0;left:0}.alert.bottom-right{right:0}.alert.bottom-right .close{padding-left:10px}.alert.bottom-left{left:0}.alert.bottom-left .close{padding-right:10px}#cfgResult textarea{font-family:monospace;font-size:12px}input[type="number"]::-webkit-outer-spin-button,input[type="number"]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type="number"]{-moz-appearance:textfield}input.ng-invalid{border-color:#ec1c24}input.ng-invalid :focus{border-color:#ec1c24}.form-control-feedback{display:inline-block;color:#ec1c24;right:18px;line-height:28px;pointer-events:initial}.syntaxhighlighter{padding:10px 5px;border-radius:6px}.theme-line table.links-edit-small-padding{margin-top:10px}.theme-line table.links-edit-small-padding label{line-height:28px;color:#666}.theme-line table.links-edit-small-padding a{line-height:28px}.theme-line table.links-edit-small-padding input[type="checkbox"]{line-height:20px;margin-right:4px}.theme-line table.links-edit-small-padding .checkbox label{li ne-height:20px;vertical-align:middle}.theme-line table.links-edit-small-padding th{text-align:center}.theme-line table.links-edit-small-padding td{padding-left:10px} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80a5a7ab/modules/webconfig/src/main/webapp/summary.html ---------------------------------------------------------------------- diff --git a/modules/webconfig/src/main/webapp/summary.html b/modules/webconfig/src/main/webapp/summary.html deleted file mode 100644 index b45b86d..0000000 --- a/modules/webconfig/src/main/webapp/summary.html +++ /dev/null @@ -1,142 +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"> - <link rel="stylesheet" href="http://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/styles/shCore.css"> - <link rel="stylesheet" href="http://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/styles/shThemeMidnight.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/summary.js"></script> - <script src="//cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shCore.min.js"> </script> - <script src="//cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shBrushXml.js"> </script> - <script src="//cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shBrushJava.js"> </script> - <script src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/2.3.2/js/bootstrap.min.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>Summary</h1> - <p>Configurations summary.</p> - <hr> - </div> - <div ng-controller="summaryController" class="docs-body"> - <div ng-hide="clusters.length > 0">No cluster configured. You can <a href="clusters">configure</a> it.</div> - <div ng-hide="clusters.length == 0"> - <p>Following cluster configurations are created, you can download its as xml, java code or as docker file</p> - <div class="links"> - <table st-table="clusters" class="col-sm-12"> - <tbody> - <tr ng-repeat="row in clusters 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}}</a></td> - </tr> - </tbody> - </table> - </div> - <div id="cfgResult" ng-show="selectedItem && !generateError && !loading" style="margin-top: 20px" class="configBox"> - <ul class="nav nav-tabs"> - <li ng-class="{active: cfgLang == "xml"}"><a href ng-click="cfgLang = "xml""><img src="images/xml.png" width="16px" height="16px"> XML</a></li> - <li ng-class="{active: cfgLang=="java"}"><a href ng-click="cfgLang = "java""><img src="images/java.png" width="16px" height="16px"> Java</a></li> - <li ng-class="{active: cfgLang=='docker'}"><a href ng-click="cfgLang = "docker""><img src="images/docker.png" width="16px" height="16px"> Dockerfile</a></li> - </ul> - <div style="padding-top: 10px"> - <div id="xmlResult" ng-show="cfgLang == 'xml'"> - <div id="xmlResultDiv"></div> - </div> - <div id="javaResult" ng-show="cfgLang == 'java'"> - <label> - <input type="checkbox" ng-model="generateJavaClass">generate java class. - </label> - <div id="javaResultDiv"></div> - </div> - <div id="dockerResult" ng-show="cfgLang == 'docker'"> - <p><a href="https://docs.docker.com/reference/builder">Dockerfile</a>is a text file with instructions to create Docker image. To build image you have to - store following Docker file with your xml ignite configurations to the same directory. - </p> - <form class="form-horizontal"> - <div class="form-group"> - <label for="os" class="control-label col-sm-3">Operation System</label> - <div class="col-sm-6"> - <input id="os" type="text" ng-model="dockerArg.os" placeholder="debian:8" class="form-control"> - </div> - </div> - <div class="form-group">Download as <a href ng-click="downloadDocker()">file</a> - <textarea rows="30" readonly class="form-control">{{ dockerFile() }}</textarea> - </div> - </form> - </div> - </div> - <div ng-show="generateError">{{generateError}}</div> - </div> - </div> - </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