Product: Mingcedar Studio DESIGNER
Open and close popup pages | Mingcedar Studio
Open another exported page from this PowerPoint file as a popup without navigating away from the underlying page; the popup keeps its own HTML, SVG, JavaScript, and image assets.
<section id="popup-actions" class="docs-block docs-block-intro docs-block-current"> <span class="section-kicker">Interactions</span> <h2>Open and close popup pages</h2> <p>Open another exported page from this PowerPoint file as a popup without navigating away from the underlying page; the popup keeps its own HTML, SVG, JavaScript, and image assets.</p> <div class="docs-detail-list"> <article id="popup-actions-item-1" class="docs-detail-row"> <strong>Overview</strong> <p>Open Page as Popup opens another Page Code above the current page, for device details, confirmations and parameter panels. The underlying page remains in place.</p> </article><article id="popup-actions-item-2" class="docs-detail-row"> <strong>How to use it: make the three primary choices</strong> <p>Bind it to the opener, configure Popup page, Appearance and Interaction, and select Enabled:</p> <ul> <li>Popup page: select a page from this presentation or enter an existing exported Page Code, without .html or a folder path.</li><li>Appearance: choose Fit content for the useful content or Full page canvas for the complete canvas.</li><li>Interaction: set Block the page behind, Esc closes the popup, and Clicking outside closes it as needed.</li><li>Enabled: controls this behavior. Review the summary below the choices before saving.</li> </ul> </article><article id="popup-actions-item-3" class="docs-detail-row"> <strong>When to use Advanced options</strong> <p>Select a fixed destination in Popup page. For a dynamic destination, parameters, or background options, expand Advanced options:</p> <ul> <li>Use a dynamic Page Code expression: provide a JavaScript expression that returns the Page Code.</li><li>Page parameters (JSON object): pass a static object such as `{"PLC":"PLC_LINE01","Device":"PUMP_01"}`. A top-level array is invalid.</li><li>Build page parameters with an expression: return an object or an ordered array of { key, value } entries; use the array to preserve repeated keys.</li><li>Background behind popup: choose Dim the page behind or Keep the page visible. Dim strength is limited to 0%-85%.</li><li>Allow the same popup to open more than once: permit duplicate instances. It is off by default to avoid accidental duplicates.</li> </ul> <pre class="docs-code-block"><code>// Fixed page + static parameters
Page Code: device_details
Page parameters: {"PLC": "PLC_LINE01", "Device": "PUMP_01", "active": true}
// Dynamic page example
selectedDeviceType === "pump" ? "pump_details" : "valve_details"</code></pre> </article><article id="popup-actions-item-4" class="docs-detail-row"> <strong>How popup parameters are sent, read, and returned</strong> <p>The static popup input requires a JSON object and cannot represent repeated keys. Dynamic parameter expressions can return an ordered array of { key, value } entries to preserve repeated keys. For consistent host and local-fallback behavior, use string, number, boolean, or null values. The popup destination still reads them with GetPageParameter, GetPageParameterValues, or GetPageParameters and treats the result as text.</p> <ul> <li>Static parameters: enter a JSON object.</li><li>Dynamic parameters: Build page parameters with an expression accepts an object or an ordered { key, value } array, but not a Promise or DOM object.</li><li>Destination reads: call GetPageParameter* in the popup page's Page Script.</li><li>Close result: Close Current Popup's Result expression sends a result back to the opener; it is not a page query parameter.</li><li>Parameters provide page context only; they do not bypass host permissions or expand Tag access.</li> </ul> <pre class="docs-code-block"><code>// Popup Page Script
var plc = GetPageParameter("PLC", "");
var device = GetPageParameter("Device", "");
var activeText = GetPageParameter("active", "false");
var active = activeText === "true";</code></pre> </article><article id="popup-actions-item-5" class="docs-detail-row"> <strong>Delivery boundaries and common mistakes</strong> <p>The target must be an exported page in the package. Adding, removing or renaming popup pages, or changing shared assets, requires a full export. Select from the page list to match Page Code to the manifest; do not emulate popups with Open Link.</p> </article><article id="popup-actions-item-6" class="docs-detail-row"> <strong>Overview</strong> <p>This closes only the popup containing the bound object, with no Page Code. Place it inside the popup; it does not navigate the main page.</p> </article><article id="popup-actions-item-7" class="docs-detail-row"> <strong>How to close or return a result</strong> <p>By default, this behavior closes the popup without returning a value. To send a result to the opener, select Return data when this button is clicked (optional) and enter a result expression.</p> <ul> <li>Cancel / Close usually returns no result.</li><li>OK / Done can return `{ confirmed: true }` or another value the opener expects.</li><li>Enabled controls this behavior.</li><li>For a condition, cursor style, or disabled appearance, expand Advanced options and configure the applicable fields.</li> </ul> <pre class="docs-code-block"><code>// Result expression
({ confirmed: true, motorId: selectedMotorId })</code></pre> </article><article id="popup-actions-item-8" class="docs-detail-row"> <strong>Limitations and troubleshooting</strong> <p>Use only in a popup context. Returned data does not write to a PLC; use Write Tag / Write Tag Bit, subject to host permissions and auditing.</p> </article> </div> <div class="docs-note-grid"> <figure id="popup-actions-image-1" class="docs-note-card manual-doc-image-card"> <img src="/WEB_img/HQPPT/current-20261021/open-popup.png" alt="Open Popup editor showing Popup page, Appearance, Interaction, and Enabled" loading="lazy" decoding="async"> <figcaption> <strong>Open Popup editor</strong> <p>Choose the popup page, Fit content or Full page canvas, and dismissal controls. Advanced options is collapsed in this image.</p> </figcaption> </figure><figure id="popup-actions-image-2" class="docs-note-card manual-doc-image-card"> <img src="/WEB_img/HQPPT/current-20261021/close-popup.png" alt="Close Popup editor showing Enabled and optional Return data" loading="lazy" decoding="async"> <figcaption> <strong>Close Popup editor</strong> <p>The containing popup closes while the underlying page stays open; enable Return data only when the opener needs a result.</p> </figcaption> </figure> </div> </section>