diff --git a/js/controllers/website-controller.js b/js/controllers/website-controller.js
index 714bf43..6c4d208 100644
--- a/js/controllers/website-controller.js
+++ b/js/controllers/website-controller.js
@@ -25,6 +25,20 @@ function handleFiles(ev) {
}
window.document.body.addEventListener('change', handleFiles);
+app.directive('daplieFileChange', function () {
+ return {
+ restrict: 'A',
+ require:"ngModel",
+ link: function (scope, element, attrs, ngModel) {
+ element.bind('change', function (event) {
+ var files = event.target.files;
+ ngModel.$setViewValue(files[0]);
+ scope.$eval(attrs.daplieFileChange);
+ });
+ }
+ };
+});
+
app.controller('websiteCtrl', [
'$scope', '$q', 'Auth', 'azp@oauth3.org', '$timeout'
, function ($scope, $q, Auth, Oauth3, $timeout) {
@@ -140,26 +154,26 @@ app.controller('websiteCtrl', [
vm.currentHost = record.host; // .replace(new RegExp('\\.' + vm.domain.domain.replace(/\./g, '\\.') + '$', ''));
};
- vm._createWebsite = function (pkg) {
+ vm._uploadFile = function (pkg, opts) {
return pkg.add({
- hostname: vm.currentHost
- , domain: vm.currentHost
- , tld: vm.domain.tld
- , sld: vm.domain.sld
- //, sub: vm.record.sub
- , multipart: { site: vm.currentFiles[0] }
+ hostname: opts.currentHost
+ , domain: opts.currentHost
+ , tld: opts.domain.tld
+ , sld: opts.domain.sld
+ //, sub: opts.record.sub
+ , multipart: { site: opts.currentFiles[0] }
, progress: function (ev) {
// TODO must digest
- vm.uploadPercent = Math.round((ev.loaded / ev.total) * 100);
+ opts.uploadPercent = Math.round((ev.loaded / ev.total) * 100);
// TODO GiB, MiB, KiB, etc
- vm.uploadTotal = (ev.total / (1024 * 1024)).toFixed(2);
- vm.uploadProgress = (ev.loaded / (1024 * 1024)).toFixed(2);
+ opts.uploadTotal = (ev.total / (1024 * 1024)).toFixed(2);
+ opts.uploadProgress = (ev.loaded / (1024 * 1024)).toFixed(2);
}
- , unzip: vm.unzip
- , strip: vm.stripZip
- , path: vm.webPath
+ , unzip: opts.unzip
+ , strip: opts.stripZip
+ , path: opts.webPath
}).then(function (result) {
- vm.uploadTotal = 0;
+ opts.uploadTotal = 0;
window.alert(JSON.stringify(result));
});
};
@@ -211,7 +225,7 @@ app.controller('websiteCtrl', [
if (vm.sites.some(function (r) {
return -1 !== ('.' + vm.currentHost).indexOf(('.' + r.domain));
})) {
- vm._createWebsite(pkg);
+ vm._uploadFile(pkg, vm);
return;
}
@@ -256,13 +270,20 @@ app.controller('websiteCtrl', [
return prom.then(function () {
return pkg.claim(domainReq).then(function (result) {
- return vm._createWebsite(pkg);
+ return vm._uploadFile(pkg, vm);
});
});
});
};
- vm.createWebsite = vm.Sites.create;
+ vm.Sites.setUpload = function (r) {
+ console.log("Hey! At least it can tell if there's a change!");
+ console.log(r);
+ };
+ vm.Sites.upload = function (r) {
+ var pkg = Auth.oauth3.pkg('www@daplie.com');
+ vm._uploadFile(pkg, r);
+ };
vm.Sites.archive = function (r) {
var pkg = Auth.oauth3.pkg('www@daplie.com');
diff --git a/templates/website.html b/templates/website.html
index 125fdc3..4a5a5a1 100644
--- a/templates/website.html
+++ b/templates/website.html
@@ -75,7 +75,7 @@
-->
-
+
@@ -85,27 +85,44 @@