aboutsummaryrefslogtreecommitdiffstats
path: root/ui-react/src/components/loop_viewer/svg/SvgGenerator.js
diff options
context:
space:
mode:
authorTed Humphrey <Thomas.Humphrey@att.com>2020-07-06 16:59:47 -0400
committerTed Humphrey <Thomas.Humphrey@att.com>2020-07-08 08:52:58 -0400
commit4fb32395392c3c65ad8dcadc42d7804d2e656c63 (patch)
tree415efefee1058f2c30c56260d9f0d7cc0651e9cc /ui-react/src/components/loop_viewer/svg/SvgGenerator.js
parent0a796ee7cd7aaea4225d4d8b137f5056e40f9ec9 (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/svg/SvgGenerator.js')
-rw-r--r--ui-react/src/components/loop_viewer/svg/SvgGenerator.js16
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);
+ }
}
}