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