summaryrefslogtreecommitdiffstats
path: root/module/web/static/js/libs/jquery.omniwindow.js
diff options
context:
space:
mode:
Diffstat (limited to 'module/web/static/js/libs/jquery.omniwindow.js')
-rw-r--r--module/web/static/js/libs/jquery.omniwindow.js141
1 files changed, 0 insertions, 141 deletions
diff --git a/module/web/static/js/libs/jquery.omniwindow.js b/module/web/static/js/libs/jquery.omniwindow.js
deleted file mode 100644
index e1f0b8f77..000000000
--- a/module/web/static/js/libs/jquery.omniwindow.js
+++ /dev/null
@@ -1,141 +0,0 @@
-// jQuery OmniWindow plugin
-// @version: 0.7.0
-// @author: Rudenka Alexander (mur.mailbox@gmail.com)
-// @license: MIT
-
-;(function($) {
- "use strict";
- $.fn.extend({
- omniWindow: function(options) {
-
- options = $.extend(true, {
- animationsPriority: {
- show: ['overlay', 'modal'],
- hide: ['modal', 'overlay']
- },
- overlay: {
- selector: '.ow-overlay',
- hideClass: 'ow-closed',
- animations: {
- show: function(subjects, internalCallback) { return internalCallback(subjects); },
- hide: function(subjects, internalCallback) { return internalCallback(subjects); },
- internal: {
- show: function(subjects){ subjects.overlay.removeClass(options.overlay.hideClass); },
- hide: function(subjects){ subjects.overlay.addClass(options.overlay.hideClass); }
- }
- }
- },
- modal: {
- hideClass: 'ow-closed',
- animations: {
- show: function(subjects, internalCallback) { return internalCallback(subjects); },
- hide: function(subjects, internalCallback) { return internalCallback(subjects); },
- internal: {
- show: function(subjects){ subjects.modal.removeClass(options.modal.hideClass); },
- hide: function(subjects){ subjects.modal.addClass(options.modal.hideClass); }
- }
- },
- internal: {
- stateAttribute: 'ow-active'
- }
- },
- eventsNames: {
- show: 'show.ow',
- hide: 'hide.ow',
- internal: {
- overlayClick: 'click.ow',
- keyboardKeyUp: 'keyup.ow'
- }
- },
- callbacks: { // Callbacks execution chain
- beforeShow: function(subjects, internalCallback) { return internalCallback(subjects); }, // 1 (stop if retruns false)
- positioning: function(subjects, internalCallback) { return internalCallback(subjects); }, // 2
- afterShow: function(subjects, internalCallback) { return internalCallback(subjects); }, // 3
- beforeHide: function(subjects, internalCallback) { return internalCallback(subjects); }, // 4 (stop if retruns false)
- afterHide: function(subjects, internalCallback) { return internalCallback(subjects); }, // 5
- internal: {
- beforeShow: function(subjects) {
- if (subjects.modal.data(options.modal.internal.stateAttribute)) {
- return false;
- } else {
- subjects.modal.data(options.modal.internal.stateAttribute, true);
- return true;
- }
- },
- afterShow: function(subjects) {
- $(document).on(options.eventsNames.internal.keyboardKeyUp, function(e) {
- if (e.keyCode === 27) { // if the key pressed is the ESC key
- subjects.modal.trigger(options.eventsNames.hide);
- }
- });
-
- subjects.overlay.on(options.eventsNames.internal.overlayClick, function(){
- subjects.modal.trigger(options.eventsNames.hide);
- });
- },
- positioning: function(subjects) {
- subjects.modal.css('margin-left', Math.round(subjects.modal.outerWidth() / -2));
- },
- beforeHide: function(subjects) {
- if (subjects.modal.data(options.modal.internal.stateAttribute)) {
- subjects.modal.data(options.modal.internal.stateAttribute, false);
- return true;
- } else {
- return false;
- }
- },
- afterHide: function(subjects) {
- subjects.overlay.off(options.eventsNames.internal.overlayClick);
- $(document).off(options.eventsNames.internal.keyboardKeyUp);
-
- subjects.overlay.css('display', ''); // clear inline styles after jQ animations
- subjects.modal.css('display', '');
- }
- }
- }
- }, options);
-
- var animate = function(process, subjects, callbackName) {
- var first = options.animationsPriority[process][0],
- second = options.animationsPriority[process][1];
-
- options[first].animations[process](subjects, function(subjs) { // call USER's FIRST animation (depends on priority)
- options[first].animations.internal[process](subjs); // call internal FIRST animation
-
- options[second].animations[process](subjects, function(subjs) { // call USER's SECOND animation
- options[second].animations.internal[process](subjs); // call internal SECOND animation
-
- // then we need to call USER's
- // afterShow of afterHide callback
- options.callbacks[callbackName](subjects, options.callbacks.internal[callbackName]);
- });
- });
- };
-
- var showModal = function(subjects) {
- if (!options.callbacks.beforeShow(subjects, options.callbacks.internal.beforeShow)) { return; } // cancel showing if beforeShow callback return false
-
- options.callbacks.positioning(subjects, options.callbacks.internal.positioning);
-
- animate('show', subjects, 'afterShow');
- };
-
- var hideModal = function(subjects) {
- if (!options.callbacks.beforeHide(subjects, options.callbacks.internal.beforeHide)) { return; } // cancel hiding if beforeHide callback return false
-
- animate('hide', subjects, 'afterHide');
- };
-
-
- var $overlay = $(options.overlay.selector);
-
- return this.each(function() {
- var $modal = $(this);
- var subjects = {modal: $modal, overlay: $overlay};
-
- $modal.bind(options.eventsNames.show, function(){ showModal(subjects); })
- .bind(options.eventsNames.hide, function(){ hideModal(subjects); });
- });
- }
- });
-})(jQuery); \ No newline at end of file