File
Implements
Index
Properties
|
|
Methods
|
|
Inputs
|
|
isLoading
|
Default value : true
|
|
resourceOnInstance
|
Type : any
|
|
rowHeight
|
Type : number
|
Default value : 40
|
|
sorts
|
Type : []
|
Default value : [{ prop: 'name', dir: 'asc' }]
|
|
import { Component, OnInit, Input } from '@angular/core';
import { ResourceService } from '../shared/resource.service';
@Component({
selector: 'hi-resource-detail-for-instance',
templateUrl: './resource-detail-for-instance.component.html',
styleUrls: ['./resource-detail-for-instance.component.scss'],
})
export class ResourceDetailForInstanceComponent implements OnInit {
@Input() clusterName;
@Input() instanceName;
@Input() resourceName;
resourceOnInstance: any;
isLoading = true;
rowHeight = 40;
sorts = [{ prop: 'name', dir: 'asc' }];
constructor(protected service: ResourceService) {}
ngOnInit() {
this.service
.getOnInstance(this.clusterName, this.instanceName, this.resourceName)
.subscribe(
(resource) => (this.resourceOnInstance = resource),
(error) => console.log(error),
() => (this.isLoading = false)
);
}
}
<!--
~ 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>
<mat-spinner *ngIf="isLoading"></mat-spinner>
<section *ngIf="!isLoading">
<a
mat-button
color="accent"
[routerLink]="['../../..', 'resources', resourceName]"
>
Other Partitions
</a>
<hi-key-value-pairs *ngIf="!isLoading" [obj]="resourceOnInstance">
<hi-key-value-pair name="Session ID" prop="sessionId"></hi-key-value-pair>
<hi-key-value-pair
name="State Model"
prop="stateModelDef"
></hi-key-value-pair>
<hi-key-value-pair
name="State Model Factory Name"
prop="stateModelFactoryName"
></hi-key-value-pair>
</hi-key-value-pairs>
<ngx-datatable
#partitionsTable
class="material"
[headerHeight]="rowHeight"
rowHeight="auto"
columnMode="force"
[rows]="resourceOnInstance.partitions"
[sorts]="sorts"
>
<ngx-datatable-column name="Partition" prop="name"></ngx-datatable-column>
<ngx-datatable-column
name="Current State"
[width]="120"
[canAutoResize]="false"
>
<ng-template let-row="row" ngx-datatable-cell-template>
<span [matTooltip]="row.info">
<hi-state-label [state]="row.currentState"></hi-state-label>
</span>
</ng-template>
</ngx-datatable-column>
</ngx-datatable>
</section>
</section>
mat-spinner {
margin: 0 auto;
}
[mat-button] {
float: right;
}
hi-key-value-pairs {
padding: 10px;
}
Legend
Html element with directive