Skip to content

Instantly share code, notes, and snippets.

@JeroenVinke
Last active February 20, 2017 08:36
Show Gist options
  • Save JeroenVinke/2ab93381ccb288555fc216517db622fe to your computer and use it in GitHub Desktop.
Save JeroenVinke/2ab93381ccb288555fc216517db622fe to your computer and use it in GitHub Desktop.
Grid: command
<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>
<require from="aurelia-kendoui-bridge/button/button"></require>
<require from="aurelia-kendoui-bridge/grid/grid-command"></require>
<ak-grid k-data-source.bind="datasource" k-on-data-bound.delegate="onDataBound($event.detail)" k-widget.two-way="grid">
<ak-col k-title="Contact Name" k-field="ContactName"></ak-col>
<ak-col k-title="Contact Name">
<ak-template>
<button ak-button="k-enabled.bind: IsEnabled" k-on-click.delegate="loadPdf($event)">Hello world</button>
</ak-template>
</ak-col>
<ak-col k-title="TestPDF1">
<ak-template>
<button ak-button="k-enabled.bind: IsEnabled" k-on-click.delegate="loadPdf($this)">Hello world</button>
</ak-template>
</ak-col>
<ak-col k-title="Test-command">
<ak-grid-command k-name="details" k-text="Details" k-click.call="details($event)"></ak-grid-command>
</ak-col>
</ak-grid>
</template>
export class BindingToRemoteData {
constructor() {
this.datasource = {
data: [
{ ContactName: 'Foo', IsEnabled: true },
{ ContactName: 'Foo', IsEnabled: false }
]
};
}
loadPdf(dataItem) {
let rt2 = 'http://somerui.com/api/v1/onepdf/' + dataItem.ContactName + '.pdf'
alert('rt2 '+rt2)
// window.open(rt2, '_blank'); // open in new tab after focus on row
}
// details(e) {
// alert('details ');
// let grid = e.sender;
// let selectedRow = grid.select();
// let dataItem = grid.dataItem(selectedRow);
// let rt2 = 'http://somerui.com/api/v1/onepdf/' + dataItem.ContactName + '.pdf'
// alert('rt2 '+rt2)
// // window.open(rt2, '_blank'); // open in new tab after focus on row
// }
onDataBound(e) {
let grid = e.sender;
kendo.jQuery('a[href*=\'#\']', grid.tbody).removeAttr('href');
}
details(e) {
alert(`Command '${e.data.commandName}' was executed`);
console.log(this);
}
}
<!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.2.0/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