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  }