import fr from "../grapesjs/src/i18n/locale/fr.js"; //const projectID = window.location.hash.substr(1); const projectID = 1; if (projectID == '' || isNaN(projectID)) { alert("L’ID de projet est invalide. Cette application ne va pas fonctionner."); } else { const projectEndpoint = `/projects/${projectID}`; var editor = grapesjs.init({ container : '#gjs', //plugins: ['grapesjs-preset-webpage', 'customBlocks', 'customTypes'], //components: '
Le chargement du projet est en cours. Si ce message ne disparait pas, le chargement a sans doutes échoué…
', i18n: { locale: 'fr', // default locale detectLocale: false, // by default, the editor will detect the language //localeFallback: 'en', // default fallback messages: {fr}, }, storageManager: { type: 'remote', stepsBeforeSave: 1, autosave: true, options: { remote: { urlLoad: projectEndpoint, urlStore: projectEndpoint, fetchOptions: opts => (opts.method === 'POST' ? { method: 'PATCH' } : {}), onStore: data => ({ id: projectID, data }), onLoad: result => result.data, } } }, //blockManager: { // appendTo: '#blocks', // blocks: [ // { // id: 'section', // id is mandatory // label: 'Section', // You can use HTML/SVG inside labels // attributes: { class:'gjs-block-section' }, // content: `
//

Ho ! Mais c’est un titre !

//
Il faut regarder avec le cœur. L’essentiel est invisible pour les yeux. C’est du petit prince ;)
//
`, // }, { // id: 'text', // label: 'Text', // content: '
Voici un bloc de texte tout seul :o
', // }, { // id: 'image', // label: 'Image', // // Select the component once it's dropped // select: true, // // You can pass components as a JSON instead of a simple HTML string, // // in this case we also use a defined component type `image` // content: { type: 'image' }, // // This triggers `active` event on dropped components and the `image` // // reacts by opening the AssetManager // activate: true, // } // ] //}, }); }