-
Yannis Barlas authored4daf6b4d
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
Button.js 868 B
import React, { useContext } from 'react';
import { WaxContext } from 'wax-prosemirror-core';
import MenuButton from '../ui/buttons/MenuButton';
const Button = ({ view = {}, item }) => {
const { active, enable, icon, label, onlyOnMain, run, select, title } = item;
const {
view: { main },
activeViewId,
} = useContext(WaxContext);
if (onlyOnMain) view = main;
const { dispatch, state } = view;
const handleMouseDown = e => {
e.preventDefault();
run(state, dispatch);
};
const isActive = active && active(state);
const isDisabled =
enable && !enable(state) && !(select && select(view.state, activeViewId));
return (
<MenuButton
active={isActive}
disabled={isDisabled}
iconName={icon}
label={label}
onMouseDown={handleMouseDown}
title={title}
/>
);
};
export default Button;