* Fixes incorrect property inheritance logic
* Fixes crash in canVariantPublish when variant.language is null
* Adds variant display name in dropdown
* Logic for invariant properties updated to also support segment invariance
* Properties varied by segment only now properly saved when multiple variants are saved/published
* Logic for disabling property editors moved to function and corrected for all cases of culture/segment properties
* Fixes syntax error in less file
* Fixes empty variants returned from GetEmpty() for a ContentType set to vary by segment
* Replaced _.each with _.find to prevent having to loop through all variants and/or somehow open multiple.
It is not possible to break out of _.each using a return statement, it simply returns that current function
but _.each will continue calling the others after that.
* Added a null check on Culture prop which is now possibly null due to segments
* Makes sure segments are not completely removed when their value is null.
During save/publish, Umbraco first deletes all property data of a specific version
and then adds property values again. However, any segments that were created but had
an empty value would not be added again which meant the segments were entirely gone afterwards.
* GetSegments() updated to always return the default segment, not only when there are no segments at all.
This makes sure that even if there is no property data for the default segment in the database but only for
some segments, the default segment will still be returned here.
* Fixes incorrect property inheritance logic
* Fixes crash in canVariantPublish when variant.language is null
* Adds variant display name in dropdown
* Logic for invariant properties updated to also support segment invariance
* Properties varied by segment only now properly saved when multiple variants are saved/published
* Logic for disabling property editors moved to function and corrected for all cases of culture/segment properties
* Fixes syntax error in less file
* Fixes empty variants returned from GetEmpty() for a ContentType set to vary by segment
* - changed the icon in the document types tree to be the icon chose rather than the default doc type icon
* - rendered icons for media types and member types
* - used null coalescing for icon setting for better null handling
Co-authored-by: paulmoriyama <48755798+paulmoriyama@users.noreply.github.com>
Please, *please* stop making things internal when it breaks legacy behaviour (such as obtaining properties by tab group, which is precisely what this allows for).