Skip to main content

syncfusion-angular-range-navigator

Implement interactive Range Navigator in Angular applications using Syncfusion. Covers data binding from local and remote sources, axis configuration (numeric and date-time), series types, tooltip customization, period selector setup, lightweight mode, RTL support, axis labels and formatting, grid ticks, print/export functionality (PNG, SVG, PDF), and accessibility features. Use this skill when creating data range selection tools, timeline navigators, and interactive data exploration components.

Source facts

Repository
syncfusion/angular-ui-components-skills
Last source activity
September 15, 2026 at 05:08
Detected SKILL.md language
English
Stars
0
Forks
1

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
11 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
syncfusion-angular-range-navigator
description
Implement interactive Range Navigator in Angular applications using Syncfusion. Covers data binding from local and remote sources, axis configuration (numeric and date-time), series types, tooltip customization, period selector setup, lightweight mode, RTL support, axis labels and formatting, grid ticks, print/export functionality (PNG, SVG, PDF), and accessibility features. Use this skill when creating data range selection tools, timeline navigators, and interactive data exploration components.
metadata
{"author":"Syncfusion Inc","version":"34.1.29","category":"Data Visualization"}
# Implementing Syncfusion Angular Range Navigator ## When to Use This Skill Use this skill when you need to: - **Create a Range Navigator component** from scratch in an Angular application - **Set up data binding** with local arrays or remote data sources - **Configure date-time or numeric axes** for different data types - **Customize tooltips** with formatted display and custom templates - **Implement period selectors** for quick date range selection - **Add multiple series types** (Area, Line, Spline, StepLine, etc.) - **Enable lightweight mode** for mobile and performance-optimized applications - **Support RTL (Right-to-Left)** layouts for international applications - **Format axis labels** and customize grid ticks - **Export or print Range Navigator** as images or PDFs - **Ensure accessibility** with keyboard navigation and ARIA attributes - **Handle empty data points** and edge cases gracefully --- ## Component Overview The **Syncfusion Angular Range Navigator** is a powerful data visualization component for browsing, selecting, and navigating through time-series data. It allows users to scroll and select ranges from large datasets and integrates seamlessly with other Syncfusion components like Chart and DataGrid. Designed for Angular 21+ with standalone architecture, it provides multiple axis types, series configurations, interactive tooltips, and comprehensive export/print capabilities. ### Key Capabilities - **Data Binding:** Local arrays, remote data sources, JSON arrays - **Axis Types:** Numeric and DateTime axes with custom intervals - **Series Types:** Area, Line, Spline, StepLine, StepArea with automatic data mapping - **Tooltips:** Enable/disable, custom formatting, headers, HTML templates - **Period Selector:** Quick selection buttons (Day, Week, Month, Year, custom ranges) - **Lightweight Mode:** Optimized for mobile and performance-critical applications - **Labels & Grid:** Customizable axis labels, grid ticks, label formats - **RTL Support:** Full right-to-left text and layout support - **Export/Print:** PNG, SVG, PDF formats with high-quality output - **Accessibility:** WCAG compliance, keyboard navigation, ARIA attributes --- ## Documentation and Navigation Guide ### Getting Started 📄 **Read:** [references/getting-started.md](references/getting-started.md) - Installation and package setup - Create your first Range Navigator - Basic component configuration with data binding - CSS and theme imports - Minimal working example - Module injection and service providers ### Axis Configuration & Types 📄 **Read:** [references/axis-configuration.md](references/axis-configuration.md) - Numeric axis setup and configuration - DateTime axis implementation - Axis interval and range customization - Axis label formatting - Axis types comparison and selection guidance - Custom axis value mapping ### Series Types & Data Binding 📄 **Read:** [references/series-types.md](references/series-types.md) - Available series types (Area, Line, Spline, StepLine, StepArea) - Series data binding and xName/yName mapping - Multiple series configuration - Series color and style customization - Data source configuration (local and remote) - Empty point handling ### Tooltips & Interactivity 📄 **Read:** [references/tooltips-interactivity.md](references/tooltips-interactivity.md) - Enable and configure tooltips - Tooltip formatting and headers - Tooltip templates with HTML - Custom tooltip content - Tooltip positioning and behavior - Range selection events and handling ### Period Selector & Range Selection 📄 **Read:** [references/period-selector.md](references/period-selector.md) - Period selector configuration - Built-in period options (Day, Week, Month, Year) - Custom period ranges - Period selector styling - Range selection programmatically - Event handling for selection changes ### Labels, Ticks & Formatting 📄 **Read:** [references/labels-formatting.md](references/labels-formatting.md) - Axis label customization and formatting - Label format strings and custom functions - Grid tick configuration and styling - Label positioning and rotation - Date and number format customization ### Lightweight Mode & Performance 📄 **Read:** [references/lightweight-mode.md](references/lightweight-mode.md) - Enable lightweight mode for mobile - Performance considerations and optimization - Mobile device optimization techniques - Lightweight mode limitations and features - When to use lightweight mode vs standard mode ### RTL & Internationalization 📄 **Read:** [references/rtl-internationalization.md](references/rtl-internationalization.md) - RTL (Right-to-Left) support and configuration - Component behavior in RTL mode - Locale and number formatting - Language-specific configurations - Multilingual support patterns ### Print, Export & Accessibility 📄 **Read:** [references/print-export-accessibility.md](references/print-export-accessibility.md) - Export Range Navigator as PNG, SVG, PDF - Print functionality configuration - WCAG 2.1 compliance guidelines - Keyboard navigation support - ARIA attributes and labels - Screen reader optimization --- ## Quick Start Example Here's a minimal example to get you started: ```typescript import { Component } from '@angular/core'; import { RangeNavigatorModule, AreaSeriesService, DateTimeService, RangeTooltipService } from '@syncfusion/ej2-angular-charts'; @Component({ selector: 'app-root', standalone: true, imports: [RangeNavigatorModule], providers: [AreaSeriesService, DateTimeService, RangeTooltipService], template: ` <ejs-rangenavigator id="rn-container" [tooltip]="{ enable: true }" valueType="DateTime"> <e-rangenavigator-series-collection> <e-rangenavigator-series [dataSource]="chartData" xName="date" yName="value" type="Area"> </e-rangenavigator-series> </e-rangenavigator-series-collection> </ejs-rangenavigator> ` }) export class AppComponent { chartData = [ { date: new Date(2023, 0, 1), value: 21 }, { date: new Date(2023, 1, 1), value: 24 }, { date: new Date(2023, 2, 1), value: 36 }, { date: new Date(2023, 3, 1), value: 38 } ]; } ``` --- ## Common Patterns ### Pattern 1: DateTime Range Navigator with Area Series When user needs to browse time-series data with date range selection: ```typescript @Component({ template: ` <ejs-rangenavigator id="range-navigator" [dataSource]="timeSeries" valueType="DateTime" [intervalType]="'Months'"> <e-rangenavigator-series-collection> <e-rangenavigator-series xName="date" yName="value" type="Area"> </e-rangenavigator-series> </e-rangenavigator-series-collection> </ejs-rangenavigator> ` }) export class TimeSeriesComponent { timeSeries = [ { date: new Date(2020, 0, 1), value: 40 }, { date: new Date(2020, 1, 1), value: 50 }, { date: new Date(2020, 2, 1), value: 60 } ]; } ``` ### Pattern 2: Range Navigator with Period Selector When user needs quick selection buttons for common time periods: ```typescript @Component({ imports: [ ChartModule, RangeNavigatorModule ], providers: [ AreaSeriesService, DateTimeService, PeriodSelectorService ], standalone: true, selector: 'app-container', template: `<ejs-rangenavigator id="rn-container" valueType='DateTime' [periodSelectorSettings]='periodSelectorConfig'> <e-rangenavigator-series-collection> <e-rangenavigator-series [dataSource]='chartData' type='Area' xName='x' yName='close' width=2> </e-rangenavigator-series> </e-rangenavigator-series-collection> </ejs-rangenavigator>` }) export class PeriodSelectorComponent { chartData = [...]; // time series data periodSelectorConfig = { periods: [ { text: '1M', interval: 1, intervalType: 'Months' }, { text: '3M', interval: 3, intervalType: 'Months' }, { text: '6M', interval: 6, intervalType: 'Months' }, { text: '1Y', interval: 1, intervalType: 'Years' } ] }; tooltipSettings = { enable: true, format: 'MMM dd, yyyy' }; } ``` ### Pattern 3: Lightweight Range Navigator for Mobile When user needs optimized Range Navigator for mobile devices: ```typescript @Component({ template: ` <ejs-rangenavigator id="rn-container" valueType='DateTime' [value]='value' [labelFormat]='labelFormat'[dataSource]='mobileData' xName='x' yName='y'> </ejs-rangenavigator> ` }) export class MobileOptimizedComponent { mobileData = [...]; // optimized dataset for mobile } ``` ### Pattern 4: Numeric Axis Range Navigator When user needs to browse numeric data ranges: ```typescript import { Component } from '@angular/core'; import { CommonModule } from '@angular/common'; import { RangeNavigatorAllModule, AreaSeriesService } from '@syncfusion/ej2-angular-charts'; @Component({ selector: 'app-container', standalone: true, imports: [CommonModule, RangeNavigatorAllModule], providers: [AreaSeriesService], template: ` <div style="padding: 20px;"> <h2>Numeric Range Selector</h2> <ejs-rangenavigator id="numericRange" [valueType]="rangeSettings.valueType" labelFormat="n0"> <e-rangenavigator-series-collection> <e-rangenavigator-series [dataSource]="data" xName="index" yName="value" type="Area"> </e-rangenavigator-series> </e-rangenavigator-series-collection> </ejs-rangenavigator> </div> ` }) export class AppComponent { public data = [ { index: 0, value: 100 }, { index: 10, value: 150 }, { index: 20, value: 200 } ]; public rangeSettings = { valueType: 'Double' }; } ``` ### Pattern 5: Range Navigator with Custom Tooltip When user needs formatted, custom tooltip display: ```typescript import { Component } from '@angular/core'; import { CommonModule } from '@angular/common'; import { RangeNavigatorAllModule, AreaSeriesService } from '@syncfusion/ej2-angular-charts'; @Component({ selector: 'app-container', standalone: true, imports: [CommonModule, RangeNavigatorAllModule], providers: [AreaSeriesService], template: ` <div style="padding: 20px;"> <h2>Numeric Range Selector</h2> <ejs-rangenavigator id="numericRange" [valueType]="rangeSettings.valueType" labelFormat="n0" [tooltip]='tooltipSettings'> <e-rangenavigator-series-collection> <e-rangenavigator-series [dataSource]="data" xName="index" yName="value" type="Area"> </e-rangenavigator-series> </e-rangenavigator-series-collection> </ejs-rangenavigator> </div> ` }) export class CustomTooltipComponent { public data = [ { index: 0, value: 100 }, { index: 10, value: 150 }, { index: 20, value: 200 } ]; public rangeSettings = { valueType: 'Double' }; tooltipSettings = { enable: true, template: '<div>${value}</div>', header: 'Stock Price' }; } ``` --- ## Key Props Reference | Prop | Type | Purpose | |------|------|---------| | `valueType` | string | Axis value type: 'Numeric' or 'DateTime' (default: 'DateTime') | | `dataSource` | any[] | Array of data objects | | `tooltip` | TooltipSettings | Tooltip settings (enable, format, template) | | `intervalType` | string | Axis interval: 'Years', 'Months', 'Days', 'Hours', 'Minutes', 'Seconds' | | `intervals` | number | Interval count for axis labels | | `labelFormat` | string | Format string for labels (e.g., 'MMM dd, yyyy') | | `lightWeight` | boolean | Enable lightweight mode (default: false) | | `enableRtl` | boolean | Enable RTL support (default: false) | | `series` | RangeNavigatorSeries[] | Series collection configuration | | `periodSelectorSettings` | PeriodSelectorSettings | Period selector configuration | | `navigatorStyleSettings` | NavigatorStyleSettings | Style customization | | `gridLineSettings` | GridLineSettings | Grid tick appearance | | `labelStyle` | FontModel | Axis label font and style | --- ## API Reference A complete API reference for the Syncfusion Angular `RangeNavigator` is available in the `references` folder. It includes property anchors, method links, and event argument types that map to the official docs. Read the API reference: [references/api-reference.md](references/api-reference.md) ## Common Use Cases 1. **Stock Market Data:** Browse historical stock prices with date range selection 2. **Sensor Data Monitoring:** Navigate through time-series sensor readings and metrics 3. **Website Analytics:** Select date ranges for traffic and user behavior analysis 4. **Financial Charts:** Explore financial data with interactive period selection 5. **Application Performance:** Monitor performance metrics over time with quick period selectors 6. **Sales Dashboard:** Review sales data across different time periods 7. **Weather Data:** Browse historical weather patterns with date navigation 8. **IoT Data Visualization:** Navigate through large IoT sensor datasets efficiently --- ## Integration with Other Components The Range Navigator works seamlessly with other Syncfusion components: - **Chart Component:** Synchronize Range Navigator selection with main chart display - **DataGrid:** Filter grid data based on selected date range - **Stock Chart:** Combine with stock data visualization for enhanced analysis --- For more information, visit the [Syncfusion Angular Range Navigator Documentation](https://ej2.syncfusion.com/angular/documentation/range-navigator/range-navigator).
View on GitHub