aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/generators/rails/app/templates/public/javascripts/jquery.compat.js
diff options
context:
space:
mode:
Diffstat (limited to 'railties/lib/generators/rails/app/templates/public/javascripts/jquery.compat.js')
-rw-r--r--railties/lib/generators/rails/app/templates/public/javascripts/jquery.compat.js34
1 files changed, 34 insertions, 0 deletions
diff --git a/railties/lib/generators/rails/app/templates/public/javascripts/jquery.compat.js b/railties/lib/generators/rails/app/templates/public/javascripts/jquery.compat.js
new file mode 100644
index 0000000000..38dcfad761
--- /dev/null
+++ b/railties/lib/generators/rails/app/templates/public/javascripts/jquery.compat.js
@@ -0,0 +1,34 @@
+jQuery(function ($) {
+ function evalAttribute(element, attribute) {
+ var el = $(element);
+ var attr = el.attr('data-' + attribute);
+
+ if(attr) {
+ eval(attr);
+ }
+ }
+
+ $('form[data-remote="true"]')
+ .live('before', function (e) {
+ evalAttribute(this, 'onbefore');
+ })
+ .live('after', function (e, xhr) {
+ evalAttribute(this, 'onafter');
+ })
+ .live('loading', function (e, xhr) {
+ evalAttribute(this, 'onloading');
+ })
+ .live('loaded', function (e, xhr) {
+ evalAttribute(this, 'onloaded');
+ })
+ .live('complete', function (e, xhr) {
+ evalAttribute(this, 'oncomplete');
+ evalAttribute(this, 'on' + xhr.status);
+ })
+ .live('success', function (e, data, status, xhr) {
+ evalAttribute(this, 'onsuccess');
+ })
+ .live('failure', function (e, xhr, status, error) {
+ evalAttribute(this, 'onfailure');
+ });
+});