-
Notifications
You must be signed in to change notification settings - Fork 278
Expand file tree
/
Copy pathBreadcrumbsTemplate.tsx
More file actions
70 lines (64 loc) · 2.13 KB
/
BreadcrumbsTemplate.tsx
File metadata and controls
70 lines (64 loc) · 2.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
import type Breadcrumbs from "./Breadcrumbs.js";
import BreadcrumbsPopoverTemplate from "./BreadcrumbsPopoverTemplate.js";
import slimArrowDown from "@ui5/webcomponents-icons/dist/slim-arrow-down.js";
import Icon from "./Icon.js";
import Link from "./Link.js";
import Label from "./Label.js";
export default function BreadcrumbsTemplate(this: Breadcrumbs) {
return (
<>
<nav class="ui5-breadcrumbs-root" aria-label={this._accessibleNameText}>
<ol
onFocusIn={this._onfocusin}
onKeyDown={this._onkeydown}
onKeyUp={this._onkeyup}>
<li class="ui5-breadcrumbs-dropdown-arrow-link-wrapper" hidden={this._isOverflowEmpty}>
<Link
wrappingType="None"
accessibleRole="Button"
accessibleName={this._dropdownArrowAccessibleNameText}
accessibilityAttributes={this.linkAccessibilityAttributes}
onClick={this._openRespPopover}
>
<Icon name={slimArrowDown} title={this._dropdownArrowAccessibleNameText}/>
</Link>
</li>
{this._linksData.map(linkData =>
<li id={`${linkData._id}-link-wrapper`} class="ui5-breadcrumbs-link-wrapper">
<Link
id={`${linkData._id}-link`}
href={linkData.href}
target={linkData.target}
design={linkData._linkDesign}
accessibleName={linkData._accessibleNameText}
accessibilityAttributes={linkData.accessibilityAttributes}
data-ui5-stable={linkData.stableDomRef}
wrappingType="None"
onClick={this._onLinkPress}
>
{linkData.innerText}
</Link>
{linkData._needsSeparator &&
<span class="ui5-breadcrumbs-separator" aria-hidden="true"></span>
}
</li>
)}
{!this._endsWithCurrentLinkItem && this._endsWithCurrentLocation &&
<li class="ui5-breadcrumbs-current-location" onClick={this._onLabelPress}>
<span
id={`${this._id}-labelWrapper`}
aria-current="page"
aria-label={this._currentLocationAccName}
>
<Label wrappingType="None">
{this._currentLocationText}
</Label>
</span>
</li>
}
</ol>
</nav>
{ BreadcrumbsPopoverTemplate.call(this) }
</>
);
}