mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 01:38:56 -04:00
This commit is contained in:
parent
cec670aa05
commit
90d3596641
4 changed files with 121 additions and 3 deletions
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"routeParams": {
|
||||
"org": "elastic",
|
||||
"path": "src/public/css/lib/bootstrap/mixins/_alerts.scss",
|
||||
"pathType": "blob",
|
||||
"repo": "TypeScript-Node-Starter",
|
||||
"resource": "github.com",
|
||||
"revision": "master"
|
||||
}
|
||||
}
|
89
x-pack/legacy/plugins/code/public/components/main/__snapshots__/breadcrumb.test.tsx.snap
generated
Normal file
89
x-pack/legacy/plugins/code/public/components/main/__snapshots__/breadcrumb.test.tsx.snap
generated
Normal file
|
@ -0,0 +1,89 @@
|
|||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`render correctly 1`] = `
|
||||
<nav
|
||||
aria-label="breadcrumb"
|
||||
className="euiBreadcrumbs euiBreadcrumbs--truncate euiBreadcrumbs--responsive"
|
||||
>
|
||||
<a
|
||||
className="euiLink euiLink--subdued euiBreadcrumb codeNoMinWidth"
|
||||
data-test-subj="codeFileBreadcrumb-src"
|
||||
href="#github.com/elastic/TypeScript-Node-Starter/tree/master/src"
|
||||
rel="noreferrer"
|
||||
title="src"
|
||||
>
|
||||
src
|
||||
</a>
|
||||
<div
|
||||
className="euiBreadcrumbSeparator"
|
||||
/>
|
||||
<a
|
||||
className="euiLink euiLink--subdued euiBreadcrumb codeNoMinWidth"
|
||||
data-test-subj="codeFileBreadcrumb-public"
|
||||
href="#github.com/elastic/TypeScript-Node-Starter/tree/master/src/public"
|
||||
rel="noreferrer"
|
||||
title="public"
|
||||
>
|
||||
public
|
||||
</a>
|
||||
<div
|
||||
className="euiBreadcrumbSeparator"
|
||||
/>
|
||||
<a
|
||||
className="euiLink euiLink--subdued euiBreadcrumb codeNoMinWidth"
|
||||
data-test-subj="codeFileBreadcrumb-css"
|
||||
href="#github.com/elastic/TypeScript-Node-Starter/tree/master/src/public/css"
|
||||
rel="noreferrer"
|
||||
title="css"
|
||||
>
|
||||
css
|
||||
</a>
|
||||
<div
|
||||
className="euiBreadcrumbSeparator"
|
||||
/>
|
||||
<a
|
||||
className="euiLink euiLink--subdued euiBreadcrumb codeNoMinWidth"
|
||||
data-test-subj="codeFileBreadcrumb-lib"
|
||||
href="#github.com/elastic/TypeScript-Node-Starter/tree/master/src/public/css/lib"
|
||||
rel="noreferrer"
|
||||
title="lib"
|
||||
>
|
||||
lib
|
||||
</a>
|
||||
<div
|
||||
className="euiBreadcrumbSeparator"
|
||||
/>
|
||||
<a
|
||||
className="euiLink euiLink--subdued euiBreadcrumb codeNoMinWidth"
|
||||
data-test-subj="codeFileBreadcrumb-bootstrap"
|
||||
href="#github.com/elastic/TypeScript-Node-Starter/tree/master/src/public/css/lib/bootstrap"
|
||||
rel="noreferrer"
|
||||
title="bootstrap"
|
||||
>
|
||||
bootstrap
|
||||
</a>
|
||||
<div
|
||||
className="euiBreadcrumbSeparator"
|
||||
/>
|
||||
<a
|
||||
className="euiLink euiLink--subdued euiBreadcrumb codeNoMinWidth"
|
||||
data-test-subj="codeFileBreadcrumb-mixins"
|
||||
href="#github.com/elastic/TypeScript-Node-Starter/tree/master/src/public/css/lib/bootstrap/mixins"
|
||||
rel="noreferrer"
|
||||
title="mixins"
|
||||
>
|
||||
mixins
|
||||
</a>
|
||||
<div
|
||||
className="euiBreadcrumbSeparator"
|
||||
/>
|
||||
<span
|
||||
aria-current="page"
|
||||
className="euiBreadcrumb codeNoMinWidth euiBreadcrumb--last"
|
||||
data-test-subj="codeFileBreadcrumb-_alerts.scss"
|
||||
title="_alerts.scss"
|
||||
>
|
||||
_alerts.scss
|
||||
</span>
|
||||
</nav>
|
||||
`;
|
|
@ -0,0 +1,15 @@
|
|||
/*
|
||||
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
||||
* or more contributor license agreements. Licensed under the Elastic License;
|
||||
* you may not use this file except in compliance with the Elastic License.
|
||||
*/
|
||||
|
||||
import React from 'react';
|
||||
import renderer from 'react-test-renderer';
|
||||
import { Breadcrumb } from './breadcrumb';
|
||||
import props from './__fixtures__/breadcrumb_props.json';
|
||||
|
||||
test('render correctly', () => {
|
||||
const tree = renderer.create(<Breadcrumb routeParams={props.routeParams} />).toJSON();
|
||||
expect(tree).toMatchSnapshot();
|
||||
});
|
|
@ -26,15 +26,19 @@ export class Breadcrumb extends React.PureComponent<Props> {
|
|||
}> = [];
|
||||
const pathSegments = path ? path.split('/') : [];
|
||||
|
||||
pathSegments.forEach((p, index) => {
|
||||
pathSegments.forEach((p, index, array) => {
|
||||
const paths = pathSegments.slice(0, index + 1);
|
||||
const href = `#${repoUri}/tree/${encodeRevisionString(revision)}/${paths.join('/')}`;
|
||||
breadcrumbs.push({
|
||||
const breadcrumb = {
|
||||
text: p,
|
||||
href,
|
||||
className: 'codeNoMinWidth',
|
||||
['data-test-subj']: `codeFileBreadcrumb-${p}`,
|
||||
});
|
||||
};
|
||||
if (index === array.length - 1) {
|
||||
delete breadcrumb.href;
|
||||
}
|
||||
breadcrumbs.push(breadcrumb);
|
||||
});
|
||||
return <EuiBreadcrumbs max={Number.MAX_VALUE} breadcrumbs={breadcrumbs} />;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue