Mingcedar

Product: Mingcedar Studio DESIGNER

Open Page as Popup | 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.

Published Updated

<div class="manual-doc-article manual-doc-article-section"><h2 id="interaction-open-page-as-popup">Interactions: Open Page as Popup</h2>

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.

<div class="doc-card-list">

<article class="doc-card">

<h3 id="interaction-open-page-as-popup-item-1">Overview</h3>

<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 class="doc-card">

<h3 id="interaction-open-page-as-popup-item-2">How to use it: make the three primary choices</h3>

<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 class="doc-card doc-card-warn">

<h3 id="interaction-open-page-as-popup-item-3">When to use Advanced options</h3>

<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 <code>{&quot;PLC&quot;:&quot;PLC_LINE01&quot;,&quot;Device&quot;:&quot;PUMP_01&quot;}</code>. 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>

<div class="manual-code" data-code-language="text"><div class="manual-code-toolbar"><span>Text</span><span class="manual-code-tools"><small>Text</small><button type="button" data-copy-code data-copied="Copied" data-failed="Select and copy the code" aria-label="Copy code: Text">Copy code</button><span class="manual-code-status" role="status"></span></span></div><pre tabindex="0" class="docs-code-block shiki github-light" style="background-color:#fff;color:#24292e" tabindex="0"><code><span class="line"><span>// Fixed page + static parameters</span></span>

<span class="line"><span>Page Code: device_details</span></span>

<span class="line"><span>Page parameters: {"PLC": "PLC_LINE01", "Device": "PUMP_01", "active": true}</span></span>

<span class="line"><span></span></span>

<span class="line"><span>// Dynamic page example</span></span>

<span class="line"><span>selectedDeviceType === "pump" ? "pump_details" : "valve_details"</span></span></code></pre></div>

</article>

<article class="doc-card doc-card-warn">

<h3 id="interaction-open-page-as-popup-item-4">How popup parameters are sent, read, and returned</h3>

<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&#39;s Page Script.</li>

<li>Close result: Close Current Popup&#39;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>

<div class="manual-code" data-code-language="javascript"><div class="manual-code-toolbar"><span>JavaScript</span><span class="manual-code-tools"><small>JavaScript</small><button type="button" data-copy-code data-copied="Copied" data-failed="Select and copy the code" aria-label="Copy code: JavaScript">Copy code</button><span class="manual-code-status" role="status"></span></span></div><pre tabindex="0" class="docs-code-block shiki github-light" style="background-color:#fff;color:#24292e" tabindex="0"><code><span class="line"><span style="color:#6A737D">// Popup Page Script</span></span>

<span class="line"><span style="color:#D73A49">var</span><span style="color:#24292E"> plc </span><span style="color:#D73A49">=</span><span style="color:#6F42C1"> GetPageParameter</span><span style="color:#24292E">(</span><span style="color:#032F62">"PLC"</span><span style="color:#24292E">, </span><span style="color:#032F62">""</span><span style="color:#24292E">);</span></span>

<span class="line"><span style="color:#D73A49">var</span><span style="color:#24292E"> device </span><span style="color:#D73A49">=</span><span style="color:#6F42C1"> GetPageParameter</span><span style="color:#24292E">(</span><span style="color:#032F62">"Device"</span><span style="color:#24292E">, </span><span style="color:#032F62">""</span><span style="color:#24292E">);</span></span>

<span class="line"><span style="color:#D73A49">var</span><span style="color:#24292E"> activeText </span><span style="color:#D73A49">=</span><span style="color:#6F42C1"> GetPageParameter</span><span style="color:#24292E">(</span><span style="color:#032F62">"active"</span><span style="color:#24292E">, </span><span style="color:#032F62">"false"</span><span style="color:#24292E">);</span></span>

<span class="line"><span style="color:#D73A49">var</span><span style="color:#24292E"> active </span><span style="color:#D73A49">=</span><span style="color:#24292E"> activeText </span><span style="color:#D73A49">===</span><span style="color:#032F62"> "true"</span><span style="color:#24292E">;</span></span></code></pre></div>

</article>

<article class="doc-card doc-card-warn">

<h3 id="interaction-open-page-as-popup-item-5">Delivery boundaries and common mistakes</h3>

<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>

</div>

<div class="docs-note-grid manual-doc-image-grid">

<figure class="docs-note-card manual-doc-image-card" id="interaction-open-page-as-popup-image-1">

<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>Figure 1: 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>

</div>

</div>