diff options
author | Ted Humphrey <Thomas.Humphrey@att.com> | 2020-07-06 16:59:47 -0400 |
---|---|---|
committer | Ted Humphrey <Thomas.Humphrey@att.com> | 2020-07-08 08:52:58 -0400 |
commit | 4fb32395392c3c65ad8dcadc42d7804d2e656c63 (patch) | |
tree | 415efefee1058f2c30c56260d9f0d7cc0651e9cc /ui-react/src/components/loop_viewer | |
parent | 0a796ee7cd7aaea4225d4d8b137f5056e40f9ec9 (diff) |
add framework for blocking user interaction
this adds two new methods to LoopUI.js, setBusyLoading and
clearBusyLoading, and one new state variable, busyLoadingCount, for
supporting the blocking of user clicking during async back end calls
that might take a bit of time to return. Blocking the user from clicking
on a component box is implemented as an important first case use, as
well as all PerformAction calls.
Issue-ID: CLAMP-894
Change-Id: I28660afe26b6cc8184b9392aee42157f44601bf6
Signed-off-by: Ted Humphrey <Thomas.Humphrey@att.com>
Diffstat (limited to 'ui-react/src/components/loop_viewer')
-rw-r--r-- | ui-react/src/components/loop_viewer/svg/SvgGenerator.js | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/ui-react/src/components/loop_viewer/svg/SvgGenerator.js b/ui-react/src/components/loop_viewer/svg/SvgGenerator.js index d718c2e44..7070455e7 100644 --- a/ui-react/src/components/loop_viewer/svg/SvgGenerator.js +++ b/ui-react/src/components/loop_viewer/svg/SvgGenerator.js @@ -70,13 +70,15 @@ class SvgGenerator extends React.Component { } handleSvgClick(event) { - if (this.state.clickable) { - console.debug("svg click event received"); - var elementName = event.target.parentNode.getAttribute('policyId'); - console.info("SVG element clicked", elementName); - if (elementName !== null) { - this.props.history.push("/policyModal/"+event.target.parentNode.getAttribute('policyType')+"/"+elementName); - } + console.debug("svg click event received"); + if (this.state.clickable) { + var elementName = event.target.parentNode.getAttribute('policyId'); + console.info("SVG element clicked", elementName); + // Only allow movement to policy editing IF there busyLoadingCOunt is 0, + // meaning we are not waiting for refreshStatus to complete, for example + if (elementName !== null && !this.props.isBusyLoading()) { + this.props.history.push("/policyModal/"+event.target.parentNode.getAttribute('policyType')+"/"+elementName); + } } } |