Lightweight in EJ2 JavaScript Range navigator control

8 May 20234 minutes to read

By default, when the dataSource for series is empty, a lightweight Range Selector will be shown without Chart.

function GetDateTimeData(start, end, min, max, inc) {
    var series1 = [];
    var point = {};
    var value = 100;
    var date;
    inc = inc ? inc : 1;
    for (var i = 0; start <= end; i += inc) {
        date = start.getTime();
        if (min || max) {
            value = getRandomInt(min, max);
        }
        else {
            if (Math.random() > 0.5) {
                value += Math.random();
            }
            else {
                value -= Math.random();
            }
        }
        point = { x: new Date(date), y: value };
        new Date(start.setDate(start.getDate() + 1));
        series1.push(point);
    }
    return series1;
}
function getRandomInt(min, max) {
    return Math.floor(Math.random() * (max - min + 1)) + min;
}

var range = new ej.charts.RangeNavigator({
    valueType: 'DateTime',
    intervalType: 'Months',
    labelFormat: 'MMM',
    value: [new Date(2018, 4, 1), new Date(2018, 8, 1)],
    dataSource: GetDateTimeData(new Date(2018, 0, 1), new Date(2019, 0, 1)),
    xName: 'x', yName: 'y'
});
range.appendTo('#element');
<!DOCTYPE html><html lang="en"><head>
    <title>EJ2 Animation</title>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="description" content="Typescript UI Controls">
    <meta name="author" content="Syncfusion">
    <link href="index.css" rel="stylesheet">
    
    
<script src="https://cdn.syncfusion.com/ej2/25.1.35/dist/ej2.min.js" type="text/javascript"></script>
<script src="https://cdn.syncfusion.com/ej2/syncfusion-helper.js" type ="text/javascript"></script>
</head>

<body>
    
    <div id="container" style="margin-top: 125px">
        <div id="element"></div>
    </div>


<script>
var ele = document.getElementById('container');
if(ele) {
  ele.style.visibility = "visible";
}   
      </script>
<script src="index.js" type="text/javascript"></script>
</body></html>

See Also