jqwidgets-framework
Version:
jQWidgets is an advanced Angular, Vue, Blazor, React, Web Components, jquery, ASP .NET MVC, Custom Elements and HTML5 UI framework.
82 lines (80 loc) • 4.11 kB
HTML
<html ng-app="demoApp" lang="en">
<head>
<title id='Description'>AngularJS Chart Events Example</title>
<meta name="description" content="This is an example of AngularJS Chart. Chart's events handling." />
<link rel="stylesheet" href="../../../jqwidgets/styles/jqx.base.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="../../../jqwidgets/styles/jqx.base.css" />
<script type="text/javascript" src="../../../scripts/angular.min.js"></script> <script type="text/javascript" src="../../../scripts/jquery-1.11.1.min.js"></script>
<script type="text/javascript" src="../../../jqwidgets/jqxcore.js"></script>
<script type="text/javascript" src="../../../jqwidgets/jqxdata.js"></script>
<script type="text/javascript" src="../../../jqwidgets/jqxdraw.js"></script>
<script type="text/javascript" src="../../../jqwidgets/jqxchart.core.js"></script><script type="text/javascript" src="../../../jqwidgets/jqxangular.js"></script>
<script type="text/javascript">
var demoApp = angular.module("demoApp", ["jqwidgets"]);
demoApp.controller("demoController", function ($scope, $timeout) {
$scope.eventText = "";
$scope.myEventHandler = function (e) {
var eventData = 'Last Event: ' + e.event + ', DataField: ' + e.serie.dataField + ', Value: ' + e.elementValue;
$timeout(function () {
$scope.eventText = eventData;
});
};
// prepare chart data
var sampleData = [
{ Day: 'Monday', Keith: 30, Erica: 15, George: 25 },
{ Day: 'Tuesday', Keith: 25, Erica: 25, George: 30 },
{ Day: 'Wednesday', Keith: 30, Erica: 20, George: 25 },
{ Day: 'Thursday', Keith: 35, Erica: 25, George: 45 },
{ Day: 'Friday', Keith: 20, Erica: 20, George: 25 },
{ Day: 'Saturday', Keith: 30, Erica: 20, George: 30 },
{ Day: 'Sunday', Keith: 60, Erica: 45, George: 90 }
];
// prepare jqxChart settings
$scope.chartSettings = {
title: "Fitness & exercise weekly scorecard",
description: "Time spent in vigorous exercise",
padding: { left: 5, top: 5, right: 5, bottom: 5 },
titlePadding: { left: 90, top: 0, right: 0, bottom: 10 },
source: sampleData,
xAxis:
{
dataField: 'Day',
showGridLines: false,
type: 'basic'
},
colorScheme: 'scheme04',
showToolTips: false,
enableAnimations: true,
seriesGroups:
[
{
type: 'column',
valueAxis:
{
minValue: 0,
maxValue: 100,
unitInterval: 10,
description: 'Time in minutes'
},
mouseover: $scope.myEventHandler,
mouseout: $scope.myEventHandler,
click: $scope.myEventHandler,
series: [
{ dataField: 'Keith', displayText: 'Keith' },
{ dataField: 'Erica', displayText: 'Erica' },
{ dataField: 'George', displayText: 'George' }
]
}
]
};
});
</script>
</head>
<body ng-controller="demoController">
<jqx-chart jqx-settings="chartSettings" style="width:850px; height: 500px"></jqx-chart>
<br />
<br />
<span ng-bind="eventText"></span>
</body>
</html>