GrapesJS / grapesjs

Free and Open source Web Builder Framework. Next generation tool for building templates without coding
https://grapesjs.com
BSD 3-Clause "New" or "Revised" License
22.38k stars 4.06k forks source link

Grapesjs Plugins not loading second time in React SPA #1183

Closed syncubecommerce closed 6 years ago

syncubecommerce commented 6 years ago

Hello,

I'm trying to add a grapesjs editor to my React SPA. I'm initializing editor this way:

componentDidMount() {
   const editor = grapesJs.init(config);
}

config variable has the following configuration:

plugins: ['gjs-preset-newsletter', 'gjs-aviary', 'gjs-plugin-ckeditor'],
pluginsOpts: {
        'gjs-preset-newsletter': {
            modalLabelImport: 'Paste all your code here below and click import',
            modalLabelExport: 'Copy the code and use it wherever you want',
            codeViewerTheme: 'material',
            cellStyle: {
                'font-size': '12px',
                'font-weight': 300,
                'vertical-align': 'top',
                color: 'rgb(111, 119, 125)',
                margin: 0,
                padding: 0,
            }
        }

The first time everything is working fine. When I navigate to another page of my single page app and get back - plugins are not loaded.

I tried to delete an instance of editor in componentWillUnmount() but it didn't help.

I tried to found solutions in issues but had no luck. Maybe I need somehow destroy editor in componentWillUnmount()?

Appreciate for your help.

fernandoagarcia commented 6 years ago

I am having the a simliar issue. Except I am using VueJs. When I leave the page and comeback to it the editor runs the plugin again. This causes the editor to be unusable until I resize using the device preview but if I drag a block into the canvas it drops two times...one on where I dropped and the other down at the bottom.

artf commented 6 years ago

editor.destroy() method is available from https://github.com/artf/grapesjs/releases/tag/v0.14.20

fernandoagarcia commented 6 years ago

@artf yup that did the job perfectly ty!

lock[bot] commented 5 years ago

This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.