1882 lines · 103.1 KB · HTML
RawDownload
<!--//  entityProperties.html////  Created by Ryan Huffman on 13 Nov 2014//  Copyright 2014 High Fidelity, Inc.////  Distributed under the Apache License, Version 2.0.//  See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html--> <html><head>    <title>Properties</title>    <link rel="stylesheet" type="text/css" href="edit-style.css">    <link rel="stylesheet" type="text/css" href="css/colpick.css">    <script src="jquery-2.1.4.min.js"></script>    <script src="colpick.js"></script>    <script type="text/javascript" src="qrc:///qtwebchannel/qwebchannel.js"></script>    <script type="text/javascript" src="eventBridgeLoader.js"></script>    <script type="text/javascript" src="spinButtons.js"></script>    <script>        var PI = 3.14159265358979;        var DEGREES_TO_RADIANS = PI / 180.0;        var RADIANS_TO_DEGREES = 180.0 / PI;        var ICON_FOR_TYPE = {            Box: "V",            Sphere: "n",            Shape: "n",            ParticleEffect: "&#xe004;",            Model: "&#xe008;",            Web: "q",            Text: "l",            Light: "p",            Zone: "o",            PolyVox: "&#xe005;",            Multiple: "&#xe000;"        }         var colorPickers = [];         debugPrint = function(message) {            EventBridge.emitWebEvent(                JSON.stringify({                    type:"print",                     message: message                })            );        };                function enableChildren(el, selector) {            els = el.querySelectorAll(selector);            for (var i = 0; i < els.length; i++) {                els[i].removeAttribute('disabled');            }        }        function disableChildren(el, selector) {            els = el.querySelectorAll(selector);            for (var i = 0; i < els.length; i++) {                els[i].setAttribute('disabled', 'disabled');            }        }         function enableProperties() {            enableChildren(document.getElementById("properties-list"), "input, textarea, checkbox, .dropdown dl, .color-picker");            enableChildren(document, ".colpick");        }         function disableProperties() {            disableChildren(document.getElementById("properties-list"), "input, textarea, checkbox, .dropdown dl, .color-picker");            disableChildren(document, ".colpick");            for (var i = 0; i < colorPickers.length; i++) {                colorPickers[i].colpickHide();            }        }         function showElements(els, show) {            for (var i = 0; i < els.length; i++) {                els[i].style.display = (show) ? 'table' : 'none';            }        }         function createEmitCheckedPropertyUpdateFunction(propertyName) {            return function() {                EventBridge.emitWebEvent(                    '{ "type":"update", "properties":{"' + propertyName + '":' + this.checked + '}}'                );            };        }         function createEmitCheckedToStringPropertyUpdateFunction(checkboxElement, name, propertyName) {            var newString = "";            if (checkboxElement.checked) {                newString += name + "";            } else {             }         }         function createEmitGroupCheckedPropertyUpdateFunction(group, propertyName) {            return function () {                var properties = {};                properties[group] = {};                properties[group][propertyName] = this.checked;                EventBridge.emitWebEvent(                    JSON.stringify({                        type: "update",                        properties: properties                    })                );            };        }         function createEmitNumberPropertyUpdateFunction(propertyName, decimals) {            decimals = decimals == undefined ? 4 : decimals;            return function() {                var value = parseFloat(this.value).toFixed(decimals);                 EventBridge.emitWebEvent(                    '{ "type":"update", "properties":{"' + propertyName + '":' + value + '}}'                );            };        }        function createEmitGroupNumberPropertyUpdateFunction(group, propertyName) {            return function() {                var properties = {};                properties[group] = {};                properties[group][propertyName] = this.value;                EventBridge.emitWebEvent(                    JSON.stringify({                        type: "update",                        properties: properties,                    })                );            };        }          function createEmitTextPropertyUpdateFunction(propertyName) {            return function() {                var properties = {};                properties[propertyName] = this.value;                EventBridge.emitWebEvent(                    JSON.stringify({                        type: "update",                        properties: properties,                    })                );            };        }         function createEmitGroupTextPropertyUpdateFunction(group,propertyName) {            return function() {                var properties = {};                properties[group] = {};                properties[group][propertyName] = this.value;                EventBridge.emitWebEvent(                    JSON.stringify({                        type: "update",                        properties: properties,                    })                );            };        }         function createEmitVec3PropertyUpdateFunction(property, elX, elY, elZ) {            return function() {                var data = {                     type: "update",                     properties: {                     }                };                data.properties[property] = {                     x: elX.value,                     y: elY.value,                     z: elZ.value,                };                EventBridge.emitWebEvent(JSON.stringify(data));            }        };         function createEmitGroupVec3PropertyUpdateFunction(group, property, elX, elY, elZ) {            return function() {                var data = {                     type: "update",                     properties: {                     }                };                data.properties[group] = { };                data.properties[group][property] = {                     x: elX.value,                     y: elY.value,                     z: elZ ? elZ.value : 0,                };                EventBridge.emitWebEvent(JSON.stringify(data));            }        };         function createEmitVec3PropertyUpdateFunctionWithMultiplier(property, elX, elY, elZ, multiplier) {            return function() {                var data = {                     type: "update",                     properties: {                     }                };                data.properties[property] = {                     x: elX.value * multiplier,                     y: elY.value * multiplier,                     z: elZ.value * multiplier,                };                EventBridge.emitWebEvent(JSON.stringify(data));            }        };         function createEmitColorPropertyUpdateFunction(property, elRed, elGreen, elBlue) {            return function() {                emitColorPropertyUpdate(property, elRed.value, elGreen.value, elBlue.value);            }        };         function emitColorPropertyUpdate(property, red, green, blue, group) {                var data = {                     type: "update",                     properties: {                     }                };                if (group) {                    data.properties[group] = { };                    data.properties[group][property] = {                         red: red,                         green: green,                         blue: blue,                    };                } else {                    data.properties[property] = {                         red: red,                         green: green,                         blue: blue,                    };                }                EventBridge.emitWebEvent(JSON.stringify(data));        };          function createEmitGroupColorPropertyUpdateFunction(group, property, elRed, elGreen, elBlue) {            return function() {                var data = {                     type: "update",                     properties: {                     }                };                data.properties[group] = { };                 data.properties[group][property] = {                     red: elRed.value,                     green: elGreen.value,                     blue: elBlue.value,                };                EventBridge.emitWebEvent(JSON.stringify(data));            }        };         function updateCheckedSubProperty(propertyName, propertyValue, subPropertyElement, subPropertyString) {            if (subPropertyElement.checked) {                if (propertyValue.indexOf(subPropertyString)) {                    propertyValue += subPropertyString + ',';                }             } else {                // We've unchecked, so remove                 propertyValue = propertyValue.replace(subPropertyString + ",", "");            }             var _properties ={}            _properties[propertyName] = propertyValue;                        EventBridge.emitWebEvent(              JSON.stringify({                type: "update",                properties: _properties              })            );         }         function userDataChanger(groupName, keyName, checkBoxElement, userDataElement, defaultValue) {            var properties = {};            var parsedData = {};            try {                parsedData = JSON.parse(userDataElement.value);            } catch(e) {}             if (!(groupName in parsedData)) {                parsedData[groupName] = {}            }            delete parsedData[groupName][keyName];            if (checkBoxElement.checked !== defaultValue) {                parsedData[groupName][keyName] = checkBoxElement.checked;            }             if (Object.keys(parsedData[groupName]).length == 0) {                delete parsedData[groupName];            }            if (Object.keys(parsedData).length > 0) {                properties['userData'] = JSON.stringify(parsedData);            } else {                properties['userData'] = '';            }             userDataElement.value = properties['userData'];             EventBridge.emitWebEvent(                JSON.stringify({                    type: "update",                    properties: properties,                })            );        };         function setTextareaScrolling(element) {            var isScrolling = element.scrollHeight > element.offsetHeight;            element.setAttribute("scrolling", isScrolling ? "true" : "false");        }         function loaded() {             openEventBridge(function() {                var allSections = [];                var elID = document.getElementById("property-id");                var elType = document.getElementById("property-type");                var elTypeIcon = document.getElementById("type-icon");                var elName = document.getElementById("property-name");                var elLocked = document.getElementById("property-locked");                var elVisible = document.getElementById("property-visible");                var elPositionX = document.getElementById("property-pos-x");                var elPositionY = document.getElementById("property-pos-y");                var elPositionZ = document.getElementById("property-pos-z");                var elMoveSelectionToGrid = document.getElementById("move-selection-to-grid");                var elMoveAllToGrid = document.getElementById("move-all-to-grid");                    var elDimensionsX = document.getElementById("property-dim-x");                var elDimensionsY = document.getElementById("property-dim-y");                var elDimensionsZ = document.getElementById("property-dim-z");                var elResetToNaturalDimensions = document.getElementById("reset-to-natural-dimensions");                var elRescaleDimensionsPct = document.getElementById("dimension-rescale-pct");                var elRescaleDimensionsButton = document.getElementById("dimension-rescale-button");                    var elParentID = document.getElementById("property-parent-id");                var elParentJointIndex = document.getElementById("property-parent-joint-index");                    var elRegistrationX = document.getElementById("property-reg-x");                var elRegistrationY = document.getElementById("property-reg-y");                var elRegistrationZ = document.getElementById("property-reg-z");                    var elRotationX = document.getElementById("property-rot-x");                var elRotationY = document.getElementById("property-rot-y");                var elRotationZ = document.getElementById("property-rot-z");                    var elLinearVelocityX = document.getElementById("property-lvel-x");                var elLinearVelocityY = document.getElementById("property-lvel-y");                var elLinearVelocityZ = document.getElementById("property-lvel-z");                var elLinearDamping = document.getElementById("property-ldamping");                    var elAngularVelocityX = document.getElementById("property-avel-x");                var elAngularVelocityY = document.getElementById("property-avel-y");                var elAngularVelocityZ = document.getElementById("property-avel-z");                var elAngularDamping = document.getElementById("property-adamping");                    var elRestitution = document.getElementById("property-restitution");                var elFriction = document.getElementById("property-friction");                    var elGravityX = document.getElementById("property-grav-x");                var elGravityY = document.getElementById("property-grav-y");                var elGravityZ = document.getElementById("property-grav-z");                    var elAccelerationX = document.getElementById("property-lacc-x");                var elAccelerationY = document.getElementById("property-lacc-y");                var elAccelerationZ = document.getElementById("property-lacc-z");                    var elDensity = document.getElementById("property-density");                var elCollisionless = document.getElementById("property-collisionless");                var elDynamic = document.getElementById("property-dynamic" );                var elCollideStatic = document.getElementById("property-collide-static");                var elCollideDynamic = document.getElementById("property-collide-dynamic");                var elCollideKinematic = document.getElementById("property-collide-kinematic");                var elCollideMyAvatar = document.getElementById("property-collide-myAvatar");                var elCollideOtherAvatar = document.getElementById("property-collide-otherAvatar");                var elCollisionSoundURL = document.getElementById("property-collision-sound-url");                 var elGrabbable = document.getElementById("property-grabbable");                var elWantsTrigger = document.getElementById("property-wants-trigger");                var elIgnoreIK = document.getElementById("property-ignore-ik");                 var elLifetime = document.getElementById("property-lifetime");                var elScriptURL = document.getElementById("property-script-url");                /*                FIXME: See FIXME for property-script-url.                var elScriptTimestamp = document.getElementById("property-script-timestamp");                */                var elReloadScriptButton = document.getElementById("reload-script-button");                var elUserData = document.getElementById("property-user-data");                    var elColorSections = document.querySelectorAll(".color-section");                var elColor = document.getElementById("property-color");                var elColorRed = document.getElementById("property-color-red");                var elColorGreen = document.getElementById("property-color-green");                var elColorBlue = document.getElementById("property-color-blue");                    var elShapeSections = document.querySelectorAll(".shape-section");                allSections.push(elShapeSections);                var elShape = document.getElementById("property-shape");                                var elLightSections = document.querySelectorAll(".light-section");                allSections.push(elLightSections);                var elLightSpotLight = document.getElementById("property-light-spot-light");                var elLightColor = document.getElementById("property-light-color");                var elLightColorRed = document.getElementById("property-light-color-red");                var elLightColorGreen = document.getElementById("property-light-color-green");                var elLightColorBlue = document.getElementById("property-light-color-blue");                    var elLightIntensity = document.getElementById("property-light-intensity");                var elLightFalloffRadius = document.getElementById("property-light-falloff-radius");                var elLightExponent = document.getElementById("property-light-exponent");                var elLightCutoff = document.getElementById("property-light-cutoff");                    var elModelSections = document.querySelectorAll(".model-section");                allSections.push(elModelSections);                var elModelURL = document.getElementById("property-model-url");                var elShapeType = document.getElementById("property-shape-type");                var elCompoundShapeURL = document.getElementById("property-compound-shape-url");                var elModelAnimationURL = document.getElementById("property-model-animation-url");                var elModelAnimationPlaying = document.getElementById("property-model-animation-playing");                var elModelAnimationFPS = document.getElementById("property-model-animation-fps");                var elModelAnimationFrame = document.getElementById("property-model-animation-frame");                var elModelAnimationFirstFrame = document.getElementById("property-model-animation-first-frame");                var elModelAnimationLastFrame = document.getElementById("property-model-animation-last-frame");                var elModelAnimationLoop = document.getElementById("property-model-animation-loop");                var elModelAnimationHold = document.getElementById("property-model-animation-hold");                var elModelTextures = document.getElementById("property-model-textures");                var elModelOriginalTextures = document.getElementById("property-model-original-textures");                    var elWebSections = document.querySelectorAll(".web-section");                allSections.push(elWebSections);                var elWebSourceURL = document.getElementById("property-web-source-url");                     var elHyperlinkHref = document.getElementById("property-hyperlink-href");                var elHyperlinkDescription = document.getElementById("property-hyperlink-description");                var elHyperlinkSections = document.querySelectorAll(".hyperlink-section");                                  var elTextSections = document.querySelectorAll(".text-section");                allSections.push(elTextSections);                var elTextText = document.getElementById("property-text-text");                var elTextLineHeight = document.getElementById("property-text-line-height");                var elTextTextColor = document.getElementById("property-text-text-color");                var elTextFaceCamera = document.getElementById("property-text-face-camera");                var elTextTextColorRed = document.getElementById("property-text-text-color-red");                var elTextTextColorGreen = document.getElementById("property-text-text-color-green");                var elTextTextColorBlue = document.getElementById("property-text-text-color-blue");                var elTextBackgroundColor = document.getElementById("property-text-background-color");                var elTextBackgroundColorRed = document.getElementById("property-text-background-color-red");                var elTextBackgroundColorGreen = document.getElementById("property-text-background-color-green");                var elTextBackgroundColorBlue = document.getElementById("property-text-background-color-blue");                    var elZoneSections = document.querySelectorAll(".zone-section");                allSections.push(elZoneSections);                var elZoneStageSunModelEnabled = document.getElementById("property-zone-stage-sun-model-enabled");                    var elZoneKeyLightColor = document.getElementById("property-zone-key-light-color");                var elZoneKeyLightColorRed = document.getElementById("property-zone-key-light-color-red");                var elZoneKeyLightColorGreen = document.getElementById("property-zone-key-light-color-green");                var elZoneKeyLightColorBlue = document.getElementById("property-zone-key-light-color-blue");                var elZoneKeyLightIntensity = document.getElementById("property-zone-key-intensity");                var elZoneKeyLightAmbientIntensity = document.getElementById("property-zone-key-ambient-intensity");                var elZoneKeyLightDirectionX = document.getElementById("property-zone-key-light-direction-x");                var elZoneKeyLightDirectionY = document.getElementById("property-zone-key-light-direction-y");                var elZoneKeyLightDirectionZ = document.getElementById("property-zone-key-light-direction-z");                var elZoneKeyLightAmbientURL = document.getElementById("property-zone-key-ambient-url");                    var elZoneStageLatitude = document.getElementById("property-zone-stage-latitude");                var elZoneStageLongitude = document.getElementById("property-zone-stage-longitude");                var elZoneStageAltitude = document.getElementById("property-zone-stage-altitude");                var elZoneStageAutomaticHourDay = document.getElementById("property-zone-stage-automatic-hour-day");                var elZoneStageDay = document.getElementById("property-zone-stage-day");                var elZoneStageHour = document.getElementById("property-zone-stage-hour");                    var elZoneBackgroundMode = document.getElementById("property-zone-background-mode");                    var elZoneSkyboxColor = document.getElementById("property-zone-skybox-color");                var elZoneSkyboxColorRed = document.getElementById("property-zone-skybox-color-red");                var elZoneSkyboxColorGreen = document.getElementById("property-zone-skybox-color-green");                var elZoneSkyboxColorBlue = document.getElementById("property-zone-skybox-color-blue");                var elZoneSkyboxURL = document.getElementById("property-zone-skybox-url");                 var elZoneFlyingAllowed = document.getElementById("property-zone-flying-allowed");                var elZoneGhostingAllowed = document.getElementById("property-zone-ghosting-allowed");                    var elPolyVoxSections = document.querySelectorAll(".poly-vox-section");                allSections.push(elPolyVoxSections);                var elVoxelVolumeSizeX = document.getElementById("property-voxel-volume-size-x");                var elVoxelVolumeSizeY = document.getElementById("property-voxel-volume-size-y");

Lines 1–500 of 1882.