Skip to content

Instantly share code, notes, and snippets.

@gist-master
Forked from adriatic/app.html
Last active August 9, 2016 21:35
Show Gist options
  • Save gist-master/8549645736fbb111e7ffc18e00904351 to your computer and use it in GitHub Desktop.
Save gist-master/8549645736fbb111e7ffc18e00904351 to your computer and use it in GitHub Desktop.
Funnel charts: binding to local data
<template>
<require from="aurelia-kendoui-bridge/chart/chart"></require>
<div class="demo-section k-content wide">
<h4>Website optimization stats</h4>
<div id="before"></div>
<div id="after"></div>
<div class="row">
<div class="col-xs-12 col-sm-6">
<ak-chart k-title.bind="{text: 'Before optimization'}"
style="height: 256px"
k-data-source.bind="dataBefore"
k-legend.bind="{ visible: false }"
k-series.bind="seriesBefore"
k-tooltip.bind="tooltip">
</ak-chart>
</div>
<div class="col-xs-12 col-sm-6">
<ak-chart k-title.bind="{text: 'After optimization'}"
style="height: 256px"
k-data-source.bind="dataAfter"
k-legend.bind="{ visible: false }"
k-series.bind="seriesAfter"
k-tooltip.bind="tooltip">
</ak-chart>
</div>
</div>
</div>
</template>
export class BindingToLocalData {
dataBefore = [
{
description: 'All Visitors',
visitors: 23945
}, {
description: 'Tried the Demos',
visitors: 19156
}, {
description: 'Downloaded',
visitors: 13984
}, {
description: 'Requested a Quote',
visitors: 3216
}, {
description: 'Purchased',
visitors: 1673
}
];
dataAfter = [
{
description: 'All Visitors',
visitors: 28536
}, {
description: 'Tried the Demos',
visitors: 26539
}, {
description: 'Downloaded',
visitors: 23088
}, {
description: 'Requested a Quote',
visitors: 13853
}, {
description: 'Purchased',
visitors: 9697
}
];
constructor() {
this.seriesBefore = [{
type: 'funnel',
data: this.dataBefore,
dynamicSlope: true,
field: 'visitors',
categoryField: 'description',
dynamicHeight: false,
labels: {
color: 'black',
visible: true,
background: 'transparent',
template: '#= category #: #= value#',
align: 'left'
}
}];
this.seriesAfter = [{
type: 'funnel',
data: this.dataAfter,
dynamicSlope: true,
field: 'visitors',
categoryField: 'description',
dynamicHeight: false,
labels: {
color: 'black',
visible: true,
background: 'transparent',
template: '#= category #: #= value#',
align: 'left'
}
}];
}
tooltip = {
visible: true,
template: '#= category # #= kendo.format("{0:p}",value/dataItem.parent()[0].visitors)#'
}
}
<!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.2.714/styles/kendo.common.min.css">
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2016.2.714/styles/kendo.rtl.min.css">
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2016.2.714/styles/kendo.default.min.css">
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2016.2.714/styles/kendo.mobile.all.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/bluebird/3.4.0/bluebird.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/1.2.1/chroma.min.js"></script>
<script src="https://kendo.cdn.telerik.com/2016.2.714/js/jquery.min.js"></script>
<script src="https://kendo.cdn.telerik.com/2016.2.714/js/jszip.min.js"></script>
<script src="https://kendo.cdn.telerik.com/2016.2.714/js/kendo.all.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/1.0.0-beta.1.0.6/config2.js"></script>
<script>
System.import('aurelia-bootstrapper');
</script>
</body>
</html>
export function configure(aurelia) {
aurelia.use
.standardConfiguration()
.developmentLogging()
.plugin('aurelia-kendoui-bridge');
aurelia.start().then(a => a.setRoot());
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment