Skip to content

Commit d444cd5

Browse files
committed
render content from keyPath
1 parent 1bb2223 commit d444cd5

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

src/render-embedded-objects.ts

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { Option, RenderOption } from './options';
33
import { Attributes } from './Models/embed-attributes-model';
44
import { findEmbeddedObjects, findRenderString } from './helper/find-embeded-object';
55
import { Entry } from './Models/entry-model';
6+
import { findRenderContent } from './helper/find-render-content';
67
/**
78
*
89
* @param {Entry| Entry[]} entry - Objects that contains RTE with embedded objects
@@ -14,20 +15,28 @@ export function render(option: {
1415
renderOption?: RenderOption,
1516
paths?: string[]
1617
}) {
18+
19+
function findContent(path: string, entry: Entry) {
20+
findRenderContent(path, entry, (content) => {
21+
return renderContent(content, { entry, renderOption: option.renderOption })
22+
})
23+
}
24+
1725
function findAndRender (entry: Entry) {
1826
if (!option.paths || option.paths.length === 0) {
1927
Object.keys({
2028
...entry._embedded_assets,
2129
...entry._embedded_entries
2230
}).forEach((path) => {
23-
entry[path] = renderContent(entry[path], { entry, renderOption: option.renderOption })
31+
findContent(path, entry)
2432
})
2533
} else {
2634
option.paths.forEach((path) => {
27-
entry[path] = renderContent(entry[path], { entry, renderOption: option.renderOption })
35+
findContent(path, entry)
2836
})
2937
}
3038
}
39+
3140
if (option.entry instanceof Array) {
3241
option.entry.forEach((entry) => {
3342
findAndRender(entry)

0 commit comments

Comments
 (0)