Expand my Community achievements bar.

Using subform as alternative to AcroForm Dialog box

Avatar

Level 8

In a previous post, I managed to use a subform to replace AcroFrom Dialog Box:

https://experienceleaguecommunities.adobe.com/t5/adobe-livecycle-questions/creating-a-subform-as-pop...

 

Now, I am facing the same issue I reported earlier, that is, in the new case, the page is crowded, and child elements of the overlapping subform is confused with the large text fields behind the subform.

 

I am checking if there is a method to prevent clicking outside the subform (dialog box subform) if it is visible.

 

The only solution that I am thinking of is to use a much larger protected dummy button to be placed just behind the subform box that will cover all the other elements which are overlapping with the subform box.

 

Is there any other solution to prevent the focus-out (or the Exit) Event of the subform dialog box when it is visible?

 

Tarek

5 Replies

Avatar

Level 10

Hi there,

 

When making your subform visible, you could execute a function to set all other fields to be read only until the user closes the subform "dialog"?

Avatar

Level 8

Yes, this is one of the correct methods, however, it is hard to implement, since I need to keep a manual list of all overlapping elements, and save the "access" property status before showing the popup, and restore the saved value after hiding the popup. And, everytime I move the popup, I have to modify the list of overlapping elements, and, I have to create a list for each template.

 

Do you have an idea of how to get a list of overlapping elements of a given subform in a parent subform? If there is any easy way, then such implementation might be possible.

Avatar

Level 10
Well, I dont think you need a manual list of all overlapping elements, you could simply have a "Exception Array" in which you will insert the parent's name of the overlapping elements. Therefore, when looping throughout the form and saving the access state of each element, you can refer to the Exception list to avoid verifying their access state. The Exception list can be constructed within a script object at the initialize or docReady event of each overlapping element's parent. You simply need to ensure that the function to feed the Exception array is not executed more than once. I hope this may help you avoid creating a manual list.

Avatar

Level 8
I think I understand your approach, and it is certainly a valid one. I am just concerned that it requires more work. I will try first using a dummy read-only button that will cover a larger area than the inner subform of the popup itself, and place the dummy button at the top of the popup. I have tried something else, that is on exit of the popup subform, set-focus on an element inside the popup, it seems like it is working, but UX not so good..