github.com/manicqin/nomad@v0.9.5/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  
     5  export default Component.extend({
     6    tagName: 'nav',
     7    classNames: ['breadcrumb'],
     8  
     9    'data-test-fs-breadcrumbs': true,
    10  
    11    task: null,
    12    path: null,
    13  
    14    breadcrumbs: computed('path', function() {
    15      const breadcrumbs = this.path
    16        .split('/')
    17        .reject(isEmpty)
    18        .reduce((breadcrumbs, pathSegment, index) => {
    19          let breadcrumbPath;
    20  
    21          if (index > 0) {
    22            const lastBreadcrumb = breadcrumbs[index - 1];
    23            breadcrumbPath = `${lastBreadcrumb.path}/${pathSegment}`;
    24          } else {
    25            breadcrumbPath = pathSegment;
    26          }
    27  
    28          breadcrumbs.push({
    29            name: pathSegment,
    30            path: breadcrumbPath,
    31          });
    32  
    33          return breadcrumbs;
    34        }, []);
    35  
    36      if (breadcrumbs.length) {
    37        breadcrumbs[breadcrumbs.length - 1].isLast = true;
    38      }
    39  
    40      return breadcrumbs;
    41    }),
    42  });