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 });