Skip to content

Commit 5aa766f

Browse files
authored
Merge pull request #151 from contentstack/fix/DX-2175
fix: customrenderoption for reference entry embedded as link
2 parents 715f66e + bf3e7f9 commit 5aa766f

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
## [1.3.20](https://github.com/contentstack/contentstack-utils-javascript/tree/v1.3.20) (2025-02-24)
44
- Fix: Added data-mtec as allowed attribute
5+
- Fix: customRenderOption for entry-embedded-as-link nodes
56

67
## [1.3.19](https://github.com/contentstack/contentstack-utils-javascript/tree/v1.3.19) (2025-02-24)
78
- Fix: Added fix for html injection in keys and values of attributes

src/helper/enumerate-entries.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,16 @@ export function referenceToHTML(
7777
renderOption: RenderOption,
7878
renderEmbed?: (metadata: Metadata) => EmbeddedItem | EntryNode,
7979
): string {
80+
81+
function sendToRenderOption(referenceNode: Node): string {
82+
return (renderOption[referenceNode.type] as RenderNode)(referenceNode, undefined);
83+
}
84+
8085
if ((node.attrs.type === 'entry' || node.attrs.type === 'asset') && node.attrs['display-type'] === 'link') {
8186
const entryText = node.children ? nodeChildrenToHTML(node.children, renderOption, renderEmbed) : '';
87+
if (renderOption[node.type] !== undefined) {
88+
return sendToRenderOption(node);
89+
}
8290

8391
let aTagAttrs = `${node.attrs.style ? ` style="${node.attrs.style}"` : ``}${node.attrs['class-name'] ? ` class="${node.attrs['class-name']}"` : ``}${node.attrs.id ? ` id="${node.attrs.id}"` : ``} href="${node.attrs.href || node.attrs.url}"`;
8492
if (node.attrs.target) {
@@ -90,10 +98,6 @@ export function referenceToHTML(
9098
const aTag = `<a${aTagAttrs}>${entryText}</a>`;
9199
return aTag;
92100
}
93-
94-
function sendToRenderOption(referenceNode: Node): string {
95-
return (renderOption[referenceNode.type] as RenderNode)(referenceNode, undefined);
96-
}
97101

98102
if (!renderEmbed && renderOption[node.type] !== undefined) {
99103
return sendToRenderOption(node);

0 commit comments

Comments
 (0)