Jianxia,
For your first question, I've created an app using Web AppBuilder with the Jewelry Box Theme, mainly as a test to see what we're able to do OOTB. I'm pretty sure there is functionality to do most of what we want, but it is limited and requires the use of multiple widgets.
As for your second question, and as a follow up to the first, I think it would be a good idea to explain what we are trying to do, so it may be easier to understand.
We currently have a website where the public can go to find out information about floodplains and then submit a request for a permit application. They go to a map, click on a location, and gather lots of information like: flood zone, base flood elevation, floodplain manager, etc. This is printed on the screen in real time, but there is also the capability to export a report for printing (including a map). Then, from the same screen, the user can press a button to begin the application process by entering personal information to submit to our Agency. We'd like to update this website, and since we have access to Esri products, we'd like to utilize them! We've talked with our Esri Reps who suggested we try out ExB. The interface is exactly what we want, but the functionality isn't there. We'd like to have the user do exactly what they've been doing--just click once on the map. We'd like the information to appear on the screen in a bar (which I've gotten to work using the text widget); the information though is from multiple layers that the point intersects, most of which are polygon layers, but also pull the nearest base flood elevation from a point layer. Then, take all the information from these multiple layers and pass it to Survey123 so the user doesn't have to manually enter any floodplain data (all they'd have to enter is contact information). However, currently, the Survey123 widget in ExB only accepts information from one layer.
Does that help?
I've put using ExB on the back burner and am researching other options, such as using the JavaScript API to customize things, because it seems (currently) like that's the only way. Any insights would be appreciated!
Thank you!
Annina