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,
// }
// ]
//},
});
}