Skip to content

Instantly share code, notes, and snippets.

@gist-master
Forked from JeroenVinke/app.html
Last active April 6, 2020 06:42
Show Gist options
  • Save gist-master/f4f6698bd09ba23abb2cfac5bb8e4821 to your computer and use it in GitHub Desktop.
Save gist-master/f4f6698bd09ba23abb2cfac5bb8e4821 to your computer and use it in GitHub Desktop.
Grid: Grouping
<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" k-pageable.bind="pageable" k-sortable.bind="true" id="grid" >
<ak-col k-title="Product Name" k-field="ProductName" >
<ak-template for="groupFooterTemplate">
Group Count: ${ProductName.count}
</ak-template>
<ak-template for="footerTemplate">
Total Count: ${count}
</ak-template>
</ak-col>
<ak-col k-title="Unit Price" k-field="UnitPrice"></ak-col>
<ak-col k-title="Units On Order" k-field="UnitsOnOrder">
<ak-template for="footerTemplate">
Average: ${average}
</ak-template>
<ak-template for="groupFooterTemplate">
Average: ${UnitsOnOrder.average}
</ak-template>
</ak-col>
<ak-col k-title="Units In Stock" k-field="UnitsInStock">
<ak-template for="groupHeaderTemplate">
In Stock: ${aggregates.UnitsInStock.count}
</ak-template>
</ak-col>
</ak-grid>
</template>
export class Grid {
pageable = {
refresh: true,
pageSizes: true,
buttonCount: 10
};
datasource = {
type: 'odata',
transport: {
read: '//demos.telerik.com/kendo-ui/service/Northwind.svc/Products'
},
schema: {
model: {
fields: {
ProductName: { type: "string" },
UnitPrice: { type: "number" },
UnitsOnOrder: { type: "number" },
UnitsInStock: { type: "number" },
}
}
},
pageSize: 10,
group: {
field: "UnitsInStock",
aggregates: [
{ field: "ProductName", aggregate: "count" },
{ field: "UnitPrice", aggregate: "sum" },
{ field: "UnitsOnOrder", aggregate: "average" },
{ field: "UnitsInStock", aggregate: "count" }
]
},
aggregate: [
{ field: "ProductName", aggregate: "count" },
{ field: "UnitPrice", aggregate: "sum" },
{ field: "UnitsOnOrder", aggregate: "average" },
{ field: "UnitsInStock", aggregate: "min" },
{ field: "UnitsInStock", aggregate: "max" }
]
};
};
.customer-photo {
display: inline-block;
width: 32px;
height: 32px;
border-radius: 50%;
background-size: 32px 35px;
background-position: center center;
vertical-align: middle;
line-height: 32px;
box-shadow: inset 0 0 1px #999, inset 0 0 10px rgba(0,0,0,.2);
margin-left: 5px;
}
.customer-name {
display: inline-block;
vertical-align: middle;
line-height: 32px;
padding-left: 3px;
}
<!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