From db4b5ce5439cfeea8ba5c47c55f9fec00371202d Mon Sep 17 00:00:00 2001 From: Adam Schwartz Date: Sat, 21 Sep 2013 22:10:27 -0400 Subject: [PATCH] grunted --- js/vex.dialog.js | 16 ++++++++++++++++ js/vex.dialog.min.js | 2 +- js/vex.js | 6 ++++++ js/vex.min.js | 4 ++-- 4 files changed, 25 insertions(+), 3 deletions(-) diff --git a/js/vex.dialog.js b/js/vex.dialog.js index 5457c07..d31f807 100644 --- a/js/vex.dialog.js +++ b/js/vex.dialog.js @@ -1,8 +1,10 @@ (function() { var $formToObject, dialog; + if (!window.vex) { return $.error('Vex is required to use vex.dialog'); } + $formToObject = function($form) { var object; object = {}; @@ -18,7 +20,9 @@ }); return object; }; + dialog = {}; + dialog.buttons = { YES: { text: 'OK', @@ -35,6 +39,7 @@ } } }; + dialog.defaultOptions = { callback: function(value) { if (console && console.log) { @@ -58,13 +63,16 @@ }, focusFirstInput: true }; + dialog.defaultAlertOptions = { message: 'Alert', buttons: [dialog.buttons.YES] }; + dialog.defaultConfirmOptions = { message: 'Confirm' }; + dialog.open = function(options) { var $vexContent; options = $.extend({}, vex.defaultOptions, dialog.defaultOptions, options); @@ -78,6 +86,7 @@ } return $vexContent; }; + dialog.alert = function(options) { if (typeof options === 'string') { options = { @@ -87,6 +96,7 @@ options = $.extend({}, vex.dialog.defaultAlertOptions, options); return vex.dialog.open(options); }; + dialog.confirm = function(options) { if (typeof options === 'string') { return $.error('vex.dialog.confirm(options) requires options.callback.'); @@ -94,6 +104,7 @@ options = $.extend({}, vex.dialog.defaultConfirmOptions, options); return vex.dialog.open(options); }; + dialog.prompt = function(options) { var defaultPromptOptions; if (typeof options === 'string') { @@ -106,6 +117,7 @@ options = $.extend({}, defaultPromptOptions, options); return vex.dialog.open(options); }; + dialog.buildDialogForm = function(options) { var $form, $input, $message; $form = $('
'); @@ -114,6 +126,7 @@ $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) { if (formData.vex === '_vex-empty-value') { @@ -124,6 +137,7 @@ return formData; } }; + dialog.buttonsToDOM = function(buttons) { var $buttons; $buttons = $('
'); @@ -136,5 +150,7 @@ }); return $buttons; }; + window.vex.dialog = dialog; + }).call(this); diff --git a/js/vex.dialog.min.js b/js/vex.dialog.min.js index ccda3bc..c004cae 100644 --- a/js/vex.dialog.min.js +++ b/js/vex.dialog.min.js @@ -1,2 +1,2 @@ -/*! vex.dialog 1.0.1 */ +/*! vex 1.2.0 */ (function(){var a,b;return window.vex?(a=function(a){var b;return b={},$.each(a.serializeArray(),function(){return b[this.name]?(b[this.name].push||(b[this.name]=[b[this.name]]),b[this.name].push(this.value||"")):b[this.name]=this.value||""}),b},b={},b.buttons={YES:{text:"OK",type:"submit",className:"vex-dialog-button-primary"},NO:{text:"Cancel",type:"button",className:"vex-dialog-button-secondary",click:function(a){return a.data().vex.value=!1,vex.close(a.data().vex.id)}}},b.defaultOptions={callback:function(a){return console&&console.log?console.log("Vex dialog callback:",a):void 0},afterOpen:function(){},message:"Message",input:'',value:!1,buttons:[b.buttons.YES,b.buttons.NO],showCloseButton:!1,onSubmit:function(c){var d,e;return d=$(this),e=d.parent(),c.preventDefault(),c.stopPropagation(),e.data().vex.value=b.getFormValueOnSubmit(a(d)),vex.close(e.data().vex.id)},focusFirstInput:!0},b.defaultAlertOptions={message:"Alert",buttons:[b.buttons.YES]},b.defaultConfirmOptions={message:"Confirm"},b.open=function(a){var c;return a=$.extend({},vex.defaultOptions,b.defaultOptions,a),a.content=b.buildDialogForm(a),a.beforeClose=function(b){return a.callback(b.data().vex.value)},c=vex.open(a),a.focusFirstInput&&c.find('input[type="text"], input[type="submit"]').first().focus(),c},b.alert=function(a){return"string"==typeof a&&(a={message:a}),a=$.extend({},vex.dialog.defaultAlertOptions,a),vex.dialog.open(a)},b.confirm=function(a){return"string"==typeof a?$.error("vex.dialog.confirm(options) requires options.callback."):(a=$.extend({},vex.dialog.defaultConfirmOptions,a),vex.dialog.open(a))},b.prompt=function(a){var b;return"string"==typeof a?$.error("vex.dialog.prompt(options) requires options.callback."):(b={message:'",input:''},a=$.extend({},b,a),vex.dialog.open(a))},b.buildDialogForm=function(a){var c,d,e;return c=$(''),e=$('
'),d=$('
'),c.append(e.append(a.message)).append(d.append(a.input)).append(b.buttonsToDOM(a.buttons)).bind("submit.vex",a.onSubmit),c},b.getFormValueOnSubmit=function(a){return a.vex?"_vex-empty-value"===a.vex?!0:a.vex:a},b.buttonsToDOM=function(a){var b;return b=$('
'),$.each(a,function(c,d){return b.append($('').val(d.text).addClass(d.className+" vex-dialog-button "+(0===c?"vex-first ":"")+(c===a.length-1?"vex-last ":"")).bind("click.vex",function(a){return d.click?d.click($(this).parents("."+vex.baseClassNames.content),a):void 0}))}),b},window.vex.dialog=b,void 0):$.error("Vex is required to use vex.dialog")}).call(this); \ No newline at end of file diff --git a/js/vex.js b/js/vex.js index 9fc1271..38e0d56 100644 --- a/js/vex.js +++ b/js/vex.js @@ -1,7 +1,10 @@ (function() { var $, animationEndSupport, vex; + $ = jQuery; + animationEndSupport = false; + $(function() { var s; s = (document.body || document.documentElement).style; @@ -12,6 +15,7 @@ } }); }); + vex = { globalID: 1, animationEndEvent: 'animationend webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend', @@ -163,5 +167,7 @@ return $('body').append("
"); } }; + window.vex = vex; + }).call(this); diff --git a/js/vex.min.js b/js/vex.min.js index 0b06d30..79fd754 100644 --- a/js/vex.min.js +++ b/js/vex.min.js @@ -1,2 +1,2 @@ -/*! vex 1.0.1 */ -(function(){var a,b,c;a=jQuery,b=!1,a(function(){var a;return a=(document.body||document.documentElement).style,b=void 0!==a.animation||void 0!==a.WebkitAnimation||void 0!==a.MozAnimation||void 0!==a.MsAnimation||void 0!==a.OAnimation}),c={globalID:1,animationEndEvent:"animationend webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend",baseClassNames:{vex:"vex",content:"vex-content",overlay:"vex-overlay",close:"vex-close",closing:"vex-closing"},defaultOptions:{content:"",showCloseButton:!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("
").addClass(c.baseClassNames.vex).addClass(b.className).css(b.css).data({vex:b}),b.$vexOverlay=a("
").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("
").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("
").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),b.afterOpen&&b.afterOpen(b.$vexContent,b),setTimeout(function(){return b.$vexContent.trigger("vexOpen",b)},0),b.$vexContent},getAllVexes:function(){return a("."+c.baseClassNames.vex+':not(".'+c.baseClassNames.closing+'") .'+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}),b&&b.length?(a.each(b.reverse(),function(a,b){return c.closeByID(b)}),!0):!1},closeByID:function(d){var e,f,g,h,i;return f=c.getVexByID(d),f.length?(e=f.data().vex.$vex,i=a.extend({},f.data().vex),g=function(){return i.beforeClose?i.beforeClose(f,i):void 0},h=function(){return f.trigger("vexClose",i),e.remove(),i.afterClose?i.afterClose(f,i):void 0},b?(g(),e.unbind(c.animationEndEvent).bind(c.animationEndEvent,function(){return h()}).addClass(c.baseClassNames.closing)):(g(),h()),!0):void 0},hideLoading:function(){return a(".vex-loading-spinner").remove()},showLoading:function(){return c.hideLoading(),a("body").append('
')}},window.vex=c}).call(this); \ No newline at end of file +/*! vex 1.2.0 */ +(function(){var a,b,c;a=jQuery,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"},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("
").addClass(c.baseClassNames.vex).addClass(b.className).css(b.css).data({vex:b}),b.$vexOverlay=a("
").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("
").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("
").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),b.afterOpen&&b.afterOpen(b.$vexContent,b),setTimeout(function(){return b.$vexContent.trigger("vexOpen",b)},0),b.$vexContent},getAllVexes:function(){return a("."+c.baseClassNames.vex+':not(".'+c.baseClassNames.closing+'") .'+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;return f=c.getVexByID(d),f.length?(e=f.data().vex.$vex,i=a.extend({},f.data().vex),g=function(){return i.beforeClose?i.beforeClose(f,i):void 0},h=function(){return f.trigger("vexClose",i),e.remove(),i.afterClose?i.afterClose(f,i):void 0},b?(g(),e.unbind(c.animationEndEvent).bind(c.animationEndEvent,function(){return h()}).addClass(c.baseClassNames.closing)):(g(),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},hideLoading:function(){return a(".vex-loading-spinner").remove()},showLoading:function(){return c.hideLoading(),a("body").append('
')}},window.vex=c}).call(this); \ No newline at end of file