File

src/app/resource/resource-detail-for-instance/resource-detail-for-instance.component.ts

Implements

OnInit

Metadata

Index

Properties
Methods
Inputs

Constructor

constructor(service: ResourceService)
Parameters :
Name Type Optional
service ResourceService No

Inputs

clusterName
Type : any
instanceName
Type : any
resourceName
Type : any

Methods

ngOnInit
ngOnInit()
Returns : void

Properties

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>

./resource-detail-for-instance.component.scss

mat-spinner {
  margin: 0 auto;
}

[mat-button] {
  float: right;
}

hi-key-value-pairs {
  padding: 10px;
}
Legend
Html element
Component
Html element with directive

results matching ""

    No results matching ""