UNPKG

gojs

Version:

Interactive diagrams, charts, and graphs, such as trees, flowcharts, orgcharts, UML, BPMN, or business diagrams

414 lines (413 loc) 21 kB
<!doctype html> <html class="default no-js"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>ZoomSlider | GoJS API</title> <meta name="description" content=""> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="../../assets/css/bootstrap.min.css"> <link rel="stylesheet" href="../assets/css/main.css"> </head> <body> <header> <!-- non-fixed navbar --> <nav id="non-fixed-nav" class="navbar navbar-inverse navbar-top"> <div class="container-fluid"> <div class="navbar-header"> <div class="navheader-container"> <div class="navheader-collapse" data-toggle="collapse" data-target="#navbar"> <a id="toplogo" class="navbar-brand" href="../../index.html">GoJS</a> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> </div> </div> </div> <div id="navbar" class="navbar-collapse collapse"> <ul class="nav navbar-nav navbar-right"> <li><a href="../../index.html">Home</a></li> <li><a href="../../learn/index.html">Learn</a></li> <li><a href="../../samples/index.html">Samples</a></li> <li><a href="../../intro/index.html">Intro</a></li> <li><a href="../../api/index.html" target="api">API</a></li> <li><a href="https://www.nwoods.com/components/evalform.htm">Register</a></li> <li><a href="../../download.html">Download</a></li> <li><a href="https://forum.nwoods.com/c/gojs">Forum</a></li> <li><a href="https://www.nwoods.com/contact.html" onclick="ga('send','event','Outbound Link','click','contact');">Contact</a></li> <li class="buy"><a href="https://www.nwoods.com/sales/index.html" onclick="ga('send','event','Outbound Link','click','buy');">Buy</a></li> <li class="activate"><a href="https://www.nwoods.com/app/activate.aspx?sku=gojs">Activate</a></li> </ul> </div><!--/.nav-collapse --> </div> </nav> <div class="tsd-page-header"> <div class="tsd-page-toolbar"> <div class="container-fluid plr15"> <div class="table-wrap"> <div class="table-cell" id="tsd-search" data-index="../assets/js/search.js" data-base=".."> <div class="field"> <label for="tsd-search-field" class="tsd-widget search no-caption">Search</label> <input id="tsd-search-field" type="text" /> </div> <ul class="results"> <li class="state loading">Preparing search index...</li> <li class="state failure">The search index is not available</li> </ul> <a href="../index.html" class="title">GoJS API</a> </div> <div class="table-cell" id="tsd-widgets"> <div id="tsd-filter"> <a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a> <div class="tsd-filter-group"> <div class="tsd-select" id="tsd-filter-visibility"> <span class="tsd-select-label">All</span> <ul class="tsd-select-list"> <li data-value="public">Public</li> <li data-value="protected">Public/Protected</li> <li data-value="private" class="selected">All</li> </ul> </div> </div> </div> <a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a> </div> </div> </div> </div> <div class="tsd-page-title"> <div class="container-fluid plr15"> <div class="top-copyright"> <!--<b>GoJS</b>&reg; Diagramming Components<br/>version &lt;br/&gt;version 2.1.18 for TypeScript/HTML<br/>by <a href="https://www.nwoods.com/">Northwoods Software&reg;</a>--> <b>GoJS</b>&reg; Diagramming Components<br/>version 2.1.18<br/>by <a href="https://www.nwoods.com/">Northwoods Software&reg;</a> </div> <div> <h1>Class ZoomSlider</h1> </div> </div> </div> </div> </header> <div class="container-fluid container-main plr15"> <div class="row"> <div class="col-8 col-content"> <section class="tsd-panel tsd-extension"> <p> This is an extension and not part of the main GoJS library. Note that the API for this class may change at any time. If you intend to use an extension in production, you should copy the code to your own source directory. Extensions can be found in the GoJS kit under the <code>extensions</code> or <code>extensionsTS</code> folders. See the <a href="../../intro/extensions.html">Extensions intro page</a> for more information. </p> </section> <section class="tsd-panel tsd-hierarchy"> <h3>Hierarchy</h3> <ul class="tsd-hierarchy"> <li> <span class="target">ZoomSlider</span> </li> </ul> </section> <section class="tsd-panel tsd-comment"> <div class="tsd-comment tsd-typography"> <p>This class implements a zoom slider for GoJS diagrams. The constructor takes two arguments:</p> <ul> <li><code>diagram</code> <strong><em>Diagram</em></strong> a reference to a GoJS Diagram</li> <li><code>options</code> <strong><em>Object</em></strong> an optional JS Object describing options for the slider</li> </ul> <p>Options:</p> <ul> <li><code>alignment</code> <strong><em>Spot</em></strong> see <a href="ZoomSlider.html#alignment">alignment</a></li> <li><code>alignmentFocus</code> <strong><em>Spot</em></strong> see <a href="ZoomSlider.html#alignmentFocus">alignmentFocus</a></li> <li><code>size</code> <strong><em>number</em></strong> see <a href="ZoomSlider.html#size">size</a></li> <li><code>buttonSize</code> <strong><em>number</em></strong> see <a href="ZoomSlider.html#buttonSize">buttonSize</a></li> <li><code>orientation</code> <strong><em>string</em></strong> see <a href="ZoomSlider.html#orientation">orientation</a></li> <li><code>opacity</code> <strong><em>number</em></strong> see <a href="ZoomSlider.html#opacity">opacity</a></li> </ul> <p>Example usage of ZoomSlider:</p> <pre><code class="hljs js"><span class="hljs-keyword">var</span> zoomSlider = <span class="hljs-keyword">new</span> ZoomSlider(myDiagram, { <span class="hljs-attr">alignment</span>: go.Spot.TopRight, <span class="hljs-attr">alignmentFocus</span>: go.Spot.TopRight, <span class="hljs-attr">size</span>: <span class="hljs-number">150</span>, <span class="hljs-attr">buttonSize</span>: <span class="hljs-number">30</span>, <span class="hljs-attr">orientation</span>: <span class="hljs-string">'horizontal'</span> });</code></pre> <p>This is the basic HTML Structure that the ZoomSlider creates as a sibling div of the diagram:</p> <pre><code class="hljs html"><span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"zoomSlider"</span>&gt;</span> <span class="hljs-tag">&lt;<span class="hljs-name">button</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"zoomSliderOut"</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"zoomButton"</span>&gt;</span>-<span class="hljs-tag">&lt;/<span class="hljs-name">button</span>&gt;</span> <span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"zoomSliderRangeCtn"</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"zoomRangeContainer"</span>&gt;</span> <span class="hljs-tag">&lt;<span class="hljs-name">input</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"zoomSliderRange"</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"zoomRangeInput"</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"range"</span> <span class="hljs-attr">min</span>=<span class="hljs-string">"-50"</span> <span class="hljs-attr">max</span>=<span class="hljs-string">"100"</span>&gt;</span> <span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span> <span class="hljs-tag">&lt;<span class="hljs-name">button</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"zoomSliderIn"</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"zoomButton"</span>&gt;</span>+<span class="hljs-tag">&lt;/<span class="hljs-name">button</span>&gt;</span> <span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span></code></pre> <p class="box"> The diagram div's parent element should use `position: relative` to ensure the slider gets positioned properly. <p>If you want to experiment with this extension, try the <a href="../../extensionsTS/ZoomSlider.html">Zoom Slider</a> sample.</p> </div> </section> <section class="tsd-panel-group tsd-index-group"> <h2>Index</h2> <section class="tsd-panel tsd-index-panel"> <div class="tsd-index-content"> <section class="tsd-index-section "> <h3>Constructors</h3> <ul class="tsd-index-list"> <li class="tsd-kind-constructor tsd-parent-kind-class"><a href="ZoomSlider.html#constructor" class="tsd-kind-icon">constructor</a></li> </ul> </section> <section class="tsd-index-section "> <h3>Properties</h3> <ul class="tsd-index-list"> <li class="tsd-kind-accessor tsd-parent-kind-class"><a href="ZoomSlider.html#alignment" class="tsd-kind-icon">alignment</a></li> <li class="tsd-kind-accessor tsd-parent-kind-class"><a href="ZoomSlider.html#alignmentFocus" class="tsd-kind-icon">alignment<wbr>Focus</a></li> <li class="tsd-kind-accessor tsd-parent-kind-class"><a href="ZoomSlider.html#buttonSize" class="tsd-kind-icon">button<wbr>Size</a></li> <li class="tsd-kind-get-signature tsd-parent-kind-class"><a href="ZoomSlider.html#diagram" class="tsd-kind-icon">diagram</a></li> <li class="tsd-kind-accessor tsd-parent-kind-class"><a href="ZoomSlider.html#opacity" class="tsd-kind-icon">opacity</a></li> <li class="tsd-kind-accessor tsd-parent-kind-class"><a href="ZoomSlider.html#orientation" class="tsd-kind-icon">orientation</a></li> <li class="tsd-kind-accessor tsd-parent-kind-class"><a href="ZoomSlider.html#size" class="tsd-kind-icon">size</a></li> </ul> </section> <section class="tsd-index-section "> <h3>Methods</h3> <ul class="tsd-index-list"> <li class="tsd-kind-method tsd-parent-kind-class"><a href="ZoomSlider.html#remove" class="tsd-kind-icon">remove</a></li> </ul> </section> </div> </section> </section> <section class="tsd-panel-group tsd-member-group "> <h2>Constructors</h2> <section class="tsd-panel tsd-member tsd-kind-constructor tsd-parent-kind-class"> <a name="constructor" class="tsd-anchor"></a> <h3> constructor </h3> <ul class="tsd-signatures tsd-kind-constructor tsd-parent-kind-class"> <li class="tsd-signature tsd-kind-icon">new <wbr>Zoom<wbr>Slider<span class="tsd-signature-symbol">(</span>diagram<span class="tsd-signature-symbol">: </span><a href="Diagram.html" class="tsd-signature-type">Diagram</a>, options<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">object</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="ZoomSlider.html" class="tsd-signature-type">ZoomSlider</a></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <div class="tsd-comment tsd-typography"> <p>Constructs a ZoomSlider and sets up properties based on the options provided. Also sets up change listeners on the Diagram so the ZoomSlider stays up-to-date.</p> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>diagram: <a href="Diagram.html" class="tsd-signature-type">Diagram</a></h5> <div class="tsd-comment tsd-typography"> <p>a reference to a GoJS Diagram</p> </div> </li> <li> <h5><span class="tsd-flag ts-flagOptional">Optional</span> options: <span class="tsd-signature-type">object</span></h5> <div class="tsd-comment tsd-typography"> <p>an optional JS Object describing options for the slider</p> </div> <ul class="tsd-parameters"> <li class="tsd-parameter-index-signature"> <h5><span class="tsd-signature-symbol">[</span>index: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">]: </span><span class="tsd-signature-type">any</span></h5> </li> </ul> </li> </ul> <h4 class="tsd-returns-title">Returns <a href="ZoomSlider.html" class="tsd-signature-type">ZoomSlider</a></h4> </li> </ul> </section> </section> <section class="tsd-panel-group tsd-member-group "> <h2>Properties</h2> <section class="tsd-panel tsd-member tsd-kind-accessor tsd-parent-kind-class"> <a name="alignment" class="tsd-anchor"></a> <h3> alignment <span class="tsd-signature-symbol">: </span><a href="Spot.html" class="tsd-signature-type">Spot</a> </h3> <ul class="tsd-descriptions"> <li class="tsd-description"> <div class="tsd-comment tsd-typography"> <p>Gets or sets the alignment Spot of this slider to determine where it should be placed relative to the diagram. The default value is Spot.BottomRight.</p> </div> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-accessor tsd-parent-kind-class"> <a name="alignmentFocus" class="tsd-anchor"></a> <h3> alignment<wbr>Focus <span class="tsd-signature-symbol">: </span><a href="Spot.html" class="tsd-signature-type">Spot</a> </h3> <ul class="tsd-descriptions"> <li class="tsd-description"> <div class="tsd-comment tsd-typography"> <p>Gets or sets the Spot on this slider to be used as the alignment point when placing it relative to the diagram. The default value is Spot.BottomRight.</p> </div> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-accessor tsd-parent-kind-class"> <a name="buttonSize" class="tsd-anchor"></a> <h3> button<wbr>Size <span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span> </h3> <ul class="tsd-descriptions"> <li class="tsd-description"> <div class="tsd-comment tsd-typography"> <p>Gets or sets the height/width of the buttons at each end of the slider. The default value is 25.</p> </div> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-get-signature tsd-parent-kind-class"> <a name="diagram" class="tsd-anchor"></a> <h3> <span class="tsd-flag ts-flagReadOnly">Read-only</span> diagram <span class="tsd-signature-symbol">: </span><a href="Diagram.html" class="tsd-signature-type">Diagram</a> </h3> <ul class="tsd-descriptions"> <li class="tsd-description"> <div class="tsd-comment tsd-typography"> <p>This read-only property returns the diagram for which the slider is handling zoom.</p> </div> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-accessor tsd-parent-kind-class"> <a name="opacity" class="tsd-anchor"></a> <h3> opacity <span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span> </h3> <ul class="tsd-descriptions"> <li class="tsd-description"> <div class="tsd-comment tsd-typography"> <p>Gets or sets the opacity of the slider. The default value is 0.75.</p> </div> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-accessor tsd-parent-kind-class"> <a name="orientation" class="tsd-anchor"></a> <h3> orientation <span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span> </h3> <ul class="tsd-descriptions"> <li class="tsd-description"> <div class="tsd-comment tsd-typography"> <p>Gets or sets whether the slider is oriented vertically or horizontally. Must be either &quot;horizontal&quot; or &quot;vertical&quot; and is case-sensitive. The default value is <code>&quot;vertical&quot;</code>.</p> </div> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-accessor tsd-parent-kind-class"> <a name="size" class="tsd-anchor"></a> <h3> size <span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span> </h3> <ul class="tsd-descriptions"> <li class="tsd-description"> <div class="tsd-comment tsd-typography"> <p>Gets or sets the overall length, in pixels, that the slider will occupy. The default value is 125.</p> </div> </li> </ul> </section> </section> <section class="tsd-panel-group tsd-member-group "> <h2>Methods</h2> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"> <a name="remove" class="tsd-anchor"></a> <h3> remove </h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"> <li class="tsd-signature tsd-kind-icon">remove<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <div class="tsd-comment tsd-typography"> <p>Remove the slider from the page.</p> </div> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4> </li> </ul> </section> </section> </div> <div class="col-4 col-menu menu-sticky-wrap menu-highlight"> <nav class="tsd-navigation primary"> <ul> <li class="globals "> <a href="../index.html"><em>GoJS <wbr>Class <wbr>Index</em></a> </li> </ul> </nav> <nav class="tsd-navigation secondary menu-sticky"> <ul class="before-current"> </ul> <ul class="current"> <li class="current tsd-kind-class tsd-is-extension"> <a href="ZoomSlider.html" class="tsd-kind-icon">Zoom<wbr>Slider</a> <ul> <li class=" tsd-kind-constructor tsd-parent-kind-class"> <a href="ZoomSlider.html#constructor" class="tsd-kind-icon">constructor</a> </li> <li class=" tsd-kind-accessor tsd-parent-kind-class"> <a href="ZoomSlider.html#alignment" class="tsd-kind-icon">alignment</a> </li> <li class=" tsd-kind-accessor tsd-parent-kind-class"> <a href="ZoomSlider.html#alignmentFocus" class="tsd-kind-icon">alignment<wbr>Focus</a> </li> <li class=" tsd-kind-accessor tsd-parent-kind-class"> <a href="ZoomSlider.html#buttonSize" class="tsd-kind-icon">button<wbr>Size</a> </li> <li class=" tsd-kind-get-signature tsd-parent-kind-class"> <a href="ZoomSlider.html#diagram" class="tsd-kind-icon">diagram</a> </li> <li class=" tsd-kind-accessor tsd-parent-kind-class"> <a href="ZoomSlider.html#opacity" class="tsd-kind-icon">opacity</a> </li> <li class=" tsd-kind-accessor tsd-parent-kind-class"> <a href="ZoomSlider.html#orientation" class="tsd-kind-icon">orientation</a> </li> <li class=" tsd-kind-accessor tsd-parent-kind-class"> <a href="ZoomSlider.html#size" class="tsd-kind-icon">size</a> </li> <li class=" tsd-kind-method tsd-parent-kind-class"> <a href="ZoomSlider.html#remove" class="tsd-kind-icon">remove</a> </li> </ul> </li> </ul> <ul class="after-current"> </ul> </nav> </div> </div> </div> <div class="container-fluid bottom-copyright plr15"> Copyright &copy; 1998-2020 by Northwoods Software Corporation. </div> <div class="overlay"></div> <script src="../assets/js/main.js"></script> <script src="../../assets/js/api.js"></script> <script src="../../assets/js/bootstrap.min.js"></script> <script>if (location.protocol == 'file:') document.write('<script src="../assets/js/search.js"><' + '/script>');</script> <script> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-1506307-5', 'auto'); ga('send', 'pageview'); </script> </body> </html>