Movie search
Profile Settings
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
/*
|
||||
---
|
||||
|
||||
name: EventStack
|
||||
|
||||
description: Helps you Escape.
|
||||
|
||||
authors: Christoph Pojer (@cpojer)
|
||||
|
||||
license: MIT-style license.
|
||||
|
||||
requires: [Core/Class.Extras, Core/Element.Event, Class-Extras/Class.Binds]
|
||||
|
||||
provides: EventStack
|
||||
|
||||
...
|
||||
*/
|
||||
|
||||
(function(){
|
||||
|
||||
this.EventStack = new Class({
|
||||
|
||||
Implements: [Options, Class.Binds],
|
||||
|
||||
options: {
|
||||
event: 'keyup',
|
||||
condition: function(event){
|
||||
return (event.key == 'esc');
|
||||
}
|
||||
},
|
||||
|
||||
initialize: function(options){
|
||||
this.setOptions(options);
|
||||
this.stack = [];
|
||||
this.data = [];
|
||||
|
||||
document.addEvent(this.options.event, this.bound('condition'));
|
||||
},
|
||||
|
||||
condition: function(event){
|
||||
if (this.options.condition.call(this, event, this.data.getLast()))
|
||||
this.pop(event);
|
||||
},
|
||||
|
||||
erase: function(fn){
|
||||
this.data.erase(this.data[this.stack.indexOf(fn)]);
|
||||
this.stack.erase(fn);
|
||||
|
||||
return this;
|
||||
},
|
||||
|
||||
push: function(fn, data){
|
||||
this.erase(fn);
|
||||
this.data.push(data || null);
|
||||
this.stack.push(fn);
|
||||
|
||||
return this;
|
||||
},
|
||||
|
||||
pop: function(event){
|
||||
var fn = this.stack.pop(),
|
||||
data = this.data.pop();
|
||||
|
||||
if (fn) fn.call(this, event, data);
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
}).call(this);
|
||||
@@ -0,0 +1,30 @@
|
||||
/*
|
||||
---
|
||||
|
||||
name: EventStack.OuterClick
|
||||
|
||||
description: Helps you escape from clicks outside of a certain area.
|
||||
|
||||
authors: Christoph Pojer (@cpojer)
|
||||
|
||||
license: MIT-style license.
|
||||
|
||||
requires: [EventStack]
|
||||
|
||||
provides: EventStack.OuterClick
|
||||
|
||||
...
|
||||
*/
|
||||
|
||||
EventStack.OuterClick = new Class({
|
||||
|
||||
Extends: EventStack,
|
||||
|
||||
options: {
|
||||
event: 'click',
|
||||
condition: function(event, element){
|
||||
return element && !element.contains(event.target);
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
@@ -0,0 +1,176 @@
|
||||
// packager build History/*
|
||||
/*
|
||||
---
|
||||
|
||||
name: Class.Binds
|
||||
|
||||
description: Alternate Class.Binds Implementation
|
||||
|
||||
authors: Scott Kyle (@appden), Christoph Pojer (@cpojer)
|
||||
|
||||
license: MIT-style license.
|
||||
|
||||
requires: [Core/Class, Core/Function]
|
||||
|
||||
provides: Class.Binds
|
||||
|
||||
...
|
||||
*/
|
||||
|
||||
Class.Binds = new Class({
|
||||
|
||||
$bound: {},
|
||||
|
||||
bound: function(name){
|
||||
return this.$bound[name] ? this.$bound[name] : this.$bound[name] = this[name].bind(this);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
/*
|
||||
---
|
||||
|
||||
name: History
|
||||
|
||||
description: History Management via popstate or hashchange.
|
||||
|
||||
authors: Christoph Pojer (@cpojer)
|
||||
|
||||
license: MIT-style license.
|
||||
|
||||
requires: [Core/Events, Core/Element.Event, Class-Extras/Class.Binds]
|
||||
|
||||
provides: History
|
||||
|
||||
...
|
||||
*/
|
||||
|
||||
(function(){
|
||||
|
||||
var events = Element.NativeEvents,
|
||||
location = window.location,
|
||||
base = location.pathname,
|
||||
history = window.history,
|
||||
hasPushState = ('pushState' in history),
|
||||
event = hasPushState ? 'popstate' : 'hashchange';
|
||||
|
||||
this.History = new new Class({
|
||||
|
||||
Implements: [Class.Binds, Events],
|
||||
|
||||
initialize: hasPushState ? function(){
|
||||
events[event] = 2;
|
||||
window.addEvent(event, this.bound('pop'));
|
||||
} : function(){
|
||||
events[event] = 1;
|
||||
window.addEvent(event, this.bound('pop'));
|
||||
|
||||
this.hash = location.hash;
|
||||
var hashchange = ('onhashchange' in window);
|
||||
if (!(hashchange && (document.documentMode === undefined || document.documentMode > 7)))
|
||||
this.timer = this.check.periodical(200, this);
|
||||
},
|
||||
|
||||
push: hasPushState ? function(url, title, state){
|
||||
if (base && base != url) base = null;
|
||||
|
||||
history.pushState(state || null, title || null, url);
|
||||
this.onChange(url, state);
|
||||
} : function(url){
|
||||
location.hash = url;
|
||||
},
|
||||
|
||||
replace: hasPushState ? function(url, title, state){
|
||||
history.replaceState(state || null, title || null, url);
|
||||
} : function(url){
|
||||
this.hash = '#' + url;
|
||||
this.push(url);
|
||||
},
|
||||
|
||||
pop: hasPushState ? function(event){
|
||||
var url = location.pathname;
|
||||
if (url == base){
|
||||
base = null;
|
||||
return;
|
||||
}
|
||||
this.onChange(url, event.event.state);
|
||||
} : function(){
|
||||
var hash = location.hash;
|
||||
if (this.hash == hash) return;
|
||||
|
||||
this.hash = hash;
|
||||
this.onChange(hash.substr(1));
|
||||
},
|
||||
|
||||
onChange: function(url, state){
|
||||
this.fireEvent('change', [url, state || {}]);
|
||||
},
|
||||
|
||||
back: function(){
|
||||
history.back();
|
||||
},
|
||||
|
||||
forward: function(){
|
||||
history.forward();
|
||||
},
|
||||
|
||||
getPath: function(){
|
||||
return hasPushState ? location.pathname : location.hash.substr(1);
|
||||
},
|
||||
|
||||
hasPushState: function(){
|
||||
return hasPushState;
|
||||
},
|
||||
|
||||
check: function(){
|
||||
if (this.hash != location.hash) this.pop();
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
})();
|
||||
|
||||
|
||||
/*
|
||||
---
|
||||
|
||||
name: History.handleInitialState
|
||||
|
||||
description: Provides a helper method to handle the initial state of your application.
|
||||
|
||||
authors: Christoph Pojer (@cpojer)
|
||||
|
||||
license: MIT-style license.
|
||||
|
||||
requires: [History]
|
||||
|
||||
provides: History.handleInitialState
|
||||
|
||||
...
|
||||
*/
|
||||
|
||||
History.handleInitialState = function(base){
|
||||
if (!base) base = '';
|
||||
var location = window.location,
|
||||
pathname = location.pathname.substr(base.length),
|
||||
hash = location.hash,
|
||||
hasPushState = History.hasPushState();
|
||||
|
||||
if (!hasPushState && pathname.length > 1){
|
||||
window.location = (base || '/') + '#' + pathname;
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!hash || hash.length <= 1) return false;
|
||||
if (hasPushState){
|
||||
(function(){
|
||||
History.push(hash.substr(1));
|
||||
}).delay(1);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!pathname || pathname == '/') return false;
|
||||
window.location = (base || '/') + hash;
|
||||
return true;
|
||||
};
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,140 @@
|
||||
/*
|
||||
---
|
||||
name: Fx.Tween.CSS3.Replacement
|
||||
script: Fx.Tween.CSS3.Replacement.js
|
||||
license: MIT-style license.
|
||||
description: Same behavior like Fx.Tween but tries to use native CSS3 transition if possible (Overwrites Fx.Tween).
|
||||
copyright: Copyright (c) 2010, Dipl.-Ing. (FH) André Fiedler <kontakt at visualdrugs dot net>, based on code by eskimoblood (mootools users group)
|
||||
authors: [André Fiedler, eskimoblood]
|
||||
|
||||
requires: [Core/Class.Extras, Core/Element.Event, Core/Element.Style, Core/Fx.Tween]
|
||||
|
||||
provides: [Fx.Tween]
|
||||
...
|
||||
*/
|
||||
|
||||
Element.NativeEvents.transitionend = 2;
|
||||
Element.NativeEvents.webkitTransitionEnd = 2;
|
||||
Element.NativeEvents.oTransitionEnd = 2;
|
||||
|
||||
Element.Events.transitionend = {
|
||||
base: Browser.safari || Browser.chrome ? 'webkitTransitionEnd' : (Browser.opera ? 'oTransitionEnd' : 'transitionend')
|
||||
};
|
||||
|
||||
Event.implement({
|
||||
|
||||
getPropertyName: function(){
|
||||
return this.event.propertyName;
|
||||
},
|
||||
|
||||
getElapsedTime: function(nativeTime){
|
||||
return nativeTime ? this.event.elapsedTime : (this.event.elapsedTime * 1000).toInt();
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
Element.implement({
|
||||
|
||||
supportStyle: function(style){
|
||||
var value = this.style[style];
|
||||
return !!(value || value == '');
|
||||
},
|
||||
|
||||
supportVendorStyle: function(style){
|
||||
var prefixedStyle = null;
|
||||
return this.supportStyle(style) ? style : ['webkit', 'Moz', 'o'].some(function(prefix){
|
||||
prefixedStyle = prefix + style.capitalize();
|
||||
return this.supportStyle(prefixedStyle);
|
||||
}, this) ? prefixedStyle : null;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
Fx.TweenCSS2 = Fx.Tween;
|
||||
|
||||
Fx.Tween = new Class({
|
||||
|
||||
Extends: Fx.TweenCSS2,
|
||||
|
||||
transitionTimings: {
|
||||
'linear' : '0,0,1,1',
|
||||
'expo:in' : '0.71,0.01,0.83,0',
|
||||
'expo:out' : '0.14,1,0.32,0.99',
|
||||
'expo:in:out' : '0.85,0,0.15,1',
|
||||
'circ:in' : '0.34,0,0.96,0.23',
|
||||
'circ:out' : '0,0.5,0.37,0.98',
|
||||
'circ:in:out' : '0.88,0.1,0.12,0.9',
|
||||
'sine:in' : '0.22,0.04,0.36,0',
|
||||
'sine:out' : '0.04,0,0.5,1',
|
||||
'sine:in:out' : '0.37,0.01,0.63,1',
|
||||
'quad:in' : '0.14,0.01,0.49,0',
|
||||
'quad:out' : '0.01,0,0.43,1',
|
||||
'quad:in:out' : '0.47,0.04,0.53,0.96',
|
||||
'cubic:in' : '0.35,0,0.65,0',
|
||||
'cubic:out' : '0.09,0.25,0.24,1',
|
||||
'cubic:in:out' : '0.66,0,0.34,1',
|
||||
'quart:in' : '0.69,0,0.76,0.17',
|
||||
'quart:out' : '0.26,0.96,0.44,1',
|
||||
'quart:in:out' : '0.76,0,0.24,1',
|
||||
'quint:in' : '0.64,0,0.78,0',
|
||||
'quint:out' : '0.22,1,0.35,1',
|
||||
'quint:in:out' : '0.9,0,0.1,1'
|
||||
},
|
||||
|
||||
initialize: function(element, options){
|
||||
options.transition = options.transition || 'sine:in:out';
|
||||
this.parent(element, options);
|
||||
if (typeof this.options.transition != 'string') alert('Only short notated transitions (like \'sine:in\') are supported by Fx.Tween.CSS3');
|
||||
this.options.transition = this.options.transition.toLowerCase();
|
||||
this.transition = this.element.supportVendorStyle('transition');
|
||||
this.css3Supported = !!this.transition && !!this.transitionTimings[this.options.transition];
|
||||
},
|
||||
|
||||
check: function(){
|
||||
if (!this.boundComplete) return true;
|
||||
return this.parent();
|
||||
},
|
||||
|
||||
start: function(property, from, to){
|
||||
if (this.css3Supported){
|
||||
if (!this.check(property, from, to)) return this;
|
||||
var args = Array.flatten(arguments);
|
||||
this.property = this.options.property || args.shift();
|
||||
var parsed = this.prepare(this.element, this.property, args);
|
||||
this.from = parsed.from;
|
||||
this.to = parsed.to;
|
||||
this.boundComplete = function(event){
|
||||
if (event.getPropertyName() == this.property /* && event.getElapsedTime() == this.options.duration */ ){
|
||||
this.element.removeEvent('transitionend', this.boundComplete);
|
||||
this.boundComplete = null;
|
||||
this.fireEvent('complete', this.subject);
|
||||
}
|
||||
}.bind(this);
|
||||
this.element.addEvent('transitionend', this.boundComplete);
|
||||
var trans = function(){
|
||||
this.element.setStyle(this.transition, this.property + ' ' + this.options.duration + 'ms cubic-bezier(' + this.transitionTimings[this.options.transition] + ')');
|
||||
this.element.setStyle(this.property, this.to[0].value + + this.options.unit);
|
||||
}.bind(this);
|
||||
if (args[1]){
|
||||
this.element.setStyle(this.transition, 'none');
|
||||
this.element.setStyle(this.property, this.from[0].value + + this.options.unit);
|
||||
trans.delay(0.1);
|
||||
} else
|
||||
trans();
|
||||
this.fireEvent('start', this.subject);
|
||||
return this;
|
||||
}
|
||||
return this.parent(property, from, to);
|
||||
},
|
||||
|
||||
cancel: function(){
|
||||
if (this.css3Supported){
|
||||
this.element.setStyle(this.transition, 'none');
|
||||
this.element.removeEvent('transitionend', this.boundComplete);
|
||||
this.boundComplete = null;
|
||||
}
|
||||
this.parent();
|
||||
return this;
|
||||
}
|
||||
|
||||
});
|
||||
@@ -0,0 +1,28 @@
|
||||
var Uniform = new Class({
|
||||
Implements : [Options],
|
||||
|
||||
options : {
|
||||
focusedClass : 'focused',
|
||||
holderClass : 'ctrlHolder'
|
||||
},
|
||||
|
||||
initialize : function(options) {
|
||||
this.setOptions(options);
|
||||
|
||||
var focused = this.options.focusedClass;
|
||||
var holder = '.' + this.options.holderClass;
|
||||
|
||||
$(document.body).addEvents( {
|
||||
'focus:relay(input, select, textarea)' : function() {
|
||||
var parent = this.getParent(holder);
|
||||
if (parent)
|
||||
parent.addClass(focused);
|
||||
},
|
||||
'blur:relay(input, select, textarea)' : function() {
|
||||
var parent = this.getParent(holder);
|
||||
if (parent)
|
||||
parent.removeClass(focused);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
Reference in New Issue
Block a user