diff --git a/core/js/singleselect.js b/core/js/singleselect.js index 1a018b7414872b3a740e7adf26d63d5ea7f1fc0f..e2d94a9f2875c333afa8cdde4b14bbdd5517af1e 100644 --- a/core/js/singleselect.js +++ b/core/js/singleselect.js @@ -1,10 +1,13 @@ (function ($) { $.fn.singleSelect = function () { return this.each(function (i, select) { - var input = $('<input/>'); + var input = $('<input/>'), + inputTooltip = $(select).attr('data-inputtitle'); + if (inputTooltip){ + input.attr('title', inputTooltip); + } select = $(select); input.css('position', 'absolute'); - input.css(select.offset()); input.css({ 'box-sizing': 'border-box', '-moz-box-sizing': 'border-box', @@ -28,7 +31,13 @@ select.data('previous', value); } else { event.stopImmediatePropagation(); + // adjust offset, in case the user scrolled + input.css(select.offset()); input.show(); + if ($.fn.tipsy){ + input.tipsy({gravity: 'n', trigger: 'manual'}); + input.tipsy('show'); + } select.css('background-color', 'white'); input.focus(); } @@ -70,6 +79,9 @@ input.on('blur', function () { $(this).change(); + if ($.fn.tipsy){ + $(this).tipsy('hide'); + } }); }); } diff --git a/settings/js/users.js b/settings/js/users.js index 4c2ad5417ca5531c8c24ce6dd12db35c861c2aed..6222c0e70cd687c8101faaf79916c1e4d61930f8 100644 --- a/settings/js/users.js +++ b/settings/js/users.js @@ -147,7 +147,11 @@ var UserList = { quotaSelect.on('change', function () { var uid = $(this).parent().parent().attr('data-uid'); var quota = $(this).val(); - setQuota(uid, quota); + setQuota(uid, quota, function(returnedQuota){ + if (quota !== returnedQuota) { + $(quotaSelect).find(':selected').text(returnedQuota); + } + }); }); }, // From http://my.opera.com/GreyWyvern/blog/show.dml/1671288 @@ -428,9 +432,14 @@ $(document).ready(function () { }); $('select.quota, select.quota-user').singleSelect().on('change', function () { + var select = $(this); var uid = $(this).parent().parent().attr('data-uid'); var quota = $(this).val(); - setQuota(uid, quota); + setQuota(uid, quota, function(returnedQuota){ + if (quota !== returnedQuota) { + select.find(':selected').text(returnedQuota); + } + }); }); $('#newuser').submit(function (event) { diff --git a/settings/templates/users.php b/settings/templates/users.php index b556ef4b92e6b4c7dc16a7ebd5045ad8cf038bc5..f9d4f6ada5eaf2b0484f2d64fd28c85e2ba3ba4c 100644 --- a/settings/templates/users.php +++ b/settings/templates/users.php @@ -41,7 +41,7 @@ $_['subadmingroups'] = array_flip($items); <div class="quota"> <span><?php p($l->t('Default Storage'));?></span> <?php if((bool) $_['isadmin']): ?> - <select class='quota'> + <select class='quota' data-inputtitle="<?php p($l->t('Please enter storage quota (ex: "512 MB" or "12 GB")')) ?>"> <option <?php if($_['default_quota'] === 'none') print_unescaped('selected="selected"');?> value='none'> @@ -136,7 +136,7 @@ $_['subadmingroups'] = array_flip($items); </td> <?php endif;?> <td class="quota"> - <select class='quota-user'> + <select class='quota-user' data-inputtitle="<?php p($l->t('Please enter storage quota (ex: "512 MB" or "12 GB")')) ?>"> <option <?php if($user['quota'] === 'default') print_unescaped('selected="selected"');?> value='default'>