From 723a22439f9aad213af08464ff6c9eb6198eb15d Mon Sep 17 00:00:00 2001 From: aj Date: Fri, 1 Sep 2017 22:39:21 +0000 Subject: [PATCH] WIP upload per-domain --- js/controllers/website-controller.js | 55 ++++++++++++++++-------- templates/website.html | 63 ++++++++++++++++++---------- 2 files changed, 78 insertions(+), 40 deletions(-) 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 @@

Your Websites

- - - - - - - - - - -
example.com - Download - - - - - Sites > blogs > blog.jane.smith.netjane@smith.net, jack@smith.net, friend@gmail.com - - - - -
+
+ + + + + + + + + + +
example.com + Download + + + + + Sites > blogs > blog.jane.smith.netjane@smith.net, jack@smith.net, friend@gmail.com + + + + +
+
+
+ +
+ +
+ + + +
99% | 1 MiB / 100 MiB
+ +
+ + +
+