Andrzej MichalecNovember 28, 2017 at 5:50 am #4828
Dear SPARK team,
consider following scenario – CSHS has one Text CV bound to tw.local.text string variable, next to it there is a Button CV that triggers boundary event which in turn leads to some processing with this variable as input data.
When run on desktop browser, user enters text then it clicks on button, and when boundary event makes next flow item execution, the tw.local.text variable is up to date. In short everything works as expected.
On Apple mobile platform (i.e. iPad) user uses corporation-enforced MobileIron platform and its [email protected] Safari-based browser. In this situation user enters text and clicks on button. What is observed is that input text still has curosor blinking inside and focus is left in that Text CV. Since no “on blur” happened then bound variable is not up to date at all. Boundary trigger fires and processing starts with wrong data (missing or staled). Note that refresh only happens when focus is moved by user e.g. when user clicks in some other text input.
It is known behavior of mobile Safari-based browsers introduced by Apple i.e. focus manipulation is “accepted” only when run synchronously from touch event handler. In all other cases e.g. trying to focus or blur programatically from other events or in asynchronous manner, the operations are ignored by webkit.
Please advise how to make text inputs to update bidings when other non-text widget is clicked. I would expect some universal receipt to avoid boiler-plate coding when many text inputs or buttons are used. If you find this work item as complex/heavy I can open PMR on behalf of customer.
You must be logged in to reply to this topic.