fix(calendar): Prevent clicking on delete event button when network is slow

This commit is contained in:
smizrahi
2023-12-22 13:08:38 +00:00
parent cbeaa4cc11
commit acd4a1f4aa
2 changed files with 26 additions and 8 deletions
@@ -276,6 +276,7 @@
<md-button class="md-warn"
label:aria-label="Delete Event"
ng-show="::editor.component.isErasable"
ng-disabled="editor.isDeleting"
ng-click="editor.deleteAllOccurrences()">
<var:string label:value="Delete"/>
</md-button>
@@ -292,6 +293,7 @@
<md-button class="md-warn"
label:aria-label="Delete Event"
ng-click="$mdMenu.open()"
ng-disabled="editor.isDeleting"
md-menu-origin="md-menu-origin">
<var:string label:value="Delete"/> <md-icon>arrow_drop_down</md-icon>
</md-button>
@@ -299,6 +301,7 @@
<md-menu-item>
<md-button class="md-warn"
label:aria-label="Delete This Occurrence"
ng-disabled="editor.isDeleting"
ng-click="editor.deleteOccurrence()">
<md-icon>repeat_one</md-icon> <var:string label:value="Delete This Occurrence"/>
</md-button>
@@ -306,6 +309,7 @@
<md-menu-item>
<md-button class="md-warn"
label:aria-label="Delete All Occurrences"
ng-disabled="editor.isDeleting"
ng-click="editor.deleteAllOccurrences()">
<md-icon>repeat</md-icon> <var:string label:value="Delete All Occurrences"/>
</md-button>
@@ -339,6 +343,7 @@
<md-dialog-actions ng-show="::editor.component.isInvitation()">
<md-button class="md-warn"
label:aria-label="Delete Event"
ng-disabled="editor.isDeleting"
ng-click="editor.deleteAllOccurrences()">
<var:string label:value="Delete"/>
</md-button>
@@ -355,6 +360,7 @@
<md-button class="md-warn"
label:aria-label="Delete Event"
ng-click="$mdMenu.open()"
ng-disabled="editor.isDeleting"
md-menu-origin="md-menu-origin">
<var:string label:value="Delete"/> <md-icon>arrow_drop_down</md-icon>
</md-button>
@@ -362,6 +368,7 @@
<md-menu-item>
<md-button class="md-warn"
label:aria-label="Delete This Occurrence"
ng-disabled="editor.isDeleting"
ng-click="editor.deleteOccurrence()">
<md-icon>repeat_one</md-icon> <var:string label:value="Delete This Occurrence"/>
</md-button>
@@ -369,6 +376,7 @@
<md-menu-item>
<md-button class="md-warn"
label:aria-label="Delete All Occurrences"
ng-disabled="editor.isDeleting"
ng-click="editor.deleteAllOccurrences()">
<md-icon>repeat</md-icon> <var:string label:value="Delete All Occurrences"/>
</md-button>
@@ -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) {