Skip to content

Instantly share code, notes, and snippets.

@adriatic
Last active July 19, 2016 18:49
Show Gist options
  • Save adriatic/93e78f02941a7b30588e4cc08daa425d to your computer and use it in GitHub Desktop.
Save adriatic/93e78f02941a7b30588e4cc08daa425d to your computer and use it in GitHub Desktop.
Waterfall charts: binding to remote data
<template>
<ak-chart k-title.bind="{text: '&quot;Pocket price&quot; waterfall'}"
k-legend.bind="{visible: false}"
k-series.bind="series"
k-data-source.bind="dataSource"
k-value-axis.bind="{labels: {format: 'C'}}">
</ak-chart>
</template>
export class BindingToRemoteData {
dataSource = new kendo.data.DataSource({
transport: {
read: function(options) {
return System.import('./pocket-price.json!json')
.then(data => options.success(data));
}
}
});
series = [{
type: 'waterfall',
field: 'value',
summaryField: 'summary',
categoryField: 'name',
labels: {
visible: true,
position: 'outsideEnd',
format: 'C'
},
color: function(point) {
let summary = point.dataItem.summary;
if (summary) {
return summary === 'total' ? '#555' : 'gray';
}
if (point.value > 0) {
return 'green';
} else {
return 'red';
}
}
}];
}
<!doctype html>
<html>
<head>
<title>Aurelia KendoUI bridge</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2016.1.226/styles/kendo.common.min.css">
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2016.1.226/styles/kendo.rtl.min.css">
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2016.1.226/styles/kendo.default.min.css">
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2016.1.226/styles/kendo.mobile.all.min.css">
<script src="https://kendo.cdn.telerik.com/2016.1.226/js/jszip.min.js"></script>
</head>
<body aurelia-app="main">
<h1>Loading...</h1>
<script src="https://cdnjs.cloudflare.com/ajax/libs/systemjs/0.19.6/system.js"></script>
<script src="https://rawgit.com/aurelia-ui-toolkits/aurelia-kendoui-bundles/0.3.5/config2.js"></script>
<script>
System.import('aurelia-bootstrapper');
</script>
</body>
</html>
export function configure(aurelia) {
aurelia.use
.standardConfiguration()
.developmentLogging()
.plugin('aurelia-kendoui-bridge', kendo => kendo.pro());
aurelia.start().then(a => a.setRoot());
}
[
{
"name": "List",
"value": 100
},
{
"name": "List\nDiscount",
"value": -5
},
{
"name": "Invoice",
"summary": "total"
},
{
"name": "Invoice\nDiscount",
"value": -6
},
{
"name": "Rebates",
"value": -3
},
{
"name": "Errors",
"value": -1.1
},
{
"name": "Pocket\nPrice",
"summary": "total"
},
{
"name": "Cost",
"value": -57.1
},
{
"name": "Handling",
"value": -0.5
},
{
"name": "Pocket\nMargin",
"summary": "total"
}
]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment