docs/site/Rockwell/Optix/CreareUnPulsanteDiNavigazione/index.html

420 lines
20 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="docmd is a Node.js command-line tool for generating beautiful, lightweight static documentation sites from Markdown files.">
<link rel="canonical" href="/Rockwell/Optix/CreareUnPulsanteDiNavigazione/">
<meta property="og:title" content="Creare un pulsante di navigazione | docmd">
<meta property="og:description" content="docmd is a Node.js command-line tool for generating beautiful, lightweight static documentation sites from Markdown files.">
<meta property="og:url" content="/Rockwell/Optix/CreareUnPulsanteDiNavigazione/">
<meta property="og:site_name" content="docmd">
<meta property="og:image" content="/assets/images/docmd-preview.png">
<meta property="og:type" content="website">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Creare un pulsante di navigazione | docmd">
<meta name="twitter:description" content="docmd is a Node.js command-line tool for generating beautiful, lightweight static documentation sites from Markdown files.">
<meta name="twitter:image" content="/assets/images/docmd-preview.png">
<title>Creare un pulsante di navigazione : docmd</title>
<link rel="shortcut icon" href="../../assets/favicon.ico" type="image/x-icon">
<script>// Source file from the docmd project — https://github.com/mgks/docmd
/*
* Initialize the theme from localStorage
*/
(function() {
try {
const storedTheme = localStorage.getItem('docmd-theme');
if (storedTheme) {
document.documentElement.setAttribute('data-theme', storedTheme);
// Also update highlight CSS link to match the stored theme
const highlightThemeLink = document.getElementById('highlight-theme');
if (highlightThemeLink) {
const baseHref = highlightThemeLink.getAttribute('data-base-href');
if (baseHref) {
const newHref = baseHref + `docmd-highlight-${storedTheme}.css`;
highlightThemeLink.setAttribute('href', newHref);
}
}
}
} catch (e) {
console.error('Error applying theme from localStorage', e);
}
})();</script>
<link rel="stylesheet" href="../../assets/css/docmd-main.css">
<link rel="stylesheet" id="highlight-theme" href="../../assets/css/docmd-highlight-light.css" data-base-href="../../assets/css/">
<link rel="stylesheet" href="../../assets/css/docmd-theme-sky.css">
<!-- Google Analytics GA4 -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-8QVBDQ4KM1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-8QVBDQ4KM1');
</script>
</head>
<body class="sidebar-collapsible"
data-theme="light" data-default-collapsed="false"
data-copy-code-enabled="true">
<aside class="sidebar">
<div class="sidebar-header">
<a href="/" class="logo-link">
<img src="../../assets/images/docmd-logo-light.png" alt="docmd logo" class="logo-light" >
<img src="../../assets/images/docmd-logo-dark.png" alt="docmd logo" class="logo-dark" >
</a>
</div>
<nav class="sidebar-nav" aria-label="Main navigation">
<ul>
<li class="" >
<a href="../../" class="" >
<svg class="lucide-icon icon-home" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8" />
<path d="M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z" />
</svg>
<span class="nav-item-title">Welcome</span>
</a>
</li>
<li class="collapsible" data-nav-id="#">
<a href="#" class="" >
<svg class="lucide-icon icon-rocket" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z" />
<path d="m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z" />
<path d="M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0" />
<path d="M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5" />
</svg>
<span class="nav-item-title">Getting Started</span>
<svg class="lucide-icon icon-chevron-right collapse-icon" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="m9 18 6-6-6-6" />
</svg>
</a>
<ul class="submenu">
<li class="" >
<a href="https://docmd.mgks.dev" class="" target="_blank" rel="noopener">
<svg class="lucide-icon icon-scroll" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M19 17V5a2 2 0 0 0-2-2H4" />
<path d="M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3" />
</svg>
<span class="nav-item-title">Documentation</span>
<svg class="lucide-icon icon-external-link nav-external-icon" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M15 3h6v6" />
<path d="M10 14 21 3" />
<path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" />
</svg>
</a>
</li>
<li class="" >
<a href="https://docmd.mgks.dev/getting-started/installation" class="" target="_blank" rel="noopener">
<svg class="lucide-icon icon-download" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M12 15V3" />
<path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" />
<path d="m7 10 5 5 5-5" />
</svg>
<span class="nav-item-title">Installation</span>
<svg class="lucide-icon icon-external-link nav-external-icon" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M15 3h6v6" />
<path d="M10 14 21 3" />
<path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" />
</svg>
</a>
</li>
<li class="" >
<a href="https://docmd.mgks.dev/getting-started/basic-usage" class="" target="_blank" rel="noopener">
<svg class="lucide-icon icon-play" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z" />
</svg>
<span class="nav-item-title">Basic Usage</span>
<svg class="lucide-icon icon-external-link nav-external-icon" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M15 3h6v6" />
<path d="M10 14 21 3" />
<path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" />
</svg>
</a>
</li>
<li class="" >
<a href="https://docmd.mgks.dev/content" class="" target="_blank" rel="noopener">
<svg class="lucide-icon icon-layout-template" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<rect width="18" height="7" x="3" y="3" rx="1" />
<rect width="9" height="7" x="3" y="14" rx="1" />
<rect width="5" height="7" x="16" y="14" rx="1" />
</svg>
<span class="nav-item-title">Content</span>
<svg class="lucide-icon icon-external-link nav-external-icon" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M15 3h6v6" />
<path d="M10 14 21 3" />
<path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" />
</svg>
</a>
</li>
</ul>
</li>
<li class="" >
<a href="https://github.com/mgks/docmd" class="" target="_blank" rel="noopener">
<svg class="lucide-icon icon-github" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4" />
<path d="M9 18c-4.51 2-5-2-7-2" />
</svg>
<span class="nav-item-title">GitHub</span>
<svg class="lucide-icon icon-external-link nav-external-icon" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M15 3h6v6" />
<path d="M10 14 21 3" />
<path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" />
</svg>
</a>
</li>
<li class="" >
<a href="https://github.com/sponsors/mgks" class="" target="_blank" rel="noopener">
<svg class="lucide-icon icon-heart" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5" />
</svg>
<span class="nav-item-title">Support the Project</span>
<svg class="lucide-icon icon-external-link nav-external-icon" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M15 3h6v6" />
<path d="M10 14 21 3" />
<path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" />
</svg>
</a>
</li>
</ul>
</nav>
</aside>
<div class="main-content-wrapper">
<div class="page-header">
<div class="header-left">
<button id="sidebar-toggle-button" class="sidebar-toggle-button" aria-label="Toggle Sidebar">
<svg class="lucide-icon icon-panel-left-close" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<rect width="18" height="18" x="3" y="3" rx="2" />
<path d="M9 3v18" />
<path d="m16 15-3-3 3-3" />
</svg>
</button>
<h1>Creare un pulsante di navigazione</h1>
</div>
<div class="header-right">
<button id="theme-toggle-button" aria-label="Toggle theme" class="theme-toggle-button theme-toggle-header">
<svg class="lucide-icon icon-sun icon-sun" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<circle cx="12" cy="12" r="4" />
<path d="M12 2v2" />
<path d="M12 20v2" />
<path d="m4.93 4.93 1.41 1.41" />
<path d="m17.66 17.66 1.41 1.41" />
<path d="M2 12h2" />
<path d="M20 12h2" />
<path d="m6.34 17.66-1.41 1.41" />
<path d="m19.07 4.93-1.41 1.41" />
</svg>
<svg class="lucide-icon icon-moon icon-moon" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401" />
</svg>
</button>
</div>
</div>
<main class="content-area">
<div class="content-layout">
<div class="main-content">
<p>import useBaseUrl from @docusaurus/useBaseUrl;</p>
<h1 id="creare-un-pulsante-di-navigazione">🔘 Creare un Pulsante di Navigazione</h1>
<p>Hai creato la tua nuova pagina (bravo! 👏), ma ora serve un modo per arrivarci, no? È il momento di aggiungere un <strong>pulsante di navigazione</strong>.</p>
<p>In questa guida vedremo come creare un pulsante per navigare da una schermata allaltra utilizzando i <strong>componenti custom</strong> messi a disposizione nel progetto Optix.</p>
<hr>
<h2 id="principio-di-funzionamento">🧭 Principio di funzionamento</h2>
<p>I pulsanti di navigazione disponibili sono diversi, ma condividono <strong>lo stesso principio base</strong>:</p>
<blockquote>
<p>🎯 A ogni pulsante viene associata una <strong>pagina di destinazione</strong> tramite il parametro <code>Panel</code>.</p>
</blockquote>
<hr>
<h2 id="tipi-di-pulsanti-di-navigazione">🧮 Tipi di pulsanti di navigazione</h2>
<p>A seconda del contesto in cui ti trovi, scegli il <strong>template più adatto</strong> tra quelli disponibili. Ogni pulsante è pensato per uno scenario duso specifico.</p>
<table>
<thead>
<tr>
<th>Template</th>
<th>Descrizione</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>tpAxHomeButton</code></td>
<td>🔁 Pulsante per il comando di <strong>azzeramento di un singolo asse</strong></td>
</tr>
<tr>
<td><code>tpDualAxHomeButton</code></td>
<td>🔀 Variante del precedente, consente l<strong>azzeramento simultaneo di più assi</strong>. Utile quando gli azzeramenti devono essere coordinati tra più assi.</td>
</tr>
<tr>
<td><code>tpButtNavigationLateral</code></td>
<td>🧭 Pulsante da utilizzare nel <strong>menù laterale principale</strong> dellinterfaccia (quello sempre visibile sulla sinistra). Garantisce coerenza visiva e funzionale.</td>
</tr>
<tr>
<td><code>tpButtNavigationSetup</code></td>
<td>⚙️ Pulsante standard per la <strong>navigazione nelle pagine di setup</strong>. Ha uno stile neutro e coerente con lambiente di configurazione.</td>
</tr>
<tr>
<td><code>tpButtNavigationAdvMenu</code></td>
<td>🧩 Pulsante progettato per i <strong>menù a griglia</strong> come il menù avzato o vari sottomenù o con layout esplorativi. Ideale per strutture ad accesso rapido o dinamico.</td>
</tr>
<tr>
<td><code>tpButtNavigationDiagnostic</code></td>
<td>🧯 Pulsante per la <strong>navigazione alle pagine di diagnostica</strong>. Include un <strong>badge di stato</strong> che può mostrare la presenza di un fault o anomalia.</td>
</tr>
</tbody>
</table>
<blockquote>
<p>💡 <strong>Suggerimento</strong>: usa il pulsante giusto per ogni contesto. Non è solo una questione estetica: migliora lusabilità e rende linterfaccia più intuitiva per loperatore.</p>
</blockquote>
<hr>
<h2 id="come-crearne-uno">🛠️ Come crearne uno</h2>
<p>Per inserire un nuovo pulsante di navigazione:</p>
<ol><li><strong>Fai clic destro</strong> sul contenitore in cui desideri aggiungerlo (può essere una <code>Panel</code>, una <code>GroupBox</code>, ecc.).</li>
<li>Seleziona:<br>
<code>New &gt; tpTemplates &gt; tpButtons &gt; Navigation &gt; &lt;tipo desiderato&gt;</code></li>
</ol>
<p>📷 <em>Esempio:</em></p>
<p>&lt;img src={useBaseUrl(/img/screenshots/optix/create-navigation-button.jpg)} alt=“Creazione pulsante di navigazione” style={{ maxWidth: 100%, borderRadius: 8px, marginTop: 1rem }} /&gt;</p>
<hr>
<h2 id="parametrizzazione-del-pulsante">⚙️ Parametrizzazione del pulsante</h2>
<p>Dopo aver creato il pulsante, selezionalo e imposta la <strong>pagina di destinazione</strong>:</p>
<ol><li>Vai nel menu delle <strong>proprietà a sinistra</strong></li>
<li>Trova il parametro <code>Panel</code></li>
<li>Seleziona la pagina a cui vuoi che il pulsante navighi</li>
</ol>
<p>📷 <em>Esempio:</em></p>
<p>&lt;img src={useBaseUrl(/img/screenshots/optix/parametrize-navigation-button.jpg)} alt=“Parametri del pulsante di navigazione” style={{ maxWidth: 100%, borderRadius: 8px, marginTop: 1rem }} /&gt;</p>
<hr>
<h2 id="e-ora">🚀 E ora?</h2>
<p>Fatto! A questo punto, il tuo pulsante è operativo: durante il runtime, cliccandoci sopra, lutente verrà portato direttamente alla pagina che hai configurato.</p>
<hr>
<blockquote>
<p>🧙‍♂️ <strong>Pro tip</strong>: dai un nome chiaro al tuo pulsante e alla pagina di destinazione. Ti ringrazierai tra qualche progetto, fidati.</p>
</blockquote>
<hr>
<h2 id="conclusione">✅ Conclusione</h2>
<p>Creare pulsanti di navigazione è semplice e potente. Ti permette di costruire unesperienza utente fluida, organizzata e professionale, mantenendo la coerenza con il resto dellinterfaccia.</p>
<p>E poi… vuoi mettere la soddisfazione di cliccare su un bottone che <em>funziona davvero</em>?</p>
<p>🚪➡️ <em>Vai e clicca, linterfaccia ti aspetta!</em></p>
</div>
<!-- DEBUG: {"headingsLength":7} -->
<!-- TOC sidebar -->
<div class="toc-sidebar">
<div class="toc-container">
<h2 class="toc-title">On This Page</h2>
<ul class="toc-list">
<li class="toc-item toc-level-2">
<a href="#principio-di-funzionamento" class="toc-link">🧭 Principio di funzionamento</a>
</li>
<li class="toc-item toc-level-2">
<a href="#tipi-di-pulsanti-di-navigazione" class="toc-link">🧮 Tipi di pulsanti di navigazione</a>
</li>
<li class="toc-item toc-level-2">
<a href="#come-crearne-uno" class="toc-link">🛠️ Come crearne uno</a>
</li>
<li class="toc-item toc-level-2">
<a href="#parametrizzazione-del-pulsante" class="toc-link">⚙️ Parametrizzazione del pulsante</a>
</li>
<li class="toc-item toc-level-2">
<a href="#e-ora" class="toc-link">🚀 E ora?</a>
</li>
<li class="toc-item toc-level-2">
<a href="#conclusione" class="toc-link">✅ Conclusione</a>
</li>
</ul>
</div>
</div>
</div>
</main>
<footer class="page-footer">
<div class="footer-content">
<div class="user-footer">
© 2025 Project.
</div>
<div class="branding-footer">
Build with <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z"></path><path d="M12 5 9.04 7.96a2.17 2.17 0 0 0 0 3.08c.82.82 2.13.85 3 .07l2.07-1.9a2.82 2.82 0 0 1 3.79 0l2.96 2.66"></path><path d="m18 15-2-2"></path><path d="m15 18-2-2"></path></svg> <a href="https://docmd.mgks.dev" target="_blank" rel="noopener">docmd.</a>
</div>
</div>
</footer>
</div>
<script src="../../assets/js/docmd-main.js"></script>
<script src="../../assets/js/docmd-image-lightbox.js"></script>
</body>
</html>