diff --git a/build/picreel.js b/build/picreel.js index 7ee8481..44df6c0 100644 --- a/build/picreel.js +++ b/build/picreel.js @@ -22,7 +22,6 @@ this.action = this.action || "/"; this.carrier = null; - this.unbindDefaultClickEvents(); this.bindNewClickEvents(); } @@ -57,10 +56,9 @@ }; APLSubscriber.prototype.handleButtonClick = function(e) { - e.preventDefault(); - $(self).trigger('onBeforeSubmit'); this.removeErrorStatus(); this.applyLoadingStatus(); + var email = this.$(this.emailSelector).val(); if(this.emailIsValid(email)) { @@ -121,14 +119,10 @@ this.carrier = this.$.ajax(carrierOptions); }; - APLSubscriber.prototype.unbindDefaultClickEvents = function() { - this.$(this.submitSelector).off('click'); - }; - APLSubscriber.prototype.bindNewClickEvents = function() { var _APL = this; - this.$(_APL.submitSelector).on('click', function(e){ + this.$(this.submitSelector).on('onBeforeSubmit', function(e){ _APL.handleButtonClick(e); }); }; diff --git a/build/picreel.min.js b/build/picreel.min.js index e27a08a..5e66fb7 100644 --- a/build/picreel.min.js +++ b/build/picreel.min.js @@ -1,2 +1,2 @@ -!function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;return b.test(a)},a.prototype.formToCarrierParams=function(){var a={};return a.email=this.$(this.emailSelector).val(),a},a.prototype.handleSuccess=function(){"function"==typeof this.onsuccess&&this.onsuccess(),this.$(self).trigger("onPicAfterSubmit")},a.prototype.handleError=function(){"function"==typeof this.onerror&&this.onerror(),this.removeLoadingStatus(),this.applyErrorStatus()},a.prototype.handleComplete=function(){"function"==typeof this.oncomplete&&this.oncomplete(),this.removeLoadingStatus()},a.prototype.submit=function(){var a=this,b={url:a.action,data:a.formToCarrierParams(),dataType:"jsonp",complete:function(){a.handleComplete()},success:function(){a.handleSuccess()},error:function(){a.handleError()},crossDomain:!0};this.carrier=this.$.ajax(b)},a.prototype.unbindDefaultClickEvents=function(){this.$(this.submitSelector).off("click")},a.prototype.bindNewClickEvents=function(){var a=this;this.$(a.submitSelector).on("click",function(b){a.handleButtonClick(b)})},getTopWindow=function(){for(var a=window;a!==a.parent;)a=a.parent;return a},a}();"undefined"!=typeof b&&null!==b&&(b.exports=a),b.exports=a}).call(this)},{}],2:[function(a,b,c){(function(){"undefined"!=typeof window&&null!==window&&(window.APLSubscriber=a("./factories/subscriber"))}).call(this)},{"./factories/subscriber":1}]},{},[1,2]); +!function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;return b.test(a)},a.prototype.formToCarrierParams=function(){var a={};return a.email=this.$(this.emailSelector).val(),a},a.prototype.handleSuccess=function(){"function"==typeof this.onsuccess&&this.onsuccess(),this.$(self).trigger("onPicAfterSubmit")},a.prototype.handleError=function(){"function"==typeof this.onerror&&this.onerror(),this.removeLoadingStatus(),this.applyErrorStatus()},a.prototype.handleComplete=function(){"function"==typeof this.oncomplete&&this.oncomplete(),this.removeLoadingStatus()},a.prototype.submit=function(){var a=this,b={url:a.action,data:a.formToCarrierParams(),dataType:"jsonp",complete:function(){a.handleComplete()},success:function(){a.handleSuccess()},error:function(){a.handleError()},crossDomain:!0};this.carrier=this.$.ajax(b)},a.prototype.bindNewClickEvents=function(){var a=this;this.$(this.submitSelector).on("onBeforeSubmit",function(b){a.handleButtonClick(b)})},getTopWindow=function(){for(var a=window;a!==a.parent;)a=a.parent;return a},a}();"undefined"!=typeof b&&null!==b&&(b.exports=a),b.exports=a}).call(this)},{}],2:[function(a,b,c){(function(){"undefined"!=typeof window&&null!==window&&(window.APLSubscriber=a("./factories/subscriber"))}).call(this)},{"./factories/subscriber":1}]},{},[1,2]); //# sourceMappingURL=picreel.min.js.map \ No newline at end of file diff --git a/build/picreel.min.js.map b/build/picreel.min.js.map index f1963a6..33aa734 100644 --- a/build/picreel.min.js.map +++ b/build/picreel.min.js.map @@ -1 +1 @@ -{"version":3,"file":"picreel.min.js","sources":["picreel.js"],"names":["e","t","n","r","s","o","u","a","require","i","f","Error","code","l","exports","call","length",1,"module","APLSubscriber","args","arg","this","topWindow","getTopWindow","$","window","jQuery","requestUrl","getRequestUrl","location","href","submitSelector","emailSelector","errorClass","loadingClass","onerror","onsuccess","oncomplete","action","carrier","unbindDefaultClickEvents","bindNewClickEvents","prototype","applyErrorStatus","self","trigger","addClass","removeErrorStatus","removeClass","applyLoadingStatus","removeLoadingStatus","val","handleButtonClick","preventDefault","email","emailIsValid","submit","handleError","re","test","formToCarrierParams","data","handleSuccess","handleComplete","_APL","carrierOptions","url","dataType","complete","success","error","crossDomain","ajax","off","on","parent",2,"./factories/subscriber"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"picreel.min.js","sources":["picreel.js"],"names":["e","t","n","r","s","o","u","a","require","i","f","Error","code","l","exports","call","length",1,"module","APLSubscriber","args","arg","this","topWindow","getTopWindow","$","window","jQuery","requestUrl","getRequestUrl","location","href","submitSelector","emailSelector","errorClass","loadingClass","onerror","onsuccess","oncomplete","action","carrier","bindNewClickEvents","prototype","applyErrorStatus","self","trigger","addClass","removeErrorStatus","removeClass","applyLoadingStatus","removeLoadingStatus","val","handleButtonClick","email","emailIsValid","submit","handleError","re","test","formToCarrierParams","data","handleSuccess","handleComplete","_APL","carrierOptions","url","dataType","complete","success","error","crossDomain","ajax","on","parent",2,"./factories/subscriber"],"mappings":"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"} \ No newline at end of file diff --git a/lib/factories/subscriber.js b/lib/factories/subscriber.js index 1019e7e..6aa2395 100644 --- a/lib/factories/subscriber.js +++ b/lib/factories/subscriber.js @@ -21,7 +21,6 @@ this.action = this.action || "/"; this.carrier = null; - this.unbindDefaultClickEvents(); this.bindNewClickEvents(); } @@ -56,10 +55,9 @@ }; APLSubscriber.prototype.handleButtonClick = function(e) { - e.preventDefault(); - $(self).trigger('onBeforeSubmit'); this.removeErrorStatus(); this.applyLoadingStatus(); + var email = this.$(this.emailSelector).val(); if(this.emailIsValid(email)) { @@ -120,14 +118,10 @@ this.carrier = this.$.ajax(carrierOptions); }; - APLSubscriber.prototype.unbindDefaultClickEvents = function() { - this.$(this.submitSelector).off('click'); - }; - APLSubscriber.prototype.bindNewClickEvents = function() { var _APL = this; - this.$(_APL.submitSelector).on('click', function(e){ + this.$(this.submitSelector).on('onBeforeSubmit', function(e){ _APL.handleButtonClick(e); }); }; diff --git a/package.json b/package.json index 5dca57b..fd18a99 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "picreel", - "version": "0.1.0", + "version": "0.2.0", "private": true, "author": { "name": "Brian Sage", diff --git a/test/lib/picreel_tests.js b/test/lib/picreel_tests.js index 51acea8..4c94a34 100644 --- a/test/lib/picreel_tests.js +++ b/test/lib/picreel_tests.js @@ -35,29 +35,27 @@ QUnit.test("APL Subscriber", function(assert) { handleButtonClickSpy.reset(); applyLoadingStatusSpy.reset(); $(subject.emailSelector).val(validEmail); - $(subject.submitSelector).trigger("click"); + $(subject.submitSelector).trigger("onBeforeSubmit"); assert.ok(handleButtonClickSpy.called, "When button is clicked, subscriber should submit to custom handler"); assert.ok(applyLoadingStatusSpy.called, "Indicates when loading"); submitSpy.reset(); applyErrorStatusSpy.reset(); $(subject.emailSelector).val(invalidEmail); - $(subject.submitSelector).trigger("click"); + $(subject.submitSelector).trigger("onBeforeSubmit"); assert.notOk(submitSpy.called, "Won't submit an invalid Email"); assert.ok(applyErrorStatusSpy.called, "Indicates an error has occured"); submitSpy.reset(); removeErrorStatusSpy.reset(); $(subject.emailSelector).val(validEmail); - $(subject.submitSelector).trigger("click"); + $(subject.submitSelector).trigger("onBeforeSubmit"); assert.ok(submitSpy.called, "Will submit a valid Email"); assert.ok(removeErrorStatusSpy.called, "Removes error indicators"); carrierSpy.reset(); $(subject.emailSelector).val(validEmail); - $(subject.submitSelector).trigger("click"); + $(subject.submitSelector).trigger("onBeforeSubmit"); assert.deepEqual(subject.formToCarrierParams(), validFormData, "Reads data from the form"); assert.ok(carrierSpy.called, "Sends AJAX carrier"); - - //"Pass picreel extended form data" });