Skip to content
Snippets Groups Projects
BlockDropDownComponent.js 1.35 KiB
Newer Older
chris's avatar
chris committed
/* eslint-disable no-underscore-dangle */
chris's avatar
chris committed
import React, { useContext, useMemo, useState, useEffect } from 'react';
chris's avatar
chris committed
import { isEmpty } from 'lodash';
chris's avatar
chris committed
import styled from 'styled-components';
chris's avatar
chris committed
import { useTranslation } from 'react-i18next';
chris's avatar
chris committed
import { WaxContext } from 'wax-prosemirror-core';
chris's avatar
chris committed

const BlockDropDownComponent = ({ view, tools }) => {
chris's avatar
chris committed
  const { t, i18n } = useTranslation();
chris's avatar
chris committed
  const context = useContext(WaxContext);
  const {
    activeViewId,
    pmViews: { main },
  } = context;
chris's avatar
chris committed

chris's avatar
chris committed
  const [label, setLabel] = useState(null);
chris's avatar
chris committed

chris's avatar
chris committed
  const isEditable = main.props.editable(editable => {
    return editable;
  });

chris's avatar
chris committed
  const translatedLabel = (translation, defaultLabel) => {
    return !isEmpty(i18n) && i18n.exists(translation)
      ? t(translation)
      : defaultLabel;
  };

chris's avatar
chris committed
  const dropDownOptions = [
chris's avatar
chris committed
    {
chris's avatar
chris committed
      label: translatedLabel(`Wax.BlockLevel.Heading 2`, 'Heading 2'),
chris's avatar
chris committed
      value: '5',
      item: tools[5],
    },
    {
chris's avatar
chris committed
      label: translatedLabel(`Wax.BlockLevel.Heading 3`, 'Heading 3'),
chris's avatar
chris committed
      value: '6',
      item: tools[6],
    },
    {
chris's avatar
chris committed
      label: translatedLabel(`Wax.BlockLevel.Paragraph`, 'Paragraph'),
chris's avatar
chris committed
      value: '8',
      item: tools[8],
    },
    {
chris's avatar
chris committed
      label: translatedLabel(`Wax.BlockLevel.Block Quote`, 'Block Quote'),
chris's avatar
chris committed
      value: '13',
      item: tools[13],
    },
chris's avatar
chris committed
  ];

chris's avatar
chris committed
  return <>DropDown</>;
chris's avatar
chris committed
};

export default BlockDropDownComponent;