summaryrefslogtreecommitdiffstats
path: root/settings/js/authtoken_view.js
diff options
context:
space:
mode:
Diffstat (limited to 'settings/js/authtoken_view.js')
-rw-r--r--settings/js/authtoken_view.js37
1 files changed, 27 insertions, 10 deletions
diff --git a/settings/js/authtoken_view.js b/settings/js/authtoken_view.js
index 6455a2d69f5..1484cffc337 100644
--- a/settings/js/authtoken_view.js
+++ b/settings/js/authtoken_view.js
@@ -220,7 +220,8 @@
$el.on('click', '.icon-more', _.bind(this._onConfigureToken, this));
$el.on('change', 'input.filesystem', _.bind(this._onSetTokenScope, this));
$el.on('click', '.icon-rename', _.bind(this._onRenameToken, this));
- $el.on('keyup', 'input.rename-token', _.bind(this._onEnterTokenName, this));
+ $el.on('dblclick', '.token-name > span', _.bind(this._onRenameToken, this));
+ $el.on('keyup', '.token-name > input', _.bind(this._onEnterTokenName, this));
this._form = $('#app-password-form');
this._tokenName = $('#app-password-name');
@@ -420,16 +421,25 @@
_onRenameToken: function (event) {
var $target = $(event.target);
var $row = $target.closest('tr');
- var id = $row.data('id');
- var token = this.collection.get(id);
- if (_.isUndefined(token)) {
+ var tokenId = $row.data('id');
+ var token = this.collection.get(tokenId);
+
+ if (_.isUndefined(token) || token.get('current') === true) {
// Ignore event
return;
}
- $row.find('.token-name > span').addClass('hidden');
- $row.find('.token-name > input').removeClass('hidden').focus();
+ var $tokenName = $row.find('.token-name');
+ var showTokenNameInput = !$tokenName.hasClass('token-rename'); // if class token-rename present input is already visible.
+
+ this._hideTokenNameInput();
+
+ if (showTokenNameInput) {
+ $tokenName.addClass('token-rename');
+ $tokenName.find('span').addClass('hidden');
+ $tokenName.find('input').removeClass('hidden').val(token.get('name')).focus();
+ }
this._hideConfigureToken();
},
@@ -437,9 +447,10 @@
_onEnterTokenName: function(event) {
var $target = $(event.target);
var $row = $target.closest('tr');
- var id = $row.data('id');
- var token = this.collection.get(id);
+ var tokenId = $row.data('id');
+ var token = this.collection.get(tokenId);
+
if (_.isUndefined(token)) {
// Ignore event
return;
@@ -455,11 +466,17 @@
}
if (event.key === 'Escape') {
- $row.find('.token-name > span').removeClass('hidden');
- $row.find('.token-name > input').addClass('hidden');
+ this._hideTokenNameInput();
}
},
+ _hideTokenNameInput: function () {
+ var $tokenList = $('.token-list td.token-name');
+ $tokenList.removeClass('token-rename');
+ $tokenList.find('span').removeClass('hidden');
+ $tokenList.find('input').addClass('hidden');
+ },
+
_toggleFormResult: function (showForm) {
if (showForm) {
this._result.slideUp();