mirror of
https://github.com/ansible/awx.git
synced 2026-04-10 04:29:21 -02:30
Update the base model to use string service instead of each sub model
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
let $http;
|
let $http;
|
||||||
let $q;
|
let $q;
|
||||||
let cache;
|
let cache;
|
||||||
|
let strings;
|
||||||
|
|
||||||
function request (method, resource, config) {
|
function request (method, resource, config) {
|
||||||
let req = this.parseRequestConfig(method, resource, config);
|
let req = this.parseRequestConfig(method, resource, config);
|
||||||
@@ -473,14 +474,14 @@ function parseRequestConfig (method, resource, config) {
|
|||||||
/**
|
/**
|
||||||
* Base functionality for API interaction.
|
* 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.
|
* use.
|
||||||
* @arg {Object=} settings - Configuration applied to all instances of the
|
* @arg {Object=} settings - Configuration applied to all instances of the
|
||||||
* extending model.
|
* extending model.
|
||||||
* @arg {boolean=} settings.cache - Cache the model data.
|
* @arg {boolean=} settings.cache - Cache the model data.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
function BaseModel (path, settings) {
|
function BaseModel (resource, settings) {
|
||||||
this.create = create;
|
this.create = create;
|
||||||
this.find = find;
|
this.find = find;
|
||||||
this.get = get;
|
this.get = get;
|
||||||
@@ -511,18 +512,20 @@ function BaseModel (path, settings) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
this.model = {};
|
this.model = {};
|
||||||
this.path = this.normalizePath(path);
|
this.path = this.normalizePath(resource);
|
||||||
|
this.label = strings.get(`${resource}.LABEL`);
|
||||||
this.settings = settings || {};
|
this.settings = settings || {};
|
||||||
}
|
}
|
||||||
|
|
||||||
function BaseModelLoader (_$http_, _$q_, _cache_) {
|
function BaseModelLoader (_$http_, _$q_, _cache_, ModelsStrings) {
|
||||||
$http = _$http_;
|
$http = _$http_;
|
||||||
$q = _$q_;
|
$q = _$q_;
|
||||||
cache = _cache_;
|
cache = _cache_;
|
||||||
|
strings = ModelsStrings;
|
||||||
|
|
||||||
return BaseModel;
|
return BaseModel;
|
||||||
}
|
}
|
||||||
|
|
||||||
BaseModelLoader.$inject = ['$http', '$q', 'CacheService'];
|
BaseModelLoader.$inject = ['$http', '$q', 'CacheService', 'ModelsStrings'];
|
||||||
|
|
||||||
export default BaseModelLoader;
|
export default BaseModelLoader;
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ let Project;
|
|||||||
let JobTemplate;
|
let JobTemplate;
|
||||||
let Inventory;
|
let Inventory;
|
||||||
let InventorySource;
|
let InventorySource;
|
||||||
let strings;
|
|
||||||
|
|
||||||
function createFormSchema (method, config) {
|
function createFormSchema (method, config) {
|
||||||
if (!config) {
|
if (!config) {
|
||||||
@@ -82,7 +81,6 @@ function CredentialModel (method, resource, config) {
|
|||||||
this.createFormSchema = createFormSchema.bind(this);
|
this.createFormSchema = createFormSchema.bind(this);
|
||||||
this.assignInputGroupValues = assignInputGroupValues.bind(this);
|
this.assignInputGroupValues = assignInputGroupValues.bind(this);
|
||||||
this.setDependentResources = setDependentResources.bind(this);
|
this.setDependentResources = setDependentResources.bind(this);
|
||||||
this.label = strings.get('labels.CREDENTIAL');
|
|
||||||
|
|
||||||
return this.create(method, resource, config);
|
return this.create(method, resource, config);
|
||||||
}
|
}
|
||||||
@@ -92,15 +90,13 @@ function CredentialModelLoader (
|
|||||||
ProjectModel,
|
ProjectModel,
|
||||||
JobTemplateModel,
|
JobTemplateModel,
|
||||||
InventoryModel,
|
InventoryModel,
|
||||||
InventorySourceModel,
|
InventorySourceModel
|
||||||
ModelsStrings
|
|
||||||
) {
|
) {
|
||||||
Base = BaseModel;
|
Base = BaseModel;
|
||||||
Project = ProjectModel;
|
Project = ProjectModel;
|
||||||
JobTemplate = JobTemplateModel;
|
JobTemplate = JobTemplateModel;
|
||||||
Inventory = InventoryModel;
|
Inventory = InventoryModel;
|
||||||
InventorySource = InventorySourceModel;
|
InventorySource = InventorySourceModel;
|
||||||
strings = ModelsStrings;
|
|
||||||
|
|
||||||
return CredentialModel;
|
return CredentialModel;
|
||||||
}
|
}
|
||||||
@@ -110,8 +106,7 @@ CredentialModelLoader.$inject = [
|
|||||||
'ProjectModel',
|
'ProjectModel',
|
||||||
'JobTemplateModel',
|
'JobTemplateModel',
|
||||||
'InventoryModel',
|
'InventoryModel',
|
||||||
'InventorySourceModel',
|
'InventorySourceModel'
|
||||||
'ModelsStrings'
|
|
||||||
];
|
];
|
||||||
|
|
||||||
export default CredentialModelLoader;
|
export default CredentialModelLoader;
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
let Base;
|
let Base;
|
||||||
let Credential;
|
let Credential;
|
||||||
let strings;
|
|
||||||
|
|
||||||
function categorizeByKind () {
|
function categorizeByKind () {
|
||||||
const group = {};
|
const group = {};
|
||||||
@@ -50,27 +49,20 @@ function CredentialTypeModel (method, resource, config) {
|
|||||||
this.categorizeByKind = categorizeByKind.bind(this);
|
this.categorizeByKind = categorizeByKind.bind(this);
|
||||||
this.mergeInputProperties = mergeInputProperties.bind(this);
|
this.mergeInputProperties = mergeInputProperties.bind(this);
|
||||||
this.setDependentResources = setDependentResources.bind(this);
|
this.setDependentResources = setDependentResources.bind(this);
|
||||||
this.label = strings.get('labels.CREDENTIAL_TYPE');
|
|
||||||
|
|
||||||
return this.create(method, resource, config);
|
return this.create(method, resource, config);
|
||||||
}
|
}
|
||||||
|
|
||||||
function CredentialTypeModelLoader (
|
function CredentialTypeModelLoader (BaseModel, CredentialModel) {
|
||||||
BaseModel,
|
|
||||||
CredentialModel,
|
|
||||||
ModelsStrings
|
|
||||||
) {
|
|
||||||
Base = BaseModel;
|
Base = BaseModel;
|
||||||
Credential = CredentialModel;
|
Credential = CredentialModel;
|
||||||
strings = ModelsStrings;
|
|
||||||
|
|
||||||
return CredentialTypeModel;
|
return CredentialTypeModel;
|
||||||
}
|
}
|
||||||
|
|
||||||
CredentialTypeModelLoader.$inject = [
|
CredentialTypeModelLoader.$inject = [
|
||||||
'BaseModel',
|
'BaseModel',
|
||||||
'CredentialModel',
|
'CredentialModel'
|
||||||
'ModelsStrings'
|
|
||||||
];
|
];
|
||||||
|
|
||||||
export default CredentialTypeModelLoader;
|
export default CredentialTypeModelLoader;
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
let Base;
|
let Base;
|
||||||
let JobTemplate;
|
let JobTemplate;
|
||||||
let strings;
|
|
||||||
|
|
||||||
function setDependentResources (id) {
|
function setDependentResources (id) {
|
||||||
this.dependentResources = [
|
this.dependentResources = [
|
||||||
@@ -18,27 +17,20 @@ function InventoryModel (method, resource, config) {
|
|||||||
|
|
||||||
this.Constructor = InventoryModel;
|
this.Constructor = InventoryModel;
|
||||||
this.setDependentResources = setDependentResources.bind(this);
|
this.setDependentResources = setDependentResources.bind(this);
|
||||||
this.label = strings.get('labels.INVENTORY');
|
|
||||||
|
|
||||||
return this.create(method, resource, config);
|
return this.create(method, resource, config);
|
||||||
}
|
}
|
||||||
|
|
||||||
function InventoryModelLoader (
|
function InventoryModelLoader (BaseModel, JobTemplateModel) {
|
||||||
BaseModel,
|
|
||||||
JobTemplateModel,
|
|
||||||
ModelsStrings
|
|
||||||
) {
|
|
||||||
Base = BaseModel;
|
Base = BaseModel;
|
||||||
JobTemplate = JobTemplateModel;
|
JobTemplate = JobTemplateModel;
|
||||||
strings = ModelsStrings;
|
|
||||||
|
|
||||||
return InventoryModel;
|
return InventoryModel;
|
||||||
}
|
}
|
||||||
|
|
||||||
InventoryModelLoader.$inject = [
|
InventoryModelLoader.$inject = [
|
||||||
'BaseModel',
|
'BaseModel',
|
||||||
'JobTemplateModel',
|
'JobTemplateModel'
|
||||||
'ModelsStrings'
|
|
||||||
];
|
];
|
||||||
|
|
||||||
export default InventoryModelLoader;
|
export default InventoryModelLoader;
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
let Base;
|
let Base;
|
||||||
let InventorySource;
|
let InventorySource;
|
||||||
let strings;
|
|
||||||
|
|
||||||
function setDependentResources (id) {
|
function setDependentResources (id) {
|
||||||
this.dependentResources = [
|
this.dependentResources = [
|
||||||
@@ -18,27 +17,20 @@ function InventoryScriptModel (method, resource, config) {
|
|||||||
|
|
||||||
this.Constructor = InventoryScriptModel;
|
this.Constructor = InventoryScriptModel;
|
||||||
this.setDependentResources = setDependentResources.bind(this);
|
this.setDependentResources = setDependentResources.bind(this);
|
||||||
this.label = strings.get('labels.INVENTORY_SCRIPT');
|
|
||||||
|
|
||||||
return this.create(method, resource, config);
|
return this.create(method, resource, config);
|
||||||
}
|
}
|
||||||
|
|
||||||
function InventoryScriptModelLoader (
|
function InventoryScriptModelLoader (BaseModel, InventorySourceModel) {
|
||||||
BaseModel,
|
|
||||||
InventorySourceModel,
|
|
||||||
ModelsStrings
|
|
||||||
) {
|
|
||||||
Base = BaseModel;
|
Base = BaseModel;
|
||||||
InventorySource = InventorySourceModel;
|
InventorySource = InventorySourceModel;
|
||||||
strings = ModelsStrings;
|
|
||||||
|
|
||||||
return InventoryScriptModel;
|
return InventoryScriptModel;
|
||||||
}
|
}
|
||||||
|
|
||||||
InventoryScriptModelLoader.$inject = [
|
InventoryScriptModelLoader.$inject = [
|
||||||
'BaseModel',
|
'BaseModel',
|
||||||
'InventorySourceModel',
|
'InventorySourceModel'
|
||||||
'ModelsStrings'
|
|
||||||
];
|
];
|
||||||
|
|
||||||
export default InventoryScriptModelLoader;
|
export default InventoryScriptModelLoader;
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
let Base;
|
let Base;
|
||||||
let WorkflowJobTemplateNode;
|
let WorkflowJobTemplateNode;
|
||||||
let strings;
|
|
||||||
|
|
||||||
function setDependentResources (id) {
|
function setDependentResources (id) {
|
||||||
this.dependentResources = [
|
this.dependentResources = [
|
||||||
@@ -17,7 +16,6 @@ function InventorySourceModel (method, resource, config) {
|
|||||||
Base.call(this, 'inventory_sources');
|
Base.call(this, 'inventory_sources');
|
||||||
|
|
||||||
this.Constructor = InventorySourceModel;
|
this.Constructor = InventorySourceModel;
|
||||||
this.label = strings.get('labels.INVENTORY_SOURCE');
|
|
||||||
this.setDependentResources = setDependentResources.bind(this);
|
this.setDependentResources = setDependentResources.bind(this);
|
||||||
|
|
||||||
return this.create(method, resource, config);
|
return this.create(method, resource, config);
|
||||||
@@ -25,20 +23,17 @@ function InventorySourceModel (method, resource, config) {
|
|||||||
|
|
||||||
function InventorySourceModelLoader (
|
function InventorySourceModelLoader (
|
||||||
BaseModel,
|
BaseModel,
|
||||||
WorkflowJobTemplateNodeModel,
|
WorkflowJobTemplateNodeModel
|
||||||
ModelsStrings
|
|
||||||
) {
|
) {
|
||||||
Base = BaseModel;
|
Base = BaseModel;
|
||||||
WorkflowJobTemplateNode = WorkflowJobTemplateNodeModel;
|
WorkflowJobTemplateNode = WorkflowJobTemplateNodeModel;
|
||||||
strings = ModelsStrings;
|
|
||||||
|
|
||||||
return InventorySourceModel;
|
return InventorySourceModel;
|
||||||
}
|
}
|
||||||
|
|
||||||
InventorySourceModelLoader.$inject = [
|
InventorySourceModelLoader.$inject = [
|
||||||
'BaseModel',
|
'BaseModel',
|
||||||
'WorkflowJobTemplateNodeModel',
|
'WorkflowJobTemplateNodeModel'
|
||||||
'ModelsStrings'
|
|
||||||
];
|
];
|
||||||
|
|
||||||
export default InventorySourceModelLoader;
|
export default InventorySourceModelLoader;
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
let Base;
|
let Base;
|
||||||
let WorkflowJobTemplateNode;
|
let WorkflowJobTemplateNode;
|
||||||
let strings;
|
|
||||||
|
|
||||||
function setDependentResources (id) {
|
function setDependentResources (id) {
|
||||||
this.dependentResources = [
|
this.dependentResources = [
|
||||||
@@ -18,27 +17,20 @@ function JobTemplateModel (method, resource, config) {
|
|||||||
|
|
||||||
this.Constructor = JobTemplateModel;
|
this.Constructor = JobTemplateModel;
|
||||||
this.setDependentResources = setDependentResources.bind(this);
|
this.setDependentResources = setDependentResources.bind(this);
|
||||||
this.label = strings.get('labels.JOB_TEMPLATE');
|
|
||||||
|
|
||||||
return this.create(method, resource, config);
|
return this.create(method, resource, config);
|
||||||
}
|
}
|
||||||
|
|
||||||
function JobTemplateModelLoader (
|
function JobTemplateModelLoader (BaseModel, WorkflowJobTemplateNodeModel) {
|
||||||
BaseModel,
|
|
||||||
WorkflowJobTemplateNodeModel,
|
|
||||||
ModelsStrings
|
|
||||||
) {
|
|
||||||
Base = BaseModel;
|
Base = BaseModel;
|
||||||
WorkflowJobTemplateNode = WorkflowJobTemplateNodeModel;
|
WorkflowJobTemplateNode = WorkflowJobTemplateNodeModel;
|
||||||
strings = ModelsStrings;
|
|
||||||
|
|
||||||
return JobTemplateModel;
|
return JobTemplateModel;
|
||||||
}
|
}
|
||||||
|
|
||||||
JobTemplateModelLoader.$inject = [
|
JobTemplateModelLoader.$inject = [
|
||||||
'BaseModel',
|
'BaseModel',
|
||||||
'WorkflowJobTemplateNodeModel',
|
'WorkflowJobTemplateNodeModel'
|
||||||
'ModelsStrings'
|
|
||||||
];
|
];
|
||||||
|
|
||||||
export default JobTemplateModelLoader;
|
export default JobTemplateModelLoader;
|
||||||
|
|||||||
@@ -1,28 +1,21 @@
|
|||||||
let Base;
|
let Base;
|
||||||
let strings;
|
|
||||||
|
|
||||||
function OrganizationModel (method, resource, config) {
|
function OrganizationModel (method, resource, config) {
|
||||||
Base.call(this, 'organizations');
|
Base.call(this, 'organizations');
|
||||||
|
|
||||||
this.Constructor = OrganizationModel;
|
this.Constructor = OrganizationModel;
|
||||||
this.label = strings.get('labels.ORGANIZATION');
|
|
||||||
|
|
||||||
return this.create(method, resource, config);
|
return this.create(method, resource, config);
|
||||||
}
|
}
|
||||||
|
|
||||||
function OrganizationModelLoader (
|
function OrganizationModelLoader (BaseModel) {
|
||||||
BaseModel,
|
|
||||||
ModelsStrings
|
|
||||||
) {
|
|
||||||
Base = BaseModel;
|
Base = BaseModel;
|
||||||
strings = ModelsStrings;
|
|
||||||
|
|
||||||
return OrganizationModel;
|
return OrganizationModel;
|
||||||
}
|
}
|
||||||
|
|
||||||
OrganizationModelLoader.$inject = [
|
OrganizationModelLoader.$inject = [
|
||||||
'BaseModel',
|
'BaseModel'
|
||||||
'ModelsStrings'
|
|
||||||
];
|
];
|
||||||
|
|
||||||
export default OrganizationModelLoader;
|
export default OrganizationModelLoader;
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ let Base;
|
|||||||
let JobTemplate;
|
let JobTemplate;
|
||||||
let WorkflowJobTemplateNode;
|
let WorkflowJobTemplateNode;
|
||||||
let InventorySource;
|
let InventorySource;
|
||||||
let strings;
|
|
||||||
|
|
||||||
function setDependentResources (id) {
|
function setDependentResources (id) {
|
||||||
this.dependentResources = [
|
this.dependentResources = [
|
||||||
@@ -32,7 +31,6 @@ function ProjectModel (method, resource, config) {
|
|||||||
|
|
||||||
this.Constructor = ProjectModel;
|
this.Constructor = ProjectModel;
|
||||||
this.setDependentResources = setDependentResources.bind(this);
|
this.setDependentResources = setDependentResources.bind(this);
|
||||||
this.label = strings.get('labels.PROJECT');
|
|
||||||
|
|
||||||
return this.create(method, resource, config);
|
return this.create(method, resource, config);
|
||||||
}
|
}
|
||||||
@@ -42,13 +40,11 @@ function ProjectModelLoader (
|
|||||||
JobTemplateModel,
|
JobTemplateModel,
|
||||||
WorkflowJobTemplateNodeModel,
|
WorkflowJobTemplateNodeModel,
|
||||||
InventorySourceModel,
|
InventorySourceModel,
|
||||||
ModelsStrings
|
|
||||||
) {
|
) {
|
||||||
Base = BaseModel;
|
Base = BaseModel;
|
||||||
JobTemplate = JobTemplateModel;
|
JobTemplate = JobTemplateModel;
|
||||||
WorkflowJobTemplateNode = WorkflowJobTemplateNodeModel;
|
WorkflowJobTemplateNode = WorkflowJobTemplateNodeModel;
|
||||||
InventorySource = InventorySourceModel;
|
InventorySource = InventorySourceModel;
|
||||||
strings = ModelsStrings;
|
|
||||||
|
|
||||||
return ProjectModel;
|
return ProjectModel;
|
||||||
}
|
}
|
||||||
@@ -57,8 +53,7 @@ ProjectModelLoader.$inject = [
|
|||||||
'BaseModel',
|
'BaseModel',
|
||||||
'JobTemplateModel',
|
'JobTemplateModel',
|
||||||
'WorkflowJobTemplateNodeModel',
|
'WorkflowJobTemplateNodeModel',
|
||||||
'InventorySourceModel',
|
'InventorySourceModel'
|
||||||
'ModelsStrings'
|
|
||||||
];
|
];
|
||||||
|
|
||||||
export default ProjectModelLoader;
|
export default ProjectModelLoader;
|
||||||
|
|||||||
@@ -1,28 +1,21 @@
|
|||||||
let Base;
|
let Base;
|
||||||
let strings;
|
|
||||||
|
|
||||||
function WorkflowJobTemplateNodeModel (method, resource, config) {
|
function WorkflowJobTemplateNodeModel (method, resource, config) {
|
||||||
Base.call(this, 'workflow_job_template_nodes');
|
Base.call(this, 'workflow_job_template_nodes');
|
||||||
|
|
||||||
this.Constructor = WorkflowJobTemplateNodeModel;
|
this.Constructor = WorkflowJobTemplateNodeModel;
|
||||||
this.label = strings.get('labels.WORKFLOW_JOB_TEMPLATE_NODE');
|
|
||||||
|
|
||||||
return this.create(method, resource, config);
|
return this.create(method, resource, config);
|
||||||
}
|
}
|
||||||
|
|
||||||
function WorkflowJobTemplateNodeModelLoader (
|
function WorkflowJobTemplateNodeModelLoader (BaseModel) {
|
||||||
BaseModel,
|
|
||||||
ModelsStrings
|
|
||||||
) {
|
|
||||||
Base = BaseModel;
|
Base = BaseModel;
|
||||||
strings = ModelsStrings;
|
|
||||||
|
|
||||||
return WorkflowJobTemplateNodeModel;
|
return WorkflowJobTemplateNodeModel;
|
||||||
}
|
}
|
||||||
|
|
||||||
WorkflowJobTemplateNodeModelLoader.$inject = [
|
WorkflowJobTemplateNodeModelLoader.$inject = [
|
||||||
'BaseModel',
|
'BaseModel'
|
||||||
'ModelsStrings'
|
|
||||||
];
|
];
|
||||||
|
|
||||||
export default WorkflowJobTemplateNodeModelLoader;
|
export default WorkflowJobTemplateNodeModelLoader;
|
||||||
|
|||||||
@@ -4,16 +4,46 @@ function ModelsStrings (BaseString) {
|
|||||||
const { t } = this;
|
const { t } = this;
|
||||||
const ns = this.models;
|
const ns = this.models;
|
||||||
|
|
||||||
ns.labels = {
|
ns.credentials = {
|
||||||
CREDENTIAL: t.s('Credentials'),
|
LABEL: t.s('Credentials')
|
||||||
CREDENTIAL_TYPE: t.s('Credential Types'),
|
};
|
||||||
INVENTORY: t.s('Inventories'),
|
|
||||||
INVENTORY_SCRIPT: t.s('Inventory Scripts'),
|
ns.credential_types = {
|
||||||
INVENTORY_SOURCE: t.s('Inventory Sources'),
|
LABEL: t.s('Credential Types')
|
||||||
JOB_TEMPLATE: t.s('Job Templates'),
|
};
|
||||||
ORGANIZATION: t.s('Organizations'),
|
|
||||||
PROJECT: t.s('Projects'),
|
ns.inventories = {
|
||||||
WORKFLOW_JOB_TEMPLATE_NODE: t.s('Workflow Job Template Nodes')
|
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')
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ let i18n;
|
|||||||
|
|
||||||
function BaseStringService (namespace) {
|
function BaseStringService (namespace) {
|
||||||
const ERROR_NO_NAMESPACE = 'BaseString cannot be extended without providing a 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) {
|
if (!namespace) {
|
||||||
throw new Error(ERROR_NO_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
|
* 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.
|
* 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
|
* 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
|
* <name>.strings.js` files. To use translated strings elsewhere, access them through this
|
||||||
@@ -88,13 +85,13 @@ function BaseStringService (namespace) {
|
|||||||
} else {
|
} else {
|
||||||
value = value[key];
|
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);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user