64 lines
2.8 KiB
JavaScript
64 lines
2.8 KiB
JavaScript
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: '<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 c’est un titre !</h1>
|
||
// <div>Il faut regarder avec le cœur. L’essentiel est invisible pour les yeux. C’est 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,
|
||
// }
|
||
// ]
|
||
//},
|
||
});
|
||
}
|