grapesjs/js/main.js
Adrian Amaglio f6be728c19 temp
2023-08-01 17:26:50 +02:00

64 lines
2.8 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import fr from "../grapesjs/src/i18n/locale/fr.js";
//const projectID = window.location.hash.substr(1);
const projectID = 1;
if (projectID == '' || isNaN(projectID)) {
alert("LID 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: '<div class="red">Le chargement du projet est en cours. Si ce message ne disparait pas, le chargement a sans doutes échoué…</div>',
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: '<b>Section</b>', // You can use HTML/SVG inside labels
// attributes: { class:'gjs-block-section' },
// content: `<section>
// <h1>Ho ! Mais cest un titre !</h1>
// <div>Il faut regarder avec le cœur. Lessentiel est invisible pour les yeux. Cest du petit prince ;)</div>
// </section>`,
// }, {
// id: 'text',
// label: 'Text',
// content: '<div data-gjs-type="text">Voici un bloc de texte tout seul :o</div>',
// }, {
// 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,
// }
// ]
//},
});
}