mirror of
https://github.com/goharbor/harbor.git
synced 2025-02-08 16:02:15 +01:00
Updates for interactions of retrieving project list in repositories.
Updates for interactions of retrieving project list in repositories.
This commit is contained in:
commit
c3540be065
@ -27,11 +27,11 @@
|
||||
|
||||
vm.projectName = '';
|
||||
vm.isOpen = false;
|
||||
vm.isProjectMember = false;
|
||||
vm.target = 'repositories';
|
||||
|
||||
if(getParameterByName('is_public', $location.absUrl())) {
|
||||
vm.isPublic = getParameterByName('is_public', $location.absUrl()) === 'true' ? 1 : 0;
|
||||
vm.isPublic = Number(getParameterByName('is_public', $location.absUrl()));
|
||||
vm.publicity = (vm.isPublic === 1) ? true : false;
|
||||
}
|
||||
|
||||
vm.retrieve = retrieve;
|
||||
vm.filterInput = '';
|
||||
@ -58,20 +58,20 @@
|
||||
}
|
||||
|
||||
function getProjectSuccess(data, status) {
|
||||
vm.projects = data;
|
||||
vm.projects = data || [];
|
||||
|
||||
if(vm.projects == null) {
|
||||
vm.isPublic = 1;
|
||||
if(vm.projects.length == 0){
|
||||
if(vm.isPublic === 0) {
|
||||
$window.location.href = '/project';
|
||||
}else{
|
||||
vm.publicity = true;
|
||||
vm.projectType = 'public_projects';
|
||||
console.log('vm.projects is null, load public projects.');
|
||||
return;
|
||||
vm.target = 'repositories';
|
||||
}
|
||||
}
|
||||
|
||||
if(angular.isArray(vm.projects) && vm.projects.length > 0) {
|
||||
vm.selectedProject = vm.projects[0];
|
||||
}else{
|
||||
$window.location.href = '/project';
|
||||
}
|
||||
|
||||
if(getParameterByName('project_id', $location.absUrl())){
|
||||
@ -83,8 +83,8 @@
|
||||
}
|
||||
|
||||
$location.search('project_id', vm.selectedProject.project_id);
|
||||
|
||||
vm.checkProjectMember(vm.selectedProject.project_id);
|
||||
|
||||
vm.resultCount = vm.projects.length;
|
||||
|
||||
$scope.$watch('vm.filterInput', function(current, origin) {
|
||||
@ -102,10 +102,11 @@
|
||||
function selectItem(item) {
|
||||
vm.selectedProject = item;
|
||||
$location.search('project_id', vm.selectedProject.project_id);
|
||||
vm.checkProjectMember(vm.selectedProject.project_id);
|
||||
}
|
||||
|
||||
$scope.$on('$locationChangeSuccess', function(e) {
|
||||
var projectId = getParameterByName('project_id', $location.absUrl());
|
||||
vm.projectId = getParameterByName('project_id', $location.absUrl());
|
||||
vm.isOpen = false;
|
||||
});
|
||||
|
||||
@ -132,6 +133,7 @@
|
||||
restrict: 'E',
|
||||
templateUrl: '/static/resources/js/components/details/retrieve-projects.directive.html',
|
||||
scope: {
|
||||
'target': '=',
|
||||
'isOpen': '=',
|
||||
'selectedProject': '=',
|
||||
'publicity': '=',
|
||||
|
@ -66,10 +66,6 @@
|
||||
|
||||
$scope.$on('$locationChangeSuccess', function() {
|
||||
|
||||
if(vm.publicity) {
|
||||
vm.target = 'repositories';
|
||||
}
|
||||
|
||||
vm.projectId = getParameterByName('project_id', $location.absUrl());
|
||||
vm.queryParams = {
|
||||
'beginTimestamp' : vm.beginTimestamp,
|
||||
|
@ -25,6 +25,7 @@
|
||||
function NavigationDetailsController($window, $location, $scope, getParameterByName) {
|
||||
var vm = this;
|
||||
|
||||
|
||||
vm.projectId = getParameterByName('project_id', $location.absUrl());
|
||||
|
||||
$scope.$on('$locationChangeSuccess', function() {
|
||||
@ -53,9 +54,6 @@
|
||||
function link(scope, element, attrs, ctrl) {
|
||||
|
||||
var visited = ctrl.path.substring(1);
|
||||
if(visited.indexOf('?') >= 0) {
|
||||
visited = ctrl.url.substring(1, ctrl.url.indexOf('?'));
|
||||
}
|
||||
|
||||
if(visited) {
|
||||
element.find('a[tag="' + visited + '"]').addClass('active');
|
||||
@ -63,7 +61,14 @@
|
||||
element.find('a:first').addClass('active');
|
||||
}
|
||||
|
||||
ctrl.target = visited;
|
||||
scope.$watch('vm.target', function(current) {
|
||||
if(current) {
|
||||
ctrl.target = current;
|
||||
element.find('a').removeClass('active');
|
||||
element.find('a[tag="' + ctrl.target + '"]').addClass('active');
|
||||
}
|
||||
});
|
||||
|
||||
element.find('a').on('click', click);
|
||||
|
||||
function click(event) {
|
||||
|
@ -30,7 +30,7 @@
|
||||
<navigation-details target="vm.target" ng-show="vm.isProjectMember"></navigation-details>
|
||||
</span>
|
||||
</div>
|
||||
<retrieve-projects is-open="vm.isOpen" selected-project="vm.selectedProject" is-project-member="vm.isProjectMember" publicity="vm.publicity"></retrieve-projects>
|
||||
<retrieve-projects target="vm.target" is-open="vm.isOpen" selected-project="vm.selectedProject" is-project-member="vm.isProjectMember" publicity="vm.publicity"></retrieve-projects>
|
||||
<!-- Tab panes -->
|
||||
<div class="tab-content" ng-click="vm.closeRetrievePane()">
|
||||
<input type="hidden" id="HarborRegUrl" value="{{.HarborRegUrl}}">
|
||||
|
Loading…
Reference in New Issue
Block a user