Newer
Older
import React, { useContext, useMemo, useEffect, useState } from 'react';
import { isEmpty } from 'lodash';
import { useTranslation } from 'react-i18next';
activeViewId,
activeView,
} = useContext(WaxContext);
const { state } = view;
setIsSaving(true);
setTimeout(() => {
setIsSaving(false);
}, 300);
const triggerSave = e => {
if ((e.key === 83 || e.keyCode === 83) && (e.metaKey || e.ctrlKey)) {
e.preventDefault();
handleMouseDown();
return false;
}
return true;
};
useEffect(() => {
document.addEventListener('keydown', triggerSave);
return () => document.removeEventListener('keydown', triggerSave);
}, []);
let isDisabled = !select(state, activeViewId, activeView);
const isEditable = main.props.editable(editable => {
return editable;
});
if (!isEditable) isDisabled = true;
const SaveButtonComponent = useMemo(
() => (
<MenuButton
title={
!isEmpty(i18n) && i18n.exists(`Wax.Base.${title}`)
? t(`Wax.Base.${title}`)
: title
}