| <!doctype html> |
| <html class="no-js" lang=""> |
| <head> |
| <meta charset="utf-8"> |
| <meta http-equiv="x-ua-compatible" content="ie=edge"> |
| <title>helix-front documentation</title> |
| <meta name="description" content=""> |
| <meta name="viewport" content="width=device-width, initial-scale=1"> |
| |
| <link rel="icon" type="image/x-icon" href="../images/favicon.ico"> |
| <link rel="stylesheet" href="../styles/style.css"> |
| <link rel="stylesheet" href="../styles/dark.css"> |
| </head> |
| <body> |
| |
| <div class="navbar navbar-default navbar-fixed-top visible-xs"> |
| <a href="../" class="navbar-brand">helix-front documentation</a> |
| <button type="button" class="btn btn-default btn-menu ion-ios-menu" id="btn-menu"></button> |
| </div> |
| |
| <div class="xs-menu menu" id="mobile-menu"> |
| <div id="book-search-input" role="search"><input type="text" placeholder="Type to search"></div> <compodoc-menu></compodoc-menu> |
| </div> |
| |
| <div class="container-fluid main"> |
| <div class="row main"> |
| <div class="hidden-xs menu"> |
| <compodoc-menu mode="normal"></compodoc-menu> |
| </div> |
| <!-- START CONTENT --> |
| <div class="content component"> |
| <div class="content-data"> |
| |
| |
| |
| |
| <ol class="breadcrumb"> |
| <li>Components</li> |
| <li |
| > |
| NodeViewerComponent</li> |
| </ol> |
| |
| <ul class="nav nav-tabs" role="tablist"> |
| <li class="active"> |
| <a href="#info" role="tab" id="info-tab" data-toggle="tab" data-link="info">Info</a> |
| </li> |
| <li > |
| <a href="#source" role="tab" id="source-tab" data-toggle="tab" data-link="source">Source</a> |
| </li> |
| <li > |
| <a href="#templateData" role="tab" id="templateData-tab" data-toggle="tab" data-link="template">Template</a> |
| </li> |
| <li > |
| <a href="#styleData" role="tab" id="styleData-tab" data-toggle="tab" data-link="style">Styles</a> |
| </li> |
| <li > |
| <a href="#tree" role="tab" id="tree-tab" data-toggle="tab" data-link="dom-tree">DOM Tree</a> |
| </li> |
| </ul> |
| |
| <div class="tab-content"> |
| <div class="tab-pane fade active in" id="c-info"><p class="comment"> |
| <h3>File</h3> |
| </p> |
| <p class="comment"> |
| <code>src/app/shared/node-viewer/node-viewer.component.ts</code> |
| </p> |
| |
| |
| |
| |
| <p class="comment"> |
| <h3>Implements</h3> |
| </p> |
| <p class="comment"> |
| <code><a href="https://angular.io/api/core/OnInit" target="_blank" >OnInit</a></code> |
| </p> |
| |
| |
| <section> |
| <h3>Metadata</h3> |
| <table class="table table-sm table-hover metadata"> |
| <tbody> |
| |
| |
| <tr> |
| <td class="col-md-3">encapsulation</td> |
| <td class="col-md-9"><code>ViewEncapsulation.None</code></td> |
| </tr> |
| |
| |
| |
| |
| |
| |
| |
| <tr> |
| <td class="col-md-3">providers</td> |
| <td class="col-md-9"> |
| <code><a href="../injectables/ResourceService.html" target="_self" >ResourceService</a></code> |
| </td> |
| </tr> |
| |
| |
| <tr> |
| <td class="col-md-3">selector</td> |
| <td class="col-md-9"><code>hi-node-viewer</code></td> |
| </tr> |
| |
| <tr> |
| <td class="col-md-3">styleUrls</td> |
| <td class="col-md-9"><code>./node-viewer.component.scss</code></td> |
| </tr> |
| |
| |
| |
| <tr> |
| <td class="col-md-3">templateUrl</td> |
| <td class="col-md-9"><code>./node-viewer.component.html</code></td> |
| </tr> |
| |
| |
| |
| |
| |
| |
| |
| |
| </tbody> |
| </table> |
| </section> |
| |
| <section> |
| <h3 id="index">Index</h3> |
| <table class="table table-sm table-bordered index-table"> |
| <tbody> |
| <tr> |
| <td class="col-md-4"> |
| <h6><b>Properties</b></h6> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <ul class="index-list"> |
| <li> |
| <span class="modifier">Private</span> |
| <a href="#_editable" >_editable</a> |
| </li> |
| <li> |
| <a href="#_listConfigs" >_listConfigs</a> |
| </li> |
| <li> |
| <a href="#_mapConfigs" >_mapConfigs</a> |
| </li> |
| <li> |
| <span class="modifier">Protected</span> |
| <a href="#_obj" >_obj</a> |
| </li> |
| <li> |
| <a href="#_simpleConfigs" >_simpleConfigs</a> |
| </li> |
| <li> |
| <a href="#clusterName" >clusterName</a> |
| </li> |
| <li> |
| <a href="#columns" >columns</a> |
| </li> |
| <li> |
| <a href="#headerHeight" >headerHeight</a> |
| </li> |
| <li> |
| <a href="#isLoading" >isLoading</a> |
| </li> |
| <li> |
| <a href="#keyword" >keyword</a> |
| </li> |
| <li> |
| <a href="#listTable" >listTable</a> |
| </li> |
| <li> |
| <a href="#mapTable" >mapTable</a> |
| </li> |
| <li> |
| <span class="modifier">Protected</span> |
| <a href="#node" >node</a> |
| </li> |
| <li> |
| <a href="#resourceName" >resourceName</a> |
| </li> |
| <li> |
| <a href="#rowHeight" >rowHeight</a> |
| </li> |
| <li> |
| <a href="#simpleTable" >simpleTable</a> |
| </li> |
| <li> |
| <a href="#sorts" >sorts</a> |
| </li> |
| </ul> |
| </td> |
| </tr> |
| |
| <tr> |
| <td class="col-md-4"> |
| <h6><b>Methods</b></h6> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <ul class="index-list"> |
| <li> |
| <a href="#beforeDelete" >beforeDelete</a> |
| </li> |
| <li> |
| <a href="#created" >created</a> |
| </li> |
| <li> |
| <a href="#edited" >edited</a> |
| </li> |
| <li> |
| <a href="#getNameCellClass" >getNameCellClass</a> |
| </li> |
| <li> |
| <a href="#ngOnInit" >ngOnInit</a> |
| </li> |
| <li> |
| <a href="#onCreate" >onCreate</a> |
| </li> |
| <li> |
| <a href="#onDelete" >onDelete</a> |
| </li> |
| <li> |
| <a href="#updateFilter" >updateFilter</a> |
| </li> |
| </ul> |
| </td> |
| </tr> |
| |
| <tr> |
| <td class="col-md-4"> |
| <h6><b>Inputs</b></h6> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <ul class="index-list"> |
| <li> |
| <a href="#loadingIndicator" >loadingIndicator</a> |
| </li> |
| <li> |
| <a href="#obj" >obj</a> |
| </li> |
| <li> |
| <a href="#unlockable" >unlockable</a> |
| </li> |
| </ul> |
| </td> |
| </tr> |
| |
| <tr> |
| <td class="col-md-4"> |
| <h6><b>Outputs</b></h6> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <ul class="index-list"> |
| <li> |
| <a href="#create" >create</a> |
| </li> |
| <li> |
| <a href="#delete" >delete</a> |
| </li> |
| <li> |
| <a href="#update" >update</a> |
| </li> |
| </ul> |
| </td> |
| </tr> |
| |
| |
| |
| <tr> |
| <td class="col-md-4"> |
| <h6><b>Accessors</b></h6> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <ul class="index-list"> |
| <li> |
| <a href="#obj" >obj</a> |
| </li> |
| <li> |
| <a href="#objString" >objString</a> |
| </li> |
| <li> |
| <a href="#editable" >editable</a> |
| </li> |
| <li> |
| <a href="#simpleConfigs" >simpleConfigs</a> |
| </li> |
| <li> |
| <a href="#listConfigs" >listConfigs</a> |
| </li> |
| <li> |
| <a href="#mapConfigs" >mapConfigs</a> |
| </li> |
| </ul> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </section> |
| |
| <section> |
| <h3 id="constructor">Constructor</h3> |
| <table class="table table-sm table-bordered"> |
| <tbody> |
| <tr> |
| <td class="col-md-4"> |
| <span class="modifier">Public</span> |
| <code>constructor(dialog: MatDialog, route: <a href="https://angular.io/api/router/ActivatedRoute" target="_blank">ActivatedRoute</a>, resourceService: <a href="../injectables/ResourceService.html" target="_self">ResourceService</a>, helper: <a href="../injectables/HelperService.html" target="_self">HelperService</a>)</code> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <div class="io-line">Defined in <a href="" data-line="178" class="link-to-prism">src/app/shared/node-viewer/node-viewer.component.ts:178</a></div> |
| </td> |
| </tr> |
| |
| <tr> |
| <td class="col-md-4"> |
| <div> |
| <b>Parameters :</b> |
| <table class="params"> |
| <thead> |
| <tr> |
| <td>Name</td> |
| <td>Type</td> |
| <td>Optional</td> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td>dialog</td> |
| |
| <td> |
| <code>MatDialog</code> |
| </td> |
| |
| <td> |
| No |
| </td> |
| |
| </tr> |
| <tr> |
| <td>route</td> |
| |
| <td> |
| <code><a href="https://angular.io/api/router/ActivatedRoute" target="_blank" >ActivatedRoute</a></code> |
| </td> |
| |
| <td> |
| No |
| </td> |
| |
| </tr> |
| <tr> |
| <td>resourceService</td> |
| |
| <td> |
| <code><a href="../injectables/ResourceService.html" target="_self" >ResourceService</a></code> |
| </td> |
| |
| <td> |
| No |
| </td> |
| |
| </tr> |
| <tr> |
| <td>helper</td> |
| |
| <td> |
| <code><a href="../injectables/HelperService.html" target="_self" >HelperService</a></code> |
| </td> |
| |
| <td> |
| No |
| </td> |
| |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </section> |
| |
| <section> |
| <h3 id="inputs">Inputs</h3> |
| <table class="table table-sm table-bordered"> |
| <tbody> |
| <tr> |
| <td class="col-md-4"> |
| <a name="loadingIndicator"></a> |
| <b>loadingIndicator</b> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/boolean" target="_blank" >boolean</a></code> |
| |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <i>Default value : </i><code>false</code> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-2" colspan="2"> |
| <div class="io-line">Defined in <a href="" data-line="73" class="link-to-prism">src/app/shared/node-viewer/node-viewer.component.ts:73</a></div> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| <table class="table table-sm table-bordered"> |
| <tbody> |
| <tr> |
| <td class="col-md-4"> |
| <a name="obj"></a> |
| <b>obj</b> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <i>Type : </i> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >any</a></code> |
| |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-2" colspan="2"> |
| <div class="io-line">Defined in <a href="" data-line="111" class="link-to-prism">src/app/shared/node-viewer/node-viewer.component.ts:111</a></div> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| <table class="table table-sm table-bordered"> |
| <tbody> |
| <tr> |
| <td class="col-md-4"> |
| <a name="unlockable"></a> |
| <b>unlockable</b> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/boolean" target="_blank" >boolean</a></code> |
| |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <i>Default value : </i><code>false</code> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-2" colspan="2"> |
| <div class="io-line">Defined in <a href="" data-line="70" class="link-to-prism">src/app/shared/node-viewer/node-viewer.component.ts:70</a></div> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </section> |
| <section> |
| <h3 id="outputs">Outputs</h3> |
| <table class="table table-sm table-bordered"> |
| <tbody> |
| <tr> |
| <td class="col-md-4"> |
| <a name="create"></a> |
| <b>create</b> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <i>Type : </i> <code><a href="../classes/Node.html" target="_self" >EventEmitter<Node></a></code> |
| |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-2" colspan="2"> |
| <div class="io-line">Defined in <a href="" data-line="64" class="link-to-prism">src/app/shared/node-viewer/node-viewer.component.ts:64</a></div> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| <table class="table table-sm table-bordered"> |
| <tbody> |
| <tr> |
| <td class="col-md-4"> |
| <a name="delete"></a> |
| <b>delete</b> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <i>Type : </i> <code><a href="../classes/Node.html" target="_self" >EventEmitter<Node></a></code> |
| |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-2" colspan="2"> |
| <div class="io-line">Defined in <a href="" data-line="67" class="link-to-prism">src/app/shared/node-viewer/node-viewer.component.ts:67</a></div> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| <table class="table table-sm table-bordered"> |
| <tbody> |
| <tr> |
| <td class="col-md-4"> |
| <a name="update"></a> |
| <b>update</b> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <i>Type : </i> <code><a href="../classes/Node.html" target="_self" >EventEmitter<Node></a></code> |
| |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-2" colspan="2"> |
| <div class="io-line">Defined in <a href="" data-line="61" class="link-to-prism">src/app/shared/node-viewer/node-viewer.component.ts:61</a></div> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </section> |
| |
| |
| <section> |
| |
| <h3 id="methods"> |
| Methods |
| </h3> |
| <table class="table table-sm table-bordered"> |
| <tbody> |
| <tr> |
| <td class="col-md-4"> |
| <a name="beforeDelete"></a> |
| <span class="name"> |
| <span ><b>beforeDelete</b></span> |
| <a href="#beforeDelete"><span class="icon ion-ios-link"></span></a> |
| </span> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <code>beforeDelete(type, row)</code> |
| </td> |
| </tr> |
| |
| |
| <tr> |
| <td class="col-md-4"> |
| <div class="io-line">Defined in <a href="" data-line="269" |
| class="link-to-prism">src/app/shared/node-viewer/node-viewer.component.ts:269</a></div> |
| </td> |
| </tr> |
| |
| |
| <tr> |
| <td class="col-md-4"> |
| |
| <div class="io-description"> |
| <b>Parameters :</b> |
| |
| <table class="params"> |
| <thead> |
| <tr> |
| <td>Name</td> |
| <td>Optional</td> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td>type</td> |
| |
| <td> |
| No |
| </td> |
| |
| |
| </tr> |
| <tr> |
| <td>row</td> |
| |
| <td> |
| No |
| </td> |
| |
| |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| <div> |
| </div> |
| <div class="io-description"> |
| <b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code> |
| |
| </div> |
| <div class="io-description"> |
| |
| </div> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| <table class="table table-sm table-bordered"> |
| <tbody> |
| <tr> |
| <td class="col-md-4"> |
| <a name="created"></a> |
| <span class="name"> |
| <span ><b>created</b></span> |
| <a href="#created"><span class="icon ion-ios-link"></span></a> |
| </span> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <code>created(type, data, key)</code> |
| </td> |
| </tr> |
| |
| |
| <tr> |
| <td class="col-md-4"> |
| <div class="io-line">Defined in <a href="" data-line="299" |
| class="link-to-prism">src/app/shared/node-viewer/node-viewer.component.ts:299</a></div> |
| </td> |
| </tr> |
| |
| |
| <tr> |
| <td class="col-md-4"> |
| |
| <div class="io-description"> |
| <b>Parameters :</b> |
| |
| <table class="params"> |
| <thead> |
| <tr> |
| <td>Name</td> |
| <td>Optional</td> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td>type</td> |
| |
| <td> |
| No |
| </td> |
| |
| |
| </tr> |
| <tr> |
| <td>data</td> |
| |
| <td> |
| No |
| </td> |
| |
| |
| </tr> |
| <tr> |
| <td>key</td> |
| |
| <td> |
| No |
| </td> |
| |
| |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| <div> |
| </div> |
| <div class="io-description"> |
| <b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code> |
| |
| </div> |
| <div class="io-description"> |
| |
| </div> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| <table class="table table-sm table-bordered"> |
| <tbody> |
| <tr> |
| <td class="col-md-4"> |
| <a name="edited"></a> |
| <span class="name"> |
| <span ><b>edited</b></span> |
| <a href="#edited"><span class="icon ion-ios-link"></span></a> |
| </span> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <code>edited(type, undefined, key, isDeleting)</code> |
| </td> |
| </tr> |
| |
| |
| <tr> |
| <td class="col-md-4"> |
| <div class="io-line">Defined in <a href="" data-line="336" |
| class="link-to-prism">src/app/shared/node-viewer/node-viewer.component.ts:336</a></div> |
| </td> |
| </tr> |
| |
| |
| <tr> |
| <td class="col-md-4"> |
| |
| <div class="io-description"> |
| <b>Parameters :</b> |
| |
| <table class="params"> |
| <thead> |
| <tr> |
| <td>Name</td> |
| <td>Optional</td> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td>type</td> |
| |
| <td> |
| No |
| </td> |
| |
| |
| </tr> |
| <tr> |
| |
| <td> |
| No |
| </td> |
| |
| |
| </tr> |
| <tr> |
| <td>key</td> |
| |
| <td> |
| No |
| </td> |
| |
| |
| </tr> |
| <tr> |
| <td>isDeleting</td> |
| |
| <td> |
| No |
| </td> |
| |
| |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| <div> |
| </div> |
| <div class="io-description"> |
| <b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code> |
| |
| </div> |
| <div class="io-description"> |
| |
| </div> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| <table class="table table-sm table-bordered"> |
| <tbody> |
| <tr> |
| <td class="col-md-4"> |
| <a name="getNameCellClass"></a> |
| <span class="name"> |
| <span ><b>getNameCellClass</b></span> |
| <a href="#getNameCellClass"><span class="icon ion-ios-link"></span></a> |
| </span> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <code>getNameCellClass(undefined)</code> |
| </td> |
| </tr> |
| |
| |
| <tr> |
| <td class="col-md-4"> |
| <div class="io-line">Defined in <a href="" data-line="226" |
| class="link-to-prism">src/app/shared/node-viewer/node-viewer.component.ts:226</a></div> |
| </td> |
| </tr> |
| |
| |
| <tr> |
| <td class="col-md-4"> |
| |
| <div class="io-description"> |
| <b>Parameters :</b> |
| |
| <table class="params"> |
| <thead> |
| <tr> |
| <td>Name</td> |
| <td>Optional</td> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| |
| <td> |
| No |
| </td> |
| |
| |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| <div> |
| </div> |
| <div class="io-description"> |
| <b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >any</a></code> |
| |
| </div> |
| <div class="io-description"> |
| |
| </div> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| <table class="table table-sm table-bordered"> |
| <tbody> |
| <tr> |
| <td class="col-md-4"> |
| <a name="ngOnInit"></a> |
| <span class="name"> |
| <span ><b>ngOnInit</b></span> |
| <a href="#ngOnInit"><span class="icon ion-ios-link"></span></a> |
| </span> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <code>ngOnInit()</code> |
| </td> |
| </tr> |
| |
| |
| <tr> |
| <td class="col-md-4"> |
| <div class="io-line">Defined in <a href="" data-line="187" |
| class="link-to-prism">src/app/shared/node-viewer/node-viewer.component.ts:187</a></div> |
| </td> |
| </tr> |
| |
| |
| <tr> |
| <td class="col-md-4"> |
| |
| <div class="io-description"> |
| <b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code> |
| |
| </div> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| <table class="table table-sm table-bordered"> |
| <tbody> |
| <tr> |
| <td class="col-md-4"> |
| <a name="onCreate"></a> |
| <span class="name"> |
| <span ><b>onCreate</b></span> |
| <a href="#onCreate"><span class="icon ion-ios-link"></span></a> |
| </span> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <code>onCreate(type)</code> |
| </td> |
| </tr> |
| |
| |
| <tr> |
| <td class="col-md-4"> |
| <div class="io-line">Defined in <a href="" data-line="233" |
| class="link-to-prism">src/app/shared/node-viewer/node-viewer.component.ts:233</a></div> |
| </td> |
| </tr> |
| |
| |
| <tr> |
| <td class="col-md-4"> |
| |
| <div class="io-description"> |
| <b>Parameters :</b> |
| |
| <table class="params"> |
| <thead> |
| <tr> |
| <td>Name</td> |
| <td>Optional</td> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td>type</td> |
| |
| <td> |
| No |
| </td> |
| |
| |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| <div> |
| </div> |
| <div class="io-description"> |
| <b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code> |
| |
| </div> |
| <div class="io-description"> |
| |
| </div> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| <table class="table table-sm table-bordered"> |
| <tbody> |
| <tr> |
| <td class="col-md-4"> |
| <a name="onDelete"></a> |
| <span class="name"> |
| <span ><b>onDelete</b></span> |
| <a href="#onDelete"><span class="icon ion-ios-link"></span></a> |
| </span> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <code>onDelete(type, row)</code> |
| </td> |
| </tr> |
| |
| |
| <tr> |
| <td class="col-md-4"> |
| <div class="io-line">Defined in <a href="" data-line="285" |
| class="link-to-prism">src/app/shared/node-viewer/node-viewer.component.ts:285</a></div> |
| </td> |
| </tr> |
| |
| |
| <tr> |
| <td class="col-md-4"> |
| |
| <div class="io-description"> |
| <b>Parameters :</b> |
| |
| <table class="params"> |
| <thead> |
| <tr> |
| <td>Name</td> |
| <td>Optional</td> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td>type</td> |
| |
| <td> |
| No |
| </td> |
| |
| |
| </tr> |
| <tr> |
| <td>row</td> |
| |
| <td> |
| No |
| </td> |
| |
| |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| <div> |
| </div> |
| <div class="io-description"> |
| <b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code> |
| |
| </div> |
| <div class="io-description"> |
| |
| </div> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| <table class="table table-sm table-bordered"> |
| <tbody> |
| <tr> |
| <td class="col-md-4"> |
| <a name="updateFilter"></a> |
| <span class="name"> |
| <span ><b>updateFilter</b></span> |
| <a href="#updateFilter"><span class="icon ion-ios-link"></span></a> |
| </span> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <code>updateFilter(event)</code> |
| </td> |
| </tr> |
| |
| |
| <tr> |
| <td class="col-md-4"> |
| <div class="io-line">Defined in <a href="" data-line="211" |
| class="link-to-prism">src/app/shared/node-viewer/node-viewer.component.ts:211</a></div> |
| </td> |
| </tr> |
| |
| |
| <tr> |
| <td class="col-md-4"> |
| |
| <div class="io-description"> |
| <b>Parameters :</b> |
| |
| <table class="params"> |
| <thead> |
| <tr> |
| <td>Name</td> |
| <td>Optional</td> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td>event</td> |
| |
| <td> |
| No |
| </td> |
| |
| |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| <div> |
| </div> |
| <div class="io-description"> |
| <b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code> |
| |
| </div> |
| <div class="io-description"> |
| |
| </div> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </section> |
| <section> |
| |
| <h3 id="inputs"> |
| Properties |
| </h3> |
| <table class="table table-sm table-bordered"> |
| <tbody> |
| <tr> |
| <td class="col-md-4"> |
| <a name="_editable"></a> |
| <span class="name"> |
| <span class="modifier">Private</span> |
| <span ><b>_editable</b></span> |
| <a href="#_editable"><span class="icon ion-ios-link"></span></a> |
| </span> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <i>Default value : </i><code>false</code> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <div class="io-line">Defined in <a href="" data-line="75" class="link-to-prism">src/app/shared/node-viewer/node-viewer.component.ts:75</a></div> |
| </td> |
| </tr> |
| |
| |
| </tbody> |
| </table> |
| <table class="table table-sm table-bordered"> |
| <tbody> |
| <tr> |
| <td class="col-md-4"> |
| <a name="_listConfigs"></a> |
| <span class="name"> |
| <span ><b>_listConfigs</b></span> |
| <a href="#_listConfigs"><span class="icon ion-ios-link"></span></a> |
| </span> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <i>Type : </i> <code>any[]</code> |
| |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <div class="io-line">Defined in <a href="" data-line="105" class="link-to-prism">src/app/shared/node-viewer/node-viewer.component.ts:105</a></div> |
| </td> |
| </tr> |
| |
| |
| </tbody> |
| </table> |
| <table class="table table-sm table-bordered"> |
| <tbody> |
| <tr> |
| <td class="col-md-4"> |
| <a name="_mapConfigs"></a> |
| <span class="name"> |
| <span ><b>_mapConfigs</b></span> |
| <a href="#_mapConfigs"><span class="icon ion-ios-link"></span></a> |
| </span> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <i>Type : </i> <code>any[]</code> |
| |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <div class="io-line">Defined in <a href="" data-line="107" class="link-to-prism">src/app/shared/node-viewer/node-viewer.component.ts:107</a></div> |
| </td> |
| </tr> |
| |
| |
| </tbody> |
| </table> |
| <table class="table table-sm table-bordered"> |
| <tbody> |
| <tr> |
| <td class="col-md-4"> |
| <a name="_obj"></a> |
| <span class="name"> |
| <span class="modifier">Protected</span> |
| <span ><b>_obj</b></span> |
| <a href="#_obj"><span class="icon ion-ios-link"></span></a> |
| </span> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <i>Type : </i> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >any</a></code> |
| |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <div class="io-line">Defined in <a href="" data-line="77" class="link-to-prism">src/app/shared/node-viewer/node-viewer.component.ts:77</a></div> |
| </td> |
| </tr> |
| |
| |
| </tbody> |
| </table> |
| <table class="table table-sm table-bordered"> |
| <tbody> |
| <tr> |
| <td class="col-md-4"> |
| <a name="_simpleConfigs"></a> |
| <span class="name"> |
| <span ><b>_simpleConfigs</b></span> |
| <a href="#_simpleConfigs"><span class="icon ion-ios-link"></span></a> |
| </span> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <i>Type : </i> <code>any[]</code> |
| |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <div class="io-line">Defined in <a href="" data-line="103" class="link-to-prism">src/app/shared/node-viewer/node-viewer.component.ts:103</a></div> |
| </td> |
| </tr> |
| |
| |
| </tbody> |
| </table> |
| <table class="table table-sm table-bordered"> |
| <tbody> |
| <tr> |
| <td class="col-md-4"> |
| <a name="clusterName"></a> |
| <span class="name"> |
| <span ><b>clusterName</b></span> |
| <a href="#clusterName"><span class="icon ion-ios-link"></span></a> |
| </span> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code> |
| |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <div class="io-line">Defined in <a href="" data-line="54" class="link-to-prism">src/app/shared/node-viewer/node-viewer.component.ts:54</a></div> |
| </td> |
| </tr> |
| |
| |
| </tbody> |
| </table> |
| <table class="table table-sm table-bordered"> |
| <tbody> |
| <tr> |
| <td class="col-md-4"> |
| <a name="columns"></a> |
| <span class="name"> |
| <span ><b>columns</b></span> |
| <a href="#columns"><span class="icon ion-ios-link"></span></a> |
| </span> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/object" target="_blank" >object</a></code> |
| |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <i>Default value : </i><code>{ |
| simpleConfigs: [ |
| { |
| name: 'Name', |
| editable: false, |
| }, |
| { |
| name: 'Value', |
| editable: false, |
| }, |
| ], |
| listConfigs: [ |
| { |
| name: 'Value', |
| editable: false, |
| }, |
| ], |
| }</code> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <div class="io-line">Defined in <a href="" data-line="84" class="link-to-prism">src/app/shared/node-viewer/node-viewer.component.ts:84</a></div> |
| </td> |
| </tr> |
| |
| |
| </tbody> |
| </table> |
| <table class="table table-sm table-bordered"> |
| <tbody> |
| <tr> |
| <td class="col-md-4"> |
| <a name="headerHeight"></a> |
| <span class="name"> |
| <span ><b>headerHeight</b></span> |
| <a href="#headerHeight"><span class="icon ion-ios-link"></span></a> |
| </span> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <i>Default value : </i><code>Settings.tableHeaderHeight</code> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <div class="io-line">Defined in <a href="" data-line="80" class="link-to-prism">src/app/shared/node-viewer/node-viewer.component.ts:80</a></div> |
| </td> |
| </tr> |
| |
| |
| </tbody> |
| </table> |
| <table class="table table-sm table-bordered"> |
| <tbody> |
| <tr> |
| <td class="col-md-4"> |
| <a name="isLoading"></a> |
| <span class="name"> |
| <span ><b>isLoading</b></span> |
| <a href="#isLoading"><span class="icon ion-ios-link"></span></a> |
| </span> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <i>Default value : </i><code>true</code> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <div class="io-line">Defined in <a href="" data-line="53" class="link-to-prism">src/app/shared/node-viewer/node-viewer.component.ts:53</a></div> |
| </td> |
| </tr> |
| |
| |
| </tbody> |
| </table> |
| <table class="table table-sm table-bordered"> |
| <tbody> |
| <tr> |
| <td class="col-md-4"> |
| <a name="keyword"></a> |
| <span class="name"> |
| <span ><b>keyword</b></span> |
| <a href="#keyword"><span class="icon ion-ios-link"></span></a> |
| </span> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code> |
| |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <i>Default value : </i><code>''</code> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <div class="io-line">Defined in <a href="" data-line="83" class="link-to-prism">src/app/shared/node-viewer/node-viewer.component.ts:83</a></div> |
| </td> |
| </tr> |
| |
| |
| </tbody> |
| </table> |
| <table class="table table-sm table-bordered"> |
| <tbody> |
| <tr> |
| <td class="col-md-4"> |
| <a name="listTable"></a> |
| <span class="name"> |
| <span ><b>listTable</b></span> |
| <a href="#listTable"><span class="icon ion-ios-link"></span></a> |
| </span> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <b>Decorators : </b> |
| <br /> |
| <code> |
| @ViewChild('listTable', {static: true})<br /> |
| </code> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <div class="io-line">Defined in <a href="" data-line="57" class="link-to-prism">src/app/shared/node-viewer/node-viewer.component.ts:57</a></div> |
| </td> |
| </tr> |
| |
| |
| </tbody> |
| </table> |
| <table class="table table-sm table-bordered"> |
| <tbody> |
| <tr> |
| <td class="col-md-4"> |
| <a name="mapTable"></a> |
| <span class="name"> |
| <span ><b>mapTable</b></span> |
| <a href="#mapTable"><span class="icon ion-ios-link"></span></a> |
| </span> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <b>Decorators : </b> |
| <br /> |
| <code> |
| @ViewChild('mapTable', {static: true})<br /> |
| </code> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <div class="io-line">Defined in <a href="" data-line="58" class="link-to-prism">src/app/shared/node-viewer/node-viewer.component.ts:58</a></div> |
| </td> |
| </tr> |
| |
| |
| </tbody> |
| </table> |
| <table class="table table-sm table-bordered"> |
| <tbody> |
| <tr> |
| <td class="col-md-4"> |
| <a name="node"></a> |
| <span class="name"> |
| <span class="modifier">Protected</span> |
| <span ><b>node</b></span> |
| <a href="#node"><span class="icon ion-ios-link"></span></a> |
| </span> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <i>Type : </i> <code><a href="../classes/Node.html" target="_self" >Node</a></code> |
| |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <div class="io-line">Defined in <a href="" data-line="78" class="link-to-prism">src/app/shared/node-viewer/node-viewer.component.ts:78</a></div> |
| </td> |
| </tr> |
| |
| |
| </tbody> |
| </table> |
| <table class="table table-sm table-bordered"> |
| <tbody> |
| <tr> |
| <td class="col-md-4"> |
| <a name="resourceName"></a> |
| <span class="name"> |
| <span ><b>resourceName</b></span> |
| <a href="#resourceName"><span class="icon ion-ios-link"></span></a> |
| </span> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code> |
| |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <div class="io-line">Defined in <a href="" data-line="55" class="link-to-prism">src/app/shared/node-viewer/node-viewer.component.ts:55</a></div> |
| </td> |
| </tr> |
| |
| |
| </tbody> |
| </table> |
| <table class="table table-sm table-bordered"> |
| <tbody> |
| <tr> |
| <td class="col-md-4"> |
| <a name="rowHeight"></a> |
| <span class="name"> |
| <span ><b>rowHeight</b></span> |
| <a href="#rowHeight"><span class="icon ion-ios-link"></span></a> |
| </span> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <i>Default value : </i><code>Settings.tableRowHeight</code> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <div class="io-line">Defined in <a href="" data-line="81" class="link-to-prism">src/app/shared/node-viewer/node-viewer.component.ts:81</a></div> |
| </td> |
| </tr> |
| |
| |
| </tbody> |
| </table> |
| <table class="table table-sm table-bordered"> |
| <tbody> |
| <tr> |
| <td class="col-md-4"> |
| <a name="simpleTable"></a> |
| <span class="name"> |
| <span ><b>simpleTable</b></span> |
| <a href="#simpleTable"><span class="icon ion-ios-link"></span></a> |
| </span> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <b>Decorators : </b> |
| <br /> |
| <code> |
| @ViewChild('simpleTable', {static: true})<br /> |
| </code> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <div class="io-line">Defined in <a href="" data-line="56" class="link-to-prism">src/app/shared/node-viewer/node-viewer.component.ts:56</a></div> |
| </td> |
| </tr> |
| |
| |
| </tbody> |
| </table> |
| <table class="table table-sm table-bordered"> |
| <tbody> |
| <tr> |
| <td class="col-md-4"> |
| <a name="sorts"></a> |
| <span class="name"> |
| <span ><b>sorts</b></span> |
| <a href="#sorts"><span class="icon ion-ios-link"></span></a> |
| </span> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <i>Type : </i> <code>[]</code> |
| |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <i>Default value : </i><code>[{ prop: 'name', dir: 'asc' }]</code> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <div class="io-line">Defined in <a href="" data-line="82" class="link-to-prism">src/app/shared/node-viewer/node-viewer.component.ts:82</a></div> |
| </td> |
| </tr> |
| |
| |
| </tbody> |
| </table> |
| </section> |
| |
| <section> |
| <h3 id="accessors"> |
| Accessors |
| </h3> |
| <table class="table table-sm table-bordered"> |
| <tbody> |
| <tr> |
| <td class="col-md-4"> |
| <a name="obj"></a> |
| <span class="name"><b>obj</b><a href="#obj"><span class="icon ion-ios-link"></span></a></span> |
| </td> |
| </tr> |
| |
| <tr> |
| <td class="col-md-4"> |
| <span class="accessor"><b>get</b><code>obj()</code></span> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <div class="io-line">Defined in <a href="" data-line="117" class="link-to-prism">src/app/shared/node-viewer/node-viewer.component.ts:117</a></div> |
| </td> |
| </tr> |
| |
| <tr> |
| <td class="col-md-4"> |
| <span class="accessor"><b>set</b><code>obj(value: <a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank">any</a>)</code></span> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <div class="io-line">Defined in <a href="" data-line="111" class="link-to-prism">src/app/shared/node-viewer/node-viewer.component.ts:111</a></div> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| |
| <div class="io-description"> |
| <b>Parameters :</b> |
| <table class="params"> |
| <thead> |
| <tr> |
| <td>Name</td> |
| <td>Type</td> |
| <td>Optional</td> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td>value</td> |
| |
| <td> |
| <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >any</a></code> |
| </td> |
| |
| <td> |
| No |
| </td> |
| |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| <div> |
| </div> |
| <div class="io-description"> |
| <b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code> |
| |
| </div> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| <table class="table table-sm table-bordered"> |
| <tbody> |
| <tr> |
| <td class="col-md-4"> |
| <a name="objString"></a> |
| <span class="name"><b>objString</b><a href="#objString"><span class="icon ion-ios-link"></span></a></span> |
| </td> |
| </tr> |
| |
| <tr> |
| <td class="col-md-4"> |
| <span class="accessor"><b>get</b><code>objString()</code></span> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <div class="io-line">Defined in <a href="" data-line="129" class="link-to-prism">src/app/shared/node-viewer/node-viewer.component.ts:129</a></div> |
| </td> |
| </tr> |
| |
| <tr> |
| <td class="col-md-4"> |
| <span class="accessor"><b>set</b><code>objString(value: string | null)</code></span> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <div class="io-line">Defined in <a href="" data-line="120" class="link-to-prism">src/app/shared/node-viewer/node-viewer.component.ts:120</a></div> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| |
| <div class="io-description"> |
| <b>Parameters :</b> |
| <table class="params"> |
| <thead> |
| <tr> |
| <td>Name</td> |
| <td>Type</td> |
| <td>Optional</td> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td>value</td> |
| |
| <td> |
| <code>string | null</code> |
| </td> |
| |
| <td> |
| No |
| </td> |
| |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| <div> |
| </div> |
| <div class="io-description"> |
| <b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code> |
| |
| </div> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| <table class="table table-sm table-bordered"> |
| <tbody> |
| <tr> |
| <td class="col-md-4"> |
| <a name="editable"></a> |
| <span class="name"><b>editable</b><a href="#editable"><span class="icon ion-ios-link"></span></a></span> |
| </td> |
| </tr> |
| |
| <tr> |
| <td class="col-md-4"> |
| <span class="accessor"><b>get</b><code>editable()</code></span> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <div class="io-line">Defined in <a href="" data-line="137" class="link-to-prism">src/app/shared/node-viewer/node-viewer.component.ts:137</a></div> |
| </td> |
| </tr> |
| |
| <tr> |
| <td class="col-md-4"> |
| <span class="accessor"><b>set</b><code>editable(value: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/boolean" target="_blank">boolean</a>)</code></span> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <div class="io-line">Defined in <a href="" data-line="132" class="link-to-prism">src/app/shared/node-viewer/node-viewer.component.ts:132</a></div> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| |
| <div class="io-description"> |
| <b>Parameters :</b> |
| <table class="params"> |
| <thead> |
| <tr> |
| <td>Name</td> |
| <td>Type</td> |
| <td>Optional</td> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td>value</td> |
| |
| <td> |
| <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/boolean" target="_blank" >boolean</a></code> |
| </td> |
| |
| <td> |
| No |
| </td> |
| |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| <div> |
| </div> |
| <div class="io-description"> |
| <b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code> |
| |
| </div> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| <table class="table table-sm table-bordered"> |
| <tbody> |
| <tr> |
| <td class="col-md-4"> |
| <a name="simpleConfigs"></a> |
| <span class="name"><b>simpleConfigs</b><a href="#simpleConfigs"><span class="icon ion-ios-link"></span></a></span> |
| </td> |
| </tr> |
| |
| <tr> |
| <td class="col-md-4"> |
| <span class="accessor"><b>get</b><code>simpleConfigs()</code></span> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <div class="io-line">Defined in <a href="" data-line="140" class="link-to-prism">src/app/shared/node-viewer/node-viewer.component.ts:140</a></div> |
| </td> |
| </tr> |
| |
| </tbody> |
| </table> |
| <table class="table table-sm table-bordered"> |
| <tbody> |
| <tr> |
| <td class="col-md-4"> |
| <a name="listConfigs"></a> |
| <span class="name"><b>listConfigs</b><a href="#listConfigs"><span class="icon ion-ios-link"></span></a></span> |
| </td> |
| </tr> |
| |
| <tr> |
| <td class="col-md-4"> |
| <span class="accessor"><b>get</b><code>listConfigs()</code></span> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <div class="io-line">Defined in <a href="" data-line="150" class="link-to-prism">src/app/shared/node-viewer/node-viewer.component.ts:150</a></div> |
| </td> |
| </tr> |
| |
| </tbody> |
| </table> |
| <table class="table table-sm table-bordered"> |
| <tbody> |
| <tr> |
| <td class="col-md-4"> |
| <a name="mapConfigs"></a> |
| <span class="name"><b>mapConfigs</b><a href="#mapConfigs"><span class="icon ion-ios-link"></span></a></span> |
| </td> |
| </tr> |
| |
| <tr> |
| <td class="col-md-4"> |
| <span class="accessor"><b>get</b><code>mapConfigs()</code></span> |
| </td> |
| </tr> |
| <tr> |
| <td class="col-md-4"> |
| <div class="io-line">Defined in <a href="" data-line="164" class="link-to-prism">src/app/shared/node-viewer/node-viewer.component.ts:164</a></div> |
| </td> |
| </tr> |
| |
| </tbody> |
| </table> |
| </section> |
| </div> |
| |
| |
| <div class="tab-pane fade tab-source-code" id="c-source"> |
| <pre class="line-numbers compodoc-sourcecode"><code class="language-typescript">import { |
| Component, |
| OnInit, |
| Input, |
| Output, |
| ViewChild, |
| ViewEncapsulation, |
| EventEmitter, |
| } from '@angular/core'; |
| import { ActivatedRoute } from '@angular/router'; |
| import { MatDialog } from '@angular/material/dialog'; |
| |
| import * as _ from 'lodash'; |
| // import * as ace from 'ace-builds/src-noconflict/ace'; |
| import 'ace-builds'; |
| import 'ace-builds/webpack-resolver'; |
| import 'ace-builds/src-noconflict/mode-json'; |
| import 'ace-builds/src-noconflict/theme-chrome'; |
| import { config } from 'ace-builds'; |
| |
| import { ResourceService } from '../../resource/shared/resource.service'; |
| import { HelperService } from '../../shared/helper.service'; |
| import { Node } from '../models/node.model'; |
| import { Settings } from '../../core/settings'; |
| import { InputDialogComponent } from '../dialog/input-dialog/input-dialog.component'; |
| import { ConfirmDialogComponent } from '../dialog/confirm-dialog/confirm-dialog.component'; |
| |
| export type IdealState = { |
| id: string; |
| simpleFields?: { [key: string]: any }; |
| listFields?: { [key: string]: any }; |
| mapFields?: { [key: string]: any }; |
| }; |
| |
| config.set( |
| 'basePath', |
| 'https://cdn.jsdelivr.net/npm/ace-builds@1.6.0/src-noconflict/' |
| ); |
| config.setModuleUrl( |
| 'ace/mode/javascript_worker', |
| 'https://cdn.jsdelivr.net/npm/ace-builds@1.6.0/src-noconflict/worker-json.js' |
| ); |
| @Component({ |
| selector: 'hi-node-viewer', |
| templateUrl: './node-viewer.component.html', |
| styleUrls: ['./node-viewer.component.scss'], |
| providers: [ResourceService], |
| // Since we are importing external styles in this component |
| // we will not use Shadow DOM at all to make sure the styles apply |
| encapsulation: ViewEncapsulation.None, |
| }) |
| export class NodeViewerComponent implements OnInit { |
| isLoading = true; |
| clusterName: string; |
| resourceName: string; |
| @ViewChild('simpleTable', { static: true }) simpleTable; |
| @ViewChild('listTable', { static: true }) listTable; |
| @ViewChild('mapTable', { static: true }) mapTable; |
| |
| @Output('update') |
| change: EventEmitter<Node> = new EventEmitter<Node>(); |
| |
| @Output('create') |
| create: EventEmitter<Node> = new EventEmitter<Node>(); |
| |
| @Output('delete') |
| delete: EventEmitter<Node> = new EventEmitter<Node>(); |
| |
| @Input() |
| unlockable = false; |
| |
| @Input() |
| loadingIndicator = false; |
| |
| private _editable = false; |
| |
| protected _obj: any; |
| protected node: Node; |
| |
| headerHeight = Settings.tableHeaderHeight; |
| rowHeight = Settings.tableRowHeight; |
| sorts = [{ prop: 'name', dir: 'asc' }]; |
| keyword = ''; |
| columns = { |
| simpleConfigs: [ |
| { |
| name: 'Name', |
| editable: false, |
| }, |
| { |
| name: 'Value', |
| editable: false, |
| }, |
| ], |
| listConfigs: [ |
| { |
| name: 'Value', |
| editable: false, |
| }, |
| ], |
| }; |
| |
| _simpleConfigs: any[]; |
| |
| _listConfigs: any[]; |
| |
| _mapConfigs: any[]; |
| |
| // MODE 1: use directly in components |
| @Input() |
| set obj(value: any) { |
| if (value !== null) { |
| this._obj = value; |
| this.node = new Node(value); |
| } |
| } |
| get obj(): any { |
| return this._obj; |
| } |
| set objString(value: string | null) { |
| let parsedValue = null; |
| if (value && value !== null) { |
| parsedValue = JSON.parse(value); |
| } |
| |
| this.obj = parsedValue; |
| this.node = new Node(parsedValue); |
| } |
| get objString(): string { |
| return JSON.stringify(this.obj, null, 2); |
| } |
| set editable(value: boolean) { |
| this._editable = value; |
| this.columns.simpleConfigs[1].editable = this._editable; |
| this.columns.listConfigs[0].editable = this._editable; |
| } |
| get editable() { |
| return this._editable; |
| } |
| get simpleConfigs(): any[] { |
| return this.node |
| ? _.filter( |
| this.node.simpleFields, |
| (config) => |
| config.name.toLowerCase().indexOf(this.keyword) >= 0 || |
| config.value.toLowerCase().indexOf(this.keyword) >= 0 |
| ) |
| : []; |
| } |
| get listConfigs(): any[] { |
| return this.node |
| ? _.filter( |
| this.node.listFields, |
| (config) => |
| config.name.toLowerCase().indexOf(this.keyword) >= 0 || |
| _.some( |
| config.value as any[], |
| (subconfig) => |
| subconfig.value.toLowerCase().indexOf(this.keyword) >= 0 |
| ) |
| ) |
| : []; |
| } |
| get mapConfigs(): any[] { |
| return this.node |
| ? _.filter( |
| this.node.mapFields, |
| (config) => |
| config.name.toLowerCase().trim().indexOf(this.keyword) >= 0 || |
| _.some( |
| config.value as any[], |
| (subconfig) => |
| subconfig.name.toLowerCase().trim().indexOf(this.keyword) >= |
| 0 || subconfig.value.toLowerCase().indexOf(this.keyword) >= 0 |
| ) |
| ) |
| : []; |
| } |
| |
| public constructor( |
| protected dialog: MatDialog, |
| protected route: ActivatedRoute, |
| protected resourceService: ResourceService, |
| protected helper: HelperService |
| ) {} |
| |
| ngOnInit() { |
| // MODE 2: use in router |
| if (this.route.snapshot.data.path) { |
| const path = this.route.snapshot.data.path; |
| |
| // try parent data first |
| this.obj = _.get(this.route.parent, `snapshot.data.${path}`); |
| |
| if (this.obj == null) { |
| // try self data then |
| this.obj = _.get(this.route.snapshot.data, path); |
| } |
| |
| this.objString = JSON.stringify(this.obj, null, 2); |
| } |
| |
| if (this.route.parent) { |
| this.clusterName = |
| this.route.parent.snapshot.params.name || |
| this.route.parent.snapshot.params.cluster_name; |
| this.resourceName = this.route.parent.snapshot.params.resource_name; |
| } |
| } |
| |
| updateFilter(event) { |
| this.keyword = event.target.value.toLowerCase().trim(); |
| |
| // Whenever the filter changes, always go back to the first page |
| if (this.simpleTable) { |
| this.simpleTable.offset = 0; |
| } |
| if (this.listTable) { |
| this.listTable.offset = 0; |
| } |
| if (this.mapTable) { |
| this.mapTable.offset = 0; |
| } |
| } |
| |
| getNameCellClass({ value }): any { |
| return { |
| // highlight HELIX own configs |
| primary: _.snakeCase(value).toUpperCase() === value, |
| }; |
| } |
| |
| onCreate(type) { |
| this.dialog |
| .open(InputDialogComponent, { |
| data: { |
| title: `Create a new ${type} configuration`, |
| message: |
| "Please enter the name of the new configuration. You'll be able to add values later:", |
| values: { |
| name: { |
| label: 'the name of the new configuration', |
| }, |
| }, |
| }, |
| }) |
| .afterClosed() |
| .subscribe((result) => { |
| if (result) { |
| const entry = [ |
| { |
| name: result.name.value, |
| value: [], |
| }, |
| ]; |
| |
| const newNode: Node = new Node(null); |
| if (type === 'list') { |
| newNode.listFields = entry; |
| } else if (type === 'map') { |
| newNode.mapFields = entry; |
| } |
| |
| this.create.emit(newNode); |
| } |
| }); |
| } |
| |
| beforeDelete(type, row) { |
| this.dialog |
| .open(ConfirmDialogComponent, { |
| data: { |
| title: 'Confirmation', |
| message: 'Are you sure you want to delete this configuration?', |
| }, |
| }) |
| .afterClosed() |
| .subscribe((result) => { |
| if (result) { |
| this.onDelete(type, row); |
| } |
| }); |
| } |
| |
| onDelete(type, row) { |
| const newNode: Node = new Node(null); |
| |
| if (type === 'simple') { |
| newNode.appendSimpleField(row.name, ''); |
| } else if (type === 'list') { |
| newNode.listFields = [{ name: row.name.trim(), value: [] }]; |
| } else if (type === 'map') { |
| newNode.mapFields = [{ name: row.name.trim(), value: null }]; |
| } |
| |
| this.delete.emit(newNode); |
| } |
| |
| created(type, data, key) { |
| const newNode: Node = new Node(null); |
| |
| switch (type) { |
| case 'simple': |
| newNode.appendSimpleField(data.name.value, data.value.value); |
| break; |
| |
| case 'list': |
| if (key) { |
| const entry = _.find(this.node.listFields, { name: key }); |
| |
| entry.value.push({ |
| name: '', |
| value: data.value.value, |
| }); |
| |
| newNode.listFields.push(entry); |
| } |
| break; |
| |
| case 'map': |
| if (key) { |
| const entry = _.find(this.node.mapFields, { name: key.trim() }); |
| |
| _.forEach(entry.value, (item: any) => { |
| newNode.appendMapField(key, item.name, item.value); |
| }); |
| |
| newNode.appendMapField(key, data.name.value, data.value.value); |
| } |
| break; |
| } |
| |
| this.create.emit(newNode); |
| } |
| |
| edited(type, { row, column, value }, key, isDeleting) { |
| if (!isDeleting && column.name !== 'Value') { |
| return; |
| } |
| |
| const newNode: Node = new Node(null); |
| |
| switch (type) { |
| case 'simple': |
| newNode.appendSimpleField(row.name, value); |
| break; |
| |
| case 'list': |
| if (key) { |
| const entry = _.find(this.node.listFields, { name: key }); |
| const index = _.findIndex(entry.value, { value: row.value }); |
| |
| if (isDeleting) { |
| entry.value.splice(index, 1); |
| } else { |
| entry.value[index].value = value; |
| } |
| |
| newNode.listFields.push(entry); |
| } |
| break; |
| |
| case 'map': |
| if (key) { |
| // have to fetch all other configs under this key |
| const entry = _.find(this.node.mapFields, { name: key.trim() }); |
| newNode.mapFields = [{ name: key.trim(), value: [] }]; |
| |
| _.forEach(entry.value, (item: any) => { |
| if (item.name === row.name) { |
| if (!isDeleting) { |
| newNode.appendMapField(key.trim(), item.name.trim(), value); |
| } |
| } else { |
| newNode.appendMapField(key.trim(), item.name.trim(), item.value); |
| } |
| }); |
| } |
| break; |
| } |
| |
| const path = this?.route?.snapshot?.data?.path; |
| if (path && path === 'idealState') { |
| const idealState: IdealState = { |
| id: this.resourceName, |
| }; |
| |
| // format the payload the way that helix-rest expects |
| // before: { simpleFields: [{ name: 'NUM_PARTITIONS', value: 2 }] }; |
| // after: { simpleFields: { NUM_PARTITIONS: 2 } }; |
| function appendIdealStateProperty(property: keyof Node) { |
| if (Array.isArray(newNode[property]) && newNode[property].length > 0) { |
| idealState[property] = {} as any; |
| (newNode[property] as any[]).forEach((field) => { |
| idealState[property][field.name] = field.value; |
| }); |
| } |
| } |
| Object.keys(newNode).forEach((key) => |
| appendIdealStateProperty(key as keyof Node) |
| ); |
| |
| const observer = this.resourceService.setIdealState( |
| this.clusterName, |
| this.resourceName, |
| idealState |
| ); |
| |
| if (observer) { |
| this.isLoading = true; |
| observer.subscribe( |
| () => { |
| this.helper.showSnackBar('Ideal State updated!'); |
| }, |
| (error) => { |
| this.helper.showError(error); |
| this.isLoading = false; |
| }, |
| () => (this.isLoading = false) |
| ); |
| } |
| } |
| |
| this.change.emit(newNode); |
| } |
| } |
| </code></pre> |
| </div> |
| |
| <div class="tab-pane fade " id="c-templateData"> |
| <pre class="line-numbers"><code class="language-html"><!-- |
| ~ Licensed to the Apache Software Foundation (ASF) under one |
| ~ or more contributor license agreements. See the NOTICE file |
| ~ distributed with this work for additional information |
| ~ regarding copyright ownership. The ASF licenses this file |
| ~ to you under the Apache License, Version 2.0 (the |
| ~ "License"); you may not use this file except in compliance |
| ~ with the License. You may obtain a copy of the License at |
| ~ |
| ~ http://www.apache.org/licenses/LICENSE-2.0 |
| ~ |
| ~ Unless required by applicable law or agreed to in writing, |
| ~ software distributed under the License is distributed on an |
| ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| ~ KIND, either express or implied. See the License for the |
| ~ specific language governing permissions and limitations |
| ~ under the License. |
| --> |
| |
| <section |
| class="node-viewer" |
| fxLayout="column" |
| fxLayoutAlign="center center" |
| fxLayoutGap="10px" |
| > |
| <mat-progress-bar |
| *ngIf="loadingIndicator" |
| mode="indeterminate" |
| ></mat-progress-bar> |
| <mat-button-toggle-group #group="matButtonToggleGroup" value="table"> |
| <mat-button-toggle value="table"> Table View </mat-button-toggle> |
| <mat-button-toggle value="tree"> Tree View </mat-button-toggle> |
| <mat-button-toggle value="json"> JSON View </mat-button-toggle> |
| </mat-button-toggle-group> |
| <section class="viewer" [ngSwitch]="group.value" fxFlexFill> |
| <ngx-json-viewer *ngSwitchCase="'tree'" [json]="obj"></ngx-json-viewer> |
| <ace-editor |
| *ngSwitchCase="'json'" |
| [(text)]="objString" |
| mode="json" |
| theme="chrome" |
| [options]="{ useWorker: false }" |
| style="min-height: 300px" |
| #editor |
| > |
| </ace-editor> |
| <section *ngSwitchCase="'table'"> |
| <!-- TODO vxu: use mat-simple-table when it's available --> |
| |
| <section fxLayout="row" fxLayoutAlign="center center"> |
| <span fxFlex="1 1 auto"></span> |
| <mat-icon>search</mat-icon> |
| <mat-form-field class="search-form-field"> |
| <input |
| matInput |
| placeholder="Type to filter the fields..." |
| (keyup)="updateFilter($event)" |
| /> |
| </mat-form-field> |
| <span fxFlex="1 1 auto"></span> |
| <!-- *ngIf="unlockable" --> |
| <button |
| mat-button |
| (click)="editable = !editable" |
| [matTooltip]=" |
| editable |
| ? 'Click to prevent further changes' |
| : 'Click to make changes' |
| " |
| > |
| <mat-icon>{{ editable ? 'lock_open' : 'lock' }}</mat-icon> |
| {{ editable ? 'Unlocked' : 'Locked' }} |
| </button> |
| </section> |
| |
| <mat-card> |
| <mat-card-header> |
| <mat-card-title> |
| Simple Fields |
| <span *ngIf="simpleConfigs.length == 0">is empty.</span> |
| <span *ngIf="keyword" class="primary">(filtered)</span> |
| </mat-card-title> |
| </mat-card-header> |
| <mat-card-content> |
| <hi-data-table |
| *ngIf="simpleConfigs.length || editable" |
| [rows]="simpleConfigs" |
| [sorts]="sorts" |
| [columns]="columns.simpleConfigs" |
| [deletable]="editable" |
| [insertable]="editable" |
| (update)="edited('simple', $event)" |
| (create)="created('simple', $event)" |
| (delete)="onDelete('simple', $event.row)" |
| > |
| </hi-data-table> |
| </mat-card-content> |
| </mat-card> |
| |
| <mat-card> |
| <mat-card-header> |
| <mat-card-title> |
| List Fields |
| <span *ngIf="listConfigs.length == 0">is empty.</span> |
| <span *ngIf="keyword" class="primary">(filtered)</span> |
| </mat-card-title> |
| </mat-card-header> |
| <mat-card-content> |
| <ngx-datatable |
| *ngIf="listConfigs.length || editable" |
| #listTable |
| class="material" |
| [headerHeight]="headerHeight" |
| rowHeight="auto" |
| [footerHeight]="headerHeight" |
| columnMode="force" |
| [rows]="listConfigs" |
| [sorts]="sorts" |
| [limit]="10" |
| > |
| <ngx-datatable-column |
| *ngIf="editable" |
| [width]="40" |
| [resizeable]="false" |
| [draggable]="false" |
| [canAutoResize]="false" |
| > |
| <ng-template let-row="row" ngx-datatable-cell-template> |
| <button |
| mat-icon-button |
| class="delete-button" |
| matTooltip="Click to delete" |
| (click)="beforeDelete('list', row)" |
| > |
| <mat-icon>delete_forever</mat-icon> |
| </button> |
| </ng-template> |
| </ngx-datatable-column> |
| <ngx-datatable-column |
| name="Name" |
| [width]="80" |
| [cellClass]="getNameCellClass" |
| ></ngx-datatable-column> |
| <ngx-datatable-column name="Value" [width]="400"> |
| <ng-template |
| let-row="row" |
| let-value="value" |
| ngx-datatable-cell-template |
| > |
| <hi-data-table |
| [rows]="value" |
| [sorts]="sorts" |
| [columns]="columns.listConfigs" |
| [deletable]="editable" |
| [insertable]="editable" |
| (update)="edited('list', $event, row.name)" |
| (create)="created('list', $event, row.name)" |
| (delete)="edited('list', $event, row.name, true)" |
| > |
| </hi-data-table> |
| </ng-template> |
| </ngx-datatable-column> |
| <ngx-datatable-footer> |
| <ng-template |
| ngx-datatable-footer-template |
| let-rowCount="rowCount" |
| let-pageSize="pageSize" |
| let-curPage="curPage" |
| > |
| <section |
| class="footer" |
| fxLayout="row" |
| fxLayoutAlign="space-between center" |
| > |
| <button |
| mat-button |
| *ngIf="editable" |
| (click)="onCreate('list')" |
| > |
| <mat-icon>add</mat-icon> |
| Add new entry |
| </button> |
| <section>{{ rowCount }} total</section> |
| <section> |
| <datatable-pager |
| [pagerLeftArrowIcon]="'datatable-icon-left'" |
| [pagerRightArrowIcon]="'datatable-icon-right'" |
| [pagerPreviousIcon]="'datatable-icon-prev'" |
| [pagerNextIcon]="'datatable-icon-skip'" |
| [page]="curPage" |
| [size]="pageSize" |
| [count]="rowCount" |
| [hidden]="!(rowCount / pageSize > 1)" |
| (change)="listTable.onFooterPage($event)" |
| > |
| </datatable-pager> |
| </section> |
| </section> |
| </ng-template> |
| </ngx-datatable-footer> |
| </ngx-datatable> |
| </mat-card-content> |
| </mat-card> |
| |
| <mat-card> |
| <mat-card-header> |
| <mat-card-title> |
| Map Fields |
| <span *ngIf="mapConfigs.length == 0">is empty.</span> |
| <span *ngIf="keyword" class="primary">(filtered)</span> |
| </mat-card-title> |
| </mat-card-header> |
| <mat-card-content> |
| <ngx-datatable |
| *ngIf="mapConfigs.length || editable" |
| #mapTable |
| class="material" |
| [headerHeight]="headerHeight" |
| rowHeight="auto" |
| [footerHeight]="headerHeight" |
| columnMode="force" |
| [rows]="mapConfigs" |
| [sorts]="sorts" |
| [limit]="10" |
| > |
| <ngx-datatable-column |
| *ngIf="editable" |
| [width]="40" |
| [resizeable]="false" |
| [draggable]="false" |
| [canAutoResize]="false" |
| > |
| <ng-template let-row="row" ngx-datatable-cell-template> |
| <button |
| mat-icon-button |
| class="delete-button" |
| matTooltip="Click to delete" |
| (click)="beforeDelete('map', row)" |
| > |
| <mat-icon>delete_forever</mat-icon> |
| </button> |
| </ng-template> |
| </ngx-datatable-column> |
| <ngx-datatable-column |
| name="Name" |
| [width]="80" |
| [cellClass]="getNameCellClass" |
| ></ngx-datatable-column> |
| <ngx-datatable-column name="Value" [width]="500"> |
| <ng-template |
| let-row="row" |
| let-value="value" |
| ngx-datatable-cell-template |
| > |
| <hi-data-table |
| [rows]="value" |
| [sorts]="sorts" |
| [columns]="columns.simpleConfigs" |
| [deletable]="editable" |
| [insertable]="editable" |
| (update)="edited('map', $event, row.name)" |
| (create)="created('map', $event, row.name)" |
| (delete)="edited('map', $event, row.name, true)" |
| > |
| </hi-data-table> |
| </ng-template> |
| </ngx-datatable-column> |
| <ngx-datatable-footer> |
| <ng-template |
| ngx-datatable-footer-template |
| let-rowCount="rowCount" |
| let-pageSize="pageSize" |
| let-curPage="curPage" |
| > |
| <section |
| class="footer" |
| fxLayout="row" |
| fxLayoutAlign="space-between center" |
| > |
| <button mat-button *ngIf="editable" (click)="onCreate('map')"> |
| <mat-icon>add</mat-icon> |
| Add new entry |
| </button> |
| <section>{{ rowCount }} total</section> |
| <section> |
| <datatable-pager |
| [pagerLeftArrowIcon]="'datatable-icon-left'" |
| [pagerRightArrowIcon]="'datatable-icon-right'" |
| [pagerPreviousIcon]="'datatable-icon-prev'" |
| [pagerNextIcon]="'datatable-icon-skip'" |
| [page]="curPage" |
| [size]="pageSize" |
| [count]="rowCount" |
| [hidden]="!(rowCount / pageSize > 1)" |
| (change)="mapTable.onFooterPage($event)" |
| > |
| </datatable-pager> |
| </section> |
| </section> |
| </ng-template> |
| </ngx-datatable-footer> |
| </ngx-datatable> |
| </mat-card-content> |
| </mat-card> |
| </section> |
| </section> |
| </section> |
| </code></pre> |
| </div> |
| |
| <div class="tab-pane fade " id="c-styleData"> |
| <p class="comment"> |
| <code>./node-viewer.component.scss</code> |
| </p> |
| <pre class="line-numbers"><code class="language-scss">@use '@angular/material' as mat; |
| @import 'src/theme.scss'; |
| |
| .node-viewer { |
| padding: 10px; |
| } |
| |
| .primary { |
| color: mat.get-color-from-palette($hi-primary); |
| } |
| |
| .search-form-field { |
| width: 300px; |
| padding: 10px 0 0 5px; |
| } |
| |
| mat-card { |
| margin-bottom: 10px; |
| } |
| |
| ngx-datatable { |
| word-break: break-all; |
| } |
| |
| .footer { |
| width: 100%; |
| padding: 0 20px; |
| } |
| |
| .delete-button { |
| width: 24px; |
| height: 24px; |
| line-height: 24px; |
| |
| .mat-icon { |
| @include md-icon-size(20px); |
| |
| &:hover { |
| color: mat.get-color-from-palette($hi-warn); |
| } |
| } |
| } |
| </code></pre> |
| </div> |
| |
| <div class="tab-pane fade " id="c-tree"> |
| <div id="tree-container"></div> |
| <div class="tree-legend"> |
| <div class="title"> |
| <b>Legend</b> |
| </div> |
| <div> |
| <div class="color htmlelement"></div><span>Html element</span> |
| </div> |
| <div> |
| <div class="color component"></div><span>Component</span> |
| </div> |
| <div> |
| <div class="color directive"></div><span>Html element with directive</span> |
| </div> |
| </div> |
| </div> |
| |
| |
| </div> |
| |
| <script src="../js/libs/vis.min.js"></script> |
| <script src="../js/libs/htmlparser.js"></script> |
| <script src="../js/libs/deep-iterator.js"></script> |
| <script> |
| var COMPONENT_TEMPLATE = '<div><!-- ~ Licensed to the Apache Software Foundation (ASF) under one ~ or more contributor license agreements. See the NOTICE file ~ distributed with this work for additional information ~ regarding copyright ownership. The ASF licenses this file ~ to you under the Apache License, Version 2.0 (the ~ "License"); you may not use this file except in compliance ~ with the License. You may obtain a copy of the License at ~ ~ http://www.apache.org/licenses/LICENSE-2.0 ~ ~ Unless required by applicable law or agreed to in writing, ~ software distributed under the License is distributed on an ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY ~ KIND, either express or implied. See the License for the ~ specific language governing permissions and limitations ~ under the License. --><section class="node-viewer" fxLayout="column" fxLayoutAlign="center center" fxLayoutGap="10px"> <mat-progress-bar *ngIf="loadingIndicator" mode="indeterminate" ></mat-progress-bar> <mat-button-toggle-group #group="matButtonToggleGroup" value="table"> <mat-button-toggle value="table"> Table View </mat-button-toggle> <mat-button-toggle value="tree"> Tree View </mat-button-toggle> <mat-button-toggle value="json"> JSON View </mat-button-toggle> </mat-button-toggle-group> <section class="viewer" [ngSwitch]="group.value" fxFlexFill> <ngx-json-viewer *ngSwitchCase="\'tree\'" [json]="obj"></ngx-json-viewer> <ace-editor *ngSwitchCase="\'json\'" [(text)]="objString" mode="json" theme="chrome" [options]="{ useWorker: false }" style="min-height: 300px" #editor > </ace-editor> <section *ngSwitchCase="\'table\'"> <!-- TODO vxu: use mat-simple-table when it\'s available --> <section fxLayout="row" fxLayoutAlign="center center"> <span fxFlex="1 1 auto"></span> <mat-icon>search</mat-icon> <mat-form-field class="search-form-field"> <input matInput placeholder="Type to filter the fields..." (keyup)="updateFilter($event)" /> </mat-form-field> <span fxFlex="1 1 auto"></span> <!-- *ngIf="unlockable" --> <button mat-button (click)="editable = !editable" [matTooltip]=" editable ? \'Click to prevent further changes\' : \'Click to make changes\' " > <mat-icon>{{ editable ? \'lock_open\' : \'lock\' }}</mat-icon> {{ editable ? \'Unlocked\' : \'Locked\' }} </button> </section> <mat-card> <mat-card-header> <mat-card-title> Simple Fields <span *ngIf="simpleConfigs.length == 0">is empty.</span> <span *ngIf="keyword" class="primary">(filtered)</span> </mat-card-title> </mat-card-header> <mat-card-content> <hi-data-table *ngIf="simpleConfigs.length || editable" [rows]="simpleConfigs" [sorts]="sorts" [columns]="columns.simpleConfigs" [deletable]="editable" [insertable]="editable" (update)="edited(\'simple\', $event)" (create)="created(\'simple\', $event)" (delete)="onDelete(\'simple\', $event.row)" > </hi-data-table> </mat-card-content> </mat-card> <mat-card> <mat-card-header> <mat-card-title> List Fields <span *ngIf="listConfigs.length == 0">is empty.</span> <span *ngIf="keyword" class="primary">(filtered)</span> </mat-card-title> </mat-card-header> <mat-card-content> <ngx-datatable *ngIf="listConfigs.length || editable" #listTable class="material" [headerHeight]="headerHeight" rowHeight="auto" [footerHeight]="headerHeight" columnMode="force" [rows]="listConfigs" [sorts]="sorts" [limit]="10" > <ngx-datatable-column *ngIf="editable" [width]="40" [resizeable]="false" [draggable]="false" [canAutoResize]="false" > <ng-template let-row="row" ngx-datatable-cell-template> <button mat-icon-button class="delete-button" matTooltip="Click to delete" (click)="beforeDelete(\'list\', row)" > <mat-icon>delete_forever</mat-icon> </button> </ng-template> </ngx-datatable-column> <ngx-datatable-column name="Name" [width]="80" [cellClass]="getNameCellClass" ></ngx-datatable-column> <ngx-datatable-column name="Value" [width]="400"> <ng-template let-row="row" let-value="value" ngx-datatable-cell-template > <hi-data-table [rows]="value" [sorts]="sorts" [columns]="columns.listConfigs" [deletable]="editable" [insertable]="editable" (update)="edited(\'list\', $event, row.name)" (create)="created(\'list\', $event, row.name)" (delete)="edited(\'list\', $event, row.name, true)" > </hi-data-table> </ng-template> </ngx-datatable-column> <ngx-datatable-footer> <ng-template ngx-datatable-footer-template let-rowCount="rowCount" let-pageSize="pageSize" let-curPage="curPage" > <section class="footer" fxLayout="row" fxLayoutAlign="space-between center" > <button mat-button *ngIf="editable" (click)="onCreate(\'list\')" > <mat-icon>add</mat-icon> Add new entry </button> <section>{{ rowCount }} total</section> <section> <datatable-pager [pagerLeftArrowIcon]="\'datatable-icon-left\'" [pagerRightArrowIcon]="\'datatable-icon-right\'" [pagerPreviousIcon]="\'datatable-icon-prev\'" [pagerNextIcon]="\'datatable-icon-skip\'" [page]="curPage" [size]="pageSize" [count]="rowCount" [hidden]="!(rowCount / pageSize > 1)" (change)="listTable.onFooterPage($event)" > </datatable-pager> </section> </section> </ng-template> </ngx-datatable-footer> </ngx-datatable> </mat-card-content> </mat-card> <mat-card> <mat-card-header> <mat-card-title> Map Fields <span *ngIf="mapConfigs.length == 0">is empty.</span> <span *ngIf="keyword" class="primary">(filtered)</span> </mat-card-title> </mat-card-header> <mat-card-content> <ngx-datatable *ngIf="mapConfigs.length || editable" #mapTable class="material" [headerHeight]="headerHeight" rowHeight="auto" [footerHeight]="headerHeight" columnMode="force" [rows]="mapConfigs" [sorts]="sorts" [limit]="10" > <ngx-datatable-column *ngIf="editable" [width]="40" [resizeable]="false" [draggable]="false" [canAutoResize]="false" > <ng-template let-row="row" ngx-datatable-cell-template> <button mat-icon-button class="delete-button" matTooltip="Click to delete" (click)="beforeDelete(\'map\', row)" > <mat-icon>delete_forever</mat-icon> </button> </ng-template> </ngx-datatable-column> <ngx-datatable-column name="Name" [width]="80" [cellClass]="getNameCellClass" ></ngx-datatable-column> <ngx-datatable-column name="Value" [width]="500"> <ng-template let-row="row" let-value="value" ngx-datatable-cell-template > <hi-data-table [rows]="value" [sorts]="sorts" [columns]="columns.simpleConfigs" [deletable]="editable" [insertable]="editable" (update)="edited(\'map\', $event, row.name)" (create)="created(\'map\', $event, row.name)" (delete)="edited(\'map\', $event, row.name, true)" > </hi-data-table> </ng-template> </ngx-datatable-column> <ngx-datatable-footer> <ng-template ngx-datatable-footer-template let-rowCount="rowCount" let-pageSize="pageSize" let-curPage="curPage" > <section class="footer" fxLayout="row" fxLayoutAlign="space-between center" > <button mat-button *ngIf="editable" (click)="onCreate(\'map\')"> <mat-icon>add</mat-icon> Add new entry </button> <section>{{ rowCount }} total</section> <section> <datatable-pager [pagerLeftArrowIcon]="\'datatable-icon-left\'" [pagerRightArrowIcon]="\'datatable-icon-right\'" [pagerPreviousIcon]="\'datatable-icon-prev\'" [pagerNextIcon]="\'datatable-icon-skip\'" [page]="curPage" [size]="pageSize" [count]="rowCount" [hidden]="!(rowCount / pageSize > 1)" (change)="mapTable.onFooterPage($event)" > </datatable-pager> </section> </section> </ng-template> </ngx-datatable-footer> </ngx-datatable> </mat-card-content> </mat-card> </section> </section></section></div>' |
| var COMPONENTS = [{'name': 'AlertDialogComponent', 'selector': 'hi-alert-dialog'},{'name': 'AppComponent', 'selector': 'hi-root'},{'name': 'ClusterComponent', 'selector': 'hi-cluster'},{'name': 'ClusterDetailComponent', 'selector': 'hi-cluster-detail'},{'name': 'ClusterListComponent', 'selector': 'hi-cluster-list'},{'name': 'ConfigDetailComponent', 'selector': 'hi-config-detail'},{'name': 'ConfirmDialogComponent', 'selector': 'hi-confirm-dialog'},{'name': 'ConfirmDialogTestComponent', 'selector': 'hi-confirm-dialog-test'},{'name': 'ControllerDetailComponent', 'selector': 'hi-controller-detail'},{'name': 'DashboardComponent', 'selector': 'hi-dashboard'},{'name': 'DataTableComponent', 'selector': 'hi-data-table'},{'name': 'DetailHeaderComponent', 'selector': 'hi-detail-header'},{'name': 'DisabledLabelComponent', 'selector': 'hi-disabled-label'},{'name': 'HelixListComponent', 'selector': 'hi-helix-list'},{'name': 'HistoryListComponent', 'selector': 'hi-history-list'},{'name': 'InputDialogComponent', 'selector': 'hi-input-dialog'},{'name': 'InputInlineComponent', 'selector': 'hi-input-inline'},{'name': 'InstanceDetailComponent', 'selector': 'hi-instance-detail'},{'name': 'InstanceListComponent', 'selector': 'hi-instance-list'},{'name': 'JobDetailComponent', 'selector': 'hi-job-detail'},{'name': 'JobListComponent', 'selector': 'hi-job-list'},{'name': 'JsonViewerComponent', 'selector': 'hi-json-viewer'},{'name': 'KeyValuePairsComponent', 'selector': 'hi-key-value-pairs'},{'name': 'NodeViewerComponent', 'selector': 'hi-node-viewer'},{'name': 'PartitionDetailComponent', 'selector': 'hi-partition-detail'},{'name': 'PartitionListComponent', 'selector': 'hi-partition-list'},{'name': 'ResourceDetailComponent', 'selector': 'hi-resource-detail'},{'name': 'ResourceDetailForInstanceComponent', 'selector': 'hi-resource-detail-for-instance'},{'name': 'ResourceListComponent', 'selector': 'hi-resource-list'},{'name': 'ResourceNodeViewerComponent', 'selector': 'hi-resource-node-viewer'},{'name': 'StateLabelComponent', 'selector': 'hi-state-label'},{'name': 'WorkflowDagComponent', 'selector': 'hi-workflow-dag'},{'name': 'WorkflowDetailComponent', 'selector': 'hi-workflow-detail'},{'name': 'WorkflowListComponent', 'selector': 'hi-workflow-list'}]; |
| var DIRECTIVES = [{'name': 'KeyValuePairDirective', 'selector': 'hi-key-value-pair'}]; |
| var ACTUAL_COMPONENT = {'name': 'NodeViewerComponent'}; |
| </script> |
| <script src="../js/tree.js"></script> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| </div><div class="search-results"> |
| <div class="has-results"> |
| <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1> |
| <ul class="search-results-list"></ul> |
| </div> |
| <div class="no-results"> |
| <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1> |
| </div> |
| </div> |
| </div> |
| <!-- END CONTENT --> |
| </div> |
| </div> |
| |
| <label class="dark-mode-switch"> |
| <input type="checkbox"> |
| <span class="slider"> |
| <svg class="slider-icon" viewBox="0 0 24 24" fill="none" height="20" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" width="20" xmlns="http://www.w3.org/2000/svg"> |
| <path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"></path> |
| </svg> |
| </span> |
| </label> |
| |
| <script> |
| var COMPODOC_CURRENT_PAGE_DEPTH = 1; |
| var COMPODOC_CURRENT_PAGE_CONTEXT = 'component'; |
| var COMPODOC_CURRENT_PAGE_URL = 'NodeViewerComponent.html'; |
| var MAX_SEARCH_RESULTS = 15; |
| </script> |
| |
| <script src="../js/libs/custom-elements.min.js"></script> |
| <script src="../js/libs/lit-html.js"></script> |
| |
| <script src="../js/menu-wc.js" defer></script> |
| <script nomodule src="../js/menu-wc_es5.js" defer></script> |
| |
| <script src="../js/libs/bootstrap-native.js"></script> |
| |
| <script src="../js/libs/es6-shim.min.js"></script> |
| <script src="../js/libs/EventDispatcher.js"></script> |
| <script src="../js/libs/promise.min.js"></script> |
| <script src="../js/libs/zepto.min.js"></script> |
| |
| <script src="../js/compodoc.js"></script> |
| |
| <script src="../js/tabs.js"></script> |
| <script src="../js/menu.js"></script> |
| <script src="../js/libs/clipboard.min.js"></script> |
| <script src="../js/libs/prism.js"></script> |
| <script src="../js/sourceCode.js"></script> |
| <script src="../js/search/search.js"></script> |
| <script src="../js/search/lunr.min.js"></script> |
| <script src="../js/search/search-lunr.js"></script> |
| <script src="../js/search/search_index.js"></script> |
| <script src="../js/lazy-load-graphs.js"></script> |
| |
| |
| </body> |
| </html> |