feat: shortcut keys for basic workflow navigation
This commit is contained in:
@@ -13785,9 +13785,44 @@ const AngularWorkflow = (defaultprops) => {
|
|||||||
</div>
|
</div>
|
||||||
: null
|
: null
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
const RightsideBar = () => {
|
const RightsideBar = () => {
|
||||||
const [hovered, setHovered] = useState(false)
|
const [hovered, setHovered] = useState(false)
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
const handleKeyDown = (event) => {
|
||||||
|
if ((event.metaKey || event.ctrlKey) && event.key === '/') {
|
||||||
|
event.preventDefault(); // Prevent default browser behavior (like opening search bar)
|
||||||
|
if (!workflow.public && !executionRequestStarted) {
|
||||||
|
executeWorkflow(executionText, workflow.start, lastSaved);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ((event.ctrlKey || event.metaKey) && event.key === "'") {
|
||||||
|
// Check if Ctrl (Windows/Linux) or Command (Mac) key is pressed along with '/'
|
||||||
|
if (!workflow.public) {
|
||||||
|
setExecutionModalOpen(true);
|
||||||
|
getWorkflowExecution(props.match.params.key, "");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((event.ctrlKey || event.metaKey) && event.key === "]") {
|
||||||
|
console.log("Show workflow revisions key pressed")
|
||||||
|
if (!workflow.public) {
|
||||||
|
setShowWorkflowRevisions(true)
|
||||||
|
setSelectedRevision(workflow)
|
||||||
|
//setOriginalWorkflow(workflow)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
document.addEventListener('keydown', handleKeyDown);
|
||||||
|
|
||||||
|
return () => {
|
||||||
|
document.removeEventListener('keydown', handleKeyDown);
|
||||||
|
};
|
||||||
|
}, [executeWorkflow, executionText, workflow, lastSaved, executionRequestStarted]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div
|
<div
|
||||||
style={{
|
style={{
|
||||||
@@ -13843,7 +13878,7 @@ const AngularWorkflow = (defaultprops) => {
|
|||||||
</span>
|
</span>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
) : (
|
) : (
|
||||||
<Tooltip color="primary" title="Test Execution" placement="top">
|
<Tooltip color="primary" title="Test Execution (Ctrl + /)" placement="top">
|
||||||
<span>
|
<span>
|
||||||
<Button
|
<Button
|
||||||
disabled={
|
disabled={
|
||||||
@@ -14041,7 +14076,7 @@ const AngularWorkflow = (defaultprops) => {
|
|||||||
</Tooltip>
|
</Tooltip>
|
||||||
<Tooltip
|
<Tooltip
|
||||||
color="secondary"
|
color="secondary"
|
||||||
title={`Show executions (${workflowExecutions.length})`}
|
title={`Show executions (${workflowExecutions.length}) (Ctrl + ')`}
|
||||||
placement="top-start"
|
placement="top-start"
|
||||||
>
|
>
|
||||||
<span>
|
<span>
|
||||||
@@ -14110,7 +14145,7 @@ const AngularWorkflow = (defaultprops) => {
|
|||||||
</Tooltip>
|
</Tooltip>
|
||||||
<Tooltip
|
<Tooltip
|
||||||
color="secondary"
|
color="secondary"
|
||||||
title="Show Workflow Revision History (Beta)"
|
title="Show Workflow Revision History (Beta) (Ctrl + ])"
|
||||||
placement="top"
|
placement="top"
|
||||||
>
|
>
|
||||||
<span>
|
<span>
|
||||||
@@ -14121,8 +14156,8 @@ const AngularWorkflow = (defaultprops) => {
|
|||||||
variant={"outlined"}
|
variant={"outlined"}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
setShowWorkflowRevisions(true)
|
setShowWorkflowRevisions(true)
|
||||||
setSelectedRevision(workflow)
|
setSelectedRevision(workflow)
|
||||||
//setOriginalWorkflow(workflow)
|
//setOriginalWorkflow(workflow)
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<RestoreIcon />
|
<RestoreIcon />
|
||||||
|
|||||||
Reference in New Issue
Block a user