From 6a52853d6ff4ae727dc33195447f03424e690f17 Mon Sep 17 00:00:00 2001 From: chris <kokosias@yahoo.gr> Date: Sat, 19 Nov 2022 17:53:40 +0200 Subject: [PATCH] move tables --- editors/demo/package.json | 1 - wax-prosemirror-components/index.js | 2 -- .../src/helpers/useOnClickOutside.js | 25 ------------------- wax-prosemirror-services/package.json | 3 ++- .../EditTableService/TableDropDownOptions.js | 4 +-- .../TablesService/InsertTableService/Table.js | 5 ++-- .../TablesService/components}/CreateTable.js | 4 +-- .../components}/InsertTableTool.js | 0 .../components}/TableDropDown.js | 0 9 files changed, 9 insertions(+), 35 deletions(-) delete mode 100644 wax-prosemirror-components/src/helpers/useOnClickOutside.js rename {wax-prosemirror-components/src/components/tables => wax-prosemirror-services/src/TablesService/components}/CreateTable.js (93%) rename {wax-prosemirror-components/src/ui/tables => wax-prosemirror-services/src/TablesService/components}/InsertTableTool.js (100%) rename {wax-prosemirror-components/src/components/tables => wax-prosemirror-services/src/TablesService/components}/TableDropDown.js (100%) diff --git a/editors/demo/package.json b/editors/demo/package.json index ce8eafc36..d9bcaec31 100644 --- a/editors/demo/package.json +++ b/editors/demo/package.json @@ -6,7 +6,6 @@ "@guardian/prosemirror-invisibles": "^1.2.0", "@pubsweet/ui-toolkit": "^2.3.1", "fontsource-merriweather": "^3.0.9", - "prosemirror-tables": "^1.1.1", "react": "^16.13.1", "react-dom": "^16.13.1", "react-panelgroup": "^1.0.10", diff --git a/wax-prosemirror-components/index.js b/wax-prosemirror-components/index.js index 035796f96..c17751b53 100644 --- a/wax-prosemirror-components/index.js +++ b/wax-prosemirror-components/index.js @@ -3,12 +3,10 @@ export { default as UndoRedoButton } from './src/components/UndoRedoButton'; export { default as MenuButton } from './src/ui/buttons/MenuButton'; export { default as icons } from './src/icons/icons'; export { default as Icon } from './src/helpers/Icon'; -export { default as TableDropDown } from './src/components/tables/TableDropDown'; export { default as TitleButton } from './src/components/TitleButton'; export { default as ToolGroupComponent } from './src/components/ToolGroupComponent'; export { default as ToolGroups } from './src/components/ToolGroups'; -export { default as CreateTable } from './src/components/tables/CreateTable'; export { default as Tabs } from './src/ui/tabs/Tabs'; export { default as BlockLevelTools } from './src/ui/tabs/BlockLevelTools'; export { default as EditorInfoTool } from './src/components/EditorInfo/CounterInfo/EditorInfoTool'; diff --git a/wax-prosemirror-components/src/helpers/useOnClickOutside.js b/wax-prosemirror-components/src/helpers/useOnClickOutside.js deleted file mode 100644 index 25dffb0b9..000000000 --- a/wax-prosemirror-components/src/helpers/useOnClickOutside.js +++ /dev/null @@ -1,25 +0,0 @@ -import { useEffect } from 'react'; - -// Hook -const useOnClickOutside = (ref, handler) => { - useEffect(() => { - const listener = event => { - /* Do nothing if clicking ref's element or descendent elements */ - if (!ref.current || ref.current.contains(event.target)) { - return; - } - - handler(event); - }; - - document.addEventListener('mousedown', listener); - document.addEventListener('touchstart', listener); - - return () => { - document.removeEventListener('mousedown', listener); - document.removeEventListener('touchstart', listener); - }; - }, [ref, handler]); -}; - -export default useOnClickOutside; diff --git a/wax-prosemirror-services/package.json b/wax-prosemirror-services/package.json index 4b53308fa..61da46e69 100644 --- a/wax-prosemirror-services/package.json +++ b/wax-prosemirror-services/package.json @@ -37,7 +37,8 @@ "wax-prosemirror-components": "^0.6.5", "wax-prosemirror-core": "^0.6.5", "@pubsweet/ui-toolkit": "^2.3.1", - "prop-types": "^15.7.2" + "prop-types": "^15.7.2", + "prosemirror-tables": "^1.1.1" }, "peerDependencies": { "react": "^16.13.1", diff --git a/wax-prosemirror-services/src/TablesService/EditTableService/TableDropDownOptions.js b/wax-prosemirror-services/src/TablesService/EditTableService/TableDropDownOptions.js index ea2150b28..eb7de94ed 100644 --- a/wax-prosemirror-services/src/TablesService/EditTableService/TableDropDownOptions.js +++ b/wax-prosemirror-services/src/TablesService/EditTableService/TableDropDownOptions.js @@ -3,8 +3,8 @@ import React from 'react'; import { v4 as uuidv4 } from 'uuid'; import { injectable } from 'inversify'; import { isEmpty } from 'lodash'; -import { TableDropDown } from 'wax-prosemirror-components'; import { Commands, Tools } from 'wax-prosemirror-core'; +import TableDropDown from '../components/TableDropDown'; @injectable() export default class TableDropDownOptions extends Tools { @@ -31,7 +31,7 @@ export default class TableDropDownOptions extends Tools { renderTool(view) { if (isEmpty(view)) return null; return this._isDisplayed ? ( - <TableDropDown key={uuidv4()} item={this.toJSON()} view={view} /> + <TableDropDown item={this.toJSON()} key={uuidv4()} view={view} /> ) : null; } } diff --git a/wax-prosemirror-services/src/TablesService/InsertTableService/Table.js b/wax-prosemirror-services/src/TablesService/InsertTableService/Table.js index bec9a0692..1c66b83f5 100644 --- a/wax-prosemirror-services/src/TablesService/InsertTableService/Table.js +++ b/wax-prosemirror-services/src/TablesService/InsertTableService/Table.js @@ -2,8 +2,8 @@ import React from 'react'; import { isEmpty } from 'lodash'; import { v4 as uuidv4 } from 'uuid'; import { injectable } from 'inversify'; -import { CreateTable } from 'wax-prosemirror-components'; import { Commands, Tools } from 'wax-prosemirror-core'; +import CreateTable from '../components/CreateTable'; @injectable() export default class Table extends Tools { @@ -36,8 +36,9 @@ export default class Table extends Tools { renderTool(view) { if (isEmpty(view)) return null; + // eslint-disable-next-line no-underscore-dangle return this._isDisplayed ? ( - <CreateTable key={uuidv4()} item={this.toJSON()} view={view} /> + <CreateTable item={this.toJSON()} key={uuidv4()} view={view} /> ) : null; } } diff --git a/wax-prosemirror-components/src/components/tables/CreateTable.js b/wax-prosemirror-services/src/TablesService/components/CreateTable.js similarity index 93% rename from wax-prosemirror-components/src/components/tables/CreateTable.js rename to wax-prosemirror-services/src/TablesService/components/CreateTable.js index 8d1697821..c5bed8214 100644 --- a/wax-prosemirror-components/src/components/tables/CreateTable.js +++ b/wax-prosemirror-services/src/TablesService/components/CreateTable.js @@ -3,8 +3,8 @@ import React, { useState, useContext, useMemo, useRef } from 'react'; import { WaxContext, useOnClickOutside } from 'wax-prosemirror-core'; import styled from 'styled-components'; import { grid } from '@pubsweet/ui-toolkit'; -import MenuButton from '../../ui/buttons/MenuButton'; -import InsertTableTool from '../../ui/tables/InsertTableTool'; +import { MenuButton } from 'wax-prosemirror-components'; +import InsertTableTool from './InsertTableTool'; const Wrapper = styled.div` font-size: 0; diff --git a/wax-prosemirror-components/src/ui/tables/InsertTableTool.js b/wax-prosemirror-services/src/TablesService/components/InsertTableTool.js similarity index 100% rename from wax-prosemirror-components/src/ui/tables/InsertTableTool.js rename to wax-prosemirror-services/src/TablesService/components/InsertTableTool.js diff --git a/wax-prosemirror-components/src/components/tables/TableDropDown.js b/wax-prosemirror-services/src/TablesService/components/TableDropDown.js similarity index 100% rename from wax-prosemirror-components/src/components/tables/TableDropDown.js rename to wax-prosemirror-services/src/TablesService/components/TableDropDown.js -- GitLab