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/08/12 12:38:20 UTC
incubator-ignite git commit: IGNITE-843 WIP on tables.
Repository: incubator-ignite
Updated Branches:
refs/heads/ignite-843 d119b714b -> fe0507955
IGNITE-843 WIP on tables.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/fe050795
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/fe050795
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/fe050795
Branch: refs/heads/ignite-843
Commit: fe05079550157b0ed3b01450cfcc5c0a7035c789
Parents: d119b71
Author: AKuznetsov <ak...@gridgain.com>
Authored: Wed Aug 12 17:38:28 2015 +0700
Committer: AKuznetsov <ak...@gridgain.com>
Committed: Wed Aug 12 17:38:28 2015 +0700
----------------------------------------------------------------------
.../src/main/js/controllers/common-module.js | 94 +++++++--
.../main/js/controllers/metadata-controller.js | 12 +-
.../src/main/js/controllers/models/caches.json | 1 +
.../main/js/controllers/models/clusters.json | 2 +
.../main/js/controllers/models/metadata.json | 9 +-
.../src/main/js/public/stylesheets/style.scss | 22 +-
.../src/main/js/views/configuration/caches.jade | 4 +-
.../main/js/views/configuration/clusters.jade | 4 +-
.../main/js/views/configuration/metadata.jade | 4 +-
.../src/main/js/views/includes/controls.jade | 203 ++++++++++---------
.../src/main/js/views/login.jade | 8 +-
11 files changed, 229 insertions(+), 134 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/fe050795/modules/control-center-web/src/main/js/controllers/common-module.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/controllers/common-module.js b/modules/control-center-web/src/main/js/controllers/common-module.js
index 6b95291..3aa17b0 100644
--- a/modules/control-center-web/src/main/js/controllers/common-module.js
+++ b/modules/control-center-web/src/main/js/controllers/common-module.js
@@ -516,14 +516,63 @@ controlCenterModule.service('$table', [
table.editIndex = editIndex;
}
+ function _tableUI(field) {
+ var ui = field.ui;
+
+ return ui ? ui : field.type;
+ }
+
+ function _tableFocus(focusId, index) {
+ $focus((index < 0 ? 'new' : 'cur') + focusId);
+ }
+
function _tableStartEdit(item, field, index) {
_tableState(field.model, index);
- return _model(item, field)[field.model][index];
+ var val = _model(item, field)[field.model][index];
+
+ var ui = _tableUI(field);
+
+ if (ui == 'table-simple') {
+ field.curValue = val;
+
+ _tableFocus(field.focusId, index);
+ }
+ else if (ui == 'table-pair') {
+ field.curKey = val[field.keyName];
+ field.curValue = val[field.valueName];
+
+ _tableFocus('Key' + field.focusId, index);
+ }
+ else if (ui == 'table-db-fields') {
+ field.curDatabaseName = val.databaseName;
+ field.curDatabaseType = val.databaseType;
+ field.curJavaName = val.javaName;
+ field.curJavaType = val.javaType;
+
+ _tableFocus('DatabaseName' + field.focusId, index);
+ }
+ else if (ui == 'table-query-groups') {
+ field.curGroupName = val.name;
+ field.curFields = val.fields;
+
+ _tableFocus('GroupName', index);
+ }
}
function _tableNewItem(field) {
_tableState(field.model, -1);
+
+ var ui = _tableUI(field);
+
+ if (ui == 'table-simple')
+ _tableFocus(field.focusId, -1);
+ else if (ui == 'table-pair')
+ _tableFocus('Key' + field.focusId, -1);
+ else if (ui == 'table-db-fields')
+ _tableFocus('DatabaseName' + field.focusId, -1);
+ else if (ui == 'table-query-groups')
+ _tableFocus('GroupName', -1);
}
return {
@@ -546,18 +595,30 @@ controlCenterModule.service('$table', [
_model(item, field)[field.model].splice(index, 1);
},
- tableSimpleSave: function (valueValid, item, field, newValue, index) {
- if (valueValid(item, field, newValue, index)) {
+ tableSimpleSave: function (valueValid, item, field, index) {
+ var simpleValue = index < 0 ? field.newValue : field.curValue;
+
+ if (valueValid(item, field, simpleValue, index)) {
_tableReset();
if (index < 0) {
if (_model(item, field)[field.model])
- _model(item, field)[field.model].push(newValue);
+ _model(item, field)[field.model].push(simpleValue);
else
- _model(item, field)[field.model] = [newValue];
+ _model(item, field)[field.model] = [simpleValue];
+
+ _tableNewItem(field);
+ }
+ else {
+ var arr = _model(item, field)[field.model];
+
+ arr[index] = simpleValue;
+
+ if (index < arr.length - 1)
+ _tableStartEdit(item, field, index + 1);
+ else
+ _tableNewItem(field);
}
- else
- _model(item, field)[field.model][index] = newValue;
}
},
tableSimpleSaveVisible: function (newValue) {
@@ -590,8 +651,6 @@ controlCenterModule.service('$table', [
item[field.model] = [pair];
_tableNewItem(field);
-
- $focus('newKey' + field.focusId);
}
else {
pair = item[field.model][index];
@@ -599,17 +658,10 @@ controlCenterModule.service('$table', [
pair[field.keyName] = newKey;
pair[field.valueName] = newValue;
- if (index < item[field.model].length - 1) {
- _tableReset();
- //_tableStartEdit(item, field, index + 1);
-
- //$focus('curKey' + field.focusId);
- }
- else {
+ if (index < item[field.model].length - 1)
+ _tableStartEdit(item, field, index + 1);
+ else
_tableNewItem(field);
-
- $focus('newKey' + field.focusId);
- }
}
}
},
@@ -787,10 +839,10 @@ controlCenterModule.directive('enterFocusNext', function ($focus) {
});
// Directive to mark elements to focus.
-controlCenterModule.directive('eventFocus', function ($focus) {
+controlCenterModule.directive('onClickFocus', function ($focus) {
return function (scope, elem, attr) {
elem.on('click', function () {
- $focus(attr.eventFocus);
+ $focus(attr.onClickFocus);
});
// Removes bound events in the element itself when the scope is destroyed
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/fe050795/modules/control-center-web/src/main/js/controllers/metadata-controller.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/controllers/metadata-controller.js b/modules/control-center-web/src/main/js/controllers/metadata-controller.js
index 1e146ef..dcfd5e4 100644
--- a/modules/control-center-web/src/main/js/controllers/metadata-controller.js
+++ b/modules/control-center-web/src/main/js/controllers/metadata-controller.js
@@ -35,6 +35,7 @@ controlCenterModule.controller('metadataController', [
$scope.tableSimpleDown = $table.tableSimpleDown;
$scope.tableSimpleDownVisible = $table.tableSimpleDownVisible;
+ $scope.tablePairStartEdit = $table.tablePairStartEdit;
$scope.tablePairSave = $table.tablePairSave;
$scope.tablePairSaveVisible = $table.tablePairSaveVisible;
@@ -480,7 +481,14 @@ controlCenterModule.controller('metadataController', [
return true;
};
- $scope.tableDbFieldSaveVisible = function (databaseName, databaseType, javaName, javaType) {
+ $scope.tableDbFieldSaveVisible = function (field, index) {
+ var isNew = index < 0;
+
+ var databaseName = isNew ? field.newDatabaseName : field.curDatabaseName;
+ var databaseType = isNew ? field.newDatabaseType : field.curDatabaseType;
+ var javaName = isNew ? field.newJavaName : field.curJavaName;
+ var javaType = isNew ? field.newJavaType : field.curJavaType;
+
return !$common.isEmptyString(databaseName) && $common.isDefined(databaseType) &&
!$common.isEmptyString(javaName) && $common.isDefined(javaType);
};
@@ -490,7 +498,7 @@ controlCenterModule.controller('metadataController', [
valueFields: {msg: 'Value field', id: 'ValueField'}
};
- $scope.tableDbFieldSave = function (field, newDatabaseName, newDatabaseType, newJavaName, newJavaType, index) {
+ $scope.tableDbFieldSave = function (field, index) {
var dbField = dbFields[field.model];
if (dbField) {
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/fe050795/modules/control-center-web/src/main/js/controllers/models/caches.json
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/controllers/models/caches.json b/modules/control-center-web/src/main/js/controllers/models/caches.json
index 9d74986..7561d7b 100644
--- a/modules/control-center-web/src/main/js/controllers/models/caches.json
+++ b/modules/control-center-web/src/main/js/controllers/models/caches.json
@@ -383,6 +383,7 @@
}
} ,
{
+ "ui": "table-pair",
"type": "indexedTypes",
"model": "indexedTypes",
"keyName": "keyClass",
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/fe050795/modules/control-center-web/src/main/js/controllers/models/clusters.json
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/controllers/models/clusters.json b/modules/control-center-web/src/main/js/controllers/models/clusters.json
index 21012f7..31e5553 100644
--- a/modules/control-center-web/src/main/js/controllers/models/clusters.json
+++ b/modules/control-center-web/src/main/js/controllers/models/clusters.json
@@ -214,6 +214,7 @@
},
{
"label": "Regions",
+ "ui": "table-simple",
"type": "table-simple-with-border",
"path": "discovery.Cloud",
"model": "regions",
@@ -232,6 +233,7 @@
},
{
"label": "Zones",
+ "ui": "table-simple",
"type": "table-simple-with-border",
"path": "discovery.Cloud",
"model": "zones",
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/fe050795/modules/control-center-web/src/main/js/controllers/models/metadata.json
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/controllers/models/metadata.json b/modules/control-center-web/src/main/js/controllers/models/metadata.json
index 63b2202..13cc2ec 100644
--- a/modules/control-center-web/src/main/js/controllers/models/metadata.json
+++ b/modules/control-center-web/src/main/js/controllers/models/metadata.json
@@ -68,6 +68,7 @@
"fields": [
{
"label": "Not indexed fields",
+ "ui": "table-pair",
"type": "queryFieldsFirst",
"model": "queryFields",
"keyName": "name",
@@ -81,6 +82,7 @@
},
{
"label": "Ascending indexed fields",
+ "ui": "table-pair",
"type": "queryFields",
"model": "ascendingFields",
"keyName": "name",
@@ -94,6 +96,7 @@
},
{
"label": "Descending indexed fields",
+ "ui": "table-pair",
"type": "queryFields",
"model": "descendingFields",
"keyName": "name",
@@ -122,7 +125,7 @@
},
{
"label": "Group indexes",
- "type": "queryGroups",
+ "type": "table-query-groups",
"model": "groups",
"addTip": "Add new group.",
"removeTip": "Remove group.",
@@ -158,7 +161,7 @@
},
{
"label": "Key fields",
- "type": "dbFields",
+ "type": "table-db-fields",
"model": "keyFields",
"keyName": "name",
"valueName": "className",
@@ -172,7 +175,7 @@
},
{
"label": "Value fields",
- "type": "dbFields",
+ "type": "table-db-fields",
"model": "valueFields",
"keyName": "name",
"valueName": "className",
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/fe050795/modules/control-center-web/src/main/js/public/stylesheets/style.scss
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/public/stylesheets/style.scss b/modules/control-center-web/src/main/js/public/stylesheets/style.scss
index 447122d..d761ef1 100644
--- a/modules/control-center-web/src/main/js/public/stylesheets/style.scss
+++ b/modules/control-center-web/src/main/js/public/stylesheets/style.scss
@@ -867,34 +867,46 @@ button .caret, .btn .caret {
padding-right: 5px;
}
-.fieldset {
+.group {
border-radius: 5px;
border: thin dotted lightgrey;
text-align: left;
}
-.legend {
+.group-legend {
top: -10px;
margin-left: 10px;
- margin-right: 10px;
+ margin-right: 5px;
overflow: visible;
position: relative;
label {
+ padding: 0 5px 0 5px;
background: white;
}
}
-.legend-btn {
+.group-legend-tip {
+ background: white;
+ padding-right: 5px;
+}
+
+.group-legend-btn {
+ background: white;
float: right;
line-height: 20px;
+ padding: 0 5px 0 5px;
}
-.fieldset-content {
+.group-content {
margin: 0 10px 10px 10px;
}
+.group-content-empty {
+ padding-top: 10px;
+}
+
.tooltip.right .tooltip-arrow {
border-right-color: $ignite-red;
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/fe050795/modules/control-center-web/src/main/js/views/configuration/caches.jade
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/views/configuration/caches.jade b/modules/control-center-web/src/main/js/views/configuration/caches.jade
index 197b3d6..49d20ed 100644
--- a/modules/control-center-web/src/main/js/views/configuration/caches.jade
+++ b/modules/control-center-web/src/main/js/views/configuration/caches.jade
@@ -34,9 +34,9 @@ block content
tbody
tr(ng-repeat='row in caches track by row._id')
td(ng-class='{active: row._id == selectedItem._id}')
- a(event-focus='defaultFocusId' 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(on-click-focus='defaultFocusId' ng-click='selectItem(row)') {{$index + 1}}) {{row.name}}, {{row.mode | displayValue:modes:'Cache mode not set'}}, {{row.atomicityMode | displayValue:atomicities:'Cache atomicity not set'}}
.padding-top-dflt
- button.btn.btn-primary(event-focus='defaultFocusId' ng-click='createItem()') Add cache
+ button.btn.btn-primary(on-click-focus='defaultFocusId' ng-click='createItem()') Add cache
hr
form.form-horizontal(name='inputForm' ng-if='backupItem' novalidate)
.panel-group(bs-collapse ng-model='panels.activePanels' data-allow-multiple='true')
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/fe050795/modules/control-center-web/src/main/js/views/configuration/clusters.jade
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/views/configuration/clusters.jade b/modules/control-center-web/src/main/js/views/configuration/clusters.jade
index 3d210ed..2b30afd 100644
--- a/modules/control-center-web/src/main/js/views/configuration/clusters.jade
+++ b/modules/control-center-web/src/main/js/views/configuration/clusters.jade
@@ -34,9 +34,9 @@ block content
tbody
tr(ng-repeat='row in clusters track by row._id')
td(ng-class='{active: row._id == selectedItem._id}')
- a(event-focus='defaultFocusId' ng-click='selectItem(row)') {{$index + 1}}) {{row.name}}, {{row.discovery.kind | displayValue:discoveries:'Discovery not set'}}
+ a(on-click-focus='defaultFocusId' ng-click='selectItem(row)') {{$index + 1}}) {{row.name}}, {{row.discovery.kind | displayValue:discoveries:'Discovery not set'}}
.padding-top-dflt
- button.btn.btn-primary(event-focus='defaultFocusId' ng-click='createItem()') Add cluster
+ button.btn.btn-primary(on-click-focus='defaultFocusId' ng-click='createItem()') Add cluster
label(style='margin-left: 10px; margin-right: 10px') Use template:
select.form-control.line-control(ng-model='template' ng-options='item.value as item.label for item in templates')
i.tipLabel.fa.fa-question-circle(bs-tooltip data-title='{{joinTip(templateTip)}}' type='button')
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/fe050795/modules/control-center-web/src/main/js/views/configuration/metadata.jade
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/views/configuration/metadata.jade b/modules/control-center-web/src/main/js/views/configuration/metadata.jade
index a5ad39a..57d73d1 100644
--- a/modules/control-center-web/src/main/js/views/configuration/metadata.jade
+++ b/modules/control-center-web/src/main/js/views/configuration/metadata.jade
@@ -34,9 +34,9 @@ block content
tbody
tr(ng-repeat='row in metadatas track by row._id')
td(ng-class='{active: row._id == selectedItem._id}')
- a(event-focus='defaultFocusId' ng-click='selectItem(row)') {{$index + 1}}) {{row.name}}
+ a(on-click-focus='defaultFocusId' ng-click='selectItem(row)') {{$index + 1}}) {{row.name}}
.padding-top-dflt
- button.btn.btn-primary(ng-click='createItem()' event-focus='defaultFocusId') Add metadata
+ button.btn.btn-primary(ng-click='createItem()' on-click-focus='defaultFocusId') Add metadata
button.btn.btn-primary(ng-click='showLoadMetadataModal()') Load from database
hr
form.form-horizontal(name='inputForm' ng-if='backupItem' novalidate)
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/fe050795/modules/control-center-web/src/main/js/views/includes/controls.jade
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/views/includes/controls.jade b/modules/control-center-web/src/main/js/views/includes/controls.jade
index 86db992..5c97418 100644
--- a/modules/control-center-web/src/main/js/views/includes/controls.jade
+++ b/modules/control-center-web/src/main/js/views/includes/controls.jade
@@ -40,8 +40,11 @@ mixin ico-exclamation(mdl, err, msg)
mixin btn-save(show, click)
i.tipField.fa.fa-floppy-o(ng-show=show ng-click=click bs-tooltip data-title='Save item' data-trigger='hover')
-mixin btn-add(click, tip, focusId)
- i.legend-btn.fa.fa-plus(ng-click=click bs-tooltip=tip event-focus=focusId)
+mixin group-tip(lines)
+ i.group-legend-tip.fa.fa-question-circle(ng-if=lines bs-tooltip='joinTip(#{lines})' type='button')
+
+mixin group-btn-add(click, tip)
+ i.group-legend-btn.fa.fa-plus(ng-click=click bs-tooltip=tip)
mixin btn-add2(click, tip, focusId)
i.tipField.fa.fa-plus(ng-click=click bs-tooltip=tip event-focus=focusId)
@@ -55,50 +58,54 @@ mixin btn-up(show, click)
mixin btn-down(show, click)
i.tipField.fa.fa-arrow-down(ng-show=show ng-click=click bs-tooltip data-title='Move item down')
-mixin table-pair-edit(keyModel, valModel, keyPlaceholder, valPlaceholder, keyJavaBuildInTypes, valueJavaBuildInTypes, focusId, index)
- -var focusIdKey = keyModel + focusId
- -var focusIdVal = valModel + focusId
+mixin table-pair-edit(prefix, keyPlaceholder, valPlaceholder, keyJavaBuildInTypes, valueJavaBuildInTypes, focusId, index)
+ -var keyModel = 'field.' + prefix + 'Key'
+ -var valModel = 'field.' + prefix + 'Value'
+
+ -var keyFocusId = prefix + 'Key' + focusId
+ -var valFocusId = prefix + 'Value' + focusId
.col-xs-6.col-sm-6.col-md-6
label.fieldSep /
.input-tip
if keyJavaBuildInTypes
- input.form-control(id=focusIdKey enter-focus-next=focusIdVal type='text' ng-model=keyModel placeholder=keyPlaceholder bs-typeahead retain-selection data-min-length='1' bs-options='javaClass for javaClass in javaBuildInClasses' on-escape='tableReset()')
+ input.form-control(id=keyFocusId enter-focus-next=valFocusId type='text' ng-model=keyModel placeholder=keyPlaceholder bs-typeahead retain-selection data-min-length='1' bs-options='javaClass for javaClass in javaBuildInClasses' on-escape='tableReset()')
else
- input.form-control(id=focusIdKey enter-focus-next=focusIdVal type='text' ng-model=keyModel placeholder=keyPlaceholder on-escape='tableReset()')
+ input.form-control(id=keyFocusId enter-focus-next=valFocusId type='text' ng-model=keyModel placeholder=keyPlaceholder on-escape='tableReset()')
.col-xs-6.col-sm-6.col-md-6
-var arg = keyModel + ', ' + valModel
- -var btnVisible = 'tablePairSaveVisible(' + arg + ')'
- -var btnSave = 'tablePairSave(tablePairValid, backupItem, field, '+ arg +', ' + index + ')'
+ -var btnVisible = 'tablePairSaveVisible(field)'
+ -var btnSave = 'tablePairSave(tablePairValid, backupItem, field, ' + index + ')'
-var btnVisibleAndSave = btnVisible + ' && ' + btnSave
+btn-save(btnVisible, btnSave)
.input-tip
if valueJavaBuildInTypes
- input.form-control(id=focusIdVal type='text' ng-model=valModel placeholder=valPlaceholder bs-typeahead retain-selection data-min-length='1' bs-options='javaClass for javaClass in javaBuildInClasses' on-enter=btnVisibleAndSave on-escape='tableReset()')
+ input.form-control(id=valFocusId type='text' ng-model=valModel placeholder=valPlaceholder bs-typeahead retain-selection data-min-length='1' bs-options='javaClass for javaClass in javaBuildInClasses' on-enter=btnVisibleAndSave on-escape='tableReset()')
else
- input.form-control(id=focusIdVal type='text' ng-model=valModel placeholder=valPlaceholder on-enter=btnVisibleAndSave on-escape='tableReset()')
+ input.form-control(id=valFocusId type='text' ng-model=valModel placeholder=valPlaceholder on-enter=btnVisibleAndSave on-escape='tableReset()')
mixin table-pair(header, tblMdl, keyFld, valFld, keyPlaceholder, valPlaceholder, keyJavaBuildInTypes, valueJavaBuildInTypes)
- .col-sm-7.fieldset
- .legend
+ .col-sm-7.group
+ .group-legend
label #{header}:
- +tipLabel('field.tip')
- +btn-add('tableNewItem(field)', 'field.addTip', 'newKey{{::field.focusId}}')
- .fieldset-content(ng-show='(#{tblMdl} && #{tblMdl}.length > 0) || tableNewItemActive(field)')
+ +group-tip('field.tip')
+ +group-btn-add('tableNewItem(field)', 'field.addTip')
+ .group-content-empty(ng-if='!((#{tblMdl} && #{tblMdl}.length > 0) || tableNewItemActive(field))')
+ .group-content(ng-show='(#{tblMdl} && #{tblMdl}.length > 0) || tableNewItemActive(field)')
table.col-sm-12.links-edit(id='{{::field.model}}' st-table=tblMdl)
tbody
tr(ng-repeat='item in #{tblMdl}')
td.col-sm-12
div(ng-show='!tableEditing(field, $index)')
- a.labelFormField(event-focus='curKey{{::field.focusId}}' ng-click='curPair = tableStartEdit(backupItem, field, $index); curKey = curPair.#{keyFld}; curValue = curPair.#{valFld}') {{$index + 1}}) {{compactJavaName(item.#{keyFld}, 25, availableWidth(field.model)[1])}} / {{compactJavaName(item.#{valFld}, 25, availableWidth(field.model)[1])}}
+ a.labelFormField(ng-click='tableStartEdit(backupItem, field, $index)') {{$index + 1}}) {{compactJavaName(item.#{keyFld}, 25, availableWidth(field.model)[1])}} / {{compactJavaName(item.#{valFld}, 25, availableWidth(field.model)[1])}}
+btn-remove('tableRemove(backupItem, field, $index)', 'field.removeTip')
div(ng-if='tableEditing(field, $index)')
- +table-pair-edit('curKey', 'curValue', keyPlaceholder, valPlaceholder, keyJavaBuildInTypes, valueJavaBuildInTypes, '{{::field.focusId}}', '$index')
+ +table-pair-edit('cur', keyPlaceholder, valPlaceholder, keyJavaBuildInTypes, valueJavaBuildInTypes, '{{::field.focusId}}', '$index')
tfoot(ng-show='tableNewItemActive(field)')
tr
td.col-sm-12
- +table-pair-edit('newKey', 'newValue', keyPlaceholder, valPlaceholder, keyJavaBuildInTypes, valueJavaBuildInTypes, '{{::field.focusId}}', '-1')
+ +table-pair-edit('new', keyPlaceholder, valPlaceholder, keyJavaBuildInTypes, valueJavaBuildInTypes, '{{::field.focusId}}', '-1')
mixin details-row
- var lblDetailClasses = ['col-sm-4', 'details-label']
@@ -127,7 +134,7 @@ mixin details-row
.col-sm-8
+tipField('detail.tip')
.input-tip
- input.form-control(name='{{detail.model}}' type='number' placeholder='{{::detail.placeholder}}' min='{{detail.min ? detail.min : 0}}' max='{{detail.max ? detail.max : Number.MAX_VALUE}}')&attributes(detailCommon)
+ input.form-control(type='number' placeholder='{{::detail.placeholder}}' min='{{detail.min ? detail.min : 0}}' max='{{detail.max ? detail.max : Number.MAX_VALUE}}')&attributes(detailCommon)
+ico-exclamation('{{detail.model}}', 'min', 'Value is less than allowable minimum.')
+ico-exclamation('{{detail.model}}', 'max', 'Value is more than allowable maximum.')
+ico-exclamation('{{detail.model}}', 'number', 'Invalid value. Only numbers allowed.')
@@ -152,49 +159,59 @@ mixin details-row
tr(ng-repeat='item in #{detailMdl} track by $index')
td
div(ng-show='!tableEditing(detail, $index)')
- a.labelFormField(event-focus='cur{{::detail.focusId}}' ng-click='curValue = tableStartEdit(backupItem, detail, $index)') {{$index + 1}}) {{item}}
+ a.labelFormField(ng-click='tableStartEdit(backupItem, detail, $index)') {{$index + 1}}) {{item}}
+btn-remove('tableRemove(backupItem, detail, $index)', 'detail.removeTip')
+btn-down('detail.reordering && tableSimpleDownVisible(backupItem, detail, $index)', 'tableSimpleDown(backupItem, detail, $index)')
+btn-up('detail.reordering && $index > 0', 'tableSimpleUp(backupItem, detail, $index)')
div(ng-if='tableEditing(detail, $index)')
label.labelField {{$index + 1}})
- +btn-save('tableSimpleSaveVisible(curValue)', 'tableSimpleSave(tableSimpleValid, backupItem, detail, curValue, $index)')
+ +btn-save('tableSimpleSaveVisible(curValue)', 'tableSimpleSave(tableSimpleValid, backupItem, detail, $index)')
.input-tip.form-group.has-feedback
- input.form-control(id='cur{{::detail.focusId}}' name='{{detail.model}}.edit' type='text' ng-model='curValue' placeholder='{{::detail.placeholder}}' on-enter='tableSimpleSave(tableSimpleValid, backupItem, detail, curValue, $index)' on-escape='tableReset()')&attributes(customValidators)
+ input.form-control(id='cur{{::detail.focusId}}' type='text' ng-model='detail.curValue' placeholder='{{::detail.placeholder}}' on-enter='tableSimpleSave(tableSimpleValid, backupItem, detail, $index)' on-escape='tableReset()')&attributes(customValidators)
+ico-exclamation('{{detail.model}}.edit', 'ipaddress', 'Invalid address, see help for format description.')
- button.btn.btn-primary.fieldButton(ng-disabled='!newValue' ng-click='tableSimpleSave(tableSimpleValid, backupItem, detail, newValue, -1)') Add
+ button.btn.btn-primary.fieldButton(ng-disabled='!newValue' ng-click='tableSimpleSave(tableSimpleValid, backupItem, detail, -1)') Add
+tipField('detail.tip')
.input-tip.form-group.has-feedback
- input.form-control(id='new{{::detail.focusId}}' name='{{detail.model}}' type='text' ng-model='newValue' ng-focus='tableNewItem(detail)' placeholder='{{::detail.placeholder}}' on-enter='tableSimpleSave(tableSimpleValid, backupItem, detail, newValue, -1)' on-escape='tableReset()')&attributes(customValidators)
+ input.form-control(id='new{{::detail.focusId}}' type='text' ng-model='detail.newValue' ng-focus='tableNewItem(detail)' placeholder='{{::detail.placeholder}}' on-enter='tableSimpleSave(tableSimpleValid, backupItem, newValue, -1)' on-escape='tableReset()')&attributes(customValidators)
+ico-exclamation('{{detail.model}}', 'ipaddress', 'Invalid address, see help for format description.')
div(ng-switch-when='table-simple-with-border')&attributes(detailCommon)
- .fieldset
- .legend
+ .group
+ .group-legend
label {{::detail.label}}:
- +tipLabel('detail.tableTip')
- .fieldset-content
+ +group-tip('detail.tableTip')
+ .group-content
table.col-sm-12.links-edit-details(st-table='#{detailMdl}')
tbody
tr(ng-repeat='item in #{detailMdl} track by $index')
td
div(ng-show='!tableEditing(detail, $index)')
- a.labelFormField(event-focus='cur{{::detail.focusId}}' ng-click='curValue = tableStartEdit(backupItem, detail, $index)') {{$index + 1}}) {{item}}
+ a.labelFormField(ng-click='curValue = tableStartEdit(backupItem, detail, $index)') {{$index + 1}}) {{item}}
+btn-remove('tableRemove(backupItem, detail, $index)', 'detail.removeTip')
+btn-down('detail.reordering && tableSimpleDownVisible(backupItem, detail, $index)', 'tableSimpleDown(backupItem, detail, $index)')
+btn-up('detail.reordering && $index > 0', 'tableSimpleUp(backupItem, detail, $index)')
div(ng-if='tableEditing(detail, $index)')
label.labelField {{$index + 1}})
- +btn-save('tableSimpleSaveVisible(curValue)', 'tableSimpleSave(tableSimpleValid, backupItem, detail, curValue, $index)')
+ +btn-save('tableSimpleSaveVisible(curValue)', 'tableSimpleSave(tableSimpleValid, backupItem, detail, $index)')
.input-tip.form-group.has-feedback
- input.form-control(id='cur{{::detail.focusId}}' name='{{detail.model}}.edit' type='text' ng-model='curValue' placeholder='{{::detail.placeholder}}' on-enter='tableSimpleSave(tableSimpleValid, backupItem, detail, curValue, $index)' on-escape='tableReset()')&attributes(customValidators)
+ input.form-control(id='cur{{::detail.focusId}}' type='text' ng-model='detail.curValue' placeholder='{{::detail.placeholder}}' on-enter='tableSimpleSave(tableSimpleValid, backupItem, detail, $index)' on-escape='tableReset()')&attributes(customValidators)
+ico-exclamation('{{detail.model}}.edit', 'ipaddress', 'Invalid address, see help for format description.')
- button.btn.btn-primary.fieldButton(ng-disabled='!newValue' ng-click='tableSimpleSave(tableSimpleValid, backupItem, detail, newValue, -1)') Add
+ button.btn.btn-primary.fieldButton(ng-disabled='!newValue' ng-click='tableSimpleSave(tableSimpleValid, backupItem, detail, -1)') Add
+tipField('detail.tip')
.input-tip.form-group.has-feedback
- input.form-control(id='new{{::detail.focusId}}' name='{{detail.model}}' type='text' ng-model='newValue' ng-focus='tableNewItem(detail)' placeholder='{{::detail.placeholder}}' on-enter='tableSimpleSave(tableSimpleValid, backupItem, detail, newValue, -1)' on-escape='tableReset()')&attributes(customValidators)
+ input.form-control(id='new{{::detail.focusId}}' type='text' ng-model='detail.newValue' ng-focus='tableNewItem(detail)' placeholder='{{::detail.placeholder}}' on-enter='tableSimpleSave(tableSimpleValid, backupItem, detail, -1)' on-escape='tableReset()')&attributes(customValidators)
+ico-exclamation('{{detail.model}}', 'ipaddress', 'Invalid address, see help for format description.')
-mixin table-db-field-edit(databaseName, databaseType, javaName, javaType, focusId, index)
+mixin table-db-field-edit(prefix, focusId, index)
+ -var databaseName = prefix + 'DatabaseName'
+ -var databaseType = prefix + 'DatabaseType'
+ -var javaName = prefix + 'JavaName'
+ -var javaType = prefix + 'JavaType'
+
+ -var databaseNameModel = 'field.' + databaseName
+ -var databaseTypeModel = 'field.' + databaseType
+ -var javaNameModel = 'field.' + javaName
+ -var javaTypeModel = 'field.' + javaType
+
-var databaseNameId = databaseName + focusId
-var databaseTypeId = databaseType + focusId
-var javaNameId = javaName + focusId
@@ -203,24 +220,23 @@ mixin table-db-field-edit(databaseName, databaseType, javaName, javaType, focusI
.col-xs-3.col-sm-3.col-md-3
label.fieldSep /
.input-tip
- input.form-control(id=databaseNameId enter-focus-next=databaseTypeId type='text' ng-model=databaseName placeholder='DB name' on-escape='tableReset()')
+ input.form-control(id=databaseNameId enter-focus-next=databaseTypeId type='text' ng-model=databaseNameModel placeholder='DB name' on-escape='tableReset()')
.col-xs-3.col-sm-3.col-md-3
label.fieldSep /
.input-tip
- select.form-control(id=databaseTypeId enter-focus-next=javaNameId ng-model=databaseType ng-options='item.value as item.label for item in {{jdbcTypes}}' on-escape='tableReset()')
+ select.form-control(id=databaseTypeId enter-focus-next=javaNameId ng-model=databaseTypeModel ng-options='item.value as item.label for item in {{jdbcTypes}}' on-escape='tableReset()')
.col-xs-3.col-sm-3.col-md-3
label.fieldSep /
.input-tip
- input.form-control(id=javaNameId enter-focus-next=javaTypeId type='text' ng-model=javaName placeholder='Java name' on-escape='tableReset()')
+ input.form-control(id=javaNameId enter-focus-next=javaTypeId type='text' ng-model=javaNameModel placeholder='Java name' on-escape='tableReset()')
.col-xs-3.col-sm-3.col-md-3
- -var args = databaseName + ', ' + databaseType + ', ' + javaName + ', ' + javaType
- -var btnVisible = 'tableDbFieldSaveVisible(' + args + ')'
- -var btnSave = 'tableDbFieldSave(field, ' + args + ', ' + index +')'
+ -var btnVisible = 'tableDbFieldSaveVisible(field, ' + index +')'
+ -var btnSave = 'tableDbFieldSave(field, ' + index +')'
-var btnVisibleAndSave = btnVisible + ' && ' + btnSave
+btn-save(btnVisible, btnSave)
.input-tip
- select.form-control(id=javaTypeId ng-model=javaType ng-options='item.value as item.label for item in {{javaTypes}}' on-enter=btnVisibleAndSave on-escape='tableReset()')
+ select.form-control(id=javaTypeId ng-model=javaTypeModel ng-options='item.value as item.label for item in {{javaTypes}}' on-enter=btnVisibleAndSave on-escape='tableReset()')
mixin table-group-item-edit(fieldName, className, direction, index)
-var args = fieldName + ', ' + className
@@ -281,7 +297,7 @@ mixin form-row-custom(lblClasses, fieldClasses, dataSource)
div(class=fieldClasses)
+tipField('field.tip')
.input-tip
- input.form-control(name='{{field.model}}' type='number' placeholder='{{::field.placeholder}}' ng-focus='tableReset()' min='{{field.min ? field.min : 0}}' max='{{field.max ? field.max : Number.MAX_VALUE}}')&attributes(fieldCommon)
+ input.form-control(type='number' placeholder='{{::field.placeholder}}' ng-focus='tableReset()' min='{{field.min ? field.min : 0}}' max='{{field.max ? field.max : Number.MAX_VALUE}}')&attributes(fieldCommon)
+ico-exclamation('{{field.model}}', 'min', 'Value is less than allowable minimum.')
+ico-exclamation('{{field.model}}', 'max', 'Value is more than allowable maximum.')
+ico-exclamation('{{field.model}}', 'number', 'Invalid value. Only numbers allowed.')
@@ -317,93 +333,94 @@ mixin form-row-custom(lblClasses, fieldClasses, dataSource)
.details-row(ng-repeat='detail in field.details[#{fieldMdl}].fields')
+details-row
.section(ng-switch-when='table-simple' ng-hide=fieldHide)&attributes(fieldCommon)
- .col-sm-7.fieldset
- .legend
+ .col-sm-7.group
+ .group-legend
label {{::field.label}}:
- +tipLabel('field.tableTip')
- +btn-add('tableNewItem(field)', 'field.addTip', 'new{{::field.focusId}}')
- .fieldset-content(ng-show='(#{fieldMdl} && #{fieldMdl}.length > 0) || tableNewItemActive(field)')
+ +group-tip('field.tableTip')
+ +group-btn-add('tableNewItem(field)', 'field.addTip')
+ .group-content-empty(ng-show='!((#{fieldMdl} && #{fieldMdl}.length > 0) || tableNewItemActive(field))')
+ .group-content(ng-show='(#{fieldMdl} && #{fieldMdl}.length > 0) || tableNewItemActive(field)')
table.col-sm-12.links-edit(id='{{::field.model}}' st-table='#{fieldMdl}')
tbody
tr(ng-repeat='item in #{fieldMdl} track by $index')
td
div(ng-show='!tableEditing(field, $index)')
- a.labelFormField(event-focus='cur{{::field.focusId}}' ng-click='curValue = tableStartEdit(backupItem, field, $index)') {{$index + 1}}) {{compactJavaName(item, 55, availableWidth(field.model)[0])}}
+ a.labelFormField(ng-click='tableStartEdit(backupItem, field, $index)') {{$index + 1}}) {{compactJavaName(item, 55, availableWidth(field.model)[0])}}
+btn-remove('tableRemove(backupItem, field, $index)', 'field.removeTip')
+btn-down('field.reordering && tableSimpleDownVisible(backupItem, field, $index)', 'tableSimpleDown(backupItem, field, $index)')
+btn-up('field.reordering && $index > 0', 'tableSimpleUp(backupItem, field, $index)')
div(ng-if='tableEditing(field, $index)')
label.labelField {{$index + 1}})
- +btn-save('tableSimpleSaveVisible(curValue)', 'tableSimpleSave(tableSimpleValid, backupItem, field, curValue, $index)')
+ +btn-save('tableSimpleSaveVisible(field.curValue)', 'tableSimpleSave(tableSimpleValid, backupItem, field, $index)')
.input-tip
- input.form-control(id='cur{{::field.focusId}}' type='text' ng-model='curValue' placeholder='{{::field.placeholder}}' on-enter='tableSimpleSaveVisible(curValue) && tableSimpleSave(tableSimpleValid, backupItem, field, curValue, $index)' on-escape='tableReset()')
+ input.form-control(id='cur{{::field.focusId}}' type='text' ng-model='field.curValue' placeholder='{{::field.placeholder}}' on-enter='tableSimpleSaveVisible(field.curValue) && tableSimpleSave(tableSimpleValid, backupItem, field, $index)' on-escape='tableReset()')
tfoot(ng-show='tableNewItemActive(field)')
tr
td
- +btn-save('tableSimpleSaveVisible(newValue)', 'tableSimpleSave(tableSimpleValid, backupItem, field, newValue, -1)')
+ +btn-save('tableSimpleSaveVisible(field.newValue)', 'tableSimpleSave(tableSimpleValid, backupItem, field, -1)')
.input-tip
- input.form-control(id='new{{::field.focusId}}' type='text' ng-model='newValue' placeholder='{{::field.placeholder}}' on-enter='tableSimpleSaveVisible(newValue) && tableSimpleSave(tableSimpleValid, backupItem, field, newValue, -1)' on-escape='tableReset()')
+ input.form-control(id='new{{::field.focusId}}' type='text' ng-model='field.newValue' placeholder='{{::field.placeholder}}' on-enter='tableSimpleSaveVisible(field.newValue) && tableSimpleSave(tableSimpleValid, backupItem, field, -1)' on-escape='tableReset()')
.section(ng-switch-when='indexedTypes')
- +table-pair('Index key-value type pairs', fieldMdl, 'keyClass', 'valueClass', 'Key class full name', 'Value class full name', true, false)
+ +table-pair('Index key-value type pairs', fieldMdl, 'keyClass', 'valueClass', 'Key class full name', 'Value class full name', true, true)
div(ng-switch-when='queryFieldsFirst' ng-hide=fieldHide)
+table-pair('{{::field.label}}', fieldMdl, 'name', 'className', 'Field name', 'Field class full name', false, true)
.section(ng-switch-when='queryFields' ng-hide=fieldHide)
+table-pair('{{::field.label}}', fieldMdl, 'name', 'className', 'Field name', 'Field class full name', false, true)
- .section(ng-switch-when='dbFields' ng-hide=fieldHide)
- .col-sm-7.fieldset
- .legend
+ .section(ng-switch-when='table-db-fields' ng-hide=fieldHide)
+ .col-sm-7.group
+ .group-legend
label {{::field.label}}:
- +tipLabel('field.tip')
- +btn-add('tableNewItem(field)', 'field.addTip', 'newDatabaseName{{::field.focusId}}')
- .fieldset-content(ng-show='(#{fieldMdl} && #{fieldMdl}.length > 0) || tableNewItemActive(field)')
+ +group-tip('field.tip')
+ +group-btn-add('tableNewItem(field)', 'field.addTip')
+ .group-content(ng-show='(#{fieldMdl} && #{fieldMdl}.length > 0) || tableNewItemActive(field)')
table.col-sm-12.links-edit(st-table=fieldMdl)
tbody
tr(ng-repeat='item in #{fieldMdl}')
td.col-sm-12
div(ng-show='!tableEditing(field, $index)')
- a.labelFormField(event-focus='curDatabaseName{{::field.focusId}}' ng-click='curField = tableStartEdit(backupItem, field, $index); curDatabaseName = curField.databaseName; curDatabaseType = curField.databaseType; curJavaName = curField.javaName; curJavaType = curField.javaType') {{$index + 1}}) {{item.databaseName}} / {{item.databaseType}} / {{item.javaName}} / {{item.javaType}}
+ a.labelFormField(ng-click='tableStartEdit(backupItem, field, $index)') {{$index + 1}}) {{item.databaseName}} / {{item.databaseType}} / {{item.javaName}} / {{item.javaType}}
+btn-remove('tableRemove(backupItem, field, $index)', 'field.removeTip')
div(ng-if='tableEditing(field, $index)')
- +table-db-field-edit('curDatabaseName', 'curDatabaseType', 'curJavaName', 'curJavaType', '{{::field.focusId}}', '$index')
+ +table-db-field-edit('cur', '{{::field.focusId}}', '$index')
tfoot(ng-show='tableNewItemActive(field)')
tr
td.col-sm-12(ng-init='newDatabaseType="INTEGER"; newJavaType="Integer"')
- +table-db-field-edit('newDatabaseName', 'newDatabaseType', 'newJavaName', 'newJavaType', '{{::field.focusId}}', '-1')
- .section(ng-switch-when='queryGroups' ng-hide=fieldHide)
- .col-sm-7.fieldset
- .legend
+ +table-db-field-edit('new', '{{::field.focusId}}', '-1')
+ .section(ng-switch-when='table-query-groups' ng-hide=fieldHide)
+ .col-sm-7.group
+ .group-legend
label {{::field.label}}:
- +tipLabel('field.tip')
- +btn-add('tableNewItem(field)', 'field.addTip', 'newGroupName')
- .fieldset-content(ng-show='(#{fieldMdl} && #{fieldMdl}.length > 0) || tableNewItemActive(field)')
+ +group-tip('field.tip')
+ +group-btn-add('tableNewItem(field)', 'field.addTip')
+ .group-content-empty(ng-show='!((#{fieldMdl} && #{fieldMdl}.length > 0) || tableNewItemActive(field))')
+ .group-content(ng-show='(#{fieldMdl} && #{fieldMdl}.length > 0) || tableNewItemActive(field)')
table.links-edit.col-sm-12(st-table=fieldMdl ng-init='newDirection = false')
tbody
tr(ng-repeat='group in #{fieldMdl}')
td.col-sm-12
- div
- .col-sm-12(ng-show='!tableEditing(field, $index)')
- a.labelFormField(event-focus='curGroupName' ng-click='curGroup = tableStartEdit(backupItem, field, $index); curGroupName = curGroup.name; curFields = curGroup.fields') {{$index + 1}}) {{group.name}}
- +btn-remove('tableRemove(backupItem, field, $index)', 'field.removeTip')
- +btn-add2('tableGroupNewItem($index)', 'field.addItemTip', 'newFieldName')
- div(ng-if='tableEditing(field, $index)')
- label.labelField {{$index + 1}})
- +btn-save('tableGroupSaveVisible(curGroupName)', 'tableGroupSave(curGroupName, $index)')
- .input-tip
- input#curGroupName.form-control(type='text' ng-model='curGroupName' placeholder='Index name' on-enter='tableGroupSaveVisible(curGroupName) && tableGroupSave(curGroupName, $index)' on-escape='tableReset()')
- .margin-left-dflt
- table.links-edit-sub.col-sm-12(st-table='group.fields' ng-init='groupIndex = $index')
- tbody
- tr(ng-repeat='groupItem in group.fields')
- td
- div(ng-show='!tableGroupItemEditing(groupIndex, $index)')
- a.labelFormField(event-focus='curFieldName' ng-click='curGroupItem = tableGroupItemStartEdit(groupIndex, $index); curFieldName = curGroupItem.name; curClassName = curGroupItem.className; curDirection = curGroupItem.direction') {{$index + 1}}) {{groupItem.name}} / {{groupItem.className}} / {{groupItem.direction ? "DESC" : "ASC"}}
- +btn-remove('tableRemoveGroupItem(group, $index)', 'field.removeItemTip')
- div(ng-if='tableGroupItemEditing(groupIndex, $index)')
- +table-group-item-edit('curFieldName', 'curClassName', 'curDirection', '$index')
- tfoot(ng-if='tableGroupNewItemActive(groupIndex)')
- tr.col-sm-12(style='padding-left: 18px')
- td
- +table-group-item-edit('newFieldName', 'newClassName', 'newDirection', '-1')
+ .col-sm-12(ng-show='!tableEditing(field, $index)')
+ a.labelFormField(ng-click='tableStartEdit(backupItem, field, $index)') {{$index + 1}}) {{group.name}}
+ +btn-remove('tableRemove(backupItem, field, $index)', 'field.removeTip')
+ +btn-add2('tableGroupNewItem($index)', 'field.addItemTip', 'newFieldName')
+ div(ng-if='tableEditing(field, $index)')
+ label.labelField {{$index + 1}})
+ +btn-save('tableGroupSaveVisible(curGroupName)', 'tableGroupSave(curGroupName, $index)')
+ .input-tip
+ input#curGroupName.form-control(type='text' ng-model='curGroupName' placeholder='Index name' on-enter='tableGroupSaveVisible(curGroupName) && tableGroupSave(curGroupName, $index)' on-escape='tableReset()')
+ .margin-left-dflt
+ table.links-edit-sub.col-sm-12(st-table='group.fields' ng-init='groupIndex = $index')
+ tbody
+ tr(ng-repeat='groupItem in group.fields')
+ td
+ div(ng-show='!tableGroupItemEditing(groupIndex, $index)')
+ a.labelFormField(on-click-focus='curFieldName' ng-click='curGroupItem = tableGroupItemStartEdit(groupIndex, $index); curFieldName = curGroupItem.name; curClassName = curGroupItem.className; curDirection = curGroupItem.direction') {{$index + 1}}) {{groupItem.name}} / {{groupItem.className}} / {{groupItem.direction ? "DESC" : "ASC"}}
+ +btn-remove('tableRemoveGroupItem(group, $index)', 'field.removeItemTip')
+ div(ng-if='tableGroupItemEditing(groupIndex, $index)')
+ +table-group-item-edit('curFieldName', 'curClassName', 'curDirection', '$index')
+ tfoot(ng-if='tableGroupNewItemActive(groupIndex)')
+ tr.col-sm-12(style='padding-left: 18px')
+ td
+ +table-group-item-edit('newFieldName', 'newClassName', 'newDirection', '-1')
tfoot(ng-show='tableNewItemActive(field)')
tr
td.col-sm-12
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/fe050795/modules/control-center-web/src/main/js/views/login.jade
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/views/login.jade b/modules/control-center-web/src/main/js/views/login.jade
index 07f89a6..19979e2 100644
--- a/modules/control-center-web/src/main/js/views/login.jade
+++ b/modules/control-center-web/src/main/js/views/login.jade
@@ -46,10 +46,10 @@ mixin lbl(txt)
.col-sm-9
input#user_confirm.form-control(type='password' ng-model='user_info.confirm' match='user_info.password' placeholder='Confirm password' ng-required='action == "register"' on-enter='loginForm.$valid && auth(action, user_info)')
.modal-footer
- a.labelField(ng-show='action != "request_password_reset"' ng-click='action = "request_password_reset"' event-focus='user_email') Forgot password?
- a.labelField(ng-show='action == "request_password_reset"' ng-click='action = "login"' event-focus='user_email') Log In
- a.labelLogin(ng-show='action == "register"' event-focus='user_email' ng-click='action = "login";') Log In
- a.labelLogin(ng-show='action == "login"' event-focus='user_name' ng-click='action = "register"') Sign Up
+ a.labelField(ng-show='action != "request_password_reset"' ng-click='action = "request_password_reset"' on-click-focus='user_email') Forgot password?
+ a.labelField(ng-show='action == "request_password_reset"' ng-click='action = "login"' on-click-focus='user_email') Log In
+ a.labelLogin(ng-show='action == "register"' on-click-focus='user_email' ng-click='action = "login";') Log In
+ a.labelLogin(ng-show='action == "login"' on-click-focus='user_name' ng-click='action = "register"') Sign Up
button.btn.btn-primary(ng-show='action == "login"' ng-disabled='loginForm.$invalid' ng-click='auth(action, user_info)') Log In
button.btn.btn-primary(ng-show='action == "register"' ng-disabled='loginForm.$invalid' ng-click='auth(action, user_info)') Sign Up
button.btn.btn-primary(ng-show='action == "request_password_reset"' ng-disabled='loginForm.$invalid' ng-click='auth(action, user_info)') Reset Password