From 288b6190121618090107b3c0bb4f9e3539608d3b Mon Sep 17 00:00:00 2001
From: RaNaN <Mast3rRaNaN@hotmail.de>
Date: Sun, 2 Sep 2012 19:22:48 +0200
Subject: modal dialog

---
 module/web/static/js/utils/animations.js | 36 ++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)
 create mode 100644 module/web/static/js/utils/animations.js

(limited to 'module/web/static/js/utils')

diff --git a/module/web/static/js/utils/animations.js b/module/web/static/js/utils/animations.js
new file mode 100644
index 000000000..9b1448f61
--- /dev/null
+++ b/module/web/static/js/utils/animations.js
@@ -0,0 +1,36 @@
+define(['jquery', 'underscore', 'transit'], function(jQuery, _) {
+
+    // Overwrite common animations with transitions
+    jQuery.each({
+        fadeIn: { opacity: "show" },
+        fadeOut: { opacity: "hide" }
+    }, function(name, props) {
+        jQuery.fn[ name ] = function(speed, easing, callback) {
+            return this.transition(props, speed, easing, callback);
+        };
+    });
+
+    jQuery.fn._transit = jQuery.fn.transit;
+
+    // Over riding transit plugin to support hide and show
+    // Props retains it properties across multiple calls, therefore props.show value is introduced
+    jQuery.fn.transit = jQuery.fn.transition = function(props, duration, easing, callback) {
+        var self = this;
+        var cb = callback;
+        if (props && (props.opacity === 'hide' || (props.opacity === 0 && props.show === true))) {
+            props.opacity = 0;
+            props.show = true;
+
+            callback = function() {
+                self.css({display: 'none'});
+                if (typeof cb === 'function') { cb.apply(self); }
+            };
+        } else if (props && (props.opacity === 'show' || (props.opacity === 1 && props.show === true))) {
+            props.opacity = 1;
+            props.show = true;
+            this.css({display: 'block'});
+        }
+
+        return this._transit(props, duration, easing, callback);
+    };
+});
\ No newline at end of file
-- 
cgit v1.2.3