summaryrefslogtreecommitdiff
path: root/public/assets/javascripts/ui/site/EditSubscriptionModal.js
diff options
context:
space:
mode:
Diffstat (limited to 'public/assets/javascripts/ui/site/EditSubscriptionModal.js')
-rw-r--r--public/assets/javascripts/ui/site/EditSubscriptionModal.js20
1 files changed, 15 insertions, 5 deletions
diff --git a/public/assets/javascripts/ui/site/EditSubscriptionModal.js b/public/assets/javascripts/ui/site/EditSubscriptionModal.js
index e7e1fa5..1637e18 100644
--- a/public/assets/javascripts/ui/site/EditSubscriptionModal.js
+++ b/public/assets/javascripts/ui/site/EditSubscriptionModal.js
@@ -2,6 +2,7 @@
var EditSubscriptionModal = ModalFormView.extend({
el: ".mediaDrawer.editSubscription",
action: "/api/subscription",
+ syncAction: "/api/subscription/sync",
updateAction: "/api/subscription",
destroyAction: "/api/subscription/destroy",
@@ -11,6 +12,7 @@ var EditSubscriptionModal = ModalFormView.extend({
events: {
"click [data-role='upgradeSubscription']": 'upgradeSubscription',
"click [data-role='cancelSubscription']": 'cancelSubscription',
+ "click .gear": 'sync',
},
initialize: function(){
@@ -41,6 +43,7 @@ var EditSubscriptionModal = ModalFormView.extend({
this.$upgradeSubscription = this.$("[data-role=upgradeSubscription]")
this.$cancelSubscription = this.$("[data-role=cancelSubscription]")
+ this.$gear = this.$(".gear")
},
plan_levels: {
@@ -48,10 +51,6 @@ var EditSubscriptionModal = ModalFormView.extend({
basic: 1,
pro: 2,
},
-
- sync: function(){
- $.put(this.syncAction, this.didLoad.bind(this))
- },
loaded: false,
load: function(){
@@ -74,6 +73,7 @@ var EditSubscriptionModal = ModalFormView.extend({
show: function(){
+ this.$gear.removeClass("turning")
if (! this.subscriber) {
this.$freePlan.show()
this.$paidPlan.hide()
@@ -88,7 +88,7 @@ var EditSubscriptionModal = ModalFormView.extend({
this.$paidPlan.show()
this.updateTotals()
-
+
this.__super__.show.call(this)
},
@@ -127,6 +127,16 @@ var EditSubscriptionModal = ModalFormView.extend({
this.$planTotal.toDollars ( totals.plan_total )
},
+ sync: function(){
+ this.$gear.addClass("turning")
+ $.ajax({
+ url: this.syncAction,
+ type: "put",
+ data: { _csrf: $("[name=_csrf]").val() },
+ success: this.didLoad.bind(this)
+ })
+ },
+
update: function(){
$.ajax({
url: this.updateAction,