Repository navigation
FOUR-33916: Promote the Vue Component control to the core Screen Builder - #1944
henryjonathanquispe wants to merge 8 commits into
Conversation
screen-builder
|
||||||||||||||||||||||||||||
| Project |
screen-builder
|
| Branch Review |
FOUR-33916
|
| Run status |
|
| Run duration | 09m 11s |
| Commit |
|
| Committer | henryjonathanquispe |
| View all properties for this run ↗︎ | |
| Test results | |
|---|---|
|
|
0
|
|
|
0
|
|
|
19
|
|
|
0
|
|
|
392
|
| View all changes introduced in this branch ↗︎ | |
gproly
left a comment
There was a problem hiding this comment.
Assuming the new core control (VueRender*) and the package-plg control (VueComponentRenderTemplate) are meant to coexist, the component registration names do not collide. A few issues should be addressed before merge:
1. Rich Text drive-by change
In form-builder-controls.js, FormHtmlEditor was changed from the imported component object to a string ('FormHtmlEditor').
PM4 registers controls with:
this.$refs.renderer.$options.components[rendererBinding] = rendererComponent
Passing a string stores an invalid local component definition. The common path often uses FormHtmlViewer / builder-local imports, so this may not always fail visibly, but it is an unnecessary collateral change and inconsistent with other core controls. Please revert to the imported FormHtmlEditor component.
2. Ambiguous palette labels
Both controls currently use the same label: "Vue component Editor" (core in Content Fields, PLG in TCE Controls). With coexistence, this is confusing for designers. Please differentiate the core label (e.g. "Vue Render") from the PLG/TCE control.
3. Null-safety regression in VueRenderTemplate
data / transientData can now be null when transient/validation data is missing:
data: getTransientData()transientData.get: () => getTransientData()
Previously (and in package-plg) this was guarded with || {}. Templates that read data.foo or use v-model="data" can throw in design/preview before data exists. Please keep data / transientData as an object (|| {}).
|
|
@gproly The 3 observations are valid, I did the update in the PR |
gproly
left a comment
There was a problem hiding this comment.
Nice to have:
Palette label: The new core control still uses the label "Vue component Editor", same as the package-plg TCE control. With both in the palette, designers cannot tell them apart. Use a distinct label for the core control (e.g. "Vue Render").
Popover text: popoverContent on the new control is copied from Rich Text ("Use a Rich Text Editor to add HTML-formatted"). Update it to describe the Vue template/handler control instead.



Related Tickets & Packages
Code Review Checklist