mirror of
https://github.com/goharbor/harbor
synced 2025-05-20 02:10:17 +00:00
updates for project of UI
This commit is contained in:
parent
eb26c59738
commit
aa3b1b3cbe
@ -4,7 +4,7 @@
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr ng-repeat="p in vm.projects">
|
||||
<td><a href="/ng/repository?project_id=//p.ProjectId//">//p.Name//</a></td>
|
||||
<td><a href="/ng/repository#/repositories?project_id=//p.ProjectId//">//p.Name//</a></td>
|
||||
<td>N/A</td>
|
||||
<td>N/A</td>
|
||||
<td>//p.CreationTime | dateL : 'YYYY-MM-DD HH:mm:ss'//</td>
|
||||
|
@ -15,11 +15,13 @@
|
||||
vm.reload = reload;
|
||||
|
||||
vm.getCurrentUser = getCurrentUser;
|
||||
vm.resultCount = 0;
|
||||
vm.publicity = 0;
|
||||
|
||||
function reload() {
|
||||
$.when(vm.getCurrentUser())
|
||||
.done(function(e) {
|
||||
vm.retrieve(vm.projectName);
|
||||
vm.retrieve();
|
||||
});
|
||||
}
|
||||
|
||||
@ -27,18 +29,21 @@
|
||||
|
||||
$scope.$on('needToReload', function(e, val) {
|
||||
if(val) {
|
||||
vm.reload(vm.projectName);
|
||||
vm.reload();
|
||||
}
|
||||
});
|
||||
|
||||
function retrieve(projectName) {
|
||||
ListProjectService({'is_public': 0, 'project_name': projectName})
|
||||
function retrieve() {
|
||||
ListProjectService(vm.projectName, vm.publicity)
|
||||
.success(listProjectSuccess)
|
||||
.error(listProjectFailed);
|
||||
}
|
||||
|
||||
function listProjectSuccess(data, status) {
|
||||
vm.projects = data;
|
||||
if(data) {
|
||||
vm.resultCount = vm.projects.length;
|
||||
}
|
||||
}
|
||||
function listProjectFailed(e) {
|
||||
console.log('Failed in listProject:' + e);
|
||||
@ -65,7 +70,9 @@
|
||||
'restrict': 'E',
|
||||
'templateUrl': '/static/ng/resources/js/components/project/list-project.directive.html',
|
||||
'scope': {
|
||||
'projectName': '='
|
||||
'projectName': '=',
|
||||
'publicity': '=',
|
||||
'resultCount': '='
|
||||
},
|
||||
'controller': ListProjectController,
|
||||
'controllerAs': 'vm',
|
||||
|
@ -12,8 +12,11 @@
|
||||
var vm = this;
|
||||
vm.isOpen = false;
|
||||
vm.closeRetrievePane = closeRetrievePane;
|
||||
vm.projectName = '';
|
||||
vm.isPublic = 0;
|
||||
|
||||
ListProjectService({'isPublic' : 0, 'projectName' : ''})
|
||||
|
||||
ListProjectService(vm.projectName, vm.isPublic)
|
||||
.then(getProjectComplete)
|
||||
.catch(getProjectFailed);
|
||||
|
||||
|
@ -9,10 +9,15 @@
|
||||
ProjectController.$inject = ['$scope'];
|
||||
|
||||
function ProjectController($scope) {
|
||||
var vm = $scope;
|
||||
var vm = this;
|
||||
vm.showAddProject = showAddProject;
|
||||
vm.isOpen = false;
|
||||
vm.searchProject = searchProject;
|
||||
vm.inputProjectName = "";
|
||||
vm.inputPublicity = 0;
|
||||
|
||||
vm.showAddButton = showAddButton;
|
||||
vm.togglePublicity = togglePublicity;
|
||||
|
||||
$scope.$on('addedSuccess', function(e, val) {
|
||||
$scope.$broadcast('needToReload', true);
|
||||
@ -27,10 +32,23 @@
|
||||
}
|
||||
|
||||
function searchProject() {
|
||||
|
||||
$scope.$broadcast('needToReload', true);
|
||||
|
||||
}
|
||||
|
||||
function showAddButton() {
|
||||
if(vm.inputPublicity == 0) {
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function togglePublicity(e) {
|
||||
vm.inputPublicity = e.publicity;
|
||||
$scope.$broadcast('needToReload', true);
|
||||
console.log('vm.inputPublicity:' + vm.inputPublicity);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
})();
|
@ -11,24 +11,16 @@
|
||||
|
||||
return ListProject;
|
||||
|
||||
function ListProject(queryParams) {
|
||||
function ListProject(projectName, isPublic) {
|
||||
$log.info('list project projectName:' + projectName, ', isPublic:' + isPublic);
|
||||
return $http
|
||||
.get('/api/projects', {
|
||||
'params' : {
|
||||
'is_public': isPublic,
|
||||
'project_name': projectName
|
||||
}
|
||||
});
|
||||
|
||||
$log.info(queryParams);
|
||||
|
||||
var isPublic = queryParams.isPublic;
|
||||
var projectName = queryParams.projectName;
|
||||
return $http({
|
||||
method: 'GET',
|
||||
url: '/api/projects',
|
||||
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
|
||||
transformRequest: function(obj) {
|
||||
var str = [];
|
||||
for(var p in obj)
|
||||
str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));
|
||||
return str.join("&");
|
||||
},
|
||||
data: {'is_public': isPublic, 'project_name': projectName}
|
||||
});
|
||||
}
|
||||
}
|
||||
})();
|
@ -1,26 +1,26 @@
|
||||
<div class="container-fluid container-fluid-custom" ng-controller="ProjectController">
|
||||
<div class="container-fluid container-fluid-custom" ng-controller="ProjectController as vm">
|
||||
<div class="container container-custom">
|
||||
<div class="row extend-height">
|
||||
<div class="col-xs-12 col-md-12 extend-height">
|
||||
<div class="section">
|
||||
<h4 class="page-header">My Projects<span class="gutter">|</span><a href="#" class="title-color">Public Projects</a></h4>
|
||||
<h4 class="page-header"><a href="#" ng-click="vm.togglePublicity({publicity: 0})">My Projects</a><span class="gutter">|</span><a href="#" class="title-color" ng-click="vm.togglePublicity({publicity: 1})">Public Projects</a></h4>
|
||||
<div class="search-pane">
|
||||
<div class="form-inline">
|
||||
<div class="input-group">
|
||||
<input type="text" class="form-control" placeholder="" ng-model="inputProjectName" size="30">
|
||||
<input type="text" class="form-control" placeholder="" ng-model="vm.inputProjectName" size="30">
|
||||
<span class="input-group-btn">
|
||||
<button class="btn btn-primary" type="button" ng-click="searchProject()"><span class="glyphicon glyphicon-search"></span></button>
|
||||
<button class="btn btn-primary" type="button" ng-click="vm.searchProject()"><span class="glyphicon glyphicon-search"></span></button>
|
||||
</span>
|
||||
</div>
|
||||
<button class="btn btn-success" type="button" ng-click="showAddProject()"><span class="glyphicon glyphicon-plus"></span>New Project</button>
|
||||
<button class="btn btn-success" type="button" ng-show="vm.showAddButton()" ng-click="vm.showAddProject()"><span class="glyphicon glyphicon-plus"></span>New Project</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="pane project-pane">
|
||||
<add-project ng-show="isOpen" is-open="isOpen"></add-project>
|
||||
<add-project ng-show="vm.isOpen" is-open="vm.isOpen"></add-project>
|
||||
<div class="sub-pane">
|
||||
<list-project project-name="inputProjectName"></list-project>
|
||||
<list-project project-name="vm.inputProjectName" publicity="vm.inputPublicity" result-count="vm.resultCount"></list-project>
|
||||
</div>
|
||||
<div class="col-xs-4 col-md-12 well well-sm well-custom"><div class="col-md-offset-10">7 items</div></div>
|
||||
<div class="col-xs-4 col-md-12 well well-sm well-custom"><div class="col-md-offset-10">//vm.resultCount// items</div></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
Loading…
x
Reference in New Issue
Block a user