first commit
This commit is contained in:
20
public/bower_components/vex/js/build-test-amd.html
vendored
Executable file
20
public/bower_components/vex/js/build-test-amd.html
vendored
Executable file
@@ -0,0 +1,20 @@
|
||||
<head>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/require.js/2.1.8/require.min.js
|
||||
"></script>
|
||||
<link rel="stylesheet" href="../css/vex.css" />
|
||||
<link rel="stylesheet" href="../css/vex-theme-os.css" />
|
||||
<script>
|
||||
require({
|
||||
paths: {
|
||||
jquery: 'http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min'
|
||||
}
|
||||
});
|
||||
</script>
|
||||
<script>
|
||||
require(['vex', 'vex.dialog'], function(vex, vexDialog) {
|
||||
vex.defaultOptions.className = 'vex-theme-os';
|
||||
vexDialog.alert('Test');
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
11
public/bower_components/vex/js/build-test.html
vendored
Executable file
11
public/bower_components/vex/js/build-test.html
vendored
Executable file
@@ -0,0 +1,11 @@
|
||||
<head>
|
||||
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
|
||||
<script src="vex.combined.min.js"></script>
|
||||
<link rel="stylesheet" href="../css/vex.css" />
|
||||
<link rel="stylesheet" href="../css/vex-theme-os.css" />
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
vex.defaultOptions.className = 'vex-theme-os';
|
||||
vex.dialog.alert('Test');
|
||||
</script>
|
||||
2
public/bower_components/vex/js/vex.combined.min.js
vendored
Executable file
2
public/bower_components/vex/js/vex.combined.min.js
vendored
Executable file
File diff suppressed because one or more lines are too long
153
public/bower_components/vex/js/vex.dialog.js
vendored
Executable file
153
public/bower_components/vex/js/vex.dialog.js
vendored
Executable file
@@ -0,0 +1,153 @@
|
||||
(function() {
|
||||
var vexDialogFactory;
|
||||
|
||||
vexDialogFactory = function($, vex) {
|
||||
var $formToObject, dialog;
|
||||
if (vex == null) {
|
||||
return $.error('Vex is required to use vex.dialog');
|
||||
}
|
||||
$formToObject = function($form) {
|
||||
var object;
|
||||
object = {};
|
||||
$.each($form.serializeArray(), function() {
|
||||
if (object[this.name]) {
|
||||
if (!object[this.name].push) {
|
||||
object[this.name] = [object[this.name]];
|
||||
}
|
||||
return object[this.name].push(this.value || '');
|
||||
} else {
|
||||
return object[this.name] = this.value || '';
|
||||
}
|
||||
});
|
||||
return object;
|
||||
};
|
||||
dialog = {};
|
||||
dialog.buttons = {
|
||||
YES: {
|
||||
text: 'OK',
|
||||
type: 'submit',
|
||||
className: 'vex-dialog-button-primary'
|
||||
},
|
||||
NO: {
|
||||
text: 'Cancel',
|
||||
type: 'button',
|
||||
className: 'vex-dialog-button-secondary',
|
||||
click: function($vexContent, event) {
|
||||
$vexContent.data().vex.value = false;
|
||||
return vex.close($vexContent.data().vex.id);
|
||||
}
|
||||
}
|
||||
};
|
||||
dialog.defaultOptions = {
|
||||
callback: function(value) {},
|
||||
afterOpen: function() {},
|
||||
message: 'Message',
|
||||
input: "<input name=\"vex\" type=\"hidden\" value=\"_vex-empty-value\" />",
|
||||
value: false,
|
||||
buttons: [dialog.buttons.YES, dialog.buttons.NO],
|
||||
showCloseButton: false,
|
||||
onSubmit: function(event) {
|
||||
var $form, $vexContent;
|
||||
$form = $(this);
|
||||
$vexContent = $form.parent();
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
$vexContent.data().vex.value = dialog.getFormValueOnSubmit($formToObject($form));
|
||||
return vex.close($vexContent.data().vex.id);
|
||||
},
|
||||
focusFirstInput: true
|
||||
};
|
||||
dialog.defaultAlertOptions = {
|
||||
message: 'Alert',
|
||||
buttons: [dialog.buttons.YES]
|
||||
};
|
||||
dialog.defaultConfirmOptions = {
|
||||
message: 'Confirm'
|
||||
};
|
||||
dialog.open = function(options) {
|
||||
var $vexContent, beforeClose;
|
||||
options = $.extend({}, vex.defaultOptions, dialog.defaultOptions, options);
|
||||
options.content = dialog.buildDialogForm(options);
|
||||
beforeClose = options.beforeClose;
|
||||
options.beforeClose = function($vexContent, config) {
|
||||
options.callback(config.value);
|
||||
return typeof beforeClose === "function" ? beforeClose($vexContent, config) : void 0;
|
||||
};
|
||||
$vexContent = vex.open(options);
|
||||
if (options.focusFirstInput) {
|
||||
$vexContent.find('button[type="submit"], button[type="button"], input[type="submit"], input[type="button"], textarea, input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="email"], input[type="month"], input[type="number"], input[type="password"], input[type="search"], input[type="tel"], input[type="text"], input[type="time"], input[type="url"], input[type="week"]').first().focus();
|
||||
}
|
||||
return $vexContent;
|
||||
};
|
||||
dialog.alert = function(options) {
|
||||
if (typeof options === 'string') {
|
||||
options = {
|
||||
message: options
|
||||
};
|
||||
}
|
||||
options = $.extend({}, dialog.defaultAlertOptions, options);
|
||||
return dialog.open(options);
|
||||
};
|
||||
dialog.confirm = function(options) {
|
||||
if (typeof options === 'string') {
|
||||
return $.error('dialog.confirm(options) requires options.callback.');
|
||||
}
|
||||
options = $.extend({}, dialog.defaultConfirmOptions, options);
|
||||
return dialog.open(options);
|
||||
};
|
||||
dialog.prompt = function(options) {
|
||||
var defaultPromptOptions;
|
||||
if (typeof options === 'string') {
|
||||
return $.error('dialog.prompt(options) requires options.callback.');
|
||||
}
|
||||
defaultPromptOptions = {
|
||||
message: "<label for=\"vex\">" + (options.label || 'Prompt:') + "</label>",
|
||||
input: "<input name=\"vex\" type=\"text\" class=\"vex-dialog-prompt-input\" placeholder=\"" + (options.placeholder || '') + "\" value=\"" + (options.value || '') + "\" />"
|
||||
};
|
||||
options = $.extend({}, defaultPromptOptions, options);
|
||||
return dialog.open(options);
|
||||
};
|
||||
dialog.buildDialogForm = function(options) {
|
||||
var $form, $input, $message;
|
||||
$form = $('<form class="vex-dialog-form" />');
|
||||
$message = $('<div class="vex-dialog-message" />');
|
||||
$input = $('<div class="vex-dialog-input" />');
|
||||
$form.append($message.append(options.message)).append($input.append(options.input)).append(dialog.buttonsToDOM(options.buttons)).bind('submit.vex', options.onSubmit);
|
||||
return $form;
|
||||
};
|
||||
dialog.getFormValueOnSubmit = function(formData) {
|
||||
if (formData.vex || formData.vex === '') {
|
||||
if (formData.vex === '_vex-empty-value') {
|
||||
return true;
|
||||
}
|
||||
return formData.vex;
|
||||
} else {
|
||||
return formData;
|
||||
}
|
||||
};
|
||||
dialog.buttonsToDOM = function(buttons) {
|
||||
var $buttons;
|
||||
$buttons = $('<div class="vex-dialog-buttons" />');
|
||||
$.each(buttons, function(index, button) {
|
||||
var $button;
|
||||
$button = $("<button type=\"" + button.type + "\"></button>").text(button.text).addClass(button.className + ' vex-dialog-button ' + (index === 0 ? 'vex-first ' : '') + (index === buttons.length - 1 ? 'vex-last ' : '')).bind('click.vex', function(e) {
|
||||
if (button.click) {
|
||||
return button.click($(this).parents(vex.getSelectorFromBaseClass(vex.baseClassNames.content)), e);
|
||||
}
|
||||
});
|
||||
return $button.appendTo($buttons);
|
||||
});
|
||||
return $buttons;
|
||||
};
|
||||
return dialog;
|
||||
};
|
||||
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
define(['jquery', 'vex'], vexDialogFactory);
|
||||
} else if (typeof exports === 'object') {
|
||||
module.exports = vexDialogFactory(require('jquery'), require('./vex.js'));
|
||||
} else {
|
||||
window.vex.dialog = vexDialogFactory(window.jQuery, window.vex);
|
||||
}
|
||||
|
||||
}).call(this);
|
||||
2
public/bower_components/vex/js/vex.dialog.min.js
vendored
Executable file
2
public/bower_components/vex/js/vex.dialog.min.js
vendored
Executable file
@@ -0,0 +1,2 @@
|
||||
/*! vex.dialog.js 2.3.3 */
|
||||
(function(){var a;a=function(a,b){var c,d;return null==b?a.error("Vex is required to use vex.dialog"):(c=function(b){var c;return c={},a.each(b.serializeArray(),function(){return c[this.name]?(c[this.name].push||(c[this.name]=[c[this.name]]),c[this.name].push(this.value||"")):c[this.name]=this.value||""}),c},d={},d.buttons={YES:{text:"OK",type:"submit",className:"vex-dialog-button-primary"},NO:{text:"Cancel",type:"button",className:"vex-dialog-button-secondary",click:function(a,c){return a.data().vex.value=!1,b.close(a.data().vex.id)}}},d.defaultOptions={callback:function(a){},afterOpen:function(){},message:"Message",input:'<input name="vex" type="hidden" value="_vex-empty-value" />',value:!1,buttons:[d.buttons.YES,d.buttons.NO],showCloseButton:!1,onSubmit:function(e){var f,g;return f=a(this),g=f.parent(),e.preventDefault(),e.stopPropagation(),g.data().vex.value=d.getFormValueOnSubmit(c(f)),b.close(g.data().vex.id)},focusFirstInput:!0},d.defaultAlertOptions={message:"Alert",buttons:[d.buttons.YES]},d.defaultConfirmOptions={message:"Confirm"},d.open=function(c){var e,f;return c=a.extend({},b.defaultOptions,d.defaultOptions,c),c.content=d.buildDialogForm(c),f=c.beforeClose,c.beforeClose=function(a,b){return c.callback(b.value),"function"==typeof f?f(a,b):void 0},e=b.open(c),c.focusFirstInput&&e.find('button[type="submit"], button[type="button"], input[type="submit"], input[type="button"], textarea, input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="email"], input[type="month"], input[type="number"], input[type="password"], input[type="search"], input[type="tel"], input[type="text"], input[type="time"], input[type="url"], input[type="week"]').first().focus(),e},d.alert=function(b){return"string"==typeof b&&(b={message:b}),b=a.extend({},d.defaultAlertOptions,b),d.open(b)},d.confirm=function(b){return"string"==typeof b?a.error("dialog.confirm(options) requires options.callback."):(b=a.extend({},d.defaultConfirmOptions,b),d.open(b))},d.prompt=function(b){var c;return"string"==typeof b?a.error("dialog.prompt(options) requires options.callback."):(c={message:'<label for="vex">'+(b.label||"Prompt:")+"</label>",input:'<input name="vex" type="text" class="vex-dialog-prompt-input" placeholder="'+(b.placeholder||"")+'" value="'+(b.value||"")+'" />'},b=a.extend({},c,b),d.open(b))},d.buildDialogForm=function(b){var c,e,f;return c=a('<form class="vex-dialog-form" />'),f=a('<div class="vex-dialog-message" />'),e=a('<div class="vex-dialog-input" />'),c.append(f.append(b.message)).append(e.append(b.input)).append(d.buttonsToDOM(b.buttons)).bind("submit.vex",b.onSubmit),c},d.getFormValueOnSubmit=function(a){return a.vex||""===a.vex?"_vex-empty-value"===a.vex?!0:a.vex:a},d.buttonsToDOM=function(c){var d;return d=a('<div class="vex-dialog-buttons" />'),a.each(c,function(e,f){var g;return g=a('<button type="'+f.type+'"></button>').text(f.text).addClass(f.className+" vex-dialog-button "+(0===e?"vex-first ":"")+(e===c.length-1?"vex-last ":"")).bind("click.vex",function(c){return f.click?f.click(a(this).parents(b.getSelectorFromBaseClass(b.baseClassNames.content)),c):void 0}),g.appendTo(d)}),d},d)},"function"==typeof define&&define.amd?define(["jquery","vex"],a):"object"==typeof exports?module.exports=a(require("jquery"),require("./vex.js")):window.vex.dialog=a(window.jQuery,window.vex)}).call(this);
|
||||
196
public/bower_components/vex/js/vex.js
vendored
Executable file
196
public/bower_components/vex/js/vex.js
vendored
Executable file
@@ -0,0 +1,196 @@
|
||||
(function() {
|
||||
var vexFactory;
|
||||
|
||||
vexFactory = function($) {
|
||||
var animationEndSupport, vex;
|
||||
animationEndSupport = false;
|
||||
$(function() {
|
||||
var s;
|
||||
s = (document.body || document.documentElement).style;
|
||||
animationEndSupport = s.animation !== void 0 || s.WebkitAnimation !== void 0 || s.MozAnimation !== void 0 || s.MsAnimation !== void 0 || s.OAnimation !== void 0;
|
||||
return $(window).bind('keyup.vex', function(event) {
|
||||
if (event.keyCode === 27) {
|
||||
return vex.closeByEscape();
|
||||
}
|
||||
});
|
||||
});
|
||||
return vex = {
|
||||
globalID: 1,
|
||||
animationEndEvent: 'animationend webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend',
|
||||
baseClassNames: {
|
||||
vex: 'vex',
|
||||
content: 'vex-content',
|
||||
overlay: 'vex-overlay',
|
||||
close: 'vex-close',
|
||||
closing: 'vex-closing',
|
||||
open: 'vex-open'
|
||||
},
|
||||
defaultOptions: {
|
||||
content: '',
|
||||
showCloseButton: true,
|
||||
escapeButtonCloses: true,
|
||||
overlayClosesOnClick: true,
|
||||
appendLocation: 'body',
|
||||
className: '',
|
||||
css: {},
|
||||
overlayClassName: '',
|
||||
overlayCSS: {},
|
||||
contentClassName: '',
|
||||
contentCSS: {},
|
||||
closeClassName: '',
|
||||
closeCSS: {}
|
||||
},
|
||||
open: function(options) {
|
||||
options = $.extend({}, vex.defaultOptions, options);
|
||||
options.id = vex.globalID;
|
||||
vex.globalID += 1;
|
||||
options.$vex = $('<div>').addClass(vex.baseClassNames.vex).addClass(options.className).css(options.css).data({
|
||||
vex: options
|
||||
});
|
||||
options.$vexOverlay = $('<div>').addClass(vex.baseClassNames.overlay).addClass(options.overlayClassName).css(options.overlayCSS).data({
|
||||
vex: options
|
||||
});
|
||||
if (options.overlayClosesOnClick) {
|
||||
options.$vexOverlay.bind('click.vex', function(e) {
|
||||
if (e.target !== this) {
|
||||
return;
|
||||
}
|
||||
return vex.close($(this).data().vex.id);
|
||||
});
|
||||
}
|
||||
options.$vex.append(options.$vexOverlay);
|
||||
options.$vexContent = $('<div>').addClass(vex.baseClassNames.content).addClass(options.contentClassName).css(options.contentCSS).append(options.content).data({
|
||||
vex: options
|
||||
});
|
||||
options.$vex.append(options.$vexContent);
|
||||
if (options.showCloseButton) {
|
||||
options.$closeButton = $('<div>').addClass(vex.baseClassNames.close).addClass(options.closeClassName).css(options.closeCSS).data({
|
||||
vex: options
|
||||
}).bind('click.vex', function() {
|
||||
return vex.close($(this).data().vex.id);
|
||||
});
|
||||
options.$vexContent.append(options.$closeButton);
|
||||
}
|
||||
$(options.appendLocation).append(options.$vex);
|
||||
vex.setupBodyClassName(options.$vex);
|
||||
if (options.afterOpen) {
|
||||
options.afterOpen(options.$vexContent, options);
|
||||
}
|
||||
setTimeout((function() {
|
||||
return options.$vexContent.trigger('vexOpen', options);
|
||||
}), 0);
|
||||
return options.$vexContent;
|
||||
},
|
||||
getSelectorFromBaseClass: function(baseClass) {
|
||||
return "." + (baseClass.split(' ').join('.'));
|
||||
},
|
||||
getAllVexes: function() {
|
||||
return $("." + vex.baseClassNames.vex + ":not(\"." + vex.baseClassNames.closing + "\") " + (vex.getSelectorFromBaseClass(vex.baseClassNames.content)));
|
||||
},
|
||||
getVexByID: function(id) {
|
||||
return vex.getAllVexes().filter(function() {
|
||||
return $(this).data().vex.id === id;
|
||||
});
|
||||
},
|
||||
close: function(id) {
|
||||
var $lastVex;
|
||||
if (!id) {
|
||||
$lastVex = vex.getAllVexes().last();
|
||||
if (!$lastVex.length) {
|
||||
return false;
|
||||
}
|
||||
id = $lastVex.data().vex.id;
|
||||
}
|
||||
return vex.closeByID(id);
|
||||
},
|
||||
closeAll: function() {
|
||||
var ids;
|
||||
ids = vex.getAllVexes().map(function() {
|
||||
return $(this).data().vex.id;
|
||||
}).toArray();
|
||||
if (!(ids != null ? ids.length : void 0)) {
|
||||
return false;
|
||||
}
|
||||
$.each(ids.reverse(), function(index, id) {
|
||||
return vex.closeByID(id);
|
||||
});
|
||||
return true;
|
||||
},
|
||||
closeByID: function(id) {
|
||||
var $vex, $vexContent, beforeClose, close, hasAnimation, options;
|
||||
$vexContent = vex.getVexByID(id);
|
||||
if (!$vexContent.length) {
|
||||
return;
|
||||
}
|
||||
$vex = $vexContent.data().vex.$vex;
|
||||
options = $.extend({}, $vexContent.data().vex);
|
||||
beforeClose = function() {
|
||||
if (options.beforeClose) {
|
||||
return options.beforeClose($vexContent, options);
|
||||
}
|
||||
};
|
||||
close = function() {
|
||||
$vexContent.trigger('vexClose', options);
|
||||
$vex.remove();
|
||||
$('body').trigger('vexAfterClose', options);
|
||||
if (options.afterClose) {
|
||||
return options.afterClose($vexContent, options);
|
||||
}
|
||||
};
|
||||
hasAnimation = $vexContent.css('animationName') !== 'none' && $vexContent.css('animationDuration') !== '0s';
|
||||
if (animationEndSupport && hasAnimation) {
|
||||
if (beforeClose() !== false) {
|
||||
$vex.unbind(vex.animationEndEvent).bind(vex.animationEndEvent, function() {
|
||||
return close();
|
||||
}).addClass(vex.baseClassNames.closing);
|
||||
}
|
||||
} else {
|
||||
if (beforeClose() !== false) {
|
||||
close();
|
||||
}
|
||||
}
|
||||
return true;
|
||||
},
|
||||
closeByEscape: function() {
|
||||
var $lastVex, id, ids;
|
||||
ids = vex.getAllVexes().map(function() {
|
||||
return $(this).data().vex.id;
|
||||
}).toArray();
|
||||
if (!(ids != null ? ids.length : void 0)) {
|
||||
return false;
|
||||
}
|
||||
id = Math.max.apply(Math, ids);
|
||||
$lastVex = vex.getVexByID(id);
|
||||
if ($lastVex.data().vex.escapeButtonCloses !== true) {
|
||||
return false;
|
||||
}
|
||||
return vex.closeByID(id);
|
||||
},
|
||||
setupBodyClassName: function($vex) {
|
||||
return $('body').bind('vexOpen.vex', function() {
|
||||
return $('body').addClass(vex.baseClassNames.open);
|
||||
}).bind('vexAfterClose.vex', function() {
|
||||
if (!vex.getAllVexes().length) {
|
||||
return $('body').removeClass(vex.baseClassNames.open);
|
||||
}
|
||||
});
|
||||
},
|
||||
hideLoading: function() {
|
||||
return $('.vex-loading-spinner').remove();
|
||||
},
|
||||
showLoading: function() {
|
||||
vex.hideLoading();
|
||||
return $('body').append("<div class=\"vex-loading-spinner " + vex.defaultOptions.className + "\"></div>");
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
define(['jquery'], vexFactory);
|
||||
} else if (typeof exports === 'object') {
|
||||
module.exports = vexFactory(require('jquery'));
|
||||
} else {
|
||||
window.vex = vexFactory(jQuery);
|
||||
}
|
||||
|
||||
}).call(this);
|
||||
2
public/bower_components/vex/js/vex.min.js
vendored
Executable file
2
public/bower_components/vex/js/vex.min.js
vendored
Executable file
@@ -0,0 +1,2 @@
|
||||
/*! vex.js 2.3.3 */
|
||||
(function(){var a;a=function(a){var b,c;return b=!1,a(function(){var d;return d=(document.body||document.documentElement).style,b=void 0!==d.animation||void 0!==d.WebkitAnimation||void 0!==d.MozAnimation||void 0!==d.MsAnimation||void 0!==d.OAnimation,a(window).bind("keyup.vex",function(a){return 27===a.keyCode?c.closeByEscape():void 0})}),c={globalID:1,animationEndEvent:"animationend webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend",baseClassNames:{vex:"vex",content:"vex-content",overlay:"vex-overlay",close:"vex-close",closing:"vex-closing",open:"vex-open"},defaultOptions:{content:"",showCloseButton:!0,escapeButtonCloses:!0,overlayClosesOnClick:!0,appendLocation:"body",className:"",css:{},overlayClassName:"",overlayCSS:{},contentClassName:"",contentCSS:{},closeClassName:"",closeCSS:{}},open:function(b){return b=a.extend({},c.defaultOptions,b),b.id=c.globalID,c.globalID+=1,b.$vex=a("<div>").addClass(c.baseClassNames.vex).addClass(b.className).css(b.css).data({vex:b}),b.$vexOverlay=a("<div>").addClass(c.baseClassNames.overlay).addClass(b.overlayClassName).css(b.overlayCSS).data({vex:b}),b.overlayClosesOnClick&&b.$vexOverlay.bind("click.vex",function(b){return b.target===this?c.close(a(this).data().vex.id):void 0}),b.$vex.append(b.$vexOverlay),b.$vexContent=a("<div>").addClass(c.baseClassNames.content).addClass(b.contentClassName).css(b.contentCSS).append(b.content).data({vex:b}),b.$vex.append(b.$vexContent),b.showCloseButton&&(b.$closeButton=a("<div>").addClass(c.baseClassNames.close).addClass(b.closeClassName).css(b.closeCSS).data({vex:b}).bind("click.vex",function(){return c.close(a(this).data().vex.id)}),b.$vexContent.append(b.$closeButton)),a(b.appendLocation).append(b.$vex),c.setupBodyClassName(b.$vex),b.afterOpen&&b.afterOpen(b.$vexContent,b),setTimeout(function(){return b.$vexContent.trigger("vexOpen",b)},0),b.$vexContent},getSelectorFromBaseClass:function(a){return"."+a.split(" ").join(".")},getAllVexes:function(){return a("."+c.baseClassNames.vex+':not(".'+c.baseClassNames.closing+'") '+c.getSelectorFromBaseClass(c.baseClassNames.content))},getVexByID:function(b){return c.getAllVexes().filter(function(){return a(this).data().vex.id===b})},close:function(a){var b;if(!a){if(b=c.getAllVexes().last(),!b.length)return!1;a=b.data().vex.id}return c.closeByID(a)},closeAll:function(){var b;return b=c.getAllVexes().map(function(){return a(this).data().vex.id}).toArray(),(null!=b?b.length:void 0)?(a.each(b.reverse(),function(a,b){return c.closeByID(b)}),!0):!1},closeByID:function(d){var e,f,g,h,i,j;return f=c.getVexByID(d),f.length?(e=f.data().vex.$vex,j=a.extend({},f.data().vex),g=function(){return j.beforeClose?j.beforeClose(f,j):void 0},h=function(){return f.trigger("vexClose",j),e.remove(),a("body").trigger("vexAfterClose",j),j.afterClose?j.afterClose(f,j):void 0},i="none"!==f.css("animationName")&&"0s"!==f.css("animationDuration"),b&&i?g()!==!1&&e.unbind(c.animationEndEvent).bind(c.animationEndEvent,function(){return h()}).addClass(c.baseClassNames.closing):g()!==!1&&h(),!0):void 0},closeByEscape:function(){var b,d,e;return e=c.getAllVexes().map(function(){return a(this).data().vex.id}).toArray(),(null!=e?e.length:void 0)?(d=Math.max.apply(Math,e),b=c.getVexByID(d),b.data().vex.escapeButtonCloses!==!0?!1:c.closeByID(d)):!1},setupBodyClassName:function(b){return a("body").bind("vexOpen.vex",function(){return a("body").addClass(c.baseClassNames.open)}).bind("vexAfterClose.vex",function(){return c.getAllVexes().length?void 0:a("body").removeClass(c.baseClassNames.open)})},hideLoading:function(){return a(".vex-loading-spinner").remove()},showLoading:function(){return c.hideLoading(),a("body").append('<div class="vex-loading-spinner '+c.defaultOptions.className+'"></div>')}}},"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof exports?module.exports=a(require("jquery")):window.vex=a(jQuery)}).call(this);
|
||||
Reference in New Issue
Block a user