1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-07-30 21:40:43 +02:00

[ticket/14315] Correctly set default values and reset values

The permissions tooltip javascript failed at correctly passing
the default values to the page. The same applied to the
display_mask() method in includes/acp/auth.php.

PHPBB3-14315
This commit is contained in:
Marc Alexander
2016-02-05 23:59:19 +01:00
parent 4973632288
commit eab1b1ad11
3 changed files with 20 additions and 22 deletions

View File

@@ -141,20 +141,32 @@ phpbb.positionTooltip = function ($element) {
*/
phpbb.prepareRolesDropdown = function () {
var $options = $('.roles-options li');
var $rolesOptions = $options.closest('.roles-options');
var $span = $rolesOptions.children('span');
// Prepare highlighting of select options and settings update
$options.each(function () {
var $this = $(this);
var $rolesOptions = $this.closest('.roles-options');
var $span = $rolesOptions.children('span');
// Correctly show selected option
if (typeof $this.attr('data-selected') !== 'undefined') {
$rolesOptions.closest('.roles-options')
$rolesOptions
.children('span')
.text($this.text())
.attr('data-default', $this.text())
.attr('data-default-val', $this.attr('data-id'));
// Save default text of drop down if there is no default set yet
if (typeof $span.attr('data-default') === 'undefined') {
$span.attr('data-default', $span.text());
}
// Prepare resetting drop down on form reset
$this.closest('form').on('reset', function () {
$span.text($span.attr('data-default'));
$rolesOptions.children('input[type=hidden]')
.val($span.attr('data-default-val'));
});
}
$this.on('mouseover', function () {
@@ -163,6 +175,7 @@ phpbb.prepareRolesDropdown = function () {
$this.addClass('roles-highlight');
}).on('click', function () {
var $this = $(this);
var $rolesOptions = $this.closest('.roles-options');
// Update settings
set_role_settings($this.attr('data-id'), $this.attr('data-target-id'));
@@ -178,19 +191,6 @@ phpbb.prepareRolesDropdown = function () {
$('body').trigger('click');
});
});
// Save default text of drop down if there is no default set yet
if (typeof $span.attr('data-default') === 'undefined') {
$span.attr('data-default', $span.text());
}
// Prepare resetting drop down on form reset
$options.closest('form').on('reset', function () {
$span.text($span.attr('data-default'));
$rolesOptions.children('input[type=hidden]')
.val($span.attr('data-id'));
});
};
// Run onload functions for RolesDropdown and tooltips