Add "AND" condition (#57)

* Add "AND" condition

* Fix
This commit is contained in:
Misode
2019-12-30 03:01:44 +01:00
committed by GitHub
parent 7e254df910
commit 01a04c11f6
3 changed files with 27 additions and 4 deletions

View File

@@ -348,6 +348,15 @@ function generateArray(data, struct) {
function generateObject(data, struct, options) {
let out = {};
if (struct.id === 'condition' && data.condition === 'minecraft:requirements') {
out = {
condition: "minecraft:inverted",
term: {
condition: "minecraft:alternative",
terms: []
}
};
}
let $el = $('<div/>').addClass('mt-3');
let $header = $('<div/>');
let $body = $('<div/>');
@@ -407,7 +416,18 @@ function generateObject(data, struct, options) {
({out: outValue, component: $field} = generateError('Failed generating "' + field.id + '" field'));
}
if ($field !== false) {
out[field.id] = outValue;
if (struct.id === 'condition' && data.condition === 'minecraft:requirements') {
if (field.id === 'terms' && outValue) {
for (let term of outValue) {
out.term.terms.push({
condition: 'minecraft:inverted',
term: term
});
}
}
} else {
out[field.id] = outValue;
}
if (field.type === 'array') {
let color = field.color || components.find(e => e.id === field.values).color;
let $button = $('<button type="button" class="btn btn-' + color + ' mr-3" onclick="addComponent(this, \'' + field.id + '\')" data-i18n="' + field.translate + '_add"></button>');