V14: Add JsonPropertyName to label configuration #17435
Open
+3
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes: #17192
The issue arose after using concrete configuration objects. specifically from #13605.
The issue is that in the database, and in what the frontend sends the configuration key is
umbracoDataValueType
, however, the property in the configuration object is calledValueType
, this means that when we serialize/deserialize inConfigurationEditorOfTConfiguration.ToConfigurationObject
the value isn't deserialized into the property properly, and it always defaults to"STRING"
.To fix this I've added the
JsonPropertyName
to ensure proper serialization, however, this fix doesn't feel quite right, but I'm having a hard time finding a better solution given the whole serialize/deserialize situation. It seems like in the past this is what theConfigurationField
was used for, which can also be seen inDiscoverFields
.The "most correct" approach would probably be to re-implement
ToConfigurationObject
without using JSON and takingLabelConfiguration
into account; however, this is a bit beyond the scope of this bugfix, I think.Testing
Image
modelsUmbracoHeight
is of type integer.