github.com/hernad/nomad@v1.6.112/ui/app/services/breadcrumbs.js (about)

     1  /**
     2   * Copyright (c) HashiCorp, Inc.
     3   * SPDX-License-Identifier: MPL-2.0
     4   */
     5  
     6  import Service from '@ember/service';
     7  import { action } from '@ember/object';
     8  import { tracked } from '@glimmer/tracking';
     9  import { schedule } from '@ember/runloop';
    10  
    11  export default class BucketService extends Service {
    12    @tracked crumbs = [];
    13  
    14    @action registerBreadcrumb(crumb) {
    15      schedule('actions', this, () => {
    16        this.crumbs = [...this.crumbs, crumb];
    17      });
    18    }
    19  
    20    @action deregisterBreadcrumb(crumb) {
    21      const newCrumbs = this.crumbs.filter((c) => c !== crumb);
    22  
    23      this.crumbs = newCrumbs;
    24    }
    25  }