/* eslint-disable no-underscore-dangle */ import React, { useMemo } from 'react'; import { injectable, inject } from 'inversify'; import { isEmpty } from 'lodash'; import { v4 as uuidv4 } from 'uuid'; import { ToolGroup } from 'wax-prosemirror-core'; import TrackChangeOptionsTool from '../../TrackOptionsService/components/TrackChangeOptionsTool'; @injectable() class TrackCommentOptions extends ToolGroup { tools = []; toolGroups = []; constructor(@inject('TrackOptions') trackOptions) { super(); this.toolGroups = [ { groups: [trackOptions], }, ]; } renderTools(view) { if (isEmpty(view)) return null; const MemorizedComponent = useMemo( () => ( <TrackChangeOptionsTool groups={this._toolGroups[0].groups.map(group => ({ // groupName: group.title.props.title, items: group._tools, }))} key={uuidv4()} view={view} /> ), [], ); return MemorizedComponent; } } export default TrackCommentOptions;