class DeleteCategoryViewController extends OnTimeViewController { constructor(element) { super(element); OnTime.cardManager.addEventListener("categoryremoved", this.onCategoryDeleted.bind(this)); } setCategory(category) { this.category = category; this.categoryNameLabel1.innerText = category.name; this.categoryNameLabel2.innerText = category.name; //Show or hide the migration box depending on whether there are cards in the category or not. this.migrationBox.style.display = (Object.keys(category).length > 0 ? "" : "none"); //Remove all but the first option of the category dropdown. for (var i = this.categoryDropdown.children.length - 1; i > 0; i--) { this.categoryDropdown.removeChild(this.categoryDropdown.children[i]); } //Add the names of the other categories to the migration dropdown. for (var categoryKey in OnTime.cardManager.categories) { if (categoryKey != category.category_key) { var optionElement = document.createElement("OPTION"); optionElement.value = categoryKey; optionElement.innerText = "Move to \"" + OnTime.cardManager.categories[categoryKey].name + "\""; this.categoryDropdown.appendChild(optionElement); } } } onCancelButtonPressed(event) { this.dismissModally(); } onDeleteButtonPressed(event) { this.deleteButton.disabled = true; OnTime.cardManager.deleteCategory(this.category.category_key, this.categoryDropdown.value); } onCategoryDeleted(event) { this.deleteButton.disabled = false; this.dismissModally(); } } UIKit.registerViewControllerType(DeleteCategoryViewController);