-
+
-
+
-
+
diff --git a/static/directives/entity-reference.html b/static/directives/entity-reference.html
index ea65db875..1406b632f 100644
--- a/static/directives/entity-reference.html
+++ b/static/directives/entity-reference.html
@@ -1,6 +1,6 @@
-
+
{{entity.name}}
{{entity.name}}
diff --git a/static/directives/entity-search.html b/static/directives/entity-search.html
index 63abb1528..80114df88 100644
--- a/static/directives/entity-search.html
+++ b/static/directives/entity-search.html
@@ -34,22 +34,22 @@
Robot accounts are not permitted
-
+
{{ team.name }}
-
+
-
+
{{ robot.name }}
-
+
-
+
diff --git a/static/directives/external-login-button.html b/static/directives/external-login-button.html
index 1afe0c71d..10701f941 100644
--- a/static/directives/external-login-button.html
+++ b/static/directives/external-login-button.html
@@ -1,22 +1,22 @@
-
+
Sign In with GitHub
Enterprise
- Attach to GitHub
+ Attach to GitHub
Enterprise
Account
-
+
-
+
Sign In with Google
Attach to Google Account
diff --git a/static/directives/external-notification-view.html b/static/directives/external-notification-view.html
index 25cb235c3..1f626cd95 100644
--- a/static/directives/external-notification-view.html
+++ b/static/directives/external-notification-view.html
@@ -32,7 +32,7 @@
{{ eventInfo.title }}
-
+
Issue A
diff --git a/static/directives/header-bar.html b/static/directives/header-bar.html
index fe154341f..748948b1d 100644
--- a/static/directives/header-bar.html
+++ b/static/directives/header-bar.html
@@ -19,15 +19,15 @@
Organizations
-
+
-
+
-
+
diff --git a/static/directives/location-view.html b/static/directives/location-view.html
index ace3dad53..8a5ebb421 100644
--- a/static/directives/location-view.html
+++ b/static/directives/location-view.html
@@ -3,7 +3,7 @@
-
+
diff --git a/static/directives/logs-view.html b/static/directives/logs-view.html
index 28509b897..5038895ea 100644
--- a/static/directives/logs-view.html
+++ b/static/directives/logs-view.html
@@ -19,25 +19,25 @@
-
+
-
+
-
+
Showing {{(logs | visibleLogFilter:kindsAllowed | filter:search | limitTo:150).length}} of
{{(logs | visibleLogFilter:kindsAllowed | filter:search).length}} matching logs
-
-
+
+
@@ -45,7 +45,7 @@
Date/Time
User/Token/App
-
+
@@ -54,7 +54,7 @@
{{ log.datetime }}
-
+
@@ -64,7 +64,7 @@
-
+
diff --git a/static/directives/manual-trigger-build-dialog.html b/static/directives/manual-trigger-build-dialog.html
index e82879e8a..a5eb0dce5 100644
--- a/static/directives/manual-trigger-build-dialog.html
+++ b/static/directives/manual-trigger-build-dialog.html
@@ -8,7 +8,7 @@
@@ -108,7 +108,7 @@
-
@@ -91,11 +91,11 @@
Warning: No branches found
@@ -145,7 +145,7 @@
-
+
@@ -159,7 +159,7 @@
-
+
diff --git a/static/directives/user-setup.html b/static/directives/user-setup.html
index cd9778981..b5df70699 100644
--- a/static/directives/user-setup.html
+++ b/static/directives/user-setup.html
@@ -43,9 +43,9 @@
Send Recovery Email
-
+
{{errorMessage}}
-
+
Account recovery email was sent.
diff --git a/static/img/500/background.svg b/static/img/500/background.svg
index 711fc05c0..e3bba7bd5 100644
--- a/static/img/500/background.svg
+++ b/static/img/500/background.svg
@@ -22,7 +22,7 @@
-
-
-
diff --git a/static/js/app.js b/static/js/app.js
index ac9cff1c2..26c341daa 100644
--- a/static/js/app.js
+++ b/static/js/app.js
@@ -2,7 +2,7 @@ var TEAM_PATTERN = '^[a-zA-Z][a-zA-Z0-9]+$';
var ROBOT_PATTERN = '^[a-zA-Z][a-zA-Z0-9]{3,29}$';
var USER_PATTERN = '^[a-z0-9_]{4,30}$';
-$.fn.clipboardCopy = function() {
+$.fn.clipboardCopy = function() {
if (zeroClipboardSupported) {
(new ZeroClipboard($(this)));
return true;
@@ -18,7 +18,7 @@ ZeroClipboard.config({
});
ZeroClipboard.on("error", function(e) {
- zeroClipboardSupported = false;
+ zeroClipboardSupported = false;
});
ZeroClipboard.on('aftercopy', function(e) {
@@ -68,7 +68,7 @@ function clickElement(el){
function getFirstTextLine(commentString) {
if (!commentString) { return ''; }
-
+
var lines = commentString.split('\n');
var MARKDOWN_CHARS = {
'#': true,
@@ -114,7 +114,7 @@ function createOrganizationTeam(ApiService, orgname, teamname, callback) {
'orgname': orgname,
'teamname': teamname
};
-
+
ApiService.updateOrganizationTeam(data, params)
.then(callback, ApiService.errorDisplay('Cannot create team'));
}
@@ -207,7 +207,7 @@ quayApp = angular.module('quay', quayDependencies, function($provide, cfpLoading
that.showAdditionalEntries_();
}, 10);
};
-
+
_ViewArray.prototype.stopTimer_ = function() {
if (this.timerRef_) {
$interval.cancel(this.timerRef_);
@@ -287,7 +287,7 @@ quayApp = angular.module('quay', quayDependencies, function($provide, cfpLoading
that.call_();
}, this.sleeptime_)
};
-
+
var service = {
'create': function(scope, requester, opt_sleeptime) {
return new _PollChannel(scope, requester, opt_sleeptime);
@@ -308,7 +308,7 @@ quayApp = angular.module('quay', quayDependencies, function($provide, cfpLoading
dataFileService.tryAsZip_ = function(buf, success, failure) {
var zip = null;
var zipFiles = null;
- try {
+ try {
var zip = new JSZip(buf);
zipFiles = zip.files;
} catch (e) {
@@ -392,7 +392,7 @@ quayApp = angular.module('quay', quayDependencies, function($provide, cfpLoading
success(processed);
break;
}
- });
+ });
};
dataFileService.blobToString = function(blob, callback) {
@@ -463,7 +463,7 @@ quayApp = angular.module('quay', quayDependencies, function($provide, cfpLoading
$provide.factory('UIService', [function() {
var uiService = {};
-
+
uiService.hidePopover = function(elem) {
var popover = $(elem).data('bs.popover');
if (popover) {
@@ -483,7 +483,7 @@ quayApp = angular.module('quay', quayDependencies, function($provide, cfpLoading
popover.show();
}, 500);
};
-
+
uiService.showFormError = function(elem, result) {
var message = result.data['message'] || result.data['error_description'] || '';
if (message) {
@@ -492,7 +492,7 @@ quayApp = angular.module('quay', quayDependencies, function($provide, cfpLoading
uiService.hidePopover(elem);
}
};
-
+
return uiService;
}]);
@@ -511,14 +511,14 @@ quayApp = angular.module('quay', quayDependencies, function($provide, cfpLoading
.replace(/>/g, ">")
.replace(/"/g, """)
.replace(/'/g, "'");
-
+
return adjusted;
};
-
+
utilService.textToSafeHtml = function(text) {
return $sanitize(utilService.escapeHtmlString(text));
};
-
+
return utilService;
}]);
@@ -579,7 +579,7 @@ quayApp = angular.module('quay', quayDependencies, function($provide, cfpLoading
}, 1000);
}
};
-
+
var pingUrlInternal = function($scope, url, callback) {
var path = url + '?cb=' + (Math.random() * 100);
var start = new Date();
@@ -606,7 +606,7 @@ quayApp = angular.module('quay', quayDependencies, function($provide, cfpLoading
pingService.pingUrl = function($scope, url, callback) {
if (pingCache[url]) {
- invokeCallback($scope, pingCache[url]['pings'], callback);
+ invokeCallback($scope, pingCache[url]['pings'], callback);
return;
}
@@ -616,12 +616,12 @@ quayApp = angular.module('quay', quayDependencies, function($provide, cfpLoading
pingUrlInternal($scope, url, callback);
}, 1000);
};
-
+
return pingService;
}]);
- $provide.factory('TriggerService', ['UtilService', '$sanitize', 'KeyService',
+ $provide.factory('TriggerService', ['UtilService', '$sanitize', 'KeyService',
function(UtilService, $sanitize, KeyService) {
var triggerService = {};
@@ -644,13 +644,13 @@ quayApp = angular.module('quay', quayDependencies, function($provide, cfpLoading
],
'get_redirect_url': function(namespace, repository) {
- var redirect_uri = KeyService['githubRedirectUri'] + '/trigger/' +
+ var redirect_uri = KeyService['githubRedirectUri'] + '/trigger/' +
namespace + '/' + repository;
var authorize_url = KeyService['githubTriggerAuthorizeUrl'];
var client_id = KeyService['githubTriggerClientId'];
- return authorize_url + 'client_id=' + client_id +
+ return authorize_url + 'client_id=' + client_id +
'&scope=repo,user:email&redirect_uri=' + redirect_uri;
}
}
@@ -759,7 +759,7 @@ quayApp = angular.module('quay', quayDependencies, function($provide, cfpLoading
if (typeof description != 'string') {
description = description(metadata);
}
-
+
for (var key in metadata) {
if (metadata.hasOwnProperty(key)) {
var value = metadata[key] != null ? metadata[key] : '(Unknown)';
@@ -808,7 +808,7 @@ quayApp = angular.module('quay', quayDependencies, function($provide, cfpLoading
if (command.length > 2 && command[0] == '/bin/sh' && command[1] == '-c') {
return command[2];
}
-
+
return command.join(' ');
};
@@ -839,7 +839,7 @@ quayApp = angular.module('quay', quayDependencies, function($provide, cfpLoading
features.hasFeature = function(name) {
return !!features.getFeature(name);
};
-
+
features.matchesFeatures = function(list) {
for (var i = 0; i < list.length; ++i) {
var value = features.getFeature(list[i]);
@@ -983,7 +983,7 @@ quayApp = angular.module('quay', quayDependencies, function($provide, cfpLoading
if (userRelatedResource) {
var operations = userRelatedResource['operations'];
for (var i = 0; i < operations.length; ++i) {
- var operation = operations[i];
+ var operation = operations[i];
if (operation['method'].toLowerCase() == method) {
return operation['nickname'];
}
@@ -997,7 +997,7 @@ quayApp = angular.module('quay', quayDependencies, function($provide, cfpLoading
var name = endpointResource['name'];
var operations = endpointResource['operations'];
for (var i = 0; i < operations.length; ++i) {
- var operation = operations[i];
+ var operation = operations[i];
buildMethodsForOperation(operation, endpointResource, resourceMap);
}
};
@@ -1005,7 +1005,7 @@ quayApp = angular.module('quay', quayDependencies, function($provide, cfpLoading
var freshLoginFailCheck = function(opName, opArgs) {
return function(resp) {
var deferred = $q.defer();
-
+
// If the error is a fresh login required, show the dialog.
if (resp.status == 401 && resp.data['error_type'] == 'fresh_login_required') {
var verifyNow = function() {
@@ -1029,12 +1029,12 @@ quayApp = angular.module('quay', quayDependencies, function($provide, cfpLoading
deferred.reject({'data': {'message': 'Invalid verification credentials'}});
});
};
-
+
var box = bootbox.dialog({
"message": 'It has been more than a few minutes since you last logged in, ' +
- 'so please verify your password to perform this sensitive operation:' +
+ 'so please verify your password to perform this sensitive operation:' +
'' +
- ' ' +
+ ' ' +
' ',
"title": 'Please Verify',
"buttons": {
@@ -1057,7 +1057,7 @@ quayApp = angular.module('quay', quayDependencies, function($provide, cfpLoading
box.find("input").focus();
box.find("form").submit(function() {
if (!$('#freshPassword').val()) { return; }
-
+
box.modal('hide');
verifyNow();
});
@@ -1086,7 +1086,7 @@ quayApp = angular.module('quay', quayDependencies, function($provide, cfpLoading
'ignoreLoadingBar': true
});
}
-
+
var opObj = one['custom' + method.toUpperCase()](opt_options);
// If the operation requires_fresh_login, then add a specialized error handler that
@@ -1177,7 +1177,7 @@ quayApp = angular.module('quay', quayDependencies, function($provide, cfpLoading
return apiService;
}]);
-
+
$provide.factory('CookieService', ['$cookies', '$cookieStore', function($cookies, $cookieStore) {
var cookieService = {};
cookieService.putPermanent = function(name, value) {
@@ -1220,7 +1220,7 @@ quayApp = angular.module('quay', quayDependencies, function($provide, cfpLoading
scope.$watch(function () { return userService.currentUser(); }, function (currentUser) {
scope.user = currentUser;
if (opt_callback) {
- opt_callback(currentUser);
+ opt_callback(currentUser);
}
}, true);
};
@@ -1274,7 +1274,7 @@ quayApp = angular.module('quay', quayDependencies, function($provide, cfpLoading
ApiService.getLoggedInUser().then(function(loadedUser) {
handleUserResponse(loadedUser);
}, function() {
- handleUserResponse({'anonymous': true});
+ handleUserResponse({'anonymous': true});
});
};
@@ -1311,7 +1311,7 @@ quayApp = angular.module('quay', quayDependencies, function($provide, cfpLoading
var org = userService.getOrganization(namespace);
return !!org;
};
-
+
userService.currentUser = function() {
return userResponse;
};
@@ -1338,22 +1338,22 @@ quayApp = angular.module('quay', quayDependencies, function($provide, cfpLoading
if (Features.BUILD_SUPPORT) {
var buildEvents = [
- {
+ {
'id': 'build_queued',
'title': 'Dockerfile Build Queued',
'icon': 'fa-tasks'
},
- {
+ {
'id': 'build_start',
'title': 'Dockerfile Build Started',
'icon': 'fa-circle-o-notch'
},
- {
+ {
'id': 'build_success',
'title': 'Dockerfile Build Successfully Completed',
'icon': 'fa-check-circle-o'
},
- {
+ {
'id': 'build_failure',
'title': 'Dockerfile Build Failed',
'icon': 'fa-times-circle-o'
@@ -1377,7 +1377,7 @@ quayApp = angular.module('quay', quayDependencies, function($provide, cfpLoading
}
]
},
- {
+ {
'id': 'email',
'title': 'E-mail',
'icon': 'fa-envelope',
@@ -1613,7 +1613,7 @@ quayApp = angular.module('quay', quayDependencies, function($provide, cfpLoading
var params = {
'uuid': notification.id
};
-
+
ApiService.updateUserNotification(notification, params, function() {
notificationService.update();
}, ApiService.errorDisplay('Could not update notification'));
@@ -1763,7 +1763,7 @@ quayApp = angular.module('quay', quayDependencies, function($provide, cfpLoading
return keyService;
}]);
-
+
$provide.factory('PlanService', ['KeyService', 'UserService', 'CookieService', 'ApiService', 'Features', 'Config',
function(KeyService, UserService, CookieService, ApiService, Features, Config) {
var plans = null;
@@ -1843,7 +1843,7 @@ quayApp = angular.module('quay', quayDependencies, function($provide, cfpLoading
CookieService.clear('quay.notedplan');
return planId;
};
-
+
planService.handleCardError = function(resp) {
if (!planService.isCardError(resp)) { return; }
@@ -1903,14 +1903,14 @@ quayApp = angular.module('quay', quayDependencies, function($provide, cfpLoading
planService.getPlanIncludingDeprecated = function(planId, callback) {
planService.verifyLoaded(function() {
- if (planDict[planId]) {
+ if (planDict[planId]) {
callback(planDict[planId]);
}
});
};
planService.getMinimumPlan = function(privateCount, isBusiness, callback) {
- planService.getPlans(function(plans) {
+ planService.getPlans(function(plans) {
for (var i = 0; i < plans.length; i++) {
var plan = plans[i];
if (plan.privateRepos >= privateCount) {
@@ -1976,7 +1976,7 @@ quayApp = angular.module('quay', quayDependencies, function($provide, cfpLoading
planService.showSubscribeDialog($scope, orgname, planId, callbacks, title, /* async */true);
return;
}
-
+
previousSubscribeFailure = false;
planService.setSubscription(orgname, planId, callbacks['success'], function(resp) {
@@ -1999,11 +1999,11 @@ quayApp = angular.module('quay', quayDependencies, function($provide, cfpLoading
var submitToken = function(token) {
if (submitted) { return; }
submitted = true;
- $scope.$apply(function() {
+ $scope.$apply(function() {
if (callbacks['started']) {
callbacks['started']();
}
-
+
var cardInfo = {
'token': token.id
};
@@ -2070,7 +2070,7 @@ quayApp = angular.module('quay', quayDependencies, function($provide, cfpLoading
"className": "btn-default"
}
}
- });
+ });
return;
}
@@ -2121,7 +2121,7 @@ quayApp = angular.module('quay', quayDependencies, function($provide, cfpLoading
return {
require: 'ngModel',
link: function(scope, elem, attrs, ctrl) {
- scope.$watch(function() {
+ scope.$watch(function() {
return $parse(attrs.match)(scope) === ctrl.$modelValue;
}, function(currentValue) {
ctrl.$setValidity('mismatch', currentValue);
@@ -2216,7 +2216,7 @@ quayApp = angular.module('quay', quayDependencies, function($provide, cfpLoading
if (window.__config && window.__config.MIXPANEL_KEY) {
quayApp.config(['$analyticsProvider', function($analyticsProvider) {
- $analyticsProvider.virtualPageviews(true);
+ $analyticsProvider.virtualPageviews(true);
}]);
}
@@ -2332,7 +2332,7 @@ quayApp.directive('quayClasses', function(Features, Config) {
priority: 580,
restrict: 'A',
link: function($scope, $element, $attr, ctrl, $transclude) {
-
+
// Borrowed from ngClass.
function flattenClasses(classVal) {
if(angular.isArray(classVal)) {
@@ -2346,10 +2346,10 @@ quayApp.directive('quayClasses', function(Features, Config) {
});
return classes.join(' ');
}
-
+
return classVal;
}
-
+
function removeClass(classVal) {
$attr.$removeClass(flattenClasses(classVal));
}
@@ -2417,7 +2417,7 @@ quayApp.directive('quayInclude', function($compile, $templateCache, $http, Featu
if (!templatePath) {
return;
}
-
+
var promise = getTemplate(templatePath).success(function(html) {
$element.html(html);
}).then(function (response) {
@@ -2496,7 +2496,7 @@ quayApp.directive('applicationInfo', function () {
'application': '=application'
},
controller: function($scope, $element, ApiService) {
-
+
}
};
return directiveDefinitionObject;
@@ -2573,7 +2573,7 @@ quayApp.directive('repoBreadcrumb', function () {
'subsection': '=subsection',
'subsectionIcon': '=subsectionIcon'
},
- controller: function($scope, $element) {
+ controller: function($scope, $element) {
}
};
return directiveDefinitionObject;
@@ -2587,7 +2587,7 @@ quayApp.directive('focusablePopoverContent', ['$timeout', '$popover', function (
var hide = function() {
$body.off('click');
- if (!scope) { return; }
+ if (!scope) { return; }
scope.$apply(function() {
if (!scope) { return; }
scope.$hide();
@@ -2595,7 +2595,7 @@ quayApp.directive('focusablePopoverContent', ['$timeout', '$popover', function (
};
scope.$on('$destroy', function() {
- $body.off('click');
+ $body.off('click');
});
$timeout(function() {
@@ -2647,7 +2647,7 @@ quayApp.directive('copyBox', function () {
var number = $rootScope.__copyBoxIdCounter || 0;
$rootScope.__copyBoxIdCounter = number + 1;
$scope.inputId = "copy-box-input-" + number;
-
+
var button = $($element).find('.copy-icon');
var input = $($element).find('input');
@@ -2728,7 +2728,7 @@ quayApp.directive('externalLoginButton', function () {
$scope.signInStarted({'service': service});
var url = KeyService.getExternalLoginUrl(service, $scope.action || 'login');
-
+
// Save the redirect URL in a cookie so that we can redirect back after the service returns to us.
var redirectURL = $scope.redirectUrl || window.location.toString();
CookieService.putPermanent('quay.redirectAfterLoad', redirectURL);
@@ -2826,7 +2826,7 @@ quayApp.directive('signinForm', function () {
$scope.cancelInterval();
$scope.tryAgainSoon = result.headers('Retry-After');
- $scope.tryAgainInterval = $interval(function() {
+ $scope.tryAgainInterval = $interval(function() {
$scope.tryAgainSoon--;
if ($scope.tryAgainSoon <= 0) {
$scope.cancelInterval();
@@ -2856,10 +2856,10 @@ quayApp.directive('signupForm', function () {
'userRegistered': '&userRegistered'
},
- controller: function($scope, $location, $timeout, ApiService, KeyService, UserService, Config, UIService) {
+ controller: function($scope, $location, $timeout, ApiService, KeyService, UserService, Config, UIService) {
$('.form-signup').popover();
- $scope.awaitingConfirmation = false;
+ $scope.awaitingConfirmation = false;
$scope.registering = false;
$scope.register = function() {
@@ -2873,7 +2873,7 @@ quayApp.directive('signupForm', function () {
ApiService.createNewUser($scope.newUser).then(function(resp) {
$scope.registering = false;
$scope.awaitingConfirmation = !!resp['awaiting_verification'];
-
+
if (Config.MIXPANEL_KEY) {
mixpanel.alias($scope.newUser.username);
}
@@ -3017,7 +3017,7 @@ quayApp.directive('dockerAuthDialog', function (Config) {
$('#dockerauthmodal').modal('hide');
return;
}
-
+
$('#copyClipboard').clipboardCopy();
$('#dockerauthmodal').modal({});
};
@@ -3048,7 +3048,7 @@ quayApp.filter('regex', function() {
if (m && m[0].length == input[i].length) {
out.push(input[i]);
}
- }
+ }
return out;
};
});
@@ -3077,7 +3077,7 @@ quayApp.filter('visibleLogFilter', function () {
if (!allowed) {
return logs;
}
-
+
var filtered = [];
angular.forEach(logs, function (log) {
if (allowed[log.kind]) {
@@ -3118,7 +3118,7 @@ quayApp.directive('billingInvoices', function () {
if (!$scope.makevisible || !isValid) {
return;
}
-
+
$scope.loading = true;
ApiService.listInvoices($scope.organization).then(function(resp) {
@@ -3159,7 +3159,7 @@ quayApp.directive('logsView', function () {
$scope.kindsAllowed = null;
$scope.chartVisible = true;
$scope.logsPath = '';
-
+
var datetime = new Date();
$scope.logStartDate = new Date(datetime.getUTCFullYear(), datetime.getUTCMonth(), datetime.getUTCDate() - 7);
$scope.logEndDate = new Date(datetime.getUTCFullYear(), datetime.getUTCMonth(), datetime.getUTCDate());
@@ -3270,7 +3270,7 @@ quayApp.directive('logsView', function () {
return 'Create default permission: {role} for {delegate_team}' + defaultPermSuffix(metadata);
}
},
- 'modify_prototype_permission': function(metadata) {
+ 'modify_prototype_permission': function(metadata) {
if (metadata.delegate_user) {
return 'Modify default permission: {role} (from {original_role}) for {delegate_user}' + defaultPermSuffix(metadata);
} else if (metadata.delegate_team) {
@@ -3443,7 +3443,7 @@ quayApp.directive('logsView', function () {
return $scope.chart.getColor(kind);
};
- $scope.getDescription = function(log) {
+ $scope.getDescription = function(log) {
log.metadata['_ip'] = log.ip ? log.ip : null;
return StringBuilderService.buildString(logDescriptions[log.kind] || log.kind, log.metadata);
};
@@ -3473,10 +3473,10 @@ quayApp.directive('applicationManager', function () {
'organization': '=organization',
'makevisible': '=makevisible'
},
- controller: function($scope, $element, ApiService) {
+ controller: function($scope, $element, ApiService) {
$scope.loading = false;
$scope.applications = [];
-
+
$scope.createApplication = function(appName) {
if (!appName) { return; }
@@ -3553,7 +3553,7 @@ quayApp.directive('robotsManager', function () {
$scope.shownRobot = info;
$scope.showRobotCounter++;
};
-
+
$scope.findRobotIndexByName = function(name) {
for (var i = 0; i < $scope.robots.length; ++i) {
if ($scope.robots[i].name == name) {
@@ -3943,13 +3943,13 @@ quayApp.directive('repoSearch', function () {
$scope.$watch( function () { return UserService.currentUser(); }, function (currentUser) {
++searchToken;
}, true);
-
+
var repoHound = new Bloodhound({
name: 'repositories',
remote: {
url: '/api/v1/find/repository?query=%QUERY',
replace: function (url, uriEncodedQuery) {
- url = url.replace('%QUERY', uriEncodedQuery);
+ url = url.replace('%QUERY', uriEncodedQuery);
url += '&cb=' + searchToken;
return url;
},
@@ -3966,8 +3966,8 @@ quayApp.directive('repoSearch', function () {
return datums;
}
},
- datumTokenizer: function(d) {
- return Bloodhound.tokenizers.whitespace(d.val);
+ datumTokenizer: function(d) {
+ return Bloodhound.tokenizers.whitespace(d.val);
},
queryTokenizer: Bloodhound.tokenizers.whitespace
});
@@ -3975,7 +3975,7 @@ quayApp.directive('repoSearch', function () {
var element = $($element[0].childNodes[0]);
element.typeahead({ 'highlight': true }, {
- source: repoHound.ttAdapter(),
+ source: repoHound.ttAdapter(),
templates: {
'suggestion': function (datum) {
template = '';
@@ -4015,23 +4015,23 @@ quayApp.directive('headerBar', function () {
},
controller: function($scope, $element, $location, UserService, PlanService, ApiService, NotificationService) {
$scope.notificationService = NotificationService;
-
+
// Monitor any user changes and place the current user into the scope.
UserService.updateUserIn($scope);
-
+
$scope.signout = function() {
ApiService.logout().then(function() {
UserService.load();
$location.path('/');
});
};
-
+
$scope.appLinkTarget = function() {
if ($("div[ng-view]").length === 0) {
return "_self";
}
return "";
- };
+ };
}
};
return directiveDefinitionObject;
@@ -4101,7 +4101,7 @@ quayApp.directive('entitySearch', function () {
// Reset the cached teams and robots.
$scope.teams = null;
$scope.robots = null;
-
+
// Load the organization's teams (if applicable).
if ($scope.isOrganization && isSupported('team')) {
// Note: We load the org here again so that we always have the fully up-to-date
@@ -4129,7 +4129,7 @@ quayApp.directive('entitySearch', function () {
bootbox.prompt('Enter the name of the new team', function(teamname) {
if (!teamname) { return; }
-
+
var regex = new RegExp(TEAM_PATTERN);
if (!regex.test(teamname)) {
bootbox.alert('Invalid team name');
@@ -4139,7 +4139,7 @@ quayApp.directive('entitySearch', function () {
createOrganizationTeam(ApiService, $scope.namespace, teamname, function(created) {
$scope.setEntity(created.name, 'team', false);
$scope.teams[teamname] = created;
- });
+ });
});
};
@@ -4158,7 +4158,7 @@ quayApp.directive('entitySearch', function () {
createRobotAccount(ApiService, $scope.isOrganization, $scope.namespace, robotname, function(created) {
$scope.setEntity(created.name, 'user', true);
$scope.robots.push(created);
- });
+ });
});
};
@@ -4252,8 +4252,8 @@ quayApp.directive('entitySearch', function () {
return datums;
}
},
- datumTokenizer: function(d) {
- return Bloodhound.tokenizers.whitespace(d.val);
+ datumTokenizer: function(d) {
+ return Bloodhound.tokenizers.whitespace(d.val);
},
queryTokenizer: Bloodhound.tokenizers.whitespace
});
@@ -4294,7 +4294,7 @@ quayApp.directive('entitySearch', function () {
var class_string = '';
for (var i = 0; i < classes.length; ++i) {
- if (i > 0) {
+ if (i > 0) {
if (i == classes.length - 1) {
class_string += ' or ';
} else {
@@ -4309,17 +4309,17 @@ quayApp.directive('entitySearch', function () {
}
return null;
- },
+ },
'suggestion': function (datum) {
template = '
';
if (datum.entity.kind == 'user' && !datum.entity.is_robot) {
template += '
';
} else if (datum.entity.kind == 'user' && datum.entity.is_robot) {
- template += '
';
+ template += '
';
} else if (datum.entity.kind == 'team') {
template += '
';
} else if (datum.entity.kind == 'org') {
- template += '
';
}
@@ -4361,7 +4361,7 @@ quayApp.directive('entitySearch', function () {
if (!input) { return; }
$(input).typeahead('val', '');
- $scope.clearEntityInternal();
+ $scope.clearEntityInternal();
});
$scope.$watch('placeholder', function(title) {
@@ -4411,7 +4411,7 @@ quayApp.directive('roleGroup', function () {
controller: function($scope, $element) {
$scope.setRole = function(role) {
if ($scope.currentRole == role) { return; }
- if ($scope.roleChanged) {
+ if ($scope.roleChanged) {
$scope.roleChanged({'role': role});
} else {
$scope.currentRole = role;
@@ -4490,10 +4490,10 @@ quayApp.directive('billingOptions', function () {
'diners club': 'diners',
'discover': 'discover',
'jcb': 'jcb',
- 'mastercard': 'mastercard',
+ 'mastercard': 'mastercard',
'visa': 'visa'
};
-
+
kind = supported[kind] || 'credit';
return kind + '.png';
};
@@ -4525,7 +4525,7 @@ quayApp.directive('billingOptions', function () {
save();
}
};
-
+
$scope.$watch('invoice_email', checkSave);
$scope.$watch('organization', update);
$scope.$watch('user', update);
@@ -4534,7 +4534,7 @@ quayApp.directive('billingOptions', function () {
return directiveDefinitionObject;
});
-
+
quayApp.directive('planManager', function () {
var directiveDefinitionObject = {
priority: 0,
@@ -4550,7 +4550,7 @@ quayApp.directive('planManager', function () {
},
controller: function($scope, $element, PlanService, ApiService) {
$scope.isExistingCustomer = false;
-
+
$scope.parseDate = function(timestamp) {
return new Date(timestamp * 1000);
};
@@ -4576,7 +4576,7 @@ quayApp.directive('planManager', function () {
'opened': function() { $scope.planChanging = true; },
'closed': function() { $scope.planChanging = false; },
'success': subscribedToPlan,
- 'failure': function(resp) {
+ 'failure': function(resp) {
$scope.planChanging = false;
}
};
@@ -4595,7 +4595,7 @@ quayApp.directive('planManager', function () {
PlanService.getPlanIncludingDeprecated(sub.plan, function(subscribedPlan) {
$scope.subscribedPlan = subscribedPlan;
$scope.planUsagePercent = sub.usedPrivateRepos * 100 / $scope.subscribedPlan.privateRepos;
-
+
if ($scope.planChanged) {
$scope.planChanged({ 'plan': subscribedPlan });
}
@@ -4623,7 +4623,7 @@ quayApp.directive('planManager', function () {
PlanService.verifyLoaded(function(plans) {
$scope.plans = plans;
update();
-
+
if ($scope.readyForPlan) {
var planRequested = $scope.readyForPlan();
if (planRequested && planRequested != PlanService.getFreePlan()) {
@@ -4689,7 +4689,7 @@ quayApp.directive('namespaceSelector', function () {
namespaceObj = $scope.namespaces[$scope.user.username];
}
- var newNamespace = namespaceObj.name || namespaceObj.username;
+ var newNamespace = namespaceObj.name || namespaceObj.username;
$scope.namespaceObj = namespaceObj;
$scope.namespace = newNamespace;
@@ -4774,7 +4774,7 @@ quayApp.directive('buildLogError', function () {
var repo = repo_and_tag.substring(0, tagIndex);
localInfo['repo_url'] = repo_url;
- localInfo['repo'] = repo;
+ localInfo['repo'] = repo;
localInfo['isLocal'] = repo_url.indexOf(Config.SERVER_HOSTNAME + '/') == 0;
}
@@ -4953,7 +4953,7 @@ quayApp.directive('dropdownSelect', function ($compile) {
// Setup lookahead.
var input = $($element).find('.lookahead-input');
-
+
$scope.$watch('clearValue', function(cv) {
if (cv) {
$scope.selectedItem = null;
@@ -4997,7 +4997,7 @@ quayApp.directive('dropdownSelect', function ($compile) {
datumTokenizer: function(d) {
return Bloodhound.tokenizers.whitespace(d.val || d.value || '');
},
- queryTokenizer: Bloodhound.tokenizers.whitespace
+ queryTokenizer: Bloodhound.tokenizers.whitespace
});
dropdownHound.initialize();
@@ -5040,7 +5040,7 @@ quayApp.directive('dropdownSelect', function ($compile) {
var iconContainer = element.find('div.dropdown-select-icon-transclude');
var menuContainer = element.find('div.dropdown-select-menu-transclude');
-
+
angular.forEach(transcludedElements, function(elem) {
if (angular.element(elem).hasClass('dropdown-select-icon')) {
iconContainer.append(elem);
@@ -5049,7 +5049,7 @@ quayApp.directive('dropdownSelect', function ($compile) {
}
});
- transcludedBlock.remove();
+ transcludedBlock.remove();
}
};
return directiveDefinitionObject;
@@ -5213,7 +5213,7 @@ quayApp.directive('setupTriggerDialog', function () {
$scope.currentView = 'analyzed';
return;
}
-
+
var params = {
'repository': $scope.repository.namespace + '/' + $scope.repository.name,
'trigger_uuid': $scope.trigger.id
@@ -5332,7 +5332,7 @@ quayApp.directive('triggerSetupGithub', function () {
if ($scope.isMatching(kind, name, $scope.state.branchTagFilter)) {
return;
}
-
+
var newFilter = kind + '/' + name;
var existing = $scope.state.branchTagFilter;
if (existing) {
@@ -5376,7 +5376,7 @@ quayApp.directive('triggerSetupGithub', function () {
if (ref.kind == 'branch') {
$scope.branchNames.push(ref.name);
} else {
- $scope.tagNames.push(ref.name);
+ $scope.tagNames.push(ref.name);
}
}
@@ -5410,9 +5410,9 @@ quayApp.directive('triggerSetupGithub', function () {
}
callback();
- }, ApiService.errorDisplay('Cannot load locations'));
+ }, ApiService.errorDisplay('Cannot load locations'));
}
-
+
$scope.handleLocationInput = function(location) {
$scope.state.isInvalidLocation = $scope.locations.indexOf(location) < 0;
$scope.trigger['config']['subdir'] = location || '';
@@ -5429,7 +5429,7 @@ quayApp.directive('triggerSetupGithub', function () {
$scope.trigger['config']['subdir'] = location || '';
$scope.trigger.$ready = true;
};
-
+
$scope.selectRepo = function(repo, org) {
$scope.state.currentRepo = {
'repo': repo,
@@ -5455,7 +5455,7 @@ quayApp.directive('triggerSetupGithub', function () {
};
};
- var setupTypeahead = function() {
+ var setupTypeahead = function() {
var repos = [];
for (var i = 0; i < $scope.orgs.length; ++i) {
var org = $scope.orgs[i];
@@ -5483,7 +5483,7 @@ quayApp.directive('triggerSetupGithub', function () {
};
$scope.$watch('state.currentRepo', function(repo) {
- if (repo) {
+ if (repo) {
$scope.selectRepoInternal(repo);
}
});
@@ -5519,7 +5519,7 @@ quayApp.directive('buildLogCommand', function () {
if (colon <= 0) {
return '';
}
-
+
return $.trim(fullTitle.substring(colon + 1));
};
}
@@ -5543,7 +5543,7 @@ quayApp.directive('dockerfileCommand', function () {
'quay.io': function(pieces) {
var rnamespace = pieces[pieces.length - 2];
var rname = pieces[pieces.length - 1].split(':')[0];
- return '/repository/' + rnamespace + '/' + rname + '/';
+ return '/repository/' + rnamespace + '/' + rname + '/';
},
'': function(pieces) {
@@ -5562,11 +5562,11 @@ quayApp.directive('dockerfileCommand', function () {
if (!registryHandlers[registry]) {
return title;
}
-
+
return '
' + title + ' ';
}
};
-
+
$scope.getCommandKind = function(title) {
var space = title.indexOf(' ');
return title.substring(0, space);
@@ -5577,17 +5577,17 @@ quayApp.directive('dockerfileCommand', function () {
if (space <= 0) {
return UtilService.textToSafeHtml(title);
}
-
+
var kind = $scope.getCommandKind(title);
var sanitized = UtilService.textToSafeHtml(title.substring(space + 1));
-
+
var handler = kindHandlers[kind || ''];
if (handler) {
return handler(sanitized);
} else {
return sanitized;
}
- };
+ };
}
};
return directiveDefinitionObject;
@@ -5667,7 +5667,7 @@ quayApp.directive('buildMessage', function () {
case 'starting':
case 'initializing':
return 'Starting Dockerfile build';
-
+
case 'waiting':
return 'Waiting for available build worker';
@@ -5676,16 +5676,16 @@ quayApp.directive('buildMessage', function () {
case 'pulling':
return 'Pulling base image';
-
+
case 'building':
return 'Building image from Dockerfile';
-
+
case 'pushing':
return 'Pushing image built from Dockerfile';
-
+
case 'complete':
return 'Dockerfile build completed and pushed';
-
+
case 'error':
return 'Dockerfile build failed';
}
@@ -5733,7 +5733,7 @@ quayApp.directive('buildProgress', function () {
return 0;
break;
}
-
+
return -1;
};
}
@@ -5782,7 +5782,7 @@ quayApp.directive('externalNotificationView', function () {
"className": "btn-primary"
}
}
- });
+ });
});
};
@@ -5821,7 +5821,7 @@ quayApp.directive('createExternalNotificationDialog', function () {
$scope.events = ExternalNotificationData.getSupportedEvents();
$scope.methods = ExternalNotificationData.getSupportedMethods();
-
+
$scope.setEvent = function(event) {
$scope.currentEvent = event;
};
@@ -5878,7 +5878,7 @@ quayApp.directive('createExternalNotificationDialog', function () {
$scope.handleEmailCheck = function(isAuthorized) {
if (isAuthorized) {
$scope.performCreateNotification();
- return;
+ return;
}
if ($scope.status == 'authorizing-email-sent') {
@@ -5929,7 +5929,7 @@ quayApp.directive('createExternalNotificationDialog', function () {
$scope.unauthorizedEmail = false;
$('#createNotificationModal').modal({});
}
- });
+ });
}
};
return directiveDefinitionObject;
@@ -6060,7 +6060,7 @@ quayApp.directive('notificationView', function () {
} else {
var parts = url.split('?')
$location.path(parts[0]);
-
+
if (parts.length > 1) {
$location.search(parts[1]);
}
@@ -6123,7 +6123,7 @@ quayApp.directive('dockerfileBuildDialog', function () {
$scope.errorMessage = null;
$scope.startCounter++;
};
-
+
$scope.$watch('showNow', function(sn) {
if (sn && $scope.repository) {
$('#dockerfilebuildModal').modal({});
@@ -6281,11 +6281,11 @@ quayApp.directive('dockerfileBuildForm', function () {
};
request.send(file);
};
-
+
var startFileUpload = function(repo) {
$scope.uploading = true;
$scope.uploading_progress = 0;
-
+
var uploader = $('#file-drop')[0];
if (uploader.files.length == 0) {
handleMissingFile();
@@ -6295,18 +6295,18 @@ quayApp.directive('dockerfileBuildForm', function () {
var file = uploader.files[0];
$scope.upload_file = file.name;
-
+
var mimeType = file.type || 'application/octet-stream';
var data = {
'mimeType': mimeType
};
-
+
var getUploadUrl = ApiService.getFiledropUrl(data).then(function(resp) {
conductUpload(file, resp.url, resp.file_id, mimeType);
}, function() {
handleUploadFailed('Could not retrieve upload URL');
});
- };
+ };
$scope.$watch('internal.hasDockerfile', function(d) {
$scope.hasDockerfile = d;
@@ -6451,12 +6451,12 @@ quayApp.directive('tagSpecificImagesView', function () {
if (image.ancestors.length > 1) {
classes += 'child ';
}
-
+
var currentTag = $scope.repository.tags[$scope.tag];
if (image.id == currentTag.image_id) {
classes += 'tag-image ';
}
-
+
return classes;
};
@@ -6475,7 +6475,7 @@ quayApp.directive('tagSpecificImagesView', function () {
if (!tag_image) {
return;
}
-
+
callback(tag_image);
var ancestors = tag_image.ancestors.split('/').reverse();
@@ -6485,7 +6485,7 @@ quayApp.directive('tagSpecificImagesView', function () {
if (image == opt_cutoff) {
return;
}
-
+
callback(image);
}
}
@@ -6502,7 +6502,7 @@ quayApp.directive('tagSpecificImagesView', function () {
$scope.tagSpecificImages = [];
return;
}
-
+
var getIdsForTag = function(currentTag) {
var ids = {};
forAllTagImages(currentTag, function(image) {
@@ -6530,7 +6530,7 @@ quayApp.directive('tagSpecificImagesView', function () {
images.push(image);
}
}
-
+
images.sort(function(a, b) {
var result = new Date(b.created) - new Date(a.created);
if (result != 0) {
@@ -6600,7 +6600,7 @@ quayApp.directive('ngVisible', function () {
quayApp.config( [
'$compileProvider',
function( $compileProvider )
- {
+ {
$compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|ftp|mailto|tel|irc):/);
}
]);
@@ -6681,11 +6681,11 @@ quayApp.run(['$location', '$rootScope', 'Restangular', 'UserService', 'PlanServi
if (!description) {
description = 'Hosted private docker repositories. Includes full user management and history. Free for public repositories.';
}
-
+
// Note: We set the content of the description tag manually here rather than using Angular binding
// because we need the
tag to have a default description that is not of the form "{{ description }}",
// we read by tools that do not properly invoke the Angular code.
- $('#descriptionTag').attr('content', description);
+ $('#descriptionTag').attr('content', description);
});
$rootScope.$on('$routeUpdate', function(){
@@ -6738,8 +6738,8 @@ quayApp.run(['$location', '$rootScope', 'Restangular', 'UserService', 'PlanServi
$location.search(newSearch);
});
-
- e.preventDefault();
+
+ e.preventDefault();
});
if (activeTab) {
diff --git a/static/js/controllers.js b/static/js/controllers.js
index c8a8cc433..4a5a20622 100644
--- a/static/js/controllers.js
+++ b/static/js/controllers.js
@@ -59,13 +59,13 @@ function PlansCtrl($scope, $location, UserService, PlanService, $routeParams) {
$scope.signedIn = function() {
$('#signinModal').modal('hide');
- PlanService.handleNotedPlan();
+ PlanService.handleNotedPlan();
};
-
+
$scope.buyNow = function(plan) {
PlanService.notePlan(plan);
if ($scope.user && !$scope.user.anonymous) {
- PlanService.handleNotedPlan();
+ PlanService.handleNotedPlan();
} else {
$('#signinModal').modal({});
}
@@ -77,7 +77,7 @@ function PlansCtrl($scope, $location, UserService, PlanService, $routeParams) {
if ($scope && $routeParams['trial-plan']) {
$scope.buyNow($routeParams['trial-plan']);
- }
+ }
}, /* include the personal plan */ true);
}
@@ -94,7 +94,7 @@ function TutorialCtrl($scope, AngularTour, AngularTourSignals, UserService, Conf
'steps': [
{
'title': 'Welcome to the ' + Config.REGISTRY_TITLE_SHORT + ' tutorial!',
- 'templateUrl': '/static/tutorial/welcome.html'
+ 'templateUrl': '/static/tutorial/welcome.html'
},
{
'title': 'Sign in to get started',
@@ -235,7 +235,7 @@ function RepoListCtrl($scope, $sanitize, Restangular, UserService, ApiService) {
$scope.namespace = null;
$scope.page = 1;
$scope.publicPageCount = null;
-
+
// Monitor changes in the user.
UserService.updateUserIn($scope, function() {
loadMyRepos($scope.namespace);
@@ -269,7 +269,7 @@ function RepoListCtrl($scope, $sanitize, Restangular, UserService, ApiService) {
}
var options = {'public': false, 'sort': true, 'namespace': namespace};
-
+
$scope.user_repositories = ApiService.listReposAsResource().withOptions(options).get(function(resp) {
return resp.repositories;
});
@@ -318,7 +318,7 @@ function LandingCtrl($scope, UserService, ApiService, Features, Config) {
if (namespace == $scope.user.username) {
return true;
}
-
+
if ($scope.user.organizations) {
for (var i = 0; i < $scope.user.organizations.length; ++i) {
var org = $scope.user.organizations[i];
@@ -483,7 +483,7 @@ function RepoCtrl($scope, $sanitize, Restangular, ImageMetadataService, ApiServi
$scope.currentPullCommand = $scope.pullCommands[0];
};
-
+
$scope.showNewBuildDialog = function() {
$scope.buildDialogShowCounter++;
};
@@ -655,7 +655,7 @@ function RepoCtrl($scope, $sanitize, Restangular, ImageMetadataService, ApiServi
$scope.setImage = function(imageId, opt_updateURL) {
if (!$scope.images) { return; }
-
+
var image = null;
for (var i = 0; i < $scope.images.length; ++i) {
var currentImage = $scope.images[i];
@@ -691,7 +691,7 @@ function RepoCtrl($scope, $sanitize, Restangular, ImageMetadataService, ApiServi
// We must find a good default.
for (tagName in repo.tags) {
if (!proposedTag || tagName == 'latest') {
- proposedTag = repo.tags[tagName];
+ proposedTag = repo.tags[tagName];
}
}
}
@@ -702,7 +702,7 @@ function RepoCtrl($scope, $sanitize, Restangular, ImageMetadataService, ApiServi
if ($scope.tree) {
$scope.tree.setTag(proposedTag.name);
- }
+ }
if (opt_updateURL) {
$location.search('image', null);
@@ -871,7 +871,7 @@ function RepoCtrl($scope, $sanitize, Restangular, ImageMetadataService, ApiServi
};
var listImages = function() {
- var params = {'repository': namespace + '/' + name};
+ var params = {'repository': namespace + '/' + name};
$scope.imageHistory = ApiService.listRepositoryImagesAsResource(params).get(function(resp) {
$scope.images = resp.images;
$scope.specificImages = [];
@@ -971,7 +971,7 @@ function BuildPackageCtrl($scope, Restangular, ApiService, DataFileService, $rou
return dockerfilePath;
};
- var processBuildPack = function(uint8array) {
+ var processBuildPack = function(uint8array) {
var archiveread = function(files) {
var getpath = function(file) {
return file.path;
@@ -1056,7 +1056,7 @@ function BuildPackageCtrl($scope, Restangular, ApiService, DataFileService, $rou
$scope.accessDenied = true;
return;
}
-
+
$rootScope.title = 'Repository Build Pack - ' + resp['display_name'];
$scope.repobuild = resp;
$scope.repo = {
@@ -1115,7 +1115,7 @@ function RepoBuildCtrl($scope, Restangular, ApiService, $routeParams, $rootScope
$('#confirmRestartBuildModal').modal('hide');
var subdirectory = '';
- if (build['job_config']) {
+ if (build['job_config']) {
subdirectory = build['job_config']['build_subdir'] || '';
}
@@ -1159,7 +1159,7 @@ function RepoBuildCtrl($scope, Restangular, ApiService, $routeParams, $rootScope
$scope.processANSI = function(message, container) {
var filter = container.logs._filter = (container.logs._filter || ansi2html.create());
-
+
// Note: order is important here.
var setup = filter.getSetupHtml();
var stream = filter.addInputToStream(message);
@@ -1194,7 +1194,7 @@ function RepoBuildCtrl($scope, Restangular, ApiService, $routeParams, $rootScope
if ($scope.pollChannel) {
$scope.pollChannel.stop();
}
-
+
// Create a new channel for polling the build status and logs.
var conductStatusAndLogRequest = function(callback) {
getBuildStatusAndLogs(build, callback);
@@ -1230,7 +1230,7 @@ function RepoBuildCtrl($scope, Restangular, ApiService, $routeParams, $rootScope
return endIndex;
};
- var getBuildStatusAndLogs = function(build, callback) {
+ var getBuildStatusAndLogs = function(build, callback) {
var params = {
'repository': namespace + '/' + name,
'build_uuid': build.id
@@ -1238,7 +1238,7 @@ function RepoBuildCtrl($scope, Restangular, ApiService, $routeParams, $rootScope
ApiService.getRepoBuildStatus(null, params, true).then(function(resp) {
if (build != $scope.currentBuild) { callback(false); return; }
-
+
// Note: We use extend here rather than replacing as Angular is depending on the
// root build object to remain the same object.
var matchingBuilds = $.grep($scope.builds, function(elem) {
@@ -1258,9 +1258,9 @@ function RepoBuildCtrl($scope, Restangular, ApiService, $routeParams, $rootScope
'start': $scope.logStartIndex
};
- ApiService.getRepoBuildLogsAsResource(params, true).withOptions(options).get(function(resp) {
+ ApiService.getRepoBuildLogsAsResource(params, true).withOptions(options).get(function(resp) {
if (build != $scope.currentBuild) { callback(false); return; }
-
+
// Process the logs we've received.
$scope.logStartIndex = processLogs(resp['logs'], resp['start'], resp['total']);
@@ -1323,7 +1323,7 @@ function RepoBuildCtrl($scope, Restangular, ApiService, $routeParams, $rootScope
fetchRepository();
}
-function RepoAdminCtrl($scope, Restangular, ApiService, KeyService, TriggerService, $routeParams,
+function RepoAdminCtrl($scope, Restangular, ApiService, KeyService, TriggerService, $routeParams,
$rootScope, $location, UserService, Config, Features, ExternalNotificationData) {
var namespace = $routeParams.namespace;
@@ -1335,7 +1335,7 @@ function RepoAdminCtrl($scope, Restangular, ApiService, KeyService, TriggerServi
$scope.permissions = {'team': [], 'user': [], 'loading': 2};
$scope.logsShown = 0;
$scope.deleting = false;
-
+
$scope.permissionCache = {};
$scope.showTriggerSetupCounter = 0;
@@ -1436,7 +1436,7 @@ function RepoAdminCtrl($scope, Restangular, ApiService, KeyService, TriggerServi
var permission = $scope.permissions[kind][entityName];
var currentRole = permission.role;
permission.role = role;
-
+
var permissionPut = Restangular.one(getRestUrl('repository', namespace, name, 'permissions', kind, entityName));
permissionPut.customPUT(permission).then(function() {}, function(resp) {
$scope.permissions[kind][entityName] = {'role': currentRole};
@@ -1534,7 +1534,7 @@ function RepoAdminCtrl($scope, Restangular, ApiService, KeyService, TriggerServi
$scope.deleting = true;
ApiService.deleteRepository(null, params).then(function() {
$scope.repo = null;
-
+
setTimeout(function() {
document.location = '/repository/';
}, 1000);
@@ -1545,7 +1545,7 @@ function RepoAdminCtrl($scope, Restangular, ApiService, KeyService, TriggerServi
};
$scope.showNewNotificationCounter = 0;
-
+
$scope.showNewNotificationDialog = function() {
$scope.showNewNotificationCounter++;
};
@@ -1629,7 +1629,7 @@ function RepoAdminCtrl($scope, Restangular, ApiService, KeyService, TriggerServi
};
$scope.showManualBuildDialog = 0;
-
+
$scope.startTrigger = function(trigger, opt_custom) {
var parameters = TriggerService.getRunParameters(trigger.service);
if (parameters.length && !opt_custom) {
@@ -1767,7 +1767,7 @@ function UserAdminCtrl($scope, $timeout, $location, ApiService, PlanService, Use
$scope.invoicesShown = 0;
$scope.USER_PATTERN = USER_PATTERN;
-
+
$scope.loadAuthedApps = function() {
if ($scope.authorizedApps) { return; }
@@ -1810,7 +1810,7 @@ function UserAdminCtrl($scope, $timeout, $location, ApiService, PlanService, Use
$scope.orgPlans = plans;
});
}
-
+
$scope.convertStep = 1;
};
@@ -1858,7 +1858,7 @@ function UserAdminCtrl($scope, $timeout, $location, ApiService, PlanService, Use
}, function(result) {
$scope.updatingUser = false;
UIService.showFormError('#changeUsernameForm', result);
- });
+ });
};
$scope.changeEmail = function() {
@@ -1903,7 +1903,7 @@ function UserAdminCtrl($scope, $timeout, $location, ApiService, PlanService, Use
UserService.load();
}, function(result) {
$scope.updatingUser = false;
- UIService.showFormError('#changePasswordForm', result);
+ UIService.showFormError('#changePasswordForm', result);
});
};
@@ -1920,7 +1920,7 @@ function UserAdminCtrl($scope, $timeout, $location, ApiService, PlanService, Use
};
}
-function ImageViewCtrl($scope, $routeParams, $rootScope, $timeout, ApiService, ImageMetadataService) {
+function ImageViewCtrl($scope, $routeParams, $rootScope, $timeout, ApiService, ImageMetadataService) {
var namespace = $routeParams.namespace;
var name = $routeParams.name;
var imageid = $routeParams.image;
@@ -1944,7 +1944,7 @@ function ImageViewCtrl($scope, $routeParams, $rootScope, $timeout, ApiService, I
if (index < 0) {
return '';
}
-
+
return filepath.substr(0, index).split('/');
};
@@ -1967,10 +1967,10 @@ function ImageViewCtrl($scope, $routeParams, $rootScope, $timeout, ApiService, I
$scope.search['$'] = filter;
document.getElementById('change-filter').value = filter;
};
-
+
$scope.initializeTree = function() {
if ($scope.tree) { return; }
-
+
$scope.tree = new ImageFileChangeTree($scope.image, $scope.combinedChanges);
$timeout(function() {
$scope.tree.draw('changes-tree-container');
@@ -1990,7 +1990,7 @@ function ImageViewCtrl($scope, $routeParams, $rootScope, $timeout, ApiService, I
var fetchImage = function() {
var params = {
'repository': namespace + '/' + name,
- 'image_id': imageid
+ 'image_id': imageid
};
$scope.image = ApiService.getImageAsResource(params).get(function(image) {
@@ -2015,14 +2015,14 @@ function ImageViewCtrl($scope, $routeParams, $rootScope, $timeout, ApiService, I
var fetchChanges = function() {
var params = {
'repository': namespace + '/' + name,
- 'image_id': imageid
+ 'image_id': imageid
};
ApiService.getImageChanges(null, params).then(function(changes) {
var combinedChanges = [];
var addCombinedChanges = function(c, kind) {
for (var i = 0; i < c.length; ++i) {
- combinedChanges.push({
+ combinedChanges.push({
'kind': kind,
'file': c[i]
});
@@ -2066,7 +2066,7 @@ function NewRepoCtrl($scope, $location, $http, $timeout, UserService, ApiService
$scope.$watch('repo.namespace', function(namespace) {
// Note: Can initially be undefined.
if (!namespace) { return; }
-
+
var isUserNamespace = (namespace == $scope.user.username);
$scope.planRequired = null;
@@ -2103,7 +2103,7 @@ function NewRepoCtrl($scope, $location, $http, $timeout, UserService, ApiService
}
}
});
-
+
return true;
};
@@ -2176,7 +2176,7 @@ function NewRepoCtrl($scope, $location, $http, $timeout, UserService, ApiService
var isUserNamespace = $scope.isUserNamespace;
ApiService.getPrivateAllowed(isUserNamespace ? null : $scope.repo.namespace).then(function(resp) {
$scope.checkingPlan = false;
-
+
if (resp['privateAllowed']) {
$scope.planRequired = null;
return;
@@ -2218,8 +2218,8 @@ function OrgViewCtrl($rootScope, $scope, ApiService, $routeParams) {
{ 'id': 'creator', 'title': 'Creator', 'kind': 'success' },
{ 'id': 'admin', 'title': 'Admin', 'kind': 'primary' }
];
-
- $scope.setRole = function(role, teamname) {
+
+ $scope.setRole = function(role, teamname) {
var previousRole = $scope.organization.teams[teamname].role;
$scope.organization.teams[teamname].role = role;
@@ -2231,7 +2231,7 @@ function OrgViewCtrl($rootScope, $scope, ApiService, $routeParams) {
var data = $scope.organization.teams[teamname];
ApiService.updateOrganizationTeam(data, params).then(function(resp) {
- }, function(resp) {
+ }, function(resp) {
$scope.organization.teams[teamname].role = previousRole;
$scope.roleError = resp.data || '';
$('#cannotChangeTeamModal').modal({});
@@ -2306,7 +2306,7 @@ function OrgAdminCtrl($rootScope, $scope, $timeout, Restangular, $routeParams, U
PlanService.getPlans(function(plans) {
$scope.plans = plans;
$scope.plan_map = {};
-
+
for (var i = 0; i < plans.length; ++i) {
$scope.plan_map[plans[i].stripeId] = plans[i];
}
@@ -2321,7 +2321,7 @@ function OrgAdminCtrl($rootScope, $scope, $timeout, Restangular, $routeParams, U
$scope.invoicesShown = 0;
$scope.applicationsShown = 0;
$scope.changingOrganization = false;
-
+
$scope.loadLogs = function() {
$scope.logsShown++;
};
@@ -2444,7 +2444,7 @@ function TeamViewCtrl($rootScope, $scope, $timeout, Features, Restangular, ApiSe
$scope.addNewMember = function(member) {
if (!member || $scope.memberMap[member.name]) { return; }
-
+
var params = {
'orgname': orgname,
'teamname': teamname,
@@ -2539,7 +2539,7 @@ function TeamViewCtrl($rootScope, $scope, $timeout, Features, Restangular, ApiSe
$scope.membersResource = ApiService.getOrganizationTeamMembersAsResource(params).get(function(resp) {
$scope.members = resp.members;
$scope.canEditMembers = resp.can_edit;
-
+
$('.info-icon').popover({
'trigger': 'hover',
'html': true
@@ -2687,7 +2687,7 @@ function OrgMemberLogsCtrl($scope, $routeParams, $rootScope, $timeout, Restangul
});
return resp.member;
- });
+ });
};
// Load the org info and the member info.
@@ -2783,7 +2783,7 @@ function ManageApplicationCtrl($scope, $routeParams, $rootScope, $location, $tim
' under organization ' + $scope.orgname;
return resp;
- });
+ });
};
diff --git a/static/js/graphing.js b/static/js/graphing.js
index 97459654c..c7f059991 100644
--- a/static/js/graphing.js
+++ b/static/js/graphing.js
@@ -8,8 +8,8 @@
throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");
}
- var aArgs = Array.prototype.slice.call(arguments, 1),
- fToBind = this,
+ var aArgs = Array.prototype.slice.call(arguments, 1),
+ fToBind = this,
fNOP = function () {},
fBound = function () {
return fToBind.apply(this instanceof fNOP && oThis
@@ -156,7 +156,7 @@ ImageHistoryTree.prototype.updateDimensions_ = function() {
document.getElementById(container).style.maxHeight = (viewportHeight - boundingBox.top - 150) + 'px';
this.setupOverscroll_();
-
+
// Update the tree.
var rootSvg = this.rootSvg_;
var tree = this.tree_;
@@ -188,7 +188,7 @@ ImageHistoryTree.prototype.draw = function(container) {
// Save the container.
this.container_ = container;
-
+
if (!$('#' + container)[0]) {
this.container_ = null;
return;
@@ -237,7 +237,7 @@ ImageHistoryTree.prototype.draw = function(container) {
if (d.image.command && d.image.command.length) {
html += '
' + formatCommand(d.image) + '';
}
- html += '
' + formatTime(d.image.created) + '';
+ html += '
' + formatTime(d.image.created) + '';
var tags = d.tags || [];
html += '
';
@@ -438,7 +438,7 @@ ImageHistoryTree.prototype.buildRoot_ = function() {
var ancestors = this.getAncestors_(image);
var immediateParent = ancestors[ancestors.length - 1];
var parent = imageByDockerId[immediateParent];
- if (parent) {
+ if (parent) {
// Add a reference to the parent. This makes walking the tree later easier.
imageNode.parent = parent;
parent.children.push(imageNode);
@@ -612,12 +612,12 @@ ImageHistoryTree.prototype.setTag_ = function(tagName) {
}
var imageByDockerId = this.imageByDockerId_;
-
+
// Save the current tag.
var previousTagName = this.currentTag_;
this.currentTag_ = tagName;
this.currentImage_ = null;
-
+
// Update the path.
var tagImage = this.findImage_(function(image) {
return image.tags.indexOf(tagName || '(no tag specified)') >= 0;
@@ -716,7 +716,7 @@ ImageHistoryTree.prototype.update_ = function(source) {
.attr("r", 1e-6)
.style("fill", function(d) { return d._children ? "lightsteelblue" : "#fff"; })
.on("click", function(d) { that.toggle_(d); that.update_(d); });
-
+
// Create the group that will contain the node name and its tags.
var g = nodeEnter.append("svg:g").style("fill-opacity", 1e-6);
@@ -756,7 +756,7 @@ ImageHistoryTree.prototype.update_ = function(source) {
.attr("y", 12)
.attr("width", 110)
.attr("height", DEPTH_HEIGHT - 20);
-
+
// Add the tags container.
fo.append('xhtml:div')
.attr("class", "tags")
@@ -949,7 +949,7 @@ function FileTreeBase() {
* Counter for creating unique IDs.
*/
this.idCounter_ = 0;
-
+
/**
* Map from file path to associated tree node.
*/
@@ -1017,7 +1017,7 @@ FileTreeBase.prototype.updateDimensions_ = function() {
this.barWidth_ = dimensions.bw;
this.barHeight_ = dimensions.bh;
-
+
return dimensions;
};
@@ -1044,11 +1044,11 @@ FileTreeBase.prototype.dispose = function() {
* Draws the tree.
*/
FileTreeBase.prototype.draw = function(container) {
- this.container_ = container;
-
+ this.container_ = container;
+
var dimensions = this.calculateDimensions_(container);
if (!dimensions) { return; }
-
+
var w = dimensions.w;
var h = dimensions.h;
var m = dimensions.m;
@@ -1169,7 +1169,7 @@ FileTreeBase.prototype.getContainerHeight_ = function() {
if (!dimensions) { return; }
var barHeight = this.barHeight_;
- var height = (this.getVisibleCount_(this.root_) * (barHeight + 2));
+ var height = (this.getVisibleCount_(this.root_) * (barHeight + 2));
return height + dimensions.m[0] + dimensions.m[2];
};
@@ -1206,16 +1206,16 @@ FileTreeBase.prototype.update_ = function(source) {
// Compute the flattened node list.
var nodes = tree.nodes(this.root_);
-
+
// Compute the "layout".
nodes.forEach(function(n, i) {
n.x = i * barHeight;
});
-
+
// Update the nodes...
var node = vis.selectAll("g.node")
.data(nodes, function(d) { return d.id || (d.id = that.idCounter_++); });
-
+
var nodeEnter = node.enter().append("svg:g")
.attr("class", function(d) {
return "node " + (d.kind ? d.kind : 'folder');
@@ -1241,7 +1241,7 @@ FileTreeBase.prototype.update_ = function(source) {
that.toggle_(d);
that.update_(source);
});
-
+
nodeEnter.append("svg:text")
.attr("dy", 3.5)
.attr("dx", 5.5 + 18)
@@ -1261,7 +1261,7 @@ FileTreeBase.prototype.update_ = function(source) {
.duration(duration)
.attr("transform", function(d) { return "translate(" + d.y + "," + d.x + ")"; })
.style("opacity", 1);
-
+
node.transition()
.duration(duration)
// TODO: reenable for full animation
@@ -1281,7 +1281,7 @@ FileTreeBase.prototype.update_ = function(source) {
node.select('.fo')
.attr("x", function(d) { return d.kind ? barWidth - 18 : 0; })
.attr("y", -10)
-
+
node.select('.node-icon')
.html(function(d) {
if (!d.kind) {
@@ -1291,7 +1291,7 @@ FileTreeBase.prototype.update_ = function(source) {
return that.determineIcon(d);
});
-
+
// Transition exiting nodes to the parent's new position.
node.exit().transition()
.duration(duration)
@@ -1299,11 +1299,11 @@ FileTreeBase.prototype.update_ = function(source) {
// .attr("transform", function(d) { return "translate(" + source.y + "," + source.x + ")"; })
.style("opacity", 1e-6)
.remove();
-
+
// Update the links...
var link = vis.selectAll("path.link")
.data(tree.links(nodes), function(d) { return d.target.id; });
-
+
// Enter any new links at the parent's previous position.
link.enter().insert("svg:path", "g")
.attr("class", "link")
@@ -1314,7 +1314,7 @@ FileTreeBase.prototype.update_ = function(source) {
.transition()
.duration(duration)
.attr("d", diagonal);
-
+
// Transition links to their new position.
link.transition()
.duration(duration)
@@ -1323,7 +1323,7 @@ FileTreeBase.prototype.update_ = function(source) {
var t = d.target;
return diagonal({source: s, target: t});
});
-
+
// Transition exiting nodes to the parent's new position.
link.exit().transition()
.duration(duration)
@@ -1332,7 +1332,7 @@ FileTreeBase.prototype.update_ = function(source) {
return diagonal({source: o, target: o});
})
.remove();
-
+
// Stash the old positions for transition.
nodes.forEach(function(d) {
d.x0 = d.x;
@@ -1363,11 +1363,11 @@ function ImageFileChangeTree(image, changes) {
* The parent image.
*/
this.image_ = image;
-
+
/**
* The changes being drawn.
*/
- this.changes_ = changes;
+ this.changes_ = changes;
}
$.extend(ImageFileChangeTree.prototype, FileTreeBase.prototype);
@@ -1393,7 +1393,7 @@ ImageFileChangeTree.prototype.determineIcon = function(d) {
'removed': 'minus-square',
'changed': 'pencil-square'
};
-
+
return ' ';
};
@@ -1526,7 +1526,7 @@ UsageChart.prototype.drawInternal_ = function() {
// Update the text.
this.text_.text(this.count_ + ' / ' + this.total_);
}
-
+
this.drawn_ = true;
};
@@ -1610,7 +1610,7 @@ LogUsageChart.prototype.buildData_ = function(logs) {
}
this.entries_ = map;
-
+
// Build the data itself. We create a single entry for each possible kind of data, and then add (x, y) pairs
// for the number of times that kind of event occurred on a particular day.
var dataArray = [];
@@ -1626,7 +1626,7 @@ LogUsageChart.prototype.buildData_ = function(logs) {
dataMap[key] = found;
dataArray.push(found);
}
-
+
found.values.push({
'x': entry.adjusted,
'y': entry.count
@@ -1666,7 +1666,7 @@ LogUsageChart.prototype.buildData_ = function(logs) {
return a['x'].getDate() - b['x'].getDate();
});
}
-
+
return this.data_ = dataArray;
};
@@ -1750,7 +1750,7 @@ LogUsageChart.prototype.handleStateChange_ = function(e) {
allowed[this.data_[i].kind] = true;
}
}
-
+
$(this).trigger({
'type': 'filteringChanged',
'allowed': allowed
@@ -1802,7 +1802,7 @@ LogUsageChart.prototype.draw = function(container, logData, startDate, endDate)
}
chart.xDomain(domain);
-
+
// Finish setting up the chart.
chart.xAxis
.tickFormat(d3.time.format("%m/%d"));
@@ -1822,4 +1822,4 @@ LogUsageChart.prototype.draw = function(container, logData, startDate, endDate)
chart.dispatch.on('stateChange', function(e) { that.handleStateChange_(e); });
return that.chart_ = chart;
});
-};
\ No newline at end of file
+};
diff --git a/static/js/tour.js b/static/js/tour.js
index fb1a8189b..c50d45379 100644
--- a/static/js/tour.js
+++ b/static/js/tour.js
@@ -1,9 +1,9 @@
angular.module("angular-tour", [])
.provider('AngularTour', function() {
- this.$get = ['$document', '$rootScope', '$compile', '$location', function($document, $rootScope, $compile, $location) {
+ this.$get = ['$document', '$rootScope', '$compile', '$location', function($document, $rootScope, $compile, $location) {
$rootScope.angular_tour_current = null;
- function _start(tour, opt_stepIndex, opt_existingScope) {
+ function _start(tour, opt_stepIndex, opt_existingScope) {
tour.initialStep = opt_stepIndex || tour.initialStep || 0;
tour.tourScope = opt_existingScope || null;
$rootScope.angular_tour_current = tour;
@@ -128,7 +128,7 @@ angular.module("angular-tour", [])
speed: 400,
color: '#333',
animate: true,
- easing: 'linear',
+ easing: 'linear',
exitEvent: 'mouseenter',
exitEventAppliesToElement: true,
paddingX: 1,
@@ -214,9 +214,9 @@ angular.module("angular-tour", [])
// to transition it to an overlay tour.
if ($scope.inline) {
var counter = 0;
- var unbind = $rootScope.$watch(function() {
- return $location.path();
- }, function(location) {
+ var unbind = $rootScope.$watch(function() {
+ return $location.path();
+ }, function(location) {
// Since this callback fires for the first page display, we only unbind it
// after the second call.
if (counter == 1) {
@@ -249,7 +249,7 @@ angular.module("angular-tour", [])
return $location.path() == tourScope._replaceData(locationPath);
};
};
-
+
// Signal: When an element is found in the page's DOM.
signals.elementAvaliable = function(elementPath) {
return function(tourScope) {
diff --git a/static/js/untar.js b/static/js/untar.js
index 02c0f6c07..79f280108 100644
--- a/static/js/untar.js
+++ b/static/js/untar.js
@@ -387,7 +387,7 @@ if (!Array.prototype.some) {
/*
* Extract data from an input.
- *
+ *
* @param data The data, in Uint8Array form.
*/
function Untar(data) {
@@ -403,7 +403,7 @@ if (!Array.prototype.some) {
'files': []
});
};
-
+
window.Untar = Untar;
-
-})();
\ No newline at end of file
+
+})();
diff --git a/static/partials/about.html b/static/partials/about.html
index 7b068e45c..a56ee968a 100644
--- a/static/partials/about.html
+++ b/static/partials/about.html
@@ -55,7 +55,7 @@
Jacob Moshenko
- Co-Founder
+ Co-Founder
diff --git a/static/partials/confirm-invite.html b/static/partials/confirm-invite.html
index e3d883e53..807ca4540 100644
--- a/static/partials/confirm-invite.html
+++ b/static/partials/confirm-invite.html
@@ -4,7 +4,7 @@
{{ invalid }}
diff --git a/static/partials/contact.html b/static/partials/contact.html
index df988f9d8..8a50b0412 100644
--- a/static/partials/contact.html
+++ b/static/partials/contact.html
@@ -22,4 +22,4 @@
-
\ No newline at end of file
+
diff --git a/static/partials/guide.html b/static/partials/guide.html
index e671b6302..ae429e3b8 100644
--- a/static/partials/guide.html
+++ b/static/partials/guide.html
@@ -1,5 +1,5 @@
Redirecting...
- If this page does not redirect, please
click here .
+ If this page does not redirect, please
click here .
diff --git a/static/partials/image-view.html b/static/partials/image-view.html
index 0ad7ce748..da2bd8140 100644
--- a/static/partials/image-view.html
+++ b/static/partials/image-view.html
@@ -2,7 +2,7 @@
diff --git a/static/partials/landing.html b/static/partials/landing.html
index a03190263..719d1a9cb 100644
--- a/static/partials/landing.html
+++ b/static/partials/landing.html
@@ -1,3 +1,3 @@
-
\ No newline at end of file
+
diff --git a/static/partials/manage-application.html b/static/partials/manage-application.html
index aaae745b8..0c6f11427 100644
--- a/static/partials/manage-application.html
+++ b/static/partials/manage-application.html
@@ -10,7 +10,7 @@
{{ application.name || '(Untitled)' }}
@@ -22,13 +22,13 @@
Warning: There is no OAuth Redirect setup for this application. Please enter it in the
Settings tab.
-
+
diff --git a/static/partials/new-organization.html b/static/partials/new-organization.html
index 0de90293f..0450e1ab5 100644
--- a/static/partials/new-organization.html
+++ b/static/partials/new-organization.html
@@ -3,7 +3,7 @@
-
+
-
+