- Issue created by @larowlan
- π¦πΊAustralia larowlan π¦πΊπ.au GMT+10
π Split model values into resolved and raw Active needs to go in first because without that we always use the sourceType from the config entity
- π§πͺBelgium wim leers Ghent π§πͺπͺπΊ
But after data has been stored, prop shape matching can be modified by installing new modules/field types.
And the representation of the data in the component config entity can change.But that only dictates the field type + widget to use for new component instances.
All existing component instances do NOT change. That's why all that information (field type + storage settings + instance settings + widget) is self-contained in the
\Drupal\experience_builder\PropSource\StaticPropSource
and stored for every prop of every instance of every SDC-like component.@lauriii once created an issue with a mock-up many months ago, early during the life of XB, to indicate what he thought the UX should be to allow the content creator to "update" to the new default
StaticPropSource
for an SDC prop.Instead of keeping transforms in the component list under the field data for each prop, send a list of transforms per source type in drupalSettings or an API and use the sourceType (which we have available) in the clientside code to find the transforms to apply based on the stored sourceType rather than the current one
Ahhhh β¦ π So this is about
"transforms": { "text": { "mainProperty": [ ] }
And not about
StaticPropSource
s and what data they contain β it's about those two getting out of sync! IOW: this is a bug we unwittingly introduced in π Move clientside assumptions about prop form data shape into a series of prop specific transforms Active π¬π+1 for this being stable-blocking. But shouldn't it be per widget instead of "per
sourceType
"?