Skip to content

Commit 9712b78

Browse files
committed
fix: ignore content model checks for XmlNode component (#5268)
We rely on "tag" in legacy components though it is primary way to setup tag on xml nodes. Here added exception for all xml components.
1 parent ba347fd commit 9712b78

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

apps/builder/app/shared/content-model.test.tsx

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -505,6 +505,22 @@ test("support video > source", () => {
505505
).toBeTruthy();
506506
});
507507

508+
test("support xml node with tags", () => {
509+
expect(
510+
isTreeSatisfyingContentModel({
511+
...renderData(
512+
<ws.element ws:tag="body" ws:id="bodyId">
513+
<$.XmlNode tag="url">
514+
<$.XmlNode tag="loc"></$.XmlNode>
515+
</$.XmlNode>
516+
</ws.element>
517+
),
518+
metas: defaultMetas,
519+
instanceSelector: ["bodyId"],
520+
})
521+
).toBeTruthy();
522+
});
523+
508524
describe("component content model", () => {
509525
test("restrict children with specific component", () => {
510526
expect(

apps/builder/app/shared/content-model.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,10 @@ const getTag = ({
3737
metas: Metas;
3838
props: Props;
3939
}) => {
40+
// ignore tag property on xml nodes
41+
if (instance.component === "XmlNode") {
42+
return;
43+
}
4044
const meta = metas.get(instance.component);
4145
const metaTag = Object.keys(meta?.presetStyle ?? {}).at(0);
4246
return instance.tag ?? getTagByInstanceId(props).get(instance.id) ?? metaTag;

0 commit comments

Comments
 (0)