<tree [tree]="tree"
(nodeSelected)="onNodeSelected($event)">
<ng-template let-node>
- <span class="node-name" [innerHTML]="node.value"></span>
- <span> </span>
<span class="label"
[ngClass]="{'label-success': ['in', 'up'].includes(node.status), 'label-danger': ['down', 'out'].includes(node.status)}">{{ node.status }}</span>
+ <span> </span>
+ <span class="node-name" [innerHTML]="node.value"></span>
</ng-template>
</tree>
</div>
- <div class="col-sm-6 col-lg-6 metadata">
- <cd-table-key-value *ngIf="metadata"
- [data]="metadata">
- </cd-table-key-value>
+ <div class="col-sm-6 col-lg-6 metadata" *ngIf="metadata">
+ <legend>{{ metadataTitle }}</legend>
+ <cd-table-key-value [data]="metadata"></cd-table-key-value>
</div>
</div>
</div>
::ng-deep tree-internal .tree li {
cursor: pointer;
}
+
+::ng-deep tree-internal .tree .node-value {
+ color: #2b99a8;
+ border-radius: 5px;
+}
+
+::ng-deep tree-internal .tree .node-selected {
+ background-color: #d9edf7;
+ color: #212121;
+}
+
+::ng-deep tree-internal .tree .node-value:hover {
+ color: #212121;
+}
+
+::ng-deep tree-internal .tree .node-value:after {
+ height: 0;
+}
export class CrushmapComponent implements OnInit {
tree: TreeModel;
metadata: any;
+ metadataTitle: string;
metadataKeyMap: { [key: number]: number } = {};
constructor(private healthService: HealthService) {}
}
onNodeSelected(e: NodeEvent) {
- this.metadata = this.metadataKeyMap[e.node.id];
+ const { name, type, status, ...remain } = this.metadataKeyMap[e.node.id];
+ this.metadata = remain;
+ this.metadataTitle = name + ' (' + type + ')';
}
}