d080ca2cc6
further improve developer morale get initial angular loading Add remote css to config index Starts work to port endpoints into config app Add the api blueprint
91 lines
No EOL
1.9 KiB
JavaScript
91 lines
No EOL
1.9 KiB
JavaScript
/**
|
|
* Feature flags.
|
|
*/
|
|
angular.module('quay-config').factory('Features', [function() {
|
|
if (!window.__features) {
|
|
return {};
|
|
}
|
|
|
|
var features = window.__features;
|
|
features.getFeature = function(name, opt_defaultValue) {
|
|
var value = features[name];
|
|
if (value == null) {
|
|
return opt_defaultValue;
|
|
}
|
|
return value;
|
|
};
|
|
|
|
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]);
|
|
if (!value) {
|
|
return false;
|
|
}
|
|
}
|
|
return true;
|
|
};
|
|
|
|
return features;
|
|
}]);
|
|
|
|
/**
|
|
* Application configuration.
|
|
*/
|
|
angular.module('quay-config').factory('Config', ['Features', function(Features) {
|
|
if (!window.__config) {
|
|
return {};
|
|
}
|
|
|
|
var config = window.__config;
|
|
config.getDomain = function() {
|
|
return config['SERVER_HOSTNAME'];
|
|
};
|
|
|
|
config.getHost = function(opt_auth) {
|
|
var auth = opt_auth;
|
|
if (auth) {
|
|
auth = auth + '@';
|
|
}
|
|
|
|
return config['PREFERRED_URL_SCHEME'] + '://' + auth + config['SERVER_HOSTNAME'];
|
|
};
|
|
|
|
config.getHttp = function() {
|
|
return config['PREFERRED_URL_SCHEME'];
|
|
};
|
|
|
|
config.getUrl = function(opt_path) {
|
|
var path = opt_path || '';
|
|
return config['PREFERRED_URL_SCHEME'] + '://' + config['SERVER_HOSTNAME'] + path;
|
|
};
|
|
|
|
config.getValue = function(name, opt_defaultValue) {
|
|
var value = config[name];
|
|
if (value == null) {
|
|
return opt_defaultValue;
|
|
}
|
|
return value;
|
|
};
|
|
|
|
config.getEnterpriseLogo = function(opt_defaultValue) {
|
|
if (!config.ENTERPRISE_LOGO_URL) {
|
|
if (opt_defaultValue) {
|
|
return opt_defaultValue;
|
|
}
|
|
|
|
if (Features.BILLING) {
|
|
return '/static/img/quay-horizontal-color.svg';
|
|
} else {
|
|
return '/static/img/QuayEnterprise_horizontal_color.svg';
|
|
}
|
|
}
|
|
|
|
return config.ENTERPRISE_LOGO_URL;
|
|
};
|
|
|
|
return config;
|
|
}]); |