diff --git a/UI/Templates/SchedulerUI/UIxAppointmentViewTemplate.wox b/UI/Templates/SchedulerUI/UIxAppointmentViewTemplate.wox
index ef0d8c381..cb97fe18d 100644
--- a/UI/Templates/SchedulerUI/UIxAppointmentViewTemplate.wox
+++ b/UI/Templates/SchedulerUI/UIxAppointmentViewTemplate.wox
@@ -276,6 +276,7 @@
@@ -292,6 +293,7 @@
arrow_drop_down
@@ -299,6 +301,7 @@
repeat_one
@@ -306,6 +309,7 @@
repeat
@@ -339,6 +343,7 @@
@@ -355,6 +360,7 @@
arrow_drop_down
@@ -362,6 +368,7 @@
repeat_one
@@ -369,6 +376,7 @@
repeat
diff --git a/UI/WebServerResources/js/Scheduler/ComponentController.js b/UI/WebServerResources/js/Scheduler/ComponentController.js
index 89b7f7354..3f5e9c861 100644
--- a/UI/WebServerResources/js/Scheduler/ComponentController.js
+++ b/UI/WebServerResources/js/Scheduler/ComponentController.js
@@ -14,6 +14,7 @@
this.calendarService = Calendar;
this.service = Component;
this.component = stateComponent;
+ this.isDeleting = false;
// Put organizer in an array to display it as an mdChip
this.organizer = [stateComponent.organizer];
@@ -144,17 +145,26 @@
};
this.deleteOccurrence = function () {
- this.component.remove(true).then(function() {
- $rootScope.$emit('calendars:list');
- $mdDialog.hide();
- });
+ if (!this.isDeleting) {
+ this.isDeleting = true;
+ this.component.remove(true).then(function() {
+ $rootScope.$emit('calendars:list');
+ $mdDialog.hide();
+ vm.isDeleting = false;
+ });
+ }
};
this.deleteAllOccurrences = function () {
- this.component.remove().then(function() {
- $rootScope.$emit('calendars:list');
- $mdDialog.hide();
- });
+ if (!this.isDeleting) {
+ this.isDeleting = true;
+ this.component.remove().then(function () {
+ $rootScope.$emit('calendars:list');
+ $mdDialog.hide();
+ vm.isDeleting = false;
+ });
+ }
+
};
this.toggleRawSource = function ($event) {