nm-kibana-admin
src/app/shared/widgets/analytics/kibana-admin/kibana-admin.component.ts
Used in iPIM Analytics. Surrounded by Widgetframe.
Displays a link to the kibana admin dashboard
selector | nm-kibana-admin |
templateUrl | ./kibana-admin.component.html |
Widget inputs |
Widget outputs |
Properties |
|
Methods |
|
constructor(_appdataStore: AppdataStore)
|
||||||
Parameters :
|
Protected configureWidget | ||||||
configureWidget(configuration: WidgetConfig)
|
||||||
Decorators : WidgetConfigure
|
||||||
Parameters :
Returns :
void
|
Public administrationLink |
administrationLink:
|
Type : string
|
Public configuration |
configuration:
|
Type : WidgetConfig
|
Decorators : WidgetConfiguration
|
import { map } from "rxjs/operators";
import { Component } from "@angular/core";
import { WidgetConfig } from "../../widget.configuration";
import {
WidgetComponent,
WidgetId,
WidgetConfiguration,
WidgetConfigure,
WidgetInput,
WidgetOutput,
} from "../../widget.metadata";
import { Subject } from "rxjs";
import { WidgetframeService } from "../../widgetframe/widgetframe.service";
import { AppdataStore } from "../../../components/appdata/appdata.store";
declare var contextPath: string;
declare var $;
/**
* Used in iPIM Analytics.
* Surrounded by Widgetframe.
*
* Displays a link to the kibana admin dashboard
*/
@WidgetComponent("nm-kibana-admin")
@Component({
selector: "nm-kibana-admin",
templateUrl: "./kibana-admin.component.html",
})
export class KibanaAdminWidgetComponent {
public administrationLink: string;
constructor(private _appdataStore: AppdataStore) {}
@WidgetConfiguration()
public configuration: WidgetConfig;
@WidgetConfigure()
protected configureWidget(configuration: WidgetConfig) {
this._appdataStore
.getAppdata()
.pipe(map((data) => data["analytics"]._links["kibana:admin"].href))
.subscribe((link) => {
this.administrationLink = link;
});
}
}
<nm-widgetframe
[header]="configuration.configuration['header']"
style="max-width: 50%; min-width: 700px; margin-top: 25px"
>
<div slot="title" class="nm-widgetframe__title">
{{ "nav.dashboardadmin" | translate }}
</div>
<div
slot="content"
class="nm-widgetframe__content"
style="height: 42px; margin-top: -10px"
>
<a href="{{ administrationLink }}" target="_blank" mat-menu-item>
<div
class="material-icons nm-svg-icon"
[ngStyle]="{
width: '24px',
'margin-right': '10px',
fill: 'rgb(255,153,0)'
}"
>
<mat-icon class="iconsNav" style="margin-top: -13px">input</mat-icon>
</div>
{{ "nav.dashboardadmin" | translate }}
</a>
</div>
</nm-widgetframe>