45 lines
1.2 KiB
JavaScript
45 lines
1.2 KiB
JavaScript
|
/**
|
||
|
* An element which displays a dialog for manually starting a dockerfile build.
|
||
|
*/
|
||
|
angular.module('quay').directive('dockerfileBuildDialog', function () {
|
||
|
var directiveDefinitionObject = {
|
||
|
priority: 0,
|
||
|
templateUrl: '/static/directives/dockerfile-build-dialog.html',
|
||
|
replace: false,
|
||
|
transclude: false,
|
||
|
restrict: 'C',
|
||
|
scope: {
|
||
|
'repository': '=repository',
|
||
|
'showNow': '=showNow',
|
||
|
'buildStarted': '&buildStarted'
|
||
|
},
|
||
|
controller: function($scope, $element) {
|
||
|
$scope.building = false;
|
||
|
$scope.uploading = false;
|
||
|
$scope.startCounter = 0;
|
||
|
|
||
|
$scope.handleBuildStarted = function(build) {
|
||
|
$('#dockerfilebuildModal').modal('hide');
|
||
|
if ($scope.buildStarted) {
|
||
|
$scope.buildStarted({'build': build});
|
||
|
}
|
||
|
};
|
||
|
|
||
|
$scope.handleBuildFailed = function(message) {
|
||
|
$scope.errorMessage = message;
|
||
|
};
|
||
|
|
||
|
$scope.startBuild = function() {
|
||
|
$scope.errorMessage = null;
|
||
|
$scope.startCounter++;
|
||
|
};
|
||
|
|
||
|
$scope.$watch('showNow', function(sn) {
|
||
|
if (sn && $scope.repository) {
|
||
|
$('#dockerfilebuildModal').modal({});
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
};
|
||
|
return directiveDefinitionObject;
|
||
|
});
|