GrapesJS/grapesjs

BUG: component.get('traits').clone() is no longer available.

ctrhub opened this issue · 1 comments

GrapesJS version

  • I confirm to use the latest version of GrapesJS

What browser are you using?

Arc Version 1.35.0 / Chromium Engine 123.0

Reproducible demo link

https://grapesjs.com/demo.html

Describe the bug

How to reproduce the bug?

  1. Open dev tools
  2. Select a component
  3. Run in console:
const selectedComponent = editor.getSelected();
selectedComponent.get('traits').clone();

What is the expected behavior?
Should return cloned version.

What is the current behavior?
Throws an error:

Traits.ts:29 Uncaught TypeError: Cannot read properties of undefined (reading 'Traits')

If is necessary to execute some code in order to reproduce the bug, paste it here below:

const selectedComponent = editor.getSelected();
selectedComponent.get('traits').clone();

Note:
.clone() is the only method I found that no longer works.
Link to the method - https://arc.net/l/quote/ztapwusb

Code of Conduct

  • I agree to follow this project's Code of Conduct
artf commented

If you need to make a copy of traits I'd suggest simply doing this JSON.parse(JSON.stringify(editor.getSelected().getTraits())).
I don't remember ever mentioning cloning traits in docs, so I'd avoid using non-public APIs.