21356 - Reorder Edit.js

Made changes to the 3 sub files for the properties tabs. Although
visually the exiting menu looked like it was in different sections,
structurally it was all just one run of item after item, with a fair
amount of div-itis. I added in fieldsets to provide true groups and
replaced much of the div-ities with aditional feidlsets as they are the
smeantic element to use here.
This commit is contained in:
jmo 2017-07-10 15:49:26 -06:00
parent d957b970dd
commit a2b1b2e0f9
3 changed files with 1007 additions and 550 deletions

View file

@ -449,8 +449,68 @@ input[type=checkbox]:checked + label:hover {
border: 1.5pt solid black;
}
.shape-section, .light-section, .model-section, .web-section, .hyperlink-section, .text-section, .zone-section {
display: table;
}
.section-header, .sub-section-header, hr {
#properties-list fieldset {
position: relative;
/* 0.1px on the top is to prevent margin collapsing between this and it's first child */
margin: 21px -21px 0px -21px;
padding: 0.1px 21px 0px 21px;
border: none;
border-top: 1px rgb(90,90,90) solid;
box-shadow: 0px -1px 0px rgb(37,37,37);
}
#properties-list fieldset.fstuple, #properties-list fieldset.fsrow {
margin-top: 21px;
border: none;
box-shadow: none;
}
#properties-list > fieldset[data-collapsed="true"] + fieldset {
margin-top: 0px;
}
#properties-list > fieldset[data-collapsed="true"] > *:not(legend) {
display: none !important;
}
#properties-list legend + fieldset {
margin-top: 0px;
border: none;
box-shadow: none;
}
#properties-list > fieldset#properties-header {
margin-top: 0px;
padding-bottom: 0px;
}
#properties-list > fieldset > legend {
position: relative;
display: table;
width: 100%;
margin: 21px -21px 0 -21px;
padding: 14px 21px 0 21px;
font-family: Raleway-Regular;
font-size: 12px;
color: #afafaf;
height: 28px;
text-transform: uppercase;
outline: none;
background-color: #404040;
border: none;
border-top: 1px rgb(90,90,90) solid;
box-shadow: 0 -1px 0 rgb(37,37,37), 0 4px 4px 0 rgba(0,0,0,0.75);
}
div.section-header, .sub-section-header, hr {
display: table;
width: 100%;
margin: 21px -21px 0 -21px;
@ -463,16 +523,18 @@ input[type=checkbox]:checked + label:hover {
outline: none;
}
.section-header {
position: relative;
background: #404040 url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAqCAIAAAAbNW1vAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAmSURBVChTY1BFAgzhSIDBAQmMcoYHRwIJMCgjAQZ9JMBgBQdWVgBh5XmBV5A2FQAAAABJRU5ErkJggg==) repeat-x top left;
.column .sub-section-header {
background-image: none;
padding-top: 0;
}
.sub-section-header, .no-collapse, hr {
background: #404040 url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAAjSURBVBhXY1RVVf3PgARYjIyMoEwIYHRwcEBRwQSloYCBAQCwjgPMiI7W2QAAAABJRU5ErkJggg==) repeat-x top left;
}
.section-header:first-child {
div.section-header:first-child {
margin-top: -2px;
padding-top: 0;
background: none;
@ -483,7 +545,7 @@ input[type=checkbox]:checked + label:hover {
margin-bottom: -10px;
}
.section-header span {
#properties-list > fieldset > legend span, .section-header span {
font-family: HiFi-Glyphs;
font-size: 30px;
float: right;
@ -537,6 +599,18 @@ hr {
font-size: 13px;
}
.property legend, .number legend {
display: table-cell;
vertical-align: middle;
font-family: Raleway-SemiBold;
font-size: 14px;
}
.property legend .unit, .number legend .unit {
margin-left: 8px;
font-family: Raleway-Light;
font-size: 13px;
}
.value {
display: block;
min-height: 18px;
@ -546,6 +620,11 @@ hr {
vertical-align: top;
width: 48px;
}
.value legend {
display: inline-block;
vertical-align: top;
width: 48px;
}
.value span {
font-family: FiraSans-SemiBold;
font-size: 15px;
@ -573,6 +652,13 @@ hr {
margin-top: -2px;
}
.text legend, .url legend, .number legend, .textarea legend, .rgb legend, .xyz legend, .pyr legend, .dropdown legend, .gen legend {
float: left;
margin-left: 1px;
margin-bottom: 3px;
margin-top: -2px;
}
.number > input {
clear: both;
float: left;
@ -715,6 +801,14 @@ div.refresh input[type="button"] {
display: none !important;
}
#property-color-control1 {
display: table-cell;
float: none;
}
#property-color-control1 + label {
border-left: 20px transparent solid;
}
.rgb label {
float: left;
@ -725,6 +819,15 @@ div.refresh input[type="button"] {
clear: both;
}
.rgb legend {
float: left;
margin-top: 10px;
margin-left: 21px;
}
.rgb legend + * {
clear: both;
}
.tuple div {
display: inline-block;
position: relative;
@ -814,6 +917,42 @@ tuple, .blue:focus, .tuple .z:focus, .tuple .roll:focus {
display: table-cell;
width: 50%;
}
#properties-list fieldset .two-column {
padding-top:21px;
display: flex;
}
#properties-list .two-column fieldset {
/*display: table-cell;*/
width: 50%;
margin: 0;
padding: 0;
border-top: none;
box-shadow: none;
}
#properties-list .two-column fieldset legend {
display: table;
width: 100%;
margin: 21px -21px 0px -21px;
padding: 0px 0px 0px 21px;
font-family: Raleway-Regular;
font-size: 12px;
color: #afafaf;
height: 28px;
text-transform: uppercase;
outline: none;
}
fieldset .checkbox-sub-props {
margin-top: 0;
}
fieldset .checkbox-sub-props .property:first-child {
margin-top: 0;
}
.column {
vertical-align: top;
}
@ -1155,9 +1294,11 @@ th#entity-hasScript {
}
#properties-header {
#properties-list #properties-header {
display: table-row;
height: 28px;
border-top: none;
box-shadow: none;
}
#properties-header .property {
@ -1262,3 +1403,260 @@ input#reset-to-natural-dimensions {
font-size:16px;
display:none;
}
#properties-list #collision-info > fieldset:first-of-type {
border-top: none !important;
box-shadow: none;
margin-top: 0;
}
#properties-list {
display: flex;
flex-direction: column;
}
/* ----- Order of Menu items for Primitive ----- */
#properties-list.ShapeMenu #general,
#properties-list.BoxMenu #general,
#properties-list.SphereMenu #general {
order: 1;
}
#properties-list.ShapeMenu #collision-info,
#properties-list.BoxMenu #collision-info,
#properties-list.SphereMenu #collision-info {
order: 2;
}
#properties-list.ShapeMenu #physical,
#properties-list.BoxMenu #physical,
#properties-list.SphereMenu #physical {
order: 3;
}
#properties-list.ShapeMenu #spatial,
#properties-list.BoxMenu #spatial,
#properties-list.SphereMenu #spatial {
order: 4;
}
#properties-list.ShapeMenu #behavior,
#properties-list.BoxMenu #behavior,
#properties-list.SphereMenu #behavior {
order: 5;
}
#properties-list.ShapeMenu #hyperlink,
#properties-list.BoxMenu #hyperlink,
#properties-list.SphereMenu #hyperlink {
order: 6;
}
#properties-list.ShapeMenu #light,
#properties-list.BoxMenu #light,
#properties-list.SphereMenu #light,
#properties-list.ShapeMenu #model,
#properties-list.BoxMenu #model,
#properties-list.SphereMenu #model,
#properties-list.ShapeMenu #zone,
#properties-list.BoxMenu #zone,
#properties-list.SphereMenu #zone,
#properties-list.ShapeMenu #text,
#properties-list.BoxMenu #text,
#properties-list.SphereMenu #text,
#properties-list.ShapeMenu #web,
#properties-list.BoxMenu #web,
#properties-list.SphereMenu #web {
display: none;
}
/* ----- Order of Menu items for Light ----- */
#properties-list.LightMenu #general {
order: 1;
}
#properties-list.LightMenu #light {
order: 2;
}
#properties-list.LightMenu #physical {
order: 3;
}
#properties-list.LightMenu #spatial {
order: 4;
}
#properties-list.LightMenu #behavior {
order: 5;
}
#properties-list.LightMenu #collision-info {
order: 6;
}
#properties-list.LightMenu #hyperlink {
order: 7;
}
/* sections to hide */
#properties-list.LightMenu #model,
#properties-list.LightMenu #zone,
#properties-list.LightMenu #text,
#properties-list.LightMenu #web {
display: none;
}
/* items to hide */
#properties-list.LightMenu .shape-group.shape-section.property.dropdown,
#properties-list.LightMenu color-section.color-control1 {
display: none
}
/* ----- Order of Menu items for Model ----- */
#properties-list.ModelMenu #general {
order: 1;
}
#properties-list.ModelMenu #model {
order: 2;
}
#properties-list.ModelMenu #collision-info {
order: 3;
}
#properties-list.ModelMenu #physical {
order: 4;
}
#properties-list.ModelMenu #spatial {
order: 5;
}
#properties-list.ModelMenu #behavior {
order: 6;
}
#properties-list.ModelMenu #hyperlink {
order: 7;
}
/* sections to hide */
#properties-list.ModelMenu #light,
#properties-list.ModelMenu #zone,
#properties-list.ModelMenu #text,
#properties-list.ModelMenu #web {
display: none;
}
/* items to hide */
#properties-list.ModelMenu .shape-group.shape-section.property.dropdown,
#properties-list.ModelMenu .color-section.color-control1 {
display: none
}
/* ----- Order of Menu items for Zone ----- */
#properties-list.ZoneMenu #general {
order: 1;
}
#properties-list.ZoneMenu #zone {
order: 2;
}
#properties-list.ZoneMenu #physical {
order: 3;
}
#properties-list.ZoneMenu #spatial {
order: 4;
}
#properties-list.ZoneMenu #behavior {
order: 5;
}
#properties-list.ZoneMenu #collision-info {
order: 6;
}
#properties-list.ZoneMenu #hyperlink {
order: 7;
}
/* sections to hide */
#properties-list.ZoneMenu #light,
#properties-list.ZoneMenu #model,
#properties-list.ZoneMenu #text,
#properties-list.ZoneMenu #web {
display: none;
}
/* items to hide */
#properties-list.ZoneMenu .shape-group.shape-section.property.dropdown,
#properties-list.ZoneMenu .color-section.color-control1 {
display: none
}
/* ----- Order of Menu items for Web ----- */
#properties-list.WebMenu #general {
order: 1;
}
#properties-list.WebMenu #web {
order: 2;
}
#properties-list.WebMenu #collision-info {
order: 3;
}
#properties-list.WebMenu #physical {
order: 4;
}
#properties-list.WebMenu #spatial {
order: 5;
}
#properties-list.WebMenu #behavior {
order: 6;
}
#properties-list.WebMenu #hyperlink {
order: 7;
}
/* sections to hide */
#properties-list.WebMenu #light,
#properties-list.WebMenu #model,
#properties-list.WebMenu #zone,
#properties-list.WebMenu #text {
display: none;
}
/* items to hide */
#properties-list.WebMenu .shape-group.shape-section.property.dropdown,
#properties-list.WebMenu .color-section.color-control1 {
display: none;
}
/* ----- Order of Menu items for Text ----- */
#properties-list.TextMenu #general {
order: 1;
}
#properties-list.TextMenu #text {
order: 2;
}
#properties-list.TextMenu #collision-info {
order: 3;
}
#properties-list.TextMenu #physical {
order: 4;
}
#properties-list.TextMenu #spatial {
order: 5;
}
#properties-list.TextMenu #behavior {
order: 6;
}
#properties-list.TextMenu #hyperlink {
order: 7;
}
/* sections to hide */
#properties-list.TextMenu #light,
#properties-list.TextMenu #model,
#properties-list.TextMenu #zone,
#properties-list.TextMenu #web {
display: none;
}
/* items to hide */
#properties-list.TextMenu .shape-group.shape-section.property.dropdown,
#properties-list.TextMenu .color-section.color-control1 {
display: none
}
/* Currently always hidden */
#properties-list #polyvox {
display: none;
}
.skybox-section {
display: none;
}

View file

@ -8,6 +8,7 @@
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
-->
<html>
<head>
<title>Properties</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
@ -23,9 +24,11 @@
<script type="text/javascript" src="js/entityProperties.js"></script>
<script src="js/jsoneditor.min.js"></script>
</head>
<body onload='loaded();'>
<div id="properties-list">
<div id="properties-header">
<fieldset id="properties-header">
<div id="type" class="property value">
<span id="type-icon"></span><label id="property-type"><i>No selection</i></label>
</div>
@ -37,8 +40,10 @@
<input type="checkbox" id="property-visible">
<label for="property-visible"><span>&#xe007;</span>&nbsp;Visible</label>
</div>
</div>
<hr />
</fieldset>
<fieldset id="general" class="major">
<div class="shape-group shape-section property dropdown">
<label for="property-shape">Shape</label>
<select name="SelectShape" id="property-shape">
@ -60,195 +65,13 @@
<label for="property-name">Name</label>
<input type="text" id="property-name">
</div>
<div class="property text">
<label for="property-description">Description</label>
<input type="text" id="property-description">
</div>
<div class="property textarea">
<label for="property-user-data">User data</label>
<br>
<div class="row">
<input type="button" class="red" id="userdata-clear" value="Clear User Data">
<input type="button" class="blue" id="userdata-new-editor" value="Edit as JSON">
<input disabled type="button" class="black" id="userdata-save" value="Save User Data">
<span id="userdata-saved">Saved!</span>
</div>
<div id="static-userdata"></div>
<div id="userdata-editor"></div>
<textarea id="property-user-data"></textarea>
</div>
<div id="id" class="property value">
<label>ID:</label>
<input type="text" id="property-id" readonly>
</div>
<div class="section-header hyperlink-group hyperlink-section">
<label>Hyperlink</label><span>M</span>
</div>
<div class="hyperlink-group hyperlink-section property url">
<label for="property-hyperlink-href">Href - hifi://address</label>
<input type="text" id="property-hyperlink-href">
</div>
<div class="section-header spatial-group">
<label>Spatial</label><span>M</span>
</div>
<div class="spatial-group property xyz">
<label>Position <span class="unit">m</span></label>
<div class="tuple">
<div><input type="number" class="x" id="property-pos-x"><label for="property-pos-x">X:</label></div>
<div><input type="number" class="y" id="property-pos-y"><label for="property-pos-y">Y:</label></div>
<div><input type="number" class="z" id="property-pos-z"><label for="property-pos-z">Z:</label></div>
</div>
</div>
<div class="spatial-group property pyr">
<label>Rotation <span class="unit">deg</span></label>
<div class="tuple">
<div><input type="number" class="pitch" id="property-rot-x" step="0.1"><label for="property-rot-x">Pitch:</label></div>
<div><input type="number" class="yaw" id="property-rot-y" step="0.1"><label for="property-rot-y">Yaw:</label></div>
<div><input type="number" class="roll" id="property-rot-z" step="0.1"><label for="property-rot-z">Roll:</label></div>
</div>
</div>
<div class="spatial-group property xyz">
<label>Dimensions <span class="unit">m</span></label>
<div class="tuple">
<div><input type="number" class="x" id="property-dim-x" step="0.1"><label for="property-dim-x">X:</label></div>
<div><input type="number" class="y" id="property-dim-y" step="0.1"><label for="property-dim-y">Y:</label></div>
<div><input type="number" class="z" id="property-dim-z" step="0.1"><label for="property-dim-z">Z:</label></div>
</div>
</div>
<div class="spatial-group property xyz">
<label>Registration <span class="unit">(pivot offset as ratio of dimension)</span></label>
<div class="tuple">
<div><input type="number" class="x" id="property-reg-x" step="0.1"><label for="property-reg-x">X:</label></div>
<div><input type="number" class="y" id="property-reg-y" step="0.1"><label for="property-reg-y">Y:</label></div>
<div><input type="number" class="z" id="property-reg-z" step="0.1"><label for="property-reg-z">Z:</label></div>
</div>
</div>
<div class="spatial-group property gen">
<label>Scale <span class="unit">%</span></label>
<div class="row">
<input type="number" id="dimension-rescale-pct" value=100>
<input type="button" class="blue" id="dimension-rescale-button" value="Rescale">
<input type="button" class="red" id="reset-to-natural-dimensions" value="Reset Dimensions">
</div>
</div>
<div class="spatial-group row">
<div class="property text">
<label for="property-parent-id">Parent ID</label>
<input type="text" id="property-parent-id">
</div>
<div class="property number">
<label for="property-parent-joint-index">Parent joint index</label>
<input type="number" id="property-parent-joint-index">
</div>
</div>
<div class="spatial-group ">
<div class="property text">
<label>Align</label>
</div>
<div class="row">
<div class="buttons">
<input type="button" id="move-selection-to-grid" value="Selection to Grid">
<input type="button" id="move-all-to-grid" value="All to Grid">
</div>
</div>
</div>
<hr class="spatial-group poly-vox-section" />
<div class="spatial-group poly-vox-section property xyz">
<label>Voxel volume size <span class="unit">m</span></label>
<div class="tuple">
<div><input type="number" class="x" id="property-voxel-volume-size-x"><label for="property-voxel-volume-size-x">X:</label></div>
<div><input type="number" class="y" id="property-voxel-volume-size-y"><label for="property-voxel-volume-size-y">Y:</label></div>
<div><input type="number" class="z" id="property-voxel-volume-size-z"><label for="property-voxel-volume-size-z">Z:</label></div>
</div>
</div>
<div class="spatial-group poly-vox-section property dropdown">
<label>Surface extractor</label>
<select name="SelectVoxelSurfaceStyle" id="property-voxel-surface-style">
<option value="0">Marching cubes</option>
<option value="1">Cubic</option>
<option value="2">Edged cubic</option>
<option value="3">Edged marching cubes</option>
</select>
</div>
<div class="spatial-group poly-vox-section property url ">
<label for="property-x-texture-url">X-axis texture URL</label>
<input type="text" id="property-x-texture-url">
</div>
<div class="spatial-group poly-vox-section property url ">
<label for="property-y-texture-url">Y-axis texture URL</label>
<input type="text" id="property-y-texture-url">
</div>
<div class="spatial-group poly-vox-section property url ">
<label for="property-z-texture-url">Z-axis texture URL</label>
<input type="text" id="property-z-texture-url">
</div>
<div class="section-header physical-group">
<label>Physical</label><span>M</span>
</div>
<div class="physical-group property xyz">
<label>Linear velocity <span class="unit">m/s</span></label>
<div class="tuple">
<div><input type="number" class="x" id="property-lvel-x"><label for="property-lvel-x">X:</label></div>
<div><input type="number" class="y" id="property-lvel-y"><label for="property-lvel-y">Y:</label></div>
<div><input type="number" class="z" id="property-lvel-z"><label for="property-lvel-z">Z:</label></div>
</div>
</div>
<div class="physical-group property number">
<label>Linear damping</label>
<input type="number" id="property-ldamping">
</div>
<hr class="physical-group" />
<div class="physical-group property pyr">
<label>Angular velocity <span class="unit">deg/s</span></label>
<div class="tuple">
<div><input type="number" class="pitch" id="property-avel-x"><label for="property-avel-x">Pitch:</label></div>
<div><input type="number" class="yaw" id="property-avel-y"><label for="property-avel-y">Yaw:</label></div>
<div><input type="number" class="roll" id="property-avel-z"><label for="property-avel-z">Roll:</label></div>
</div>
</div>
<div class="physical-group property number">
<label>Angular damping</label>
<input type="number" id="property-adamping">
</div>
<hr class="physical-group" />
<div class="physical-group property gen">
<div class="tuple">
<div><label>Restitution</label><input type="number" id="property-restitution"></div>
<div><label>Friction</label><input type="number" id="property-friction"></div>
<div><label>Density</label><input type="number" id="property-density"></div>
</div>
</div>
<hr class="physical-group" />
<div class="physical-group property xyz">
<label>Gravity <span class="unit">m/s<sup>2</sup></span></label>
<div class="tuple">
<div><input type="number" class="x" id="property-grav-x"><label for="property-grav-x">X:</label></div>
<div><input type="number" class="y" id="property-grav-y"><label for="property-grav-y">Y:</label></div>
<div><input type="number" class="z" id="property-grav-z"><label for="property-grav-z">Z:</label></div>
</div>
</div>
<div class="physical-group property xyz">
<label>Acceleration <span class="unit">m/s<sup>2</sup></span></label>
<div class="tuple">
<div><input type="number" class="x" id="property-lacc-x"><label for="property-lacc-x">X:</label></div>
<div><input type="number" class="y" id="property-lacc-y"><label for="property-lacc-y">Y:</label></div>
<div><input type="number" class="z" id="property-lacc-z"><label for="property-lacc-z">Z:</label></div>
</div>
</div>
<hr class="physical-group color-section" />
<div class="physical-group color-section property rgb">
<div id="property-color" class="color-picker"></div>
<div class="physical-group color-section property color-control1">
<div class="color-picker" id="property-color-control1"></div>
<label>Entity color</label>
<div class="tuple">
<div><input type="number" class="red" id="property-color-red"><label for="property-color-red">Red:</label></div>
<div><input type="number" class="green" id="property-color-green"><label for="property-color-green">Green:</label></div>
<div><input type="number" class="blue" id="property-color-blue"><label for="property-color-blue">Blue:</label></div>
</div>
</div>
<div class="section-header behavior-group">
<label>Behavior</label><span>M</span>
</div>
</fieldset>
<fieldset id="collision-info">
<fieldset class="minor">
<div class="behavior-group property checkbox">
<input type="checkbox" id="property-collisionless">
<label for="property-collisionless">Collisionless</label>
@ -257,11 +80,13 @@
<input type="checkbox" id="property-dynamic">
<label for="property-dynamic">Dynamic</label>
</div>
</fieldset>
<fieldset class="minor">
<div class="behavior-group two-column">
<div class="column">
<div class="sub-section-header">
<span>Collides With</span>
</div>
<fieldset class="column">
<legend class="sub-section-header">
Collides With
</legend>
<div class="checkbox-sub-props">
<div class="property checkbox">
<input type="checkbox" id="property-collide-static">
@ -284,11 +109,11 @@
<label for="property-collide-otherAvatar">Other avatars</label>
</div>
</div>
</div>
<div class="column">
<div class="sub-section-header">
<span>Grabbing</span>
</div>
</fieldset>
<fieldset class="column">
<legend class="sub-section-header">
Grabbing
</legend>
<div class="checkbox-sub-props">
<div class="property checkbox">
<input type="checkbox" id="property-grabbable">
@ -307,7 +132,9 @@
<label for="property-ignore-ik">Ignore inverse kinematics</label>
</div>
</div>
</div>
</fieldset>
<fieldset style="display:none;">
<!-- extra column ------------------------------------------------------------------------------------ -->
<div class="column" id="group-cloneable-group" style="display:none;">
<div class="sub-section-header">
<span>Cloneable Settings</span>
@ -321,8 +148,174 @@
</div>
</div>
</div>
</fieldset>
</div>
<hr class="behavior-group" />
</fieldset>
</fieldset>
<fieldset id="physical" class="major">
<legend class="section-header physical-group">
Physical<span>M</span>
</legend>
<fieldset class="minor">
<fieldset class="physical-group property xyz fstuple">
<legend>Linear velocity <span class="unit">m/s</span></legend>
<div class="tuple">
<div><input type="number" class="x" id="property-lvel-x"><label for="property-lvel-x">X:</label></div>
<div><input type="number" class="y" id="property-lvel-y"><label for="property-lvel-y">Y:</label></div>
<div><input type="number" class="z" id="property-lvel-z"><label for="property-lvel-z">Z:</label></div>
</div>
</fieldset>
<div class="physical-group property number">
<label>Linear damping</label>
<input type="number" id="property-ldamping">
</div>
</fieldset>
<fieldset class="minor">
<fieldset class="physical-group property pyr fstuple">
<legend>Angular velocity <span class="unit">deg/s</span></legend>
<div class="tuple">
<div><input type="number" class="pitch" id="property-avel-x"><label for="property-avel-x">Pitch:</label></div>
<div><input type="number" class="yaw" id="property-avel-y"><label for="property-avel-y">Yaw:</label></div>
<div><input type="number" class="roll" id="property-avel-z"><label for="property-avel-z">Roll:</label></div>
</div>
</fieldset>
<div class="physical-group property number">
<label>Angular damping</label>
<input type="number" id="property-adamping">
</div>
</fieldset>
<fieldset class="physical-group property gen fstuple">
<div class="tuple">
<div><label>Restitution</label><input type="number" id="property-restitution"></div>
<div><label>Friction</label><input type="number" id="property-friction"></div>
<div><label>Density</label><input type="number" id="property-density"></div>
</div>
</fieldset>
<fieldset class="minor">
<fieldset class="physical-group property xyz fstuple">
<legend>Gravity <span class="unit">m/s<sup>2</sup></span></legend>
<div class="tuple">
<div><input type="number" class="x" id="property-grav-x"><label for="property-grav-x">X:</label></div>
<div><input type="number" class="y" id="property-grav-y"><label for="property-grav-y">Y:</label></div>
<div><input type="number" class="z" id="property-grav-z"><label for="property-grav-z">Z:</label></div>
</div>
</fieldset>
<fieldset class="physical-group property xyz fstuple">
<legend>Acceleration <span class="unit">m/s<sup>2</sup></span></legend>
<div class="tuple">
<div><input type="number" class="x" id="property-lacc-x"><label for="property-lacc-x">X:</label></div>
<div><input type="number" class="y" id="property-lacc-y"><label for="property-lacc-y">Y:</label></div>
<div><input type="number" class="z" id="property-lacc-z"><label for="property-lacc-z">Z:</label></div>
</div>
</fieldset>
</fieldset>
<fieldset class="minor">
<div class="physical-group color-section property rgb fstuple">
<div class="color-picker" id="property-color-control2"></div>
<label>Entity color</label>
<div class="tuple">
<div><input type="number" class="red" id="property-color-red"><label for="property-color-red">Red:</label></div>
<div><input type="number" class="green" id="property-color-green"><label for="property-color-green">Green:</label></div>
<div><input type="number" class="blue" id="property-color-blue"><label for="property-color-blue">Blue:</label></div>
</div>
</div>
</fieldset>
</fieldset>
<fieldset id="spatial" class="major">
<legend class="section-header spatial-group">
Spatial<span>M</span>
</legend>
<fieldset class="spatial-group property xyz fstuple">
<legend>Position <span class="unit">m</span></legend>
<div class="tuple">
<div><input type="number" class="x" id="property-pos-x"><label for="property-pos-x">X:</label></div>
<div><input type="number" class="y" id="property-pos-y"><label for="property-pos-y">Y:</label></div>
<div><input type="number" class="z" id="property-pos-z"><label for="property-pos-z">Z:</label></div>
</div>
</fieldset>
<fieldset class="spatial-group property pyr fstuple">
<legend>Rotation <span class="unit">deg</span></legend>
<div class="tuple">
<div><input type="number" class="pitch" id="property-rot-x" step="0.1"><label for="property-rot-x">Pitch:</label></div>
<div><input type="number" class="yaw" id="property-rot-y" step="0.1"><label for="property-rot-y">Yaw:</label></div>
<div><input type="number" class="roll" id="property-rot-z" step="0.1"><label for="property-rot-z">Roll:</label></div>
</div>
</fieldset>
<fieldset class="spatial-group property xyz fstuple">
<legend>Dimensions <span class="unit">m</span></legend>
<div class="tuple">
<div><input type="number" class="x" id="property-dim-x" step="0.1"><label for="property-dim-x">X:</label></div>
<div><input type="number" class="y" id="property-dim-y" step="0.1"><label for="property-dim-y">Y:</label></div>
<div><input type="number" class="z" id="property-dim-z" step="0.1"><label for="property-dim-z">Z:</label></div>
</div>
</fieldset>
<fieldset class="spatial-group property xyz fstuple">
<legend>Registration <span class="unit">(pivot offset as ratio of dimension)</span></legend>
<div class="tuple">
<div><input type="number" class="x" id="property-reg-x" step="0.1"><label for="property-reg-x">X:</label></div>
<div><input type="number" class="y" id="property-reg-y" step="0.1"><label for="property-reg-y">Y:</label></div>
<div><input type="number" class="z" id="property-reg-z" step="0.1"><label for="property-reg-z">Z:</label></div>
</div>
</fieldset>
<fieldset class="spatial-group property gen fsrow">
<legend>Scale <span class="unit">%</span></legend>
<div class="row">
<input type="number" id="dimension-rescale-pct" value=100>
<input type="button" class="blue" id="dimension-rescale-button" value="Rescale">
<input type="button" class="red" id="reset-to-natural-dimensions" value="Reset Dimensions">
</div>
</fieldset>
<div class="spatial-group row">
<div class="property text">
<label for="property-parent-id">Parent ID</label>
<input type="text" id="property-parent-id">
</div>
<div class="property number">
<label for="property-parent-joint-index">Parent joint index</label>
<input type="number" id="property-parent-joint-index">
</div>
</div>
<div class="spatial-group ">
<div class="property text">
<label>Align</label>
</div>
<div class="row">
<div class="buttons">
<input type="button" id="move-selection-to-grid" value="Selection to Grid">
<input type="button" id="move-all-to-grid" value="All to Grid">
</div>
</div>
</div>
</fieldset>
<fieldset id="behavior" class="major">
<legend class="section-header behavior-group">
Behavior<span>M</span>
</legend>
<div class="property textarea">
<label for="property-user-data">User data</label>
<br>
<div class="row">
<input type="button" class="red" id="userdata-clear" value="Clear User Data">
<input type="button" class="blue" id="userdata-new-editor" value="Edit as JSON">
<input disabled type="button" class="black" id="userdata-save" value="Save User Data">
<span id="userdata-saved">Saved!</span>
</div>
<div id="static-userdata"></div>
<div id="userdata-editor"></div>
<textarea id="property-user-data"></textarea>
</div>
<div id="id" class="property value">
<label>ID:</label>
<input type="text" id="property-id" readonly>
</div>
<fieldset class="minor">
<div class="behavior-group property url ">
<label for="property-collision-sound-url">Collision sound URL</label>
<input type="text" id="property-collision-sound-url">
@ -331,14 +324,16 @@
<label>Lifetime <span class="unit">s</span></label>
<input type="number" id="property-lifetime">
</div>
<hr class="behavior-group" />
</fieldset>
<fieldset class="minor">
<div class="behavior-group property url refresh">
<input type="hidden" id="property-script-timestamp" class="value">
<label for="property-script-url">Script URL</label>
<input type="text" id="property-script-url">
<input type="button" id="reload-script-button" class="glyph" value="F">
</div>
<hr class="behavior-group" />
</fieldset>
<fieldset class="minor">
<div class="behavior-group property url refresh">
<label for="property-server-scripts">Server Script URL</label>
<input type="text" id="property-server-scripts">
@ -351,9 +346,65 @@
<div class="behavior-group property">
<textarea id="server-script-error"></textarea>
</div>
<div class="section-header model-group model-section zone-section">
<label>Model</label><span>M</span>
</fieldset>
<div class="property text">
<label for="property-description">Description</label>
<input type="text" id="property-description">
</div>
</fieldset>
<fieldset id="hyperlink" class="major">
<legend class="section-header hyperlink-group hyperlink-section">
Hyperlink<span>M</span>
</legend>
<div class="hyperlink-group hyperlink-section property url">
<label for="property-hyperlink-href">Href - hifi://address</label>
<input type="text" id="property-hyperlink-href">
</div>
</fieldset>
<fieldset id="light" class="major">
<legend class="section-header light-group light-section">
Light<span>M</span>
</legend>
<fieldset class="light-group light-section property rgb fstuple">
<div class="color-picker" id="property-light-color"></div>
<legend>Light color</legend>
<div class="tuple">
<div><input type="number" class="red" id="property-light-color-red"><label for="property-light-color-red">Red:</label></div>
<div><input type="number" class="green" id="property-light-color-green"><label for="property-light-color-green">Green:</label></div>
<div><input type="number" class="blue" id="property-light-color-blue"><label for="property-light-color-blue">Blue:</label></div>
</div>
</fieldset>
<fieldset class="light-group light-section property gen fstuple">
<div class="tuple">
<div><label>Intensity</label><input type="number" id="property-light-intensity" min="0" step="0.1"></div>
<div><label>Fall-off radius <span class="unit">m</span></label><input type="number" id="property-light-falloff-radius" min="0" step="0.1"></div>
<div></div>
</div>
</fieldset>
<div class="light-group light-section property checkbox">
<input type="checkbox" id="property-light-spot-light">
<label for="property-light-spot-light">Spotlight</label>
</div>
<fieldset class="light-group light-section property gen fstuple">
<div class="tuple">
<div><label>Spotlight exponent</label><input type="number" id="property-light-exponent" step="0.01"></div>
<div><label>Spotlight cut-off</label><input type="number" id="property-light-cutoff" step="0.01"></div>
<div></div>
</div>
</fieldset>
</fieldset>
<fieldset id="model" class="major">
<legend class="section-header model-group model-section zone-section">
Model<span>M</span>
</legend>
<fieldset class="minor">
<div class="model-group model-section property url ">
<label for="property-model-url">Model URL</label>
<input type="text" id="property-model-url">
@ -374,11 +425,13 @@
<label for="property-compound-shape-url">Compound shape URL</label>
<input type="text" id="property-compound-shape-url">
</div>
<hr class="model-group model-section" />
</fieldset>
<fieldset class="minor">
<div class="model-group model-section property url ">
<label for="property-model-animation-url">Animation URL</label>
<input type="text" id="property-model-animation-url">
</div>
<div class="model-group model-section two-column">
<div class="column">
<div class="property checkbox">
@ -413,7 +466,8 @@
</div>
</div>
</div>
<hr class="model-group model-section" />
</fieldset>
<fieldset class="minor">
<div class="model-group model-section property textarea">
<label for="property-model-textures">Textures</label>
<textarea id="property-model-textures"></textarea>
@ -422,42 +476,15 @@
<label for="property-model-original-textures">Original textures</label>
<textarea id="property-model-original-textures" readonly></textarea>
</div>
<div class="section-header text-group text-section">
<label>Text</label><span>M</span>
</div>
<div class="text-group text-section property text">
<label for="property-text-text">Text content</label>
<input type="text" id="property-text-text">
</div>
<div class="text-group text-section property checkbox">
<input type="checkbox" id="property-text-face-camera">
<label for="property-text-face-camera">&nbsp;Face Camera</label>
</div>
<div class="text-group text-section property number">
<label>Line height <span class="unit">m</span></label>
<input type="number" id="property-text-line-height" min="0" step="0.005">
</div>
<div class="text-group text-section property rgb">
<div class="color-picker" id="property-text-text-color"></div>
<label>Text color</label>
<div class="tuple">
<div><input type="number" class="red" id="property-text-text-color-red"><label for="property-text-text-color-red">Red:</label></div>
<div><input type="number" class="green" id="property-text-text-color-green"><label for="property-text-text-color-green">Green:</label></div>
<div><input type="number" class="blue" id="property-text-text-color-blue"><label for="property-text-text-color-blue">Blue:</label></div>
</div>
</div>
<div class="text-group text-section property rgb">
<div class="color-picker" id="property-text-background-color"></div>
<label>Background color</label>
<div class="tuple">
<div><input type="number" class="red" id="property-text-background-color-red"><label for="roperty-text-background-color-red">Red:</label></div>
<div><input type="number" class="green" id="property-text-background-color-green"><label for="property-text-background-color-green">Green:</label></div>
<div><input type="number" class="blue" id="property-text-background-color-blue"><label for="property-text-background-color-blue">Blue:</label></div>
</div>
</div>
<div class="section-header zone-group zone-section">
<label>Zone</label><span>M</span>
</div>
</fieldset>
</fieldset>
<fieldset id="zone" class="major">
<legend class="section-header zone-group zone-section">
Zone<span>M</span>
</legend>
<fieldset class="minor">
<div class="zone-group zone-section property checkbox">
<input type="checkbox" id="property-zone-stage-sun-model-enabled">
<label for="property-zone-stage-sun-model-enabled">Enable stage sun model</label>
@ -470,7 +497,8 @@
<input type="checkbox" id="property-zone-ghosting-allowed">
<label for="property-zone-ghosting-allowed">Ghosting allowed</label>
</div>
<hr class="zone-group zone-section">
</fieldset>
<fieldset class="minor">
<div class="zone-group zone-section property url ">
<label for="property-zone-filter-url">Filter URL</label>
<input type="text" id="property-zone-filter-url">
@ -506,30 +534,34 @@
<label for="property-zone-key-ambient-url">Ambient URL</label>
<input type="text" id="property-zone-key-ambient-url">
</div>
<div class="sub-section-header zone-group zone-section stage-section">
<label>Stage</label>
</div>
<div class="zone-group zone-section stage-section property gen">
</fieldset>
<fieldset class="minor">
<legend class="sub-section-header zone-group zone-section stage-section">
Stage
</legend>
<fieldset class="zone-group zone-section stage-section property gen fstuple">
<div class="tuple">
<div><label>Latitude <span class="unit">deg</span></label><input type="number" id="property-zone-stage-latitude" min="-90" max="90" step="1"></div>
<div><label>Longitude <span class="unit">deg</span></label><input type="number" id="property-zone-stage-longitude" min="-180" max="180" step="1"></div>
<div><label>Altitude <span class="unit">m</span></label><input type="number" id="property-zone-stage-altitude" step="1"></div>
</div>
</div>
</fieldset>
<div class="zone-group zone-section stage-section property checkbox">
<input type="checkbox" id="property-zone-stage-automatic-hour-day">
<label for="property-zone-stage-automatic-hour-day">Match stage hour and day to location</label>
</div>
<div class="zone-group zone-section stage-section property gen">
<fieldset class="zone-group zone-section stage-section property gen fstuple">
<div class="tuple">
<div><label>Day of year</label><input type="number" id="property-zone-stage-day" min="0" max="365" step="1"></div>
<div><label>Hour</label><input type="number" id="property-zone-stage-hour" min="0" max="24" step="0.5"></div>
<div></div>
</div>
</div>
<div class="sub-section-header zone-group zone-section background-section">
<label>Background</label>
</div>
</fieldset>
</fieldset>
<fieldset class="minor">
<legend class="sub-section-header zone-group zone-section background-section">
Background
</legend>
<div class="zone-group zone-section background-section property dropdown">
<label>Background mode</label>
<select name="SelectBackgroundMode" id="property-zone-background-mode">
@ -537,25 +569,69 @@
<option value="skybox">Skybox</option>
</select>
</div>
<div class="sub-section-header zone-group zone-section skybox-section">
<label>Skybox</label>
</div>
<div class="zone-group zone-section skybox-section property rgb">
</fieldset>
<fieldset class="minor skybox-section">
<legend class="sub-section-header zone-group zone-section skybox-section">
Skybox
</legend>
<fieldset class="zone-group zone-section skybox-section property rgb fstuple">
<div class="color-picker" id="property-zone-skybox-color"></div>
<label>Skybox color</label>
<legend>Skybox color</legend>
<div class="tuple">
<div><input type="number" class="red" id="property-zone-skybox-color-red"><label for="property-zone-skybox-color-red">Red:</label></div>
<div><input type="number" class="green" id="property-zone-skybox-color-green"><label for="property-zone-skybox-color-green">Green:</label></div>
<div><input type="number" class="blue" id="property-zone-skybox-color-blue"><label for="property-zone-skybox-color-blue">Blue:</label></div>
</div>
</div>
</fieldset>
<div class="zone-group zone-section skybox-section property url ">
<label for="property-zone-skybox-url">Skybox URL</label>
<input type="text" id="property-zone-skybox-url">
</div>
<div class="section-header web-group web-section">
<label>Web</label><span>M</span>
</fieldset>
</fieldset>
<fieldset id="text" class="major">
<legend class="section-header text-group text-section">
Text<span>M</span>
</legend>
<div class="text-group text-section property text">
<label for="property-text-text">Text content</label>
<input type="text" id="property-text-text">
</div>
<div class="text-group text-section property checkbox">
<input type="checkbox" id="property-text-face-camera">
<label for="property-text-face-camera">&nbsp;Face Camera</label>
</div>
<div class="text-group text-section property number">
<label>Line height <span class="unit">m</span></label>
<input type="number" id="property-text-line-height" min="0" step="0.005">
</div>
<div class="text-group text-section property rgb">
<div class="color-picker" id="property-text-text-color"></div>
<label>Text color</label>
<div class="tuple">
<div><input type="number" class="red" id="property-text-text-color-red"><label for="property-text-text-color-red">Red:</label></div>
<div><input type="number" class="green" id="property-text-text-color-green"><label for="property-text-text-color-green">Green:</label></div>
<div><input type="number" class="blue" id="property-text-text-color-blue"><label for="property-text-text-color-blue">Blue:</label></div>
</div>
</div>
<fieldset class="text-group text-section property rgb fstuple">
<div class="color-picker" id="property-text-background-color"></div>
<legend>Background color</legend>
<div class="tuple">
<div><input type="number" class="red" id="property-text-background-color-red"><label for="roperty-text-background-color-red">Red:</label></div>
<div><input type="number" class="green" id="property-text-background-color-green"><label for="property-text-background-color-green">Green:</label></div>
<div><input type="number" class="blue" id="property-text-background-color-blue"><label for="property-text-background-color-blue">Blue:</label></div>
</div>
</fieldset>
</fieldset>
<fieldset id="web" class="major">
<legend class="section-header web-group web-section">
Web<span>M</span>
</legend>
<div class="web-group web-section property url ">
<label for="property-web-source-url">Source URL</label>
<input type="text" id="property-web-source-url">
@ -564,36 +640,45 @@
<label for="property-web-dpi">Resolution (DPI)</label>
<input type="number" id="property-web-dpi">
</div>
<div class="section-header light-group light-section">
<label>Light</label><span>M</span>
</div>
<div class="light-group light-section property rgb">
<div class="color-picker" id="property-light-color"></div>
<label>Light color</label>
</fieldset>
<fieldset id="polyvox" class="major">
<legend class="section-header spatial-group poly-vox-section property xyz">
Voxel volume size <span>m</span>
</legend>
<div class="tuple">
<div><input type="number" class="red" id="property-light-color-red"><label for="property-light-color-red">Red:</label></div>
<div><input type="number" class="green" id="property-light-color-green"><label for="property-light-color-green">Green:</label></div>
<div><input type="number" class="blue" id="property-light-color-blue"><label for="property-light-color-blue">Blue:</label></div>
<div><input type="number" class="x" id="property-voxel-volume-size-x"><label for="property-voxel-volume-size-x">X:</label></div>
<div><input type="number" class="y" id="property-voxel-volume-size-y"><label for="property-voxel-volume-size-y">Y:</label></div>
<div><input type="number" class="z" id="property-voxel-volume-size-z"><label for="property-voxel-volume-size-z">Z:</label></div>
</div>
<div class="spatial-group poly-vox-section property dropdown">
<label>Surface extractor</label>
<select name="SelectVoxelSurfaceStyle" id="property-voxel-surface-style">
<option value="0">Marching cubes</option>
<option value="1">Cubic</option>
<option value="2">Edged cubic</option>
<option value="3">Edged marching cubes</option>
</select>
</div>
<div class="light-group light-section property gen">
<div class="tuple">
<div><label>Intensity</label><input type="number" id="property-light-intensity" min="0" step="0.1"></div>
<div><label>Fall-off radius <span class="unit">m</span></label><input type="number" id="property-light-falloff-radius" min="0" step="0.1"></div>
<div></div>
<div class="spatial-group poly-vox-section property url ">
<label for="property-x-texture-url">X-axis texture URL</label>
<input type="text" id="property-x-texture-url">
</div>
<div class="spatial-group poly-vox-section property url ">
<label for="property-y-texture-url">Y-axis texture URL</label>
<input type="text" id="property-y-texture-url">
</div>
<div class="light-group light-section property checkbox">
<input type="checkbox" id="property-light-spot-light">
<label for="property-light-spot-light">Spotlight</label>
</div>
<div class="light-group light-section property gen">
<div class="tuple">
<div><label>Spotlight exponent</label><input type="number" id="property-light-exponent" step="0.01"></div>
<div><label>Spotlight cut-off</label><input type="number" id="property-light-cutoff" step="0.01"></div>
<div></div>
</div>
<div class="spatial-group poly-vox-section property url ">
<label for="property-z-texture-url">Z-axis texture URL</label>
<input type="text" id="property-z-texture-url">
</div>
</fieldset>
</div>
</body>
</html>

View file

@ -479,6 +479,7 @@ function loaded() {
openEventBridge(function() {
var allSections = [];
var elPropertiesList = document.getElementById("properties-list");
var elID = document.getElementById("property-id");
var elType = document.getElementById("property-type");
var elTypeIcon = document.getElementById("type-icon");
@ -565,7 +566,8 @@ function loaded() {
var elJSONEditor = document.getElementById("userdata-editor");
var elNewJSONEditor = document.getElementById('userdata-new-editor');
var elColorSections = document.querySelectorAll(".color-section");
var elColor = document.getElementById("property-color");
var elColorControl1 = document.getElementById("property-color-control1");
var elColorControl2 = document.getElementById("property-color-control2");
var elColorRed = document.getElementById("property-color-red");
var elColorGreen = document.getElementById("property-color-green");
var elColorBlue = document.getElementById("property-color-blue");
@ -679,7 +681,8 @@ function loaded() {
data = JSON.parse(data);
if (data.type == "server_script_status") {
elServerScriptError.value = data.errorInfo;
elServerScriptError.style.display = data.errorInfo ? "block" : "none";
// If we just set elServerScriptError's diplay to block or none, we still end up with it's parent contributing 21px bottom padding even when elServerScriptError is display:none. So set it's parent to block or none
elServerScriptError.parentElement.style.display = data.errorInfo ? "block" : "none";
if (data.statusRetrieved === false) {
elServerScriptStatus.innerText = "Failed to retrieve status";
} else if (data.isRunning) {
@ -705,6 +708,7 @@ function loaded() {
elTypeIcon.style.display = "none";
elType.innerHTML = "<i>No selection</i>";
elID.value = "";
elPropertiesList.className = '';
disableProperties();
} else if (data.selections && data.selections.length > 1) {
deleteJSONEditor();
@ -733,6 +737,7 @@ function loaded() {
elType.innerHTML = type + " (" + data.selections.length + ")";
elTypeIcon.innerHTML = ICON_FOR_TYPE[type];
elTypeIcon.style.display = "inline-block";
elPropertiesList.className = '';
elID.value = "";
@ -749,6 +754,7 @@ function loaded() {
lastEntityID = '"' + properties.id + '"';
elID.value = properties.id;
elPropertiesList.className = properties.type + 'Menu';
elType.innerHTML = properties.type;
elTypeIcon.innerHTML = ICON_FOR_TYPE[properties.type];
elTypeIcon.style.display = "inline-block";
@ -883,48 +889,20 @@ function loaded() {
elHyperlinkHref.value = properties.href;
elDescription.value = properties.description;
for (var i = 0; i < allSections.length; i++) {
for (var j = 0; j < allSections[i].length; j++) {
allSections[i][j].style.display = 'none';
}
}
for (var i = 0; i < elHyperlinkSections.length; i++) {
elHyperlinkSections[i].style.display = 'table';
}
if (properties.type == "Shape" || properties.type == "Box" || properties.type == "Sphere") {
for (var i = 0; i < elShapeSections.length; i++) {
elShapeSections[i].style.display = 'table';
}
elShape.value = properties.shape;
setDropdownText(elShape);
} else {
for (var i = 0; i < elShapeSections.length; i++) {
elShapeSections[i].style.display = 'none';
}
}
if (properties.type == "Shape" || properties.type == "Box" || properties.type == "Sphere" || properties.type == "ParticleEffect") {
for (var i = 0; i < elColorSections.length; i++) {
elColorSections[i].style.display = 'table';
}
elColorRed.value = properties.color.red;
elColorGreen.value = properties.color.green;
elColorBlue.value = properties.color.blue;
elColor.style.backgroundColor = "rgb(" + properties.color.red + "," + properties.color.green + "," + properties.color.blue + ")";
} else {
for (var i = 0; i < elColorSections.length; i++) {
elColorSections[i].style.display = 'none';
}
elColorControl1.style.backgroundColor = elColorControl2.style.backgroundColor = "rgb(" + properties.color.red + "," + properties.color.green + "," + properties.color.blue + ")";
}
if (properties.type == "Model") {
for (var i = 0; i < elModelSections.length; i++) {
elModelSections[i].style.display = 'table';
}
elModelURL.value = properties.modelURL;
elShapeType.value = properties.shapeType;
setDropdownText(elShapeType);
@ -942,20 +920,9 @@ function loaded() {
elModelOriginalTextures.value = properties.originalTextures;
setTextareaScrolling(elModelOriginalTextures);
} else if (properties.type == "Web") {
for (var i = 0; i < elWebSections.length; i++) {
elWebSections[i].style.display = 'table';
}
for (var i = 0; i < elHyperlinkSections.length; i++) {
elHyperlinkSections[i].style.display = 'none';
}
elWebSourceURL.value = properties.sourceUrl;
elWebDPI.value = properties.dpi;
} else if (properties.type == "Text") {
for (var i = 0; i < elTextSections.length; i++) {
elTextSections[i].style.display = 'table';
}
elTextText.value = properties.text;
elTextLineHeight.value = properties.lineHeight.toFixed(4);
elTextFaceCamera.checked = properties.faceCamera;
@ -967,10 +934,6 @@ function loaded() {
elTextBackgroundColorGreen.value = properties.backgroundColor.green;
elTextBackgroundColorBlue.value = properties.backgroundColor.blue;
} else if (properties.type == "Light") {
for (var i = 0; i < elLightSections.length; i++) {
elLightSections[i].style.display = 'table';
}
elLightSpotLight.checked = properties.isSpotlight;
elLightColor.style.backgroundColor = "rgb(" + properties.color.red + "," + properties.color.green + "," + properties.color.blue + ")";
@ -983,10 +946,6 @@ function loaded() {
elLightExponent.value = properties.exponent.toFixed(2);
elLightCutoff.value = properties.cutoff.toFixed(2);
} else if (properties.type == "Zone") {
for (var i = 0; i < elZoneSections.length; i++) {
elZoneSections[i].style.display = 'table';
}
elZoneStageSunModelEnabled.checked = properties.stage.sunModelEnabled;
elZoneKeyLightColor.style.backgroundColor = "rgb(" + properties.keyLight.color.red + "," + properties.keyLight.color.green + "," + properties.keyLight.color.blue + ")";
elZoneKeyLightColorRed.value = properties.keyLight.color.red;
@ -1023,10 +982,6 @@ function loaded() {
showElements(document.getElementsByClassName('skybox-section'), elZoneBackgroundMode.value == 'skybox');
} else if (properties.type == "PolyVox") {
for (var i = 0; i < elPolyVoxSections.length; i++) {
elPolyVoxSections[i].style.display = 'table';
}
elVoxelVolumeSizeX.value = properties.voxelVolumeSize.x.toFixed(2);
elVoxelVolumeSizeY.value = properties.voxelVolumeSize.y.toFixed(2);
elVoxelVolumeSizeZ.value = properties.voxelVolumeSize.z.toFixed(2);
@ -1225,20 +1180,41 @@ function loaded() {
elColorRed.addEventListener('change', colorChangeFunction);
elColorGreen.addEventListener('change', colorChangeFunction);
elColorBlue.addEventListener('change', colorChangeFunction);
colorPickers.push($('#property-color').colpick({
colorPickers.push($('#property-color-control1').colpick({
colorScheme: 'dark',
layout: 'hex',
color: '000000',
onShow: function(colpick) {
$('#property-color').attr('active', 'true');
$('#property-color-control1').attr('active', 'true');
},
onHide: function(colpick) {
$('#property-color').attr('active', 'false');
$('#property-color-control1').attr('active', 'false');
},
onSubmit: function(hsb, hex, rgb, el) {
$(el).css('background-color', '#' + hex);
$(el).colpickHide();
emitColorPropertyUpdate('color', rgb.r, rgb.g, rgb.b);
// Keep the companion control in sync
elColorControl2.style.backgroundColor = "rgb(" + rgb.r + "," + rgb.g + "," + rgb.b + ")";
}
}));
colorPickers.push($('#property-color-control2').colpick({
colorScheme: 'dark',
layout: 'hex',
color: '000000',
onShow: function(colpick) {
$('#property-color-control2').attr('active', 'true');
},
onHide: function(colpick) {
$('#property-color-control2').attr('active', 'false');
},
onSubmit: function(hsb, hex, rgb, el) {
$(el).css('background-color', '#' + hex);
$(el).colpickHide();
emitColorPropertyUpdate('color', rgb.r, rgb.g, rgb.b);
// Keep the companion control in sync
elColorControl1.style.backgroundColor = "rgb(" + rgb.r + "," + rgb.g + "," + rgb.b + ")";
}
}));
@ -1502,11 +1478,9 @@ function loaded() {
var elCollapsible = document.getElementsByClassName("section-header");
var toggleCollapsedEvent = function(event) {
var element = event.target;
if (element.nodeName !== "DIV") {
element = element.parentNode;
}
var isCollapsed = element.getAttribute("collapsed") !== "true";
var element = event.target.parentNode.parentNode;
var isCollapsed = element.dataset.collapsed !== "true";
element.dataset.collapsed = isCollapsed ? "true" : false
element.setAttribute("collapsed", isCollapsed ? "true" : "false");
element.getElementsByTagName("span")[0].textContent = isCollapsed ? "L" : "M";
};