Hello All,
In siebel Open UI there is Issue which most of us might have faced.
If we navigate to a view or Run a query and it takes more the 30 seconds,
$('.siebui-icon-executequery').click(function(){ // do something her to prevent user clicking on screen })
pm.AttachNotificationHandler(consts.get("SWE_PROP_BC_NOTI_END_QUERY"), function(){
//alert("after query has completed fetching result");
})
$('.siebui-icon-executequery').click(function(){
var text = "Wait.. Fetching Results ";
$("<table id='overlay'><tbody><tr><td>" + text + "</td></tr></tbody></table>").css({
"position": "fixed",
"top": 0,
"left": 0,
"width": "100%",
"height": "100%",
"background-color": "rgba(0,0,0,.5)",
"z-index": 10000,
"vertical-align": "middle",
"text-align": "center",
"color": "#fff",
"font-size": "30px",
"font-weight": "bold",
"cursor": "wait"
}).appendTo("body");})
sample working example looks like,
Benefits:
In siebel Open UI there is Issue which most of us might have faced.
If we navigate to a view or Run a query and it takes more the 30 seconds,
- The Busy cursor on the screen disappears
- The page becomes unresponsive as query is yet running in background
- and most likely we end up clicking randomly and session becomes unresponsive
- When a query is Fired , initiate a function to show some message that notifies Query has stated execution
- When Query finished, notify that query has executed
- In the Meanwhile from Executing Query to Fetching Results, show some message to user or Block the screen to prevent user interaction
- Identify Query is Executed ,
$('.siebui-icon-executequery').click(function(){ // do something her to prevent user clicking on screen })
- Notify Application that Query has finished execution ,
pm.AttachNotificationHandler(consts.get("SWE_PROP_BC_NOTI_END_QUERY"), function(){
//alert("after query has completed fetching result");
})
- Block the UI till Query fetches results
$('.siebui-icon-executequery').click(function(){
var text = "Wait.. Fetching Results ";
$("<table id='overlay'><tbody><tr><td>" + text + "</td></tr></tbody></table>").css({
"position": "fixed",
"top": 0,
"left": 0,
"width": "100%",
"height": "100%",
"background-color": "rgba(0,0,0,.5)",
"z-index": 10000,
"vertical-align": "middle",
"text-align": "center",
"color": "#fff",
"font-size": "30px",
"font-weight": "bold",
"cursor": "wait"
}).appendTo("body");})
sample working example looks like,
Benefits:
- Overlay will be there till query completes execution
- Prevents unnecessary session unresponsiveness due to random click
- No 3rd Party jQuery Pluign , uses siebel PM methods
No comments:
Post a Comment