The RangeSelector component for Angular represents a widget which can easily be used to select a numeric or date range. The API of RangeSelector allows for a variety of user settings to be applied such as setting the range in numbers, days, weeks, months, years, etc.
npm install -g @angular/cli ng new jqwidgets-project cd jqwidgets-project
ng add jqwidgets-ng
jQWidgets UI for Angular is distributed as jqwidgets-ng NPM package
npm install jqwidgets-ng
@import 'jqwidgets-ng/jqwidgets/styles/jqx.base.css';
"styles": [ "node_modules/jqwidgets-ng/jqwidgets/styles/jqx.base.css" ]
<jqxRangeSelector [theme]="'fluent'" #rangeSelectorReference
[width]="getWidth()" [height]="100"
[min]="0" [max]="200"
[range]="{ from: 10, to: 50 }" [majorTicksInterval]="10" [minorTicksInterval]="1">
<div id="rangeSelectorContent"></div>
</jqxRangeSelector>
<div id="Div1" style="margin-left:30px; margin-top: 50px;">
<jqxButton [theme]="'fluent'" #setButton (onClick)="onClickSet()">
Set range
</jqxButton>
<jqxButton [theme]="'fluent'" #getButton (onClick)="onClickGet()">
Get range
</jqxButton>
</div>
import { Component, ViewChild } from '@angular/core';
import { jqxRangeSelectorModule, jqxRangeSelectorComponent } from 'jqwidgets-ng/jqxrangeselector';
import { jqxButtonComponent, jqxButtonModule } from 'jqwidgets-ng/jqxbuttons';
@Component({
selector: 'app-root',
imports: [jqxRangeSelectorModule, jqxButtonModule],
standalone: true,
templateUrl: './app.component.html'
})
export class AppComponent {
@ViewChild('rangeSelectorReference') myRangeSelector: jqxRangeSelectorComponent;
getWidth(): any {
if (document.body.offsetWidth < 700) {
return '90%';
}
return 700;
}
onClickGet(): void {
// Get Range.
let range = this.myRangeSelector.getRange();
alert("The selected range is from " + range.from + " to " + range.to);
};
onClickSet(): void {
// Set Range.
this.myRangeSelector.setRange(30, 70);
};
}