entityProperties.js was throwing out: 801 Uncaught TypeError: Cannot read property 'split' of undefined
This moves properties.modelURL related checks behind the property.type validation check to avoid
calling the function on an undefined member if the object doesn't have that key defined.
Changes Committed:
modified: scripts/system/html/js/entityProperties.js
* Suppressing equality checking issues within color conversion helper functions.
* These issues are suppressed as opposed to resolved because their resolution causes
issues with the color picker's understanding of the color it's being set to along with
the respective hue. This is likely due to rounding issues; however, it may also be something
related to the equality operator implicit conversions semantics of JavaScript. It's something
that can be looked into later if desired.
* Bug Steps upon resolving check as opposed to suppressing them:
- Select a shape entity for example.
- Note the visual color and actual RGB values for that entity's color upon selection.
- Click the Color Wheel.
- Notice the automatic change of the color for the entity when the picker is shown.
- If the issue doesn't show itself right away, alter the color for the entity close the
picker, and repeat steps 2-3.
* Issue Count reduced from 8 to 1
Changes Committed:
modified: scripts/system/html/js/colpick.js
* var hex was declared both the hexToRGB and hexToHsb functions.
* hexToRGB was updated to have a more explicit var name
* hexToRGB & hexToHSB also had the function param name updated to clarify the expected
object type. Also error statements and early returns were added should an unsupported
object type be received.
* Issue Count is now 28
Changes Committed:
modified: scripts/system/html/js/colpick.js
This resolves 23 error <x> is not defined no-undef errors related to global objects.
Issue Count reduced from 70 to 47.
Changes Committed:
modified: scripts/system/html/js/colpick.js
Resolves all error Line <x> exceeds the maximum line length of 128 max-len issues.
Issue Count reduced from 85 to 70.
Changes Committed:
modified: scripts/system/html/js/colpick.js
* The original color preview is now visually retained when the user
changes the color via the picker when using the Non-Submit configuration (No OK button).
* Clicking the initial old color preview section restores the original/initial color of
the object.
Tested Desktop & HMD Modes.
Changes Committed:
modified: scripts/system/html/css/colpick.css
modified: scripts/system/html/js/colpick.js
The original/starting color preview in the picker was black as opposed to
reflecting the entity's color upon clicking the color picker.
Known Issue(s)/TODO(s):
* Color preview restore color functionality isn't working.
* Clicking the initial color preview doesn't restore the color.
* The original color preview isn't being visually retained when the user
changes the color via the picker.
Tested HMD & Desktop Modes.
Changes Committed:
modified: scripts/system/html/js/entityProperties.js
* Shape Color picker dynamically updates entity color.
* This removes the OK button which was hard to interact with in HMD mode. The user no
longer needs to click the OK button to submit changes to the color; rather the color
of the entity updates as the user manipulates the color wheel and/or slider.
Known Issue/TODO(s):
* Color Picker's Color Preview area has a bug where the original/starting color preview
is black as opposed to reflecting the entity's color upon clicking the color picker.
* Color preview restore color functionality isn't working. Clicking the initial
color preview doesn't restore the color.
* In HMD Mode: While interacting with the picker the user is able to control scrolling
navigation for the edit menu. For example, when moving up or down to change the hue
the edit menu behind the picker will scroll up and down correlatively.
* In HMD Mode: When the picker is dismissed (user clicks outside the picker), the RGB
fields for the color still receive input.
Tested in Desktop & HMD Modes.
Changes Committed:
modified: scripts/system/html/js/entityProperties.js