Issue #4371Opened June 10, 2022by clonefunnels3 reactions

BUG: All editors broken after last update that broke storage manager.

Question

GrapesJS version

  • I confirm to use the latest version of GrapesJS

What browser are you using?

Chrome

Reproducible demo link

https://www.teamfunnels.net/login.php demo demo

Describe the bug

Please help me understand how to fix everything that this update broke. I don't understand why you wouldn't make it compatible with the old way. But please tell me what I need to change from this example:

storageManager: { type: 'remote', urlStore: 'save.php', urlLoad: 'load.php', storeComponents: true, // Enable/Disable storing of components in JSON format storeStyles: true, // Enable/Disable storing of rules/style in JSON format storeHtml: true, // Enable/Disable storing of components as HTML string storeCss: true, stepsBeforeSave: 1, autosave: true, autoload: true, contentTypeJson: true, json_encode:{ 'components': [],

Code SnippetTEXT
'css': [],
'html': [],
'style': []
}

},

LOAD & SAVE PHP FILES:

$html='database table for HTML'
$css = 'database table for CSS';
$response = [
'html' => $html,
'css' => $css,
];
header('Content-Type: application/json');
echo json_encode($response);


### Code of Conduct

- [X] I agree to follow this project's Code of Conduct

Answers (3)

Vac1911June 10, 20222 reactions

@clonefunnels I made a quick function to load data with backwards compatibility:

async function load(editor: grapesjs.Editor) {
  const { Parser } = editor;
  const data = await editor.StorageManager.load({});

  if (!data.pages) data.pages = [{ id: '1', frames: [{ component: data.components ?? Parser.parseHtml(data.html)['html'] }] }];
  if (!data.styles) data.styles = data.css ? Parser.parseCss(data.css) : undefined;

  data['css'] = undefined;
  data['html'] = undefined;
  data['components'] = undefined;
  data['assets'] ??= [];

  //@ts-ignore
  editor.loadProjectData(data);
}
Vac1911June 10, 20221 reactions

@artf Quick sidenote: editor.loadProjectData should be added to the type declarations

Related Questions and Answers

Continue research with similar issue discussions.

Paid Plugins That Match This Issue

Curated by issue keywords and label relevance to help you ship faster.

View all plugins

Loading paid plugin recommendations...

Browse Plugin Categories

Jump directly to plugin category pages on the marketplace.