|
83 | 83 | var $el = $(this); |
84 | 84 | if (fullOpts.ignoreIfBlocked && $el.data('blockUI.isBlocked')) |
85 | 85 | return; |
| 86 | + if (fullOpts.blockCounting) |
| 87 | + return; |
86 | 88 | $el.unblock({ fadeOut: 0 }); |
87 | 89 | }); |
88 | 90 |
|
|
118 | 120 | draggable: true, // only used when theme == true (requires jquery-ui.js to be loaded) |
119 | 121 |
|
120 | 122 | theme: false, // set to true to use with jQuery UI themes |
| 123 | + |
| 124 | + blockCounting: false, |
121 | 125 |
|
122 | 126 | // styles for the message when blocking; if you wish to disable |
123 | 127 | // these and use an external stylesheet then do this in your code: |
|
256 | 260 | if (opts.ignoreIfBlocked && $(el).data('blockUI.isBlocked')) |
257 | 261 | return; |
258 | 262 |
|
| 263 | + if (opts.blockCounting) { |
| 264 | + var blockCount = $(el).data('blockUI.blockCount'); |
| 265 | + if (blockCount == undefined) blockCount = 0; |
| 266 | + blockCount++; |
| 267 | + $(el).data('blockUI.blockCount', blockCount); |
| 268 | + if (blockCount > 1) |
| 269 | + return; |
| 270 | + } |
| 271 | + |
259 | 272 | opts.overlayCSS = $.extend({}, $.blockUI.defaults.overlayCSS, opts.overlayCSS || {}); |
260 | 273 | css = $.extend({}, $.blockUI.defaults.css, opts.css || {}); |
261 | 274 | if (opts.onOverlayClick) |
|
465 | 478 | $el.removeData('blockUI.timeout'); |
466 | 479 | } |
467 | 480 | opts = $.extend({}, $.blockUI.defaults, opts || {}); |
| 481 | + |
| 482 | + if (opts.blockCounting) { |
| 483 | + var blockCount = $(el).data('blockUI.blockCount'); |
| 484 | + if (blockCount == undefined) blockCount = 0; |
| 485 | + else blockCount--; |
| 486 | + $(el).data('blockUI.blockCount', blockCount); |
| 487 | + if (blockCount > 0) |
| 488 | + return; |
| 489 | + } |
| 490 | + |
468 | 491 | bind(0, el, opts); // unbind events |
469 | 492 |
|
470 | 493 | if (opts.onUnblock === null) { |
|
0 commit comments