Fix apply bonus parameters

This commit is contained in:
Misode
2019-10-05 16:11:50 +02:00
parent 73c648f6a7
commit 25171ef593
2 changed files with 15 additions and 6 deletions
+1 -1
View File
@@ -150,7 +150,7 @@ function getPath(el) {
let index = $node.attr('data-index');
if (index === 'table') return [];
let parent = getPath($node.parent());
parent.push(index);
parent = parent.concat(index.split('.'));
return parent;
}
+14 -5
View File
@@ -337,7 +337,7 @@ function generateObject(data, struct, header) {
$field = generateError('Failed generating "' + field.id + '" field');
}
if ($field !== false) {
validFields.push(field.id);
validFields.push(field.id.split('.')[0]);
if (field.type === 'array') {
let color = field.color;
if (color === undefined) {
@@ -394,15 +394,24 @@ function generateField(data, field, parent) {
}
let $field;
if (data[field.id] === undefined) {
let componentData = data;
let childs = field.id.split('.');
if (childs.length > 1) {
componentData = componentData[childs[0]];
if (componentData === undefined) {
componentData = {};
}
childs.shift();
}
if (componentData === undefined) {
if (field.type === 'object') {
data[field.id] = {};
componentData[childs[0]] = {};
} else if (field.type === 'enum' && field.default) {
data[field.id] = field.default;
componentData[childs[0]] = field.default;
}
}
try {
$field = generateComponent(data[field.id], field);
$field = generateComponent(componentData[childs[0]], field);
} catch (e) {
console.error(e);
$field = generateError('Failed generating "' + field.id + '" component');