From 7f6bf343621bd30e6758cce078e588c4be12b9ec Mon Sep 17 00:00:00 2001 From: Regis Houssin Date: Tue, 4 Sep 2012 09:38:38 +0200 Subject: [PATCH] Try to use blockUI --- htdocs/core/js/blockUI.js | 161 ++++++++++++------------------ htdocs/core/lib/functions.lib.php | 2 +- htdocs/main.inc.php | 2 +- htdocs/theme/eldy/style.css.php | 15 ++- 4 files changed, 79 insertions(+), 101 deletions(-) diff --git a/htdocs/core/js/blockUI.js b/htdocs/core/js/blockUI.js index e35f30deeda..9be6eaa4de1 100644 --- a/htdocs/core/js/blockUI.js +++ b/htdocs/core/js/blockUI.js @@ -22,100 +22,69 @@ // Examples $(document).ready(function() { - // override these in your code to change the default behavior and style - $.blockUI.defaults = { - // message displayed when blocking (use null for no message) - message: '

Please wait...

', - - // styles for the message when blocking; if you wish to disable - // these and use an external stylesheet then do this in your code: - // $.blockUI.defaults.css = {}; - css: { - padding: 0, - margin: 0, - width: '30%', - top: '40%', - left: '35%', - textAlign: 'center', - color: '#000', - border: '3px solid #aaa', - backgroundColor:'#fff', - cursor: 'wait' - }, - - // styles for the overlay - overlayCSS: { - backgroundColor: '#000', - opacity: 0.6 - }, - - // styles applied when using $.growlUI - growlCSS: { - width: '350px', - top: '10px', - left: '', - right: '10px', - border: 'none', - padding: '5px', - opacity: 0.6, - cursor: null, - color: '#fff', - backgroundColor: '#000', - '-webkit-border-radius': '10px', - '-moz-border-radius': '10px' - }, - - // IE issues: 'about:blank' fails on HTTPS and javascript:false is s-l-o-w - // (hat tip to Jorge H. N. de Vasconcelos) - iframeSrc: /^https/i.test(window.location.href || '') ? 'javascript:false' : 'about:blank', - - // force usage of iframe in non-IE browsers (handy for blocking applets) - forceIframe: false, - - // z-index for the blocking overlay - baseZ: 1000, - - // set these to true to have the message automatically centered - centerX: true, // <-- only effects element blocking (page block controlled via css above) - centerY: true, - - // allow body element to be stetched in ie6; this makes blocking look better - // on "short" pages. disable if you wish to prevent changes to the body height - allowBodyStretch: true, - - // enable if you want key and mouse events to be disabled for content that is blocked - bindEvents: true, - - // be default blockUI will supress tab navigation from leaving blocking content - // (if bindEvents is true) - constrainTabKey: true, - - // fadeIn time in millis; set to 0 to disable fadeIn on block - fadeIn: 200, - - // fadeOut time in millis; set to 0 to disable fadeOut on unblock - fadeOut: 400, - - // time in millis to wait before auto-unblocking; set to 0 to disable auto-unblock - timeout: 0, - - // disable if you don't want to show the overlay - showOverlay: true, - - // if true, focus will be placed in the first available input field when - // page blocking - focusInput: true, - - // suppresses the use of overlay styles on FF/Linux (due to performance issues with opacity) - applyPlatformOpacityRules: true, - - // callback method invoked when unblocking has completed; the callback is - // passed the element that has been unblocked (which is the window object for page - // blocks) and the options that were passed to the unblock call: - // onUnblock(element, options) - onUnblock: null, - - // don't ask; if you really must know: http://groups.google.com/group/jquery-en/browse_thread/thread/36640a8730503595/2f6a79a77a78e493#2f6a79a77a78e493 - quirksmodeOffsetHack: 4 - }; + // override these in your code to change the default behavior and style + $.blockUI.defaults = { + + // styles applied when using $.growlUI + dolEventValidCSS: { + width: '350px', + top: '10px', + left: '', + right: '10px', + border: 'none', + padding: '5px', + opacity: 0.8, + cursor: 'default', + color: '#fff', + backgroundColor: '#e3f0db', + '-webkit-border-radius': '10px', + '-moz-border-radius': '10px', + 'border-radius': '10px' + }, + + // styles applied when using $.growlUI + dolEventErrorCSS: { + width: '350px', + top: '10px', + left: '', + right: '10px', + border: 'none', + padding: '5px', + opacity: 0.8, + cursor: 'default', + color: '#a72947', + backgroundColor: '#d79eac', + '-webkit-border-radius': '10px', + '-moz-border-radius': '10px', + 'border-radius': '10px' + } + + }; + + $.dolEventValid = function(title, message, timeout, onClose) { + var $m = $('
'); + if (title) $m.append('

'+title+'

'); + if (message) $m.append('

'+message+'

'); + if (timeout == undefined) timeout = 3000; + $.blockUI({ + message: $m, fadeIn: 200, fadeOut: 700, centerY: false, + timeout: timeout, showOverlay: false, + onUnblock: onClose, + css: $.blockUI.defaults.dolEventValidCSS + }); + }; + + $.dolEventError = function(title, message, timeout, onClose) { + var $m = $('
'); + if (title) $m.append('

'+title+'

'); + if (message) $m.append('

'+message+'

'); + if (timeout == undefined) timeout = 0; + $.blockUI({ + message: $m, fadeIn: 200, centerY: false, + timeout: timeout, showOverlay: false, + onUnblock: onClose, + css: $.blockUI.defaults.dolEventErrorCSS + }); + $('.dolEventError').click($.unblockUI); + }; }); \ No newline at end of file diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index 9c361e6ce82..dacce61e572 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -3595,7 +3595,7 @@ function get_htmloutput_mesg($mesgstring='',$mesgarray='', $style='ok', $keepemb $(document).ready(function() { var block = '.(! empty($conf->global->MAIN_USE_JQUERY_BLOCKUI)?"true":"false").' if (block) { - $.growlUI("'.dol_escape_js($out).'"); + $.dolEventValid("","'.dol_escape_js($out).'"); } else { $.jnotify("'.dol_escape_js($out).'", "'.($style=="ok" ? 3000 : $style).'", diff --git a/htdocs/main.inc.php b/htdocs/main.inc.php index 7f875292d12..c756301a762 100644 --- a/htdocs/main.inc.php +++ b/htdocs/main.inc.php @@ -967,7 +967,7 @@ function top_htmlhead($head, $title='', $disablejs=0, $disablehead=0, $arrayofjs if (! empty($conf->global->MAIN_USE_JQUERY_BLOCKUI)) { print ''."\n"; - //print ''."\n"; + print ''."\n"; } // Flot if (empty($conf->global->MAIN_DISABLE_JQUERY_FLOT)) diff --git a/htdocs/theme/eldy/style.css.php b/htdocs/theme/eldy/style.css.php index 7e63421388f..59f69c29dc6 100644 --- a/htdocs/theme/eldy/style.css.php +++ b/htdocs/theme/eldy/style.css.php @@ -2514,9 +2514,18 @@ div.jnotify-background { /* blockUI */ /* ============================================================================== */ -div.growlUI { background: url(check48.png) no-repeat 10px 10px } -div.growlUI h1, div.growlUI h2 { - color: white; padding: 5px 5px 5px 75px; text-align: left +/*div.growlUI { background: url(check48.png) no-repeat 10px 10px }*/ +div.dolEventValid h1, div.dolEventValid h2 { + color: #567b1b; + background-color: #e3f0db; + padding: 5px 5px 5px 5px; + text-align: left; +} +div.dolEventError h1, div.dolEventError h2 { + color: #a72947; + background-color: #d79eac; + padding: 5px 5px 5px 5px; + text-align: left; } /* ============================================================================== */