]> source.dussan.org Git - nextcloud-server.git/commitdiff
Improve quota input field
authorVincent Petry <pvince81@owncloud.com>
Wed, 30 Oct 2013 19:45:47 +0000 (20:45 +0100)
committerVincent Petry <pvince81@owncloud.com>
Wed, 30 Oct 2013 19:46:53 +0000 (20:46 +0100)
- Added tooltip with examples
- The quota value returned by the server is now displayed after update
- Fixes #5346

core/js/singleselect.js
settings/js/users.js
settings/templates/users.php

index 1a018b7414872b3a740e7adf26d63d5ea7f1fc0f..0b7fc20a8f03a72a550b891fbf0ebea3b70977ef 100644 (file)
@@ -1,8 +1,15 @@
 (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);
+                       if ($.fn.tipsy){
+                               input.tipsy({gravity: 'n', trigger: 'manual'});
+                       }
                        input.css('position', 'absolute');
                        input.css(select.offset());
                        input.css({
@@ -29,6 +36,9 @@
                                } else {
                                        event.stopImmediatePropagation();
                                        input.show();
+                                       if ($.fn.tipsy){
+                                               input.tipsy('show');
+                                       }
                                        select.css('background-color', 'white');
                                        input.focus();
                                }
@@ -70,6 +80,9 @@
 
                        input.on('blur', function () {
                                $(this).change();
+                               if ($.fn.tipsy){
+                                       $(this).tipsy('hide');
+                               }
                        });
                });
        }
index 4c2ad5417ca5531c8c24ce6dd12db35c861c2aed..6222c0e70cd687c8101faaf79916c1e4d61930f8 100644 (file)
@@ -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) {
index b556ef4b92e6b4c7dc16a7ebd5045ad8cf038bc5..3c7bfd9f031a47e75025bff5779a03a3c11dccde 100644 (file)
@@ -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'>