From 62c5fb8e2e34fa53b47814d89360ab5a117ae364 Mon Sep 17 00:00:00 2001 From: David Back Date: Thu, 11 Oct 2018 14:25:06 -0700 Subject: [PATCH] tweaks / dropdown fix --- scripts/system/html/js/entityProperties.js | 32 ++++++++++------------ 1 file changed, 15 insertions(+), 17 deletions(-) diff --git a/scripts/system/html/js/entityProperties.js b/scripts/system/html/js/entityProperties.js index 3ff24d013c..1d8a397f07 100644 --- a/scripts/system/html/js/entityProperties.js +++ b/scripts/system/html/js/entityProperties.js @@ -1383,7 +1383,7 @@ function createColorProperty(property, elProperty, elLabel) { return [elColorPicker, elInputR, elInputG, elInputB]; } -function createDropdownProperty(property, elProperty, elLabel) { +function createDropdownProperty(property, propertyID, elProperty, elLabel) { let propertyName = property.name; let elementID = property.elementID; let propertyData = property.data; @@ -1392,7 +1392,7 @@ function createDropdownProperty(property, elProperty, elLabel) { let elInput = document.createElement('select'); elInput.setAttribute("id", elementID); - elInput.setAttribute("propertyID", propertyData.propertyID); + elInput.setAttribute("propertyID", propertyID); for (let optionKey in propertyData.options) { let option = document.createElement('option'); @@ -2015,7 +2015,7 @@ function bindAllNonJSONEditorElements() { } -// DROPDOWNS / TEXTAREAS / PARENT MATERIAL NAME FUNCTIONS +// DROPDOWN FUNCTIONS function setDropdownText(dropdown) { let lis = dropdown.parentNode.getElementsByTagName("li"); @@ -2050,6 +2050,9 @@ function setDropdownValue(event) { dt.dispatchEvent(evt); } + +// TEXTAREA / PARENT MATERIAL NAME FUNCTIONS + function setTextareaScrolling(element) { var isScrolling = element.scrollHeight > element.offsetHeight; element.setAttribute("scrolling", isScrolling ? "true" : "false"); @@ -2169,7 +2172,7 @@ function loaded() { break; } case 'dropdown': { - properties[propertyID].el = createDropdownProperty(property, elProperty, elLabel); + properties[propertyID].el = createDropdownProperty(property, propertyID, elProperty, elLabel); break; } case 'textarea': { @@ -2252,10 +2255,6 @@ function loaded() { } resetProperties(); - - getPropertyElement("type")[0].style.display = "none"; - getPropertyElement("type")[1].innerHTML = NO_SELECTION; - elPropertiesList.className = ''; showGroupsForType("None"); deleteJSONEditor(); @@ -2297,17 +2296,20 @@ function loaded() { } 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); + 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(); } else { selectedEntityProperties = data.selections[0].properties; + showGroupsForType(selectedEntityProperties.type); + if (lastEntityID !== '"' + selectedEntityProperties.id + '"' && lastEntityID !== null) { if (editor !== null) { 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) { let property = properties[propertyID]; let elProperty = property.el;