parent
							
								
									9098e0a1fe
								
							
						
					
					
						commit
						c0aca54e32
					
				
					 8 changed files with 116 additions and 44 deletions
				
			
		|  | @ -13,13 +13,17 @@ angular.module('quay').directive('dockerfileBuildDialog', function () { | |||
|       'showNow': '=showNow', | ||||
|       'buildStarted': '&buildStarted' | ||||
|     }, | ||||
|     controller: function($scope, $element) { | ||||
|     controller: function($scope, $element, ApiService) { | ||||
|       $scope.building = false; | ||||
|       $scope.uploading = false; | ||||
|       $scope.startCounter = 0; | ||||
|       $scope.viewTriggers = false; | ||||
|       $scope.triggers = null; | ||||
|       $scope.startTriggerCounter = 0; | ||||
|       $scope.startTrigger = null; | ||||
| 
 | ||||
|       $scope.handleBuildStarted = function(build) { | ||||
|         $('#dockerfilebuildModal').modal('hide'); | ||||
|         $element.find('.dockerfilebuildModal').modal('hide'); | ||||
|         if ($scope.buildStarted) { | ||||
|           $scope.buildStarted({'build': build}); | ||||
|         } | ||||
|  | @ -34,9 +38,38 @@ angular.module('quay').directive('dockerfileBuildDialog', function () { | |||
|         $scope.startCounter++; | ||||
|       }; | ||||
| 
 | ||||
|       $scope.showTriggers = function(value) { | ||||
|         $scope.viewTriggers = value; | ||||
|       }; | ||||
| 
 | ||||
|       $scope.runTriggerNow = function(trigger) { | ||||
|         $element.find('.dockerfilebuildModal').modal('hide'); | ||||
|         $scope.startTrigger = trigger; | ||||
|         $scope.startTriggerCounter++; | ||||
|       }; | ||||
| 
 | ||||
|       $scope.$watch('showNow', function(sn) { | ||||
|         if (sn && $scope.repository) { | ||||
|           $('#dockerfilebuildModal').modal({}); | ||||
|           $scope.viewTriggers = false; | ||||
|           $scope.startTrigger = null; | ||||
| 
 | ||||
|           $element.find('.dockerfilebuildModal').modal({}); | ||||
| 
 | ||||
|           // Load the triggers (if necessary).
 | ||||
|           if (!$scope.repository || !$scope.repository.can_admin) { | ||||
|             $scope.triggersResource = null; | ||||
|             $scope.triggers = null; | ||||
|             return; | ||||
|           } | ||||
| 
 | ||||
|           var params = { | ||||
|             'repository': $scope.repository.namespace + '/' + $scope.repository.name | ||||
|           }; | ||||
| 
 | ||||
|           $scope.triggersResource = ApiService.listBuildTriggersAsResource(params).get(function(resp) { | ||||
|             $scope.triggers = resp.triggers; | ||||
|             $scope.viewTriggers = $scope.triggers.length > 0; | ||||
|           }); | ||||
|         } | ||||
|       }); | ||||
|     } | ||||
|  |  | |||
|  | @ -24,11 +24,15 @@ angular.module('quay').directive('dockerfileBuildForm', function () { | |||
|       var MEGABYTE = 1000000; | ||||
|       var MAX_FILE_SIZE = 100 * MEGABYTE; | ||||
| 
 | ||||
|       $scope.hasDockerFile = false; | ||||
|       $scope.pullEntity = null; | ||||
|       $scope.dockerfileState = 'none'; | ||||
|       $scope.privateBaseRepository = null; | ||||
|       $scope.isReady = false; | ||||
|       var resetState = function() { | ||||
|         $scope.hasDockerFile = false; | ||||
|         $scope.pullEntity = null; | ||||
|         $scope.dockerfileState = 'none'; | ||||
|         $scope.privateBaseRepository = null; | ||||
|         $scope.isReady = false; | ||||
|       }; | ||||
| 
 | ||||
|       resetState(); | ||||
| 
 | ||||
|       $scope.handleFilesChanged = function(files) { | ||||
|         $scope.dockerfileError = ''; | ||||
|  | @ -259,6 +263,8 @@ angular.module('quay').directive('dockerfileBuildForm', function () { | |||
|       $scope.$watch('pullEntity', checkReady); | ||||
|       $scope.$watch('dockerfileState', checkReady); | ||||
| 
 | ||||
|       $scope.$watch('repository', resetState); | ||||
| 
 | ||||
|       $scope.$watch('startNow', function() { | ||||
|         if ($scope.startNow && $scope.repository && !$scope.uploading && !$scope.building) { | ||||
|           startFileUpload(); | ||||
|  |  | |||
|  | @ -11,7 +11,7 @@ angular.module('quay').directive('manualTriggerBuildDialog', function () { | |||
|       'repository': '=repository', | ||||
|       'counter': '=counter', | ||||
|       'trigger': '=trigger', | ||||
|       'startBuild': '&startBuild' | ||||
|       'buildStarted': '&buildStarted' | ||||
|     }, | ||||
|     controller: function($scope, $element, ApiService, TriggerService) { | ||||
|       $scope.parameters = {}; | ||||
|  | @ -19,11 +19,19 @@ angular.module('quay').directive('manualTriggerBuildDialog', function () { | |||
|       $scope.lookaheadItems = {}; | ||||
| 
 | ||||
|       $scope.startTrigger = function() { | ||||
|         $('#startTriggerDialog').modal('hide'); | ||||
|         $scope.startBuild({ | ||||
|           'trigger': $scope.trigger, | ||||
|           'parameters': $scope.parameters | ||||
|         }); | ||||
|         $element.find('.startTriggerDialog').modal('hide'); | ||||
|         var params = { | ||||
|           'repository': $scope.repository.namespace + '/' + $scope.repository.name, | ||||
|           'trigger_uuid': $scope.trigger.id | ||||
|         }; | ||||
| 
 | ||||
|         ApiService.manuallyStartBuildTrigger($scope.parameters || {}, params).then(function(resp) { | ||||
|           $scope.buildStarted({ | ||||
|             'trigger': $scope.trigger, | ||||
|             'parameters': $scope.parameters, | ||||
|             'build': resp | ||||
|           }); | ||||
|         }, ApiService.errorDisplay('Could not start build')); | ||||
|       }; | ||||
| 
 | ||||
|       $scope.getPattern = function(field) { | ||||
|  | @ -50,9 +58,9 @@ angular.module('quay').directive('manualTriggerBuildDialog', function () { | |||
|             }); | ||||
|           } | ||||
|         } | ||||
|         $scope.runParameters = parameters; | ||||
| 
 | ||||
|         $('#startTriggerDialog').modal('show'); | ||||
|         $scope.runParameters = parameters; | ||||
|         $element.find('.startTriggerDialog').modal('show'); | ||||
|       }; | ||||
| 
 | ||||
|       $scope.$watch('counter', function(counter) { | ||||
|  |  | |||
		Reference in a new issue