diff --git a/css/styles.css b/css/styles.css index c44dbac..095493c 100644 --- a/css/styles.css +++ b/css/styles.css @@ -40,6 +40,9 @@ .ls-pd0 { -webkit-padding-start: 0; } +.padding-side-15 { + padding: 0px 15px; +} /* Side Menu */ .side-menu { padding-top: 10px; @@ -616,3 +619,16 @@ h2.ssb-title { padding:0; text-transform: uppercase; } +.folder-actions-list .root { + display: none; +} +.folder-actions-list { + margin: 20px 0px; + -webkit-padding-start: 0px; +} +.folder-actions-list i { + color: #337ab7; +} +.folder-actions-list li { + padding: 5px 0px; +} diff --git a/js/controllers/website-controller.js b/js/controllers/website-controller.js index 0e05a05..aac96cb 100644 --- a/js/controllers/website-controller.js +++ b/js/controllers/website-controller.js @@ -321,10 +321,14 @@ app.controller('websiteCtrl', [ vm.Sites.setUpload = function (r) { console.log("Hey! At least it can tell if there's a change!"); analyzeFile(r.newFile, r); + vm.showCompleteFileUploadBtn = true; console.log(r); + }; vm.Sites.upload = function (r) { - r.uploadPath = vm.autoPopulateWebPath; + if (r.uploadPath === undefined) { + r.uploadPath = vm.autoPopulateWebPath; + } var pkg = Auth.oauth3.pkg('www@daplie.com'); //analyzeFile(r.newFile, r); vm._uploadFile(pkg, r); @@ -345,12 +349,11 @@ app.controller('websiteCtrl', [ window.open(result.data.url); }); }; - vm.Sites.remove = function (r, opts) { - if (!window.confirm("Delete files for this site?")) { - return; - } + vm.Sites.remove = function (r, opts) { var pkg = Auth.oauth3.pkg('www@daplie.com'); + debugger; + return pkg.remove({ hostname: r.domain , domain: r.domain @@ -364,7 +367,40 @@ app.controller('websiteCtrl', [ }); }; - vm.breadcrumbs = ['Root']; + vm.deleteFilesFrom = function (r, path, opts) { + var confirmMessage; + vm.autoPopulateWebPath; + opts = {}; + + if (path === undefined) { + confirmMessage = "Delete all files for this site?"; + opts.path = '/'; + opts.confirm = true; + } else if (path.includes(".")) { + confirmMessage = "Delete this file?"; + if (vm.autoPopulateWebPath === undefined) { + opts.path = path; + } else { + opts.path = vm.autoPopulateWebPath + path; + } + } else { + confirmMessage = "Delete all items in this folder?"; + if (vm.autoPopulateWebPath === undefined) { + opts.path = path; + } else if (vm.autoPopulateWebPath.includes(path)) { + opts.path = vm.autoPopulateWebPath; + } else { + opts.path = vm.autoPopulateWebPath + path; + } + opts.confirm = true; + } + if (!window.confirm(confirmMessage)) { + return; + } + vm.Sites.remove(r, opts); + }; + + vm.breadcrumbs = ['root']; vm.breadcrumbsPath = ['/']; vm.breadcrumbPathClicked = false; vm.webPathAutofill = '/'; @@ -378,16 +414,19 @@ app.controller('websiteCtrl', [ newPath = site; site = vm.siteResults; function updatePath (path) { + vm.currentFolder = path; if (typeof path !== 'object') { vm.breadcrumbs.push(path); vm.breadcrumbsPath.push(path); vm.autoPopulateWebPath = vm.breadcrumbsPath; vm.autoPopulateWebPath.push('/'); vm.autoPopulateWebPath = vm.autoPopulateWebPath.join(''); + } else { + vm.currentFolder = "hidden" } if (vm.breadcrumbPathClicked) { - if (path === 'Root') { - vm.breadcrumbs = ['Root']; + if (path === 'root') { + vm.breadcrumbs = ['root']; vm.breadcrumbsPath = ['/']; vm.breadcrumbPathClicked = false; vm.autoPopulateWebPath = "/"; @@ -427,21 +466,59 @@ app.controller('websiteCtrl', [ vm.getSiteContents(r); }; + vm.cleanPath = function () { + vm.savedPath = vm.autoPopulateWebPath; + vm.autoPopulateWebPath = ''; + } + + vm.showUploadButton = true; + vm.showFolderAction = true; + vm.createNewFolder = function (r) { + if (vm.savedPath === undefined) { + vm.savedPath = '/'; + } + vm.savedPath; + vm.hideFolderInput = 'hidden'; + vm.showFileUploadBtn = true; + r.uploadPath = vm.savedPath + vm.autoPopulateWebPath; + }; + + vm.autoPopulateFolderName = function () { + console.log('blah', vm.currentFolder); + if (vm.currentFolder === 'hidden') { + vm.autoPopulateWebPath = '/' + } + } + vm.getDirectories = function (path) { vm.siteDirectories = []; vm.siteFiles = []; var site = vm.siteResults; vm.directoryPath = path; vm.getSiteContents(path, site); + vm.showUploadButton = false; + vm.showFolderAction = false; }; vm.getDirectoriesFromBreadcrumbs = function (dir) { + if (dir === 'root') { + vm.showFolderAction = true; + vm.showUploadButton = true; + } else { + vm.showFolderAction = false; + vm.showUploadButton = false; + } vm.breadcrumbPathClicked = true; vm.siteDirectories = []; vm.siteFiles = []; vm.getSiteContents(dir); }; + vm.triggerDeleteFolder = function (folder, r) { + console.log('DELETE FOLDER ->', folder); + vm.deleteFilesFrom(r, folder) + } + vm.Shares = {}; vm.Shares.invite = function (r) { var pkg = Auth.oauth3.pkg('www@daplie.com'); @@ -540,8 +617,8 @@ app.controller('websiteCtrl', [ sites.forEach(function (site) { site.pending = !domainIsVerified(site); }); - console.log('[listSites] sites:'); - console.log(sites); + // console.log('[listSites] sites:'); + // console.log(sites); vm.sites = sites; vm.sites.forEach(function(site) { site.urlSafeDomain = "https://" + site.domain; @@ -552,8 +629,8 @@ app.controller('websiteCtrl', [ //vm.getDomains(); Auth.api('domains.list', {}).then(function (els) { - console.log('[init] domains.list els:'); - console.log(els); + // console.log('[init] domains.list els:'); + // console.log(els); vm.domains = els; $scope.domain = vm.domains; }); @@ -588,6 +665,7 @@ app.controller('websiteCtrl', [ vm.showInviteContainer = true; vm.websiteTiles = true; vm.showBackBtn = true; + vm.displayFileTree = true; break; case 'shares': vm.showSharesContainer = true; @@ -608,11 +686,11 @@ app.controller('websiteCtrl', [ vm.showInviteContainer = false; vm.showSharesContainer = false; vm.showFilesContainer = false; + vm.displayFileTree = false; vm.websiteTiles = false; vm.showBackBtn = false; }, 150); }; - }]); }()); @@ -656,3 +734,9 @@ app.filter('stringify', function() { return stringify(ob, undefined, 2); }; }); + +app.filter('capitalize', function() { + return function(input) { + return (!!input) ? input.charAt(0).toUpperCase() + input.substr(1).toLowerCase() : ''; + } +}); diff --git a/templates/website.html b/templates/website.html index 4bd9000..6e2b735 100644 --- a/templates/website.html +++ b/templates/website.html @@ -230,8 +230,8 @@
diff --git a/templates/widgets/filetree.html b/templates/widgets/filetree.html index 09fd7b5..a271873 100644 --- a/templates/widgets/filetree.html +++ b/templates/widgets/filetree.html @@ -1,8 +1,8 @@ -{{ vm.folderStructure | stringify }}