Skip to content

Commit 6454e29

Browse files
fix(ui5-date-picker): hiding month button when month picker is shown (#2331)
Related to: #2244
1 parent 155f8e0 commit 6454e29

File tree

6 files changed

+22
-0
lines changed

6 files changed

+22
-0
lines changed

packages/main/src/Calendar.hbs

+1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
@ui5-show-year-press="{{_header.onBtn2Press}}"
1616
._isNextButtonDisabled="{{_header._isNextButtonDisabled}}"
1717
._isPrevButtonDisabled="{{_header._isPrevButtonDisabled}}"
18+
._isMonthButtonHidden="{{_header._isMonthButtonHidden}}"
1819
></ui5-calendar-header>
1920

2021
<div id="{{_id}}-content">

packages/main/src/Calendar.js

+3
Original file line numberDiff line numberDiff line change
@@ -486,6 +486,7 @@ class Calendar extends UI5Element {
486486

487487
_handleMonthButtonPress() {
488488
this._hideYearPicker();
489+
this._header._isMonthButtonHidden = true;
489490

490491
this[`_${this._monthPicker._hidden ? "show" : "hide"}MonthPicker`]();
491492
}
@@ -674,6 +675,7 @@ class Calendar extends UI5Element {
674675

675676
this._calendarWidth = calendarRect.width.toString();
676677
this._calendarHeight = calendarRect.height.toString();
678+
this._header._isMonthButtonHidden = true;
677679
}
678680

679681
_showYearPicker() {
@@ -699,6 +701,7 @@ class Calendar extends UI5Element {
699701
this._oMonth._hidden = false;
700702
}
701703
this._monthPicker._hidden = true;
704+
this._header._isMonthButtonHidden = false;
702705
}
703706

704707
_hideYearPicker() {

packages/main/src/CalendarHeader.hbs

+1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
<div
2525
id="{{_id}}-btn1"
2626
class="ui5-calheader-arrowbtn ui5-calheader-middlebtn"
27+
?hidden="{{_isMonthButtonHidden}}"
2728
type="{{_btn1.type}}"
2829
tabindex="0"
2930
@click={{_showMonthPicker}}

packages/main/src/CalendarHeader.js

+3
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,9 @@ const metadata = {
4343
_isPrevButtonDisabled: {
4444
type: Boolean,
4545
},
46+
_isMonthButtonHidden: {
47+
type: Boolean,
48+
},
4649
},
4750
events: {
4851
"previous-press": {},

packages/main/src/themes/CalendarHeader.css

+5
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,10 @@
3939
color: var(--sapButton_TextColor);
4040
}
4141

42+
[hidden].ui5-calheader-arrowbtn.ui5-calheader-middlebtn {
43+
display: none;
44+
}
45+
4246
.ui5-calheader-arrowbtn:focus {
4347
outline: none;
4448
}
@@ -57,6 +61,7 @@
5761
.ui5-calheader-middlebtn {
5862
border: var(--_ui5_calendar_header_arrow_button_border);
5963
border-radius: var(--_ui5_calendar_header_arrow_button_border_radius);
64+
display:flex;
6065
}
6166

6267
.ui5-calheader-arrowicon {

packages/main/test/specs/Calendar.spec.js

+9
Original file line numberDiff line numberDiff line change
@@ -143,4 +143,13 @@ describe("Calendar general interaction", () => {
143143

144144
assert.deepEqual(new Date(calendar.getProperty("timestamp") * 1000), new Date(Date.UTC(2000, 9, 1, 0, 0, 0)));
145145
});
146+
147+
it("When month picker is shown the month button is hidden", () => {
148+
const calendarHeader = browser.$("#calendar1").shadow$("ui5-calendar-header");
149+
150+
browser.keys(["F4"]);
151+
browser.keys('PageUp');
152+
153+
assert.ok(calendarHeader.shadow$(".ui5-calheader-middlebtn").getAttribute("hidden"), "The button for month is hidden");
154+
});
146155
});

0 commit comments

Comments
 (0)