Ignition Perspective Multiple Popup Cascading Placement or Bring to Front

Hi everyone,

We have a project with a scada system that is nearing the end of completion and I had a question involving the Popup action and window placement on some buttons we use.

The issue is that there are a few summary pages we have that have up to 40 pieces of equipment and each piece of equipment has it's own more detailed view of information in a popup. Right now, each popup is set to be centered in the screen when it gets clicked and then will get covered by the next popup if a user opens multiple popups (if they don't manually re-position the popups as they open them or after opening them).

My question is whether anyone has a good way to cascade or shingle the popups as they open other than setting them relative to the mouse pointer, or if there is a good way to have a popup that was already open be brought to the top layer of the popups if the user clicks on the button corresponding to that piece of equipment's popup again without having to close and re-open the popup using the Toggle action.

Right now I'm leaning towards just setting them all to the Toggle action as opposed to Open and letting them double click to close an already opened popup and then bring that one back to the top, but I am fishing for any other ideas.

Any suggestions are appreciated!

I would set the popups to modal and to auto-close when the user clicks outside them.

You could have them all use the same popup and have that popup display an embedded view that is passed in as a parameter...

I've written scripts that do that but they got a little sloppy around the edges of the view area. One thing I would definitely call your attention to is the "viewportBound" property. You can use that property in the script method for opening popups. It avoids one problem that is easy to encounter where popups are visible but completely outside of the viewbox.

There is also the option of using the relative positioning options that are only available if you add a popup action to an event. Basically, you set "Position" to "Relative" and then select whether to offset it and which direction. Notice the "viewport bound" checkbox. That is important too.

@pturmel & @Ryan_Deardorff I probably should've clarified that they want to be able to have multiple popups open at the same time. We're going through a lot of commissioning and rapidly causing different situations and values to change or running tests on multiple pieces of equipment at once, so they would like to have as much of that detailed information on the screens as they can. A lot of what we're doing right now is opening popups, manually positioning them, and having more than one tab to switch between if extra space is needed.

I don't imagine it will be much of an issue after turn-over as they would only need to access the detailed popups if an issue arises with that specific piece of equipment.

@Steve_Laubach I'll try playing around with the relative and viewport bound settings and see if I can come up with something that works with their needs for now.

Thank you all for the input!

Regarding this specifically, not relating it to the OP, I would centralise it by reading the UDT TypeId prop in the popup from the tag path to the UDT instance that you pass to the popup, and have a central (tag) dataset lookup to check what embedded view to use