Skip to content

Instantly share code, notes, and snippets.

@SaucyJack
Last active September 7, 2017 18:31
Show Gist options
  • Save SaucyJack/dd07ef8ae5651505be56acc8fc5a9c2a to your computer and use it in GitHub Desktop.
Save SaucyJack/dd07ef8ae5651505be56acc8fc5a9c2a to your computer and use it in GitHub Desktop.
composed dynamic drop-down construction
<template>
<h3>App.js</h3>
<div style="border: 1px inset; padding: 5px;">
<compose view-model="./generic-group-by" model.two-way="model"></compose>
</div>
<br />
<div>
<h4>This is all in the parent</h4>
Selected Value: ${model.selectedValue} <br />
</div>
</template>
export class App {
model;
constructor() {
this.model = {
widgetId: 'myGroupBy',
label: 'My Group By',
options: [
{ label: "First Option", value: 1 },
{ label: "Second Option", value: 2 },
{ label: "Third Option", value: 3 }
],
selectedValue: 1
};
}
}
<template>
<require from="aurelia-kendoui-bridge/dropdownlist/dropdownlist"></require>
<style>
.filter-label {
font-size: smaller;
margin-bottom: 0;
}
</style>
<div class="col-md-3 form-group">
<label for="${model.widgetId}">${model.label}</label>
<ak-drop-down-list id="${model.widgetId}"
k-data-text-field="label"
k-data-value-field="value"
k-data-source.bind="dataSource"
k-value.two-way="model.selectedValue"
style="width: 100%;">
</ak-drop-down-list>
</div>
</template>
export class GenericGroupBy {
model;
dataSource;
constructor() {
}
activate(parentModel) {
this.model = parentModel;
this.dataSource = new kendo.data.DataSource({
transport: {
read: callback => {
callback.success(this.model.options);
}
}
});
}
}
<!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