Skip to content

Commit 02ddd0d

Browse files
authored
feat(ui5-shellbar-item): introduce count property (#1221)
1 parent 28ed69a commit 02ddd0d

File tree

7 files changed

+39
-7
lines changed

7 files changed

+39
-7
lines changed

packages/fiori/src/ShellBar.hbs

+1
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747
{{#if this.icon}}
4848
<ui5-icon
4949
tabindex="{{this._tabIndex}}"
50+
data-count="{{this.count}}"
5051
data-ui5-notification-count="{{../notificationCount}}"
5152
data-ui5-external-action-item-id="{{this.refItemid}}"
5253
class="{{this.classes}}"

packages/fiori/src/ShellBar.js

+1
Original file line numberDiff line numberDiff line change
@@ -759,6 +759,7 @@ class ShellBar extends UI5Element {
759759
return {
760760
icon: item.icon,
761761
id: item._id,
762+
count: item.count || undefined,
762763
refItemid: item._id,
763764
text: item.text,
764765
classes: "ui5-shellbar-custom-item ui5-shellbar-button",

packages/fiori/src/ShellBarItem.js

+12-1
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,23 @@ const metadata = {
2222
/**
2323
* Defines the item text.
2424
* @type {string}
25-
* @defaultvalue: ""
25+
* @defaulValue ""
2626
* @public
2727
*/
2828
text: {
2929
type: String,
3030
},
31+
32+
/**
33+
* Defines the count displayed in the top-right corner.
34+
* @type {string}
35+
* @defaultValue ""
36+
* @since 1.0.0-rc.6
37+
* @public
38+
*/
39+
count: {
40+
type: String,
41+
},
3142
},
3243

3344
events: /** @lends sap.ui.webcomponents.fiori.ShellBarItem.prototype */ {

packages/fiori/src/themes/ShellBar.css

+10-2
Original file line numberDiff line numberDiff line change
@@ -303,8 +303,8 @@
303303
position: relative;
304304
}
305305

306-
:host([notification-count]) .ui5-shellbar-bell-button::before {
307-
content: attr(data-ui5-notification-count);
306+
:host([notification-count]) .ui5-shellbar-bell-button::before,
307+
ui5-icon[data-count]::before {
308308
position: absolute;
309309
width: auto;
310310
height: 1rem;
@@ -324,6 +324,14 @@
324324
box-sizing: border-box;
325325
}
326326

327+
:host([notification-count]) .ui5-shellbar-bell-button::before {
328+
content: attr(data-ui5-notification-count);
329+
}
330+
331+
ui5-icon[data-count]::before {
332+
content: attr(data-count);
333+
}
334+
327335
.ui5-shellbar-menu-button {
328336
margin-left: 0.5rem;
329337
}

packages/fiori/test/pages/ShellBar.html

+3-2
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
<script data-ui5-config type="application/json">
1010
{
11-
"rtl": false,
11+
"rtl": false
1212
}
1313
</script>
1414

@@ -63,11 +63,12 @@
6363
class="shellbar-example"
6464
primary-title="Custom Actions"
6565
secondary-title="Second Title"
66+
id="shellbarwithitems"
6667
>
6768
<ui5-shellbar-item icon="accelerated" text="Hello World!"></ui5-shellbar-item>
6869
<ui5-shellbar-item icon="accept" text="Hello World!"></ui5-shellbar-item>
6970
<ui5-shellbar-item icon="alert" text="Hello World!"></ui5-shellbar-item>
70-
<ui5-shellbar-item icon="discussion" text="Hello World!"></ui5-shellbar-item>
71+
<ui5-shellbar-item icon="discussion" text="Hello World!" count="42"></ui5-shellbar-item>
7172
<ui5-shellbar-item icon="error" text="Hello World!"></ui5-shellbar-item>
7273
<ui5-shellbar-item icon="hello-world" text="UI5 Webcomponents"></ui5-shellbar-item>
7374
<ui5-shellbar-item icon="laptop" text="UI5 Webcomponents"></ui5-shellbar-item>

packages/fiori/test/samples/ShellBar.sample.html

+2-2
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ <h3>ShellBar</h3>
2828
<ui5-button icon="nav-back" slot="startButton"></ui5-button>
2929

3030
<ui5-shellbar-item id="disc" icon="disconnected" text="Disconnect"></ui5-shellbar-item>
31-
<ui5-shellbar-item id="call" icon="incoming-call" text="Incoming Calls"></ui5-shellbar-item>
31+
<ui5-shellbar-item id="call" icon="incoming-call" text="Incoming Calls" count="4"></ui5-shellbar-item>
3232

3333
<ui5-input slot="searchField"></ui5-input>
3434

@@ -77,7 +77,7 @@ <h3>ShellBar</h3>
7777
<ui5-button icon="nav-back" slot="startButton"></ui5-button>
7878

7979
<ui5-shellbar-item id="disc" icon="disconnected" text="Disconnect"></ui5-shellbar-item>
80-
<ui5-shellbar-item id="call" icon="incoming-call" text="Incoming Calls"></ui5-shellbar-item>
80+
<ui5-shellbar-item id="call" icon="incoming-call" text="Incoming Calls" count="4"></ui5-shellbar-item>
8181

8282
<ui5-input slot="searchField"></ui5-input>
8383

packages/fiori/test/specs/ShellBar.spec.js

+10
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,18 @@
1+
12
const assert = require("chai").assert;
23

34
describe("Component Behavior", () => {
45
browser.url("http://localhost:8081/test-resources/pages/ShellBar.html");
56

7+
describe("ui5-shellbar-item", () => {
8+
it("tests count property", () => {
9+
const shellbar = browser.$("#shellbarwithitems");
10+
const icon = shellbar.shadow$("ui5-icon[data-count]");
11+
12+
assert.strictEqual(icon.getAttribute("data-count"), '42', "Count property propagates to ui5-icon");
13+
})
14+
});
15+
616
describe("Responsiveness", () => {
717

818
it("tests XXL Breakpoint 1920px", () => {

0 commit comments

Comments
 (0)