Work in progress: UI fixes for the new trigger type
This commit is contained in:
parent
5a8093bbea
commit
de29a441c8
14 changed files with 160 additions and 144 deletions
|
@ -10,7 +10,9 @@ angular.module('quay').directive('credentials', function() {
|
|||
scope: {
|
||||
'trigger': '=trigger'
|
||||
},
|
||||
controller: function($scope) {}
|
||||
controller: function($scope, TriggerService) {
|
||||
TriggerService.populateTemplate($scope, 'credentials');
|
||||
}
|
||||
};
|
||||
return directiveDefinitionObject;
|
||||
});
|
||||
|
|
|
@ -13,8 +13,10 @@ angular.module('quay').directive('triggerDescription', function () {
|
|||
'short': '=short'
|
||||
},
|
||||
controller: function($scope, $element, KeyService, TriggerService) {
|
||||
// TODO(jschorr): Clean up and remove the 'short' once we're on new layout.
|
||||
$scope.KeyService = KeyService;
|
||||
$scope.TriggerService = TriggerService;
|
||||
TriggerService.populateTemplate($scope, 'trigger-description');
|
||||
}
|
||||
};
|
||||
return directiveDefinitionObject;
|
||||
|
|
|
@ -12,9 +12,33 @@ angular.module('quay').directive('triggeredBuildDescription', function () {
|
|||
'build': '=build'
|
||||
},
|
||||
controller: function($scope, $element, KeyService, TriggerService) {
|
||||
$scope.getGitHubRepoURL = function(build) {
|
||||
return KeyService['githubTriggerEndpoint'] + build.trigger.config.build_source + '/';
|
||||
};
|
||||
$scope.$watch('build', function(build) {
|
||||
if (!build) { return; }
|
||||
|
||||
var jobConfig = build.job_config || {};
|
||||
var triggerMetadata = jobConfig.trigger_metadata || {};
|
||||
|
||||
if (!build.trigger && !jobConfig.manual_user) {
|
||||
$scope.infoDisplay = 'manual';
|
||||
return;
|
||||
}
|
||||
|
||||
if (!build.trigger && jobConfig.manual_user) {
|
||||
$scope.infoDisplay = 'manual+user';
|
||||
return;
|
||||
}
|
||||
|
||||
if (triggerMetadata.commit_info) {
|
||||
$scope.infoDisplay = 'fullcommit';
|
||||
return;
|
||||
}
|
||||
|
||||
if (triggerMetadata.commit_sha) {
|
||||
$scope.infoDisplay = 'commitsha';
|
||||
}
|
||||
|
||||
$scope.infoDisplay = 'source';
|
||||
});
|
||||
}
|
||||
};
|
||||
return directiveDefinitionObject;
|
||||
|
|
|
@ -50,7 +50,11 @@ angular.module('quay').factory('TriggerService', ['UtilService', '$sanitize', 'K
|
|||
|
||||
return 'GitHub Repository Push';
|
||||
},
|
||||
'supports_full_directory_listing': true
|
||||
'supports_full_directory_listing': true,
|
||||
'templates': {
|
||||
'credentials': '/static/directives/trigger/githost/credentials.html',
|
||||
'trigger-description': '/static/directives/trigger/github/trigger-description.html'
|
||||
}
|
||||
},
|
||||
|
||||
'bitbucket': {
|
||||
|
@ -77,7 +81,11 @@ angular.module('quay').factory('TriggerService', ['UtilService', '$sanitize', 'K
|
|||
},
|
||||
'icon': 'fa-bitbucket',
|
||||
'title': function() { return 'Bitbucket Repository Push'; },
|
||||
'supports_full_directory_listing': false
|
||||
'supports_full_directory_listing': false,
|
||||
'templates': {
|
||||
'credentials': '/static/directives/trigger/githost/credentials.html',
|
||||
'trigger-description': '/static/directives/trigger/bitbucket/trigger-description.html'
|
||||
}
|
||||
},
|
||||
|
||||
'custom-git': {
|
||||
|
@ -102,9 +110,20 @@ angular.module('quay').factory('TriggerService', ['UtilService', '$sanitize', 'K
|
|||
'is_external': false,
|
||||
'is_enabled': function() { return true; },
|
||||
'icon': 'fa-git',
|
||||
'title': function() { return 'Custom Git Repository Push'; }
|
||||
'title': function() { return 'Custom Git Repository Push'; },
|
||||
'templates': {
|
||||
'credentials': '/static/directives/trigger/custom-git/credentials.html',
|
||||
'trigger-description': '/static/directives/trigger/custom-git/trigger-description.html'
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
triggerService.populateTemplate = function(scope, name) {
|
||||
scope.$watch('trigger', function(trigger) {
|
||||
if (!trigger) { return; }
|
||||
scope.triggerTemplate = triggerService.getTemplate(trigger.service, name);
|
||||
});
|
||||
};
|
||||
|
||||
triggerService.supportsFullListing = function(name) {
|
||||
var type = triggerTypes[name];
|
||||
|
@ -126,6 +145,14 @@ angular.module('quay').factory('TriggerService', ['UtilService', '$sanitize', 'K
|
|||
return types;
|
||||
};
|
||||
|
||||
triggerService.getTemplate = function(name, template) {
|
||||
var type = triggerTypes[name];
|
||||
if (!type) {
|
||||
return '';
|
||||
}
|
||||
return type['templates'][template];
|
||||
};
|
||||
|
||||
triggerService.getRedirectUrl = function(name, namespace, repository) {
|
||||
var type = triggerTypes[name];
|
||||
if (!type) {
|
||||
|
|
Reference in a new issue