CircularGauge Methods

This section describes the methods that can be used in code to manipulate objects related to the CircularGauge widget.

beginUpdate()

Prevents the component from refreshing until the endUpdate() method is called.

The beginUpdate() and endUpdate() methods allow you to apply several modifications to the component. After the beginUpdate() method is called, the component does not update the UI until the endUpdate() method is called. The usage of these methods prevents excessive component updating when you are changing multiple component settings at once.

element()

Returns the root HTML element of the widget.

Return Value: jQuery
The root element of the widget.

endUpdate()

Enables the component to refresh after the beginUpdate() method call.

The beginUpdate() and endUpdate() methods allow you to apply several modifications to the component. After the beginUpdate() method is called, the component does not update the UI until the endUpdate() method is called. The usage of these methods prevents excessive component updating when you change multiple component setting at once.

exportTo(fileName, format)

Exports the widget into a document with a specified name and format.

Parameters:
fileName: String
The name of a destination file.
format: String
A required format.
Accepted Values: 'PNG' | 'PDF' | 'JPEG' | 'SVG' | 'GIF'

NOTE: IE9 and Safari on Mac OS do not implement an API for saving files. Therefore, exporting in these browsers requires setting up a server-side proxy. For details, refer to the export | proxyUrl option description.

See Also

hideLoadingIndicator()

Conceals the loading indicator.

Although the loading indicator hides automatically when the widget is ready, you can hide it from code at the required time using the hideLoadingIndicator() method.

If you need to show the loading indicator, invoke the showLoadingIndicator() method.

Show Example:
jQuery

In this example, data is loaded with five seconds delay. You can show/hide the loading indicator using the buttons under the widget. Note that the loading indicator can be displayed or concealed manually at any time no matter whether the data is loaded or not.

<div id="circularGaugeContainer" style="height:400px;max-width:400px;margin:0px auto"></div>
<div style="height:25px;max-width:500px;margin:5px auto;font-family:'Trebuchet MS',Arial,sans-serif;font-size:14px;text-align:center">
    <input type="button" id="showLoadingIndicatorButton" value="showLoadingIndicator()" />
    <input type="button" id="hideLoadingIndicatorButton" value="hideLoadingIndicator()" />
</div>
var assignValues = function () {
    var gauge = $("#circularGaugeContainer").dxCircularGauge('instance');
    gauge.option({
        value: 24,
        subvalues: [27, 44]
    });
};

$(function () {
    $("#circularGaugeContainer").dxCircularGauge({
        scale: {
            startValue: 0,
            endValue: 60,
            tickInterval: 10
        },
        rangeContainer: {
            backgroundColor: 'none',
            ranges: [
                { startValue: 0, endValue: 20, color: '#A6C567' },
                { startValue: 20, endValue: 40, color: '#FCBB69' },
                { startValue: 40, endValue: 60, color: '#E19094' }
            ]
        },
        loadingIndicator: {
            show: true
        }
    });

    $('#showLoadingIndicatorButton').click(function () {
        var gauge = $('#circularGaugeContainer').dxCircularGauge('instance');
        gauge.showLoadingIndicator();
    });

    $('#hideLoadingIndicatorButton').click(function () {
        var gauge = $('#circularGaugeContainer').dxCircularGauge('instance');
        gauge.hideLoadingIndicator();
    });
    
    setTimeout(assignValues, 5000);
});

instance()

Returns an instance of this component class.

Return Value: Object
An instance of this component class

Use this method to access other methods of the component.

Show Example:
jQuery

In the following example, the instance() method is used to get access to the gauge options. This method is called not like the other methods. To call the instance() method, the following construction is used.

<!--JavaScript -->$('#circularGaugeContainer').dxCircularGauge('instance')

Use the drop-down menu to change the type of the value indicator.

<div id="circularGaugeContainer" style="height:400px;max-width:400px;margin:0px auto"></div>
<div id="selectContainer" style="height:20px;max-width:350px;margin:5px auto;font-family:'Trebuchet MS',Arial,sans-serif;font-size:14px;text-align:center">
    Value indicator type:
    <select id="dropdownListSelector">
        <option value="rectangleNeedle">rectangleNeedle</option>
        <option value="triangleNeedle">triangleNeedle</option>
        <option value="twoColorNeedle">twoColorNeedle</option>
        <option value="rangeBar">rangeBar</option>
    </select>
</div>
$(function () {
    $('#circularGaugeContainer').dxCircularGauge({
        valueIndicator: {
            type: 'rectangleNeedle'
        },
        value: 42
    });

    $('#dropdownListSelector').change(function () {
        var gauge = $('#circularGaugeContainer').dxCircularGauge('instance');
        gauge.option({
            valueIndicator: {
                type: this.value
            }
        });
    });
})

off(eventName)

Detaches all event handlers from the specified event.

Parameters:
eventName: String
The name of the event to unsubscribe from.
Return Value: Object
The object for which this method is called.

off(eventName, eventHandler)

Detaches a particular event handler from the specified event.

Parameters:
eventName: String
The name of the event to unsubscribe from.
eventHandler: function
The handler to be detached from the specified event.
Return Value: Object
The object for which this method is called.

on(eventName, eventHandler)

Subscribes to a specified event.

Parameters:
eventName: String
The name of the event to be subscribed.
eventHandler: function
An event handler for the specified event.
Return Value: Object
The object for which this method is called.

Use this method to subscribe to one of the events listed in the Events section.

See Also

on(events)

Subscribes to the specified events.

Parameters:
events: Object
An object of the following structure: { "eventName1": handler1, "eventName2": handler2, ...}
Return Value: Object
The object for which this method is called.

Use this method to subscribe to several events at one method call. Available events are listed in the Events section.

See Also

option()

Returns the configuration options of this component.

Return Value: Object
An object representing the configuration options of this component.

Show Example:
jQuery

In this example, the option() method is used to obtain the value of the tooltip | enabled option and display it under the gauge. To change this value, use the check box below.

<div id="circularGaugeContainer" style="height:400px;max-width:400px;margin:0px auto"></div>
<div id="checkboxContainer" style="height:35px;max-width:300px;margin:5px auto;font-family:'Trebuchet MS',Arial,sans-serif;font-size:14px;text-align:center">
    <input type="checkbox" id="enableTooltipCheckbox" checked> Enable Tooltip <br />
    <span id="replySpan" />
</div>
$(function () {
    $('#circularGaugeContainer').dxCircularGauge({
        rangeContainer: { backgroundColor: 'blue' },
        valueIndicator: {
            type: 'rangeBar',
            color: 'green'
        },
        tooltip: { enabled: true },
        value: 42
    });

    $('#enableTooltipCheckbox').change(function () {
        var gauge = $('#circularGaugeContainer').dxCircularGauge('instance');
        gauge.option({
            tooltip: {
                enabled: this.checked
            }
        });
        $('#replySpan').html('tooltip | enabled: ' + gauge.option().tooltip.enabled);
    });
})

option(optionName)

Gets the value of the specified configuration option of this component.

Parameters:
optionName: String
The name of the option to get.
Return Value: any
The value of the specified option.

If you need to get the value of a configuration option field, specify the path to the required field.

Show Example:
jQuery

In this example, the option(optionName) method is used to obtain the value of the tooltip | enabled option and display it under the gauge. To change this value, use the check box below.

<div id="circularGaugeContainer" style="height:400px;max-width:400px;margin:0px auto"></div>
<div id="checkboxContainer" style="height:35px;max-width:300px;margin:5px auto;font-family:'Trebuchet MS',Arial,sans-serif;font-size:14px;text-align:center">
    <input type="checkbox" id="enableTooltipCheckbox" checked> Enable Tooltip <br />
    <span id="replySpan" />
</div>
$(function () {
    $('#circularGaugeContainer').dxCircularGauge({
        rangeContainer: { backgroundColor: 'blue' },
        valueIndicator: {
            type: 'rangeBar',
            color: 'dodgerblue'
        },
        tooltip: { enabled: true },
        value: 56
    });

    $('#enableTooltipCheckbox').change(function () {
        var gauge = $('#circularGaugeContainer').dxCircularGauge('instance');
        gauge.option({
            tooltip: {
                enabled: this.checked
            }
        });
        $('#replySpan').html('tooltip | enabled: ' + gauge.option('tooltip.enabled'));
    });
})

option(optionName, optionValue)

Sets a value to the specified configuration option of this component.

Parameters:
optionName: String
The name of the required option.
optionValue: any
The value you wish to assign to the required option.

To set a value to the configuration option field, specify the path to the required field.

Show Example:
jQuery

In this example, the option(optionName, optionValue) method is used to set the value of the tooltip | enabled option at runtime. To change this value, use the check box below.

<div id="circularGaugeContainer" style="height:400px;max-width:400px;margin:0px auto"></div>
<div id="checkboxContainer" style="height:30px;max-width:300px;margin:5px auto;font-family:'Trebuchet MS',Arial,sans-serif;font-size:14px;text-align:center">
    <input type="checkbox" id="enableTooltipCheckbox" checked> Enable Tooltip
</div>
$(function () {
    $('#circularGaugeContainer').dxCircularGauge({
        rangeContainer: { backgroundColor: 'blue' },
        valueIndicator: {
            type: 'rangeBar',
            color: 'firebrick'
        },
        tooltip: { enabled: true },
        value: 78
    });

    $('#enableTooltipCheckbox').change(function () {
        var gauge = $('#circularGaugeContainer').dxCircularGauge('instance');
        gauge.option('tooltip.enabled', this.checked);
    });
})

option(options)

Sets one or more options of this component.

Parameters:
options: Object
An object containing the required configuration options.

Show Example:
jQuery

In this example, the option(options) method is used to alter a set of options at once. To change the values of the tooltip | enabled and tooltip | arrowLength options, use the check box below.

<div id="circularGaugeContainer" style="height:400px;max-width:400px;margin:0px auto"></div>
<div id="checkboxContainer" style="height:30px;max-width:300px;margin:5px auto;font-family:'Trebuchet MS',Arial,sans-serif;font-size:14px;text-align:center">
    <input type="checkbox" id="changeTooltipCheckbox" checked> Change Several Tooltip Options
</div>
$(function () {
    $('#circularGaugeContainer').dxCircularGauge({
        rangeContainer: { backgroundColor: 'blue' },
        valueIndicator: {
            type: 'rangeBar',
            color: 'palevioletred'
        },
        tooltip: {
            enabled: true,
            arrowLength: 5
        },
        value: 34
    });

    $('#changeTooltipCheckbox').change(function () {
        var gauge = $('#circularGaugeContainer').dxCircularGauge('instance');
        var tooltipArrow = gauge.option('tooltip.arrowLength');
        gauge.option({
            tooltip: {
                enabled: this.checked,
                arrowLength: tooltipArrow + 10
            }
        });
    });
})

print()

Opens the browser's print window.

See Also

render()

Redraws the widget.

Normally, the widget will redraw itself automatically after the browser window is resized. But on rare occasions, you may need to request the redrawing, e.g., after the widget container is resized. For this purpose, call the render() method.

Show Example:
jQuery

Click the 'Change the container size' button to switch between two sizes of the widget container. The render() method is used to redraw the widget after the container size changes.

<div id="circularGaugeContainer" style="height:400px;max-width:400px;margin:0px auto"></div>
<div id="controlContainer" style="height:20px;max-width:300px;margin:5px auto;font-family:'Trebuchet MS',Arial,sans-serif;font-size:14px;text-align:center">
    <input type="button" id="changeContainerSizeButton" value="Change the container size">
</div>
$(function () {
    $('#circularGaugeContainer').dxCircularGauge({
        scale: { startValue: 0, endValue: 100 },
        value: 80
    });

    $('#changeContainerSizeButton').click(function () {
        var gauge = $('#circularGaugeContainer').dxCircularGauge('instance');
        if ($('#circularGaugeContainer').height() > 300 || $('#circularGaugeContainer').width() > 300) {
            $('#circularGaugeContainer').height(300);
            $('#circularGaugeContainer').width(300);
        } else {
            $('#circularGaugeContainer').height(400);
            $('#circularGaugeContainer').width(400);
        }
        gauge.render();
    });
})

showLoadingIndicator()

Displays the loading indicator.

This method shows the loading indicator. To hide it, call the hideLoadingIndicator() method.

Show Example:
jQuery

In this example, the loading indicator is displayed until data is ready (5 seconds in this example). You can show and hide the loading indicator using the corresponding buttons below.

<div id="circularGaugeContainer" style="height:400px; max-width:400px; margin:0 auto"></div>
<div style="height:25px; width:400px; margin:0 auto; margin-top:5px; text-align:center">
    <input type="button" id="showLoadingIndicatorButton" value="showLoadingIndicator()" />
    <input type="button" id="hideLoadingIndicatorButton" value="hideLoadingIndicator()" />
</div>
var assignValues = function () {
    var gauge = $("#circularGaugeContainer").dxCircularGauge('instance');
    gauge.option({
        value: 24,
        subvalues: [27, 44]
    });
};

$(function () {
    $("#circularGaugeContainer").dxCircularGauge({
        scale: {
            startValue: 0,
            endValue: 60,
            tickInterval: 10
        },
        rangeContainer: {
            backgroundColor: 'none',
            ranges: [
                { startValue: 0, endValue: 20, color: '#A6C567' },
                { startValue: 20, endValue: 40, color: '#FCBB69' },
                { startValue: 40, endValue: 60, color: '#E19094' }
            ]
        },
        loadingIndicator: {
            show: true
        }
    });

    $('#showLoadingIndicatorButton').click(function () {
        var gauge = $('#circularGaugeContainer').dxCircularGauge('instance');
        gauge.showLoadingIndicator();
    });

    $('#hideLoadingIndicatorButton').click(function () {
        var gauge = $('#circularGaugeContainer').dxCircularGauge('instance');
        gauge.hideLoadingIndicator();
    });
    
    setTimeout(assignValues, 5000);
});

subvalues()

Returns an array of gauge subvalues.

Return Value: Array
An array of gauge subvalues.

See the subvalues option description for more information on gauge subvalues.

View Demo

Show Example:
jQuery

In this example, the subvalues() method is used to obtain a set of gauge subvalues. Initially, all the subvalues are set to 0. Click the button under the gauge to increase one of these subvalues by 1. The subvalue to be increased is chosen randomly.

<div id="circularGaugeContainer" style="height:400px;max-width:400px;margin:0px auto"></div>
<div id="controlContainer" style="height:20px;max-width:300px;margin:5px auto;font-family:'Trebuchet MS',Arial,sans-serif;font-size:14px;text-align:center">
    <input type="button" id="increaseSubvalueButton" value="Increase a Random Subvalue by 1">
</div>
$(function () {
    $('#circularGaugeContainer').dxCircularGauge({
        scale: { startValue: 0, endValue: 100 },
        subvalueIndicator: {
            color: 'lightgreen'
        },
        value: 100,
        subvalues: [0, 0, 0]
    });

    $('#increaseSubvalueButton').click(function () {
        var gauge = $('#circularGaugeContainer').dxCircularGauge('instance');
        var subvals = gauge.subvalues();
        var rand = Math.floor(Math.random() * subvals.length);
        subvals[rand]++;
        var scaleEnd = gauge.option('scale.endValue');
        if (subvals[rand] == scaleEnd) {
            gauge.option({
                rangeContainer: { backgroundColor: 'red' }
            });
            $(this).attr('disabled', 'disabled');
        };
        gauge.subvalues(subvals);
    });
})

subvalues(subvalues)

Updates gauge subvalues.

Parameters:
subvalues: Array
A new array of gauge subvalues.

Use this method to change gauge subvalues at runtime.

NOTE: It is necessary to set the subvalues option in order to use the subvalues(subvalues) method. Set this option to an empty array, in case you don't need to show subvalues initially.

View Demo

Show Example:
jQuery

In this example, the subvalues(subvalues) method is used to update gauge subvalues. Initially, all the subvalues are set to 0. Click the button under the gauge to increase one of these subvalues by 1. The subvalue to be increased is chosen randomly.

<div id="circularGaugeContainer" style="height:400px;max-width:400px;margin:0px auto"></div>
<div id="controlContainer" style="height:20px;max-width:300px;margin:5px auto;font-family:'Trebuchet MS',Arial,sans-serif;font-size:14px;text-align:center">
    <input type="button" id="increaseSubvalueButton" value="Increase a Random Subvalue by 1">
</div>
$(function () {
    $('#circularGaugeContainer').dxCircularGauge({
        scale: { startValue: 0, endValue: 100 },
        subvalueIndicator: {
            color: 'orangered'
        },
        value: 100,
        subvalues: [0, 0, 0]
    });

    $('#increaseSubvalueButton').click(function () {
        var gauge = $('#circularGaugeContainer').dxCircularGauge('instance');
        var subvals = gauge.subvalues();
        var rand = Math.floor(Math.random() * subvals.length);
        subvals[rand]++;
        var scaleEnd = gauge.option('scale.endValue');
        if (subvals[rand] == scaleEnd) {
            gauge.option({
                rangeContainer: { backgroundColor: 'red' }
            });
            $(this).attr('disabled', 'disabled');
        };
        gauge.subvalues(subvals);
    });
})

svg()

Returns the widget's SVG markup.

Return Value: String
The widget's SVG markup.

Show Example:
jQuery

Click the Get SVG below the gauge, and the SVG copy of this gauge will appear.

<div style="display:inline-block">
    <div id="circularGaugeContainer" style="height:300px;max-width:400px;margin:0px auto;display:inline-block"></div>
    <div id="widgetSVG" style="height:300px;max-width:400px;margin: 5px auto;display:inline-block"></div>
</div>
<div style="height:30px; max-width:600px;font-family:'Trebuchet MS',Arial,sans-serif;font-size:14px;text-align:center;">
    <input type='button' id='getSVG' value='Get SVG'>
</div>
$(function () {
    $('#circularGaugeContainer').dxCircularGauge({
        valueIndicator: {
            type: 'twoColorNeedle'
        },
        value: 42
    });

    $("#getSVG").click(function () {
        var gauge = $('#circularGaugeContainer').dxCircularGauge('instance');
        $('#widgetSVG').html(gauge.svg());
    });
})

value()

Returns the main gauge value.

Return Value: Number
The main gauge value.

See the value option description for more information on the main gauge value.

View Demo

Show Example:
jQuery

In this example, the value() method is used to obtain the main gauge value. Click the button under the gauge to increase this value by 1. When the gauge needle reaches the end of the scale, a click on this button will decrease the main gauge value.

<div id="circularGaugeContainer" style="height:400px;max-width:400px;margin:0px auto"></div>
<div id="controlContainer" style="height:20px;max-width:300px;margin:5px auto;font-family:'Trebuchet MS',Arial,sans-serif;font-size:14px;text-align:center">
    <input type="button" id="changeValueButton" value="Change the Main Value by 1">
</div>
$(function () {
    $('#circularGaugeContainer').dxCircularGauge({
        scale: { startValue: 0, endValue: 100 },
        valueIndicator: {
            color: 'dodgerblue'
        },
        value: 0
    });

    var moveClockwise = true;
    $('#changeValueButton').click(function () {
        var gauge = $('#circularGaugeContainer').dxCircularGauge('instance');
        var val = gauge.value();
        var scaleStart = gauge.option('scale.startValue');
        var scaleEnd = gauge.option('scale.endValue');
        if (val == scaleStart) { moveClockwise = true };
        if (val == scaleEnd) { moveClockwise = false };
        moveClockwise ? val++ : val--;
        gauge.value(val);
    });
})

value(value)

Updates a gauge value.

Parameters:
value: Number
A new gauge value.

Use this method to change the main gauge value at runtime.

View Demo

Show Example:
jQuery

In this example, the value(value) method is used to update the main gauge value. Click the button under the gauge to increase this value by 1. When the gauge needle reaches the end of the scale, a click on this button will decrease the main gauge value.

<div id="circularGaugeContainer" style="height:400px;max-width:400px;margin:0px auto"></div>
<div id="controlContainer" style="height:20px;max-width:300px;margin:5px auto;font-family:'Trebuchet MS',Arial,sans-serif;font-size:14px;text-align:center">
    <input type="button" id="changeValueButton" value="Change the Main Value by 1">
</div>
$(function () {
    $('#circularGaugeContainer').dxCircularGauge({
        scale: { startValue: 0, endValue: 100 },
        valueIndicator: {
            color: 'chocolate'
        },
        value: 0
    });

    var moveClockwise = true;
    $('#changeValueButton').click(function () {
        var gauge = $('#circularGaugeContainer').dxCircularGauge('instance');
        var val = gauge.value();
        var scaleStart = gauge.option('scale.startValue');
        var scaleEnd = gauge.option('scale.endValue');
        if (val == scaleStart) { moveClockwise = true };
        if (val == scaleEnd) { moveClockwise = false };
        moveClockwise ? val++ : val--;
        gauge.value(val);
    });
})