GrapesJS/grapesjs

BUG: Css edits aren't persisted to the DOM

Aperta

#4847 aperta il 15 gen 2023

 (2 commenti) (1 reazione) (0 assegnatari)TypeScript (3702 fork)batch import
bughelp wanted

Metriche repository

Star
 (19.449 stelle)
Metriche merge PR
 (Nessuna PR mergiata in 30 g)

Descrizione

GrapesJS version

  • I confirm to use the latest version of GrapesJS

What browser are you using?

Chrome Version 109.0.5414.87

Describe the bug

How to reproduce the bug?

  1. Create a @keyframes animation on the GrapesJS canvas
@keyframes appear_1234{
  0%: {opacity:0};
  100%: {opacity:100%}
}

In JS, create a new CssRule by passing the following string into editor.Css.addRules:

let updatedRule = `@keyframes appear_1234{
  0%: {opacity:0};
  100%: {opacity:90%};
}`
  1. Add it to the canvas: editor.Css.addRules(updatedRule)

What is the expected behavior? The DOM should be updated

What is the current behavior? The DOM is not updated. HOWEVER, if I call editor.getCss(), I can see the correct value for opacity is returning.

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

function setup(){
    let initialAnimation = `
    @keyframes appear_1234{
        0%: {opacity:0};
        100%: {opacity:100%}
      }
    `
    editor.Css.addRules(initialAnimation);
}

function update(){
    let updatedAnimation = `
    @keyframes appear_1234{
        0%: {opacity:0};
        100%: {opacity:90%}
      }
    `
    editor.Css.addRules(updatedAnimation);
}


setup()
update()
//DOM is not updated.

//Css string is updated though
editor.getCss()

Code of Conduct

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

Guida contributor