tweaks / dropdown fix

This commit is contained in:
David Back 2018-10-11 14:25:06 -07:00
parent 4c4949149a
commit 62c5fb8e2e

View file

@ -1383,7 +1383,7 @@ function createColorProperty(property, elProperty, elLabel) {
return [elColorPicker, elInputR, elInputG, elInputB]; return [elColorPicker, elInputR, elInputG, elInputB];
} }
function createDropdownProperty(property, elProperty, elLabel) { function createDropdownProperty(property, propertyID, elProperty, elLabel) {
let propertyName = property.name; let propertyName = property.name;
let elementID = property.elementID; let elementID = property.elementID;
let propertyData = property.data; let propertyData = property.data;
@ -1392,7 +1392,7 @@ function createDropdownProperty(property, elProperty, elLabel) {
let elInput = document.createElement('select'); let elInput = document.createElement('select');
elInput.setAttribute("id", elementID); elInput.setAttribute("id", elementID);
elInput.setAttribute("propertyID", propertyData.propertyID); elInput.setAttribute("propertyID", propertyID);
for (let optionKey in propertyData.options) { for (let optionKey in propertyData.options) {
let option = document.createElement('option'); let option = document.createElement('option');
@ -2015,7 +2015,7 @@ function bindAllNonJSONEditorElements() {
} }
// DROPDOWNS / TEXTAREAS / PARENT MATERIAL NAME FUNCTIONS // DROPDOWN FUNCTIONS
function setDropdownText(dropdown) { function setDropdownText(dropdown) {
let lis = dropdown.parentNode.getElementsByTagName("li"); let lis = dropdown.parentNode.getElementsByTagName("li");
@ -2050,6 +2050,9 @@ function setDropdownValue(event) {
dt.dispatchEvent(evt); dt.dispatchEvent(evt);
} }
// TEXTAREA / PARENT MATERIAL NAME FUNCTIONS
function setTextareaScrolling(element) { function setTextareaScrolling(element) {
var isScrolling = element.scrollHeight > element.offsetHeight; var isScrolling = element.scrollHeight > element.offsetHeight;
element.setAttribute("scrolling", isScrolling ? "true" : "false"); element.setAttribute("scrolling", isScrolling ? "true" : "false");
@ -2169,7 +2172,7 @@ function loaded() {
break; break;
} }
case 'dropdown': { case 'dropdown': {
properties[propertyID].el = createDropdownProperty(property, elProperty, elLabel); properties[propertyID].el = createDropdownProperty(property, propertyID, elProperty, elLabel);
break; break;
} }
case 'textarea': { case 'textarea': {
@ -2252,10 +2255,6 @@ function loaded() {
} }
resetProperties(); resetProperties();
getPropertyElement("type")[0].style.display = "none";
getPropertyElement("type")[1].innerHTML = NO_SELECTION;
elPropertiesList.className = '';
showGroupsForType("None"); showGroupsForType("None");
deleteJSONEditor(); deleteJSONEditor();
@ -2297,17 +2296,20 @@ function loaded() {
} }
resetProperties(); resetProperties();
getPropertyElement("type")[0].innerHTML = ICON_FOR_TYPE[type];
getPropertyElement("type")[0].style.display = "inline-block";
getPropertyElement("type")[1].innerHTML = type + " (" + data.selections.length + ")";
elPropertiesList.className = '';
showGroupsForType(type); showGroupsForType(type);
let typeProperty = properties["type"];
let elTypeProperty = typeProperty.el;
elTypeProperty[0].innerHTML = typeProperty.data.icons[type];
elTypeProperty[0].style.display = "inline-block";
elTypeProperty[1].innerHTML = type + " (" + data.selections.length + ")";
disableProperties(); disableProperties();
} else { } else {
selectedEntityProperties = data.selections[0].properties; selectedEntityProperties = data.selections[0].properties;
showGroupsForType(selectedEntityProperties.type);
if (lastEntityID !== '"' + selectedEntityProperties.id + '"' && lastEntityID !== null) { if (lastEntityID !== '"' + selectedEntityProperties.id + '"' && lastEntityID !== null) {
if (editor !== null) { if (editor !== null) {
saveUserData(); saveUserData();
@ -2333,10 +2335,6 @@ function loaded() {
} }
} }
// Create class name for css ruleset filtering
elPropertiesList.className = selectedEntityProperties.type + 'Menu';
showGroupsForType(selectedEntityProperties.type);
for (let propertyID in properties) { for (let propertyID in properties) {
let property = properties[propertyID]; let property = properties[propertyID];
let elProperty = property.el; let elProperty = property.el;