diff --git a/awx/ui_next/src/components/Workflow/WorkflowActionTooltip.jsx b/awx/ui_next/src/components/Workflow/WorkflowActionTooltip.jsx
index 8946461d63..02ec532c95 100644
--- a/awx/ui_next/src/components/Workflow/WorkflowActionTooltip.jsx
+++ b/awx/ui_next/src/components/Workflow/WorkflowActionTooltip.jsx
@@ -6,7 +6,7 @@ const TooltipContents = styled.div`
display: flex;
`;
-const TooltipArrows = styled.div`
+const TooltipArrow = styled.div`
width: 10px;
`;
@@ -50,10 +50,10 @@ function WorkflowActionTooltip({ actions, pointX, pointY }) {
height={tipHeight}
>
-
+
-
+
{actions}
diff --git a/awx/ui_next/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModal/NodeModal.jsx b/awx/ui_next/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModal/NodeModal.jsx
index 6848fc1ec8..71f0942e52 100644
--- a/awx/ui_next/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModal/NodeModal.jsx
+++ b/awx/ui_next/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModal/NodeModal.jsx
@@ -131,7 +131,7 @@ function NodeModal({
name: i18n._(t`Run Type`),
key: 'run_type',
component: (
-
+
),
enableNext: linkType !== null,
},
@@ -149,12 +149,12 @@ function NodeModal({
name={approvalName}
nodeResource={nodeResource}
nodeType={nodeType}
+ onUpdateDescription={setApprovalDescription}
+ onUpdateName={setApprovalName}
+ onUpdateNodeResource={setNodeResource}
+ onUpdateNodeType={handleNodeTypeChange}
+ onUpdateTimeout={setApprovalTimeout}
timeout={approvalTimeout}
- updateDescription={setApprovalDescription}
- updateName={setApprovalName}
- updateNodeResource={setNodeResource}
- updateNodeType={handleNodeTypeChange}
- updateTimeout={setApprovalTimeout}
/>
),
},
diff --git a/awx/ui_next/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModal/NodeTypeStep/InventorySourcesList.jsx b/awx/ui_next/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModal/NodeTypeStep/InventorySourcesList.jsx
index b9946be729..c73fabf6ef 100644
--- a/awx/ui_next/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModal/NodeTypeStep/InventorySourcesList.jsx
+++ b/awx/ui_next/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModal/NodeTypeStep/InventorySourcesList.jsx
@@ -19,7 +19,7 @@ function InventorySourcesList({
history,
i18n,
nodeResource,
- updateNodeResource,
+ onUpdateNodeResource,
}) {
const [count, setCount] = useState(0);
const [error, setError] = useState(null);
@@ -50,7 +50,7 @@ function InventorySourcesList({
hasContentLoading={isLoading}
itemCount={count}
items={inventorySources}
- onRowClick={row => updateNodeResource(row)}
+ onRowClick={row => onUpdateNodeResource(row)}
qsConfig={QS_CONFIG}
showPageSizeOptions={false}
renderItem={item => (
@@ -60,8 +60,8 @@ function InventorySourcesList({
key={item.id}
name={item.name}
label={item.name}
- onSelect={() => updateNodeResource(item)}
- onDeselect={() => updateNodeResource(null)}
+ onSelect={() => onUpdateNodeResource(item)}
+ onDeselect={() => onUpdateNodeResource(null)}
isRadio
/>
)}
@@ -80,7 +80,7 @@ function InventorySourcesList({
InventorySourcesList.propTypes = {
nodeResource: shape(),
- updateNodeResource: func.isRequired,
+ onUpdateNodeResource: func.isRequired,
};
InventorySourcesList.defaultProps = {
diff --git a/awx/ui_next/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModal/NodeTypeStep/JobTemplatesList.jsx b/awx/ui_next/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModal/NodeTypeStep/JobTemplatesList.jsx
index c9c1940a5b..a0400c07ae 100644
--- a/awx/ui_next/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModal/NodeTypeStep/JobTemplatesList.jsx
+++ b/awx/ui_next/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModal/NodeTypeStep/JobTemplatesList.jsx
@@ -15,7 +15,12 @@ const QS_CONFIG = getQSConfig('job_templates', {
order_by: 'name',
});
-function JobTemplatesList({ i18n, history, nodeResource, updateNodeResource }) {
+function JobTemplatesList({
+ i18n,
+ history,
+ nodeResource,
+ onUpdateNodeResource,
+}) {
const [count, setCount] = useState(0);
const [error, setError] = useState(null);
const [isLoading, setIsLoading] = useState(true);
@@ -47,7 +52,7 @@ function JobTemplatesList({ i18n, history, nodeResource, updateNodeResource }) {
hasContentLoading={isLoading}
itemCount={count}
items={jobTemplates}
- onRowClick={row => updateNodeResource(row)}
+ onRowClick={row => onUpdateNodeResource(row)}
qsConfig={QS_CONFIG}
renderItem={item => (
updateNodeResource(item)}
- onDeselect={() => updateNodeResource(null)}
+ onSelect={() => onUpdateNodeResource(item)}
+ onDeselect={() => onUpdateNodeResource(null)}
isRadio
/>
)}
@@ -77,7 +82,7 @@ function JobTemplatesList({ i18n, history, nodeResource, updateNodeResource }) {
JobTemplatesList.propTypes = {
nodeResource: shape(),
- updateNodeResource: func.isRequired,
+ onUpdateNodeResource: func.isRequired,
};
JobTemplatesList.defaultProps = {
diff --git a/awx/ui_next/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModal/NodeTypeStep/NodeTypeStep.jsx b/awx/ui_next/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModal/NodeTypeStep/NodeTypeStep.jsx
index 69bf57b40c..c0ba06e1d5 100644
--- a/awx/ui_next/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModal/NodeTypeStep/NodeTypeStep.jsx
+++ b/awx/ui_next/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModal/NodeTypeStep/NodeTypeStep.jsx
@@ -38,11 +38,11 @@ function NodeTypeStep({
nodeResource,
nodeType,
timeout,
- updateDescription,
- updateName,
- updateNodeResource,
- updateNodeType,
- updateTimeout,
+ onUpdateDescription,
+ onUpdateName,
+ onUpdateNodeResource,
+ onUpdateNodeType,
+ onUpdateTimeout,
}) {
return (
<>
@@ -87,7 +87,7 @@ function NodeTypeStep({
]}
value={nodeType}
onChange={(e, val) => {
- updateNodeType(val);
+ onUpdateNodeType(val);
}}
/>
@@ -96,25 +96,25 @@ function NodeTypeStep({
{nodeType === 'job_template' && (
)}
{nodeType === 'project_sync' && (
)}
{nodeType === 'inventory_source_sync' && (
)}
{nodeType === 'workflow_job_template' && (
)}
{nodeType === 'approval' && (
@@ -150,7 +150,7 @@ function NodeTypeStep({
type="text"
{...field}
onChange={(value, evt) => {
- updateName(value);
+ onUpdateName(value);
field.onChange(evt);
}}
/>
@@ -172,7 +172,7 @@ function NodeTypeStep({
type="text"
{...field}
onChange={(value, evt) => {
- updateDescription(value);
+ onUpdateDescription(value);
field.onChange(evt);
}}
/>
@@ -200,7 +200,7 @@ function NodeTypeStep({
if (!value || value === '') {
value = 0;
}
- updateTimeout(
+ onUpdateTimeout(
Number(value) * 60 +
Number(form.values.timeoutSeconds)
);
@@ -225,7 +225,7 @@ function NodeTypeStep({
if (!value || value === '') {
value = 0;
}
- updateTimeout(
+ onUpdateTimeout(
Number(value) +
Number(form.values.timeoutMinutes) * 60
);
@@ -253,11 +253,11 @@ NodeTypeStep.propTypes = {
nodeResource: shape(),
nodeType: string,
timeout: number,
- updateDescription: func.isRequired,
- updateName: func.isRequired,
- updateNodeResource: func.isRequired,
- updateNodeType: func.isRequired,
- updateTimeout: func.isRequired,
+ onUpdateDescription: func.isRequired,
+ onUpdateName: func.isRequired,
+ onUpdateNodeResource: func.isRequired,
+ onUpdateNodeType: func.isRequired,
+ onUpdateTimeout: func.isRequired,
};
NodeTypeStep.defaultProps = {
diff --git a/awx/ui_next/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModal/NodeTypeStep/ProjectsList.jsx b/awx/ui_next/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModal/NodeTypeStep/ProjectsList.jsx
index 60998d32e8..98e12e745b 100644
--- a/awx/ui_next/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModal/NodeTypeStep/ProjectsList.jsx
+++ b/awx/ui_next/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModal/NodeTypeStep/ProjectsList.jsx
@@ -15,7 +15,7 @@ const QS_CONFIG = getQSConfig('projects', {
order_by: 'name',
});
-function ProjectsList({ history, i18n, nodeResource, updateNodeResource }) {
+function ProjectsList({ history, i18n, nodeResource, onUpdateNodeResource }) {
const [count, setCount] = useState(0);
const [error, setError] = useState(null);
const [isLoading, setIsLoading] = useState(true);
@@ -45,7 +45,7 @@ function ProjectsList({ history, i18n, nodeResource, updateNodeResource }) {
hasContentLoading={isLoading}
itemCount={count}
items={projects}
- onRowClick={row => updateNodeResource(row)}
+ onRowClick={row => onUpdateNodeResource(row)}
qsConfig={QS_CONFIG}
renderItem={item => (
updateNodeResource(item)}
- onDeselect={() => updateNodeResource(null)}
+ onSelect={() => onUpdateNodeResource(item)}
+ onDeselect={() => onUpdateNodeResource(null)}
isRadio
/>
)}
@@ -75,7 +75,7 @@ function ProjectsList({ history, i18n, nodeResource, updateNodeResource }) {
ProjectsList.propTypes = {
nodeResource: shape(),
- updateNodeResource: func.isRequired,
+ onUpdateNodeResource: func.isRequired,
};
ProjectsList.defaultProps = {
diff --git a/awx/ui_next/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModal/NodeTypeStep/WorkflowJobTemplatesList.jsx b/awx/ui_next/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModal/NodeTypeStep/WorkflowJobTemplatesList.jsx
index 5d999178ae..4654b34a07 100644
--- a/awx/ui_next/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModal/NodeTypeStep/WorkflowJobTemplatesList.jsx
+++ b/awx/ui_next/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModal/NodeTypeStep/WorkflowJobTemplatesList.jsx
@@ -19,7 +19,7 @@ function WorkflowJobTemplatesList({
history,
i18n,
nodeResource,
- updateNodeResource,
+ onUpdateNodeResource,
}) {
const [count, setCount] = useState(0);
const [error, setError] = useState(null);
@@ -52,7 +52,7 @@ function WorkflowJobTemplatesList({
hasContentLoading={isLoading}
itemCount={count}
items={workflowJobTemplates}
- onRowClick={row => updateNodeResource(row)}
+ onRowClick={row => onUpdateNodeResource(row)}
qsConfig={QS_CONFIG}
renderItem={item => (
updateNodeResource(item)}
- onDeselect={() => updateNodeResource(null)}
+ onSelect={() => onUpdateNodeResource(item)}
+ onDeselect={() => onUpdateNodeResource(null)}
isRadio
/>
)}
@@ -82,7 +82,7 @@ function WorkflowJobTemplatesList({
WorkflowJobTemplatesList.propTypes = {
nodeResource: shape(),
- updateNodeResource: func.isRequired,
+ onUpdateNodeResource: func.isRequired,
};
WorkflowJobTemplatesList.defaultProps = {
diff --git a/awx/ui_next/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModal/RunStep.jsx b/awx/ui_next/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModal/RunStep.jsx
index 9f36632f88..ce30534830 100644
--- a/awx/ui_next/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModal/RunStep.jsx
+++ b/awx/ui_next/src/screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModal/RunStep.jsx
@@ -16,7 +16,7 @@ const Grid = styled.div`
width: 100%;
`;
-function RunStep({ i18n, linkType, updateLinkType }) {
+function RunStep({ i18n, linkType, onUpdateLinkType }) {
return (
<>
@@ -34,7 +34,7 @@ function RunStep({ i18n, linkType, updateLinkType }) {
description={i18n._(
t`Execute when the parent node results in a successful state.`
)}
- onClick={() => updateLinkType('success')}
+ onClick={() => onUpdateLinkType('success')}
/>
updateLinkType('failure')}
+ onClick={() => onUpdateLinkType('failure')}
/>
updateLinkType('always')}
+ onClick={() => onUpdateLinkType('always')}
/>
>
@@ -59,7 +59,7 @@ function RunStep({ i18n, linkType, updateLinkType }) {
RunStep.propTypes = {
linkType: string.isRequired,
- updateLinkType: func.isRequired,
+ onUpdateLinkType: func.isRequired,
};
export default withI18n()(RunStep);
diff --git a/awx/ui_next/src/screens/Template/WorkflowJobTemplateVisualizer/VisualizerGraph.jsx b/awx/ui_next/src/screens/Template/WorkflowJobTemplateVisualizer/VisualizerGraph.jsx
index c41fe06d80..99108d54cd 100644
--- a/awx/ui_next/src/screens/Template/WorkflowJobTemplateVisualizer/VisualizerGraph.jsx
+++ b/awx/ui_next/src/screens/Template/WorkflowJobTemplateVisualizer/VisualizerGraph.jsx
@@ -262,7 +262,7 @@ function VisualizerGraph({
nodePositions={nodePositions}
onAddNodeClick={onAddNodeClick}
readOnly={readOnly}
- updateHelpText={setHelpText}
+ onUpdateHelpText={setHelpText}
/>,
links.map(link => {
if (
@@ -279,8 +279,8 @@ function VisualizerGraph({
onDeleteLinkClick={onDeleteLinkClick}
onLinkEditClick={onLinkEditClick}
readOnly={readOnly}
- updateHelpText={setHelpText}
- updateLinkHelp={setLinkHelp}
+ onUpdateHelpText={setHelpText}
+ onUpdateLinkHelp={setLinkHelp}
/>
);
}
@@ -304,7 +304,7 @@ function VisualizerGraph({
onStartAddLinkClick={onStartAddLinkClick}
onViewNodeClick={onViewNodeClick}
readOnly={readOnly}
- updateHelpText={setHelpText}
+ onUpdateHelpText={setHelpText}
updateNodeHelp={setNodeHelp}
{...(addingLink && {
onMouseOver: () => drawPotentialLinkToNode(node),
diff --git a/awx/ui_next/src/screens/Template/WorkflowJobTemplateVisualizer/VisualizerLink.jsx b/awx/ui_next/src/screens/Template/WorkflowJobTemplateVisualizer/VisualizerLink.jsx
index 90b8d242f9..c3e3ea7fa4 100644
--- a/awx/ui_next/src/screens/Template/WorkflowJobTemplateVisualizer/VisualizerLink.jsx
+++ b/awx/ui_next/src/screens/Template/WorkflowJobTemplateVisualizer/VisualizerLink.jsx
@@ -26,9 +26,9 @@ function VisualizerLink({
onAddNodeClick,
onDeleteLinkClick,
onLinkEditClick,
+ onUpdateHelpText,
+ onUpdateLinkHelp,
readOnly,
- updateHelpText,
- updateLinkHelp,
}) {
const [hovering, setHovering] = useState(false);
const [pathD, setPathD] = useState();
@@ -41,14 +41,14 @@ function VisualizerLink({
id="link-add-node"
key="add"
onClick={() => {
- updateHelpText(null);
+ onUpdateHelpText(null);
setHovering(false);
onAddNodeClick(link.source.id, link.target.id);
}}
onMouseEnter={() =>
- updateHelpText(i18n._(t`Add a new node between these two nodes`))
+ onUpdateHelpText(i18n._(t`Add a new node between these two nodes`))
}
- onMouseLeave={() => updateHelpText(null)}
+ onMouseLeave={() => onUpdateHelpText(null)}
>
@@ -63,8 +63,8 @@ function VisualizerLink({
id="link-edit"
key="edit"
onClick={() => onLinkEditClick(link)}
- onMouseEnter={() => updateHelpText(i18n._(t`Edit this link`))}
- onMouseLeave={() => updateHelpText(null)}
+ onMouseEnter={() => onUpdateHelpText(i18n._(t`Edit this link`))}
+ onMouseLeave={() => onUpdateHelpText(null)}
>
,
@@ -72,8 +72,8 @@ function VisualizerLink({
id="link-delete"
key="delete"
onClick={() => onDeleteLinkClick(link)}
- onMouseEnter={() => updateHelpText(i18n._(t`Delete this link`))}
- onMouseLeave={() => updateHelpText(null)}
+ onMouseEnter={() => onUpdateHelpText(i18n._(t`Delete this link`))}
+ onMouseLeave={() => onUpdateHelpText(null)}
>
,
@@ -135,8 +135,8 @@ function VisualizerLink({
strokeWidth="2px"
/>
updateLinkHelp(link)}
- onMouseLeave={() => updateLinkHelp(null)}
+ onMouseEnter={() => onUpdateLinkHelp(link)}
+ onMouseLeave={() => onUpdateLinkHelp(null)}
opacity="0"
points={getLinkOverlayPoints(link, nodePositions)}
/>
@@ -159,8 +159,8 @@ VisualizerLink.propTypes = {
onDeleteLinkClick: func.isRequired,
onLinkEditClick: func.isRequired,
readOnly: bool.isRequired,
- updateHelpText: func.isRequired,
- updateLinkHelp: func.isRequired,
+ onUpdateHelpText: func.isRequired,
+ onUpdateLinkHelp: func.isRequired,
};
export default withI18n()(VisualizerLink);
diff --git a/awx/ui_next/src/screens/Template/WorkflowJobTemplateVisualizer/VisualizerNode.jsx b/awx/ui_next/src/screens/Template/WorkflowJobTemplateVisualizer/VisualizerNode.jsx
index 681d726f5b..fd914ff241 100644
--- a/awx/ui_next/src/screens/Template/WorkflowJobTemplateVisualizer/VisualizerNode.jsx
+++ b/awx/ui_next/src/screens/Template/WorkflowJobTemplateVisualizer/VisualizerNode.jsx
@@ -51,7 +51,7 @@ function VisualizerNode({
onStartAddLinkClick,
onViewNodeClick,
readOnly,
- updateHelpText,
+ onUpdateHelpText,
updateNodeHelp,
}) {
const [hovering, setHovering] = useState(false);
@@ -61,7 +61,7 @@ function VisualizerNode({
nodeEl.parentNode.appendChild(nodeEl);
setHovering(true);
if (addingLink) {
- updateHelpText(
+ onUpdateHelpText(
node.isInvalidLinkTarget
? i18n._(
t`Invalid link target. Unable to link to children or ancestor nodes. Graph cycles are not supported.`
@@ -75,7 +75,7 @@ function VisualizerNode({
const handleNodeMouseLeave = () => {
setHovering(false);
if (addingLink) {
- updateHelpText(null);
+ onUpdateHelpText(null);
}
};
@@ -90,12 +90,12 @@ function VisualizerNode({
id="node-details"
key="details"
onClick={() => {
- updateHelpText(null);
+ onUpdateHelpText(null);
setHovering(false);
onViewNodeClick(node);
}}
- onMouseEnter={() => updateHelpText(i18n._(t`View node details`))}
- onMouseLeave={() => updateHelpText(null)}
+ onMouseEnter={() => onUpdateHelpText(i18n._(t`View node details`))}
+ onMouseLeave={() => onUpdateHelpText(null)}
>
@@ -108,12 +108,12 @@ function VisualizerNode({
id="node-add"
key="add"
onClick={() => {
- updateHelpText(null);
+ onUpdateHelpText(null);
setHovering(false);
onAddNodeClick(node.id);
}}
- onMouseEnter={() => updateHelpText(i18n._(t`Add a new node`))}
- onMouseLeave={() => updateHelpText(null)}
+ onMouseEnter={() => onUpdateHelpText(i18n._(t`Add a new node`))}
+ onMouseLeave={() => onUpdateHelpText(null)}
>
,
@@ -122,12 +122,12 @@ function VisualizerNode({
id="node-edit"
key="edit"
onClick={() => {
- updateHelpText(null);
+ onUpdateHelpText(null);
setHovering(false);
onEditNodeClick(node);
}}
- onMouseEnter={() => updateHelpText(i18n._(t`Edit this node`))}
- onMouseLeave={() => updateHelpText(null)}
+ onMouseEnter={() => onUpdateHelpText(i18n._(t`Edit this node`))}
+ onMouseLeave={() => onUpdateHelpText(null)}
>
,
@@ -135,14 +135,14 @@ function VisualizerNode({
id="node-link"
key="link"
onClick={() => {
- updateHelpText(null);
+ onUpdateHelpText(null);
setHovering(false);
onStartAddLinkClick(node);
}}
onMouseEnter={() =>
- updateHelpText(i18n._(t`Link to an available node`))
+ onUpdateHelpText(i18n._(t`Link to an available node`))
}
- onMouseLeave={() => updateHelpText(null)}
+ onMouseLeave={() => onUpdateHelpText(null)}
>
,
@@ -150,12 +150,12 @@ function VisualizerNode({
id="node-delete"
key="delete"
onClick={() => {
- updateHelpText(null);
+ onUpdateHelpText(null);
setHovering(false);
onDeleteNodeClick(node);
}}
- onMouseEnter={() => updateHelpText(i18n._(t`Delete this node`))}
- onMouseLeave={() => updateHelpText(null)}
+ onMouseEnter={() => onUpdateHelpText(i18n._(t`Delete this node`))}
+ onMouseLeave={() => onUpdateHelpText(null)}
>
,
@@ -225,7 +225,7 @@ VisualizerNode.propTypes = {
onStartAddLinkClick: func.isRequired,
onViewNodeClick: func.isRequired,
readOnly: bool.isRequired,
- updateHelpText: func.isRequired,
+ onUpdateHelpText: func.isRequired,
updateNodeHelp: func.isRequired,
};
diff --git a/awx/ui_next/src/screens/Template/WorkflowJobTemplateVisualizer/VisualizerStartNode.jsx b/awx/ui_next/src/screens/Template/WorkflowJobTemplateVisualizer/VisualizerStartNode.jsx
index f24e896b7b..c54cb51799 100644
--- a/awx/ui_next/src/screens/Template/WorkflowJobTemplateVisualizer/VisualizerStartNode.jsx
+++ b/awx/ui_next/src/screens/Template/WorkflowJobTemplateVisualizer/VisualizerStartNode.jsx
@@ -19,8 +19,8 @@ function VisualizerStartNode({
i18n,
nodePositions,
onAddNodeClick,
+ onUpdateHelpText,
readOnly,
- updateHelpText,
}) {
const [hovering, setHovering] = useState(false);
@@ -56,10 +56,10 @@ function VisualizerStartNode({
updateHelpText(i18n._(t`Add a new node`))}
- onMouseLeave={() => updateHelpText(null)}
+ onMouseEnter={() => onUpdateHelpText(i18n._(t`Add a new node`))}
+ onMouseLeave={() => onUpdateHelpText(null)}
onClick={() => {
- updateHelpText(null);
+ onUpdateHelpText(null);
setHovering(false);
onAddNodeClick(1);
}}
@@ -80,7 +80,7 @@ VisualizerStartNode.propTypes = {
nodePositions: shape().isRequired,
onAddNodeClick: func.isRequired,
readOnly: bool.isRequired,
- updateHelpText: func.isRequired,
+ onUpdateHelpText: func.isRequired,
};
export default withI18n()(VisualizerStartNode);