Skip to content

Instantly share code, notes, and snippets.

@JeroenVinke
Created June 2, 2017 07:07
Show Gist options
  • Save JeroenVinke/d3d05b0490ea7998c0701d06238fdbb7 to your computer and use it in GitHub Desktop.
Save JeroenVinke/d3d05b0490ea7998c0701d06238fdbb7 to your computer and use it in GitHub Desktop.
Datepicker: basic usage
<template>
<button type="button" click.delegate="add()">add</button>
<button type="button" click.delegate="del()">del</button>
Iteration ${cnt}
<div id="modules-container">
</div>
<div if.bind="show">
<compose view.bind="formName" model.bind="this"></compose>
</div
</template>
import { TemplatingEngine } from 'aurelia-templating';
import { inject } from 'aurelia-framework';
@inject(TemplatingEngine)
export class BasicUsage {
view = null;
cnt = 0;
templatingEngine;
views = [];
constructor(templatingEngine) {
this.templatingEngine = templatingEngine;
}
add() {
let htmlContent = `<compose view-model="part"></compose>`;
let moduleHtmlContent = $(`<div class="module-container">${htmlContent}</div>`);
moduleHtmlContent.appendTo('#modules-container');
let view = this.templatingEngine.enhance({ element: moduleHtmlContent[0], bindingContext: {}, overrideContext: {} });
this.views.push(view);
//view.bind();
view.attached();
}
del() {
//let compose = ($('.module-container').find('.au-target')[0] as any).au.controller.viewModel; //this is the compose
//compose.unbind();
for(let view of this.views) {
view.detached();
view.unbind();
}
$('.module-container').empty();
}
}
<!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.3.914/styles/kendo.common.min.css">
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2016.3.914/styles/kendo.rtl.min.css">
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2016.3.914/styles/kendo.default.min.css">
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2016.3.914/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.2/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>
<require from="aurelia-kendoui-bridge/datepicker/datepicker"></require>
<div class="demo-section k-content">
<h4>Show e-mails from:</h4>
<input ak-datepicker="k-widget.bind:datePicker" ref="date" style="width: 100%" />
</div>
</template>
export class Part {}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment