Skip to content

Instantly share code, notes, and snippets.

@JeroenVinke
Forked from gist-master/app.html
Last active May 10, 2017 20:57
Show Gist options
  • Save JeroenVinke/fc2052f9b8601ed2b3b9a77a43ac85b5 to your computer and use it in GitHub Desktop.
Save JeroenVinke/fc2052f9b8601ed2b3b9a77a43ac85b5 to your computer and use it in GitHub Desktop.
Grid: datasource read
<template>
<require from="aurelia-kendoui-bridge/grid/grid"></require>
<require from="aurelia-kendoui-bridge/grid/col"></require>
<require from="aurelia-kendoui-bridge/common/template"></require>
<ak-grid k-data-source.bind="datasource">
<ak-col k-title="Contact Name" k-field="ContactName">
<ak-template>
<compose view="${rowtype}"></compose>
</ak-template>
</ak-col>
</ak-grid>
<button click.delegate="addRecord()">Add record</button>
</template>
export class DatasourceRead {
datasource = new kendo.data.DataSource({
transport: {
read: (options) => {
// here you can do an async API call to get your data
// or use a local array with data
// when you have all the data that you need you can call options.success()
// the options variable contains information about pagination, filtering etc so
// that can be used when doing an query
options.success(this.contacts);
}
}
});
constructor() {
this.contacts = [{
ContactName: 'jeroen',
rowtype: 'row-two.html'
}, {
ContactName: 'charles',
rowtype: 'row-one.html'
}, {
ContactName: 'nikolaj',
rowtype: 'row-two.html'
}];
}
addRecord() {
this.contacts.push({ ContactName: 'someone else' });
this.datasource.read();
}
}
<!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());
}
<template>
Row template one: ${ContactName}
</template>
<template>
Row template two: ${ContactName}
</template>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment