From c283c062c1e8f6bf05c62d642713558e6a90d715 Mon Sep 17 00:00:00 2001 From: Thijs Wenker <me@thoys.nl> Date: Fri, 12 Apr 2019 19:23:15 +0200 Subject: [PATCH] CR changes --- scripts/system/html/css/edit-style.css | 8 +- scripts/system/html/js/draggableNumber.js | 18 ++- scripts/system/html/js/entityProperties.js | 123 ++++++++++++--------- 3 files changed, 84 insertions(+), 65 deletions(-) diff --git a/scripts/system/html/css/edit-style.css b/scripts/system/html/css/edit-style.css index f8247a24d5..470e57ad6d 100644 --- a/scripts/system/html/css/edit-style.css +++ b/scripts/system/html/css/edit-style.css @@ -272,7 +272,9 @@ dl>dt.multi-diff:not(:focus) + span.multi-diff { z-index: 2; top: 7.5px; left: 20px; - width: 50px; + max-width: 50px; + min-width: 10px; + width: 50%; height: 13px; background-image: linear-gradient(transparent 0%, transparent 10%, #afafaf 10%, #afafaf 20%, transparent 20%, transparent 45%, #afafaf 45%, #afafaf 55%, transparent 55%, transparent 80%, #afafaf 80%, #afafaf 90%, transparent 90%, transparent 100%); background-repeat: no-repeat; @@ -478,10 +480,10 @@ input[type=checkbox]:checked + label:hover { background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEySURBVDhPnZLPSsNAEMa/XVPBCE0RhNy0OarP4Av4AD6JB0GwVBA8efBBxHsgh4CQswcRoUIpiIpVAm3zZ5M4szFSbQPBH3xkJvNNZskOer2eLIriKM/ze1JOcS1UHmdZduF5ngEKjr/fN4Z6+oKerwA2gxC4HAFPEWVLsAzgZAvYt3Q6Enw6jg7uBAaTFMNwhpnKdbXCkAJdy8ROu4XrXW2HTJIErHcFDD6nC02Mom8PwymeE2gvS0ZRBBaTlsOXEmdlrfLLOI7Bakrl/zWxCT8T/904f9QW/b06qtrCUdtFCqdjYs2Q2jAPX8c2XQd7Kr/wfV8vwIPs4Ga1ixe5Xrr/YFLTYfKIvWzM6ZtwXZdX7lxXG0L+sxXHcW5t254opRzawQ0S72+dPmjTroIgOP0CQSMt5LDn1T8AAAAASUVORK5CYII=); } input.multi-diff[type=checkbox] + label { - background-image: url(data:image/png;base64,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) + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFbSURBVDhPY2xoaGD68+dPMSMjY9L////VgTQjAw4AlH8PxLOPHj1azWxjY1MBVNsBFBfBpwkEgNKcQGwtJyfHyALkF4IE34gqM9zU9WT4wicG4mIA1l/fGIyOL2EQeP8EZEAiC5AQBUlcMQ5ieMXIwfDo9SeG73/+gRXDAAsTI4Pd9wdgTVAgw/Tv3z8GEP7Jwctw78M3DE0goPr6BoPludVgdTAM1wgCv//9B9PIQOPNDYaAGxtRNIEw03+gYhDGBtSBNgVc3wiWR8dM//4DTQBidKD++jqD//X1YDlsGMWpMKD26jqD79V1GM5DxihOZQWGntqrawy+V9ZiOA0dw21k/f6JwerzHQbvS2swTMeGGfPz8l8BLRP9KizDwP0WHk+EwGum/3//94M8y/nmEdZAwIb//vs7g/nk6ZPHzE3NvwITrxLDfwYhIAamZpz4PcM/hslXrl6pBwAmfz5iaAlAuAAAAABJRU5ErkJggg==); } input.multi-diff[type=checkbox] + label:hover { - background-image: url(data:image/png;base64,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) + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFPSURBVDhPjZJBSwJBHMXfrG6rWEkl1MFDGOihDn2JIIrqc3QJunbyFhUkRieD+hYepWteuxctXiJ1Q5xmdmZ3bWZTUHezfvAu/3lv3n+HRblcTrbb7fN+v/8eBMFgFpxz13Gcu3q9bqHb7V4M5/9GhatE3cIsy0o99YBKC3jliCWbBK43gK0MoDI9otfTB/vPBC9Uwu4xMC8IzSOSBsFxIYNqMTGcAIYQAlodD3j5/IqENIc5gqt1P/SNZKhaXR0a5E/5BEcrwH1xEHrGZbiuC604DpZ81AoiPJ/WROM4e4sSt3kaaRopNrg7z1FZdSLmcU2saqrX20lTXC5/RFabFmk2m+GLnBnbWJMOThJv4SV/QRqNBjNNM9UiGeQHdDiejZSSG5TSG71zjnVivyVOKlNLlEqlx+xCds7zvU31G6Z938dvEq4QjLMH27ZPvwHFVYQr3h7uHwAAAABJRU5ErkJggg==); } .rgb.fstuple .color-picker.multi-diff:after { diff --git a/scripts/system/html/js/draggableNumber.js b/scripts/system/html/js/draggableNumber.js index b09723a173..d76874d4d9 100644 --- a/scripts/system/html/js/draggableNumber.js +++ b/scripts/system/html/js/draggableNumber.js @@ -72,21 +72,17 @@ DraggableNumber.prototype = { this.lastMouseEvent = event; } if (this.dragging && this.lastMouseEvent) { - let changeDelta = event.clientX - this.lastMouseEvent.clientX; - if (changeDelta !== 0) { + let dragDelta = event.clientX - this.lastMouseEvent.clientX; + if (dragDelta !== 0) { if (this.multiDiffModeEnabled) { if (this.multiDiffDragFunction) { - this.multiDiffDragFunction(changeDelta * this.step); + this.multiDiffDragFunction(dragDelta * this.step); } } else { - while (changeDelta !== 0) { - if (changeDelta > 0) { - this.elInput.stepUp(); - --changeDelta; - } else { - this.elInput.stepDown(); - ++changeDelta; - } + if (dragDelta > 0) { + this.elInput.stepUp(dragDelta); + } else { + this.elInput.stepDown(-dragDelta); } this.inputChange(); if (this.valueChangeFunction) { diff --git a/scripts/system/html/js/entityProperties.js b/scripts/system/html/js/entityProperties.js index 1dba7bb861..6a93a84dca 100644 --- a/scripts/system/html/js/entityProperties.js +++ b/scripts/system/html/js/entityProperties.js @@ -14,21 +14,28 @@ const DEGREES_TO_RADIANS = Math.PI / 180.0; const NO_SELECTION = ","; -const PROPERTY_SPACE_MODE = { +const PROPERTY_SPACE_MODE = Object.freeze({ ALL: 0, LOCAL: 1, WORLD: 2 -}; +}); + +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 */ +}); // Multiple-selection behavior -const PROPERTY_MULTI_DISPLAY_MODE = { +const PROPERTY_MULTI_DISPLAY_MODE = Object.freeze({ DEFAULT: 0, /** * Comma separated values * Limited for properties with type "string" or "textarea" and readOnly enabled */ COMMA_SEPARATED_VALUES: 1, -}; +}); const GROUPS = [ { @@ -719,6 +726,7 @@ const GROUPS = [ type: "dynamic-multiselect", propertyUpdate: materialTargetPropertyUpdate, propertyID: "parentMaterialName", + selectionVisibility: PROPERTY_SELECTION_VISIBILITY.SINGLE_SELECTION, }, { label: "Priority", @@ -1351,6 +1359,7 @@ const GROUPS = [ type: "placeholder", indentedLabel: true, propertyID: "serverScriptStatus", + selectionVisibility: PROPERTY_SELECTION_VISIBILITY.SINGLE_SELECTION, }, { label: "Lifetime", @@ -1604,7 +1613,6 @@ let createAppTooltip = new CreateAppTooltip(); let currentSpaceMode = PROPERTY_SPACE_MODE.LOCAL; - // mergeDeep function from https://stackoverflow.com/a/34749873 /** * Simple object check. @@ -1678,6 +1686,10 @@ function createElementFromHTML(htmlString) { return elTemplate.content.firstChild; } +function isFlagSet(value, flag) { + return (value & flag) === flag; +} + /** * GENERAL PROPERTY/GROUP FUNCTIONS */ @@ -1759,8 +1771,11 @@ function disableProperties() { } function showPropertyElement(propertyID, show) { - let elProperty = properties[propertyID].elContainer; - elProperty.style.display = show ? "" : "none"; + setPropertyVisibility(properties[propertyID], show); +} + +function setPropertyVisibility(property, visible) { + property.elContainer.style.display = visible ? null : "none"; } function resetProperties() { @@ -2001,9 +2016,9 @@ function getDetailedNumberMPVDiff(multiplePropertyValue, propertyData) { }); let keys = [...uniqueKeys]; - let subPropertyDiff = {}; + let childPropertyDiff = {}; Object.entries(detailedValues).forEach(function([key, value]) { - subPropertyDiff[key] = [...new Set(value)].length > 1; + childPropertyDiff[key] = [...new Set(value)].length > 1; }); let averagePerSubProperty = {}; @@ -2014,12 +2029,12 @@ function getDetailedNumberMPVDiff(multiplePropertyValue, propertyData) { return { keys, - subPropertyDiff, + childPropertyDiff, averagePerSubProperty }; } -function getDetailedSubPropertyMVPDiff(multiplePropertyValue, subPropertyName) { +function getDetailedSubPropertyMPVDiff(multiplePropertyValue, subPropertyName) { let isChecked = false; let checkedValues = multiplePropertyValue.values.map((value) => value.split(",").includes(subPropertyName)); let isMultiDiff = !checkedValues.every(value => value === checkedValues[0]); @@ -2171,7 +2186,7 @@ function createEmitNumberPropertyUpdateFunction(property) { }; } -function createEmitNumberSubPropertyUpdateFunction(property, subProperty) { +function createEmitNumberChildPropertyUpdateFunction(property, childProperty) { return function() { let propertyMultiValue = getMultiplePropertyValue(property.name); let value = parseFloat(applyOutputNumberPropertyModifiers(parseFloat(this.value), property.data)); @@ -2184,7 +2199,7 @@ function createEmitNumberSubPropertyUpdateFunction(property, subProperty) { let entityID = selectedEntityIDsArray[i]; let propertyObject = propertyMultiValue.values[i]; - propertyObject[subProperty] = value; + propertyObject[childProperty] = value; let updateObject = createPropertyUpdateObject(property.name, propertyObject); updateObjects.push({ @@ -2200,10 +2215,9 @@ function createEmitNumberSubPropertyUpdateFunction(property, subProperty) { // callback until drag is complete (additional update sent via dragEnd callback) let onlyUpdateEntity = properties[property.name] && properties[property.name].dragging === true; updateMultiDiffProperties(updateObjects, onlyUpdateEntity); - console.log('updateMultiDiffProperties'); } else { let propertyValue = propertyMultiValue.value; - propertyValue[subProperty] = value; + propertyValue[childProperty] = value; updateProperty(property.name, propertyValue, property.isParticleProperty); } }; @@ -2386,11 +2400,11 @@ function updateNumberMinMax(property) { /** * * @param {object} property - property update on drag - * @param {string} [subProperty] - subProperty to update on drag (e.g. enter 'x' to just update position.x) + * @param {string} [childProperty] - childProperty to update on drag (e.g. enter 'x' to just update position.x) * @returns {Function} */ -function createMultiDiffDragFunction(property, subProperty) { - return function(changedDelta) { +function createMultiDiffDragFunction(property, childProperty) { + return function(dragDelta) { let propertyMultiValue = getMultiplePropertyValue(property.name); if (!propertyMultiValue.isMultiDiffValue) { console.log("setMultiDiffDragFunction is only supposed to be called in MultiDiff mode."); @@ -2399,7 +2413,7 @@ function createMultiDiffDragFunction(property, subProperty) { let multiplier = property.data.multiplier !== undefined ? property.data.multiplier : 1; - let applyDelta = changedDelta * multiplier; + let applyDelta = dragDelta * multiplier; if (selectedEntityIDs.size !== propertyMultiValue.values.length) { console.log("selectedEntityIDs and propertyMultiValue got out of sync."); @@ -2412,9 +2426,9 @@ function createMultiDiffDragFunction(property, subProperty) { let entityID = selectedEntityIDsArray[i]; let updatedValue; - if (subProperty !== undefined) { + if (childProperty !== undefined) { let objectToUpdate = propertyMultiValue.values[i]; - objectToUpdate[subProperty] += applyDelta; + objectToUpdate[childProperty] += applyDelta; updatedValue = objectToUpdate; } else { updatedValue = propertyMultiValue.values[i] + applyDelta; @@ -2492,10 +2506,10 @@ function createRectProperty(property, elProperty) { elWidthHeightRow.appendChild(elNumberWidth.elDiv); elWidthHeightRow.appendChild(elNumberHeight.elDiv); - elNumberX.setValueChangeFunction(createEmitNumberSubPropertyUpdateFunction(property, 'x')); - elNumberY.setValueChangeFunction(createEmitNumberSubPropertyUpdateFunction(property, 'y')); - elNumberWidth.setValueChangeFunction(createEmitNumberSubPropertyUpdateFunction(property, 'width')); - elNumberHeight.setValueChangeFunction(createEmitNumberSubPropertyUpdateFunction(property, 'height')); + elNumberX.setValueChangeFunction(createEmitNumberChildPropertyUpdateFunction(property, 'x')); + elNumberY.setValueChangeFunction(createEmitNumberChildPropertyUpdateFunction(property, 'y')); + elNumberWidth.setValueChangeFunction(createEmitNumberChildPropertyUpdateFunction(property, 'width')); + elNumberHeight.setValueChangeFunction(createEmitNumberChildPropertyUpdateFunction(property, 'height')); elNumberX.setMultiDiffDragFunction(createMultiDiffDragFunction(property, 'x')); elNumberY.setMultiDiffDragFunction(createMultiDiffDragFunction(property, 'y')); @@ -2531,9 +2545,9 @@ function createVec3Property(property, elProperty) { elProperty.appendChild(elNumberY.elDiv); elProperty.appendChild(elNumberZ.elDiv); - elNumberX.setValueChangeFunction(createEmitNumberSubPropertyUpdateFunction(property, 'x')); - elNumberY.setValueChangeFunction(createEmitNumberSubPropertyUpdateFunction(property, 'y')); - elNumberZ.setValueChangeFunction(createEmitNumberSubPropertyUpdateFunction(property, 'z')); + elNumberX.setValueChangeFunction(createEmitNumberChildPropertyUpdateFunction(property, 'x')); + elNumberY.setValueChangeFunction(createEmitNumberChildPropertyUpdateFunction(property, 'y')); + elNumberZ.setValueChangeFunction(createEmitNumberChildPropertyUpdateFunction(property, 'z')); elNumberX.setMultiDiffDragFunction(createMultiDiffDragFunction(property, 'x')); elNumberY.setMultiDiffDragFunction(createMultiDiffDragFunction(property, 'y')); @@ -2561,8 +2575,8 @@ function createVec2Property(property, elProperty) { elProperty.appendChild(elNumberX.elDiv); elProperty.appendChild(elNumberY.elDiv); - elNumberX.setValueChangeFunction(createEmitNumberSubPropertyUpdateFunction(property, 'x')); - elNumberY.setValueChangeFunction(createEmitNumberSubPropertyUpdateFunction(property, 'y')); + elNumberX.setValueChangeFunction(createEmitNumberChildPropertyUpdateFunction(property, 'x')); + elNumberY.setValueChangeFunction(createEmitNumberChildPropertyUpdateFunction(property, 'y')); elNumberX.setMultiDiffDragFunction(createMultiDiffDragFunction(property, 'x')); elNumberY.setMultiDiffDragFunction(createMultiDiffDragFunction(property, 'y')); @@ -3619,7 +3633,7 @@ function applyOutputNumberPropertyModifiers(number, propertyData) { return roundAndFixNumber(number * multiplier, propertyData); } -const isSetsEqual = (a, b) => a.size === b.size && [...a].every(value => b.has(value)); +const areSetsEqual = (a, b) => a.size === b.size && [...a].every(value => b.has(value)); function handleEntitySelectionUpdate(selections, isPropertiesToolUpdate) { @@ -3627,7 +3641,7 @@ function handleEntitySelectionUpdate(selections, isPropertiesToolUpdate) { currentSelections = selections; selectedEntityIDs = new Set(selections.map(selection => selection.id)); const multipleSelections = currentSelections.length > 1; - const hasSelectedEntityChanged = !isSetsEqual(selectedEntityIDs, previouslySelectedEntityIDs); + const hasSelectedEntityChanged = !areSetsEqual(selectedEntityIDs, previouslySelectedEntityIDs); // FIXME: do we really want to save userData/materialData here instead of saving it on the blur event of the json editor? if (hasSelectedEntityChanged) { @@ -3667,9 +3681,8 @@ function handleEntitySelectionUpdate(selections, isPropertiesToolUpdate) { // we will ignore the event. return; } + if (hasSelectedEntityChanged) { - let elServerScriptStatusOuter = document.getElementById('div-property-serverScriptStatus'); - elServerScriptStatusOuter.style.display = multipleSelections ? "none" : null; if (!multipleSelections) { resetServerScriptStatus(); } @@ -3706,6 +3719,19 @@ function handleEntitySelectionUpdate(selections, isPropertiesToolUpdate) { let isMultiDiffValue = propertyMultiValue.isMultiDiffValue; let propertyValue = propertyMultiValue.value; + if (propertyData.selectionVisibility !== undefined) { + let visibility = propertyData.selectionVisibility; + let propertyVisible = true; + if (!multipleSelections) { + propertyVisible = isFlagSet(visibility, PROPERTY_SELECTION_VISIBILITY.SINGLE_SELECTION); + } else if (isMultiDiffValue) { + propertyVisible = isFlagSet(visibility, PROPERTY_SELECTION_VISIBILITY.MULTI_DIFF_SELECTIONS); + } else { + propertyVisible = isFlagSet(visibility, PROPERTY_SELECTION_VISIBILITY.MULTIPLE_SELECTIONS); + } + setPropertyVisibility(property, propertyVisible); + } + const isSubProperty = propertyData.subPropertyOf !== undefined; if (propertyValue === undefined && !isMultiDiffValue && !isSubProperty) { return; @@ -3752,7 +3778,7 @@ function handleEntitySelectionUpdate(selections, isPropertiesToolUpdate) { let propertyValue = subPropertyMultiValue.value; isMultiDiffValue = subPropertyMultiValue.isMultiDiffValue; if (isMultiDiffValue) { - let detailedSubProperty = getDetailedSubPropertyMVPDiff(subPropertyMultiValue, propertyName); + let detailedSubProperty = getDetailedSubPropertyMPVDiff(subPropertyMultiValue, propertyName); property.elInput.checked = detailedSubProperty.isChecked; property.elInput.classList.toggle('multi-diff', detailedSubProperty.isMultiDiff); } else { @@ -3774,35 +3800,30 @@ function handleEntitySelectionUpdate(selections, isPropertiesToolUpdate) { break; } case 'number': { - if (isMultiDiffValue) { - property.elInput.value = ""; - property.elInput.classList.add('multi-diff'); - } else { - property.elInput.value = propertyValue; - property.elInput.classList.remove('multi-diff'); - } + property.elInput.value = isMultiDiffValue ? "" : propertyValue; + property.elInput.classList.toggle('multi-diff', isMultiDiffValue); break; } case 'number-draggable': { let detailedNumberDiff = getDetailedNumberMPVDiff(propertyMultiValue, propertyData); - property.elNumber.setValue(detailedNumberDiff.averagePerSubProperty[0], detailedNumberDiff.subPropertyDiff[0]); + property.elNumber.setValue(detailedNumberDiff.averagePerSubProperty[0], detailedNumberDiff.childPropertyDiff[0]); break; } case 'rect': { let detailedNumberDiff = getDetailedNumberMPVDiff(propertyMultiValue, propertyData); - property.elNumberX.setValue(detailedNumberDiff.averagePerSubProperty.x, detailedNumberDiff.subPropertyDiff.x); - property.elNumberY.setValue(detailedNumberDiff.averagePerSubProperty.y, detailedNumberDiff.subPropertyDiff.y); - property.elNumberWidth.setValue(detailedNumberDiff.averagePerSubProperty.width, detailedNumberDiff.subPropertyDiff.width); - property.elNumberHeight.setValue(detailedNumberDiff.averagePerSubProperty.height, detailedNumberDiff.subPropertyDiff.height); + property.elNumberX.setValue(detailedNumberDiff.averagePerSubProperty.x, detailedNumberDiff.childPropertyDiff.x); + property.elNumberY.setValue(detailedNumberDiff.averagePerSubProperty.y, detailedNumberDiff.childPropertyDiff.y); + property.elNumberWidth.setValue(detailedNumberDiff.averagePerSubProperty.width, detailedNumberDiff.childPropertyDiff.width); + property.elNumberHeight.setValue(detailedNumberDiff.averagePerSubProperty.height, detailedNumberDiff.childPropertyDiff.height); break; } case 'vec3': case 'vec2': { let detailedNumberDiff = getDetailedNumberMPVDiff(propertyMultiValue, propertyData); - property.elNumberX.setValue(detailedNumberDiff.averagePerSubProperty.x, detailedNumberDiff.subPropertyDiff.x); - property.elNumberY.setValue(detailedNumberDiff.averagePerSubProperty.y, detailedNumberDiff.subPropertyDiff.y); + property.elNumberX.setValue(detailedNumberDiff.averagePerSubProperty.x, detailedNumberDiff.childPropertyDiff.x); + property.elNumberY.setValue(detailedNumberDiff.averagePerSubProperty.y, detailedNumberDiff.childPropertyDiff.y); if (property.elNumberZ !== undefined) { - property.elNumberZ.setValue(detailedNumberDiff.averagePerSubProperty.z, detailedNumberDiff.subPropertyDiff.z); + property.elNumberZ.setValue(detailedNumberDiff.averagePerSubProperty.z, detailedNumberDiff.childPropertyDiff.z); } break; } @@ -3848,7 +3869,7 @@ function handleEntitySelectionUpdate(selections, isPropertiesToolUpdate) { } case 'texture': { property.elInput.value = isMultiDiffValue ? "" : propertyValue; - property.elInput.classList.toggle('multi-diff'); + property.elInput.classList.toggle('multi-diff', isMultiDiffValue); if (isMultiDiffValue) { property.elInput.setMultipleValues(); } else {