Newer
Older
import { injectable, inject } from 'inversify';
import { isEmpty } from 'lodash';
import { v4 as uuidv4 } from 'uuid';
import { ToolGroup } from 'wax-prosemirror-core';
import BlockDropDownComponent from './BlockDropDownComponent';
@injectable()
class BlockDropDown extends ToolGroup {
tools = [];
constructor(
@inject('Title') title,
@inject('Author') author,
@inject('SubTitle') subtitle,
@inject('EpigraphProse') epigraphprose,
@inject('EpigraphPoetry') epigraphpoetry,
@inject('Heading2') heading2,
@inject('Heading3') heading3,
@inject('Paragraph') paragraph,
@inject('ParagraphContinued') paragraphContinued,
@inject('ExtractProse') extractProse,
@inject('ExtractPoetry') extractPoetry,
@inject('SourceNote') sourceNote,
@inject('BlockQuote') blockQuote,
) {
super();
this.tools = [
title,
author,
subtitle,
epigraphprose,
epigraphpoetry,
heading2,
heading3,
paragraph,
paragraphContinued,
extractProse,
extractPoetry,
sourceNote,
blockQuote,
];
}
renderTools(view) {
if (isEmpty(view)) return null;
const MultipleDropDown = useMemo(
() => (
<BlockDropDownComponent