Articles in this section
Category / Section

How to use ejChart with angular JS?

2 mins read

Essential Chart supports two-way binding by using angular JS plugin. All the properties in the chart can be bound with HTML elements. Essential Chart requires the JavaScript file ej.widget.angular.min.js to support angular JavaScript. Refer to Common Angular Binding for more information on using angular JS with Essential JavaScript controls.

Required scripts

The CDN link for the scripts required is shown in the following table:

    <script src="http://code.jquery.com/jquery-1.10.2.min.js" type="text/javascript"></script>
    <script src="http://ajax.aspnetcdn.com/ajax/globalize/0.1.1/globalize.min.js"></script>
    <script src="http://cdn.syncfusion.com/12.4/js/web/ej.web.all.min.js" type="text/javascript"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.11/angular.min.js"></script>
    <script src="http://cdn.syncfusion.com/js/ej.widget.angular-latest.min.js"></script>

 

The following code example illustrates the use of Essential Chart with angular JS. Note that it is mandatory to use the module, ejangular, and the directive, ej-chart, for rendering the Essential Chart because the directive, ej-chart, is used to render the Chart inside the container and this directive is present only in the ejangular module.

All the properties in the Chart can be bound with another control by using angular JS. The property name should be prefixed with e- to support one-way or two-way bindings; otherwise, the angular binding does not work on that property.

JS

<div ng-app="syncApp" ng-controller="angularChart">
    <div id="container" ej-chart style="width: 60%; float: left;"
        e-legend-title-text="nLegendTitle"
        e-commonseriesoptions-marker-visible="true"
        e-commonseriesoptions-marker-fill="green"
        e-commonseriesoptions-marker-border-color="black"
        e-commonseriesoptions-marker-size-width="15"
        e-commonseriesoptions-marker-size-height="15"
        e-commonseriesoptions-marker-shape="nMarkerShape"
        e-primaryxaxis-title-text="nXAxisTitle"
        e-primaryyaxis-title-text="nYAxisTitle"
        e-primaryxaxis-labelformat="nXAxisFormat"
        e-primaryyaxis-labelformat="nYAxisFormat"
        e-title-text="nTitle">
    </div>
    <div>
        <div style="height: 30px;">Marker Shape<input ng-model="nMarkerShape" />
        </div>
        <br />
        <div style="height: 30px;">Chart title
            <input ng-model="nTitle" />
        </div>
        <br />
        <div style="height: 30px;">X Axis title
            <input ng-model="nXAxisTitle" />
        </div>
        <br />
        <div style="height: 30px;">Y Axis title
            <input ng-model="nYAxisTitle" />
        </div>
        <br />
        <div style="height: 30px;">X Axis label format
            <input ng-model="nXAxisFormat" />
        </div>
        <br />
        <div style="height: 30px;">Y Axis label format
            <input ng-model="nYAxisFormat" />
        </div>
        <br />
        <div style="height: 30px;">Legend title
            <input ng-model="nLegendTitle" />
        </div>
    </div>
</div>
<script type="text/javascript">
    angular.module('syncApp', ['ejangular'])
        .controller('angularChart', function ($scope) {              
            $scope.nMarkerShape = "Hexagon"
            $scope.nTitle = "Angular Support";
            $scope.nLegendTitle = "Legend title";
            $scope.nXAxisTitle = 'Primary X Axis';
            $scope.nYAxisTitle = 'Primary Y Axis';
            $scope.nXAxisFormat = "n2";
            $scope.nYAxisFormat = "c2";
        });
</script>

 

Sample Links:

For using Essential Chart with angular JS: Angular Binding

 

The following screenshot shows different properties in the Chart bound with HTML text box by using Angular JS:

HTML text box by using Angular JS

Figure: Chart bounded with HTML controls using angular JS

 

JS Playground sample link: Angular binding

Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments
Please sign in to leave a comment