Skip to content

Commit

Permalink
feat(slider): extract renderThumb method
Browse files Browse the repository at this point in the history
  • Loading branch information
DiyanDimitrov committed Nov 15, 2021
1 parent 43fcedd commit a262bdf
Showing 1 changed file with 30 additions and 47 deletions.
77 changes: 30 additions & 47 deletions src/components/slider/slider.ts
Original file line number Diff line number Diff line change
Expand Up @@ -697,6 +697,34 @@ export default class IgcSliderComponent extends EventEmitterMixin<
return groups;
}

private renderThumb(isFrom = false) {
const value = this.isRange
? isFrom
? (this.value as IRangeSliderValue).lower
: (this.value as IRangeSliderValue).upper
: (this.value as number);

return html` <div
part="thumb-label"
id=${isFrom ? 'labelFrom' : 'labelTo'}
style=${styleMap({ opacity: this.thumbLabelsVisible ? '1' : '0' })}
>
${value}
</div>
<div
part="thumb"
id=${isFrom ? 'thumbFrom' : 'thumbTo'}
tabindex=${this._tabIndex}
role="slider"
aria-valuemin=${this.min}
aria-valuemax=${this.max}
aria-valuenow=${value}
aria-disabled=${this.disabled ? 'true' : 'false'}
@pointerenter=${this.handleThumbPointerEnter}
@pointerleave=${this.handleThumbPointerLeave}
></div>`;
}

protected render() {
return html`
<div part="base">
Expand All @@ -712,53 +740,8 @@ export default class IgcSliderComponent extends EventEmitterMixin<
? html`<div part="ticks">${this.renderTicks()}</div>`
: html``}
<div part="thumbs">
${this.isRange
? html`<div part="thumb-label"
id="labelFrom"
style=${styleMap({
opacity: this.thumbLabelsVisible ? '1' : '0',
})}>${
this.isRange ? (this.value as IRangeSliderValue).lower : null
}</div>
</div>
<div
part="thumb"
id="thumbFrom"
tabindex=${this._tabIndex}
role="slider"
aria-valuemin=${this.min}
aria-valuemax=${this.max}
aria-valuenow=${
this.isRange
? (this.value as IRangeSliderValue).lower
: ''
}
aria-disabled=${this.disabled ? 'true' : 'false'}
@pointerenter=${this.handleThumbPointerEnter}
@pointerleave=${this.handleThumbPointerLeave}>
</div>`
: html``}
<div
part="thumb-label"
id="labelTo"
style=${styleMap({ opacity: this.thumbLabelsVisible ? '1' : '0' })}
>
${this.isRange
? (this.value as IRangeSliderValue).upper
: (this.value as number)}
</div>
<div
part="thumb"
id="thumbTo"
tabindex=${this._tabIndex}
role="slider"
aria-valuemin=${this.min}
aria-valuemax=${this.max}
aria-valuenow=${this.upperValue}
aria-disabled=${this.disabled ? 'true' : 'false'}
@pointerenter=${this.handleThumbPointerEnter}
@pointerleave=${this.handleThumbPointerLeave}
></div>
${this.isRange ? this.renderThumb(true) : html``}
${this.renderThumb()}
</div>
</div>
`;
Expand Down

0 comments on commit a262bdf

Please sign in to comment.