/
application-40a5b778861df53ec85be7fc49dbd4c8.js
45 lines (44 loc) · 12.8 KB
/
application-40a5b778861df53ec85be7fc49dbd4c8.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
/**
* Unobtrusive scripting adapter for jQuery
*
* Requires jQuery 1.4.4 or later.
* https://github.com/rails/jquery-ujs
* Uploading file using rails.js
* =============================
*
* By default, browsers do not allow files to be uploaded via AJAX. As a result, if there are any non-blank file fields
* in the remote form, this adapter aborts the AJAX submission and allows the form to submit through standard means.
*
* The `ajax:aborted:file` event allows you to bind your own handler to process the form submission however you wish.
*
* Ex:
* $('form').live('ajax:aborted:file', function(event, elements){
* // Implement own remote file-transfer handler here for non-blank file inputs passed in `elements`.
* // Returning false in this handler tells rails.js to disallow standard form submission
* return false;
* });
*
* The `ajax:aborted:file` event is fired when a file-type input is detected with a non-blank value.
*
* Third-party tools can use this hook to detect when an AJAX file upload is attempted, and then use
* techniques like the iframe method to upload the file instead.
*
* Required fields in rails.js
* ===========================
*
* If any blank required inputs (required="required") are detected in the remote form, the whole form submission
* is canceled. Note that this is unlike file inputs, which still allow standard (non-AJAX) form submission.
*
* The `ajax:aborted:required` event allows you to bind your own handler to inform the user of blank required inputs.
*
* !! Note that Opera does not fire the form's submit event if there are blank required inputs, so this event may never
* get fired in Opera. This event is what causes other browsers to exhibit the same submit-aborting behavior.
*
* Ex:
* $('form').live('ajax:aborted:required', function(event, elements){
* // Returning false in this handler tells rails.js to submit the form anyway.
* // The blank required inputs are passed to this function in `elements`.
* return ! confirm("Would you like to submit the form with missing info?");
* });
*/
(function(a){var b;a.rails=b={linkClickSelector:"a[data-confirm], a[data-method], a[data-remote]",formSubmitSelector:"form",formInputClickSelector:"form input[type=submit], form input[type=image], form button[type=submit], form button:not([type])",disableSelector:"input[data-disable-with], button[data-disable-with], textarea[data-disable-with]",enableSelector:"input[data-disable-with]:disabled, button[data-disable-with]:disabled, textarea[data-disable-with]:disabled",requiredInputSelector:"input[name][required],textarea[name][required]",fileInputSelector:"input:file",CSRFProtection:function(b){var c=a('meta[name="csrf-token"]').attr("content");c&&b.setRequestHeader("X-CSRF-Token",c)},fire:function(b,c,d){var e=a.Event(c);b.trigger(e,d);return e.result!==!1},confirm:function(a){return confirm(a)},ajax:function(b){return a.ajax(b)},handleRemote:function(c){var d,e,f,g=c.data("type")||a.ajaxSettings&&a.ajaxSettings.dataType;if(b.fire(c,"ajax:before")){if(c.is("form")){d=c.attr("method"),e=c.attr("action"),f=c.serializeArray();var h=c.data("ujs:submit-button");h&&(f.push(h),c.data("ujs:submit-button",null))}else d=c.data("method"),e=c.attr("href"),f=null;b.ajax({url:e,type:d||"GET",data:f,dataType:g,beforeSend:function(a,d){d.dataType===undefined&&a.setRequestHeader("accept","*/*;q=0.5, "+d.accepts.script);return b.fire(c,"ajax:beforeSend",[a,d])},success:function(a,b,d){c.trigger("ajax:success",[a,b,d])},complete:function(a,b){c.trigger("ajax:complete",[a,b])},error:function(a,b,d){c.trigger("ajax:error",[a,b,d])}})}},handleMethod:function(b){var c=b.attr("href"),d=b.data("method"),e=a("meta[name=csrf-token]").attr("content"),f=a("meta[name=csrf-param]").attr("content"),g=a('<form method="post" action="'+c+'"></form>'),h='<input name="_method" value="'+d+'" type="hidden" />';f!==undefined&&e!==undefined&&(h+='<input name="'+f+'" value="'+e+'" type="hidden" />'),g.hide().append(h).appendTo("body"),g.submit()},disableFormElements:function(c){c.find(b.disableSelector).each(function(){var b=a(this),c=b.is("button")?"html":"val";b.data("ujs:enable-with",b[c]()),b[c](b.data("disable-with")),b.attr("disabled","disabled")})},enableFormElements:function(c){c.find(b.enableSelector).each(function(){var b=a(this),c=b.is("button")?"html":"val";b.data("ujs:enable-with")&&b[c](b.data("ujs:enable-with")),b.removeAttr("disabled")})},allowAction:function(a){var c=a.data("confirm"),d=!1,e;if(!c)return!0;b.fire(a,"confirm")&&(d=b.confirm(c),e=b.fire(a,"confirm:complete",[d]));return d&&e},blankInputs:function(b,c,d){var e=a(),f,g=c||"input,textarea";b.find(g).each(function(){f=a(this);if(d?f.val():!f.val())e=e.add(f)});return e.length?e:!1},nonBlankInputs:function(a,c){return b.blankInputs(a,c,!0)},stopEverything:function(a){a.stopImmediatePropagation();return!1},callFormSubmitBindings:function(b){var c=b.data("events"),d=!0;c!==undefined&&c.submit!==undefined&&a.each(c.submit,function(a,b){if(typeof b.handler=="function")return d=b.handler(b.data)});return d}},"ajaxPrefilter"in a?a.ajaxPrefilter(function(a,c,d){b.CSRFProtection(d)}):a(document).ajaxSend(function(a,c){b.CSRFProtection(c)}),a(b.linkClickSelector).live("click.rails",function(c){var d=a(this);if(!b.allowAction(d))return b.stopEverything(c);if(d.data("remote")!==undefined){b.handleRemote(d);return!1}if(d.data("method")){b.handleMethod(d);return!1}}),a(b.formSubmitSelector).live("submit.rails",function(c){var d=a(this),e=d.data("remote")!==undefined,f=b.blankInputs(d,b.requiredInputSelector),g=b.nonBlankInputs(d,b.fileInputSelector);if(!b.allowAction(d))return b.stopEverything(c);if(f&&b.fire(d,"ajax:aborted:required",[f]))return!e;if(e){if(g)return b.fire(d,"ajax:aborted:file",[g]);if(!a.support.submitBubbles&&b.callFormSubmitBindings(d)===!1)return b.stopEverything(c);b.handleRemote(d);return!1}setTimeout(function(){b.disableFormElements(d)},13)}),a(b.formInputClickSelector).live("click.rails",function(c){var d=a(this);if(!b.allowAction(d))return b.stopEverything(c);var e=d.attr("name"),f=e?{name:e,value:d.val()}:null;d.closest("form").data("ujs:submit-button",f)}),a(b.formSubmitSelector).live("ajax:beforeSend.rails",function(c){this==c.target&&b.disableFormElements(a(this))}),a(b.formSubmitSelector).live("ajax:complete.rails",function(c){this==c.target&&b.enableFormElements(a(this))})})(jQuery),jQuery.cookie=function(a,b,c){if(typeof b=="undefined"){var i=null;if(document.cookie&&document.cookie!=""){var j=document.cookie.split(";");for(var k=0;k<j.length;k++){var l=jQuery.trim(j[k]);if(l.substring(0,a.length+1)==a+"="){i=decodeURIComponent(l.substring(a.length+1).replace(/\+/g,"%20"));break}}}return i}c=c||{},b===null&&(b="",c.expires=-1);var d="";if(c.expires&&(typeof c.expires=="number"||c.expires.toUTCString)){var e;typeof c.expires=="number"?(e=new Date,e.setTime(e.getTime()+c.expires*24*60*60*1e3)):e=c.expires,d="; expires="+e.toUTCString()}var f=c.path?"; path="+c.path:"",g=c.domain?"; domain="+c.domain:"",h=c.secure?"; secure":"";document.cookie=[a,"=",encodeURIComponent(b),d,f,g,h].join("")},function(a){a.jGrowl=function(b,c){a("#jGrowl").size()==0&&a('<div id="jGrowl"></div>').addClass(c&&c.position?c.position:a.jGrowl.defaults.position).appendTo("body"),a("#jGrowl").jGrowl(b,c)},a.fn.jGrowl=function(b,c){if(a.isFunction(this.each)){var d=arguments;return this.each(function(){var e=this;a(this).data("jGrowl.instance")==undefined&&(a(this).data("jGrowl.instance",a.extend(new a.fn.jGrowl,{notifications:[],element:null,interval:null})),a(this).data("jGrowl.instance").startup(this)),a.isFunction(a(this).data("jGrowl.instance")[b])?a(this).data("jGrowl.instance")[b].apply(a(this).data("jGrowl.instance"),a.makeArray(d).slice(1)):a(this).data("jGrowl.instance").create(b,c)})}},a.extend(a.fn.jGrowl.prototype,{defaults:{pool:0,header:"",group:"",sticky:!1,position:"top-right",glue:"after",theme:"default",themeState:"highlight",corners:"10px",check:250,life:3e3,closeDuration:"normal",openDuration:"normal",easing:"swing",closer:!0,closeTemplate:"×",closerTemplate:"<div>[ close all ]</div>",log:function(a,b,c){},beforeOpen:function(a,b,c){},afterOpen:function(a,b,c){},open:function(a,b,c){},beforeClose:function(a,b,c){},close:function(a,b,c){},animateOpen:{opacity:"show"},animateClose:{opacity:"hide"}},notifications:[],element:null,interval:null,create:function(b,c){var c=a.extend({},this.defaults,c);typeof c.speed!="undefined"&&(c.openDuration=c.speed,c.closeDuration=c.speed),this.notifications.push({message:b,options:c}),c.log.apply(this.element,[this.element,b,c])},render:function(b){var c=this,d=b.message,e=b.options,b=a('<div class="jGrowl-notification '+e.themeState+" ui-corner-all"+(e.group!=undefined&&e.group!=""?" "+e.group:"")+'">'+'<div class="jGrowl-close">'+e.closeTemplate+"</div>"+'<div class="jGrowl-header">'+e.header+"</div>"+'<div class="jGrowl-message">'+d+"</div></div>").data("jGrowl",e).addClass(e.theme).children("div.jGrowl-close").bind("click.jGrowl",function(){a(this).parent().trigger("jGrowl.close")}).parent();a(b).bind("mouseover.jGrowl",function(){a("div.jGrowl-notification",c.element).data("jGrowl.pause",!0)}).bind("mouseout.jGrowl",function(){a("div.jGrowl-notification",c.element).data("jGrowl.pause",!1)}).bind("jGrowl.beforeOpen",function(){e.beforeOpen.apply(b,[b,d,e,c.element])!=!1&&a(this).trigger("jGrowl.open")}).bind("jGrowl.open",function(){e.open.apply(b,[b,d,e,c.element])!=!1&&(e.glue=="after"?a("div.jGrowl-notification:last",c.element).after(b):a("div.jGrowl-notification:first",c.element).before(b),a(this).animate(e.animateOpen,e.openDuration,e.easing,function(){a.browser.msie&&(parseInt(a(this).css("opacity"),10)===1||parseInt(a(this).css("opacity"),10)===0)&&this.style.removeAttribute("filter"),a(this).data("jGrowl").created=new Date,a(this).trigger("jGrowl.afterOpen")}))}).bind("jGrowl.afterOpen",function(){e.afterOpen.apply(b,[b,d,e,c.element])}).bind("jGrowl.beforeClose",function(){e.beforeClose.apply(b,[b,d,e,c.element])!=!1&&a(this).trigger("jGrowl.close")}).bind("jGrowl.close",function(){a(this).data("jGrowl.pause",!0),a(this).animate(e.animateClose,e.closeDuration,e.easing,function(){a(this).remove();var f=e.close.apply(b,[b,d,e,c.element]);a.isFunction(f)&&f.apply(b,[b,d,e,c.element])})}).trigger("jGrowl.beforeOpen"),e.corners!=""&&a.fn.corner!=undefined&&a(b).corner(e.corners),a("div.jGrowl-notification:parent",c.element).size()>1&&a("div.jGrowl-closer",c.element).size()==0&&this.defaults.closer!=!1&&a(this.defaults.closerTemplate).addClass("jGrowl-closer ui-state-highlight ui-corner-all").addClass(this.defaults.theme).appendTo(c.element).animate(this.defaults.animateOpen,this.defaults.speed,this.defaults.easing).bind("click.jGrowl",function(){a(this).siblings().trigger("jGrowl.beforeClose"),a.isFunction(c.defaults.closer)&&c.defaults.closer.apply(a(this).parent()[0],[a(this).parent()[0]])})},update:function(){a(this.element).find("div.jGrowl-notification:parent").each(function(){a(this).data("jGrowl")!=undefined&&a(this).data("jGrowl").created!=undefined&&a(this).data("jGrowl").created.getTime()+parseInt(a(this).data("jGrowl").life)<(new Date).getTime()&&a(this).data("jGrowl").sticky!=!0&&(a(this).data("jGrowl.pause")==undefined||a(this).data("jGrowl.pause")!=!0)&&a(this).trigger("jGrowl.beforeClose")}),this.notifications.length>0&&(this.defaults.pool==0||a(this.element).find("div.jGrowl-notification:parent").size()<this.defaults.pool)&&this.render(this.notifications.shift()),a(this.element).find("div.jGrowl-notification:parent").size()<2&&a(this.element).find("div.jGrowl-closer").animate(this.defaults.animateClose,this.defaults.speed,this.defaults.easing,function(){a(this).remove()})},startup:function(b){this.element=a(b).addClass("jGrowl").append('<div class="jGrowl-notification"></div>'),this.interval=setInterval(function(){a(b).data("jGrowl.instance").update()},parseInt(this.defaults.check)),a.browser.msie&&parseInt(a.browser.version)<7&&!window.XMLHttpRequest&&a(this.element).addClass("ie6")},shutdown:function(){a(this.element).removeClass("jGrowl").find("div.jGrowl-notification").remove(),clearInterval(this.interval)},close:function(){a(this.element).find("div.jGrowl-notification").each(function(){a(this).trigger("jGrowl.beforeClose")})}}),a.jGrowl.defaults=a.fn.jGrowl.prototype.defaults}(jQuery),$(function(){var a=function(a){try{return JSON.parse(a)}catch(b){return{text:a}}},b=function(a,b){typeof a=="string"&&(a=JSON.parse(a)),$.jGrowl(a.text,$.extend(a,b))};$.notify={error:function(a){b(a,{theme:"error"})},warn:function(a){b(a,{theme:"warn"})},notice:function(a){b(a,{theme:"notice"})},all:function(){$.cookie("flash.error")&&($.notify.error($.cookie("flash.error")),$.cookie("flash.error",null,{path:"/"})),$.cookie("flash.warn")&&($.notify.warn($.cookie("flash.warn")),$.cookie("flash.warn",null,{path:"/"})),$.cookie("flash.notice")&&($.notify.notice($.cookie("flash.notice")),$.cookie("flash.notice",null,{path:"/"}))}},$.notify.all()})