From 3c4e073874679c911189eb381687454f46deac01 Mon Sep 17 00:00:00 2001 From: Alezia Kurdis <60075796+AleziaKurdis@users.noreply.github.com> Date: Fri, 28 Feb 2020 23:52:24 -0500 Subject: [PATCH 01/25] Properties Editor using tabs Properties Editor using tabs instead of collapsible sections to avoid painful scrolling. --- .../html/entityProperties.html | 21 +- .../html/js/entityProperties.js | 261 +++++++++++------- .../entityProperties/html/tabs/base.png | Bin 0 -> 671 bytes .../entityProperties/html/tabs/behavior.png | Bin 0 -> 754 bytes .../entityProperties/html/tabs/collision.png | Bin 0 -> 693 bytes .../entityProperties/html/tabs/grid.png | Bin 0 -> 711 bytes .../entityProperties/html/tabs/image.png | Bin 0 -> 707 bytes .../entityProperties/html/tabs/light.png | Bin 0 -> 811 bytes .../entityProperties/html/tabs/material.png | Bin 0 -> 445 bytes .../entityProperties/html/tabs/model.png | Bin 0 -> 902 bytes .../entityProperties/html/tabs/particles.png | Bin 0 -> 770 bytes .../html/tabs/particles_acceleration.png | Bin 0 -> 914 bytes .../html/tabs/particles_alpha.png | Bin 0 -> 891 bytes .../html/tabs/particles_color.png | Bin 0 -> 1753 bytes .../html/tabs/particles_constraints.png | Bin 0 -> 1049 bytes .../html/tabs/particles_emit.png | Bin 0 -> 915 bytes .../html/tabs/particles_size.png | Bin 0 -> 757 bytes .../html/tabs/particles_spin.png | Bin 0 -> 772 bytes .../entityProperties/html/tabs/physics.png | Bin 0 -> 719 bytes .../entityProperties/html/tabs/shape.png | Bin 0 -> 815 bytes .../entityProperties/html/tabs/spatial.png | Bin 0 -> 692 bytes .../entityProperties/html/tabs/tabs.css | 53 ++++ .../entityProperties/html/tabs/text.png | Bin 0 -> 567 bytes .../create/entityProperties/html/tabs/web.png | Bin 0 -> 835 bytes .../entityProperties/html/tabs/zone.png | Bin 0 -> 552 bytes .../html/tabs/zone_ambient_light.png | Bin 0 -> 1549 bytes .../html/tabs/zone_avatar_priority.png | Bin 0 -> 784 bytes .../entityProperties/html/tabs/zone_bloom.png | Bin 0 -> 767 bytes .../entityProperties/html/tabs/zone_haze.png | Bin 0 -> 594 bytes .../html/tabs/zone_key_light.png | Bin 0 -> 947 bytes .../html/tabs/zone_skybox.png | Bin 0 -> 921 bytes 31 files changed, 241 insertions(+), 94 deletions(-) create mode 100644 scripts/system/create/entityProperties/html/tabs/base.png create mode 100644 scripts/system/create/entityProperties/html/tabs/behavior.png create mode 100644 scripts/system/create/entityProperties/html/tabs/collision.png create mode 100644 scripts/system/create/entityProperties/html/tabs/grid.png create mode 100644 scripts/system/create/entityProperties/html/tabs/image.png create mode 100644 scripts/system/create/entityProperties/html/tabs/light.png create mode 100644 scripts/system/create/entityProperties/html/tabs/material.png create mode 100644 scripts/system/create/entityProperties/html/tabs/model.png create mode 100644 scripts/system/create/entityProperties/html/tabs/particles.png create mode 100644 scripts/system/create/entityProperties/html/tabs/particles_acceleration.png create mode 100644 scripts/system/create/entityProperties/html/tabs/particles_alpha.png create mode 100644 scripts/system/create/entityProperties/html/tabs/particles_color.png create mode 100644 scripts/system/create/entityProperties/html/tabs/particles_constraints.png create mode 100644 scripts/system/create/entityProperties/html/tabs/particles_emit.png create mode 100644 scripts/system/create/entityProperties/html/tabs/particles_size.png create mode 100644 scripts/system/create/entityProperties/html/tabs/particles_spin.png create mode 100644 scripts/system/create/entityProperties/html/tabs/physics.png create mode 100644 scripts/system/create/entityProperties/html/tabs/shape.png create mode 100644 scripts/system/create/entityProperties/html/tabs/spatial.png create mode 100644 scripts/system/create/entityProperties/html/tabs/tabs.css create mode 100644 scripts/system/create/entityProperties/html/tabs/text.png create mode 100644 scripts/system/create/entityProperties/html/tabs/web.png create mode 100644 scripts/system/create/entityProperties/html/tabs/zone.png create mode 100644 scripts/system/create/entityProperties/html/tabs/zone_ambient_light.png create mode 100644 scripts/system/create/entityProperties/html/tabs/zone_avatar_priority.png create mode 100644 scripts/system/create/entityProperties/html/tabs/zone_bloom.png create mode 100644 scripts/system/create/entityProperties/html/tabs/zone_haze.png create mode 100644 scripts/system/create/entityProperties/html/tabs/zone_key_light.png create mode 100644 scripts/system/create/entityProperties/html/tabs/zone_skybox.png diff --git a/scripts/system/create/entityProperties/html/entityProperties.html b/scripts/system/create/entityProperties/html/entityProperties.html index 876e75ec35..241ddd1e75 100644 --- a/scripts/system/create/entityProperties/html/entityProperties.html +++ b/scripts/system/create/entityProperties/html/entityProperties.html @@ -1,4 +1,11 @@ + + + + + +
+
+
+
+ +
+
diff --git a/scripts/system/create/entityProperties/html/js/entityProperties.js b/scripts/system/create/entityProperties/html/js/entityProperties.js index e581fbd194..95f680b49b 100644 --- a/scripts/system/create/entityProperties/html/js/entityProperties.js +++ b/scripts/system/create/entityProperties/html/js/entityProperties.js @@ -1,3 +1,10 @@ +//VERSION 2.0 +// Modified by Alezia Kurdis on on 02/27/2020 +// for "Project Athena" +// +// Addition of a tab mechanism instead of collapsible sections to reduce the scrolling. +// +//VERSION 1.0 // entityProperties.js // // Created by Ryan Huffman on 13 Nov 2014 @@ -10,6 +17,8 @@ /* global alert, augmentSpinButtons, clearTimeout, console, document, Element, EventBridge, JSONEditor, openEventBridge, setTimeout, window, _, $ */ +var currentTab = "base"; + const DEGREES_TO_RADIANS = Math.PI / 180.0; const NO_SELECTION = ","; @@ -40,6 +49,7 @@ const PROPERTY_MULTI_DISPLAY_MODE = Object.freeze({ const GROUPS = [ { id: "base", + label: "ENTITY", properties: [ { label: NO_SELECTION, @@ -112,12 +122,12 @@ const GROUPS = [ lines: "Wireframe", }, propertyID: "primitiveMode", - }, + } ] }, { id: "shape", - addToGroup: "base", + label: "SHAPE", properties: [ { label: "Shape", @@ -132,12 +142,12 @@ const GROUPS = [ label: "Color", type: "color", propertyID: "color", - }, + } ] }, { id: "text", - addToGroup: "base", + label: "TEXT", properties: [ { label: "Text", @@ -220,12 +230,12 @@ const GROUPS = [ label: "Unlit", type: "bool", propertyID: "unlit", - }, + } ] }, { id: "zone", - addToGroup: "base", + label: "ZONE", properties: [ { label: "Shape Type", @@ -255,7 +265,13 @@ const GROUPS = [ label: "Filter", type: "string", propertyID: "filterURL", - }, + } + ] + }, + { + id: "zone_key_light", + label: "ZONE KEY LIGHT", + properties: [ { label: "Key Light", type: "dropdown", @@ -324,7 +340,13 @@ const GROUPS = [ decimals: 2, propertyID: "keyLight.shadowMaxDistance", showPropertyRule: { "keyLightMode": "enabled" }, - }, + } + ] + }, + { + id: "zone_skybox", + label: "ZONE SKYBOX", + properties: [ { label: "Skybox", type: "dropdown", @@ -342,7 +364,13 @@ const GROUPS = [ type: "string", propertyID: "skybox.url", showPropertyRule: { "skyboxMode": "enabled" }, - }, + } + ] + }, + { + id: "zone_ambient_light", + label: "ZONE AMBIENT LIGHT", + properties: [ { label: "Ambient Light", type: "dropdown", @@ -371,7 +399,13 @@ const GROUPS = [ className: "black", onClick: copySkyboxURLToAmbientURL } ], propertyID: "copyURLToAmbient", showPropertyRule: { "ambientLightMode": "enabled" }, - }, + } + ] + }, + { + id: "zone_haze", + label: "ZONE HAZE", + properties: [ { label: "Haze", type: "dropdown", @@ -454,7 +488,13 @@ const GROUPS = [ decimals: 0, propertyID: "haze.hazeGlareAngle", showPropertyRule: { "hazeMode": "enabled" }, - }, + } + ] + }, + { + id: "zone_bloom", + label: "ZONE BLOOM", + properties: [ { label: "Bloom", type: "dropdown", @@ -490,19 +530,24 @@ const GROUPS = [ decimals: 3, propertyID: "bloom.bloomSize", showPropertyRule: { "bloomMode": "enabled" }, - }, + } + ] + }, + { + id: "zone_avatar_priority", + label: "ZONE AVATAR PRIORITY", + properties: [ { label: "Avatar Priority", type: "dropdown", options: { inherit: "Inherit", crowd: "Crowd", hero: "Hero" }, propertyID: "avatarPriority", - }, - + } ] - }, + }, { id: "model", - addToGroup: "base", + label: "MODEL", properties: [ { label: "Model", @@ -587,12 +632,12 @@ const GROUPS = [ label: "Group Culled", type: "bool", propertyID: "groupCulled", - }, + } ] }, { id: "image", - addToGroup: "base", + label: "IMAGE", properties: [ { label: "Image", @@ -630,12 +675,12 @@ const GROUPS = [ label: "Keep Aspect Ratio", type: "bool", propertyID: "keepAspectRatio", - }, + } ] }, { id: "web", - addToGroup: "base", + label: "WEB", properties: [ { label: "Source", @@ -675,12 +720,12 @@ const GROUPS = [ type: "string", propertyID: "scriptURL", placeholder: "URL", - }, + } ] }, { id: "light", - addToGroup: "base", + label: "LIGHT", properties: [ { label: "Light Color", @@ -726,12 +771,12 @@ const GROUPS = [ step: 0.01, decimals: 2, propertyID: "cutoff", - }, + } ] }, { id: "material", - addToGroup: "base", + label: "MATERIAL", properties: [ { label: "Material URL", @@ -800,12 +845,12 @@ const GROUPS = [ label: "Material Repeat", type: "bool", propertyID: "materialRepeat", - }, + } ] }, { id: "grid", - addToGroup: "base", + label: "GRID", properties: [ { label: "Color", @@ -833,12 +878,12 @@ const GROUPS = [ step: 0.01, decimals: 2, propertyID: "minorGridEvery", - }, + } ] }, { id: "particles", - addToGroup: "base", + label: "PARTICLES", properties: [ { label: "Emit", @@ -864,13 +909,13 @@ const GROUPS = [ type: "texture", propertyID: "particleTextures", propertyName: "textures", // actual entity property name - }, + } ] }, { - id: "particles_emit", - label: "EMIT", - isMinor: true, + id: "particles_emit", + label: "PARTICLES EMIT", + //isMinor: true, properties: [ { label: "Emit Rate", @@ -937,13 +982,13 @@ const GROUPS = [ label: "Trails", type: "bool", propertyID: "emitterShouldTrail", - }, + } ] }, { - id: "particles_size", - label: "SIZE", - isMinor: true, + id: "particles_size", + label: "PARTICLES SIZE", + //isMinor: true, properties: [ { type: "triple", @@ -972,7 +1017,7 @@ const GROUPS = [ decimals: 2, propertyID: "radiusFinish", fallbackProperty: "particleRadius", - }, + } ] }, { @@ -981,13 +1026,13 @@ const GROUPS = [ step: 0.01, decimals: 2, propertyID: "radiusSpread", - }, + } ] }, { id: "particles_color", - label: "COLOR", - isMinor: true, + label: "PARTICLES COLOR", + //isMinor: true, properties: [ { type: "triple", @@ -1011,20 +1056,20 @@ const GROUPS = [ type: "color", propertyID: "colorFinish", fallbackProperty: "color", - }, + } ] }, { label: "Color Spread", type: "color", propertyID: "colorSpread", - }, + } ] }, { id: "particles_alpha", - label: "ALPHA", - isMinor: true, + label: "PARTICLES ALPHA", + //isMinor: true, properties: [ { type: "triple", @@ -1053,7 +1098,7 @@ const GROUPS = [ decimals: 3, propertyID: "alphaFinish", fallbackProperty: "alpha", - }, + } ] }, { @@ -1062,13 +1107,13 @@ const GROUPS = [ step: 0.001, decimals: 3, propertyID: "alphaSpread", - }, + } ] }, { id: "particles_acceleration", - label: "ACCELERATION", - isMinor: true, + label: "PARTICLES ACCELERATION", + //isMinor: true, properties: [ { label: "Emit Acceleration", @@ -1087,13 +1132,13 @@ const GROUPS = [ round: 100, subLabels: [ "x", "y", "z" ], propertyID: "accelerationSpread", - }, + } ] }, { id: "particles_spin", - label: "SPIN", - isMinor: true, + label: "PARTICLES SPIN", + //isMinor: true, properties: [ { type: "triple", @@ -1128,7 +1173,7 @@ const GROUPS = [ unit: "deg", propertyID: "spinFinish", fallbackProperty: "particleSpin", - }, + } ] }, { @@ -1144,13 +1189,13 @@ const GROUPS = [ label: "Rotate with Entity", type: "bool", propertyID: "rotateWithEntity", - }, + } ] }, { id: "particles_constraints", - label: "CONSTRAINTS", - isMinor: true, + label: "PARTICLES CONSTRAINTS", + //isMinor: true, properties: [ { type: "triple", @@ -1174,7 +1219,7 @@ const GROUPS = [ multiplier: DEGREES_TO_RADIANS, unit: "deg", propertyID: "polarFinish", - }, + } ], }, { @@ -1199,7 +1244,7 @@ const GROUPS = [ multiplier: DEGREES_TO_RADIANS, unit: "deg", propertyID: "azimuthFinish", - }, + } ] } ] @@ -1299,7 +1344,7 @@ const GROUPS = [ buttons: [ { id: "selection", label: "Selection to Grid", className: "black", onClick: moveSelectionToGrid }, { id: "all", label: "All to Grid", className: "black", onClick: moveAllToGrid } ], propertyID: "alignToGrid", - }, + } ] }, { @@ -1404,7 +1449,7 @@ const GROUPS = [ { id: "edit", label: "Edit as JSON", className: "blue", onClick: newJSONEditor }, { id: "save", label: "Save User Data", className: "black", onClick: saveUserData } ], propertyID: "userData", - }, + } ] }, { @@ -1469,7 +1514,7 @@ const GROUPS = [ label: "Dynamic", type: "bool", propertyID: "dynamic", - }, + } ] }, { @@ -1554,7 +1599,7 @@ const GROUPS = [ decimals: 4, unit: "m/s2", propertyID: "acceleration", - }, + } ] }, ]; @@ -1563,14 +1608,16 @@ const GROUPS_PER_TYPE = { None: [ 'base', 'spatial', 'behavior', 'collision', 'physics' ], Shape: [ 'base', 'shape', 'spatial', 'behavior', 'collision', 'physics' ], Text: [ 'base', 'text', 'spatial', 'behavior', 'collision', 'physics' ], - Zone: [ 'base', 'zone', 'spatial', 'behavior', 'physics' ], + Zone: [ 'base', 'zone', 'zone_key_light', 'zone_skybox', 'zone_ambient_light', 'zone_haze', + 'zone_bloom', 'zone_avatar_priority', 'spatial', 'behavior', 'physics' ], Model: [ 'base', 'model', 'spatial', 'behavior', 'collision', 'physics' ], Image: [ 'base', 'image', 'spatial', 'behavior', 'collision', 'physics' ], Web: [ 'base', 'web', 'spatial', 'behavior', 'collision', 'physics' ], Light: [ 'base', 'light', 'spatial', 'behavior', 'collision', 'physics' ], Material: [ 'base', 'material', 'spatial', 'behavior' ], ParticleEffect: [ 'base', 'particles', 'particles_emit', 'particles_size', 'particles_color', 'particles_alpha', - 'particles_acceleration', 'particles_spin', 'particles_constraints', 'spatial', 'behavior', 'physics' ], + 'particles_acceleration', 'particles_spin', 'particles_constraints', 'spatial', 'behavior', 'physics' ], + PolyLine: [ 'base', 'spatial', 'behavior', 'collision', 'physics' ], PolyLine: [ 'base', 'spatial', 'behavior', 'collision', 'physics' ], PolyVox: [ 'base', 'spatial', 'behavior', 'collision', 'physics' ], Grid: [ 'base', 'grid', 'spatial', 'behavior', 'physics' ], @@ -1842,9 +1889,15 @@ function resetServerScriptStatus() { function showGroupsForType(type) { if (type === "Box" || type === "Sphere") { showGroupsForTypes(["Shape"]); + showOnTheSamePage("Shape"); return; } + if (type === "None"){ + showGroupsForTypes(["None"]); + return; + } showGroupsForTypes([type]); + showOnTheSamePage(type); } function getGroupsForTypes(types) { @@ -1858,9 +1911,15 @@ function getGroupsForTypes(types) { function showGroupsForTypes(types) { Object.entries(elGroups).forEach(([groupKey, elGroup]) => { if (types.map(type => GROUPS_PER_TYPE[type].includes(groupKey)).every(function (hasGroup) { return hasGroup; })) { - elGroup.style.display = "block"; + elGroup.style.display = "none"; + if(types != "None"){ + document.getElementById("tab-" + groupKey).style.display = "block"; + }else{ + document.getElementById("tab-" + groupKey).style.display = "none"; + } } else { elGroup.style.display = "none"; + document.getElementById("tab-" + groupKey).style.display = "none"; } }); } @@ -3678,6 +3737,7 @@ function handleEntitySelectionUpdate(selections, isPropertiesToolUpdate) { const shownGroups = getGroupsForTypes(entityTypes); showGroupsForTypes(entityTypes); + showOnTheSamePage(entityTypes); const lockedMultiValue = getMultiplePropertyValue('locked'); @@ -3954,32 +4014,24 @@ function handleEntitySelectionUpdate(selections, isPropertiesToolUpdate) { function loaded() { openEventBridge(function() { - let elPropertiesList = document.getElementById("properties-list"); - + let elPropertiesList = document.getElementById("properties-pages"); + let tabs = ""; + GROUPS.forEach(function(group) { let elGroup; - if (group.addToGroup !== undefined) { - let fieldset = document.getElementById("properties-" + group.addToGroup); - elGroup = document.createElement('div'); - fieldset.appendChild(elGroup); - } else { - elGroup = document.createElement('div'); - elGroup.className = 'section ' + (group.isMinor ? "minor" : "major"); - elGroup.setAttribute("id", "properties-" + group.id); - elPropertiesList.appendChild(elGroup); - } + elGroup = document.createElement('div'); + elGroup.className = 'section ' + "major"; + elGroup.setAttribute("id", "properties-" + group.id); + elPropertiesList.appendChild(elGroup); + + if (group.label !== undefined) { let elLegend = document.createElement('div'); - elLegend.className = "section-header"; - - elLegend.appendChild(createElementFromHTML(`
${group.label}
`)); - - let elSpan = document.createElement('span'); - elSpan.className = "collapse-icon"; - elSpan.innerText = "M"; - elLegend.appendChild(elSpan); - elGroup.appendChild(elLegend); + elLegend.className = "tab-section-header"; + elLegend.appendChild(createElementFromHTML(`
${group.label}
`)); + elGroup.appendChild(elLegend); + tabs = tabs +''; } group.properties.forEach(function(propertyData) { @@ -3991,7 +4043,7 @@ function loaded() { propertyElementID = propertyElementID.replace('.', '-'); let elContainer, elLabel; - + if (propertyData.replaceID === undefined) { // Create subheader, or create new property and append it. if (propertyType === "sub-header") { @@ -4108,9 +4160,6 @@ function loaded() { elGroups[group.id] = elGroup; }); - let minorSections = document.querySelectorAll(".section.minor"); - minorSections[minorSections.length - 1].className += " last"; - updateVisibleSpaceModeProperties(); if (window.EventBridge !== undefined) { @@ -4252,7 +4301,7 @@ function loaded() { elDiv.insertBefore(elStaticMaterialData, elMaterialData); elDiv.insertBefore(elMaterialDataEditor, elMaterialData); elDiv.insertBefore(elMaterialDataEditorStatus, elMaterialData); - + /* // Collapsible sections let elCollapsible = document.getElementsByClassName("collapse-icon"); @@ -4268,7 +4317,8 @@ function loaded() { let curCollapsibleElement = elCollapsible[collapseIndex]; curCollapsibleElement.addEventListener("click", toggleCollapsedEvent, true); } - + */ + // Textarea scrollbars let elTextareas = document.getElementsByTagName("TEXTAREA"); @@ -4422,12 +4472,17 @@ function loaded() { e.target.select(); }; } - + + document.getElementById("tabs").innerHTML = tabs; + bindAllNonJSONEditorElements(); showGroupsForType("None"); + showPage("base"); resetProperties(); - disableProperties(); + disableProperties(); + + }); augmentSpinButtons(); @@ -4442,3 +4497,23 @@ function loaded() { EventBridge.emitWebEvent(JSON.stringify({ type: 'propertiesPageReady' })); }, 1000); } + +function showOnTheSamePage(entityType) { + if(GROUPS_PER_TYPE[entityType].includes(currentTab) == false){ + currentTab = "base"; + } + showPage(currentTab); +} + +function showPage(id) { + currentTab = id; + Object.entries(elGroups).forEach(([groupKey, elGroup]) => { + if (groupKey == id) { + elGroup.style.display = "block"; + document.getElementById("tab-" + groupKey).style.backgroundColor = "#2E2E2E"; + } else { + elGroup.style.display = "none"; + document.getElementById("tab-" + groupKey).style.backgroundColor = "#404040"; + } + }); +} \ No newline at end of file diff --git a/scripts/system/create/entityProperties/html/tabs/base.png b/scripts/system/create/entityProperties/html/tabs/base.png new file mode 100644 index 0000000000000000000000000000000000000000..1eed920742a3aee17134a9773018882ee83ab0ff GIT binary patch literal 671 zcmWm4ZAcRV9Dwov-Oby%Ik{=(oNu=`nzhi`QYm$}wM-**T7fgfu>@a0Y}s^(N5IR(`0(EF%ylOY1|anV>{!QfxM6?1A66r^i@wLBJF9060Mzxu@?wBC1pw0t5I6*2 zwg7Ay0NZAOGcJJmrh)3&0su6w$e_Do|6&Oq9%?a8hLc69d5%Rwg`#~w=^&pqIsDlV zLRg$O!snrby~qj1#V6?~ich&D$@B7*9gYR*OH`{32n}j!U^S<264v$9*Jz)+!u=gFx*1tCbH*rNeoEea=$Tt`I51vZX6A4q>>%Z@kK`(PEa>Hl?ba~D#YxQ z$0FZ!*8!U_N>a?6V5Hi3FFIeA2^`>%eBrzPl^ib*P+|zFr`?!st0On9N5DS9tY@=q zfcTs<5705ZN_u-YrNOJc70H0byLOzMG`T42Lu1z_VP=(O2#vhrc+gXPmNZPM5 zcaK^v`}ijoC#ZJo0xlR$wL1w;4r5nnn#{iNzwe+lW0|o+-pDgKg0e<=t7LC4uC3Ji zFba^abe6XLPLBD0M5aVg;d2&#tPHayYWUGPgABdB#|HD+N}*(H*C1<4JIo`t7k2v>Bz#4w>ZJO2Z88RU%s literal 0 HcmV?d00001 diff --git a/scripts/system/create/entityProperties/html/tabs/behavior.png b/scripts/system/create/entityProperties/html/tabs/behavior.png new file mode 100644 index 0000000000000000000000000000000000000000..9201fbfb721790b6c5ad3ff7451a2d28b53e165a GIT binary patch literal 754 zcmXBKYe-XJ7y#h+oSmH=C)3Y{rfcMvX{MNIF1wNYrc-Azvx_k^axKtx)fJ_M+1Wxp zmV~5`n&5;kQeX)aB)7tCSig0H|_I#w`F4 zK8IrgV4{5e3;+a_nF@{o1ghsy(AqXPm=c580MK);^7rOO0Kj`pTg(6_VgUHl0KfbI z{3n2;NdTX%0Bf58=9iu?8pr~m?Kwunwu(`k&+pgEmQe(flRe?UppEJbwUEe2Yw>&5 zmW5~OJ8de#ubzAwNyb4`dtxYBkPAonzF=XUb7nOf0tbi6DerMy9Bb__!gm>|3eU>K zt!`-;D`*Bibw%Mcg;?96JVrY(^2?-9V~seka}z0kNlQhfEl_+06w^Dg0PUx}@%C@N z>e0kawz76cs_4wzl^1!E<#2<1I~fj8P3!ZmZUZU7j{dM5 z4vUW|&nvqE-h*~Jr#9>G5(1OACL)^>SzCnGz?``^LJkCpKRqV)@+A#EL=8m#3wm8M zsUra!qy4pmjf-@ycA^#w?Z~W%qd8m|mXvWaq(0jmhc42NXr1dr`mg0yCD6i~-jAWW zhxek^e2nd-d5Bta{(eUsQ`mA_lRf^JBG7}D?y0FO?r!bi3reqD% z@lK2O`E2c#nvnRa0AXc!1dYf{0zdWchH+4_AT@=eg{Jyq)_lTcsidXv87bOMp+X_b z-8)r?^d&${%6?p&xxruM@g+rQ^z|0$%VIPJj-@Ej$xt+RL4MY`I;6GB&~=QJ_Svts zC{#fQ!UW2p)#V29|A+f|ta69y5M^6vuiL8-uXcx@)0ULD`(?TLK#8X5?Q#OIALdiY X3R8urbTtLlZUBIs%v@tvy4Cd;>L3MH literal 0 HcmV?d00001 diff --git a/scripts/system/create/entityProperties/html/tabs/collision.png b/scripts/system/create/entityProperties/html/tabs/collision.png new file mode 100644 index 0000000000000000000000000000000000000000..c9bed393854c2317061ba781ab2baf502886420a GIT binary patch literal 693 zcmXAiZ%7ky0EXY2o4d5>wb|*W*srvu=}&t^ z3!cGhii16IFwl}3_X)xq$}M4^I=B}FcV(bNsiH@2v`ld$VVctuu1MjQ@hJ$;v8Ax= zC!_7LXJld~Zw{Lr!h9U*(Z2TQ9j|ur=}`r#MD|8$?XN(}Hs+qQhT@R2*_|Y*B}Z+; zlsAq1YF#?~uh#q0M>aLWdn7icoUo3^mH+J{;p64yg)}z98KWk=`H`TeYL!fISyw>b zj!0&0%as31UwY-;TAbt(<%;_FIM#7;XC4_{FRlr0 z5WZ9Aqr^p5ggQC*m=1-vT{l;vg#pTYkc@_2-NjrA7MoqZBx5QEH#0|fjz2734Xe4P zW6zD*eJW;?Y<@c#4N^*JqE)J7F-*2NM;FJBC~JJWUMUB6r}bHLlqVz3>Tr2NfZA7sk`PFfx#` z%r<$Sd@8^jZGD@a;~Z+yR@!Wol*wRu$L9!Uf7{Z--0$7f)*jxmPeS+!_v|(%+%>$c zd6G5U%9dUPWq2T~ati}(J>$t&^uy;fIdqj%SvG~HblRT2K?o0!M&S3C6ARAgnoIyN MXwGki|@P7%Wo@}n@P(xasZ&Sj0O_` z1nopg0bsE%bsYfws*J@o0E%5ZVbFDdN08^za?${t?G4`i4gf%>jiwxc`X~Ut8DL`@ zfL{Wz?g#i`21xD%2)ul!Y%~J^Pt7u<71%yneB0Ych**pToz4{mBr_2U6zVDghSfg@ z#Q!QDp~aW%xS!a@&Z)#V+>jQj`N7BF)b2Y9xFBh536~jy z!XrqKx*c^}FNQ*u)#2 zFDHza6nj#Tke9X*2RN1LyUrIWbJ_y-wD&)wghx&x&)^|QCZg}6o`;@m)%5=hDlTCx gOwQpv^bAP=lLC4CPd!J^W&;3Z9m_TJr<DbosK2XIqbPH zBJ8}(GB1mbgg?w5n)PFiN%Q`)QO}yi$S#|mxjE~P&wrngw|ucJDJ=HJ=0Fge7x$ zXM(a%(zcR+R#qHpsy(1J?cNKH$wz_(^s$2!+1Pg)OTVsjA=}|Bx1-lr>)Y5fzww*H*z^UaE^flKcmc+6one5CSu$YCkK{W0pPLpI(5$v*GuSzy@0#Up2 ztIz7t;pi8<)7QDpc);CC6f0fXUECl+REp9)h?J2*b#xod;44gC#O|ryk&f(p6pWVGP5pq3pJIkc_jlykV)8b-}|tPHl!JrTL(7f zE5(9Vm(gzNIhn!x`j?XKgHIBJ*^r6UI%N^5lG#)}oW7jB79ul9C1+NV2NHYX85*Q9 z!RXY()(sp*KuqT%Bgq4f4XOPHLo_zVXcOA=?SH(aG1>O!95@Es$IWV5a_7@Pbkv1q zr$yGGM<-G^>B~EXAnD^YZVYm3AnP&yMKToN> zcxp?_o<5>=09d W*Xq6BN9Mc-fYOq3_2$Cr{r>@Br}mQo literal 0 HcmV?d00001 diff --git a/scripts/system/create/entityProperties/html/tabs/light.png b/scripts/system/create/entityProperties/html/tabs/light.png new file mode 100644 index 0000000000000000000000000000000000000000..bed097d54efa5c90948c3b60e9502ccc0b94839f GIT binary patch literal 811 zcmV+`1JwM9P)z@;j(q!3lK=n!AY({UO#lFTB>(_`g8%^e{{R4h=>PzA zFaQARU;qF*m;eA5Z<1fdMgRZ;p-DtRRCwBA{Qv(y0|}rXh$VqI8i@ZAqX8g*SV%CO z5r}PpSRRPkfcQHxng9ZbiGeim7m68))c_Dc=oa_^aTy-H0ww@43z{4Va{@6h7I6?Rg6ds}EDjJr=!)2Zcs5jFEt;G*5PJc!HxL^D zF%yzp98}MCAQnW{2M|EmTmo|Wd?3z&^38yF=YLFa1c)7>Y9fGmJrE0_n+Fg;j0BQt zJP^+T;-5gg9Ei^Y@joEe2I2@H76Ia7AnwCu06+jS;0R9;wnK8M3Kn^3Al?X76N1Ye zfB?c}I5QBR1mdSaERM$!ph&+6#E)=AK0pBB(r5s6Ss9dX3B-y>@{&O83T1~u)dpfS z3m|}4pkb(il+GKWVGII?q4a!cuD1u`Pe8m0h&6#&6o?N%)ffWtdT2gUg^Jw+2q2Ix zSCLZ28zANZ;zTIl2cH8HhKbiJt=EXF$w~ zBsLN1T4QWx0R#}fWZDANn1LjA1e#*lp?q(sn)T4&!Y~IQfbdzs4a9q(2E-s)@EFQ= z0^)B#d=rReahU@UK=>?RfJPuFonM2x`Vf*2wgK^59GMV~0Ro7S1t2^Vi2nldc_97` z_0a_&{tiu5c=ZDW5DSsD-alwXa~z04g%>B3&jiK)aA^hzAYv?F2jVwCY==}$f@-v* zP>b*afB+)Kf?q%^0mPeu_y>|cBWUT0w>Sm}AYv?-4Q)wSLNgl!w8{keU@{>K00M}Z pNQPlhv2hw&w0Pr6_vjcPzyNIGDB#oJJ_rB+002ovPDHLkV1jqEENlP( literal 0 HcmV?d00001 diff --git a/scripts/system/create/entityProperties/html/tabs/material.png b/scripts/system/create/entityProperties/html/tabs/material.png new file mode 100644 index 0000000000000000000000000000000000000000..458c6bad48768ceb48a9104384e0668aa62a7b7d GIT binary patch literal 445 zcmeAS@N?(olHy`uVBq!ia0y~yV2}V|4mJh`h6m-gKNuJoI14-?iy0WWg+Z8+Vb&aw z3YK(7Uq=RpjeRx011B>uFeoH@1o<*BRH-sBG&D0X{QS?r(D0Ihq11qZ;Z*_ygVhWM z2J!q!@kiYl7#NK`T^vIyZYBNs|KFZjm(hV?qr=Oe4sZC6_^@1Qj`=*Bqgb->hk`&m z1B-z2754j$GnzSi*E`H=_`%Lt8suQZ-_gp*#PO^--X-b-YezrRM|-AMM;7*_F>olT zsjN2^cv+ex!xYXe;NZh!!p6YpQq0Z3)bUJ=fkoh~E(3?ctY`)Shb2)5c#hO}1bi1i z#=xNi#DQ+$aa}*XHaO!$YXS1P>go) z;rr{niWOvhh@*$2v5>Od*Gn#H=@mBZ biH9LQM#qjZ?@tZ`0|SGntDnm{r-UW|yn%$Q literal 0 HcmV?d00001 diff --git a/scripts/system/create/entityProperties/html/tabs/model.png b/scripts/system/create/entityProperties/html/tabs/model.png new file mode 100644 index 0000000000000000000000000000000000000000..79aa6b3830a79de2addaa77f6cc1b8fa529576ae GIT binary patch literal 902 zcmW-ge^8Tk9LGP;^X&J}X9!N#lE<3`>CzF8pfck-oP%k~67BRt!(lR&BkowbfasYL zJRDd4BGPHPVbMUbg@|s03Jj5lLX$P)=FmW7%m{HjZ*#56LiZe1y2n#H&mO{sAfcQUiXaI`6deoGuXcS}Xe7>V(D z*i{l>HazVmykG6lK!INCvO7}-y{c^qtBC=)mK=Seu`aUJpG7}&%=!`a%kWWvN5fgn8Vg;@SEuAD|-rW>I z%5G=e3-!h2xXka%XS%J~jN9gj~-cM{zLRW%@MOxBlC5d$6i3eAeP!#erMY zHg5@h`8b_@m0ffpry^QN-y}DH-n4EQsu( zOzCeYSmrLC>9~%jR9KFB)p+to28igvx<6VczUcA&D5HdW&uq(9HG-LbMDRnD;I;1S z30|pc-JnJgiM9_&kyXm)1xFrdf9R%On$Z)2!{c&`fw1SyegeV{&kuJB4gadIRdmJ2 aKxTm&?d?hP;?GmZ0_VC-_P*lEL;nGCU{_rL literal 0 HcmV?d00001 diff --git a/scripts/system/create/entityProperties/html/tabs/particles.png b/scripts/system/create/entityProperties/html/tabs/particles.png new file mode 100644 index 0000000000000000000000000000000000000000..6a0d47cacb7665e2553a63ceed9291712163d1fa GIT binary patch literal 770 zcmWlVe@u*F9KgTtbN9Yocir{0imt>X)gr?ozsvKUt1dZ|V~23gkJN0(S`$vaFNf!_ zX0gOj$3K3J`o|iUUoUHBbN+~!4cC@oMvUH)&hE2){`>s(39MXRY}BXf0l-*dx0M4x zN>rTy03Y_`s{jzY%f7Y-z>pY~gLCJjg|9Ua9 zq7DC}KA2K3*$uQSp7WGd=m9Y- zq*IVtCG{mS^UKUW*`*7-KuR?o7pvsT>ZbY4LKq({QW*Si=#s7E`i*w&aSfo|K4d#0?0Qwsp}z1q++J zmDZlMefp&mSo;~*F&BHSzlJS4+PlRbv&ORcv{B!f-uY;PpF_H{kA>R&>3A+RZqh54 zLfzXBUCRZ}evE9^jPa)Xhu%GiT3qd@O6AS zo=7aOcl^0^Cm(JjrX$%~iYkUVq?;;dop-dQIE&tBI}CZl=m5QpG}tF8@oa|pu%iO_aP-O!EEG{^h=|B@i{&d5eup7 zgoquP8D2a1-P$js86WrNi%$kpMuVOKN}_K)(2Hh}b3J*M1J@oZB1SYvN3u~JZ7nV9 zd=BK-@Gl^3^tu6&!=!x}Zq5n`b#0zu`ZKbPmR1wLQJkXX9r&?Q;z^rIsvz@P@l%CY zcd3g)B(&#SouoWAR-Ywqth&RmL;YaYp%qkQ4fn;h=&7Zz0wNQatd#5+ z+?^-9q7hetycxT?DyrF@-vbG==%eK(oW=6X2giNk-r!`03h&e;LsuFpX}ICYeqy1e z88U1X+sS@!rg$O5F*k?QVn?_)IJ)7?WuTbSv-;N33D}G8c0a1pwk|GqH3|t2B!NNK9dCKuZ)cchPDMwIedsXp3s5!Hj2j$*=_g`ewUuwk#KN&6 zcj)pz=CZkyt+wK!N;-KuR%o_lAu@5*5Fcwm^~OE3%G=Ab2$tS7RlDBTQrbn&dFHj)wz|eX_vnEzWcoTp0PF7 zX_UE20MOK1tL*@glS)nlz{oUGPW;>&OD2;p)Tx|8GTMTs1}aCJE0bQ3y8X3v=$1VVC_dIco{&rJ{E zgS1eIKdlZ)JwW(3ZFv!U@;L_~7NdmZnbGj!7$F)Br}WIYWnZ2=PDZ|Zt?##87(y+j zS-FL1-~_+cg5zmi4}atiDZY*F$XX8_z8R+k$HW0(@O*z4h;7K_kJj*Xop}x;wQ*+C z$kWe!LB$cp&L zc)_(|jOlbP+%=Fs?$p!E=Nx^a(J}49TEe}Y+vUE;PURnyz z1E}>z*3q$fBJfCrg+PYFm1EYQ}o8 zIPm=!cv1ZAME~}cI)wED43D^ zEANbwku!KrDV%;YP>3NkT$9I7cMa{W*eZ>Df)~#gr!jbC53R_ldfk)Hje}VCd6O?K zVb<@^HqXi^@nn1IvWt)hDfdgv?-osAlZ^dE2ks)Kv-VYBoDeE~9Jze&<0Sxq`kKb- IYZhnU{~O0lBLDyZ literal 0 HcmV?d00001 diff --git a/scripts/system/create/entityProperties/html/tabs/particles_color.png b/scripts/system/create/entityProperties/html/tabs/particles_color.png new file mode 100644 index 0000000000000000000000000000000000000000..ac66a902cf8fdd78547a53568b0788862bbe22a7 GIT binary patch literal 1753 zcmWlYeN@u-0>;0*h@haDTY$P`E47u57w?^E8CZJN@@>wXF7M%|lDN5&l}(%E53-1+ zrRJTI^9*N8J(~^8I%=9=_&QCjPB(kIfL`U6bKpx86!_iaAD{o8Kc4e>&T}axDVF5s z;|2gA#m7ab0syF+;Bf!|Lvf@P06-ANWu5}S-Fp)hXlUF_UO0Gwt5@CE`PLJk0>@G5WU9{}Kz2HsR_ENcY9)_0?ctvT+14)`d+RA$rKg!T9S}e*V><+f zM~`w0)wO(x&viL)tAPkmgV>+%NaQ5hUP(z9*_9gtSshE;wFrz*ot+&ly8v4txR}#| z1P2p|6A8rgfD2GZSa#Q$QtnI7!AIOiFvv!n_B^X_0f(8@DVp26PQ!NtxOT&r74|B z3tRcMeiuDT^{XVWBeD#;x(xTip8oS}IrTI<|I2TfOqNq%UGvwX#Q>cNZaIU<95Az+ zD_VBdA~C$RKV&nnZl6JgVlWGEdipzwPzBdV4Vz5QVAW!4H+BK(9t|8;b7)gHH(MM^ zN;!}IdS9Gjp+1>tR%WG`GCIDE@ZPHZ1cZjlbB?Ni`m?tE{%g+X&tK5W9OnNsr# zO@7YDxzNMi#|)2W^Q?DQIohXp)Z!>ye0e2(^rLarx+G!rT9^3(=?)yNI;rYMzsBO} zEyezNmdI(jWL!l^H>=Jh&z)V@j#_4drVNN`0+aA=rDkF>70o~R!IixYHIi|6YS9!H z!)J-mxF<)TzI~+wi_`aN1anB0df+=0T6W372-PkiVTrn1$AhzvK`y4d6$U(CJoM3& zC4>H;{Ax+}2XdM`K(b4GgAz6svH?2;-D{M0(h-_RlT7+>a2J&1g{;^6Ff#XNU! zQ03TCNS3*ixe1J(!j3*;2}B6KM<4T%=~3Iy+Vo1Io|~=tc}y%zOw(MS9Muq4p`oWR zk%HI-VoGZ}LOa0`xV+oEdFdi~Zup98ouF?b#a$Eb-L@RTOb|FXCWQ48ieOvm{WZn= zHWN=8z^Nu)T%VaO4oo2o05UiD0DJ?1bIvRwl-Xk8mtqv;0d;%c=I@#c^5JHahGF82 zCbgFE$3dJlRzvJEZg8YeI6}U#trdlq4XvK~pLvDoYmS`jZ-1~{^VYA~ZoMj$4Xe_ywSo;QktFQAVk8Po;LYc^3 zoo2w|L$xIs;;^l|n~W3OVQno!rK-Nb+|^{+g4(PCfTsthZ_UHqQEx36Ec=jWdtmi` zb)9R!DzWKss_@DwF5mTYp?|*ByZY($!`ooRE6l7nOY(TF<=p@^xGH%~(k9QF6%(+F z;G})dX02bMNEveHZ+vLInAq5mA#r)pYeHxqi5ue~oFWcKel&2NW8&YKlh2Zwvu$#Pz}Q6juCVsG`Le(g%z#>?er9Cg$iwdF{4 zgCEw3A~{`(!WZ<6Yd`Yb$7ivDZWv!IeRBjEv@t-p$7WYqJ|nz1nh+GK?~MG*I<|ad z$zNNT*MelJdytd=nS(peXnSwEDK6~C+Z^7|za7i9H5J#E5IDP^lYC^z>G$!cw(ybE s6=G>3lIpdLvS16N(zt+0?J*$ zYlR?Q3<(*7Y>=!W4o2oC8A)cX@r8-ZAxcK*8gnufuf&c(Y54Gbd%iu-@pR*El|rik z098tIVkQ7+){#>HFkiXT1pw}4$$1q3O7C?r=jyGKx`L)Uuk>68M=6PHR@JYZYi(`qE%d%Zn&Vw=bSZEL zQBf~N$eagzA&RpUpB;=kDt1c--*= zv#LJn1{j&?BE)9i1vg{Rkl&st+(ytBFq?)>#huaUDJ6OLSr;+K2s7p%+JXZvdTNaS z_6^(q1Nvl78atc%F&@J)8eTcEy-pmWY>cpg;ZKyQUrV z;>P)4m1X~Q?G{ouDY!I-?ERFZ21Nr#w&aE+3)+XIIQ~+&x7Df-@xNH# zAF_4eQV(;TJopMYYb?Xjgrf-MU|b~+36HUm$O5M0ZlvYEX&L7^aHtSEr;i35&#${z zAWu8@4P*8g)*-&D)knCol#L!V{EaD-tAk6U}|;ZDJE{c`scbQp53W! zSjg;lacDlq@N-bTvNuwN_`*0Bp;|OqW+wPRL!>+Qj%5`Q={+Wlqz~)NB$sXJs|3^N zEPJiN4)OF+emGy4@zaK$#Blj`-z4Te8*cjS4Yp#r0$p?upO{P7ry&f{?x2sMWrPi< z=dAsscbG7h)CpKaiLi~XWJgwt2b7O^yUMh;j16iJ(B2;JO?ebduMkc%x~-U$p)Hsg zgOPN#k@C&TvvAKd*PG7{z?DgoV>jt*&}kV*khHfc*C-VE)NInH2eeu@ufEy$$->SP zYDIS#dO(x|EVV>U`8lFiJDQZV9?EPj~__HYF=N%q|vMw8KkHWfdcKV-vRZ@hRUtR69QnZ~8 zXJBV0|GD~sD`B;LPjrQ5pu|HYi}#C~i>ft+W4zgt#ZPcCCHjK9Ezj|-WB#A}N=h;% z4l3{pQnDvL`EcJ_v|bc8F>NxTAK&E;0tPPhgPPAf)Zuu|77`KHOp#Uz2n@m^~&B}U$JKdo7Op(`pCmbg9rzja9vj%}DAK}n}y zG_mOZDpF4%lwISh?<+ul$}X)ur66DrsargeX9l;EJ@ACI8qxYXMh#-5Ib&*)2i5J7(Saws-MPn$I7g3AERYQJ1Fh zXsbf#!I@Iw18{dvM?@lQo*LN zCGOJax#{+Zu*670B#t7OTeP%|34{Io$_xsQaTfiYyQEqh$raQSNzd?)*I)1VU{k}6 ztW0MnfUIz+t{K3pWugVZ{IR!m0MbXH-A4gy?lKNzyW_N}Vt5tk`a zEVsuk7EvahCM{sHPA8F6=pNyFbN`!AvQw}4Pz)4+mqzv*fQ zD^&G2$k4fU76p+=+@|qquH)(RjMTA54hY0L@cAO2>Psv=m7H}YX^GJOsIva-8l~G+ zF{j%4?3?~ICq0`X%3a50kyRXZ@uz1cO!wbGaJ z;?G=awcH!}C0mW#G6|inzBKUQ-dvM&<(aQ()T}kumf`$Jx9pIAk!e`iri-)3J@q9Zjk4W5uTmB5selv!;wU7uu6KMIB`7 ze&SW$u2D`PZYwQ4XV(tLBk?~^xwIR>A;J zSreUKzntb>qg`(o9P*c(+~-;A0j~`*&)CAOMU)-Bx$#Q!EV9%3&7SZ?WdV5cX6zwd h4b~te4e$9U5X;f>qW-HA$ITc3gts-+U98z3`yaC=1g!u7 literal 0 HcmV?d00001 diff --git a/scripts/system/create/entityProperties/html/tabs/particles_spin.png b/scripts/system/create/entityProperties/html/tabs/particles_spin.png new file mode 100644 index 0000000000000000000000000000000000000000..32238ed8f33fe6a1fdbc6b654178712f1e3021f9 GIT binary patch literal 772 zcmWlWaZFTo0LQ<-$9s>1JK%R(a2So}abV1618o9w7tJgAf)g|sbPuGuo}sx?P#&ipxbnQh6YwF38aBZ(O|*E|++?f&@u_xb0u&p@E@ z<(%vl*#L5U4fR0)jx-h-z}@cWlK`^18eZE6SeK_EIPp>15O;a}9w2@s{O>Cx0F)gK zK|jz_3g|IlAqD6Ufc+J~Y%8!~3@GRv-gf0BKE1|nrcqq7 z(Dv*^4T$J`n33?TRrT#P$_oQKeOX_*86uV(rP+C_%h4>GwE^oCiI>rJk^2xVbM4Mo zPZrSc*vOx~yTglh!Fz?VWlz^E&XRs2x+eUOKg$&dRH|RDf*bv zb!ZKJYlpqNudUHRy+7*bJtD)Ujw(4+sGggV%>I-Xn+X*EF!>h}+L_<$ha3!-!b1Yj z)bBWcI<|$W#?|gHyK$6X6!=Z%&NH?}MF^I*N9||67_U(KCW>4)bNOf@d3Qa1)S9SS zeZ!_h(8f;v`n0@6w8CMt$(?`SzR8u&z7R>0;j+NN%h6B2TxMK!ezrjPdwgf34xt=< znw!=N@#5$9#DdpWely=Jg=%+iBFDyW4_s#;hdWM6^zHtM`DcRez+oa-wvG$sj$HPR zeK5VRBYJB{J($7$>}U z;n7t~w_kjUzW+h9#9(jPGLi$qhBxc_pRB0br2&A?+gN|Dt~L5UWwj6P literal 0 HcmV?d00001 diff --git a/scripts/system/create/entityProperties/html/tabs/physics.png b/scripts/system/create/entityProperties/html/tabs/physics.png new file mode 100644 index 0000000000000000000000000000000000000000..f0fc451d37067de6e77a17d0da65f274bb85973e GIT binary patch literal 719 zcmWm4eN2pT902g|^VU7xyOWWpOf~ILX|Q>2>>dqg?9je zZVDX(0Fgthe*-|Q+fs25fSEM~gU+t0LDrgzO#nS-Jrf(-008Zde%nD6BgHLZitbF z>OAWLxB#x2e$~GnGghrXnj4qTL1w01t&3W5lFio}ct*V^vXp%X@>nPiNH(8oxE$T< z4G_hD=43ZdMzTmGh^mw{^j0a=lz%+(L0oDC8ZF3^*N^x~e2e{8q9c_?g1aI@N{76S zTDHinYQm&4(bz`i$QVwSCFT+GGkeDqO5R?#RZGgZxEm_zEH|VWcA^t^y@O#Z`bRCJ zkx+ilK^)+>wIrysB8u$uUkO(#Y5@7=2z|nPflE|NTJK6~cd`yhcBuI;=g|ynjZ9L| zM5gB&yrKAEH)~hOVSDwxf_9)$fEw%8&7Ozt*Ro9Ncx$X}@F^wpXw(!>(x}S!HKxAD z*s5FBUB!^TPf;byg$$O$^nMH0$r+jrz;Z7PaQ<4%&i0~UXd}Pm7>0|ng^xWp)4)Qp zD+R;p4oZ=>Xj{|V3k=JJWM@X-cWOH1j4tm54&L{I|LTgint{@~$H!~41#sOj_4@JX z!I_H#F_PX#0WQYcG>wc{>U*TYof*&ZIAFOAd>y{);*;`^+!>*WyNijpgJ1eCW#BZ5 wPpP`27WWbRSFo>53};`SleGJHwWkxqr@>EKE%OF{_yYjIT2R8@TF9Ebns-b-(3xpEAMyd@l8rcMe{G%+J$PhYGMgCgh{hG8u_*j8P;Norgd zPl3r@mKa1u(hw~Mh9+jSegT$lUpz{TWs+cwA&BNiNv0-SCDXbwYwCyR+wYg>`Jr~_ zcEyly005=B%25XZxheEI0C?=LOaMT-x2o|Q0Ap4P1fhY{LTa_vSOFrZ0{`tk0|2C@ zs;&m$_y+*26W~n}fc**3UIy^Y1yIosu>7mu{WqNe!f>_2y64!8doh``h$V=E**ujC z5}qspJ+b9n6MZ^-5i~ztM5;xIe@dD&_^mDz=!sMC)k^#~8eOXTA#S`p9HIjm+(WM# z`7ho)z|miauI2-Y0SW1Qj?&d1A!cnu-SUFKpjEx&7@CoBeK=Vvshy7y6nGG z$F2bMo=}uEM_oof{@&%;`WR_0a=-J7Tg$4+_z7xC=S^d&3SI4Ldt?drL%g2675O8U z*nlqzZu9E)GLN!%Ax~{}ot9e|beQMgc0DqToMdYPpZkJ z7P5qbli=P#UdiqaXl%O9zFUF%{WaV)^l5p&&RyrW^Iyx(I3rnoQ zYlR5lBBV7|mDbDJdAbFuqsX@z7lHPW#=2gJ3~Zyob%%b>qD|iqd1ai`X?JKqr&{Re z&1BBV&(W*td+SvXqOfA*QnGDRIXr#vC5>i>UM7NLShd*Cl*@R(tmTj+Y3}d(oebQz z@_YHA;=J(fzlzQtMtp`wWpzY|NZ2pL4-7pq+%blajp_OH;71n_VXo%el2$NvPcTeO z&_KR=SBN*X;b7fl1({1zoc(ilI@`q?B&~tYrfZ^vWAgOioT0m~FHCUvuQSADCM=)623$%DjxlytLS~2N_1)8Y`V;_s8d-&*$UH&DkhuqBH;mi`kS1V15v_ z62NHn`Y8Y*73Q6lfHph`ht{^>Aulm*F#_JRH8a~T0HDR@ye+^{Js_S0re^{18&G8c zzFUEHEkI=X`MrZ#03T~H8S{^f*aEY&X&LXAD$`lG^DF$>G>4O_LruI0TXf#;1X9G= zDJfce4&a@I+AiLIjQY5NW{Ve8EOh2~FL74O{5pD^ol$@rFx8FRV}XtnCJ=VDaH8Jy z+X})QiJiQckOp`cliBDuyoml1E|T1o*=3Dkn)dOlyFl1fbg#ns4t71MRY;X=k#-=; zJf}}H&@izRgbl}yLNe1|3MrWd!k=`%$PJbCse>ghCGXjeQqR8(D)-IRM2qN;Q1!AJ zm-^wpvk#QR?$nM*Dt1oe^UocoM{b_Eal3x--gq)DlWNV< z<;II)LdgE*_Ju1y&ZFYcYFwKX%sMSU#_oo+wvJu-vOkNyRZ8V7Kr9~=yO>9=riZl5 zvsP{^qU}Oe>f?zGw7p)xk~PI}{z&SpU+xP(vjDuhXpyK%vd}*=sepQTsW(NsuZns( zQ;|8BVPAG;`Q;evGP34TanHQO(hZ~83UH3+stDF52$i|#TwMGLl6LCpLCzmWyHwI0 z$AM%KHe>N6wyL?Hv}cli$`G6#oYz2V9jB+uY_H-Oy!6`p&9o^ap^ZC0;`*mfv`w}7exUiUG`Kr0fIS>!TpEvgS#M?%fNJR%TC2T0Hn@SSq|Jd4A5J^b_}3D zf$I+7R{$s&1X3IOYv)S==CRi;R|P*Se`B#?T@E8*TDnwEauXs!Vj=RY#DP}bczP&m z6B`l9BD=|=KFuWG10$lFVr*XfSi2+*l~6wR9N_ z_iQLtU9WKdSZAGjl@TSo=j{2?N<3W_)a_6-uiv^x&b2F96VU>)+mZ4j@EnZR_J$uG zJ8jaA`#WNHlRHAiey7-)pgribQyqo!x^AwSOhLIxKJk&7L)*TIG*2$8epxlxD3m#K zubu{ZvAF&Bx4yLuX480N$Mo^QWV(USjp~KYvYe|e{}9Qp=>#X5b$1vEi(!^x^d%3* z-6VijzgxhGM=g#>U^U*l`PjQ@5IU$gQg~jgt?X{hBJj9zt!&zh_irp#ufSZ|M%6zL>5mu6R3F#x~4d#k3i!36-`5}$j@6=?epQ&hkG literal 0 HcmV?d00001 diff --git a/scripts/system/create/entityProperties/html/tabs/web.png b/scripts/system/create/entityProperties/html/tabs/web.png new file mode 100644 index 0000000000000000000000000000000000000000..c1fc5736193f968574eb64a4827c14dfd181ad0c GIT binary patch literal 835 zcmWmBZA=?=9KiA4J@k6C^!lHr<-tz>Gh4EB6d3@(j{;CWBzHgQUD;U0Z2Ci`gQ;;cK|$f8X&(r)E=(`pg(ificJH*c>dG0YNmuDP+FQS z02Ue11;(StOZdm!1NMb#UnZA8DINIJ8oXjw_ehxv^l44W8r^)AQNL7*QqCUvA*4|} z4(hi1Mute3R_hv8U09H&x~kAi)T9Ho56#Ro7o9h9RR>TiL_xkszjAkwPYJ3=+du^Q zqo-%@h{ycSSdRP~!y@BPjxIdMskeNYZDh?jo09#~`v{Y>8C{4t#xB4Kd5aGFt9$%LRzk=VwuWg^H&mrniDaC{~h zFkxwbaCqd8$#XDagDmKl$ zyrIEcAnV3;2g=X|f2)Dk2uonRt;brld5px&^7p=PEwXvL_*nY6$kh2H{mw@D48774 z={_0!9k8@N`RHYxyHOkGqGG(ernjv4<}AHpj0{wxK)wHP=MLYi*}TQHp2xOJnE}Dn z8`RxW#6`iX_iZ6w!^Z-|zp-K4o68z^jTvPm@QAm+t1e!H(7ATy#k}0>0gne#l@j=y zpR^}myFWTyKAV%LuJ41B6BEjA$4)BpdZh`GkxO08z@kK(6(|lyJ67MDubVps0N~oa KxAv2o4*&lh4>h9z literal 0 HcmV?d00001 diff --git a/scripts/system/create/entityProperties/html/tabs/zone.png b/scripts/system/create/entityProperties/html/tabs/zone.png new file mode 100644 index 0000000000000000000000000000000000000000..276ba2679991e820a961fabdcd89d804c48499ec GIT binary patch literal 552 zcmWm8Pe_wt0LSs)^S&#y1gK*`HV3G` zfPrdY%Lkl%3LLocxbtHpKxW-e$N5_u{!A{HJI(&-;`PCGeW)b7d)6M+RBAui<`dS2 zbR?KD(Gh-HPnDyxEUzk2F=W8bfGA-lE5Aoyuf=(W~ctUkxoIeVl?|U{4<} zaLv6m4{}+7sl|>ZGO*JnZgH(_O)If+jT{j`;zFER605PmxS<1_wEx0;wRTeMOYskQ z6?Qm iTC`7++~!5^LKBFHM&r`#yRZF20N_5;;+$*njs6E|&akNf literal 0 HcmV?d00001 diff --git a/scripts/system/create/entityProperties/html/tabs/zone_ambient_light.png b/scripts/system/create/entityProperties/html/tabs/zone_ambient_light.png new file mode 100644 index 0000000000000000000000000000000000000000..ff01b16aaf0baa4fc791c8d79b741088f5e22a37 GIT binary patch literal 1549 zcmV+o2J-odP)z@;j(q!3lK=n!AY({UO#lFTB>(_`g8%^e{{R4h=>PzA zFaQARU;qF*m;eA5Z<1fdMgRZ>gGod|RCwBA`2YX^Lm>VN#6N-94Tu?_^iMRr1u6%^ zGqA`fLglo9_!AI+1DOpFKr9Rl4AMZn28a&;@pT3W0MYpjsNgXYdj$|*K$AZXrJnAeq?xd?>fWdTbCJre*enA%`f=8xU4cJ+S6(ux(@&X z2o%X%pb=LfB*tnz=-T6BS*ik?_WMEf((&S z(Pk)3^k>jgl4kh(?;pe8zyE-SGcx@C^_$_tmv3P8K*Je0dH5MvSlL7tZ#_CuNm|Su z=#W29a~S~whzUsi17dJQn7IX;>e+aP@(2hqsOVcVlqUy(4gdc07sKyAf8mxqdHIgv z+mBxiT)ct|ub)0(`10W`12DoFK7Ib;bneCjcc@!IX8r>RAdm%YppXHHNGoea+_`vy znNLWJ;osjs3@?FU{S)X~W}t6?5e`m%|A6=pkS!{}%fQCL2{h(E!;{-r7}(j_86?Go z8Lr%U5(>3|8Hl+70tgld_rM}7tPa0_{a}z)(*=8d{`!3k=Wje@5EkHJ0D7H4Onn;I1wNNfB*tnFawB}1Mxu~E{-QU z$}&PffBykXg5m&V83!9HIFet#{|wA*3}C~*{`kotAS%gV>>R*g>g2}&)CZ0uPIk7} zP_y-bI29m(Ko+C}@imYIg1p>^K@waXY~Wn0Dks69A}bC~Js{10{z6>-=kH&zrQzO= z49tGcVBh`%I_mwWub{kg4r+lC5a$2{5GWP>f?{BhFs}l+6r>oGdO#S&1|`j3zyE@1 zkl`RpKmcS3$Z$}~0v98|q$@8evL0#yC>TBg1P~K)Mtkz={gIdNK5he90&(d-aL~Z= z0LXA;OF%TNEc*fqN_N)MvJ%3Zk&7aL0AhmX0dQmk%aVUTe*P|g{PNu^kf9(0U>Fv$ zAdA4h{PPFwa**-Bl*91$hgKO)b#@?A8-H!5U8+A1Tsz_RW=OMR_$>D8ng_k zSey%(=0S#nf&%Psu!a91!3e}}fDsQg{IjEpW}>61)>lYNs=j#-QhLnW*04Ot$@B;|a{vMeWPuhm*S$lRET6c7 z>FUL^-oUgT090oR6p{qya8QNw>i4go=Y+(iH#vLwY^+HM_=&}AULckM2p|S%1szAD zD)SXU0D&Tx2Z*hpJ^*F!*U-ws9L+_qq4KayB!?z{35Xv-U2Y3ClMf((7@*CT4?z48 zh+UwzyFmHKcpZ}KCS#F@g@P8yz@;j(q!3lK=n!AY({UO#lFTB>(_`g8%^e{{R4h=>PzA zFaQARU;qF*m;eA5Z<1fdMgRZ;hDk(0RCwBA`2YX^Lm>VN#6N-94Tu?_^iMRr1u6%^ zGqA`fLglo9_!AI+1DOpFKr9Rl4AMZn28a&;@pT3W0MYpjsNgXYdj$|*K$AZXrJnT@;#xE@TtEqk za{vMeWWg^e#s}1(^d=x)i6q8~M-M0;eF6v|CM+2Z9dJNh3ksUMK>QSl-$2v5Frgv_ zAb^;lu3*8VNDAuRC(yF~2N2%?VjgHX;{u?BzyT0IAPbU!crSs-0y*F|w76h^vO&NA zkG}IjoB|L)AdT}0c+(h4-#`+(2BmfI=z9djivR)$X}rAZ3}EMI~lWt9y&+ ziWMs}v@DhEL4>xRBcd{{WQ1UE2?AXuWD!{s)6^UG;rH!V<;h-Y(8g#1z>wu~<^q6u z0;dLm-rdVX01&prwWb_EXPkiGT*Jg*H#yu60RPF#zd1DkKsLB?-2nUI0E8m|!wP`# z6`&#sV4x5nr4GQf{d7Uc3IJS@<#goj`QQyHijqObwQ`!+W00bohE~}hsuDC$lW%s$ zr+>L4hK&3nrry9)t6r~vMIWlA2pFtTbMSIlf34RxX}^jupfzdXmm8Tf8$Sh=VG82b zQG*=jYP}S-3lFnIFgw~&#oz|@0L~%rG#n{?u*4{}HCHn%Z|sipMHE%-oSe+x4*Fgr zuiI`30LynCo=?ALw5Tr7O0yIvdA5Yh-vDz(Xl7X7i1E7rICqznMGJ0)>p6muTw7W$kc2X1FSSG2Bx}y%-|a{s}r{gfIEhY$)DM_jvFXgK&@3P zPb}rz7>;;SpG-bD<{Dz`dpDBRIQWs?;N->B%E*t!fM(5f3Vr2Y1{D6MN;)srncV9+ z>1xIcn>i$G3#ZVoU9jI8m4wQo_{U=DBfT8sSsF(kjaZCiU6V$xL0Ccwr;a^~Ur3il zN{z^${3f_u@iRp_OfeuC=9eaO&V)IwJd_Rb=oT^9>T#$C1XzF8?kk9NSTzQ+7;yq$ZxcjPy1z&s_o{!3YA?6>g> zy+zGZebd)iHq~qMsobNHd?MzE=ksP1ohXE+*3OGv@9AeaGP~qwD9K}~!-Eb1@ZM@o zOh2(Su)+7;Z@ee3^exJp#tsSj;qLKC_I$eF{?T*KH9XaK7whJX9b~dM%>Y@Jl#=$M9BGo%-rQeJlE76JfdWoA2D(+dy(12--Zw*UYD literal 0 HcmV?d00001 diff --git a/scripts/system/create/entityProperties/html/tabs/zone_haze.png b/scripts/system/create/entityProperties/html/tabs/zone_haze.png new file mode 100644 index 0000000000000000000000000000000000000000..0cf96692f834c6830fce76295e73b676ec5f03e4 GIT binary patch literal 594 zcmWm4T}V@500!XqoU^n4xnts-v-G?02h5>nkr?VXb*Z4{%t9|rYe5E5imapr&t~O{ zis>*^1W$?Nl|LX6WEaYWLuSk_GP*KJNRw(2v8A-w#dG)Eudk~#Xf0X*hU%({1_0(5 zwGzPQ&EhZsO=neeH=s+1VK6ox8;UEoS{pF`xOd;-2SA)v4Yk0n3_$D$B2hrx0bF^& zZW~ZE0wi4@YF#-EFmiQ;t+D6RrEoMFEhqo9fl~KJgEv|FedhQgpRHOhn3J>0win#t z1fh=`H3&3Euh+k)i%PE%A(v8(^@x6YGyl+SUTCHM(zvM!t}9rVdk?v%MRbO5zCHL%#lZjT0MvO#klHymjiC?Ck@o$NWQwXxh zN_&mja=BecLvtD;2K`sn!}?av35B2=Q{)a8q;M4OoDn9l>JF1(YmnP&6u~z8;sP6z z>8E3z%^>d>H8Hi%?A!avUoJ2KR$V;lI2C7RST8@OYHIh@*diiFM5@eULK;g`XR7yX zET!#9L!VRgloak>iC=U55J&tEO0e==PmxcLel4_|8=VE~t4SZo?9+JDY%SMxC;Ubtnx(ZTMtTtMZINEQq7k|0$k4Y;=itCyk4fIHpRWX? XMA6=zi^c`{H2_rG>ndi-+C2XOVAjQD literal 0 HcmV?d00001 diff --git a/scripts/system/create/entityProperties/html/tabs/zone_key_light.png b/scripts/system/create/entityProperties/html/tabs/zone_key_light.png new file mode 100644 index 0000000000000000000000000000000000000000..6527c65320bf61d9df5b514c6abeb961a28d40f1 GIT binary patch literal 947 zcmWmBZA=?=9KiA4^-8ZjTKY#G3M-=rOolKj55)|(mH*N5G`De*E~!uDVJ_lAVha+G zEzm0p$Cjak%rQ1ux3~mR#$a^|8&QyJgt#awYITbt2#a>XNMy6sh8kXc-hJPFd$>bo zDta3Y0IG^|a}@w2Y>~?VV5wza000#B@)w!_B4f4?FnDpRkiNzqWC6x|PyF|MKL9XC z%Bv0nv^@#n>;wpg0i1sTH0J>LYXF`d0MNYASM4nYAfKu*vzFFh>H^_#*u-qoViE6C z35o8FO2bq{CiO-B^|_tJs~$cOgF49bDuj0_mCEn%luS^=db3Op-v*V#OSw-Rk3iM9 zzbNYJCDM_Lw1h)~fo}+@L`C_v+3vrct$AmTeSnRGoJn_Q|B9#15iuDOM>e{V*7G`y zD+X^jFwe|h3Fje-kRqdI&NQ2=t7ynXI@9tV$@6)121DWWbrG+e7)B_J?(kOSJf$Nf0x^=K$qwP#Kb78&@NblR zser6A8S+DXK#hSezmiwR3egxTXG-l=F5tdC%undpriX`_2S=yX z?WU$tBYFvYZQ#ff2!wZ)(`?s6_UDWEE-fBVzD=ZAM)&r$vjaOY%+UJdN$i`w0@Fr| zFIzYK{K+^cxJnw62X|zluLy@BI^H80mm1W}g=pxL${7xYTy-+f#(nB^_xV;AW$F5q zbR@sHN$^EDq+pyig^BO0@%$swuot`{mJjh!UgnQ0`?G>Y$=uYZtXZ6;l(H?`tJV7r0aQ#56LX6{X zqD60T_l9dZCyH_Y75CGX1;0l;N0R(HvGoW~b287NqM^q^kfc6vq2 z^`15Le=g0g!}?qA49-&sD;MmWpn6U-yr$=jdA9DA+w<0y+RHFvx3S)2LYe?WU3*Ss St}T2C08mkK$b7B1#`QmdhF5<8 literal 0 HcmV?d00001 diff --git a/scripts/system/create/entityProperties/html/tabs/zone_skybox.png b/scripts/system/create/entityProperties/html/tabs/zone_skybox.png new file mode 100644 index 0000000000000000000000000000000000000000..17697a817b95c802e2a3384acec627dd5d1d71da GIT binary patch literal 921 zcmWmBYfMvT9DwovdCzHS%PD=OP77jqS8fyB6rl=i()TDR7;zOhGIs$|650@SbOaq6 z!YLpgT(Y4s1*SkTCdCUA$1W0`z>ZUKWWZb`b5YXBWeXdYxe3v<3m<;po^MaRW!HAC zCR76e+RTi!YydDUQ7Hjn;^5{508p1?>@5Wd)GuM6_0&?q*@P?spy$(yXS*8#fD~k8 zX90W^1t8V{EcyY&KLEkJ^~9@+*nq)=OSfXSO!hh#^tg&`(PFxm=lL;uRVnGfTc%XO=pyf)h!6f)f%9mi zIp}OV>xjpz7zd)@EPk$))fwGqRvbW!91#t|08{2IP|o%nB-S||Dw)LQ5GjxGrjlH( ze8e%MS6B~;FgT3_()Ld{^8k4rBo)a&H^?VZ5C2LjAk_-jWqa^Etq3maPay{wYbq(M zweBb1FrIXa>05CehWXtMsUo2GO2!d=ycTeKUD3`c;{~B>dL4ckU`>v6gj>RZ!}|57 z45NeHE2S(kNh>`CZ#4P)ht4476zeeHIPiv%Lg&$%y9tQHY@*gi_nB(@D)dd)Lxyz5 z!I)oMMc0m1JYGgbnwrmAbKDnQmcH;EbKoH)_a-&$F#!uE{ui8Xm;9d1s|Kh~2 zOY|idBXL}3z0>I5fZLDE4-0CJh$E)&InS9i?&daoY(cs{Pc6?i+yEr0hrb{`GZL1u zawRQR%6sh}RJjB;02nUryII%9HtOYWVE=(>jFlO4sINgIzT zZ#i6U8K`{eAsW(c-*5q~DR{BwJPlLI?^%3C_XEHIL>y`CGGRaKNua-L`JJXdaL2IrL-X0PcHaaDrMm|lSW61_R zFW~D+PZ;slH|df9sd7%(JEJxovNLsoV)cI0-KT!n?fW6ayyeRB08AIg`cQ9cB=;ZP z!{;mwZhF=$=9V+^+$B!o?w_x-t|liAPknBq6H-xnH{5YqKLf Date: Sat, 29 Feb 2020 13:59:38 -0500 Subject: [PATCH 02/25] Delete particles_acceleration.png No going to be used. --- .../html/tabs/particles_acceleration.png | Bin 914 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 scripts/system/create/entityProperties/html/tabs/particles_acceleration.png diff --git a/scripts/system/create/entityProperties/html/tabs/particles_acceleration.png b/scripts/system/create/entityProperties/html/tabs/particles_acceleration.png deleted file mode 100644 index 5a52591bf7dd6ef5334040ade840b0b00ec33ac8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 914 zcmWm4e^8TU902g|`|jo4+!%XcquB!Xh+&vBnP3gf@w^0cgiHiHn|VpEo-O3U#pSG< z+`CEKEB-itg&ughQ5l_g)yiacM995d=!xvSdAG`|n3o-$rSI9r63%t}@%is_u)(!n zt2U_tKwImqZUlhE3sfus{N`Ji0)Rz(obC<)jeY?IeP}CZl=m5QpG}tF8@oa|pu%iO_aP-O!EEG{^h=|B@i{&d5eup7 zgoquP8D2a1-P$js86WrNi%$kpMuVOKN}_K)(2Hh}b3J*M1J@oZB1SYvN3u~JZ7nV9 zd=BK-@Gl^3^tu6&!=!x}Zq5n`b#0zu`ZKbPmR1wLQJkXX9r&?Q;z^rIsvz@P@l%CY zcd3g)B(&#SouoWAR-Ywqth&RmL;YaYp%qkQ4fn;h=&7Zz0wNQatd#5+ z+?^-9q7hetycxT?DyrF@-vbG==%eK(oW=6X2giNk-r!`03h&e;LsuFpX}ICYeqy1e z88U1X+sS@!rg$O5F*k?QVn?_)IJ)7?WuTbSv-;N33D}G8c0a1pwk|GqH3|t2B!NNK9dCKuZ)cchPDMwIedsXp3s5!Hj2j$*=_g`ewUuwk#KN&6 zcj)pz=CZkyt+wK!N;-KuR%o_lAu@5*5Fc Date: Sat, 29 Feb 2020 14:00:10 -0500 Subject: [PATCH 03/25] Delete particles_spin.png Not going to be used. --- .../entityProperties/html/tabs/particles_spin.png | Bin 772 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 scripts/system/create/entityProperties/html/tabs/particles_spin.png diff --git a/scripts/system/create/entityProperties/html/tabs/particles_spin.png b/scripts/system/create/entityProperties/html/tabs/particles_spin.png deleted file mode 100644 index 32238ed8f33fe6a1fdbc6b654178712f1e3021f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 772 zcmWlWaZFTo0LQ<-$9s>1JK%R(a2So}abV1618o9w7tJgAf)g|sbPuGuo}sx?P#&ipxbnQh6YwF38aBZ(O|*E|++?f&@u_xb0u&p@E@ z<(%vl*#L5U4fR0)jx-h-z}@cWlK`^18eZE6SeK_EIPp>15O;a}9w2@s{O>Cx0F)gK zK|jz_3g|IlAqD6Ufc+J~Y%8!~3@GRv-gf0BKE1|nrcqq7 z(Dv*^4T$J`n33?TRrT#P$_oQKeOX_*86uV(rP+C_%h4>GwE^oCiI>rJk^2xVbM4Mo zPZrSc*vOx~yTglh!Fz?VWlz^E&XRs2x+eUOKg$&dRH|RDf*bv zb!ZKJYlpqNudUHRy+7*bJtD)Ujw(4+sGggV%>I-Xn+X*EF!>h}+L_<$ha3!-!b1Yj z)bBWcI<|$W#?|gHyK$6X6!=Z%&NH?}MF^I*N9||67_U(KCW>4)bNOf@d3Qa1)S9SS zeZ!_h(8f;v`n0@6w8CMt$(?`SzR8u&z7R>0;j+NN%h6B2TxMK!ezrjPdwgf34xt=< znw!=N@#5$9#DdpWely=Jg=%+iBFDyW4_s#;hdWM6^zHtM`DcRez+oa-wvG$sj$HPR zeK5VRBYJB{J($7$>}U z;n7t~w_kjUzW+h9#9(jPGLi$qhBxc_pRB0br2&A?+gN|Dt~L5UWwj6P From bb422a38321fa02d9c0c991c21c1dffb6c10bf05 Mon Sep 17 00:00:00 2001 From: Alezia Kurdis <60075796+AleziaKurdis@users.noreply.github.com> Date: Sat, 29 Feb 2020 14:02:57 -0500 Subject: [PATCH 04/25] Icons for sections reorganization behavior will be split: behavior, scripts particles_behavior will replace: particles_acceleration and particles_spin --- .../entityProperties/html/tabs/behavior.png | Bin 754 -> 1053 bytes .../html/tabs/particles_behavior.png | Bin 0 -> 650 bytes .../entityProperties/html/tabs/scripts.png | Bin 0 -> 754 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 scripts/system/create/entityProperties/html/tabs/particles_behavior.png create mode 100644 scripts/system/create/entityProperties/html/tabs/scripts.png diff --git a/scripts/system/create/entityProperties/html/tabs/behavior.png b/scripts/system/create/entityProperties/html/tabs/behavior.png index 9201fbfb721790b6c5ad3ff7451a2d28b53e165a..12662b8a1de2255a07eec846daf130232f8af4e5 100644 GIT binary patch delta 951 zcmV;o14#Vx1)T_xbbkYrNklG&0SF)_9EPhyT@C_qK&%MFUO@a6ioKv>aZoj-K&*z%Ab)@W!e#*n5YGl;0cda( zKwY>Ohz|nsekdCxmJd}U2-U-mZWurSVY9#&h;4y*ClDJ$4g3q0`--IJ4^++wh<5<7 z9aJw000p00tnp#XDA&D z4cGZV{0QoOEg-%IO|F4J>;uGafVdcl?*nlpRId}VfdB!7Y=JBg8$j8&pc+6fS_Z@k zK>P!UF9GpCXdbu;b#)35p9kU(P`!pwv%ml#fRHVy0e@lzAl?HFZ&3K30pf6|D@C9Y z%L>E~p$-TJ;*&tk2Nl~5HKPV*C_n%qN3uWEMbXfRbAhH1P*@*E%H66!Tn)s>pecdv;4;g>} zLJlHOvVRi-;zp>~KO@D>4QQJG4#aDr`QtJ)g@J%JG&k2m&A1FR6d-_*eV_r2D1B(k z0fA{i{0WG|pt)BH>PmhfJ`Tk7Ks*(Qw?Ta(1x;xhFhcY8~#tOLZmfVc>V^PoA@ z99ojH0r6yLzUhEsF{l~x&@u}Q00M{+R^b5a16`FN2G2oCWj~<# zsAAsWlAb`*#c>|K64A2yF09tDPfQns%7T3$NK z1Ahb%dQmYS>e@bNq=L$xZXhm%rVdbHcomv-|3D*L3R-t`L-j5|HV`0y&@DIx4W5V4 zG6m$aFVN)a1&sq6AU+CBL7G792u+Pop}G4MvVi~rgd7Lx#Wu(nSeQUP7xyF)%25A+)%NhNhP1(1t)Kvf;=8Ab=QY-E08} ZFaSES%W(CmMw|cu002ovPDHLkV1h2cbV2|C delta 650 zcmV;50(JeJ2=WDxbbkV9Nkl00aQ zMj-wIwVVxz{}bWJA3)py#1qgZ0Ro5xh;x9r4~RQ~_&5;90C5NqcLDKvAZ90E!CxS@ z1mb=m{sY8QpyJFR2Lc2T$bupuJ_p2yp$c{aaUc-?1L74#hJVBos82v<%>v?IK%5K2 z$p8TavfvvKYXb2qXz=`n+AdFGaGwO?c&J5QP#=8;2q2IJRzS=N4eLKp+t)zFKwt(C zs{rwD9N`ZV&j#Y}K>QPk-GF!+5I+T(0T4hS3qC#uTlOZ&MpFk7D zTWAnX2PpywAbb`uLwym9M@=aZn*wnpG=k?s`7dA!0Dl6A(z56kG`zPWIp`;{0)PM_ zCX%_KDFj=Yv>Hd;zyUx2u@ER@SfJ&THoD7@g7G&rg1=!i1R#J2sAFo0MWcv0T5sSSuEW!ADN|oQf6wbhm9C&4R<$9 zuN0AKvP5VQ27?|fdVo|ooggJWC@nHVCmEVhtBCc$g&%(3eqE)-1u@ad(Et!*G8)PN zAaRA92Y{KT-C+PwoHACO22jSYK+r$1GPnkPksiQz(f;>94*-x_V_6ZvnT-Hq8^G@f zfVco)(*Z2j0OYy>5*ja8kL3d}U^3{-o8Ozmkx1k)X;lR7IKyhZjx}pZy@%)J1Y22Y z4{KeIOTsF&%Ug#iWH4RRf*>5HH-*3lYFA0s;8S2ng9ihL<8g#HCy|fJz-MQrTxw!M zD$UO?OsI}zj|>74D@Avl6k$T~I!&*^rjZ zZ_r-YvaE&Ft?E~kz+vT^wfUO1-Xv+vSs5pdc|sh!NFS||9y`N3_G2Q_2k(%N#aVM! zFN5E*p*Yg23OJVMc+Zg+(XW-5w!3J8)IfhkrFm5KJcZdzcZ_sQ439d#>(%4wBAET% zne)h(a;|EaHvor+o=rN#OOB_0HR+4Gs=#!-qmcF_4?_8kh2aUAoVaH_np#;m|Bnei zq;_S0=Oup$`Bf0B7QvMflqdd)l`4=m7q4c0soQIZu6qj$N_2oY4d)E!#kPG#RvF$r zYdleGv=sWhNKSBf=jgXInrX)aB)7tCSig0H|_I#w`F4 zK8IrgV4{5e3;+a_nF@{o1ghsy(AqXPm=c580MK);^7rOO0Kj`pTg(6_VgUHl0KfbI z{3n2;NdTX%0Bf58=9iu?8pr~m?Kwunwu(`k&+pgEmQe(flRe?UppEJbwUEe2Yw>&5 zmW5~OJ8de#ubzAwNyb4`dtxYBkPAonzF=XUb7nOf0tbi6DerMy9Bb__!gm>|3eU>K zt!`-;D`*Bibw%Mcg;?96JVrY(^2?-9V~seka}z0kNlQhfEl_+06w^Dg0PUx}@%C@N z>e0kawz76cs_4wzl^1!E<#2<1I~fj8P3!ZmZUZU7j{dM5 z4vUW|&nvqE-h*~Jr#9>G5(1OACL)^>SzCnGz?``^LJkCpKRqV)@+A#EL=8m#3wm8M zsUra!qy4pmjf-@ycA^#w?Z~W%qd8m|mXvWaq(0jmhc42NXr1dr`mg0yCD6i~-jAWW zhxek^e2nd-d5Bta{(eUsQ`mA_lRf^JBG7}D?y0FO?r!bi3reqD% z@lK2O`E2c#nvnRa0AXc!1dYf{0zdWchH+4_AT@=eg{Jyq)_lTcsidXv87bOMp+X_b z-8)r?^d&${%6?p&xxruM@g+rQ^z|0$%VIPJj-@Ej$xt+RL4MY`I;6GB&~=QJ_Svts zC{#fQ!UW2p)#V29|A+f|ta69y5M^6vuiL8-uXcx@)0ULD`(?TLK#8X5?Q#OIALdiY X3R8urbTtLlZUBIs%v@tvy4Cd;>L3MH literal 0 HcmV?d00001 From 29e780e3f186ad3809be09dda687d121477faea1 Mon Sep 17 00:00:00 2001 From: Alezia Kurdis <60075796+AleziaKurdis@users.noreply.github.com> Date: Sat, 29 Feb 2020 14:07:15 -0500 Subject: [PATCH 05/25] Sections reorganization 1- Section "behavior" is now split in 2 sections: "behavior" and "scripts" 2- Particles sections: "particles_acceleration" and "particles_spin" has been joined as a new section: "particles_behavior" 3- Particles section: "particles_alpha" has been merged under section: "particles_color" --- .../html/js/entityProperties.js | 77 +++++++++---------- 1 file changed, 35 insertions(+), 42 deletions(-) diff --git a/scripts/system/create/entityProperties/html/js/entityProperties.js b/scripts/system/create/entityProperties/html/js/entityProperties.js index 95f680b49b..a18f9e37c8 100644 --- a/scripts/system/create/entityProperties/html/js/entityProperties.js +++ b/scripts/system/create/entityProperties/html/js/entityProperties.js @@ -1063,14 +1063,7 @@ const GROUPS = [ label: "Color Spread", type: "color", propertyID: "colorSpread", - } - ] - }, - { - id: "particles_alpha", - label: "PARTICLES ALPHA", - //isMinor: true, - properties: [ + }, { type: "triple", label: "Alpha", @@ -1107,12 +1100,12 @@ const GROUPS = [ step: 0.001, decimals: 3, propertyID: "alphaSpread", - } + } ] }, { - id: "particles_acceleration", - label: "PARTICLES ACCELERATION", + id: "particles_behavior", + label: "PARTICLES BEHAVIOR", //isMinor: true, properties: [ { @@ -1132,14 +1125,7 @@ const GROUPS = [ round: 100, subLabels: [ "x", "y", "z" ], propertyID: "accelerationSpread", - } - ] - }, - { - id: "particles_spin", - label: "PARTICLES SPIN", - //isMinor: true, - properties: [ + }, { type: "triple", label: "Spin", @@ -1414,6 +1400,19 @@ const GROUPS = [ type: "bool", propertyID: "ignorePickIntersection", }, + { + label: "Lifetime", + type: "number", + unit: "s", + propertyID: "lifetime", + } + ] + }, +, + { + id: "scripts", + label: "SCRIPTS", + properties: [ { label: "Script", type: "string", @@ -1436,12 +1435,6 @@ const GROUPS = [ propertyID: "serverScriptStatus", selectionVisibility: PROPERTY_SELECTION_VISIBILITY.SINGLE_SELECTION, }, - { - label: "Lifetime", - type: "number", - unit: "s", - propertyID: "lifetime", - }, { label: "User Data", type: "textarea", @@ -1451,7 +1444,7 @@ const GROUPS = [ propertyID: "userData", } ] - }, + }, { id: "collision", label: "COLLISION", @@ -1605,23 +1598,23 @@ const GROUPS = [ ]; const GROUPS_PER_TYPE = { - None: [ 'base', 'spatial', 'behavior', 'collision', 'physics' ], - Shape: [ 'base', 'shape', 'spatial', 'behavior', 'collision', 'physics' ], - Text: [ 'base', 'text', 'spatial', 'behavior', 'collision', 'physics' ], + None: [ 'base', 'spatial', 'behavior', 'scripts', 'collision', 'physics' ], + Shape: [ 'base', 'shape', 'spatial', 'behavior', 'scripts', 'collision', 'physics' ], + Text: [ 'base', 'text', 'spatial', 'behavior', 'scripts', 'collision', 'physics' ], Zone: [ 'base', 'zone', 'zone_key_light', 'zone_skybox', 'zone_ambient_light', 'zone_haze', - 'zone_bloom', 'zone_avatar_priority', 'spatial', 'behavior', 'physics' ], - Model: [ 'base', 'model', 'spatial', 'behavior', 'collision', 'physics' ], - Image: [ 'base', 'image', 'spatial', 'behavior', 'collision', 'physics' ], - Web: [ 'base', 'web', 'spatial', 'behavior', 'collision', 'physics' ], - Light: [ 'base', 'light', 'spatial', 'behavior', 'collision', 'physics' ], - Material: [ 'base', 'material', 'spatial', 'behavior' ], - ParticleEffect: [ 'base', 'particles', 'particles_emit', 'particles_size', 'particles_color', 'particles_alpha', - 'particles_acceleration', 'particles_spin', 'particles_constraints', 'spatial', 'behavior', 'physics' ], - PolyLine: [ 'base', 'spatial', 'behavior', 'collision', 'physics' ], - PolyLine: [ 'base', 'spatial', 'behavior', 'collision', 'physics' ], - PolyVox: [ 'base', 'spatial', 'behavior', 'collision', 'physics' ], - Grid: [ 'base', 'grid', 'spatial', 'behavior', 'physics' ], - Multiple: [ 'base', 'spatial', 'behavior', 'collision', 'physics' ], + 'zone_bloom', 'zone_avatar_priority', 'spatial', 'behavior', 'scripts', 'physics' ], + Model: [ 'base', 'model', 'spatial', 'behavior', 'scripts', 'collision', 'physics' ], + Image: [ 'base', 'image', 'spatial', 'behavior', 'scripts', 'collision', 'physics' ], + Web: [ 'base', 'web', 'spatial', 'behavior', 'scripts', 'collision', 'physics' ], + Light: [ 'base', 'light', 'spatial', 'behavior', 'scripts', 'collision', 'physics' ], + Material: [ 'base', 'material', 'spatial', 'behavior', 'scripts' ], + ParticleEffect: [ 'base', 'particles', 'particles_emit', 'particles_size', 'particles_color', + 'particles_behavior', 'particles_constraints', 'spatial', 'behavior', 'scripts', 'physics' ], + PolyLine: [ 'base', 'spatial', 'behavior', 'scripts', 'collision', 'physics' ], + PolyLine: [ 'base', 'spatial', 'behavior', 'scripts', 'collision', 'physics' ], + PolyVox: [ 'base', 'spatial', 'behavior', 'scripts', 'collision', 'physics' ], + Grid: [ 'base', 'grid', 'spatial', 'behavior', 'scripts', 'physics' ], + Multiple: [ 'base', 'spatial', 'behavior', 'scripts', 'collision', 'physics' ], }; const EDITOR_TIMEOUT_DURATION = 1500; From 0eb6f1f1833b71e9cae51520a5ae31ef1303e95e Mon Sep 17 00:00:00 2001 From: Alezia Kurdis <60075796+AleziaKurdis@users.noreply.github.com> Date: Sat, 29 Feb 2020 15:52:06 -0500 Subject: [PATCH 06/25] Fix page height blocking dropdown Fix the page height that blocked the correct use of the shape dropdown. The layout looks more stable now. --- .../system/create/entityProperties/html/entityProperties.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/system/create/entityProperties/html/entityProperties.html b/scripts/system/create/entityProperties/html/entityProperties.html index 241ddd1e75..150025ef41 100644 --- a/scripts/system/create/entityProperties/html/entityProperties.html +++ b/scripts/system/create/entityProperties/html/entityProperties.html @@ -53,13 +53,13 @@ - +
From fa7143c87ece9c479704acad5e19f2e77ac51f7f Mon Sep 17 00:00:00 2001 From: Alezia Kurdis <60075796+AleziaKurdis@users.noreply.github.com> Date: Sun, 1 Mar 2020 22:35:48 -0500 Subject: [PATCH 07/25] Replace tabulations for spaces. Replace tabulations for spaces in the code. --- .../html/entityProperties.html | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/scripts/system/create/entityProperties/html/entityProperties.html b/scripts/system/create/entityProperties/html/entityProperties.html index 150025ef41..3bfbb32cce 100644 --- a/scripts/system/create/entityProperties/html/entityProperties.html +++ b/scripts/system/create/entityProperties/html/entityProperties.html @@ -1,6 +1,6 @@ - - - -
-
+
+ + + + + +
+
+
+
+ +
+
From 5c7e6e43c2c6037cbd8b6dcc4b6983e8b4091301 Mon Sep 17 00:00:00 2001 From: Alezia Kurdis <60075796+AleziaKurdis@users.noreply.github.com> Date: Sun, 1 Mar 2020 22:36:43 -0500 Subject: [PATCH 08/25] Replace tabulations for spaces. Replace tabulations for spaces in the code. --- .../entityProperties/html/tabs/tabs.css | 62 +++++++++---------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/scripts/system/create/entityProperties/html/tabs/tabs.css b/scripts/system/create/entityProperties/html/tabs/tabs.css index 135f53bb6b..010d6400a3 100644 --- a/scripts/system/create/entityProperties/html/tabs/tabs.css +++ b/scripts/system/create/entityProperties/html/tabs/tabs.css @@ -9,45 +9,45 @@ */ div.tabsContainer{ - float: left; - width:32px; - padding: 0px; - } - + float: left; + width:32px; + padding: 0px; + } + .tabsContainer button { - //display: block; - //color: black; - padding: 4px; - //width:100%; - text-align: center; - cursor: pointer; - transition: 0.4s; - font-size: 14px; - background-color: #404040; - border-color: #404040; - border-width: 1px 0px 1px 1px; - border-radius: 5px 0px 0px 5px; - outline:none; - } + //display: block; + //color: black; + padding: 4px; + //width:100%; + text-align: center; + cursor: pointer; + transition: 0.4s; + font-size: 14px; + background-color: #404040; + border-color: #404040; + border-width: 1px 0px 1px 1px; + border-radius: 5px 0px 0px 5px; + outline:none; + } .tabsContainer button:hover { - background-color: #575757; - } + background-color: #575757; + } .tabsContainer button.active { - background-color: #2E2E2E; - } + background-color: #2E2E2E; + } div.labelTabHeader{ - font-size: 20px; - font-weight: 700; - height: 40px; - color:#ffffff; - } + font-size: 20px; + font-weight: 700; + height: 40px; + color:#ffffff; + } div.tab-section-header{ - width:100%; - padding: 5px; - } \ No newline at end of file + width:100%; + padding: 5px; + } \ No newline at end of file From f3096ae74d41bcf96571741ca6399f490782e58c Mon Sep 17 00:00:00 2001 From: Alezia Kurdis <60075796+AleziaKurdis@users.noreply.github.com> Date: Sun, 1 Mar 2020 22:37:44 -0500 Subject: [PATCH 09/25] Replace tabulations for spaces. Replace tabulations for spaces in the code. --- .../html/js/entityProperties.js | 140 +++++++++--------- 1 file changed, 70 insertions(+), 70 deletions(-) diff --git a/scripts/system/create/entityProperties/html/js/entityProperties.js b/scripts/system/create/entityProperties/html/js/entityProperties.js index a18f9e37c8..70efc9058d 100644 --- a/scripts/system/create/entityProperties/html/js/entityProperties.js +++ b/scripts/system/create/entityProperties/html/js/entityProperties.js @@ -1,5 +1,5 @@ //VERSION 2.0 -// Modified by Alezia Kurdis on on 02/27/2020 +// Modified by Alezia Kurdis on on 02/27/2020 // for "Project Athena" // // Addition of a tab mechanism instead of collapsible sections to reduce the scrolling. @@ -49,7 +49,7 @@ const PROPERTY_MULTI_DISPLAY_MODE = Object.freeze({ const GROUPS = [ { id: "base", - label: "ENTITY", + label: "ENTITY", properties: [ { label: NO_SELECTION, @@ -127,7 +127,7 @@ const GROUPS = [ }, { id: "shape", - label: "SHAPE", + label: "SHAPE", properties: [ { label: "Shape", @@ -147,7 +147,7 @@ const GROUPS = [ }, { id: "text", - label: "TEXT", + label: "TEXT", properties: [ { label: "Text", @@ -235,7 +235,7 @@ const GROUPS = [ }, { id: "zone", - label: "ZONE", + label: "ZONE", properties: [ { label: "Shape Type", @@ -270,7 +270,7 @@ const GROUPS = [ }, { id: "zone_key_light", - label: "ZONE KEY LIGHT", + label: "ZONE KEY LIGHT", properties: [ { label: "Key Light", @@ -340,12 +340,12 @@ const GROUPS = [ decimals: 2, propertyID: "keyLight.shadowMaxDistance", showPropertyRule: { "keyLightMode": "enabled" }, - } + } ] - }, + }, { id: "zone_skybox", - label: "ZONE SKYBOX", + label: "ZONE SKYBOX", properties: [ { label: "Skybox", @@ -364,12 +364,12 @@ const GROUPS = [ type: "string", propertyID: "skybox.url", showPropertyRule: { "skyboxMode": "enabled" }, - } + } ] - }, + }, { id: "zone_ambient_light", - label: "ZONE AMBIENT LIGHT", + label: "ZONE AMBIENT LIGHT", properties: [ { label: "Ambient Light", @@ -399,12 +399,12 @@ const GROUPS = [ className: "black", onClick: copySkyboxURLToAmbientURL } ], propertyID: "copyURLToAmbient", showPropertyRule: { "ambientLightMode": "enabled" }, - } + } ] - }, + }, { id: "zone_haze", - label: "ZONE HAZE", + label: "ZONE HAZE", properties: [ { label: "Haze", @@ -488,12 +488,12 @@ const GROUPS = [ decimals: 0, propertyID: "haze.hazeGlareAngle", showPropertyRule: { "hazeMode": "enabled" }, - } + } ] }, { id: "zone_bloom", - label: "ZONE BLOOM", + label: "ZONE BLOOM", properties: [ { label: "Bloom", @@ -530,24 +530,24 @@ const GROUPS = [ decimals: 3, propertyID: "bloom.bloomSize", showPropertyRule: { "bloomMode": "enabled" }, - } + } ] - }, + }, { id: "zone_avatar_priority", - label: "ZONE AVATAR PRIORITY", + label: "ZONE AVATAR PRIORITY", properties: [ { label: "Avatar Priority", type: "dropdown", options: { inherit: "Inherit", crowd: "Crowd", hero: "Hero" }, propertyID: "avatarPriority", - } + } ] - }, + }, { id: "model", - label: "MODEL", + label: "MODEL", properties: [ { label: "Model", @@ -637,7 +637,7 @@ const GROUPS = [ }, { id: "image", - label: "IMAGE", + label: "IMAGE", properties: [ { label: "Image", @@ -680,7 +680,7 @@ const GROUPS = [ }, { id: "web", - label: "WEB", + label: "WEB", properties: [ { label: "Source", @@ -725,7 +725,7 @@ const GROUPS = [ }, { id: "light", - label: "LIGHT", + label: "LIGHT", properties: [ { label: "Light Color", @@ -776,7 +776,7 @@ const GROUPS = [ }, { id: "material", - label: "MATERIAL", + label: "MATERIAL", properties: [ { label: "Material URL", @@ -850,7 +850,7 @@ const GROUPS = [ }, { id: "grid", - label: "GRID", + label: "GRID", properties: [ { label: "Color", @@ -883,7 +883,7 @@ const GROUPS = [ }, { id: "particles", - label: "PARTICLES", + label: "PARTICLES", properties: [ { label: "Emit", @@ -913,7 +913,7 @@ const GROUPS = [ ] }, { - id: "particles_emit", + id: "particles_emit", label: "PARTICLES EMIT", //isMinor: true, properties: [ @@ -986,7 +986,7 @@ const GROUPS = [ ] }, { - id: "particles_size", + id: "particles_size", label: "PARTICLES SIZE", //isMinor: true, properties: [ @@ -1100,7 +1100,7 @@ const GROUPS = [ step: 0.001, decimals: 3, propertyID: "alphaSpread", - } + } ] }, { @@ -1181,7 +1181,7 @@ const GROUPS = [ { id: "particles_constraints", label: "PARTICLES CONSTRAINTS", - //isMinor: true, + //isMinor: true, properties: [ { type: "triple", @@ -1444,7 +1444,7 @@ const GROUPS = [ propertyID: "userData", } ] - }, + }, { id: "collision", label: "COLLISION", @@ -1602,14 +1602,14 @@ const GROUPS_PER_TYPE = { Shape: [ 'base', 'shape', 'spatial', 'behavior', 'scripts', 'collision', 'physics' ], Text: [ 'base', 'text', 'spatial', 'behavior', 'scripts', 'collision', 'physics' ], Zone: [ 'base', 'zone', 'zone_key_light', 'zone_skybox', 'zone_ambient_light', 'zone_haze', - 'zone_bloom', 'zone_avatar_priority', 'spatial', 'behavior', 'scripts', 'physics' ], + 'zone_bloom', 'zone_avatar_priority', 'spatial', 'behavior', 'scripts', 'physics' ], Model: [ 'base', 'model', 'spatial', 'behavior', 'scripts', 'collision', 'physics' ], Image: [ 'base', 'image', 'spatial', 'behavior', 'scripts', 'collision', 'physics' ], Web: [ 'base', 'web', 'spatial', 'behavior', 'scripts', 'collision', 'physics' ], Light: [ 'base', 'light', 'spatial', 'behavior', 'scripts', 'collision', 'physics' ], Material: [ 'base', 'material', 'spatial', 'behavior', 'scripts' ], ParticleEffect: [ 'base', 'particles', 'particles_emit', 'particles_size', 'particles_color', - 'particles_behavior', 'particles_constraints', 'spatial', 'behavior', 'scripts', 'physics' ], + 'particles_behavior', 'particles_constraints', 'spatial', 'behavior', 'scripts', 'physics' ], PolyLine: [ 'base', 'spatial', 'behavior', 'scripts', 'collision', 'physics' ], PolyLine: [ 'base', 'spatial', 'behavior', 'scripts', 'collision', 'physics' ], PolyVox: [ 'base', 'spatial', 'behavior', 'scripts', 'collision', 'physics' ], @@ -1882,15 +1882,15 @@ function resetServerScriptStatus() { function showGroupsForType(type) { if (type === "Box" || type === "Sphere") { showGroupsForTypes(["Shape"]); - showOnTheSamePage("Shape"); + showOnTheSamePage("Shape"); return; } - if (type === "None"){ + if (type === "None"){ showGroupsForTypes(["None"]); - return; - } + return; + } showGroupsForTypes([type]); - showOnTheSamePage(type); + showOnTheSamePage(type); } function getGroupsForTypes(types) { @@ -1905,14 +1905,14 @@ function showGroupsForTypes(types) { Object.entries(elGroups).forEach(([groupKey, elGroup]) => { if (types.map(type => GROUPS_PER_TYPE[type].includes(groupKey)).every(function (hasGroup) { return hasGroup; })) { elGroup.style.display = "none"; - if(types != "None"){ - document.getElementById("tab-" + groupKey).style.display = "block"; - }else{ - document.getElementById("tab-" + groupKey).style.display = "none"; - } + if(types != "None"){ + document.getElementById("tab-" + groupKey).style.display = "block"; + }else{ + document.getElementById("tab-" + groupKey).style.display = "none"; + } } else { elGroup.style.display = "none"; - document.getElementById("tab-" + groupKey).style.display = "none"; + document.getElementById("tab-" + groupKey).style.display = "none"; } }); } @@ -3730,7 +3730,7 @@ function handleEntitySelectionUpdate(selections, isPropertiesToolUpdate) { const shownGroups = getGroupsForTypes(entityTypes); showGroupsForTypes(entityTypes); - showOnTheSamePage(entityTypes); + showOnTheSamePage(entityTypes); const lockedMultiValue = getMultiplePropertyValue('locked'); @@ -4009,22 +4009,22 @@ function loaded() { openEventBridge(function() { let elPropertiesList = document.getElementById("properties-pages"); let tabs = ""; - + GROUPS.forEach(function(group) { let elGroup; - elGroup = document.createElement('div'); - elGroup.className = 'section ' + "major"; - elGroup.setAttribute("id", "properties-" + group.id); - elPropertiesList.appendChild(elGroup); + elGroup = document.createElement('div'); + elGroup.className = 'section ' + "major"; + elGroup.setAttribute("id", "properties-" + group.id); + elPropertiesList.appendChild(elGroup); - + if (group.label !== undefined) { let elLegend = document.createElement('div'); - elLegend.className = "tab-section-header"; + elLegend.className = "tab-section-header"; elLegend.appendChild(createElementFromHTML(`
${group.label}
`)); - elGroup.appendChild(elLegend); - tabs = tabs +''; + elGroup.appendChild(elLegend); + tabs = tabs +''; } group.properties.forEach(function(propertyData) { @@ -4036,7 +4036,7 @@ function loaded() { propertyElementID = propertyElementID.replace('.', '-'); let elContainer, elLabel; - + if (propertyData.replaceID === undefined) { // Create subheader, or create new property and append it. if (propertyType === "sub-header") { @@ -4311,7 +4311,7 @@ function loaded() { curCollapsibleElement.addEventListener("click", toggleCollapsedEvent, true); } */ - + // Textarea scrollbars let elTextareas = document.getElementsByTagName("TEXTAREA"); @@ -4465,16 +4465,16 @@ function loaded() { e.target.select(); }; } - + document.getElementById("tabs").innerHTML = tabs; - + bindAllNonJSONEditorElements(); showGroupsForType("None"); - showPage("base"); + showPage("base"); resetProperties(); disableProperties(); - + }); @@ -4492,21 +4492,21 @@ function loaded() { } function showOnTheSamePage(entityType) { - if(GROUPS_PER_TYPE[entityType].includes(currentTab) == false){ - currentTab = "base"; - } - showPage(currentTab); + if(GROUPS_PER_TYPE[entityType].includes(currentTab) == false){ + currentTab = "base"; + } + showPage(currentTab); } function showPage(id) { - currentTab = id; + currentTab = id; Object.entries(elGroups).forEach(([groupKey, elGroup]) => { if (groupKey == id) { elGroup.style.display = "block"; - document.getElementById("tab-" + groupKey).style.backgroundColor = "#2E2E2E"; + document.getElementById("tab-" + groupKey).style.backgroundColor = "#2E2E2E"; } else { elGroup.style.display = "none"; - document.getElementById("tab-" + groupKey).style.backgroundColor = "#404040"; + document.getElementById("tab-" + groupKey).style.backgroundColor = "#404040"; } }); } \ No newline at end of file From 124b3fe6a233c53a0012acbe7b7004e9923e9bed Mon Sep 17 00:00:00 2001 From: Alezia Kurdis <60075796+AleziaKurdis@users.noreply.github.com> Date: Mon, 2 Mar 2020 23:10:33 -0500 Subject: [PATCH 10/25] Code minor adjustments. Code minor adjustments to be compliant with the coding convention. --- .../html/entityProperties.html | 96 +++++++++---------- 1 file changed, 46 insertions(+), 50 deletions(-) diff --git a/scripts/system/create/entityProperties/html/entityProperties.html b/scripts/system/create/entityProperties/html/entityProperties.html index 3bfbb32cce..42d73b5007 100644 --- a/scripts/system/create/entityProperties/html/entityProperties.html +++ b/scripts/system/create/entityProperties/html/entityProperties.html @@ -15,57 +15,53 @@ // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html --> - - - Properties - - - - - - - - - - - - - - - - - - - - - -
-
- -
-
-
-
-
-
-
-
+ + Properties + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+
+
+
+
+ + + + + +
+
+
+
+ +
+
- - - - - -
-
-
-
- -
-
-
- - + From 4a1926a9016cdc06a653c03b565ea450dc4a708f Mon Sep 17 00:00:00 2001 From: Alezia Kurdis <60075796+AleziaKurdis@users.noreply.github.com> Date: Mon, 2 Mar 2020 23:11:45 -0500 Subject: [PATCH 11/25] Code minor adjustments. Code minor adjustments to be compliant with the coding convention. --- .../entityProperties/html/tabs/tabs.css | 70 +++++++++---------- 1 file changed, 34 insertions(+), 36 deletions(-) diff --git a/scripts/system/create/entityProperties/html/tabs/tabs.css b/scripts/system/create/entityProperties/html/tabs/tabs.css index 010d6400a3..90cf201211 100644 --- a/scripts/system/create/entityProperties/html/tabs/tabs.css +++ b/scripts/system/create/entityProperties/html/tabs/tabs.css @@ -8,46 +8,44 @@ // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html */ -div.tabsContainer{ - float: left; - width:32px; - padding: 0px; - } - -.tabsContainer button { - //display: block; - //color: black; - padding: 4px; - //width:100%; - text-align: center; - cursor: pointer; - transition: 0.4s; - font-size: 14px; - background-color: #404040; - border-color: #404040; - border-width: 1px 0px 1px 1px; - border-radius: 5px 0px 0px 5px; - outline:none; - } +div.tabsContainer { + float: left; + width:32px; + padding: 0px; +} +.tabsContainer button { + //display: block; + //color: black; + padding: 4px; + //width:100%; + text-align: center; + cursor: pointer; + transition: 0.4s; + font-size: 14px; + background-color: #404040; + border-color: #404040; + border-width: 1px 0px 1px 1px; + border-radius: 5px 0px 0px 5px; + outline:none; +} .tabsContainer button:hover { - background-color: #575757; - } - + background-color: #575757; +} .tabsContainer button.active { - background-color: #2E2E2E; - } + background-color: #2E2E2E; +} -div.labelTabHeader{ - font-size: 20px; - font-weight: 700; - height: 40px; - color:#ffffff; - } +div.labelTabHeader { + font-size: 20px; + font-weight: 700; + height: 40px; + color:#ffffff; +} -div.tab-section-header{ - width:100%; - padding: 5px; - } \ No newline at end of file +div.tab-section-header { + width:100%; + padding: 5px; +} \ No newline at end of file From d1c641de49d6c4deb2448319c630117d7f0d4078 Mon Sep 17 00:00:00 2001 From: Alezia Kurdis <60075796+AleziaKurdis@users.noreply.github.com> Date: Mon, 2 Mar 2020 23:13:47 -0500 Subject: [PATCH 12/25] Code minor adjustments. Code minor adjustments to be compliant with the coding convention. --- .../html/js/entityProperties.js | 261 +++++++++--------- 1 file changed, 130 insertions(+), 131 deletions(-) diff --git a/scripts/system/create/entityProperties/html/js/entityProperties.js b/scripts/system/create/entityProperties/html/js/entityProperties.js index 70efc9058d..d9fbe7c97c 100644 --- a/scripts/system/create/entityProperties/html/js/entityProperties.js +++ b/scripts/system/create/entityProperties/html/js/entityProperties.js @@ -1,5 +1,5 @@ //VERSION 2.0 -// Modified by Alezia Kurdis on on 02/27/2020 +// Modified by Alezia Kurdis on on 02/27/2020 // for "Project Athena" // // Addition of a tab mechanism instead of collapsible sections to reduce the scrolling. @@ -147,7 +147,7 @@ const GROUPS = [ }, { id: "text", - label: "TEXT", + label: "TEXT", properties: [ { label: "Text", @@ -235,7 +235,7 @@ const GROUPS = [ }, { id: "zone", - label: "ZONE", + label: "ZONE", properties: [ { label: "Shape Type", @@ -270,7 +270,7 @@ const GROUPS = [ }, { id: "zone_key_light", - label: "ZONE KEY LIGHT", + label: "ZONE KEY LIGHT", properties: [ { label: "Key Light", @@ -345,7 +345,7 @@ const GROUPS = [ }, { id: "zone_skybox", - label: "ZONE SKYBOX", + label: "ZONE SKYBOX", properties: [ { label: "Skybox", @@ -364,12 +364,12 @@ const GROUPS = [ type: "string", propertyID: "skybox.url", showPropertyRule: { "skyboxMode": "enabled" }, - } + } ] - }, + }, { id: "zone_ambient_light", - label: "ZONE AMBIENT LIGHT", + label: "ZONE AMBIENT LIGHT", properties: [ { label: "Ambient Light", @@ -399,12 +399,12 @@ const GROUPS = [ className: "black", onClick: copySkyboxURLToAmbientURL } ], propertyID: "copyURLToAmbient", showPropertyRule: { "ambientLightMode": "enabled" }, - } + } ] - }, + }, { id: "zone_haze", - label: "ZONE HAZE", + label: "ZONE HAZE", properties: [ { label: "Haze", @@ -488,12 +488,12 @@ const GROUPS = [ decimals: 0, propertyID: "haze.hazeGlareAngle", showPropertyRule: { "hazeMode": "enabled" }, - } + } ] }, { id: "zone_bloom", - label: "ZONE BLOOM", + label: "ZONE BLOOM", properties: [ { label: "Bloom", @@ -530,24 +530,24 @@ const GROUPS = [ decimals: 3, propertyID: "bloom.bloomSize", showPropertyRule: { "bloomMode": "enabled" }, - } + } ] - }, + }, { id: "zone_avatar_priority", - label: "ZONE AVATAR PRIORITY", + label: "ZONE AVATAR PRIORITY", properties: [ { label: "Avatar Priority", type: "dropdown", options: { inherit: "Inherit", crowd: "Crowd", hero: "Hero" }, propertyID: "avatarPriority", - } + } ] - }, + }, { id: "model", - label: "MODEL", + label: "MODEL", properties: [ { label: "Model", @@ -637,7 +637,7 @@ const GROUPS = [ }, { id: "image", - label: "IMAGE", + label: "IMAGE", properties: [ { label: "Image", @@ -680,7 +680,7 @@ const GROUPS = [ }, { id: "web", - label: "WEB", + label: "WEB", properties: [ { label: "Source", @@ -725,7 +725,7 @@ const GROUPS = [ }, { id: "light", - label: "LIGHT", + label: "LIGHT", properties: [ { label: "Light Color", @@ -776,7 +776,7 @@ const GROUPS = [ }, { id: "material", - label: "MATERIAL", + label: "MATERIAL", properties: [ { label: "Material URL", @@ -850,7 +850,7 @@ const GROUPS = [ }, { id: "grid", - label: "GRID", + label: "GRID", properties: [ { label: "Color", @@ -883,7 +883,7 @@ const GROUPS = [ }, { id: "particles", - label: "PARTICLES", + label: "PARTICLES", properties: [ { label: "Emit", @@ -913,7 +913,7 @@ const GROUPS = [ ] }, { - id: "particles_emit", + id: "particles_emit", label: "PARTICLES EMIT", //isMinor: true, properties: [ @@ -986,7 +986,7 @@ const GROUPS = [ ] }, { - id: "particles_size", + id: "particles_size", label: "PARTICLES SIZE", //isMinor: true, properties: [ @@ -1100,7 +1100,7 @@ const GROUPS = [ step: 0.001, decimals: 3, propertyID: "alphaSpread", - } + } ] }, { @@ -1444,7 +1444,7 @@ const GROUPS = [ propertyID: "userData", } ] - }, + }, { id: "collision", label: "COLLISION", @@ -1609,7 +1609,7 @@ const GROUPS_PER_TYPE = { Light: [ 'base', 'light', 'spatial', 'behavior', 'scripts', 'collision', 'physics' ], Material: [ 'base', 'material', 'spatial', 'behavior', 'scripts' ], ParticleEffect: [ 'base', 'particles', 'particles_emit', 'particles_size', 'particles_color', - 'particles_behavior', 'particles_constraints', 'spatial', 'behavior', 'scripts', 'physics' ], + 'particles_behavior', 'particles_constraints', 'spatial', 'behavior', 'scripts', 'physics' ], PolyLine: [ 'base', 'spatial', 'behavior', 'scripts', 'collision', 'physics' ], PolyLine: [ 'base', 'spatial', 'behavior', 'scripts', 'collision', 'physics' ], PolyVox: [ 'base', 'spatial', 'behavior', 'scripts', 'collision', 'physics' ], @@ -1698,7 +1698,7 @@ function isFlagSet(value, flag) { */ function getPropertyInputElement(propertyID) { - let property = properties[propertyID]; + let property = properties[propertyID]; switch (property.data.type) { case 'string': case 'number': @@ -1783,7 +1783,7 @@ function setPropertyVisibility(property, visible) { function resetProperties() { for (let propertyID in properties) { - let property = properties[propertyID]; + let property = properties[propertyID]; let propertyData = property.data; switch (propertyData.type) { @@ -1860,7 +1860,7 @@ function resetProperties() { break; } } - + let showPropertyRules = properties[propertyID].showPropertyRules; if (showPropertyRules !== undefined) { for (let propertyToHide in showPropertyRules) { @@ -1885,7 +1885,7 @@ function showGroupsForType(type) { showOnTheSamePage("Shape"); return; } - if (type === "None"){ + if (type === "None") { showGroupsForTypes(["None"]); return; } @@ -1905,9 +1905,9 @@ function showGroupsForTypes(types) { Object.entries(elGroups).forEach(([groupKey, elGroup]) => { if (types.map(type => GROUPS_PER_TYPE[type].includes(groupKey)).every(function (hasGroup) { return hasGroup; })) { elGroup.style.display = "none"; - if(types != "None"){ + if (types !== "None") { document.getElementById("tab-" + groupKey).style.display = "block"; - }else{ + } else { document.getElementById("tab-" + groupKey).style.display = "none"; } } else { @@ -2309,7 +2309,7 @@ function updateCheckedSubProperty(propertyName, propertyMultiValue, subPropertyE * PROPERTY ELEMENT CREATION FUNCTIONS */ -function createStringProperty(property, elProperty) { +function createStringProperty(property, elProperty) { let elementID = property.elementID; let propertyData = property.data; @@ -2322,12 +2322,12 @@ function createStringProperty(property, elProperty) { ${propertyData.readOnly ? 'readonly' : ''}/> `); - + elInput.addEventListener('change', createEmitTextPropertyUpdateFunction(property)); if (propertyData.onChange !== undefined) { elInput.addEventListener('change', propertyData.onChange); } - + let elMultiDiff = document.createElement('span'); elMultiDiff.className = "multi-diff"; @@ -2338,7 +2338,7 @@ function createStringProperty(property, elProperty) { if (propertyData.buttons !== undefined) { addButtons(elProperty, elementID, propertyData.buttons, false); } - + return elInput; } @@ -2346,9 +2346,9 @@ function createBoolProperty(property, elProperty) { let propertyName = property.name; let elementID = property.elementID; let propertyData = property.data; - + elProperty.className = "checkbox"; - + if (propertyData.glyph !== undefined) { let elSpan = document.createElement('span'); elSpan.innerHTML = propertyData.glyph; @@ -2577,7 +2577,7 @@ function createVec3Property(property, elProperty) { let propertyData = property.data; elProperty.className = propertyData.vec3Type + " fstuple"; - + let elNumberX = createTupleNumberInput(property, propertyData.subLabels[VECTOR_ELEMENTS.X_NUMBER]); let elNumberY = createTupleNumberInput(property, propertyData.subLabels[VECTOR_ELEMENTS.Y_NUMBER]); let elNumberZ = createTupleNumberInput(property, propertyData.subLabels[VECTOR_ELEMENTS.Z_NUMBER]); @@ -2592,7 +2592,7 @@ function createVec3Property(property, elProperty) { elNumberX.setMultiDiffStepFunction(createMultiDiffStepFunction(property, 'x')); elNumberY.setMultiDiffStepFunction(createMultiDiffStepFunction(property, 'y')); elNumberZ.setMultiDiffStepFunction(createMultiDiffStepFunction(property, 'z')); - + let elResult = []; elResult[VECTOR_ELEMENTS.X_NUMBER] = elNumberX; elResult[VECTOR_ELEMENTS.Y_NUMBER] = elNumberY; @@ -2600,11 +2600,11 @@ function createVec3Property(property, elProperty) { return elResult; } -function createVec2Property(property, elProperty) { +function createVec2Property(property, elProperty) { let propertyData = property.data; elProperty.className = propertyData.vec2Type + " fstuple"; - + let elTuple = document.createElement('div'); elTuple.className = "tuple"; @@ -2641,19 +2641,19 @@ function createColorProperty(property, elProperty) { let propertyName = property.name; let elementID = property.elementID; let propertyData = property.data; - + elProperty.className += " rgb fstuple"; - + let elColorPicker = document.createElement('div'); elColorPicker.className = "color-picker"; elColorPicker.setAttribute("id", elementID); - + let elTuple = document.createElement('div'); elTuple.className = "tuple"; - + elProperty.appendChild(elColorPicker); elProperty.appendChild(elTuple); - + if (propertyData.min === undefined) { propertyData.min = COLOR_MIN; } @@ -2663,19 +2663,19 @@ function createColorProperty(property, elProperty) { if (propertyData.step === undefined) { propertyData.step = COLOR_STEP; } - + let elNumberR = createTupleNumberInput(property, "red"); let elNumberG = createTupleNumberInput(property, "green"); let elNumberB = createTupleNumberInput(property, "blue"); elTuple.appendChild(elNumberR.elDiv); elTuple.appendChild(elNumberG.elDiv); elTuple.appendChild(elNumberB.elDiv); - + let valueChangeFunction = createEmitColorPropertyUpdateFunction(property); elNumberR.setValueChangeFunction(valueChangeFunction); elNumberG.setValueChangeFunction(valueChangeFunction); elNumberB.setValueChangeFunction(valueChangeFunction); - + let colorPickerID = "#" + elementID; colorPickers[colorPickerID] = $(colorPickerID).colpick({ colorScheme: 'dark', @@ -2704,7 +2704,7 @@ function createColorProperty(property, elProperty) { } } }); - + let elResult = []; elResult[COLOR_ELEMENTS.COLOR_PICKER] = elColorPicker; elResult[COLOR_ELEMENTS.RED_NUMBER] = elNumberR; @@ -2729,26 +2729,26 @@ function createDropdownProperty(property, propertyID, elProperty) { option.text = propertyData.options[optionKey]; elInput.add(option); } - + elInput.addEventListener('change', createEmitTextPropertyUpdateFunction(property)); elProperty.appendChild(elInput); - + return elInput; } -function createTextareaProperty(property, elProperty) { +function createTextareaProperty(property, elProperty) { let elementID = property.elementID; let propertyData = property.data; - + elProperty.className = "textarea"; - + let elInput = document.createElement('textarea'); elInput.setAttribute("id", elementID); if (propertyData.readOnly) { elInput.readOnly = true; - } - + } + elInput.addEventListener('change', createEmitTextPropertyUpdateFunction(property)); let elMultiDiff = document.createElement('span'); @@ -2756,42 +2756,42 @@ function createTextareaProperty(property, elProperty) { elProperty.appendChild(elInput); elProperty.appendChild(elMultiDiff); - + if (propertyData.buttons !== undefined) { addButtons(elProperty, elementID, propertyData.buttons, true); } - + return elInput; } -function createIconProperty(property, elProperty) { +function createIconProperty(property, elProperty) { let elementID = property.elementID; elProperty.className = "value"; - + let elSpan = document.createElement('span'); elSpan.setAttribute("id", elementID + "-icon"); elSpan.className = 'icon'; elProperty.appendChild(elSpan); - + return elSpan; } -function createTextureProperty(property, elProperty) { +function createTextureProperty(property, elProperty) { let elementID = property.elementID; - + elProperty.className = "texture"; - + let elDiv = document.createElement("div"); let elImage = document.createElement("img"); elDiv.className = "texture-image no-texture"; elDiv.appendChild(elImage); - + let elInput = document.createElement('input'); elInput.setAttribute("id", elementID); elInput.setAttribute("type", "text"); - + let imageLoad = function(url) { elDiv.style.display = null; if (url.slice(0, 5).toLowerCase() === "atp:/") { @@ -2828,7 +2828,7 @@ function createTextureProperty(property, elProperty) { elMultiDiff.className = "multi-diff"; elProperty.appendChild(elMultiDiff); elProperty.appendChild(elDiv); - + let elResult = []; elResult[TEXTURE_ELEMENTS.IMAGE] = elImage; elResult[TEXTURE_ELEMENTS.TEXT_INPUT] = elInput; @@ -2844,23 +2844,23 @@ function createButtonsProperty(property, elProperty) { if (propertyData.buttons !== undefined) { addButtons(elProperty, elementID, propertyData.buttons, false); } - + return elProperty; } function createDynamicMultiselectProperty(property, elProperty) { let elementID = property.elementID; let propertyData = property.data; - + elProperty.className = "dynamic-multiselect"; - + let elDivOptions = document.createElement('div'); elDivOptions.setAttribute("id", elementID + "-options"); elDivOptions.style = "overflow-y:scroll;max-height:160px;"; - + let elDivButtons = document.createElement('div'); elDivButtons.setAttribute("id", elDivOptions.getAttribute("id") + "-buttons"); - + let elLabel = document.createElement('label'); elLabel.innerText = "No Options"; elDivOptions.appendChild(elLabel); @@ -2868,10 +2868,10 @@ function createDynamicMultiselectProperty(property, elProperty) { let buttons = [ { id: "selectAll", label: "Select All", className: "black", onClick: selectAllMaterialTarget }, { id: "clearAll", label: "Clear All", className: "black", onClick: clearAllMaterialTarget } ]; addButtons(elDivButtons, elementID, buttons, false); - + elProperty.appendChild(elDivOptions); elProperty.appendChild(elDivButtons); - + return elDivOptions; } @@ -2889,13 +2889,13 @@ function createTupleNumberInput(property, subLabel) { let propertyElementID = property.elementID; let propertyData = property.data; let elementID = propertyElementID + "-" + subLabel.toLowerCase(); - + let elLabel = document.createElement('label'); elLabel.className = "sublabel " + subLabel; elLabel.innerText = subLabel[0].toUpperCase() + subLabel.slice(1); elLabel.setAttribute("for", elementID); elLabel.style.visibility = "visible"; - + let dragStartFunction = createDragStartFunction(property); let dragEndFunction = createDragEndFunction(property); let elDraggableNumber = new DraggableNumber(propertyData.min, propertyData.max, propertyData.step, @@ -2903,14 +2903,14 @@ function createTupleNumberInput(property, subLabel) { elDraggableNumber.elInput.setAttribute("id", elementID); elDraggableNumber.elDiv.className += " fstuple"; elDraggableNumber.elDiv.insertBefore(elLabel, elDraggableNumber.elLeftArrow); - + return elDraggableNumber; } function addButtons(elProperty, propertyID, buttons, newRow) { let elDiv = document.createElement('div'); elDiv.className = "row"; - + buttons.forEach(function(button) { let elButton = document.createElement('input'); elButton.className = button.className; @@ -2932,7 +2932,7 @@ function addButtons(elProperty, propertyID, buttons, newRow) { } function createProperty(propertyData, propertyElementID, propertyName, propertyID, elProperty) { - let property = { + let property = { data: propertyData, elementID: propertyElementID, name: propertyName, @@ -3523,15 +3523,15 @@ function requestMaterialTarget() { entityID: getFirstSelectedID(), })); } - + function setMaterialTargetData(materialTargetData) { let elDivOptions = getPropertyInputElement("parentMaterialName"); resetDynamicMultiselectProperty(elDivOptions); - + if (materialTargetData === undefined) { return; } - + elDivOptions.firstChild.style.display = "none"; // hide "No Options" text elDivOptions.parentNode.lastChild.style.display = null; // show Select/Clear all buttons @@ -3539,7 +3539,7 @@ function setMaterialTargetData(materialTargetData) { for (let i = 0; i < numMeshes; ++i) { addMaterialTarget(elDivOptions, i, false); } - + let materialNames = materialTargetData.materialNames; let materialNamesAdded = []; for (let i = 0; i < materialNames.length; ++i) { @@ -3549,7 +3549,7 @@ function setMaterialTargetData(materialTargetData) { materialNamesAdded.push(materialName); } } - + materialTargetPropertyUpdate(elDivOptions.propertyValue); } @@ -3557,12 +3557,12 @@ function addMaterialTarget(elDivOptions, targetID, isMaterialName) { let elementID = elDivOptions.getAttribute("id"); elementID += isMaterialName ? "-material-" : "-mesh-"; elementID += targetID; - + let elDiv = document.createElement('div'); elDiv.className = "materialTargetDiv"; elDiv.onclick = onToggleMaterialTarget; elDivOptions.appendChild(elDiv); - + let elInput = document.createElement('input'); elInput.className = "materialTargetInput"; elInput.setAttribute("type", "checkbox"); @@ -3570,12 +3570,12 @@ function addMaterialTarget(elDivOptions, targetID, isMaterialName) { elInput.setAttribute("targetID", targetID); elInput.setAttribute("isMaterialName", isMaterialName); elDiv.appendChild(elInput); - + let elLabel = document.createElement('label'); elLabel.setAttribute("for", elementID); elLabel.innerText = isMaterialName ? "Material " + targetID : "Mesh Index " + targetID; elDiv.appendChild(elLabel); - + return elDiv; } @@ -3608,7 +3608,7 @@ function clearAllMaterialTarget() { function sendMaterialTargetProperty() { let elDivOptions = getPropertyInputElement("parentMaterialName"); let elInputs = elDivOptions.getElementsByClassName("materialTargetInput"); - + let materialTargetList = []; for (let i = 0; i < elInputs.length; ++i) { let elInput = elInputs[i]; @@ -3621,26 +3621,26 @@ function sendMaterialTargetProperty() { } } } - + let propertyValue = materialTargetList.join(","); if (propertyValue.length > 1) { propertyValue = "[" + propertyValue + "]"; } - + updateProperty("parentMaterialName", propertyValue, false); } function materialTargetPropertyUpdate(propertyValue) { let elDivOptions = getPropertyInputElement("parentMaterialName"); let elInputs = elDivOptions.getElementsByClassName("materialTargetInput"); - + if (propertyValue.startsWith('[')) { propertyValue = propertyValue.substring(1, propertyValue.length); } if (propertyValue.endsWith(']')) { propertyValue = propertyValue.substring(0, propertyValue.length - 1); } - + let materialTargets = propertyValue.split(","); for (let i = 0; i < elInputs.length; ++i) { let elInput = elInputs[i]; @@ -3651,7 +3651,7 @@ function materialTargetPropertyUpdate(propertyValue) { } elInput.checked = materialTargets.indexOf(materialTargetName) >= 0; } - + elDivOptions.propertyValue = propertyValue; } @@ -4014,29 +4014,29 @@ function loaded() { let elGroup; elGroup = document.createElement('div'); - elGroup.className = 'section ' + "major"; + elGroup.className = 'section ' + "major"; elGroup.setAttribute("id", "properties-" + group.id); elPropertiesList.appendChild(elGroup); - - + if (group.label !== undefined) { let elLegend = document.createElement('div'); elLegend.className = "tab-section-header"; elLegend.appendChild(createElementFromHTML(`
${group.label}
`)); - elGroup.appendChild(elLegend); + elGroup.appendChild(elLegend); tabs = tabs +''; + //tabs = tabs +''; } - + group.properties.forEach(function(propertyData) { let propertyType = propertyData.type; - let propertyID = propertyData.propertyID; + let propertyID = propertyData.propertyID; let propertyName = propertyData.propertyName !== undefined ? propertyData.propertyName : propertyID; let propertySpaceMode = propertyData.spaceMode !== undefined ? propertyData.spaceMode : PROPERTY_SPACE_MODE.ALL; let propertyElementID = "property-" + propertyID; propertyElementID = propertyElementID.replace('.', '-'); - + let elContainer, elLabel; - + if (propertyData.replaceID === undefined) { // Create subheader, or create new property and append it. if (propertyType === "sub-header") { @@ -4126,15 +4126,15 @@ function loaded() { property.elContainer = elContainer; property.spaceMode = propertySpaceMode; property.group_id = group.id; - + if (property.type !== 'placeholder') { properties[propertyID] = property; - } + } if (propertyData.type === 'number' || propertyData.type === 'number-draggable' || propertyData.type === 'vec2' || propertyData.type === 'vec3' || propertyData.type === 'rect') { propertyRangeRequests.push(propertyID); } - + let showPropertyRule = propertyData.showPropertyRule; if (showPropertyRule !== undefined) { let dependentProperty = Object.keys(showPropertyRule)[0]; @@ -4149,12 +4149,12 @@ function loaded() { } } }); - + elGroups[group.id] = elGroup; }); updateVisibleSpaceModeProperties(); - + if (window.EventBridge !== undefined) { EventBridge.scriptEventReceived.connect(function(data) { data = JSON.parse(data); @@ -4233,7 +4233,7 @@ function loaded() { EventBridge.emitWebEvent(JSON.stringify({ type: 'tooltipsRequest' })); EventBridge.emitWebEvent(JSON.stringify({ type: 'propertyRangeRequest', properties: propertyRangeRequests })); } - + // Server Script Status let elServerScriptStatusOuter = document.getElementById('div-property-serverScriptStatus'); let elServerScriptStatusContainer = document.getElementById('div-property-serverScriptStatus').childNodes[1]; @@ -4242,7 +4242,7 @@ function loaded() { let elServerScriptStatus = document.createElement('div'); elServerScriptStatus.setAttribute("id", serverScriptStatusElementID); elServerScriptStatusContainer.appendChild(elServerScriptStatus); - + // Server Script Error let elServerScripts = getPropertyInputElement("serverScripts"); let elDiv = document.createElement('div'); @@ -4252,11 +4252,11 @@ function loaded() { elServerScriptError.setAttribute("id", serverScriptErrorElementID); elDiv.appendChild(elServerScriptError); elServerScriptStatusContainer.appendChild(elDiv); - + let elScript = getPropertyInputElement("script"); elScript.parentNode.className = "url refresh"; elServerScripts.parentNode.className = "url refresh"; - + // User Data let userDataProperty = properties["userData"]; let elUserData = userDataProperty.elInput; @@ -4275,7 +4275,7 @@ function loaded() { elDiv.insertBefore(elStaticUserData, elUserData); elDiv.insertBefore(elUserDataEditor, elUserData); elDiv.insertBefore(elUserDataEditorStatus, elUserData); - + // Material Data let materialDataProperty = properties["materialData"]; let elMaterialData = materialDataProperty.elInput; @@ -4311,7 +4311,7 @@ function loaded() { curCollapsibleElement.addEventListener("click", toggleCollapsedEvent, true); } */ - + // Textarea scrollbars let elTextareas = document.getElementsByTagName("TEXTAREA"); @@ -4328,7 +4328,7 @@ function loaded() { event; mouseup is a partial stand-in but doesn't handle resizing if mouse moves outside textarea rectangle. */ curTextAreaElement.addEventListener("mouseup", textareaOnChangeEvent, false); } - + // Dropdowns // For each dropdown the following replacement is created in place of the original dropdown... // Structure created: @@ -4340,7 +4340,7 @@ function loaded() { //
  • ...
  • // // - // + // let elDropdowns = document.getElementsByTagName("select"); for (let dropDownIndex = 0; dropDownIndex < elDropdowns.length; ++dropDownIndex) { let elDropdown = elDropdowns[dropDownIndex]; @@ -4389,7 +4389,7 @@ function loaded() { li.addEventListener("click", setDropdownValue); ul.appendChild(li); } - + let propertyID = elDropdown.getAttribute("propertyID"); let property = properties[propertyID]; property.elInput = dt; @@ -4450,14 +4450,14 @@ function loaded() { } })); }, false); - + window.onblur = function() { // Fake a change event let ev = document.createEvent("HTMLEvents"); ev.initEvent("change", true, true); document.activeElement.dispatchEvent(ev); }; - + // For input and textarea elements, select all of the text on focus let els = document.querySelectorAll("input, textarea"); for (let i = 0; i < els.length; ++i) { @@ -4465,17 +4465,16 @@ function loaded() { e.target.select(); }; } - + document.getElementById("tabs").innerHTML = tabs; - - bindAllNonJSONEditorElements(); + + bindAllNonJSONEditorElements(); showGroupsForType("None"); showPage("base"); resetProperties(); disableProperties(); - - + }); augmentSpinButtons(); @@ -4492,7 +4491,7 @@ function loaded() { } function showOnTheSamePage(entityType) { - if(GROUPS_PER_TYPE[entityType].includes(currentTab) == false){ + if (!GROUPS_PER_TYPE[entityType].includes(currentTab)) { currentTab = "base"; } showPage(currentTab); @@ -4501,7 +4500,7 @@ function showOnTheSamePage(entityType) { function showPage(id) { currentTab = id; Object.entries(elGroups).forEach(([groupKey, elGroup]) => { - if (groupKey == id) { + if (groupKey === id) { elGroup.style.display = "block"; document.getElementById("tab-" + groupKey).style.backgroundColor = "#2E2E2E"; } else { From e6a45690ba400d30a4d0b1859ea49ba81eef6890 Mon Sep 17 00:00:00 2001 From: Alezia Kurdis <60075796+AleziaKurdis@users.noreply.github.com> Date: Mon, 2 Mar 2020 23:53:55 -0500 Subject: [PATCH 13/25] Color Adjustments The color has been attenuated on those 2 icons. It was too present compared to the others. --- .../create/entityProperties/html/tabs/base.png | Bin 671 -> 669 bytes .../entityProperties/html/tabs/scripts.png | Bin 754 -> 755 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/scripts/system/create/entityProperties/html/tabs/base.png b/scripts/system/create/entityProperties/html/tabs/base.png index 1eed920742a3aee17134a9773018882ee83ab0ff..9f656abe2745438cda8d86081d5e2dc7a0e60266 100644 GIT binary patch delta 563 zcmV-30?hrN1)T+ub$=5{L_t(|+G70w|33o+ECCS(K%5E0LO}c-h}nVo7Z9@o@oy;o z2P%FFh+~2H9RpSn1113ihy_U`9f3wb0CLzDXdGMvVq+lQ0K{_W3IPI$TniYW5q$xOy`i)r)Dl@_MF0Uri3N<% z)b;@ClSfcXK*>=6rU)Q_SjaT|4>ZZ1f=2vLBtz|hcs3A+f;a#HM2-)>0r5$wq3qC9 z1@g&1ApQhZqkjWa3=lx%1`#MpO8~Jn5KBQZh;Iq?5i?97Kmd^&M8BXI9ejo+UpN2= zAQmE$Be8LU6#xVfJ_FK#I0q?H;Yvwt&?2K9n>v61!e+sLq|~5Gqz~RhE%=8n0T4he zI9vq+`9M4i%E#ve5WWuOGovd22q1hx^cIK@F;EBq0)Ggf1<_(NE00gs4{V3;=@`ThW;VL&*RD002ovPDHLkV1oNn B&?^7{ delta 565 zcmV-50?PfJ1)l|wb$=B}L_t(|+G70w|33o+FoK8zAkGA0At3$^#Oy%)3y4{P_&1dP z0~J37#IZp9jsYuxm5|Kmai!`QSK^umIvhAl?qd zoLHRo7l^rmcr_5qK*e?gaWoLW#^wWn07CY`RVdQ}yNlqM3xA030`Wf}egf5V28iXb z`2Zk*m>9?dEI|AP8VA>a*cga60I?jpLVy4w*8&D;L|*`6ZzydDwL}(K5kLS@VgVyG zwLO6PgD3%rC4g8Oh^3$y#J7a{h#963Ab`jXqF+#q4n89?00aO8 z5DO8>k=QuF3IGBKp8;t=oC9^~e>^FP4TzTmaXU7300G2;yOaW_23;b3@E&TxKXeIz z0Aj)6DiFvA;#p8WJ|BSabts=1T>(G<;R~X-KzxXSLVo}dK=>?RhNf|1^9I(41_&U0 zanJ@0rXP5M2n0BQcqKG%V8j7H0O9k2AT*~k6A=ocxFi7rh)^VVA@T7QdQWkc3;+Ry zFNi>O@*NW66eB1B0tnfH?@(F=h%W;%7m0?0;z|u_=1-U)KmZ|Iunt-?Ey7XG5Cd3| z>S-_l2reLG3woihj)q3=KN1aRf;Me7192lv5Fo$+9ct0B(5o5%00000NkvXXu0mjf Dc!STq diff --git a/scripts/system/create/entityProperties/html/tabs/scripts.png b/scripts/system/create/entityProperties/html/tabs/scripts.png index 9201fbfb721790b6c5ad3ff7451a2d28b53e165a..2249af165b1af0253ac963c3b1202c8150cf3d28 100644 GIT binary patch delta 650 zcmV;50(JfJ1@i@vb$@9|L_t(|+G70w|33pQ0YCsTG0+$Q1Q5$ghLs??5Qyu5m>Y;0 zf%ps5ayB6TPlO|X0C58lPe7Lh2p|?9&H>^+AnpX><3Jn(#34Z31;popn4N$He}UK% zi2H%~4-ij*iZg>82oOLZ3yOgF91tIdD%c6cfk6BZh*uC95`RmeJ^`6E3y6OKaV`)i z0|XGrf^R^q3B;?Q!SfetyF7`(eG-V{p%!^Tee@Y1fIt>l0Wl{utp7l5Ujr2bff+!o z0>r;@gg;0;8;HLH@lPOj1LA2w{1jvcKmdU(_yons;1|?4AaDn&@edvgzCwdk02&et zf%quMB7gv5A%7wX_YfIGu*7fzh_j$U^cx_6Sg4fTLBW{<#J8adBpn*bnE(NV&w_tY zx)_LMa0C%3-d+Q-IS|`JBN>#EYJj)}6n_8#gwKNi&|m^30wpYw{2v-mhR_Ip0!_Vu`blKx_lVp+GDI5(Ee!Tox<_;zVe=2D#c9h^wKg zW*#&+uvs7m#BtC#IRFv_2q0V*fGVFTXf?P6h(l;1P~*w kTNMBSMDtb!K!5=NZyRIsgCw delta 649 zcmV;40(SlL1@Z-ub$@6{L_t(|+G70w|33pQ0YCsTG0+$Q1Q1ITLlcND1mZd%<_2O$ zApQcioDGQo6XD1oK->Vt6VN3A0*D2ObAY%Hh&zG!I1tAGaR?B10r7btW+!05Um&&w z;(j3h1H@CH;>;ii0t67qf+8S32gHY=3U&fB``p9JD~s6}2-AAJT0Adm%CK+FjZ>pxK2*FeQUUy4#f7*NCu^(8X#@~#UDTb;j`dBG?+k%KnY7E|A)qtAvA)YKoi7U zXb?>YDFO%}d=@Z6eG!aDO(_tY0&yfXg6Bf{FJKA)0)L3ovgj2wytg7b=qIuQfB+&U zlDVNN1Y4Q38b{o~0YCt;5GZ3EP&?Y4;`2i@9H@wR2gC)STn!LF zxGVrAGke$f0d85%!~SmNv>5ZeH8C=d&Q1OWmFmj#P~I1!qzL9TWN;%aEB znFkFHY!-+CaU3*G4uAv!0tlA{pvor-S`BUiVjgITX$Qoouo#XUXJ??n15Q-{0mMk_ jRs}!+(Y#dw5MTi1TYof$S%shg0000 Date: Tue, 3 Mar 2020 19:21:14 -0500 Subject: [PATCH 14/25] Fix for the multiselection. This is the fix for the multiselection case. (It doesn't include the solution for User Data.) --- .../entityProperties/html/js/entityProperties.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/scripts/system/create/entityProperties/html/js/entityProperties.js b/scripts/system/create/entityProperties/html/js/entityProperties.js index d9fbe7c97c..7bfc869f04 100644 --- a/scripts/system/create/entityProperties/html/js/entityProperties.js +++ b/scripts/system/create/entityProperties/html/js/entityProperties.js @@ -4491,7 +4491,15 @@ function loaded() { } function showOnTheSamePage(entityType) { - if (!GROUPS_PER_TYPE[entityType].includes(currentTab)) { + var i; + var numbType = entityType.length; + var matchingType = 0; + for (i = 0; i < numbType; i++) { + if (GROUPS_PER_TYPE[entityType[i]].includes(currentTab)) { + matchingType = matchingType + 1; + } + } + if (matchingType !== numbType) { currentTab = "base"; } showPage(currentTab); From 206b1b12c5d516d424b82c5bf98561c33afe562c Mon Sep 17 00:00:00 2001 From: Alezia Kurdis <60075796+AleziaKurdis@users.noreply.github.com> Date: Wed, 4 Mar 2020 18:26:23 -0500 Subject: [PATCH 15/25] Additional fixes about the formatting. Additional fixes about the formatting. --- .../create/entityProperties/html/tabs/tabs.css | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/scripts/system/create/entityProperties/html/tabs/tabs.css b/scripts/system/create/entityProperties/html/tabs/tabs.css index 90cf201211..540a4a4e7e 100644 --- a/scripts/system/create/entityProperties/html/tabs/tabs.css +++ b/scripts/system/create/entityProperties/html/tabs/tabs.css @@ -1,5 +1,5 @@ /* -// tab.css.css +// tabs.css // // Created by Alezia Kurdis on 02/27/2020 // for "Project Athena" @@ -10,15 +10,12 @@ div.tabsContainer { float: left; - width:32px; + width: 32px; padding: 0px; } .tabsContainer button { - //display: block; - //color: black; padding: 4px; - //width:100%; text-align: center; cursor: pointer; transition: 0.4s; @@ -27,7 +24,7 @@ div.tabsContainer { border-color: #404040; border-width: 1px 0px 1px 1px; border-radius: 5px 0px 0px 5px; - outline:none; + outline: none; } .tabsContainer button:hover { @@ -42,10 +39,10 @@ div.labelTabHeader { font-size: 20px; font-weight: 700; height: 40px; - color:#ffffff; + color: #ffffff; } div.tab-section-header { - width:100%; + width: 100%; padding: 5px; -} \ No newline at end of file +} From d934018c7be0b14bc7a91d21cf7542ac56e7ef65 Mon Sep 17 00:00:00 2001 From: Alezia Kurdis <60075796+AleziaKurdis@users.noreply.github.com> Date: Wed, 4 Mar 2020 18:42:57 -0500 Subject: [PATCH 16/25] Codes minor adjustments Codes minor adjustments. Some formatting issues. Use element instead of a string --- .../html/js/entityProperties.js | 47 ++++--------------- 1 file changed, 10 insertions(+), 37 deletions(-) diff --git a/scripts/system/create/entityProperties/html/js/entityProperties.js b/scripts/system/create/entityProperties/html/js/entityProperties.js index 7bfc869f04..26eb94e8da 100644 --- a/scripts/system/create/entityProperties/html/js/entityProperties.js +++ b/scripts/system/create/entityProperties/html/js/entityProperties.js @@ -33,7 +33,7 @@ const PROPERTY_SELECTION_VISIBILITY = Object.freeze({ SINGLE_SELECTION: 1, MULTIPLE_SELECTIONS: 2, MULTI_DIFF_SELECTIONS: 4, - ANY_SELECTIONS: 7, /* SINGLE_SELECTION | MULTIPLE_SELECTIONS | MULTI_DIFF_SELECTIONS */ + ANY_SELECTIONS: 7 /* SINGLE_SELECTION | MULTIPLE_SELECTIONS | MULTI_DIFF_SELECTIONS */ }); // Multiple-selection behavior @@ -43,7 +43,7 @@ const PROPERTY_MULTI_DISPLAY_MODE = Object.freeze({ * Comma separated values * Limited for properties with type "string" or "textarea" and readOnly enabled */ - COMMA_SEPARATED_VALUES: 1, + COMMA_SEPARATED_VALUES: 1 }); const GROUPS = [ @@ -915,7 +915,6 @@ const GROUPS = [ { id: "particles_emit", label: "PARTICLES EMIT", - //isMinor: true, properties: [ { label: "Emit Rate", @@ -988,7 +987,6 @@ const GROUPS = [ { id: "particles_size", label: "PARTICLES SIZE", - //isMinor: true, properties: [ { type: "triple", @@ -1032,7 +1030,6 @@ const GROUPS = [ { id: "particles_color", label: "PARTICLES COLOR", - //isMinor: true, properties: [ { type: "triple", @@ -1106,7 +1103,6 @@ const GROUPS = [ { id: "particles_behavior", label: "PARTICLES BEHAVIOR", - //isMinor: true, properties: [ { label: "Emit Acceleration", @@ -1181,7 +1177,6 @@ const GROUPS = [ { id: "particles_constraints", label: "PARTICLES CONSTRAINTS", - //isMinor: true, properties: [ { type: "triple", @@ -1408,7 +1403,6 @@ const GROUPS = [ } ] }, -, { id: "scripts", label: "SCRIPTS", @@ -4008,8 +4002,8 @@ function handleEntitySelectionUpdate(selections, isPropertiesToolUpdate) { function loaded() { openEventBridge(function() { let elPropertiesList = document.getElementById("properties-pages"); - let tabs = ""; - + let elTabs = document.getElementById("tabs"); + GROUPS.forEach(function(group) { let elGroup; @@ -4023,8 +4017,7 @@ function loaded() { elLegend.className = "tab-section-header"; elLegend.appendChild(createElementFromHTML(`
    ${group.label}
    `)); elGroup.appendChild(elLegend); - tabs = tabs +''; - //tabs = tabs +''; + elTabs.appendChild(createElementFromHTML('')); } group.properties.forEach(function(propertyData) { @@ -4294,23 +4287,6 @@ function loaded() { elDiv.insertBefore(elStaticMaterialData, elMaterialData); elDiv.insertBefore(elMaterialDataEditor, elMaterialData); elDiv.insertBefore(elMaterialDataEditorStatus, elMaterialData); - /* - // Collapsible sections - let elCollapsible = document.getElementsByClassName("collapse-icon"); - - let toggleCollapsedEvent = function(event) { - let element = this.parentNode.parentNode; - let isCollapsed = element.dataset.collapsed !== "true"; - element.dataset.collapsed = isCollapsed ? "true" : false; - element.setAttribute("collapsed", isCollapsed ? "true" : "false"); - this.textContent = isCollapsed ? "L" : "M"; - }; - - for (let collapseIndex = 0, numCollapsibles = elCollapsible.length; collapseIndex < numCollapsibles; ++collapseIndex) { - let curCollapsibleElement = elCollapsible[collapseIndex]; - curCollapsibleElement.addEventListener("click", toggleCollapsedEvent, true); - } - */ // Textarea scrollbars let elTextareas = document.getElementsByTagName("TEXTAREA"); @@ -4466,8 +4442,6 @@ function loaded() { }; } - document.getElementById("tabs").innerHTML = tabs; - bindAllNonJSONEditorElements(); showGroupsForType("None"); @@ -4491,15 +4465,14 @@ function loaded() { } function showOnTheSamePage(entityType) { - var i; - var numbType = entityType.length; - var matchingType = 0; - for (i = 0; i < numbType; i++) { + let numberOfTypes = entityType.length; + let matchingType = 0; + for (let i = 0; i < numberOfTypes; i++) { if (GROUPS_PER_TYPE[entityType[i]].includes(currentTab)) { matchingType = matchingType + 1; } } - if (matchingType !== numbType) { + if (matchingType !== numberOfTypes) { currentTab = "base"; } showPage(currentTab); @@ -4516,4 +4489,4 @@ function showPage(id) { document.getElementById("tab-" + groupKey).style.backgroundColor = "#404040"; } }); -} \ No newline at end of file +} From 8ab40e1a0832c2a064327c8a20ff572d93748e60 Mon Sep 17 00:00:00 2001 From: Alezia Kurdis <60075796+AleziaKurdis@users.noreply.github.com> Date: Tue, 10 Mar 2020 00:48:54 -0400 Subject: [PATCH 17/25] Fix the userData and materialData editor Fix the userData and materialData editor. Only 2 conditions have been modified to make it works. I have removed a significant quantity of dead code that was trying to overlay a static text an obscure reason. Please, retest this. In case I missed something that I don't know. --- .../html/js/entityProperties.js | 52 +------------------ 1 file changed, 2 insertions(+), 50 deletions(-) diff --git a/scripts/system/create/entityProperties/html/js/entityProperties.js b/scripts/system/create/entityProperties/html/js/entityProperties.js index 26eb94e8da..9e476d80aa 100644 --- a/scripts/system/create/entityProperties/html/js/entityProperties.js +++ b/scripts/system/create/entityProperties/html/js/entityProperties.js @@ -1741,12 +1741,6 @@ function disableChildren(el, selector) { function enableProperties() { enableChildren(document.getElementById("properties-list"), ENABLE_DISABLE_SELECTOR); enableChildren(document, ".colpick"); - - let elLocked = getPropertyInputElement("locked"); - if (elLocked.checked === false) { - removeStaticUserData(); - removeStaticMaterialData(); - } } function disableProperties() { @@ -1755,16 +1749,6 @@ function disableProperties() { for (let pickKey in colorPickers) { colorPickers[pickKey].colpickHide(); } - - let elLocked = getPropertyInputElement("locked"); - if (elLocked.checked === true) { - if ($('#property-userData-editor').css('display') === "block") { - showStaticUserData(); - } - if ($('#property-materialData-editor').css('display') === "block") { - showStaticMaterialData(); - } - } } function showPropertyElement(propertyID, show) { @@ -3217,19 +3201,6 @@ function hideUserDataSaved() { $('#property-userData-saved').hide(); } -function showStaticUserData() { - if (editor !== null) { - let $propertyUserDataStatic = $('#property-userData-static'); - $propertyUserDataStatic.show(); - $propertyUserDataStatic.css('height', $('#property-userData-editor').height()); - $propertyUserDataStatic.text(editor.getText()); - } -} - -function removeStaticUserData() { - $('#property-userData-static').hide(); -} - function setEditorJSON(json) { editor.set(json); if (editor.hasOwnProperty('expandAll')) { @@ -3382,19 +3353,6 @@ function hideMaterialDataSaved() { $('#property-materialData-saved').hide(); } -function showStaticMaterialData() { - if (materialEditor !== null) { - let $propertyMaterialDataStatic = $('#property-materialData-static'); - $propertyMaterialDataStatic.show(); - $propertyMaterialDataStatic.css('height', $('#property-materialData-editor').height()); - $propertyMaterialDataStatic.text(materialEditor.getText()); - } -} - -function removeStaticMaterialData() { - $('#property-materialData-static').hide(); -} - function setMaterialEditorJSON(json) { materialEditor.set(json); if (materialEditor.hasOwnProperty('expandAll')) { @@ -3935,7 +3893,7 @@ function handleEntitySelectionUpdate(selections, isPropertiesToolUpdate) { } } - if (json !== null) { + if (json !== null && !lockedMultiValue.isMultiDiffValue && !lockedMultiValue.value) { if (editor === null) { createJSONEditor(); } @@ -3967,7 +3925,7 @@ function handleEntitySelectionUpdate(selections, isPropertiesToolUpdate) { } } - if (materialJson !== null) { + if (materialJson !== null && !lockedMultiValue.isMultiDiffValue && !lockedMultiValue.value) { if (materialEditor === null) { createJSONMaterialEditor(); } @@ -4255,8 +4213,6 @@ function loaded() { let elUserData = userDataProperty.elInput; let userDataElementID = userDataProperty.elementID; elDiv = elUserData.parentNode; - let elStaticUserData = document.createElement('div'); - elStaticUserData.setAttribute("id", userDataElementID + "-static"); let elUserDataEditor = document.createElement('div'); elUserDataEditor.setAttribute("id", userDataElementID + "-editor"); let elUserDataEditorStatus = document.createElement('div'); @@ -4265,7 +4221,6 @@ function loaded() { elUserDataSaved.setAttribute("id", userDataElementID + "-saved"); elUserDataSaved.innerText = "Saved!"; elDiv.childNodes[JSON_EDITOR_ROW_DIV_INDEX].appendChild(elUserDataSaved); - elDiv.insertBefore(elStaticUserData, elUserData); elDiv.insertBefore(elUserDataEditor, elUserData); elDiv.insertBefore(elUserDataEditorStatus, elUserData); @@ -4274,8 +4229,6 @@ function loaded() { let elMaterialData = materialDataProperty.elInput; let materialDataElementID = materialDataProperty.elementID; elDiv = elMaterialData.parentNode; - let elStaticMaterialData = document.createElement('div'); - elStaticMaterialData.setAttribute("id", materialDataElementID + "-static"); let elMaterialDataEditor = document.createElement('div'); elMaterialDataEditor.setAttribute("id", materialDataElementID + "-editor"); let elMaterialDataEditorStatus = document.createElement('div'); @@ -4284,7 +4237,6 @@ function loaded() { elMaterialDataSaved.setAttribute("id", materialDataElementID + "-saved"); elMaterialDataSaved.innerText = "Saved!"; elDiv.childNodes[JSON_EDITOR_ROW_DIV_INDEX].appendChild(elMaterialDataSaved); - elDiv.insertBefore(elStaticMaterialData, elMaterialData); elDiv.insertBefore(elMaterialDataEditor, elMaterialData); elDiv.insertBefore(elMaterialDataEditorStatus, elMaterialData); From e371823896b4348f1594d3ba60898a23f50cd29b Mon Sep 17 00:00:00 2001 From: Alezia Kurdis <60075796+AleziaKurdis@users.noreply.github.com> Date: Wed, 18 Mar 2020 18:33:09 -0400 Subject: [PATCH 18/25] Move the tabs.css with other css Move the tabs.css with other css --- scripts/system/html/css/tabs.css | 77 ++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 scripts/system/html/css/tabs.css diff --git a/scripts/system/html/css/tabs.css b/scripts/system/html/css/tabs.css new file mode 100644 index 0000000000..37383b6d99 --- /dev/null +++ b/scripts/system/html/css/tabs.css @@ -0,0 +1,77 @@ +/* +// tabs.css +// +// Created by Alezia Kurdis on 27 Feb 2020 +// Copyright 2020 Project Athena contributors. +// +// Distributed under the Apache License, Version 2.0. +// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html +*/ + +div.tabsContainer { + float: left; + width: 32px; + padding: 0px; +} + +.tabsContainer button { + padding: 4px; + text-align: center; + cursor: pointer; + transition: 0.4s; + font-size: 14px; + background-color: #404040; + border-color: #404040; + border-width: 1px 0px 1px 1px; + border-radius: 5px 0px 0px 5px; + outline: none; +} + +.tabsContainer button:hover { + background-color: #575757; +} + +.tabsContainer button.active { + background-color: #2E2E2E; +} + +div.labelTabHeader { + font-size: 20px; + font-weight: 700; + height: 40px; + color: #ffffff; +} + +div.tab-section-header { + width: 100%; + padding: 5px; +} + +table.tabsTableFrame { + width:100%; + min-height: 352px; + display: block; +} + +tr.tabsTrFrame { + width:100%; +} + +td.tabsFrame { + width:32px; + vertical-align:top; + background-color:#575757; + padding:0px; + border:0px; +} + +td.tabsPropertiesFrame { + width:100%; + vertical-align: top; + border:0px; +} + +div.tabsPropertiesPage { + min-height: 352px; + display: block; +} From 022ea6c5fb29d455704d14c48c5522116573599b Mon Sep 17 00:00:00 2001 From: Alezia Kurdis <60075796+AleziaKurdis@users.noreply.github.com> Date: Wed, 18 Mar 2020 18:34:51 -0400 Subject: [PATCH 19/25] Moved tabs.css to system/html/css Moved tabs.css to system/html/css with other css. --- .../entityProperties/html/tabs/tabs.css | 48 ------------------- 1 file changed, 48 deletions(-) delete mode 100644 scripts/system/create/entityProperties/html/tabs/tabs.css diff --git a/scripts/system/create/entityProperties/html/tabs/tabs.css b/scripts/system/create/entityProperties/html/tabs/tabs.css deleted file mode 100644 index 540a4a4e7e..0000000000 --- a/scripts/system/create/entityProperties/html/tabs/tabs.css +++ /dev/null @@ -1,48 +0,0 @@ -/* -// tabs.css -// -// Created by Alezia Kurdis on 02/27/2020 -// for "Project Athena" -// -// Distributed under the Apache License, Version 2.0. -// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html -*/ - -div.tabsContainer { - float: left; - width: 32px; - padding: 0px; -} - -.tabsContainer button { - padding: 4px; - text-align: center; - cursor: pointer; - transition: 0.4s; - font-size: 14px; - background-color: #404040; - border-color: #404040; - border-width: 1px 0px 1px 1px; - border-radius: 5px 0px 0px 5px; - outline: none; -} - -.tabsContainer button:hover { - background-color: #575757; -} - -.tabsContainer button.active { - background-color: #2E2E2E; -} - -div.labelTabHeader { - font-size: 20px; - font-weight: 700; - height: 40px; - color: #ffffff; -} - -div.tab-section-header { - width: 100%; - padding: 5px; -} From e52e1bafc6e5bfb0e7af1595f0071b2f6355d636 Mon Sep 17 00:00:00 2001 From: Alezia Kurdis <60075796+AleziaKurdis@users.noreply.github.com> Date: Wed, 18 Mar 2020 18:38:41 -0400 Subject: [PATCH 20/25] Moved tabs.css reference -Change the path for the new location of tabs.css -Local "style" migrated to "class" --- .../html/entityProperties.html | 20 ++++++++----------- 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/scripts/system/create/entityProperties/html/entityProperties.html b/scripts/system/create/entityProperties/html/entityProperties.html index 42d73b5007..b1d5e2805e 100644 --- a/scripts/system/create/entityProperties/html/entityProperties.html +++ b/scripts/system/create/entityProperties/html/entityProperties.html @@ -1,18 +1,14 @@ @@ -21,7 +17,7 @@ - + @@ -50,13 +46,13 @@
    - - - "; } else { - listedZoneInner += ""; + listedZoneInner += ""; } } else { for ( i = 0; i < selectedZones.length; i++ ) { @@ -3645,9 +3643,10 @@ function displaySelectedZones(propertyId, isEditable) { } } if (isEditable) { - listedZoneInner += ""; + listedZoneInner += ""; } else { - listedZoneInner += ""; + listedZoneInner += ""; } } } @@ -3666,7 +3665,7 @@ function createZonesSelection(property, elProperty) { elProperty.className = "multipleZonesSelection"; let elInput = document.createElement('input'); elInput.setAttribute("id", elementID); - elInput.setAttribute("type", "hidden"); // must be hidden ################################################################################# HEIL! ICITTE! + elInput.setAttribute("type", "hidden"); elInput.className = "hiddenMultiZonesSelection"; let elZonesSelector = document.createElement('div'); @@ -3694,7 +3693,8 @@ function setZonesSelectionData(element, isEditable) { } zoneSelector += ""; } - zoneSelector += " "; + zoneSelector += " "; + zoneSelector += ""; zoneSelector += "
    "; zoneSelectorContainer.innerHTML = zoneSelector; displaySelectedZones(element.id, isEditable); @@ -4108,18 +4108,14 @@ function handleEntitySelectionUpdate(selections, isPropertiesToolUpdate) { break; } case 'multipleZonesSelection': { - if (propertyValue == ""){ //THIS IS A PATCH FOR TESTING WITh A STRING FIELDS - property.elInput.value = "[]"; //THIS IS A PATCH FOR TESTING WITh A STRING FIELDS - } else { //THIS IS A PATCH FOR TESTING WITh A STRING FIELDS - property.elInput.value = propertyValue; //JSON.stringify(propertyValue); //##### TO CHECK depending what type the value is.. expecting an array so it willbe manage as a string. - } //THIS IS A PATCH FOR TESTING WITh A STRING FIELDS + property.elInput.value = JSON.stringify(propertyValue); if (lockedMultiValue.isMultiDiffValue || lockedMultiValue.value) { setZonesSelectionData(property.elInput, false); } else { setZonesSelectionData(property.elInput, true); } break; - } + } case 'icon': { property.elSpan.innerHTML = propertyData.icons[propertyValue]; property.elSpan.style.display = "inline-block"; From cc308c11b621bc9ccc70444d1d9fe0fe39be99e5 Mon Sep 17 00:00:00 2001 From: Alezia Kurdis <60075796+AleziaKurdis@users.noreply.github.com> Date: Wed, 6 May 2020 23:06:33 -0400 Subject: [PATCH 23/25] Minor Code Adjustment Line 50: removed extra space char. --- .../system/create/entityProperties/html/entityProperties.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/system/create/entityProperties/html/entityProperties.html b/scripts/system/create/entityProperties/html/entityProperties.html index b1d5e2805e..6eadf4d3c0 100644 --- a/scripts/system/create/entityProperties/html/entityProperties.html +++ b/scripts/system/create/entityProperties/html/entityProperties.html @@ -47,7 +47,7 @@
    + + + - From 75747a6a2fae3d47cf7747301f2a8400bf1166d5 Mon Sep 17 00:00:00 2001 From: Alezia Kurdis <60075796+AleziaKurdis@users.noreply.github.com> Date: Mon, 27 Apr 2020 22:20:19 -0400 Subject: [PATCH 21/25] to avoid regression --- .../html/js/entityProperties.js | 319 ++++++++++++++++-- 1 file changed, 297 insertions(+), 22 deletions(-) diff --git a/scripts/system/create/entityProperties/html/js/entityProperties.js b/scripts/system/create/entityProperties/html/js/entityProperties.js index 9e476d80aa..59755df122 100644 --- a/scripts/system/create/entityProperties/html/js/entityProperties.js +++ b/scripts/system/create/entityProperties/html/js/entityProperties.js @@ -1,15 +1,8 @@ -//VERSION 2.0 -// Modified by Alezia Kurdis on on 02/27/2020 -// for "Project Athena" -// -// Addition of a tab mechanism instead of collapsible sections to reduce the scrolling. -// -//VERSION 1.0 // entityProperties.js // // Created by Ryan Huffman on 13 Nov 2014 -// Modified by David Back on 19 Oct 2018 // Copyright 2014 High Fidelity, Inc. +// Copyright 2020 Vircadia contributors. // // Distributed under the Apache License, Version 2.0. // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html @@ -74,11 +67,16 @@ const GROUPS = [ replaceID: "placeholder-property-id", multiDisplayMode: PROPERTY_MULTI_DISPLAY_MODE.COMMA_SEPARATED_VALUES, }, - { + /*{ label: "Description", type: "string", propertyID: "description", - }, + },*/ + { //THIS IS ONLY FOR THE TEST ########################################## + label: "Description", + type: "multipleZonesSelection", + propertyID: "description", + }, // END TEST ############################# { label: "Parent", type: "string", @@ -142,7 +140,17 @@ const GROUPS = [ label: "Color", type: "color", propertyID: "color", - } + }, + { + label: "Alpha", + type: "number-draggable", + min: 0, + max: 1, + step: 0.01, + decimals: 2, + propertyID: "shapeAlpha", + propertyName: "alpha", + }, ] }, { @@ -191,6 +199,36 @@ const GROUPS = [ unit: "m", propertyID: "lineHeight", }, + { + label: "Font", + type: "string", + propertyID: "font", + }, + { + label: "Effect", + type: "dropdown", + options: { + none: "None", + outline: "Outline", + "outline fill": "Outline with fill", + shadow: "Shadow" + }, + propertyID: "textEffect", + }, + { + label: "Effect Color", + type: "color", + propertyID: "textEffectColor", + }, + { + label: "Effect Thickness", + type: "number-draggable", + min: 0.0, + max: 0.5, + step: 0.01, + decimals: 2, + propertyID: "textEffectThickness", + }, { label: "Billboard Mode", type: "dropdown", @@ -288,7 +326,7 @@ const GROUPS = [ { label: "Light Intensity", type: "number-draggable", - min: 0, + min: -40, max: 40, step: 0.01, decimals: 2, @@ -380,7 +418,7 @@ const GROUPS = [ { label: "Ambient Intensity", type: "number-draggable", - min: 0, + min: -200, max: 200, step: 0.1, decimals: 2, @@ -542,6 +580,12 @@ const GROUPS = [ type: "dropdown", options: { inherit: "Inherit", crowd: "Crowd", hero: "Hero" }, propertyID: "avatarPriority", + }, + { + label: "Screen-share", + type: "dropdown", + options: { inherit: "Inherit", disabled: "Off", enabled: "On" }, + propertyID: "screenshare", } ] }, @@ -587,7 +631,7 @@ const GROUPS = [ propertyID: "animation.loop", }, { - label: "Allow Transition", + label: "Allow Translation", type: "bool", propertyID: "animation.allowTranslation", }, @@ -651,6 +695,16 @@ const GROUPS = [ propertyID: "imageColor", propertyName: "color", // actual entity property name }, + { + label: "Alpha", + type: "number-draggable", + min: 0, + max: 1, + step: 0.01, + decimals: 2, + propertyID: "imageAlpha", + propertyName: "alpha", + }, { label: "Emissive", type: "bool", @@ -715,6 +769,27 @@ const GROUPS = [ decimals: 0, propertyID: "maxFPS", }, + { + label: "Billboard Mode", + type: "dropdown", + options: { none: "None", yaw: "Yaw", full: "Full"}, + propertyID: "webBillboardMode", + propertyName: "billboardMode", // actual entity property name + }, + { + label: "Input Mode", + type: "dropdown", + options: { + touch: "Touch events", + mouse: "Mouse events" + }, + propertyID: "inputMode", + }, + { + label: "Focus Highlight", + type: "bool", + propertyID: "showKeyboardFocusHighlight", + }, { label: "Script URL", type: "string", @@ -736,7 +811,7 @@ const GROUPS = [ { label: "Intensity", type: "number-draggable", - min: 0, + min: -1000, max: 10000, step: 0.1, decimals: 2, @@ -1601,11 +1676,10 @@ const GROUPS_PER_TYPE = { Image: [ 'base', 'image', 'spatial', 'behavior', 'scripts', 'collision', 'physics' ], Web: [ 'base', 'web', 'spatial', 'behavior', 'scripts', 'collision', 'physics' ], Light: [ 'base', 'light', 'spatial', 'behavior', 'scripts', 'collision', 'physics' ], - Material: [ 'base', 'material', 'spatial', 'behavior', 'scripts' ], + Material: [ 'base', 'material', 'spatial', 'behavior', 'scripts', 'physics' ], ParticleEffect: [ 'base', 'particles', 'particles_emit', 'particles_size', 'particles_color', 'particles_behavior', 'particles_constraints', 'spatial', 'behavior', 'scripts', 'physics' ], PolyLine: [ 'base', 'spatial', 'behavior', 'scripts', 'collision', 'physics' ], - PolyLine: [ 'base', 'spatial', 'behavior', 'scripts', 'collision', 'physics' ], PolyVox: [ 'base', 'spatial', 'behavior', 'scripts', 'collision', 'physics' ], Grid: [ 'base', 'grid', 'spatial', 'behavior', 'scripts', 'physics' ], Multiple: [ 'base', 'spatial', 'behavior', 'scripts', 'collision', 'physics' ], @@ -1675,7 +1749,7 @@ let selectedEntityIDs = new Set(); let currentSelections = []; let createAppTooltip = new CreateAppTooltip(); let currentSpaceMode = PROPERTY_SPACE_MODE.LOCAL; - +let zonesList = []; function createElementFromHTML(htmlString) { let elTemplate = document.createElement('template'); @@ -1701,6 +1775,8 @@ function getPropertyInputElement(propertyID) { case 'textarea': case 'texture': return property.elInput; + case 'multipleZonesSelection': + return property.elInput; case 'number-draggable': return property.elNumber.elInput; case 'rect': @@ -1741,6 +1817,7 @@ function disableChildren(el, selector) { function enableProperties() { enableChildren(document.getElementById("properties-list"), ENABLE_DISABLE_SELECTOR); enableChildren(document, ".colpick"); + enableAllMultipleZoneSelector(); } function disableProperties() { @@ -1749,6 +1826,7 @@ function disableProperties() { for (let pickKey in colorPickers) { colorPickers[pickKey].colpickHide(); } + disableAllMultipleZoneSelector(); } function showPropertyElement(propertyID, show) { @@ -1823,6 +1901,12 @@ function resetProperties() { setTextareaScrolling(property.elInput); break; } + case 'multipleZonesSelection': { + property.elInput.classList.remove('multi-diff'); + property.elInput.value = "[]"; //################################## PROBABLY SOMETHING TO ADJUST HERE! + setZonesSelectionData(property.elInput, false); + break; + } case 'icon': { property.elSpan.style.display = "none"; break; @@ -1860,7 +1944,7 @@ function resetServerScriptStatus() { function showGroupsForType(type) { if (type === "Box" || type === "Sphere") { showGroupsForTypes(["Shape"]); - showOnTheSamePage("Shape"); + showOnTheSamePage(["Shape"]); return; } if (type === "None") { @@ -1868,7 +1952,7 @@ function showGroupsForType(type) { return; } showGroupsForTypes([type]); - showOnTheSamePage(type); + showOnTheSamePage([type]); } function getGroupsForTypes(types) { @@ -2972,6 +3056,10 @@ function createProperty(propertyData, propertyElementID, propertyName, propertyI property.elInput = createTextareaProperty(property, elProperty); break; } + case 'multipleZonesSelection': { + property.elInput = createZonesSelection(property, elProperty); + break; + } case 'icon': { property.elSpan = createIconProperty(property, elProperty); break; @@ -3464,6 +3552,175 @@ function setTextareaScrolling(element) { element.setAttribute("scrolling", isScrolling ? "true" : "false"); } +/** + * ZONE SELECTOR FUNCTIONS + */ + +function enableAllMultipleZoneSelector() { + let allMultiZoneSelectors = document.querySelectorAll(".hiddenMultiZonesSelection"); + let i, propId; + for ( i = 0; i < allMultiZoneSelectors.length; i++ ) { + propId = allMultiZoneSelectors[i].id; + displaySelectedZones(propId, true); + } +} + +function disableAllMultipleZoneSelector() { + let allMultiZoneSelectors = document.querySelectorAll(".hiddenMultiZonesSelection"); + let i, propId; + for ( i = 0; i < allMultiZoneSelectors.length; i++ ) { + propId = allMultiZoneSelectors[i].id; + displaySelectedZones(propId, false); + } +} + +function requestZoneList() { + EventBridge.emitWebEvent(JSON.stringify({ + type: "zoneListRequest" + })); +} + +function addZoneToZonesSelection(propertyId) { + let hiddenField = document.getElementById(propertyId); + if(JSON.stringify(hiddenField.value) === '"undefined"') { + hiddenField.value = "[]"; + } + let selectedZones = JSON.parse(hiddenField.value); + let zoneToAdd = document.getElementById("zones-select-" + propertyId).value; + if (!selectedZones.includes(zoneToAdd)) { + selectedZones.push(zoneToAdd); + } + hiddenField.value = JSON.stringify(selectedZones); + displaySelectedZones(propertyId, true); + let propertyName = propertyId.replace("property-", ""); + updateProperty(propertyName, JSON.stringify(selectedZones), false); //FOR TEMPORARY STRING FOR TEST + //updateProperty(propertyName, selectedZones, false); //DIRECTLY FOR ARRY +} + +function removeZoneFromZonesSelection(propertyId, zoneId) { + let hiddenField = document.getElementById(propertyId); + if(JSON.stringify(hiddenField.value) === '"undefined"') { + hiddenField.value = "[]"; + } + let selectedZones = JSON.parse(hiddenField.value); + let index = selectedZones.indexOf(zoneId); + if (index > -1) { + selectedZones.splice(index, 1); + } + hiddenField.value = JSON.stringify(selectedZones); + displaySelectedZones(propertyId, true); + let propertyName = propertyId.replace("property-", ""); + updateProperty(propertyName, JSON.stringify(selectedZones), false); //FOR TEMPORARY STRING FOR TEST + //updateProperty(propertyName, selectedZones, false); //DIRECTLY FOR ARRY +} + +function displaySelectedZones(propertyId, isEditable) { + let i,j, name, listedZoneInner, hiddenData, isMultiple; + hiddenData = document.getElementById(propertyId).value; + if (JSON.stringify(hiddenData) === '"undefined"') { + isMultiple = true; + hiddenData = "[]"; + } else { + isMultiple = false; + } + let selectedZones = JSON.parse(hiddenData); + listedZoneInner = "
    -
    +
    +
    "; + if (selectedZones.length === 0) { + if (!isMultiple) { + listedZoneInner += ""; + } else { + listedZoneInner += ""; + } + } else { + for ( i = 0; i < selectedZones.length; i++ ) { + name = "{ERROR: NOT FOUND}"; + for ( j = 0; j < zonesList.length; j++ ) { + if (selectedZones[i] === zonesList[j].id) { + if (zonesList[j].name !== "") { + name = zonesList[j].name; + } else { + name = zonesList[j].id; + } + break; + } + } + if (isEditable) { + listedZoneInner += ""; + } else { + listedZoneInner += ""; + } + } + } + listedZoneInner += "
      
    [ WARNING: Any changes will apply to all ] 
    " + name + "
    " + name + " 
    "; + document.getElementById("selected-zones-" + propertyId).innerHTML = listedZoneInner; + if (isEditable) { + document.getElementById("multiZoneSelTools-" + propertyId).style.display = "block"; + } else { + document.getElementById("multiZoneSelTools-" + propertyId).style.display = "none"; + } +} + +function createZonesSelection(property, elProperty) { + let elementID = property.elementID; + requestZoneList(); + elProperty.className = "multipleZonesSelection"; + let elInput = document.createElement('input'); + elInput.setAttribute("id", elementID); + elInput.setAttribute("type", "hidden"); // must be hidden ################################################################################# HEIL! ICITTE! + elInput.className = "hiddenMultiZonesSelection"; + + let elZonesSelector = document.createElement('div'); + elZonesSelector.setAttribute("id", "zones-selector-" + elementID); + + let elMultiDiff = document.createElement('span'); + elMultiDiff.className = "multi-diff"; + + elProperty.appendChild(elInput); + elProperty.appendChild(elZonesSelector); + elProperty.appendChild(elMultiDiff); + + return elInput; +} + +function setZonesSelectionData(element, isEditable) { + let zoneSelectorContainer = document.getElementById("zones-selector-" + element.id); + let zoneSelector = "
     
    "; + zoneSelector += "
    "; + zoneSelectorContainer.innerHTML = zoneSelector; + displaySelectedZones(element.id, isEditable); +} + +function updateAllZoneSelect() { + let allZoneSelects = document.querySelectorAll(".zoneSelect"); + let i, j, name, propId; + for ( i = 0; i < allZoneSelects.length; i++ ) { + allZoneSelects[i].options.length = 0; + for ( j = 0; j < zonesList.length; j++ ) { + if (zonesList[j].name === "") { + name = zonesList[j].id; + } else { + name = zonesList[j].name; + } + allZoneSelects[i].options[j] = new Option(name, zonesList[j].id, false , false); + } + propId = allZoneSelects[i].id.replace("zones-select-", ""); + if (document.getElementById("multiZoneSelTools-" + propId).style.display === "block") { + displaySelectedZones(propId, true); + } else { + displaySelectedZones(propId, false); + } + } +} /** * MATERIAL TARGET FUNCTIONS @@ -3637,7 +3894,9 @@ function handleEntitySelectionUpdate(selections, isPropertiesToolUpdate) { selectedEntityIDs = new Set(selections.map(selection => selection.id)); const multipleSelections = currentSelections.length > 1; const hasSelectedEntityChanged = !areSetsEqual(selectedEntityIDs, previouslySelectedEntityIDs); - + + requestZoneList(); + if (selections.length === 0) { deleteJSONEditor(); deleteJSONMaterialEditor(); @@ -3692,7 +3951,7 @@ function handleEntitySelectionUpdate(selections, isPropertiesToolUpdate) { } else { enableProperties(); disableSaveUserDataButton(); - disableSaveMaterialDataButton() + disableSaveMaterialDataButton(); } const certificateIDMultiValue = getMultiplePropertyValue('certificateID'); @@ -3848,6 +4107,19 @@ function handleEntitySelectionUpdate(selections, isPropertiesToolUpdate) { setTextareaScrolling(property.elInput); break; } + case 'multipleZonesSelection': { + if (propertyValue == ""){ //THIS IS A PATCH FOR TESTING WITh A STRING FIELDS + property.elInput.value = "[]"; //THIS IS A PATCH FOR TESTING WITh A STRING FIELDS + } else { //THIS IS A PATCH FOR TESTING WITh A STRING FIELDS + property.elInput.value = propertyValue; //JSON.stringify(propertyValue); //##### TO CHECK depending what type the value is.. expecting an array so it willbe manage as a string. + } //THIS IS A PATCH FOR TESTING WITh A STRING FIELDS + if (lockedMultiValue.isMultiDiffValue || lockedMultiValue.value) { + setZonesSelectionData(property.elInput, false); + } else { + setZonesSelectionData(property.elInput, true); + } + break; + } case 'icon': { property.elSpan.innerHTML = propertyData.icons[propertyValue]; property.elSpan.style.display = "inline-block"; @@ -4177,6 +4449,9 @@ function loaded() { if (data.entityID === getFirstSelectedID()) { setMaterialTargetData(data.materialTargetData); } + } else if (data.type === 'zoneListRequest') { + zonesList = data.zones; + updateAllZoneSelect(); } }); From 962d4671ebc917b934456dbbfb2cb94edc504452 Mon Sep 17 00:00:00 2001 From: Alezia Kurdis <60075796+AleziaKurdis@users.noreply.github.com> Date: Mon, 27 Apr 2020 22:49:42 -0400 Subject: [PATCH 22/25] To avoid a regression at some point --- .../html/js/entityProperties.js | 46 +++++++++---------- 1 file changed, 21 insertions(+), 25 deletions(-) diff --git a/scripts/system/create/entityProperties/html/js/entityProperties.js b/scripts/system/create/entityProperties/html/js/entityProperties.js index 59755df122..b634517d03 100644 --- a/scripts/system/create/entityProperties/html/js/entityProperties.js +++ b/scripts/system/create/entityProperties/html/js/entityProperties.js @@ -67,16 +67,11 @@ const GROUPS = [ replaceID: "placeholder-property-id", multiDisplayMode: PROPERTY_MULTI_DISPLAY_MODE.COMMA_SEPARATED_VALUES, }, - /*{ + { label: "Description", type: "string", propertyID: "description", - },*/ - { //THIS IS ONLY FOR THE TEST ########################################## - label: "Description", - type: "multipleZonesSelection", - propertyID: "description", - }, // END TEST ############################# + }, { label: "Parent", type: "string", @@ -120,6 +115,11 @@ const GROUPS = [ lines: "Wireframe", }, propertyID: "primitiveMode", + }, + { + label: "Render With Zones", + type: "multipleZonesSelection", + propertyID: "renderWithZones", } ] }, @@ -1903,7 +1903,7 @@ function resetProperties() { } case 'multipleZonesSelection': { property.elInput.classList.remove('multi-diff'); - property.elInput.value = "[]"; //################################## PROBABLY SOMETHING TO ADJUST HERE! + property.elInput.value = "[]"; setZonesSelectionData(property.elInput, false); break; } @@ -3588,20 +3588,19 @@ function addZoneToZonesSelection(propertyId) { let selectedZones = JSON.parse(hiddenField.value); let zoneToAdd = document.getElementById("zones-select-" + propertyId).value; if (!selectedZones.includes(zoneToAdd)) { - selectedZones.push(zoneToAdd); + selectedZones.push(zoneToAdd); } hiddenField.value = JSON.stringify(selectedZones); displaySelectedZones(propertyId, true); let propertyName = propertyId.replace("property-", ""); - updateProperty(propertyName, JSON.stringify(selectedZones), false); //FOR TEMPORARY STRING FOR TEST - //updateProperty(propertyName, selectedZones, false); //DIRECTLY FOR ARRY + updateProperty(propertyName, selectedZones, false); } function removeZoneFromZonesSelection(propertyId, zoneId) { let hiddenField = document.getElementById(propertyId); if(JSON.stringify(hiddenField.value) === '"undefined"') { hiddenField.value = "[]"; - } + } let selectedZones = JSON.parse(hiddenField.value); let index = selectedZones.indexOf(zoneId); if (index > -1) { @@ -3610,8 +3609,7 @@ function removeZoneFromZonesSelection(propertyId, zoneId) { hiddenField.value = JSON.stringify(selectedZones); displaySelectedZones(propertyId, true); let propertyName = propertyId.replace("property-", ""); - updateProperty(propertyName, JSON.stringify(selectedZones), false); //FOR TEMPORARY STRING FOR TEST - //updateProperty(propertyName, selectedZones, false); //DIRECTLY FOR ARRY + updateProperty(propertyName, selectedZones, false); } function displaySelectedZones(propertyId, isEditable) { @@ -3629,7 +3627,7 @@ function displaySelectedZones(propertyId, isEditable) { if (!isMultiple) { listedZoneInner += "
      
    [ WARNING: Any changes will apply to all ] 
    [ WARNING: Any changes will apply to all. ] 
    " + name + "
    " + name + ""; + listedZoneInner += "
    " + name + " 
    " + name + " 
    - + From f43b0f52f52578b3972bff62a9ce85a453223ada Mon Sep 17 00:00:00 2001 From: Alezia Kurdis <60075796+AleziaKurdis@users.noreply.github.com> Date: Wed, 6 May 2020 23:16:56 -0400 Subject: [PATCH 24/25] Minor code adjustments Add missing space between ":" and the value for many class attributes. --- scripts/system/html/css/tabs.css | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/scripts/system/html/css/tabs.css b/scripts/system/html/css/tabs.css index 37383b6d99..87e1c11ee8 100644 --- a/scripts/system/html/css/tabs.css +++ b/scripts/system/html/css/tabs.css @@ -48,25 +48,25 @@ div.tab-section-header { } table.tabsTableFrame { - width:100%; + width: 100%; min-height: 352px; display: block; } tr.tabsTrFrame { - width:100%; + width: 100%; } td.tabsFrame { - width:32px; - vertical-align:top; - background-color:#575757; - padding:0px; - border:0px; + width: 32px; + vertical-align: top; + background-color: #575757; + padding: 0px; + border: 0px; } td.tabsPropertiesFrame { - width:100%; + width: 100%; vertical-align: top; border:0px; } From 5180c9b247e900314b2819358073a1b810076a80 Mon Sep 17 00:00:00 2001 From: Alezia Kurdis <60075796+AleziaKurdis@users.noreply.github.com> Date: Wed, 6 May 2020 23:36:39 -0400 Subject: [PATCH 25/25] Minor Code Adjustment --- .../html/js/entityProperties.js | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/scripts/system/create/entityProperties/html/js/entityProperties.js b/scripts/system/create/entityProperties/html/js/entityProperties.js index b634517d03..8c041d2563 100644 --- a/scripts/system/create/entityProperties/html/js/entityProperties.js +++ b/scripts/system/create/entityProperties/html/js/entityProperties.js @@ -115,12 +115,12 @@ const GROUPS = [ lines: "Wireframe", }, propertyID: "primitiveMode", - }, + }/*, { label: "Render With Zones", type: "multipleZonesSelection", propertyID: "renderWithZones", - } + }*/ ] }, { @@ -3559,7 +3559,7 @@ function setTextareaScrolling(element) { function enableAllMultipleZoneSelector() { let allMultiZoneSelectors = document.querySelectorAll(".hiddenMultiZonesSelection"); let i, propId; - for ( i = 0; i < allMultiZoneSelectors.length; i++ ) { + for (i = 0; i < allMultiZoneSelectors.length; i++) { propId = allMultiZoneSelectors[i].id; displaySelectedZones(propId, true); } @@ -3568,7 +3568,7 @@ function enableAllMultipleZoneSelector() { function disableAllMultipleZoneSelector() { let allMultiZoneSelectors = document.querySelectorAll(".hiddenMultiZonesSelection"); let i, propId; - for ( i = 0; i < allMultiZoneSelectors.length; i++ ) { + for (i = 0; i < allMultiZoneSelectors.length; i++) { propId = allMultiZoneSelectors[i].id; displaySelectedZones(propId, false); } @@ -3582,7 +3582,7 @@ function requestZoneList() { function addZoneToZonesSelection(propertyId) { let hiddenField = document.getElementById(propertyId); - if(JSON.stringify(hiddenField.value) === '"undefined"') { + if (JSON.stringify(hiddenField.value) === '"undefined"') { hiddenField.value = "[]"; } let selectedZones = JSON.parse(hiddenField.value); @@ -3598,7 +3598,7 @@ function addZoneToZonesSelection(propertyId) { function removeZoneFromZonesSelection(propertyId, zoneId) { let hiddenField = document.getElementById(propertyId); - if(JSON.stringify(hiddenField.value) === '"undefined"') { + if (JSON.stringify(hiddenField.value) === '"undefined"') { hiddenField.value = "[]"; } let selectedZones = JSON.parse(hiddenField.value); @@ -3630,9 +3630,9 @@ function displaySelectedZones(propertyId, isEditable) { listedZoneInner += ""; } } else { - for ( i = 0; i < selectedZones.length; i++ ) { + for (i = 0; i < selectedZones.length; i++) { name = "{ERROR: NOT FOUND}"; - for ( j = 0; j < zonesList.length; j++ ) { + for (j = 0; j < zonesList.length; j++) { if (selectedZones[i] === zonesList[j].id) { if (zonesList[j].name !== "") { name = zonesList[j].name; @@ -3685,7 +3685,7 @@ function setZonesSelectionData(element, isEditable) { let zoneSelectorContainer = document.getElementById("zones-selector-" + element.id); let zoneSelector = "
    [ WARNING: Any changes will apply to all. ]