file tree navigation
This commit is contained in:
		
							parent
							
								
									5314114b4b
								
							
						
					
					
						commit
						57eb74d1c9
					
				@ -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');
 | 
			
		||||
 | 
			
		||||
@ -157,7 +157,7 @@
 | 
			
		||||
              </div>
 | 
			
		||||
              <div class="col-md-3">
 | 
			
		||||
                <div class="square-service-block">
 | 
			
		||||
                  <a ng-click="vm.showAction('files'); vm.Sites.contents(r);" class="cp trigger-files-list-refresh">
 | 
			
		||||
                  <a ng-click="vm.showAction('files'); vm.Sites.allContents(r);" class="cp trigger-files-list-refresh">
 | 
			
		||||
                    <div class="ssb-icon"><i class="fa fa-sitemap" aria-hidden="true"></i></div>
 | 
			
		||||
                    <h2 class="ssb-title">Files</h2>
 | 
			
		||||
                  </a>
 | 
			
		||||
 | 
			
		||||
@ -1,7 +1,7 @@
 | 
			
		||||
<div class="text-left" ng-hide="vm.displayFileTree">
 | 
			
		||||
  <div class="row">
 | 
			
		||||
    <ul class="breadcrumb">
 | 
			
		||||
      <li ng-repeat="breadcrumb in vm.breadcrumbs track by $index" ng-click="vm.getDirectoriesFromBreadcrumbs(breadcrumb); vm.cleanPath();" data="{{ breadcrumb }}" class="cp breadcrumbs-list">
 | 
			
		||||
      <li ng-repeat="breadcrumb in vm.breadcrumbs track by $index" ng-click="vm.getDirectoriesFromBreadcrumbs(breadcrumb);" data="{{ breadcrumb }}" class="cp breadcrumbs-list">
 | 
			
		||||
        {{ breadcrumb | capitalize }}
 | 
			
		||||
      </li>
 | 
			
		||||
    </ul>
 | 
			
		||||
@ -14,7 +14,7 @@
 | 
			
		||||
      <ul class="tree ls-none">
 | 
			
		||||
        <li class="directories-go-here" ng-repeat="directory in vm.siteDirectories track by $index">
 | 
			
		||||
          <input type="checkbox" id="{{ r.challenge }}{{ $index }}" />
 | 
			
		||||
          <label class="tree_label" for="{{ r.challenge }}{{ $index }}" ng-click="vm.getDirectories(directory); vm.cleanPath();" data="{{ directory }}">{{ directory }}</label><span class="pull-right"><button ng-if="r.shareAccess.write" type="button" class="btn btn-danger btn-xs" ng-click="vm.deleteFilesFrom(r, directory)" data="{{ directory }}" ><i class="fa fa-trash"></i></button></span>
 | 
			
		||||
          <label class="tree_label" for="{{ r.challenge }}{{ $index }}" ng-click="vm.getDirectories(directory);" data="{{ directory }}">{{ directory }}</label><span class="pull-right"><button ng-if="r.shareAccess.write" type="button" class="btn btn-danger btn-xs" ng-click="vm.deleteFilesFrom(r, directory)" data="{{ directory }}" ><i class="fa fa-trash"></i></button></span>
 | 
			
		||||
        </li>
 | 
			
		||||
      </ul>
 | 
			
		||||
      <ul class="tree files-only ls-none">
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user