import type { AddComponentTypeOptions, BlockProperties, Editor } from "grapesjs"; export function configureEditor(editor: Editor): void { //editor.Panels.getPanel("devices-c")?.set("visible", false); editor.Panels.removeButton("devices-c", "set-device-mobile"); editor.Panels.removeButton("devices-c", "set-device-desktop"); editor.Panels.removeButton("views", "open-tm"); editor.Panels.removeButton("views", "open-layers"); editor.Panels.removeButton("options", "export-template"); editor.Panels.removeButton("options", "preview"); // editor.Panels.removeButton("options", "fullscreen"); editor.Panels.removeButton("options", "gjs-open-import-template"); editor.Panels.removeButton("options", "gjs-toggle-images"); editor.BlockManager.remove("button"); editor.BlockManager.remove("image"); editor.BlockManager.remove("link-block"); editor.BlockManager.remove("list-items"); editor.BlockManager.remove("grid-items"); editor.BlockManager.remove("sect37"); editor.BlockManager.remove("text-sect"); editor.BlockManager.get("text").set("category", "Text"); editor.BlockManager.get("quote").set("category", "Text"); editor.BlockManager.get("link").set("category", "Text"); editor.BlockManager.get("sect100").set("category", "Struktur"); editor.BlockManager.get("sect50").set("category", "Struktur"); editor.BlockManager.get("sect30").set("category", "Struktur"); editor.BlockManager.get("divider").set("category", "Struktur"); editor.BlockManager.add("heading1-block", heading1_block); editor.BlockManager.add("heading2-block", heading2_block); editor.BlockManager.add("heading3-block", heading3_block); editor.BlockManager.add("list_start", list_start_block); editor.DomComponents.addType("list_end", list_end_block.type); editor.BlockManager.add("list_end", list_end_block.block); editor.BlockManager.add("list-block", list_block); editor.BlockManager.add("list-inner-block", list_inner_block); } const heading1_block: BlockProperties = { label: "Heading1", category: "Text", media: ` `, content: `

Heading 1

`, }; const heading2_block: BlockProperties = { label: "Heading2", category: "Text", media: ` `, content: `

Heading 2

`, }; const heading3_block: BlockProperties = { label: "Heading3", category: "Text", media: ` `, content: `

Heading 3

`, }; const list_start_block: BlockProperties = { label: "Anfang WDH", category: "Struktur", media: ` `, content: ` WDH Start: LISTENNAME `, }; const list_end_block: { type: AddComponentTypeOptions; block: BlockProperties } = { type: { model: { defaults: { tagName: "listend", content: "WDH ENDE", editable: false, }, }, isComponent(el) { return el.tagName === "listend"; }, }, block: { label: "Ende WDH", content: { type: "list_end" }, category: "Struktur", media: ` `, }, }; const list_block: BlockProperties = { label: "Liste", category: "Struktur", media: ` `, content: ` `, }; const list_inner_block: BlockProperties = { label: "Listenelement", category: "Text", media: ` `, content: `
  • Element
  • `, };