Feat: Add ctrl E shortcut to open Edit node modal

This commit is contained in:
igorrCarvalho 2024-03-01 00:09:00 -03:00
commit e04b10c059
2 changed files with 21 additions and 8 deletions

View file

@ -59,9 +59,8 @@ export default function CodeAreaModal({
}, []); }, []);
useEffect(() => { useEffect(() => {
console.log(open)
if (openModal) setOpen(true); if (openModal) setOpen(true);
}, [openModal, open]); }, [openModal]);
function processNonDynamicField() { function processNonDynamicField() {
postValidateCode(code) postValidateCode(code)
@ -150,10 +149,9 @@ export default function CodeAreaModal({
useEffect(() => { useEffect(() => {
setCode(value); setCode(value);
}, [value, open]); }, [value, open]);
console.log(selected)
return ( return (
<BaseModal open={(open && selected)} setOpen={setOpen}> <BaseModal open={open} setOpen={setOpen}>
<BaseModal.Trigger>{children}</BaseModal.Trigger> <BaseModal.Trigger>{children}</BaseModal.Trigger>
<BaseModal.Header description={CODE_PROMPT_DIALOG_SUBTITLE}> <BaseModal.Header description={CODE_PROMPT_DIALOG_SUBTITLE}>
<span className="pr-2"> {editCodeTitle} </span> <span className="pr-2"> {editCodeTitle} </span>

View file

@ -206,7 +206,24 @@ export default function NodeToolbarComponent({
const [openModal, setOpenModal] = useState(false); const [openModal, setOpenModal] = useState(false);
const hasCode = Object.keys(data.node!.template).includes("code"); const hasCode = Object.keys(data.node!.template).includes("code");
console.log((selected && openModal)) useEffect(() => {
function onKeyDown(event: KeyboardEvent) {
if (
selected &&
(event.ctrlKey || event.metaKey) &&
event.key === "e"
) {
event.preventDefault();
setShowModalAdvanced(state => !state);
}
}
document.addEventListener("keydown", onKeyDown);
return () => {
document.removeEventListener("keydown", onKeyDown);
}
}, [])
return ( return (
<> <>
@ -222,9 +239,8 @@ export default function NodeToolbarComponent({
data-testid="code-button-modal" data-testid="code-button-modal"
> >
<div className="hidden"> <div className="hidden">
{selected && (
<CodeAreaComponent <CodeAreaComponent
openModal={(openModal || selected)} openModal={openModal}
readonly={ readonly={
data.node?.flow && data.node.template[name].dynamic data.node?.flow && data.node.template[name].dynamic
? true ? true
@ -239,7 +255,6 @@ export default function NodeToolbarComponent({
id={"code-input-node-toolbar-" + name} id={"code-input-node-toolbar-" + name}
selected={selected} selected={selected}
/> />
)}
</div> </div>
<IconComponent name="TerminalSquare" className="h-4 w-4" /> <IconComponent name="TerminalSquare" className="h-4 w-4" />
</button> </button>