fixes based on requested changes

This commit is contained in:
alecmerdler 2017-02-01 00:29:56 -08:00
parent 43f95c52a0
commit 537c07ad4d
11 changed files with 60 additions and 48 deletions

View file

@ -1,4 +1,5 @@
import * as $ from 'jquery';
import * as ng from '@types/angular';
quayRun.$inject = [
@ -18,42 +19,45 @@ quayRun.$inject = [
];
export default function quayRun(
$location,
$rootScope,
Restangular,
UserService,
PlanService,
$http,
$timeout,
CookieService,
Features,
$anchorScroll,
UtilService,
MetaService,
INJECTED_CONFIG) {
$location: ng.ILocationService,
$rootScope: QuayRunScope,
Restangular: any,
UserService: any,
PlanService: any,
$http: ng.IHttpService,
$timeout: ng.ITimeoutService,
CookieService: any,
Features: any,
$anchorScroll: ng.IAnchorScrollService,
UtilService: any,
MetaService: any,
INJECTED_CONFIG: any) {
var defaultTitle = INJECTED_CONFIG['REGISTRY_TITLE'] || 'Quay Container Registry';
// Handle session security.
Restangular.setDefaultRequestParams(['post', 'put', 'remove', 'delete'], {'_csrf_token': (<any>window).__token || ''});
Restangular.setDefaultRequestParams(['post', 'put', 'remove', 'delete'],
{'_csrf_token': (<any>window).__token || ''});
// Handle session expiration.
Restangular.setErrorInterceptor(function(response) {
if (response.status == 503) {
if (response !== undefined && response.status == 503) {
(<any>$('#cannotContactService')).modal({});
return false;
}
if (response.status == 500) {
if (response !== undefined && response.status == 500) {
window.location.href = '/500';
return false;
}
if (!response.data) {
if (response !== undefined && !response.data) {
return true;
}
var invalid_token = response.data['title'] == 'invalid_token' || response.data['error_type'] == 'invalid_token';
if (response.status == 401 && invalid_token && response.data['session_required'] !== false) {
if (response !== undefined && response.status == 401 &&
invalid_token &&
response.data['session_required'] !== false) {
(<any>$('#sessionexpiredModal')).modal({});
return false;
}
@ -73,9 +77,10 @@ export default function quayRun(
return;
}
$rootScope.$watch('description', function(description) {
$rootScope.$watch('description', function(description: string) {
if (!description) {
description = 'Hosted private docker repositories. Includes full user management and history. Free for public repositories.';
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
@ -87,9 +92,7 @@ export default function quayRun(
// Listen for scope changes and update the title and description accordingly.
$rootScope.$watch(function() {
var title = MetaService.getTitle($rootScope.currentPage) || defaultTitle;
if ($rootScope.title != title) {
$rootScope.title = title;
}
$rootScope.title = title;
var description = MetaService.getDescription($rootScope.currentPage) || '';
if ($rootScope.description != description) {
@ -126,4 +129,15 @@ export default function quayRun(
}
return $http.pendingRequests.length > 0;
};
}
interface QuayRunScope extends ng.IRootScopeService {
currentPage: any;
current: any;
title: any;
description: string,
pageClass: any;
newLayout: any;
fixFooter: any;
}