Open Link (Click to Navigate)

Open Link is a behavior in the Interactions category. Once bound to a shape, clicking that shape on the exported page triggers a jump. It can do four things: go to another page in the same screen package, go to a different screen package, open an external website, or run a piece of JavaScript. Unlike visual behaviors (color, blink) that update continuously, Open Link only runs when a user actually clicks the exported page. It is the standard tool for click navigation: home buttons, back buttons, menu jumps, detail views, and opening external systems.

Interactions
Add a click-to-navigate behavior to a shape: one click jumps to another page in the same package, jumps to a different screen package, opens an external website, or runs a script.

Open Link is a behavior in the Interactions category. Once bound to a shape, clicking that shape on the exported page triggers a jump. It can do four things: go to another page in the same screen package, go to a different screen package, open an external website, or run a piece of JavaScript. Unlike visual behaviors (color, blink) that update continuously, Open Link only runs when a user actually clicks the exported page. It is the standard tool for click navigation: home buttons, back buttons, menu jumps, detail views, and opening external systems.

In the Behavior Browser, drag Open Link onto the target shape, open its editor, pick the link type, then fill in the target for that type:

  • Link type (radio): ppt-page / html-page (another page in the same package), screen-code (a different screen package), external-url (an external website), javascript (run a script directly)
  • ppt-page / html-page: pick the target page in the package (by page name/title); runtime uses gotoPage for in-package navigation
  • screen-code: enter the target screen package's screen code (e.g. P1Y1C1); runtime uses gotoScreen for cross-package navigation
  • external-url: enter a full URL, with an 'open in new tab/window' option; off opens in the current tab, on opens a new one
  • javascript: enter a script that runs on click (you may call qtedit.openPage/openScreen/openWebsite yourself)
  • Definition: optional preparation logic (read tags, define variables, decide); the jump itself runs per the chosen type
  • Enabled: optional gate; when it returns false, this click does not navigate
// Link type = screen-code
// Target screen code:
P1Y1C1

// Or Link type = javascript, choose the page by state
if (ReadTagBoolean("PLC1.PUMP.FAULT", false)) {
  qtedit.openPage("Alarm");
} else {
  qtedit.openPage("Overview");
}

Use it wherever a click should switch the page or open something:

  • A main menu button on the overview page that jumps to the in-package Pump page (ppt-page / html-page)
  • Site-wide navigation: a button on the Line 1 package that jumps to the Line 2 screen package (screen-code with the other package's code)
  • A Help/work-order button that opens an external website in a new tab (external-url with the new-window option on)
  • When the destination depends on state (jump to the alarm page if there's a fault, otherwise the overview), use javascript to write the jump logic

Picking the right type is what matters: in-package jumps use ppt-page / html-page (gotoPage); jumping to a different package MUST use screen-code (gotoScreen); don't try to reach another package with an in-package page name. Never write cross-package navigation as relative disk paths (e.g. ../../other-screen/index.html, ../../line-b/pump-01.html); it may work on the dev machine but breaks once packages are replaced in production. If a jump 'won't open', first confirm whether the target is an in-package page, a different screen package, or an external URL, then choose the matching type.