From 57eb74d1c9e685104f4ba08fe998d3b7f9ad7cd3 Mon Sep 17 00:00:00 2001 From: Jon Lambson Date: Tue, 17 Oct 2017 13:51:08 -0600 Subject: [PATCH] file tree navigation --- js/controllers/website-controller.js | 104 +++++++++++++++++++++++++++ templates/website.html | 2 +- templates/widgets/filetree.html | 4 +- 3 files changed, 107 insertions(+), 3 deletions(-) diff --git a/js/controllers/website-controller.js b/js/controllers/website-controller.js index 99c119c..f653542 100644 --- a/js/controllers/website-controller.js +++ b/js/controllers/website-controller.js @@ -83,6 +83,7 @@ app.controller('websiteCtrl', [ //vm.unzipPath = '/'; vm.uploadPath = '/'; + // already validated function domainIsVerified(r) { return r.verifiedAt || r.mode; @@ -345,6 +346,109 @@ app.controller('websiteCtrl', [ }; + vm.breadcrumbs = []; + vm.breadcrumbsPath = ['']; + vm.siteDirectories = []; + vm.siteFiles = []; + vm.Sites.allContents = function (r) { + vm.copyR = r; + vm.strictPath = r.shareAccess.path; + var pkg = Auth.oauth3.pkg('www@daplie.com'); + return pkg.contents({ + hostname: r.domain + , domain: r.domain + , tld: r.tld + , sld: r.sld + //, sub: r.sub + , path: r.shareAccess.path + }).then(function (result) { + if (r.shareAccess.path !== '/') { + var strictPathName = r.shareAccess.path.split('/'); + strictPathName = strictPathName[strictPathName.length - 2]; + vm.breadcrumbs.push(strictPathName); + } else { + vm.breadcrumbs.push('root'); + } + vm.folderStructure = result; + result.data.forEach(function(data){ + if (data.file) { + vm.siteFiles.push(data.name); + } + if (data.directory) { + vm.siteDirectories.push(data.name); + } + }); + vm.displaySpinner = 'hidden'; + // window.alert(JSON.stringify(result)); + }); + }; + + vm.Sites.contents = function (r, dir) { + vm.displaySpinner = ''; + var pkg = Auth.oauth3.pkg('www@daplie.com'); + return pkg.contents({ + hostname: r.domain + , domain: r.domain + , tld: r.tld + , sld: r.sld + //, sub: r.sub + , path: dir + }).then(function (result) { + vm.displaySpinner = 'hidden'; + vm.siteFiles = []; + vm.siteDirectories = []; + vm.folderStructure = result; + result.data.forEach(function(data){ + if (data.file) { + vm.siteFiles.push(data.name); + } + if (data.directory) { + vm.siteDirectories.push(data.name); + } + }); + // window.alert(JSON.stringify(result)); + }); + }; + + vm.getDirectoriesFromBreadcrumbs = function (dir) { + if (vm.copyR.shareAccess.path !== '/') { + var arry = vm.breadcrumbsPath.split('/'); + arry.pop(); + var removeFromBreadcrumbs = arry.indexOf(dir) + 1; + var notearry = vm.breadcrumbs; + notearry.pop(); + vm.breadcrumbsPath = arry.splice(0,removeFromBreadcrumbs); + vm.breadcrumbs = vm.breadcrumbs.splice(0,removeFromBreadcrumbs); + vm.Sites.contents(vm.copyR, vm.breadcrumbsPath.join('/')); + } else { + var removeFromBreadcrumbs = vm.breadcrumbsPath.indexOf(dir) + 1; + vm.breadcrumbsPath = vm.breadcrumbsPath.splice(0,removeFromBreadcrumbs); + vm.breadcrumbs = vm.breadcrumbs.splice(0,removeFromBreadcrumbs); + vm.Sites.contents(vm.copyR, vm.breadcrumbsPath.join('/')); + if (dir === 'root') { + vm.breadcrumbs = ['root']; + vm.breadcrumbsPath = ['']; + } + } + }; + + vm.getDirectories = function (dir) { + if (vm.copyR.shareAccess.path !== '/') { + vm.breadcrumbs.push(dir); + vm.breadcrumbsPath = vm.copyR.shareAccess.path + dir + '/'; + vm.Sites.contents(vm.copyR, vm.breadcrumbsPath); + } else { + vm.breadcrumbs.push(dir); + vm.breadcrumbsPath.push(dir); + vm.Sites.contents(vm.copyR, vm.breadcrumbsPath.join('/')); + } + }; + + + + + + vm.Sites.archive = function (r) { var pkg = Auth.oauth3.pkg('www@daplie.com'); diff --git a/templates/website.html b/templates/website.html index 764a722..d6906eb 100644 --- a/templates/website.html +++ b/templates/website.html @@ -157,7 +157,7 @@
- +

Files

diff --git a/templates/widgets/filetree.html b/templates/widgets/filetree.html index 5382163..6b1b28a 100644 --- a/templates/widgets/filetree.html +++ b/templates/widgets/filetree.html @@ -1,7 +1,7 @@
@@ -14,7 +14,7 @@
  • - +