github.com/anth0d/nomad@v0.0.0-20221214183521-ae3a0a2cad06/ui/app/controllers/policies/policy.js (about) 1 // @ts-check 2 import Controller from '@ember/controller'; 3 import { action } from '@ember/object'; 4 import { inject as service } from '@ember/service'; 5 import { tracked } from '@glimmer/tracking'; 6 import { task } from 'ember-concurrency'; 7 8 export default class PoliciesPolicyController extends Controller { 9 @service flashMessages; 10 @service router; 11 12 @tracked isDeleting = false; 13 14 @action 15 onDeletePrompt() { 16 this.isDeleting = true; 17 } 18 19 @action 20 onDeleteCancel() { 21 this.isDeleting = false; 22 } 23 24 @task(function* () { 25 try { 26 yield this.model.deleteRecord(); 27 yield this.model.save(); 28 this.flashMessages.add({ 29 title: 'Policy Deleted', 30 type: 'success', 31 destroyOnClick: false, 32 timeout: 5000, 33 }); 34 this.router.transitionTo('policies'); 35 } catch (err) { 36 this.flashMessages.add({ 37 title: `Error deleting Policy ${this.model.name}`, 38 message: err, 39 type: 'error', 40 destroyOnClick: false, 41 sticky: true, 42 }); 43 } 44 }) 45 deletePolicy; 46 }