|
232 | 232 | .click(function(ev) {
|
233 | 233 | ev.preventDefault();
|
234 | 234 | var panel = $(this).parents(".accordion-body")[0];
|
235 |
| - var next = "#" + $(".accordion-body", |
236 |
| - $(panel).parents(".accordion-group") |
237 |
| - .next(".accordion-group")[0])[0].id; |
238 |
| - $(next).collapse("show"); |
239 |
| - hook('onNext', panel); |
| 235 | + var resp = hook('beforeNext', panel); |
| 236 | + if(resp) { |
| 237 | + var next = "#" + $(".accordion-body", |
| 238 | + $(panel).parents(".accordion-group") |
| 239 | + .next(".accordion-group")[0])[0].id; |
| 240 | + $(next).collapse("show"); |
| 241 | + hook('onNext', panel); |
| 242 | + } |
240 | 243 | });
|
241 |
| - |
| 244 | + |
242 | 245 | // When the user clicks the "Back" button in
|
243 | 246 | // any panel, retrurn to the previous panel.
|
244 |
| - |
| 247 | + |
245 | 248 | $("."+options.stepClass,$el)
|
246 | 249 | .children("button[type='"+options.backType+"']")
|
247 | 250 | .click(function(ev) {
|
248 | 251 | ev.preventDefault();
|
249 | 252 | var panel = $(this).parents(".accordion-body")[0];
|
250 |
| - var prev = "#" + $(".accordion-body", |
251 |
| - $(panel).parents(".accordion-group") |
252 |
| - .prev(".accordion-group")[0])[0].id; |
253 |
| - $(prev).collapse("show"); |
254 |
| - hook('onPrev', panel); |
| 253 | + var resp = hook('beforeBack', panel); |
| 254 | + if(resp) { |
| 255 | + var prev = "#" + $(".accordion-body", |
| 256 | + $(panel).parents(".accordion-group") |
| 257 | + .prev(".accordion-group")[0])[0].id; |
| 258 | + $(prev).collapse("show"); |
| 259 | + hook('onPrev', panel); |
| 260 | + } |
255 | 261 | });
|
256 | 262 | }
|
257 | 263 |
|
|
282 | 288 | // hookName: function() {}
|
283 | 289 | // Then somewhere in the plugin trigger the callback:
|
284 | 290 | // hook('hookName');
|
285 |
| - |
| 291 | + |
286 | 292 | function hook(hookName) {
|
287 | 293 | if (options[hookName] !== undefined) {
|
288 | 294 | // Call the user defined function.
|
289 | 295 | // Scope is set to the jQuery element we are operating on.
|
290 | 296 | var fn = options[hookName];
|
291 | 297 | arguments[0] = el;
|
292 |
| - fn.apply(this, arguments); |
| 298 | + return fn.apply(this, arguments); |
293 | 299 | }
|
294 | 300 | }
|
295 | 301 |
|
|
0 commit comments