Skip to content

Commit 74d44b2

Browse files
ndeshevkgogov
authored andcommitted
feat(ui5-slider, ui5-range-slider): add input as a tooltip (#9547)
* feat(ui5-slider, ui5-range-slider): add input as a tooltip implement editable tooltip feature
1 parent 10e8d2a commit 74d44b2

File tree

13 files changed

+1014
-139
lines changed

13 files changed

+1014
-139
lines changed

packages/main/src/RangeSlider.hbs

Lines changed: 70 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
{{>include "./SliderBase.hbs"}}
22

33
{{#*inline "handlesAriaText"}}
4-
<span id="{{_id}}-startHandleDesc" class="ui5-hidden-text">{{_ariaHandlesText.startHandleText}}</span>
5-
<span id="{{_id}}-endHandleDesc" class="ui5-hidden-text">{{_ariaHandlesText.endHandleText}}</span>
4+
<span id="ui5-slider-startHandleDesc" class="ui5-hidden-text">{{_ariaHandlesText.startHandleText}}</span>
5+
<span id="ui5-slider-endHandleDesc" class="ui5-hidden-text">{{_ariaHandlesText.endHandleText}}</span>
66
{{/inline}}
77

88
{{#*inline "progressBar"}}
@@ -22,56 +22,88 @@
2222
aria-valuemax="{{max}}"
2323
aria-valuenow="{{_ariaValueNow}}"
2424
aria-valuetext="From {{startValue}} to {{endValue}}"
25-
aria-labelledby="{{_ariaLabelledByProgressBarRefs}}"
25+
aria-labelledby="ui5-slider-sliderDesc"
2626
aria-disabled="{{_ariaDisabled}}"
2727
></div>
2828
</div>
2929
{{/inline}}
3030

3131
{{#*inline "handles"}}
32-
<div class="ui5-slider-handle ui5-slider-handle--start"
33-
part="handle"
34-
style="{{styles.startHandle}}"
35-
@focusin="{{_onfocusin}}"
36-
@focusout="{{_onfocusout}}"
37-
role="slider"
38-
tabindex="{{_tabIndex}}"
39-
aria-orientation="horizontal"
40-
aria-valuemin="{{min}}"
41-
aria-valuemax="{{max}}"
42-
aria-valuenow="{{startValue}}"
43-
aria-labelledby="{{_ariaLabelledByStartHandleRefs}}"
44-
aria-disabled="{{_ariaDisabled}}"
45-
>
46-
<ui5-icon name="direction-arrows" mode="Decorative" slider-icon></ui5-icon>
32+
<div class="ui5-slider-handle-container" style="{{styles.startHandle}}" part="handle-container">
33+
34+
<div class="ui5-slider-handle ui5-slider-handle--start"
35+
part="handle"
36+
@focusin="{{_onfocusin}}"
37+
@focusout="{{_onfocusout}}"
38+
role="slider"
39+
tabindex="{{_tabIndex}}"
40+
aria-orientation="horizontal"
41+
aria-valuemin="{{min}}"
42+
aria-valuemax="{{max}}"
43+
aria-valuenow="{{startValue}}"
44+
aria-labelledby="ui5-slider-startHandleDesc"
45+
aria-disabled="{{_ariaDisabled}}"
46+
.aria-describedby="{{_ariaDescribedByHandleText}}"
47+
>
48+
<ui5-icon name="direction-arrows" mode="Decorative" slider-icon></ui5-icon>
49+
</div>
4750

4851
{{#if showTooltip}}
49-
<div class="ui5-slider-tooltip ui5-slider-tooltip--start" style="{{styles.tooltip}}">
52+
<div class="ui5-slider-tooltip ui5-slider-tooltip--start" style="{{styles.tooltip}}">
53+
{{#if editableTooltip}}
54+
<ui5-input
55+
type="Number"
56+
value="{{startValue}}"
57+
accessible-name-ref="ui5-slider-InputLabel"
58+
@focusout="{{_onInputFocusOut}}"
59+
@keydown="{{_onInputKeydown}}"
60+
@ui5-change="{{_onInputChange}}"
61+
@ui5-input="{{_onInputInput}}"
62+
data-sap-ui-start-value
63+
tabindex="-1"
64+
></ui5-input>
65+
{{else}}
5066
<span class="ui5-slider-tooltip-value">{{tooltipStartValue}}</span>
51-
</div>
67+
{{/if}}
68+
</div>
5269
{{/if}}
5370
</div>
54-
55-
<div class="ui5-slider-handle ui5-slider-handle--end"
56-
part="handle"
57-
style="{{styles.endHandle}}"
58-
@focusin="{{_onfocusin}}"
59-
@focusout="{{_onfocusout}}"
60-
role="slider"
61-
tabindex="{{_tabIndex}}"
62-
aria-orientation="horizontal"
63-
aria-valuemin="{{min}}"
64-
aria-valuemax="{{max}}"
65-
aria-valuenow="{{endValue}}"
66-
aria-labelledby="{{_ariaLabelledByEndHandleRefs}}"
67-
aria-disabled="{{_ariaDisabled}}"
68-
>
69-
<ui5-icon name="direction-arrows" mode="Decorative" slider-icon></ui5-icon>
71+
<div class="ui5-slider-handle-container" style="{{styles.endHandle}}" part="handle-container">
72+
<div class="ui5-slider-handle ui5-slider-handle--end"
73+
part="handle"
74+
@focusin="{{_onfocusin}}"
75+
@focusout="{{_onfocusout}}"
76+
role="slider"
77+
tabindex="{{_tabIndex}}"
78+
aria-orientation="horizontal"
79+
aria-valuemin="{{min}}"
80+
aria-valuemax="{{max}}"
81+
aria-valuenow="{{endValue}}"
82+
aria-labelledby="ui5-slider-endHandleDesc"
83+
.aria-describedby="{{_ariaDescribedByHandleText}}"
84+
aria-disabled="{{_ariaDisabled}}"
85+
>
86+
<ui5-icon name="direction-arrows" mode="Decorative" slider-icon></ui5-icon>
87+
</div>
7088

7189
{{#if showTooltip}}
72-
<div class="ui5-slider-tooltip ui5-slider-tooltip--end" style="{{styles.tooltip}}">
90+
<div class="ui5-slider-tooltip ui5-slider-tooltip--end" style="{{styles.tooltip}}">
91+
{{#if editableTooltip}}
92+
<ui5-input
93+
type="Number"
94+
value="{{endValue}}"
95+
accessible-name-ref="ui5-slider-InputLabel"
96+
@focusout="{{_onInputFocusOut}}"
97+
@keydown="{{_onInputKeydown}}"
98+
@ui5-change="{{_onInputChange}}"
99+
@ui5-input="{{_onInputInput}}"
100+
data-sap-ui-end-value
101+
tabindex="-1"
102+
></ui5-input>
103+
{{else}}
73104
<span class="ui5-slider-tooltip-value">{{tooltipEndValue}}</span>
74-
</div>
105+
{{/if}}
106+
</div>
75107
{{/if}}
76108
</div>
77109
{{/inline}}

0 commit comments

Comments
 (0)