diff --git a/settings/css/settings.css b/settings/css/settings.css index 3f23fb6680..a280fa5d10 100644 --- a/settings/css/settings.css +++ b/settings/css/settings.css @@ -263,6 +263,11 @@ table.nostyle td { padding: 0.2em 0; } padding: 10px; } +#sessions .token-list div.configure:after, +#apppasswords .token-list div.configure:after { + right: 13px; +} + #sessions .token-list tr.active div.configure > *, #apppasswords .token-list tr.active div.configure > *{ margin-top: 5px; diff --git a/settings/js/authtoken_view.js b/settings/js/authtoken_view.js index 0899b723b2..a81e05cb3e 100644 --- a/settings/js/authtoken_view.js +++ b/settings/js/authtoken_view.js @@ -217,6 +217,10 @@ })); var $el = $(el); + $('body').on('click', _.bind(_this._hideConfigureToken, _this)); + $el.on('click', '.popovermenu', function(event) { + event.stopPropagation(); + }); $el.on('click', 'a.icon-delete', _.bind(_this._onDeleteToken, _this)); $el.on('click', '.icon-more', _.bind(_this._onConfigureToken, _this)); $el.on('change', 'input.filesystem', _.bind(_this._onSetTokenScope, _this)); @@ -355,12 +359,18 @@ }, _onConfigureToken: function (event) { + event.stopPropagation(); + this._hideConfigureToken(); var $target = $(event.target); var $row = $target.closest('tr'); $row.toggleClass('active'); var id = $row.data('id'); }, + _hideConfigureToken: function() { + $('.token-list tr').removeClass('active'); + }, + _onDeleteToken: function (event) { var $target = $(event.target); var $row = $target.closest('tr');