# Active page & last active page

**URL:** <https://forum.inductiveautomation.com/t/active-page-last-active-page/77560>\
**Category:** Ignition\
**Tags:** ignition81, perspective, scripting, ignition80\
**Created:** [August 8, 2023, 11:33am UTC](https://forum.inductiveautomation.com/t/active-page-last-active-page/77560 "2023-08-08T11:33:11Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![saravanan\_Manickam](https://avatars.discourse-cdn.com/v4/letter/s/278dde/32.png) [@saravanan\_Manickam](https://forum.inductiveautomation.com/u/saravanan_Manickam)\
**Post date:** [August 8, 2023, 11:33am UTC](https://forum.inductiveautomation.com/t/active-page-last-active-page/77560/1 "2023-08-08T11:33:11Z")

</div>

Hi All,  
lets Consider I have a view

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/5/e/5ed71117d843ddfaf549ac6b9ce95e23342d14c4.png)  
Here I have validation on single text box if no data occurs it throws a popup like below  
 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/8/9/895d793062fa2429135a429dd6842dc49c38f1e6.png)  
this is a separate view  
here my concern is once the pop up is appear the back active page need to be block(the user no need to access it).  
any suggestion's to archive it  
Thanks in advance.

---

<div class="post-metadata">

**Author:** ![Learner\_Ignition](https://avatars.discourse-cdn.com/v4/letter/l/b3f665/32.png) [@Learner\_Ignition](https://forum.inductiveautomation.com/u/Learner_Ignition)\
**Post date:** [August 8, 2023, 11:46am UTC](https://forum.inductiveautomation.com/t/active-page-last-active-page/77560/2 "2023-08-08T11:46:53Z")

</div>

Hope this will help

[Docked Views - Ignition User Manual 8.1 - Ignition Documentation](https://docs.inductiveautomation.com/display/DOC81/Docked+Views#:~:text=Modal%3F,to%20onDemand).

---

<div class="post-metadata">

**Author:** ![Transistor](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/transistor/32/3380_2.png) [@Transistor](https://forum.inductiveautomation.com/u/Transistor)\
**Post date:** [August 8, 2023, 12:08pm UTC](https://forum.inductiveautomation.com/t/active-page-last-active-page/77560/3 "2023-08-08T12:08:59Z")

</div>

It's not clear what is triggering the popup but, assuming it is a _Save_ button or similar I can think of two solutions.

1. Make the popup **modal**. That prevents access to the background.
2. Don't enable the _Save_ button until all the required fields have been filled out. Add an indicator beside each field (an icon would do nicely) to show that the field isn't ready and add a tooltip to explain what is required.

See [Trouble with 'if' statement, button event - #5 by Transistor](https://forum.inductiveautomation.com/t/trouble-with-if-statement-button-event/76892/5) for more on idea 2.

---

<div class="post-metadata">

**Author:** ![saravanan\_Manickam](https://avatars.discourse-cdn.com/v4/letter/s/278dde/32.png) [@saravanan\_Manickam](https://forum.inductiveautomation.com/u/saravanan_Manickam)\
**Post date:** [August 19, 2023, 4:20am UTC](https://forum.inductiveautomation.com/t/active-page-last-active-page/77560/4 "2023-08-19T04:20:51Z")

</div>

Hi,

thank you for your suggestion can you explain the 1st point little bit more clearly

---

<div class="post-metadata">

**Author:** ![Transistor](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/transistor/32/3380_2.png) [@Transistor](https://forum.inductiveautomation.com/u/Transistor)\
**Post date:** [August 19, 2023, 7:43am UTC](https://forum.inductiveautomation.com/t/active-page-last-active-page/77560/5 "2023-08-19T07:43:03Z")

</div>

![Popup modal option](https://us1.discourse-cdn.com/inductiveautomation/original/3X/e/6/e69b20c917b789a936443480d062643757517c33.png)

The modal option, when enabled, prevents access to underlying views until the popup is closed.

---

<div class="post-metadata">

**Author:** ![saravanan\_Manickam](https://avatars.discourse-cdn.com/v4/letter/s/278dde/32.png) [@saravanan\_Manickam](https://forum.inductiveautomation.com/u/saravanan_Manickam)\
**Post date:** [August 23, 2023, 5:47am UTC](https://forum.inductiveautomation.com/t/active-page-last-active-page/77560/6 "2023-08-23T05:47:30Z")

</div>

Ok Understood but I'm using the script

```auto
	# to check
	if (self.parent.getChild("cnt_Process").getChild("FlexRepeater").props.instances[0].param1 == ''):
		logger = system.util.getLogger("myLogger")
		logger.info("project Data Not Saving ")
		system.perspective.openPopup("project_new","POP_UP/pop_up", position = {'left':460,'top':309})
	else:
		logger = system.util.getLogger("myLogger")
		logger.info("project Data Saving Okay")	

```

---

<div class="post-metadata">

**Author:** ![Transistor](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/transistor/32/3380_2.png) [@Transistor](https://forum.inductiveautomation.com/u/Transistor)\
**Post date:** [August 23, 2023, 5:56am UTC](https://forum.inductiveautomation.com/t/active-page-last-active-page/77560/7 "2023-08-23T05:56:22Z")

</div>

Then add the modal setting into the openPopup function:

```auto
system.perspective.openPopup("project_new",
    "POP_UP/pop_up", 
    position = {'left':460,'top':309},
    modal = True
)

```

[https://docs.inductiveautomation.com/display/DOC81/system.perspective.openPopup](https://docs.inductiveautomation.com/display/DOC81/system.perspective.openPopup)

---

<div class="post-metadata">

**Author:** ![saravanan\_Manickam](https://avatars.discourse-cdn.com/v4/letter/s/278dde/32.png) [@saravanan\_Manickam](https://forum.inductiveautomation.com/u/saravanan_Manickam)\
**Post date:** [August 23, 2023, 6:32am UTC](https://forum.inductiveautomation.com/t/active-page-last-active-page/77560/8 "2023-08-23T06:32:10Z")

</div>

Ok fine , it works but myself need to check that is it possible to write it as global script because I have almost 390+ views screen.

---

<div class="post-metadata">

**Author:** ![Transistor](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/transistor/32/3380_2.png) [@Transistor](https://forum.inductiveautomation.com/u/Transistor)\
**Post date:** [August 23, 2023, 7:05am UTC](https://forum.inductiveautomation.com/t/active-page-last-active-page/77560/9 "2023-08-23T07:05:36Z")

</div>

> [@saravanan\_Manickam](#):
>
> I have almost 390+ views screen.

That sounds like poor design.

---

<div class="post-metadata">

**Author:** ![saravanan\_Manickam](https://avatars.discourse-cdn.com/v4/letter/s/278dde/32.png) [@saravanan\_Manickam](https://forum.inductiveautomation.com/u/saravanan_Manickam)\
**Post date:** [August 23, 2023, 9:32am UTC](https://forum.inductiveautomation.com/t/active-page-last-active-page/77560/10 "2023-08-23T09:32:02Z")

</div>

that's the required thing incase its was a entry form based on the different various area request we have developed it.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [August 23, 2023, 12:11pm UTC](https://forum.inductiveautomation.com/t/active-page-last-active-page/77560/11 "2023-08-23T12:11:52Z")

</div>

> [@saravanan\_Manickam](#):
>
> write it as global script because

The project library of scripts aren't themselves "global" or "local" or "session" or "client" scope. They are just libraries. Their scope is the scope of whatever **calls them**. Simply pass any scope-specific variables from the origin to the library function via arguments.

---

<div class="post-metadata">

**Author:** ![saravanan\_Manickam](https://avatars.discourse-cdn.com/v4/letter/s/278dde/32.png) [@saravanan\_Manickam](https://forum.inductiveautomation.com/u/saravanan_Manickam)\
**Post date:** [August 24, 2023, 2:01am UTC](https://forum.inductiveautomation.com/t/active-page-last-active-page/77560/12 "2023-08-24T02:01:53Z")

</div>

understood , but However to call them we have open the view's right 🤔 , without disturbing the view is it possible ....

For example : here I'm opening the popup by URL so as default any popup up occurs on my screen the old page has to be modal popup.

is it possible , if so, how? Do you have any examples?

thanks !!!

---

<div class="post-metadata">

**Author:** ![lrose](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/lrose/32/62724_2.png) [@lrose](https://forum.inductiveautomation.com/u/lrose)\
**Post date:** [August 24, 2023, 3:19am UTC](https://forum.inductiveautomation.com/t/active-page-last-active-page/77560/13 "2023-08-24T03:19:51Z")

</div>

Sure create a session message handler, in any view where you need to call your "global" script, you can use `system.util.sendMessage()` or if you need to return something from the script `system.util.sendRequest()`
