fix multivalue issue of not appearing when no attribute has been saved yet

This commit is contained in:
azivner 2018-08-13 15:58:37 +02:00
parent 3424406ff1
commit b0ed790edf

View file

@ -262,25 +262,26 @@ async function loadAttributes() {
if (definition.labelType === 'text') { if (definition.labelType === 'text') {
$input.prop("type", "text"); $input.prop("type", "text");
const attributeValues = await server.get('attributes/values/' + encodeURIComponent(valueAttr.name)); // no need to await for this, can be done asynchronously
server.get('attributes/values/' + encodeURIComponent(valueAttr.name)).then(attributeValues => {
if (attributeValues.length === 0) {
return;
}
if (attributeValues.length === 0) { $input.autocomplete({
return; // shouldn't be required and autocomplete should just accept array of strings, but that fails
} // because we have overriden filter() function in autocomplete.js
source: attributeValues.map(attribute => {
return {
attribute: attribute,
value: attribute
}
}),
minLength: 0
});
$input.autocomplete({ $input.focus(() => $input.autocomplete("search", ""));
// shouldn't be required and autocomplete should just accept array of strings, but that fails
// because we have overriden filter() function in autocomplete.js
source: attributeValues.map(attribute => {
return {
attribute: attribute,
value: attribute
}
}),
minLength: 0
}); });
$input.focus(() => $input.autocomplete("search", ""));
} }
else if (definition.labelType === 'number') { else if (definition.labelType === 'number') {
$input.prop("type", "number"); $input.prop("type", "number");
@ -352,6 +353,7 @@ async function loadAttributes() {
$multiplicityCell.append(addButton).append("   ").append(removeButton); $multiplicityCell.append(addButton).append("   ").append(removeButton);
} }
return $tr; return $tr;
} }