From 38b18739072ef2ba4a627e8291fdbe7620432c24 Mon Sep 17 00:00:00 2001 From: chris <kokosias@yahoo.gr> Date: Fri, 19 Apr 2019 17:26:05 +0300 Subject: [PATCH] build a basic menubar with options --- editors/default/src/Default.js | 22 ------------------- .../mainMenuBar/MainMenuBar.js | 16 +++++++++++--- 2 files changed, 13 insertions(+), 25 deletions(-) diff --git a/editors/default/src/Default.js b/editors/default/src/Default.js index ab2c49246..7289f7c1a 100644 --- a/editors/default/src/Default.js +++ b/editors/default/src/Default.js @@ -1,9 +1,6 @@ import React, { Component } from "react"; -import styled from "styled-components"; - import { Wax, createSchema } from "wax-prosemirror-core"; import { defaultSchema } from "wax-prosemirror-schema"; -import { MainMenuBar } from "wax-prosemirror-components"; import "wax-prosemirror-layouts/defaultLayout.css"; import "wax-prosemirror-themes/defaultTheme.css"; @@ -14,19 +11,6 @@ const options = { schema: new createSchema(defaultSchema) }; -const MainEditor = styled.div` - ${"" /* style override*/}; -`; - -const menuItems = [ - "undo", - "redo", - "strong", - "image", - "table", - "tableDropDownOptions" -]; - class Default extends Component { render() { return ( @@ -37,12 +21,6 @@ class Default extends Component { theme="default" layout="default" debug - renderLayout={({ editor, ...props }) => ( - <React.Fragment> - <MainMenuBar menuItems={menuItems} {...props} /> - <MainEditor className="main-editor">{editor}</MainEditor> - </React.Fragment> - )} /> ); } diff --git a/wax-prosemirror-components/mainMenuBar/MainMenuBar.js b/wax-prosemirror-components/mainMenuBar/MainMenuBar.js index b828b56be..a13a7c1f4 100644 --- a/wax-prosemirror-components/mainMenuBar/MainMenuBar.js +++ b/wax-prosemirror-components/mainMenuBar/MainMenuBar.js @@ -1,5 +1,5 @@ import React from "react"; -import map from "lodash/map"; +import { forEach, map } from "lodash"; import classes from "./MenuBar.css"; import menu from "./menu"; @@ -11,8 +11,18 @@ const filtered = (menu, menuItems) => return obj; }, {}); +const setMenuItems = (menu, menuItems) => { + let items = menuItems; + if (menuItems.length === 0) { + forEach(menu, (key, index) => { + items.push(index); + }); + } + return filtered(menu, items); +}; + const MainMenuBar = ({ - menuItems, + menuItems = [], children, state, dispatch, @@ -23,7 +33,7 @@ const MainMenuBar = ({ {children && <span className={classes.group}>{children}</span>} { <span className={classes.group}> - {map(filtered(menu, menuItems), item => + {map(setMenuItems(menu, menuItems), item => item.menu({ state, dispatch, item, fileUpload }) )} </span> -- GitLab