BUG: Clone page prompt 'Converting circular structure to JSON'
Question
GrapesJS version
- I confirm to use the latest version of GrapesJS
What browser are you using?
Chrome 129.0.6668.101
Reproducible demo link
Describe the bug
How to reproduce the bug?
open https://grapesjs.com/demo
run this script in DevTools:
const page = editor.Pages.getSelected();
const component = page?.getMainComponent()?.clone();
editor.Pages.add({
name: '11111',
component,
}, {
select: true,
});
What is the expected behavior?
Successfully copied without error
What is the current behavior?
Successfully copied with error:
TypeError: Converting circular structure to JSON
--> starting at object with constructor 'o'
| property 'opts' -> object with constructor 'Object'
| property 'el' -> object with constructor 'HTMLHeadElement'
--- property '__gjsv' closes the circle
at JSON.stringify (<anonymous>)
at o.storeData ([email protected]:2:1015087)
at o.<anonymous> ([email protected]:2:1014457)
at [email protected]:2:999571
at Object.next ([email protected]:2:999676)
at [email protected]:2:998551
at new Promise (<anonymous>)
at Pv ([email protected]:2:998293)
at o.store ([email protected]:2:1014352)
at o.updateChanges ([email protected]:2:1008885)
<img width="472" alt="image" src="https://github.com/user-attachments/assets/14309772-7e8e-4ce2-ba14-7aefbed8614f">
Deep cloning can use lodash: https://lodash.com/docs/4.17.15#cloneDeep
Please do not use JSON.parse(JSON.stringify(t))
In addition, my page actually has a lot of elements, and it is not just a few simple pages like the demo.
I found that it was very stuck when copying. After successfully page?.getMainComponent()?.clone(), the page got stuck directly.
Code of Conduct
- I agree to follow this project's Code of Conduct
Answers (1)
In addition to the above method, is there any other way to copy the page?
Related Questions and Answers
Continue research with similar issue discussions.
Issue #4855
BUG: Outline disappears after applying loadProjectData
GrapesJS version [X] I confirm to use the latest version of GrapesJS What browser are you using? Brave last version Reproducible demo link...
Issue #6685
BUG: Custom component styles are not applied after deletion and re-addition
GrapesJS version [x] I confirm to use the latest version of GrapesJS What browser are you using? Chrome v143.0.7499.193 Reproducible demo l...
Issue #4503
BUG: Missing inline styles used by CKEditor when adding raw html components
GrapesJS version [X] I confirm to use the latest version of GrapesJS What browser are you using? Chromium v96 Reproducible demo link https:...
Issue #5729
BUG: editing/replacing the text inside of a link
GrapesJS version [X] I confirm to use the latest version of GrapesJS What browser are you using? Chrome v122 Reproducible demo link https:/...
Paid Plugins That Match This Issue
Curated by issue keywords and label relevance to help you ship faster.
Loading paid plugin recommendations...
Browse Plugin Categories
Jump directly to plugin category pages on the marketplace.