mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Deployed 1db805b451 to master with MkDocs 1.2.3 and mike 1.1.2
This commit is contained in:
1 parent
7d6986b8fd
commit
57d6197643
8 files changed
+83
-14
No files matched your search
@@ -537,6 +537,13 @@
|
||||
appMenus
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#traymenus" class="md-nav__link">
|
||||
trayMenus
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
@@ -786,6 +793,13 @@
|
||||
appMenus
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#traymenus" class="md-nav__link">
|
||||
trayMenus
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
@@ -818,7 +832,7 @@
|
||||
<p>The Main Extension API is the interface to Lens's main process.
|
||||
Lens runs in both main and renderer processes.
|
||||
The Main Extension API allows you to access, configure, and customize Lens data, add custom application menu items and <a href="../protocol-handlers/">protocol handlers</a>, and run custom code in Lens's main process.
|
||||
It also provides convenient methods for navigating to built-in Lens pages and extension pages, as well as adding and removing sources of catalog entities. </p>
|
||||
It also provides convenient methods for navigating to built-in Lens pages and extension pages, as well as adding and removing sources of catalog entities.</p>
|
||||
<h2 id="mainlensextension-class"><code>Main.LensExtension</code> Class<a class="headerlink" href="#mainlensextension-class" title="Permanent link">#</a></h2>
|
||||
<h3 id="onactivate-and-ondeactivate-methods"><code>onActivate()</code> and <code>onDeactivate()</code> Methods<a class="headerlink" href="#onactivate-and-ondeactivate-methods" title="Permanent link">#</a></h3>
|
||||
<p>To create a main extension simply extend the <code>Main.LensExtension</code> class:</p>
|
||||
@@ -850,7 +864,6 @@ Achieve this by starting Lens from the command prompt.</p>
|
||||
<p>For more details on accessing Lens state data, please see the <a href="../stores">Stores</a> guide.</p>
|
||||
<h3 id="appmenus"><code>appMenus</code><a class="headerlink" href="#appmenus" title="Permanent link">#</a></h3>
|
||||
<p>The Main Extension API allows you to customize the UI application menu.
|
||||
Note that this is the only UI feature that the Main Extension API allows you to customize.
|
||||
The following example demonstrates adding an item to the <strong>Help</strong> menu.</p>
|
||||
<div class="highlight"><pre><span></span><code><span class="k">import</span> <span class="p">{</span> <span class="nx">Main</span> <span class="p">}</span> <span class="kr">from</span> <span class="s2">"@k8slens/extensions"</span><span class="p">;</span>
|
||||
|
||||
@@ -867,7 +880,7 @@ The following example demonstrates adding an item to the <strong>Help</strong> m
|
||||
<span class="p">}</span>
|
||||
</code></pre></div>
|
||||
<p><code>appMenus</code> is an array of objects that satisfy the <code>MenuRegistration</code> interface.
|
||||
<code>MenuRegistration</code> extends React's <code>MenuItemConstructorOptions</code> interface.
|
||||
<code>MenuRegistration</code> extends Electron's <code>MenuItemConstructorOptions</code> interface.
|
||||
The properties of the appMenus array objects are defined as follows:</p>
|
||||
<ul>
|
||||
<li><code>parentId</code> is the name of the menu where your new menu item will be listed.
|
||||
@@ -894,6 +907,28 @@ Note that pages are associated with the <a href="../renderer-extension/"><code>R
|
||||
</code></pre></div>
|
||||
<p>When the menu item is clicked the <code>navigate()</code> method looks for and displays a global page with id <code>"myGlobalPage"</code>.
|
||||
This page would be defined in your extension's <code>Renderer.LensExtension</code> implementation (See <a href="../renderer-extension/"><code>Renderer.LensExtension</code></a>).</p>
|
||||
<h3 id="traymenus"><code>trayMenus</code><a class="headerlink" href="#traymenus" title="Permanent link">#</a></h3>
|
||||
<p><code>trayMenus</code> is an array of <code>TrayMenuRegistration</code> objects. Most importantly you can define a <code>label</code> and a <code>click</code> handler. Other properties are <code>submenu</code>, <code>enabled</code>, <code>toolTip</code>, <code>id</code> and <code>type</code>.</p>
|
||||
<div class="highlight"><pre><span></span><code><span class="kd">interface</span> <span class="nx">TrayMenuRegistration</span> <span class="p">{</span>
|
||||
<span class="nx">label?</span>: <span class="kt">string</span><span class="p">;</span>
|
||||
<span class="nx">click</span><span class="o">?:</span> <span class="p">(</span><span class="nx">menuItem</span>: <span class="kt">TrayMenuRegistration</span><span class="p">)</span> <span class="p">=></span> <span class="ow">void</span><span class="p">;</span>
|
||||
<span class="nx">id?</span>: <span class="kt">string</span><span class="p">;</span>
|
||||
<span class="kr">type</span><span class="o">?:</span> <span class="s2">"normal"</span> <span class="o">|</span> <span class="s2">"separator"</span> <span class="o">|</span> <span class="s2">"submenu"</span>
|
||||
<span class="nx">toolTip?</span>: <span class="kt">string</span><span class="p">;</span>
|
||||
<span class="nx">enabled?</span>: <span class="kt">boolean</span><span class="p">;</span>
|
||||
<span class="nx">submenu?</span>: <span class="kt">TrayMenuRegistration</span><span class="p">[]</span>
|
||||
<span class="p">}</span>
|
||||
</code></pre></div>
|
||||
<p>The following example demonstrates how tray menus can be added from extension:</p>
|
||||
<div class="highlight"><pre><span></span><code><span class="k">import</span> <span class="p">{</span> <span class="nx">Main</span> <span class="p">}</span> <span class="kr">from</span> <span class="s2">"@k8slens/extensions"</span><span class="p">;</span>
|
||||
|
||||
<span class="k">export</span> <span class="k">default</span> <span class="kd">class</span> <span class="nx">SampleTrayMenuMainExtension</span> <span class="k">extends</span> <span class="nx">Main</span><span class="p">.</span><span class="nx">LensExtension</span> <span class="p">{</span>
|
||||
<span class="nx">trayMenus</span> <span class="o">=</span> <span class="p">[{</span>
|
||||
<span class="nx">label</span><span class="o">:</span> <span class="s2">"menu from the extension"</span><span class="p">,</span>
|
||||
<span class="nx">click</span><span class="o">:</span> <span class="p">()</span> <span class="p">=></span> <span class="p">{</span> <span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="s2">"tray menu clicked!"</span><span class="p">)</span> <span class="p">}</span>
|
||||
<span class="p">}]</span>
|
||||
<span class="p">}</span>
|
||||
</code></pre></div>
|
||||
<h3 id="addcatalogsource-and-removecatalogsource-methods"><code>addCatalogSource()</code> and <code>removeCatalogSource()</code> Methods<a class="headerlink" href="#addcatalogsource-and-removecatalogsource-methods" title="Permanent link">#</a></h3>
|
||||
<p>The <code>Main.LensExtension</code> class also provides the <code>addCatalogSource()</code> and <code>removeCatalogSource()</code> methods, for managing custom catalog items (or entities).
|
||||
See the <a href="../catalog/"><code>Catalog</code></a> documentation for full details about the catalog.</p>
|
||||
|
||||
Reference in new issue
Block a user