Skip to content

Instantly share code, notes, and snippets.

@adriatic
Last active July 19, 2016 18:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save adriatic/632010615663d7bae9c8efdf00550513 to your computer and use it in GitHub Desktop.
Save adriatic/632010615663d7bae9c8efdf00550513 to your computer and use it in GitHub Desktop.
Upload: initial files
<template>
<div id="example">
<div class="box">
<h4>Information</h4>
<p>
The Upload can be used as a drop-in replacement
for file input elements. This "synchronous" mode does not require
special handling on the server.
</p>
</div>
<div>
<div class="demo-section k-content">
<ak-upload k-multiple.bind="true"
k-async.bind="asyncUpload"
k-files.bind="initialFiles"
k-on-success.delegate="onSuccess($event.detail)"
k-on-error.delegate="onSuccess($event.detail)">
<input name="files" type="file"/>
</ak-upload>
</div>
</div>
</div>
</template>
export class InitialFiles {
asyncUpload = {
saveUrl: 'https://demos.telerik.com/kendo-ui/upload/save',
removeUrl: 'https://demos.telerik.com/kendo-ui/upload/remove',
autoUpload: false
};
constructor() {
if (sessionStorage.initialFiles === undefined) {
sessionStorage.initialFiles = '[]';
}
this.initialFiles = JSON.parse(sessionStorage.initialFiles);
}
onSuccess(e) {
let currentInitialFiles = JSON.parse(sessionStorage.initialFiles);
for (let i = 0; i < e.files.length; i++) {
let current = {
name: e.files[i].name,
extension: e.files[i].extension,
size: e.files[i].size
};
if (e.operation === 'upload') {
currentInitialFiles.push(current);
} else {
let indexOfFile = currentInitialFiles.indexOf(current);
currentInitialFiles.splice(indexOfFile, 1);
}
}
sessionStorage.initialFiles = JSON.stringify(currentInitialFiles);
}
}
<!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.1.226/styles/kendo.common.min.css">
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2016.1.226/styles/kendo.rtl.min.css">
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2016.1.226/styles/kendo.default.min.css">
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2016.1.226/styles/kendo.mobile.all.min.css">
<script src="https://kendo.cdn.telerik.com/2016.1.226/js/jszip.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/0.3.5/config2.js"></script>
<script>
System.import('aurelia-bootstrapper');
</script>
</body>
</html>
export function configure(aurelia) {
aurelia.use
.standardConfiguration()
.developmentLogging()
.plugin('aurelia-kendoui-bridge', kendo => kendo.pro());
aurelia.start().then(a => a.setRoot());
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment