diff --git a/addons/web/__openerp__.py b/addons/web/__openerp__.py index 9e8e258dedc..4051e607e21 100644 --- a/addons/web/__openerp__.py +++ b/addons/web/__openerp__.py @@ -20,6 +20,7 @@ "static/lib/jquery.form/jquery.form.js", "static/lib/jquery.validate/jquery.validate.js", "static/lib/jquery.ba-bbq/jquery.ba-bbq.js", + "static/lib/spinjs/spin.js", "static/lib/jquery.blockUI/jquery.blockUI.js", "static/lib/jquery.ui/js/jquery-ui-1.8.17.custom.min.js", "static/lib/jquery.ui.timepicker/js/jquery-ui-timepicker-addon.js", diff --git a/addons/web/static/src/img/throbber.gif b/addons/web/static/src/img/throbber.gif index 7ab8346ce09..ded8d36d486 100644 Binary files a/addons/web/static/src/img/throbber.gif and b/addons/web/static/src/img/throbber.gif differ diff --git a/addons/web/static/src/js/coresetup.js b/addons/web/static/src/js/coresetup.js index 9d365a0a2b3..24441dc509f 100644 --- a/addons/web/static/src/js/coresetup.js +++ b/addons/web/static/src/js/coresetup.js @@ -550,14 +550,38 @@ $.async_when = function() { /** Setup blockui */ if ($.blockUI) { $.blockUI.defaults.baseZ = 1100; - $.blockUI.defaults.message = ''; + $.blockUI.defaults.message = '
'; $.blockUI.defaults.css.border = '0'; $.blockUI.defaults.css["background-color"] = ''; + $.blockUI.spinners = []; } instance.web.blockUI = function() { - $.blockUI.apply($, arguments); + var tmp = $.blockUI.apply($, arguments); + var target = $(".oe_blockui_spin")[0]; + var opts = { + lines: 13, // The number of lines to draw + length: 7, // The length of each line + width: 4, // The line thickness + radius: 10, // The radius of the inner circle + rotate: 0, // The rotation offset + color: '#FFF', // #rgb or #rrggbb + speed: 1, // Rounds per second + trail: 60, // Afterglow percentage + shadow: false, // Whether to render a shadow + hwaccel: false, // Whether to use hardware acceleration + className: 'spinner', // The CSS class to assign to the spinner + zIndex: 2e9, // The z-index (defaults to 2000000000) + top: 'auto', // Top position relative to parent in px + left: 'auto' // Left position relative to parent in px + }; + var spinner = new Spinner(opts).spin(target); + $.blockUI.spinners.push(spinner); + return tmp; } instance.web.unblockUI = function() { + _.each($.blockUI.spinners, function(el) { + el.stop(); + }); return $.unblockUI.apply($, arguments); }