github.com/Ilhicas/nomad@v1.0.4-0.20210304152020-e86851182bc3/ui/app/components/fs/breadcrumbs.js (about)

     1  import Component from '@ember/component';
     2  import { computed } from '@ember/object';
     3  import { isEmpty } from '@ember/utils';
     4  import { classNames, tagName } from '@ember-decorators/component';
     5  import classic from 'ember-classic-decorator';
     6  
     7  @classic
     8  @tagName('nav')
     9  @classNames('breadcrumb')
    10  export default class Breadcrumbs extends Component {
    11    'data-test-fs-breadcrumbs' = true;
    12  
    13    allocation = null;
    14    taskState = null;
    15    path = null;
    16  
    17    @computed('path')
    18    get breadcrumbs() {
    19      const breadcrumbs = this.path
    20        .split('/')
    21        .reject(isEmpty)
    22        .reduce((breadcrumbs, pathSegment, index) => {
    23          let breadcrumbPath;
    24  
    25          if (index > 0) {
    26            const lastBreadcrumb = breadcrumbs[index - 1];
    27            breadcrumbPath = `${lastBreadcrumb.path}/${pathSegment}`;
    28          } else {
    29            breadcrumbPath = pathSegment;
    30          }
    31  
    32          breadcrumbs.push({
    33            name: pathSegment,
    34            path: breadcrumbPath,
    35          });
    36  
    37          return breadcrumbs;
    38        }, []);
    39  
    40      if (breadcrumbs.length) {
    41        breadcrumbs[breadcrumbs.length - 1].isLast = true;
    42      }
    43  
    44      return breadcrumbs;
    45    }
    46  }