System.perspective.navigate doesn't work on session custom property tag change script

You're getting caught up in a common Designer vs. Session context issue.

In the Designer, there are no pages; the concept doesn't exist. But some pieces are dependent on a reference to pageId not being null, so we provide the View name as a placeholder within the Designer. IN a running Session, that pageId value is actually a unique value generated as each tab is opened.

Now, the Session has no idea which page of the potentially multiple you could have open that you want to navigate, so you'll have to manage that yourself.

  • Loop over every page of the session by making use of system.perspective.getSessionInfo() and filter the results based on the sessionId of this Session.
if currentValue.value > 2:
    all_sessions = system.perspective.getSessionInfo()
    for session in all_sessions:
        if session.id == self.session.props.id:
            page_ids = session.pageIds
            for page_id in page_ids:
                system.perspective.navigate(page="/", sessionId=session.id,  pageId=page_id)

You might also be able to do something like this:

if currentValue.value > 2:
    for page in self.pages:
        system.perspective.navigate(page="/", sessionId=self.id,  pageId=page.id)
4 Likes