mirror of
https://github.com/goharbor/harbor.git
synced 2025-02-01 20:41:22 +01:00
add links to popular repo items and recent logs.
This commit is contained in:
parent
9dcf54a516
commit
e5dec021fe
@ -28,7 +28,9 @@
|
||||
vm.projectName = '';
|
||||
vm.isOpen = false;
|
||||
vm.isProjectMember = false;
|
||||
vm.target = 'repositories';
|
||||
|
||||
vm.target = $location.path().substr(1) || 'repositories';
|
||||
|
||||
|
||||
vm.isPublic = Number(getParameterByName('is_public', $location.absUrl()));
|
||||
vm.publicity = (vm.isPublic === 1) ? true : false;
|
||||
|
@ -35,7 +35,8 @@
|
||||
vm.beginTimestamp = 0;
|
||||
vm.endTimestamp = 0;
|
||||
vm.keywords = '';
|
||||
vm.username = '';
|
||||
|
||||
vm.username = $location.hash() || '';
|
||||
|
||||
vm.op = [];
|
||||
vm.opOthers = true;
|
||||
@ -118,18 +119,6 @@
|
||||
|
||||
console.log('Total Count in logs:' + vm.totalCount + ', page:' + vm.page);
|
||||
|
||||
// vm.queryParams = {
|
||||
// 'beginTimestamp' : 0,
|
||||
// 'endTimestamp' : 0,
|
||||
// 'keywords' : '',
|
||||
// 'projectId': vm.projectId,
|
||||
// 'username' : ''
|
||||
// };
|
||||
// vm.op = ['all'];
|
||||
// vm.fromDate = '';
|
||||
// vm.toDate = '';
|
||||
// vm.others = '';
|
||||
// vm.opOthers = true;
|
||||
vm.isOpen = false;
|
||||
}
|
||||
function listLogFailed(response){
|
||||
|
@ -29,7 +29,8 @@
|
||||
<td colspan="5" height="120px" class="empty-hint" ng-if="vm.top10Repositories.length === 0"><h4 class="text-muted">// 'no_top_repositories' | tr //</h4></td>
|
||||
</tr>
|
||||
<tr ng-if="vm.top10Repositories.length > 0" ng-repeat="t in vm.top10Repositories">
|
||||
<td width="60%">//t.name//</td><td width="40%">//t.count//</td>
|
||||
<td width="60%"><a href="javascript:void(0);" ng-click="vm.gotoRepo(t.name)">//t.name//</a></td>
|
||||
<td width="40%">//t.count//</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
@ -20,15 +20,17 @@
|
||||
.module('harbor.top.repository')
|
||||
.directive('topRepository', topRepository);
|
||||
|
||||
TopRepositoryController.$inject = ['$scope', 'ListTopRepositoryService', '$filter', 'trFilter'];
|
||||
TopRepositoryController.$inject = ['$scope', 'ListTopRepositoryService', 'SearchService', '$filter', 'trFilter', '$window'];
|
||||
|
||||
function TopRepositoryController($scope, ListTopRepositoryService, $filter, trFilter) {
|
||||
function TopRepositoryController($scope, ListTopRepositoryService, SearchService, $filter, trFilter, $window) {
|
||||
var vm = this;
|
||||
|
||||
ListTopRepositoryService(5)
|
||||
.success(listTopRepositorySuccess)
|
||||
.error(listTopRepositoryFailed);
|
||||
|
||||
vm.gotoRepo = gotoRepo;
|
||||
|
||||
function listTopRepositorySuccess(data) {
|
||||
vm.top10Repositories = data || [];
|
||||
}
|
||||
@ -39,6 +41,26 @@
|
||||
$scope.$emit('raiseError', true);
|
||||
console.log('Failed to get top repo:' + data);
|
||||
}
|
||||
|
||||
function gotoRepo(repoName) {
|
||||
SearchService(repoName)
|
||||
.success(searchSuccess)
|
||||
.error(searchFailed);
|
||||
}
|
||||
|
||||
function searchSuccess(data, status) {
|
||||
var repoInfo = data['repository'];
|
||||
if(repoInfo && repoInfo.length > 0) {
|
||||
var projectId = repoInfo[0]['project_id'];
|
||||
var publicity = repoInfo[0]['project_public'];
|
||||
var repoName = repoInfo[0]['repository_name'];
|
||||
$window.location.href = '/repository#/repositories?project_id=' + projectId + '&is_public=' + publicity +'#' + repoName;
|
||||
}
|
||||
}
|
||||
|
||||
function searchFailed(data) {
|
||||
console.log('Failed to get repo info:' + data);
|
||||
}
|
||||
}
|
||||
|
||||
function topRepository() {
|
||||
|
@ -30,7 +30,10 @@
|
||||
<td colspan="5" height="120px" class="empty-hint" ng-if="vm.integratedLogs.length === 0"><h4 class="text-muted">// 'no_user_logs' | tr //</h4></td>
|
||||
</tr>
|
||||
<tr ng-if="vm.integratedLogs.length > 0" ng-repeat="t in vm.integratedLogs">
|
||||
<td width="25%">//t.operation//</td><td width="25%">//t.repo_name//</td><td width="25%">//t.username//</td><td width="25%">//t.op_time | dateL : 'YYYY-MM-DD HH:mm:ss'//</td>
|
||||
<td width="25%">//t.operation//</td>
|
||||
<td width="25%"><a href="javascript:void(0);" ng-click="vm.gotoLog(t.project_id, t.username)">//t.repo_name//</a></td>
|
||||
<td width="25%">//t.username//</td>
|
||||
<td width="25%">//t.op_time | dateL : 'YYYY-MM-DD HH:mm:ss'//</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
@ -20,15 +20,17 @@
|
||||
.module('harbor.user.log')
|
||||
.directive('userLog', userLog);
|
||||
|
||||
UserLogController.$inject = ['$scope', 'ListIntegratedLogService', '$filter', 'trFilter'];
|
||||
UserLogController.$inject = ['$scope', 'ListIntegratedLogService', '$filter', 'trFilter', '$window'];
|
||||
|
||||
function UserLogController($scope, ListIntegratedLogService, $filter, trFilter) {
|
||||
function UserLogController($scope, ListIntegratedLogService, $filter, trFilter, $window) {
|
||||
var vm = this;
|
||||
|
||||
ListIntegratedLogService()
|
||||
.success(listIntegratedLogSuccess)
|
||||
.error(listIntegratedLogFailed);
|
||||
|
||||
vm.gotoLog = gotoLog;
|
||||
|
||||
function listIntegratedLogSuccess(data) {
|
||||
vm.integratedLogs = data || [];
|
||||
}
|
||||
@ -39,6 +41,11 @@
|
||||
$scope.$emit('raiseError', true);
|
||||
console.log('Failed to get user logs:' + data);
|
||||
}
|
||||
|
||||
function gotoLog(projectId, username) {
|
||||
$window.location.href = '/repository#/logs?project_id=' + projectId + '#' + encodeURIComponent(username);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function userLog() {
|
||||
|
Loading…
Reference in New Issue
Block a user