app/assets/javascripts/jqr-helpers.js in jqr-helpers-1.0.3 vs app/assets/javascripts/jqr-helpers.js in jqr-helpers-1.0.4
- old
+ new
@@ -188,47 +188,56 @@
}
});
return false;
}
- $(function() {
- $('.ujs-tab-container', this).each(function() {
+ function ujsLoadPlugins(event) {
+ $('.ujs-date-picker', event.target).each(function() {
+ var options = $(this).data('date-options');
+ $(this).datepicker(options);
+ });
+ $('.ujs-tab-container', event.target).each(function() {
var options = $(this).data('tab-options');
options = $.extend(options, {
- beforeLoad: function(event, ui) {
- if (ui.tab.data('loaded')) {
- event.preventDefault();
- return;
+ beforeLoad: function(event, ui) {
+ if (ui.tab.data('loaded')) {
+ event.preventDefault();
+ return;
+ }
+ ui.jqXHR.success(function() {
+ ui.tab.data('loaded', true);
+ });
+ $(ui.panel).html('Loading...');
+ ui.jqXHR.fail(function(jqXHR, textStatus, errorThrown) {
+ ui.panel.html('Error loading the tab: ' + errorThrown);
+ });
}
- ui.jqXHR.success(function() {
- ui.tab.data('loaded', true);
- });
- $(ui.panel).html('Loading...');
- ui.jqXHR.fail(function(jqXHR, textStatus, errorThrown) {
- ui.panel.html('Error loading the tab: ' + errorThrown);
- });
- }
- });
+ });
$(this).tabs(options);
});
+ }
+ $(function() {
if ($().on) { // newer jQueries
+ $(document).on('jqr.load', ujsLoadPlugins);
$(document).on('click', '.ujs-dialog', ujsDialogClick);
$(document).on('click', '.ujs-dialog-close, .ujs-dialog-x',
ujsDialogCloseClick);
$(document).on('ajax:beforeSend', '.ujs-ajax', ujsAjaxBeforeSend);
$(document).on('ajax:success', '.ujs-ajax', ujsAjaxSuccess);
$(document).on('ajax:error', '.ujs-ajax', ujsAjaxError);
$(document).on('click', '[data-ujs-confirm=true]', ujsConfirmClick);
}
else {
+ $(document).live('jrq.load', ujsLoadPlugins);
$('.ujs-dialog').live('click', ujsDialogClick);
$('.ujs-dialog-close, .ujs-dialog-x').live('click', ujsDialogCloseClick);
$('.ujs-ajax').live('ajax:beforeSend', ujsAjaxBeforeSend);
$('.ujs-ajax').live('ajax:success', ujsAjaxSuccess);
$('.ujs-ajax').live('ajax:error', ujsAjaxError);
$('[data-ujs-confirm=true]').live('click', ujsConfirmClick);
}
+ $('body').trigger('jqr.load');
});
}(jQuery));