Merge pull request #1 from gconsidine/275-delete-warnings

275 delete warnings
This commit is contained in:
Michael Abashian 2017-11-10 11:28:33 -05:00 committed by GitHub
commit 2957f5bc7f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
17 changed files with 282 additions and 262 deletions

View File

@ -45,6 +45,7 @@ module.exports = {
ignoreTemplateLiterals: true,
}],
'no-continue': 'off',
'no-debugger': 'off',
'no-mixed-operators': 'off',
'no-param-reassign': 'off',
'no-plusplus': 'off',

View File

@ -42,7 +42,7 @@ function AddCredentialsController (models, $state, strings) {
vm.form.save = data => {
data.user = me.get('id');
return credential.request('post', data);
return credential.request('post', { data });
};
vm.form.onSaveSuccess = res => {

View File

@ -88,7 +88,7 @@ function EditCredentialsController (models, $state, $scope, strings) {
data.user = me.get('id');
credential.unset('inputs');
return credential.request('put', data);
return credential.request('put', { data });
};
vm.form.onSaveSuccess = () => {

View File

@ -1,34 +1,46 @@
let $http;
let $q;
let cache;
let strings;
function request (method, resource) {
if (Array.isArray(method)) {
const promises = method.map((_method_, i) =>
this.request(_method_, Array.isArray(resource) ? resource[i] : resource));
function request (method, resource, config) {
let req = this.parseRequestConfig(method, resource, config);
if (Array.isArray(req.method)) {
const promises = req.method.map((_method, i) => {
const _resource = Array.isArray(req.resource) ? req.resource[i] : req.resource;
req = this.parseRequestConfig(_method, _resource, config);
if (this.isCacheable(req)) {
return this.requestWithCache(req);
}
return this.request(req);
});
return $q.all(promises);
}
if (this.isCacheable(method, resource)) {
return this.requestWithCache(method, resource);
if (this.isCacheable(req)) {
return this.requestWithCache(req);
}
return this.http[method](resource);
return this.http[req.method](req);
}
function requestWithCache (method, resource) {
const key = cache.createKey(method, this.path, resource);
function requestWithCache (config) {
const key = cache.createKey(config.method, this.path, config.resource);
return cache.get(key)
.then(data => {
if (data) {
this.model[method.toUpperCase()] = data;
this.model[config.method.toUpperCase()] = data;
return data;
}
return this.http[method](resource)
return this.http[config.method](config)
.then(res => {
cache.put(key, res.data);
@ -77,22 +89,22 @@ function search (params, config) {
});
}
function httpGet (resource, config) {
function httpGet (config = {}) {
const req = {
method: 'GET',
url: this.path
};
if (config && config.params) {
if (config.params) {
req.params = config.params;
}
if (typeof resource === 'object') {
this.model.GET = resource;
if (typeof config.resource === 'object') {
this.model.GET = config.resource;
return $q.resolve();
} else if (resource) {
req.url = `${this.path}${resource}/`;
} else if (config.resource) {
req.url = `${this.path}${config.resource}/`;
}
return $http(req)
@ -103,40 +115,51 @@ function httpGet (resource, config) {
});
}
function httpPost (data) {
function httpPost (config = {}) {
const req = {
method: 'POST',
url: this.path,
data
data: config.data
};
return $http(req).then(res => {
this.model.GET = res.data;
return $http(req)
.then(res => {
this.model.GET = res.data;
return res;
});
return res;
});
}
function httpPut (changes) {
const model = Object.assign(this.get(), changes);
function httpPatch (config = {}) {
const req = {
method: 'PUT',
url: `${this.path}${this.get('id')}/`,
data: config.changes
};
return $http(req);
}
function httpPut (config = {}) {
const model = _.merge(this.get(), config.data);
const req = {
method: 'PUT',
url: `${this.path}${model.id}/`,
url: `${this.path}${this.get('id')}/`,
data: model
};
return $http(req).then(res => res);
return $http(req);
}
function httpOptions (resource) {
function httpOptions (config = {}) {
const req = {
method: 'OPTIONS',
url: this.path
};
if (resource) {
req.url = `${this.path}${resource}/`;
if (config.resource) {
req.url = `${this.path}${config.resource}/`;
}
return $http(req)
@ -147,17 +170,17 @@ function httpOptions (resource) {
});
}
function httpDelete (resource) {
function httpDelete (config = {}) {
const req = {
method: 'DELETE',
url: this.path
};
if (resource) {
req.url = `${this.path}${resource}/`;
if (config.resource) {
req.url = `${this.path}${config.resource}/`;
}
return $http(req).then(res => res);
return $http(req);
}
function options (keys) {
@ -367,29 +390,19 @@ function graft (id) {
}
function getDependentResourceCounts (id) {
if (this.setDependentResources) {
this.setDependentResources(id);
} else {
return Promise.resolve([]);
}
this.setDependentResources(id);
const dependentResourcePromises = [];
const promises = [];
this.dependentResources.forEach(dependentResource => {
const config = {};
if (dependentResource.params) {
config.params = dependentResource.params;
}
dependentResourcePromises.push(dependentResource.model.http.get(undefined, config)
.then((val) => ({
label: dependentResource.model.label,
count: val.data.count
this.dependentResources.forEach(resource => {
promises.push(resource.model.request('get', resource.params)
.then(res => ({
label: resource.model.label,
count: res.data.count
})));
});
return Promise.all(dependentResourcePromises);
return Promise.all(promises);
}
/**
@ -401,20 +414,22 @@ function getDependentResourceCounts (id) {
* @arg {string=} method - Populate the model with `GET` or `OPTIONS` data.
* @arg {(string|Object)=} resource - An `id` reference to a particular
* resource or an existing model's data.
* @arg {boolean=} isGraft - Create a new instance from existing model data.
* @arg {config=} config - Create a new instance from existing model data.
*
* @returns {(Object|Promise)} - Returns a reference to the model instance
* if an empty instance or graft is created. Otherwise, a promise yielding
* a model instance is returned.
*/
function create (method, resource, isGraft, config) {
if (!method) {
function create (method, resource, config) {
const req = this.parseRequestConfig(method, resource, config);
if (!req || !req.method) {
return this;
}
this.promise = this.request(method, resource, config);
this.promise = this.request(req);
if (isGraft) {
if (req.graft) {
return this;
}
@ -422,17 +437,51 @@ function create (method, resource, isGraft, config) {
.then(() => this);
}
function parseRequestConfig (method, resource, config) {
if (!method) {
return null;
}
let req = {};
if (Array.isArray(method)) {
if (Array.isArray(resource)) {
req.resource = resource;
} else if (typeof resource === 'object') {
req = resource;
}
req.method = method;
} else if (typeof method === 'string') {
if (typeof resource === 'object') {
req = resource;
} else {
req.resource = resource;
}
req.method = method;
} else if (typeof method === 'object') {
req = method;
} else {
req = config;
req.method = method;
req.resource = resource;
}
return req;
}
/**
* Base functionality for API interaction.
*
* @arg {string} path - The API resource for the model extending BaseModel to
* @arg {string} resource - The API resource for the model extending BaseModel to
* use.
* @arg {Object=} settings - Configuration applied to all instances of the
* extending model.
* @arg {boolean=} settings.cache - Cache the model data.
*
*/
function BaseModel (path, settings) {
function BaseModel (resource, settings) {
this.create = create;
this.find = find;
this.get = get;
@ -444,6 +493,7 @@ function BaseModel (path, settings) {
this.match = match;
this.normalizePath = normalizePath;
this.options = options;
this.parseRequestConfig = parseRequestConfig;
this.request = request;
this.requestWithCache = requestWithCache;
this.search = search;
@ -455,24 +505,27 @@ function BaseModel (path, settings) {
this.http = {
get: httpGet.bind(this),
options: httpOptions.bind(this),
patch: httpPatch.bind(this),
post: httpPost.bind(this),
put: httpPut.bind(this),
delete: httpDelete.bind(this)
};
this.model = {};
this.path = this.normalizePath(path);
this.path = this.normalizePath(resource);
this.label = strings.get(`${resource}.LABEL`);
this.settings = settings || {};
}
function BaseModelLoader (_$http_, _$q_, _cache_) {
function BaseModelLoader (_$http_, _$q_, _cache_, ModelsStrings) {
$http = _$http_;
$q = _$q_;
cache = _cache_;
strings = ModelsStrings;
return BaseModel;
}
BaseModelLoader.$inject = ['$http', '$q', 'CacheService'];
BaseModelLoader.$inject = ['$http', '$q', 'CacheService', 'ModelsStrings'];
export default BaseModelLoader;

View File

@ -1,5 +1,5 @@
let $log;
let BaseModel;
let Base;
function getTruncatedVersion () {
let version;
@ -17,18 +17,18 @@ function isOpen () {
return this.get('license_info.license_type') === 'open';
}
function ConfigModel (method, resource, graft) {
BaseModel.call(this, 'config', { cache: true });
function ConfigModel (method, resource, config) {
Base.call(this, 'config', { cache: true });
this.Constructor = ConfigModel;
this.getTruncatedVersion = getTruncatedVersion;
this.isOpen = isOpen;
return this.create(method, resource, graft);
return this.create(method, resource, config);
}
function ConfigModelLoader (_BaseModel_, _$log_) {
BaseModel = _BaseModel_;
function ConfigModelLoader (BaseModel, _$log_) {
Base = BaseModel;
$log = _$log_;
return ConfigModel;

View File

@ -1,11 +1,10 @@
const ENCRYPTED_VALUE = '$encrypted$';
let BaseModel;
let ProjectModel;
let JobTemplateModel;
let InventoryModel;
let InventorySourceModel;
let ModelsStrings;
let Base;
let Project;
let JobTemplate;
let Inventory;
let InventorySource;
function createFormSchema (method, config) {
if (!config) {
@ -48,26 +47,26 @@ function assignInputGroupValues (inputs) {
function setDependentResources (id) {
this.dependentResources = [
{
model: new ProjectModel(),
model: new Project(),
params: {
credential: id
}
},
{
model: new JobTemplateModel(),
model: new JobTemplate(),
params: {
credential: id,
ask_credential_on_launch: false
}
},
{
model: new InventoryModel(),
model: new Inventory(),
params: {
insights_credential: id
}
},
{
model: new InventorySourceModel(),
model: new InventorySource(),
params: {
credential: id
}
@ -75,32 +74,29 @@ function setDependentResources (id) {
];
}
function CredentialModel (method, resource, graft) {
BaseModel.call(this, 'credentials');
function CredentialModel (method, resource, config) {
Base.call(this, 'credentials');
this.Constructor = CredentialModel;
this.createFormSchema = createFormSchema.bind(this);
this.assignInputGroupValues = assignInputGroupValues.bind(this);
this.setDependentResources = setDependentResources.bind(this);
this.label = ModelsStrings.get('labels.CREDENTIAL');
return this.create(method, resource, graft);
return this.create(method, resource, config);
}
function CredentialModelLoader (
_BaseModel_,
_ProjectModel_,
_JobTemplateModel_,
_InventoryModel_,
_InventorySourceModel_,
_ModelsStrings_
BaseModel,
ProjectModel,
JobTemplateModel,
InventoryModel,
InventorySourceModel
) {
BaseModel = _BaseModel_;
ProjectModel = _ProjectModel_;
JobTemplateModel = _JobTemplateModel_;
InventoryModel = _InventoryModel_;
InventorySourceModel = _InventorySourceModel_;
ModelsStrings = _ModelsStrings_;
Base = BaseModel;
Project = ProjectModel;
JobTemplate = JobTemplateModel;
Inventory = InventoryModel;
InventorySource = InventorySourceModel;
return CredentialModel;
}
@ -110,8 +106,7 @@ CredentialModelLoader.$inject = [
'ProjectModel',
'JobTemplateModel',
'InventoryModel',
'InventorySourceModel',
'ModelsStrings'
'InventorySourceModel'
];
export default CredentialModelLoader;

View File

@ -1,6 +1,5 @@
let BaseModel;
let CredentialModel;
let ModelsStrings;
let Base;
let Credential;
function categorizeByKind () {
const group = {};
@ -35,7 +34,7 @@ function mergeInputProperties () {
function setDependentResources (id) {
this.dependentResources = [
{
model: new CredentialModel(),
model: new Credential(),
params: {
credential_type: id
}
@ -43,34 +42,27 @@ function setDependentResources (id) {
];
}
function CredentialTypeModel (method, resource, graft) {
BaseModel.call(this, 'credential_types');
function CredentialTypeModel (method, resource, config) {
Base.call(this, 'credential_types');
this.Constructor = CredentialTypeModel;
this.categorizeByKind = categorizeByKind.bind(this);
this.mergeInputProperties = mergeInputProperties.bind(this);
this.setDependentResources = setDependentResources.bind(this);
this.label = ModelsStrings.get('labels.CREDENTIAL_TYPE');
return this.create(method, resource, graft);
return this.create(method, resource, config);
}
function CredentialTypeModelLoader (
_BaseModel_,
_CredentialModel_,
_ModelsStrings_
) {
BaseModel = _BaseModel_;
CredentialModel = _CredentialModel_;
ModelsStrings = _ModelsStrings_;
function CredentialTypeModelLoader (BaseModel, CredentialModel) {
Base = BaseModel;
Credential = CredentialModel;
return CredentialTypeModel;
}
CredentialTypeModelLoader.$inject = [
'BaseModel',
'CredentialModel',
'ModelsStrings'
'CredentialModel'
];
export default CredentialTypeModelLoader;

View File

@ -1,11 +1,10 @@
let BaseModel;
let JobTemplateModel;
let ModelsStrings;
let Base;
let JobTemplate;
function setDependentResources (id) {
this.dependentResources = [
{
model: new JobTemplateModel(),
model: new JobTemplate(),
params: {
inventory: id
}
@ -13,32 +12,25 @@ function setDependentResources (id) {
];
}
function InventoryModel (method, resource, graft) {
BaseModel.call(this, 'inventories');
function InventoryModel (method, resource, config) {
Base.call(this, 'inventories');
this.Constructor = InventoryModel;
this.setDependentResources = setDependentResources.bind(this);
this.label = ModelsStrings.get('labels.INVENTORY');
return this.create(method, resource, graft);
return this.create(method, resource, config);
}
function InventoryModelLoader (
_BaseModel_,
_JobTemplateModel_,
_ModelsStrings_
) {
BaseModel = _BaseModel_;
JobTemplateModel = _JobTemplateModel_;
ModelsStrings = _ModelsStrings_;
function InventoryModelLoader (BaseModel, JobTemplateModel) {
Base = BaseModel;
JobTemplate = JobTemplateModel;
return InventoryModel;
}
InventoryModelLoader.$inject = [
'BaseModel',
'JobTemplateModel',
'ModelsStrings'
'JobTemplateModel'
];
export default InventoryModelLoader;

View File

@ -1,11 +1,10 @@
let BaseModel;
let InventorySourceModel;
let ModelsStrings;
let Base;
let InventorySource;
function setDependentResources (id) {
this.dependentResources = [
{
model: new InventorySourceModel(),
model: new InventorySource(),
params: {
source_script: id
}
@ -13,32 +12,25 @@ function setDependentResources (id) {
];
}
function InventoryScriptModel (method, resource, graft) {
BaseModel.call(this, 'inventory_scripts');
function InventoryScriptModel (method, resource, config) {
Base.call(this, 'inventory_scripts');
this.Constructor = InventoryScriptModel;
this.setDependentResources = setDependentResources.bind(this);
this.label = ModelsStrings.get('labels.INVENTORY_SCRIPT');
return this.create(method, resource, graft);
return this.create(method, resource, config);
}
function InventoryScriptModelLoader (
_BaseModel_,
_InventorySourceModel_,
_ModelsStrings_
) {
BaseModel = _BaseModel_;
InventorySourceModel = _InventorySourceModel_;
ModelsStrings = _ModelsStrings_;
function InventoryScriptModelLoader (BaseModel, InventorySourceModel) {
Base = BaseModel;
InventorySource = InventorySourceModel;
return InventoryScriptModel;
}
InventoryScriptModelLoader.$inject = [
'BaseModel',
'InventorySourceModel',
'ModelsStrings'
'InventorySourceModel'
];
export default InventoryScriptModelLoader;

View File

@ -1,11 +1,10 @@
let BaseModel;
let WorkflowJobTemplateNodeModel;
let ModelsStrings;
let Base;
let WorkflowJobTemplateNode;
function setDependentResources (id) {
this.dependentResources = [
{
model: new WorkflowJobTemplateNodeModel(),
model: new WorkflowJobTemplateNode(),
params: {
unified_job_template: id
}
@ -13,32 +12,28 @@ function setDependentResources (id) {
];
}
function InventorySourceModel (method, resource, graft) {
BaseModel.call(this, 'inventory_sources');
function InventorySourceModel (method, resource, config) {
Base.call(this, 'inventory_sources');
this.Constructor = InventorySourceModel;
this.setDependentResources = setDependentResources.bind(this);
this.label = ModelsStrings.get('labels.INVENTORY_SOURCE');
return this.create(method, resource, graft);
return this.create(method, resource, config);
}
function InventorySourceModelLoader (
_BaseModel_,
_WorkflowJobTemplateNodeModel_,
_ModelsStrings_
BaseModel,
WorkflowJobTemplateNodeModel
) {
BaseModel = _BaseModel_;
WorkflowJobTemplateNodeModel = _WorkflowJobTemplateNodeModel_;
ModelsStrings = _ModelsStrings_;
Base = BaseModel;
WorkflowJobTemplateNode = WorkflowJobTemplateNodeModel;
return InventorySourceModel;
}
InventorySourceModelLoader.$inject = [
'BaseModel',
'WorkflowJobTemplateNodeModel',
'ModelsStrings'
'WorkflowJobTemplateNodeModel'
];
export default InventorySourceModelLoader;

View File

@ -1,11 +1,10 @@
let BaseModel;
let WorkflowJobTemplateNodeModel;
let ModelsStrings;
let Base;
let WorkflowJobTemplateNode;
function setDependentResources (id) {
this.dependentResources = [
{
model: new WorkflowJobTemplateNodeModel(),
model: new WorkflowJobTemplateNode(),
params: {
unified_job_template: id
}
@ -13,32 +12,25 @@ function setDependentResources (id) {
];
}
function JobTemplateModel (method, resource, graft) {
BaseModel.call(this, 'job_templates');
function JobTemplateModel (method, resource, config) {
Base.call(this, 'job_templates');
this.Constructor = JobTemplateModel;
this.setDependentResources = setDependentResources.bind(this);
this.label = ModelsStrings.get('labels.JOB_TEMPLATE');
return this.create(method, resource, graft);
return this.create(method, resource, config);
}
function JobTemplateModelLoader (
_BaseModel_,
_WorkflowJobTemplateNodeModel_,
_ModelsStrings_
) {
BaseModel = _BaseModel_;
WorkflowJobTemplateNodeModel = _WorkflowJobTemplateNodeModel_;
ModelsStrings = _ModelsStrings_;
function JobTemplateModelLoader (BaseModel, WorkflowJobTemplateNodeModel) {
Base = BaseModel;
WorkflowJobTemplateNode = WorkflowJobTemplateNodeModel;
return JobTemplateModel;
}
JobTemplateModelLoader.$inject = [
'BaseModel',
'WorkflowJobTemplateNodeModel',
'ModelsStrings'
'WorkflowJobTemplateNodeModel'
];
export default JobTemplateModelLoader;

View File

@ -1,11 +1,11 @@
let BaseModel;
let Base;
function MeModel (method, resource, graft) {
BaseModel.call(this, 'me');
function MeModel (method, resource, config) {
Base.call(this, 'me');
this.Constructor = MeModel;
return this.create(method, resource, graft)
return this.create(method, resource, config)
.then(() => {
if (this.has('results')) {
_.merge(this.model.GET, this.get('results[0]'));
@ -16,8 +16,8 @@ function MeModel (method, resource, graft) {
});
}
function MeModelLoader (_BaseModel_) {
BaseModel = _BaseModel_;
function MeModelLoader (BaseModel) {
Base = BaseModel;
return MeModel;
}

View File

@ -1,28 +1,21 @@
let BaseModel;
let ModelsStrings;
let Base;
function OrganizationModel (method, resource, graft) {
BaseModel.call(this, 'organizations');
function OrganizationModel (method, resource, config) {
Base.call(this, 'organizations');
this.Constructor = OrganizationModel;
this.label = ModelsStrings.get('labels.ORGANIZATION');
return this.create(method, resource, graft);
return this.create(method, resource, config);
}
function OrganizationModelLoader (
_BaseModel_,
_ModelsStrings_
) {
BaseModel = _BaseModel_;
ModelsStrings = _ModelsStrings_;
function OrganizationModelLoader (BaseModel) {
Base = BaseModel;
return OrganizationModel;
}
OrganizationModelLoader.$inject = [
'BaseModel',
'ModelsStrings'
'BaseModel'
];
export default OrganizationModelLoader;

View File

@ -1,25 +1,24 @@
let BaseModel;
let JobTemplateModel;
let WorkflowJobTemplateNodeModel;
let InventorySourceModel;
let ModelsStrings;
let Base;
let JobTemplate;
let WorkflowJobTemplateNode;
let InventorySource;
function setDependentResources (id) {
this.dependentResources = [
{
model: new JobTemplateModel(),
model: new JobTemplate(),
params: {
project: id
}
},
{
model: new WorkflowJobTemplateNodeModel(),
model: new WorkflowJobTemplateNode(),
params: {
unified_job_template: id
}
},
{
model: new InventorySourceModel(),
model: new InventorySource(),
params: {
source_project: id
}
@ -27,28 +26,25 @@ function setDependentResources (id) {
];
}
function ProjectModel (method, resource, graft) {
BaseModel.call(this, 'projects');
function ProjectModel (method, resource, config) {
Base.call(this, 'projects');
this.Constructor = ProjectModel;
this.setDependentResources = setDependentResources.bind(this);
this.label = ModelsStrings.get('labels.PROJECT');
return this.create(method, resource, graft);
return this.create(method, resource, config);
}
function ProjectModelLoader (
_BaseModel_,
_JobTemplateModel_,
_WorkflowJobTemplateNodeModel_,
_InventorySourceModel_,
_ModelsStrings_
BaseModel,
JobTemplateModel,
WorkflowJobTemplateNodeModel,
InventorySourceModel,
) {
BaseModel = _BaseModel_;
JobTemplateModel = _JobTemplateModel_;
WorkflowJobTemplateNodeModel = _WorkflowJobTemplateNodeModel_;
InventorySourceModel = _InventorySourceModel_;
ModelsStrings = _ModelsStrings_;
Base = BaseModel;
JobTemplate = JobTemplateModel;
WorkflowJobTemplateNode = WorkflowJobTemplateNodeModel;
InventorySource = InventorySourceModel;
return ProjectModel;
}
@ -57,8 +53,7 @@ ProjectModelLoader.$inject = [
'BaseModel',
'JobTemplateModel',
'WorkflowJobTemplateNodeModel',
'InventorySourceModel',
'ModelsStrings'
'InventorySourceModel'
];
export default ProjectModelLoader;

View File

@ -1,28 +1,21 @@
let BaseModel;
let ModelsStrings;
let Base;
function WorkflowJobTemplateNodeModel (method, resource, graft) {
BaseModel.call(this, 'workflow_job_template_nodes');
function WorkflowJobTemplateNodeModel (method, resource, config) {
Base.call(this, 'workflow_job_template_nodes');
this.Constructor = WorkflowJobTemplateNodeModel;
this.label = ModelsStrings.get('labels.WORKFLOW_JOB_TEMPLATE_NODE');
return this.create(method, resource, graft);
return this.create(method, resource, config);
}
function WorkflowJobTemplateNodeModelLoader (
_BaseModel_,
_ModelsStrings_
) {
BaseModel = _BaseModel_;
ModelsStrings = _ModelsStrings_;
function WorkflowJobTemplateNodeModelLoader (BaseModel) {
Base = BaseModel;
return WorkflowJobTemplateNodeModel;
}
WorkflowJobTemplateNodeModelLoader.$inject = [
'BaseModel',
'ModelsStrings'
'BaseModel'
];
export default WorkflowJobTemplateNodeModelLoader;

View File

@ -4,16 +4,46 @@ function ModelsStrings (BaseString) {
const { t } = this;
const ns = this.models;
ns.labels = {
CREDENTIAL: t.s('Credentials'),
CREDENTIAL_TYPE: t.s('Credential Types'),
INVENTORY: t.s('Inventories'),
INVENTORY_SCRIPT: t.s('Inventory Scripts'),
INVENTORY_SOURCE: t.s('Inventory Sources'),
JOB_TEMPLATE: t.s('Job Templates'),
ORGANIZATION: t.s('Organizations'),
PROJECT: t.s('Projects'),
WORKFLOW_JOB_TEMPLATE_NODE: t.s('Workflow Job Template Nodes')
ns.credentials = {
LABEL: t.s('Credentials')
};
ns.credential_types = {
LABEL: t.s('Credential Types')
};
ns.inventories = {
LABEL: t.s('Inventories')
};
ns.inventory_scripts = {
LABEL: t.s('Inventory Scripts')
};
ns.inventory_sources = {
LABEL: t.s('Inventory Sources')
};
ns.job_templates = {
LABEL: t.s('Job Templates')
};
ns.organizations = {
LABEL: t.s('Organizations')
};
ns.projects = {
LABEL: t.s('Projects')
};
ns.workflow_job_template_nodes = {
LABEL: t.s('Workflow Job Template Nodes')
};
}

View File

@ -4,7 +4,6 @@ let i18n;
function BaseStringService (namespace) {
const ERROR_NO_NAMESPACE = 'BaseString cannot be extended without providing a namespace';
const ERROR_NO_STRING = 'No string exists with this name';
if (!namespace) {
throw new Error(ERROR_NO_NAMESPACE);
@ -67,8 +66,6 @@ function BaseStringService (namespace) {
* the more globally relevant strings defined here. Strings with with dots as delimeters are
* supported to give flexibility to extending classes to nest strings as necessary.
*
* If no match is found, an error is thrown to alert the developer immediately instead of
* failing silently.
*
* The `t.s` and `t.p` calls should only be used where strings are defined in
* <name>.strings.js` files. To use translated strings elsewhere, access them through this
@ -88,13 +85,13 @@ function BaseStringService (namespace) {
} else {
value = value[key];
}
if (!value) {
throw new Error(`${ERROR_NO_STRING}: ${name}`);
}
});
return typeof value === 'string' ? value : value(...args);
if (!value || typeof value === 'string') {
return value;
}
return value(...args);
};
}