Skip to content

Instantly share code, notes, and snippets.

@JeroenVinke
Forked from gist-master/app.html
Created July 27, 2017 08:19
Show Gist options
  • Save JeroenVinke/4e3265ea2b455a422346de25a5af0984 to your computer and use it in GitHub Desktop.
Save JeroenVinke/4e3265ea2b455a422346de25a5af0984 to your computer and use it in GitHub Desktop.
Grid: batch editing
<template>
<require from="aurelia-kendoui-bridge/grid/grid"></require>
<require from="aurelia-kendoui-bridge/grid/col"></require>
<ak-grid k-data-source.bind="datasource"
k-pageable.bind="true"
k-navigatable.bind="true"
k-toolbar.bind="['create', 'save', 'cancel']"
k-editable.bind="true">
<ak-col k-field="UnitPrice" k-title="Unit Price" k-format="{0:c}" k-width.bind="120"></ak-col>
<ak-col k-field="UnitsInStock" k-editable.bind="onEdit" k-title="Units In Stock" k-width.bind="120"></ak-col>
<ak-col k-field="Discontinued" k-width.bind="120"></ak-col>
<ak-col k-command="destroy" k-title="&nbsp;" k-width.bind="150"></ak-col>
</ak-grid>
</template>
export class BatchEditing {
constructor() {
let crudServiceBaseUrl = '//demos.telerik.com/kendo-ui/service';
this.datasource = new kendo.data.DataSource({
transport: {
read: {
url: crudServiceBaseUrl + '/Products',
dataType: 'jsonp'
},
update: {
url: crudServiceBaseUrl + '/Products/Update',
dataType: 'jsonp'
},
destroy: {
url: crudServiceBaseUrl + '/Products/Destroy',
dataType: 'jsonp'
},
create: {
url: crudServiceBaseUrl + '/Products/Create',
dataType: 'jsonp'
},
parameterMap: function(options, operation) {
if (operation !== 'read' && options.models) {
return {models: kendo.stringify(options.models)};
}
}
},
batch: true,
pageSize: 8,
schema: {
model: {
id: 'ProductID',
fields: {
ProductID: { editable: false, nullable: true },
ProductName: { validation: { required: true } },
UnitPrice: { type: 'number', validation: { required: true, min: 1} },
Discontinued: { type: 'boolean' },
UnitsInStock: { type: 'number', validation: { min: 0, required: true } }
}
}
}
});
}
onEdit(x) {
console.log('xxxxx');
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.5.3/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