Skip to content

Allow crossreferencing of labels between fields and presets #162

@Dimitar5555

Description

@Dimitar5555

Simply having {preset/....} or {field/....} should allow to use the respective label. If the keywords (preset/field) aren't present, the script should default to the translation of the current item.

Such change would require changes in two places and could be taken out in a separate function.

https://github.com/ideditor/schema-builder/blob/main/lib/build.js#L529-L531

https://github.com/ideditor/schema-builder/blob/main/lib/build.js#L566-L568

function fetchLabel(label, type, tstrings) {
	label = label.slice(1, -1);
	let separated = label.split('/');
	let labelType = separated.shift();
	let searchIn = tstrings[type];
	let labelAccessName  = type=='preset'?'name':'label';
	if(['preset', 'field'].indexOf(labelType) != -1) {
		searchIn = tstring[labelType];
		labelAccessName  = labelType=='preset'?'name':'label';
	}
	return searchIn[label][labelAccessName];
}

P.S. It might be a good idea for presets to have label instead of name, at least for consistency.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions