Skip to content
Snippets Groups Projects
Commit 0f24a5f1 authored by chris's avatar chris
Browse files

fix tables

parent cb7594a9
No related branches found
No related tags found
1 merge request!276Editoria fixes
......@@ -4,7 +4,7 @@
"version": "0.0.42",
"description": "Wax prosemirror UI components",
"license": "MIT",
"main": "dist/index.js",
"main": "index.js",
"files": [
"dist"
],
......
/* eslint react/prop-types: 0 */
import React, { useMemo, useContext, useState } from 'react';
import { TextSelection } from 'prosemirror-state';
import React, { useMemo, useContext, useState, useEffect } from 'react';
import styled from 'styled-components';
import * as tablesFn from 'prosemirror-tables';
import { WaxContext } from 'wax-prosemirror-core';
......@@ -37,26 +36,37 @@ const DropdownStyled = styled(Dropdown)`
}
`;
const dropDownOptions = [
{ label: 'add column before', value: 'addColumnBefore' },
{ label: 'add column after', value: 'addColumnAfter' },
{ label: 'Delete column', value: 'deleteColumn' },
{ label: 'Insert row before', value: 'addRowBefore' },
{ label: 'Insert row after', value: 'addRowAfter' },
{ label: 'Delete row', value: 'deleteRow' },
{ label: 'Delete table', value: 'deleteTable' },
{ label: 'Merge cells', value: 'mergeCells' },
{ label: 'Split cell', value: 'splitCell' },
{ label: 'Toggle header column', value: 'toggleHeaderColumn' },
{ label: 'Toggle header row', value: 'toggleHeaderRow' },
{ label: 'Toggle header cells', value: 'toggleHeaderCell' },
];
const TableDropDown = ({ item }) => {
const dropDownOptions = [
{ label: 'Add column before', value: 'addColumnBefore' },
{ label: 'Add column after', value: 'addColumnAfter' },
{ label: 'Delete column', value: 'deleteColumn' },
{ label: 'Insert row before', value: 'addRowBefore' },
{ label: 'Insert row after', value: 'addRowAfter' },
{ label: 'Delete row', value: 'deleteRow' },
{ label: 'Delete table', value: 'deleteTable' },
{ label: 'Merge cells', value: 'mergeCells' },
{ label: 'Split cell', value: 'splitCell' },
{ label: 'Toggle header column', value: 'toggleHeaderColumn' },
{ label: 'Toggle header row', value: 'toggleHeaderRow' },
{ label: 'Toggle header cells', value: 'toggleHeaderCell' },
];
const { activeView } = useContext(WaxContext);
const [selectedOption, setSelectedOption] = useState('');
const appliedDropDownOptions = [];
dropDownOptions.forEach(option => {
if (tablesFn[option.value](activeView.state)) {
appliedDropDownOptions.push(option);
}
});
const isDisabled = item.select(activeView.state);
useEffect(() => {
console.log('useEfe');
}, [selectedOption]);
const TableDropDownComponent = useMemo(
() => (
<DropdownStyled
......@@ -72,12 +82,12 @@ const TableDropDown = ({ item }) => {
activeView.focus();
});
}}
options={dropDownOptions}
options={appliedDropDownOptions}
placeholder="Table Options"
select={isDisabled}
/>
),
[isDisabled, selectedOption],
[isDisabled, selectedOption, appliedDropDownOptions],
);
return TableDropDownComponent;
......
......@@ -4,7 +4,7 @@
"version": "0.0.42",
"description": "Wax prosemirror core",
"license": "MIT",
"main": "dist/index.js",
"main": "index.js",
"files": [
"dist"
],
......
......@@ -4,7 +4,7 @@
"version": "0.0.42",
"description": "Wax prosemirror plugins",
"license": "MIT",
"main": "dist/index.js",
"main": "index.js",
"files": [
"dist"
],
......
......@@ -4,7 +4,7 @@
"version": "0.0.42",
"description": "Wax prosemirror schema",
"license": "MIT",
"main": "dist/index.js",
"main": "index.js",
"files": [
"dist"
],
......
......@@ -4,7 +4,7 @@
"version": "0.0.42",
"description": "Wax prosemirror services",
"license": "MIT",
"main": "dist/index.js",
"main": "index.js",
"files": [
"dist"
],
......
......@@ -4,7 +4,7 @@
"version": "0.0.42",
"description": "Wax prosemirror utilities",
"license": "MIT",
"main": "dist/index.js",
"main": "index.js",
"files": [
"dist"
],
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment