Merge branch 'master' of github.com:highfidelity/hifi into interstitial-final-page

This commit is contained in:
Dante Ruiz 2018-08-01 08:48:15 -07:00
commit 478bb88c69
2 changed files with 22 additions and 13 deletions

View file

@ -126,8 +126,8 @@
<label for="property-grabbable">Grabbable</label> <label for="property-grabbable">Grabbable</label>
</div> </div>
<div class="property checkbox"> <div class="property checkbox">
<input type="checkbox" id="property-wants-trigger"> <input type="checkbox" id="property-triggerable">
<label for="property-wants-trigger">Triggerable</label> <label for="property-triggerable">Triggerable</label>
</div> </div>
<div class="property checkbox"> <div class="property checkbox">
<input type="checkbox" id="property-cloneable"> <input type="checkbox" id="property-cloneable">

View file

@ -308,9 +308,10 @@ function setUserDataFromEditor(noUpdate) {
} }
} }
function multiDataUpdater(groupName, updateKeyPair, userDataElement, defaults) { function multiDataUpdater(groupName, updateKeyPair, userDataElement, defaults, removeKeys) {
var properties = {}; var properties = {};
var parsedData = {}; var parsedData = {};
var keysToBeRemoved = removeKeys ? removeKeys : [];
try { try {
if ($('#userdata-editor').css('height') !== "0px") { if ($('#userdata-editor').css('height') !== "0px") {
// if there is an expanded, we want to use its json. // if there is an expanded, we want to use its json.
@ -342,6 +343,12 @@ function multiDataUpdater(groupName, updateKeyPair, userDataElement, defaults) {
parsedData[groupName][key] = defaults[key]; parsedData[groupName][key] = defaults[key];
} }
}); });
keysToBeRemoved.forEach(function(key) {
if (parsedData[groupName].hasOwnProperty(key)) {
delete parsedData[groupName][key];
}
});
if (Object.keys(parsedData[groupName]).length === 0) { if (Object.keys(parsedData[groupName]).length === 0) {
delete parsedData[groupName]; delete parsedData[groupName];
} }
@ -355,11 +362,11 @@ function multiDataUpdater(groupName, updateKeyPair, userDataElement, defaults) {
updateProperties(properties); updateProperties(properties);
} }
function userDataChanger(groupName, keyName, values, userDataElement, defaultValue) { function userDataChanger(groupName, keyName, values, userDataElement, defaultValue, removeKeys) {
var val = {}, def = {}; var val = {}, def = {};
val[keyName] = values; val[keyName] = values;
def[keyName] = defaultValue; def[keyName] = defaultValue;
multiDataUpdater(groupName, val, userDataElement, def); multiDataUpdater(groupName, val, userDataElement, def, removeKeys);
} }
function setMaterialDataFromEditor(noUpdate) { function setMaterialDataFromEditor(noUpdate) {
@ -711,7 +718,7 @@ function loaded() {
var elCloneableLifetime = document.getElementById("property-cloneable-lifetime"); var elCloneableLifetime = document.getElementById("property-cloneable-lifetime");
var elCloneableLimit = document.getElementById("property-cloneable-limit"); var elCloneableLimit = document.getElementById("property-cloneable-limit");
var elWantsTrigger = document.getElementById("property-wants-trigger"); var elTriggerable = document.getElementById("property-triggerable");
var elIgnoreIK = document.getElementById("property-ignore-ik"); var elIgnoreIK = document.getElementById("property-ignore-ik");
var elLifetime = document.getElementById("property-lifetime"); var elLifetime = document.getElementById("property-lifetime");
@ -1234,7 +1241,7 @@ function loaded() {
elGrabbable.checked = properties.dynamic; elGrabbable.checked = properties.dynamic;
elWantsTrigger.checked = false; elTriggerable.checked = false;
elIgnoreIK.checked = true; elIgnoreIK.checked = true;
elCloneable.checked = properties.cloneable; elCloneable.checked = properties.cloneable;
@ -1257,10 +1264,12 @@ function loaded() {
} else { } else {
elGrabbable.checked = true; elGrabbable.checked = true;
} }
if ("wantsTrigger" in grabbableData) { if ("triggerable" in grabbableData) {
elWantsTrigger.checked = grabbableData.wantsTrigger; elTriggerable.checked = grabbableData.triggerable;
} else if ("wantsTrigger" in grabbableData) {
elTriggerable.checked = grabbableData.wantsTrigger;
} else { } else {
elWantsTrigger.checked = false; elTriggerable.checked = false;
} }
if ("ignoreIK" in grabbableData) { if ("ignoreIK" in grabbableData) {
elIgnoreIK.checked = grabbableData.ignoreIK; elIgnoreIK.checked = grabbableData.ignoreIK;
@ -1273,7 +1282,7 @@ function loaded() {
} }
if (!grabbablesSet) { if (!grabbablesSet) {
elGrabbable.checked = true; elGrabbable.checked = true;
elWantsTrigger.checked = false; elTriggerable.checked = false;
elIgnoreIK.checked = true; elIgnoreIK.checked = true;
elCloneable.checked = false; elCloneable.checked = false;
} }
@ -1647,8 +1656,8 @@ function loaded() {
elCloneableLifetime.addEventListener('change', createEmitNumberPropertyUpdateFunction('cloneLifetime')); elCloneableLifetime.addEventListener('change', createEmitNumberPropertyUpdateFunction('cloneLifetime'));
elCloneableLimit.addEventListener('change', createEmitNumberPropertyUpdateFunction('cloneLimit')); elCloneableLimit.addEventListener('change', createEmitNumberPropertyUpdateFunction('cloneLimit'));
elWantsTrigger.addEventListener('change', function() { elTriggerable.addEventListener('change', function() {
userDataChanger("grabbableKey", "wantsTrigger", elWantsTrigger, elUserData, false); userDataChanger("grabbableKey", "triggerable", elTriggerable, elUserData, false, ['wantsTrigger']);
}); });
elIgnoreIK.addEventListener('change', function() { elIgnoreIK.addEventListener('change', function() {
userDataChanger("grabbableKey", "ignoreIK", elIgnoreIK, elUserData, true); userDataChanger("grabbableKey", "ignoreIK", elIgnoreIK, elUserData, true);