mirror of
https://github.com/TracksApp/tracks.git
synced 2025-12-20 01:00:13 +01:00
Installing jrails
This commit is contained in:
parent
66de0f9fd8
commit
be43b3ded8
20 changed files with 1269 additions and 0 deletions
197
vendor/plugins/jrails/javascripts/sources/jrails.js
vendored
Normal file
197
vendor/plugins/jrails/javascripts/sources/jrails.js
vendored
Normal file
|
|
@ -0,0 +1,197 @@
|
|||
/*
|
||||
*
|
||||
* jRails ajax extras
|
||||
* version 0.1
|
||||
* <aaron@ennerchi.com> | http://www.ennerchi.com
|
||||
*
|
||||
*/
|
||||
|
||||
(function($) {
|
||||
$.ajaxSettings.accepts._default = "text/javascript, text/html, application/xml, text/xml, */*";
|
||||
})(jQuery);
|
||||
|
||||
|
||||
/*
|
||||
*
|
||||
* jRails form extras
|
||||
* <aaron@ennerchi.com> | http://www.ennerchi.com
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
(function($) {
|
||||
// reset a form
|
||||
$.fn.reset = function() {
|
||||
return this.each(function() {
|
||||
// guard against an input with the name of 'reset'
|
||||
// note that IE reports the reset function as an 'object'
|
||||
if (typeof this.reset == 'function' || (typeof this.reset == 'object' && !this.reset.nodeType))
|
||||
this.reset();
|
||||
});
|
||||
};
|
||||
// enable a form element
|
||||
$.fn.enable = function() {
|
||||
return this.each(function() {
|
||||
this.disabled = false;
|
||||
});
|
||||
};
|
||||
// disable a form element
|
||||
$.fn.disable = function() {
|
||||
return this.each(function() {
|
||||
this.disabled = true;
|
||||
});
|
||||
};
|
||||
|
||||
})(jQuery);
|
||||
|
||||
/*
|
||||
*
|
||||
* jRails form observer plugin
|
||||
* version 0.2
|
||||
* <aaron@ennerchi.com> | http://www.ennerchi.com
|
||||
*
|
||||
*/
|
||||
|
||||
(function($) {
|
||||
$.extend({ // Translate field to event
|
||||
fieldEvent: function(el, obs) {
|
||||
var field = el[0] || el, e = 'change';
|
||||
if (field.type == 'radio' || field.type == 'checkbox') e = 'click';
|
||||
else if (obs && (field.type == 'text' || field.type == 'textarea' || field.type == 'password')) e = 'keyup';
|
||||
return e;
|
||||
}
|
||||
});
|
||||
$.fn.extend({ // Delayed observer for fields and forms
|
||||
delayedObserver: function(delay, callback){
|
||||
var el = $(this);
|
||||
if (typeof window.delayedObserverStack == 'undefined') window.delayedObserverStack = [];
|
||||
if (typeof window.delayedObserverCallback == 'undefined') {
|
||||
window.delayedObserverCallback = function(stackPos) {
|
||||
var observed = window.delayedObserverStack[stackPos];
|
||||
if (observed.timer) clearTimeout(observed.timer);
|
||||
observed.timer = setTimeout(function(){
|
||||
observed.timer = null;
|
||||
observed.callback(observed.obj, observed.obj.formVal());
|
||||
}, observed.delay * 1000);
|
||||
observed.oldVal = observed.obj.formVal();
|
||||
};
|
||||
}
|
||||
window.delayedObserverStack.push({
|
||||
obj: el, timer: null, delay: delay,
|
||||
oldVal: el.formVal(), callback: callback
|
||||
});
|
||||
var stackPos = window.delayedObserverStack.length-1;
|
||||
if (el[0].tagName == 'FORM') {
|
||||
$(':input', el).each(function(){
|
||||
var field = $(this);
|
||||
field.bind($.fieldEvent(field, delay), function(){
|
||||
var observed = window.delayedObserverStack[stackPos];
|
||||
if (observed.obj.formVal() == observed.oldVal) return;
|
||||
else window.delayedObserverCallback(stackPos);
|
||||
});
|
||||
});
|
||||
} else {
|
||||
el.bind($.fieldEvent(el, delay), function(){
|
||||
var observed = window.delayedObserverStack[stackPos];
|
||||
if (observed.obj.formVal() == observed.oldVal) return;
|
||||
else window.delayedObserverCallback(stackPos);
|
||||
});
|
||||
};
|
||||
},
|
||||
formVal: function() { // Gets form values
|
||||
var el = this[0];
|
||||
if(el.tagName == 'FORM') return this.serialize();
|
||||
if(el.type == 'checkbox' || el.type == 'radio') return this.filter('input:checked').val() || '';
|
||||
else return this.val();
|
||||
}
|
||||
});
|
||||
})(jQuery);
|
||||
|
||||
/*
|
||||
*
|
||||
* jRails visual effects stubs
|
||||
* version 0.2
|
||||
* <aaron@ennerchi.com> | http://www.ennerchi.com
|
||||
*
|
||||
*/
|
||||
|
||||
(function($) {
|
||||
$.fn.extend({
|
||||
visualEffect : function(o, options) {
|
||||
if (options) {
|
||||
speed = options.duration * 1000;
|
||||
} else {
|
||||
speed = null;
|
||||
}
|
||||
e = o.replace(/\_(.)/g, function(m, l){return l.toUpperCase()});
|
||||
return eval('$(this).'+e+'('+ speed + ')');
|
||||
},
|
||||
appear : function(speed, callback) {
|
||||
return this.fadeIn(speed, callback);
|
||||
},
|
||||
blindDown : function(speed, callback) {
|
||||
return this.show('blind', { direction: 'vertical' }, speed, callback);
|
||||
},
|
||||
blindUp : function(speed, callback) {
|
||||
return this.hide('blind', { direction: 'vertical' }, speed, callback);
|
||||
},
|
||||
blindRight : function(speed, callback) {
|
||||
return this.show('blind', { direction: 'horizontal' }, speed, callback);
|
||||
},
|
||||
blindLeft : function(speed, callback) {
|
||||
this.hide('blind', { direction: 'horizontal' }, speed, callback);
|
||||
return this;
|
||||
},
|
||||
dropOut : function(speed, callback) {
|
||||
return this.hide('drop', {direction: 'down' }, speed, callback);
|
||||
},
|
||||
dropIn : function(speed, callback) {
|
||||
return this.show('drop', { direction: 'up' }, speed, callback);
|
||||
},
|
||||
fade : function(speed, callback) {
|
||||
return this.fadeOut(speed, callback);
|
||||
},
|
||||
fadeToggle : function(speed, callback) {
|
||||
return this.animate({opacity: 'toggle'}, speed, callback);
|
||||
},
|
||||
fold : function(speed, callback) {
|
||||
return this.hide('fold', {}, speed, callback);
|
||||
},
|
||||
foldOut : function(speed, callback) {
|
||||
return this.show('fold', {}, speed, callback);
|
||||
},
|
||||
grow : function(speed, callback) {
|
||||
return this.show('scale', {}, speed, callback);
|
||||
},
|
||||
highlight : function(speed, callback) {
|
||||
return this.show('highlight', {}, speed, callback);
|
||||
},
|
||||
puff : function(speed, callback) {
|
||||
return this.hide('puff', {}, speed, callback);
|
||||
},
|
||||
pulsate : function(speed, callback) {
|
||||
return this.show('pulsate', {}, speed, callback);
|
||||
},
|
||||
shake : function(speed, callback) {
|
||||
return this.show('shake', {}, speed, callback);
|
||||
},
|
||||
shrink : function(speed, callback) {
|
||||
return this.hide('scale', {}, speed, callback);
|
||||
},
|
||||
squish : function(speed, callback) {
|
||||
return this.hide('scale', { origin: ['top', 'left'] }, speed, callback);
|
||||
},
|
||||
slideUp : function(speed, callback) {
|
||||
return this.hide('slide', { direction: 'up'}, speed, callback);
|
||||
},
|
||||
slideDown : function(speed, callback) {
|
||||
return this.show('slide', { direction: 'up'}, speed, callback);
|
||||
},
|
||||
switchOff : function(speed, callback) {
|
||||
return this.hide('clip', {}, speed, callback);
|
||||
},
|
||||
switchOn : function(speed, callback) {
|
||||
return this.show('clip', {}, speed, callback);
|
||||
}
|
||||
});
|
||||
})(jQuery);
|
||||
Loading…
Add table
Add a link
Reference in a new issue