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 }