Newer
Older
import React, { useMemo, useContext, useEffect } from 'react';
import styled from 'styled-components';
import { WaxContext } from 'wax-prosemirror-core';
import Dropdown from 'react-dropdown';
import 'react-dropdown/style.css';
import TrackChangesBox from '../trackChanges/TrackChangesBox';
const DropdownStyled = styled(Dropdown)`
display: inline-flex;
opacity: ${props => (props.select ? 1 : 0.4)};
.Dropdown-control {
border: none;
cursor: ${props => (props.select ? 'default' : 'not-allowed')};
pointer-events: ${props => (props.select ? 'default' : 'none')};
}
.Dropdown-arrow {
right: 25px;
top: 14px;
}
.Dropdown-menu {
align-items: flex-start;
display: flex;
flex-direction: column;
width: 120%;
.Dropdown-option {
width: 100%;
}
}
`;
const StyledIcon = styled(Icon)`
height: 16px;
margin-right: 5px;
width: 16px;
`;
const Editing = () => {
return (
<span>
<StyledIcon name="editing" />
Editing
</span>
);
};
const Suggesting = () => {
return (
<span>
<StyledIcon name="suggesting" />
Suggesting
</span>
);
};
const Viewing = () => {
return (
<span>
<StyledIcon name="viewing" />
Viewing
</span>
);
};
{ label: <Editing />, value: 'editing' },
{ label: <Suggesting />, value: 'suggesting' },
];
const EditingSuggesting = ({ view: { dispatch, state }, item }) => {
const { app } = useContext(WaxContext);
const isDisabled = app.config.get('config.EnableTrackChangeService').toggle;
const enableDisableTrackChanges = () => {
app.config.get('config.EnableTrackChangeService').enabled = !app.config.get(
'config.EnableTrackChangeService',
).enabled;
};
const selectedOption = () => {
if (app.config.get('config.EnableTrackChangeService').enabled)
return dropDownOptions[1];
return dropDownOptions[0];
};
const EditingSuggestingComponent = useMemo(
() => (
<DropdownStyled
return enableDisableTrackChanges();
options={dropDownOptions}
select={isDisabled}
if (app.config.get('readonly')) return <Viewing />;