in progress
This commit is contained in:
@@ -1 +1,5 @@
|
||||
<p-dropdown *ngIf="probeHosts.length > 0" [options]="options" [(ngModel)]="selected" optionLabel="displayName" placeholder="Select a Probe"></p-dropdown>
|
||||
<div *ngIf="probeHostID else dropdown"></div>
|
||||
<ng-template #dropdown>
|
||||
<p-dropdown *ngIf="options.length > 0" [options]="options" [(ngModel)]="selected" optionLabel="displayName" placeholder="Select a Probe"
|
||||
(onChange)="onSelect($event.data)"></p-dropdown>
|
||||
</ng-template>
|
||||
@@ -1,11 +1,11 @@
|
||||
import { Component, Input, Output, EventEmitter, OnChanges, SimpleChanges } from '@angular/core';
|
||||
import { Component, Input, Output, EventEmitter, OnChanges, SimpleChanges, OnInit } from '@angular/core';
|
||||
import { ProbeHost, Probe } from '@overflow/commons-typescript/model/probe';
|
||||
|
||||
@Component({
|
||||
selector: 'of-probe-selector',
|
||||
templateUrl: './selector.component.html',
|
||||
})
|
||||
export class ProbeSelectorComponent implements OnChanges {
|
||||
export class ProbeSelectorComponent implements OnInit, OnChanges {
|
||||
|
||||
@Output() select = new EventEmitter<ProbeHost>();
|
||||
@Input() probeHosts: ProbeHost[];
|
||||
@@ -16,6 +16,10 @@ export class ProbeSelectorComponent implements OnChanges {
|
||||
constructor() {
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
this.onPreselected();
|
||||
}
|
||||
|
||||
ngOnChanges(changes: SimpleChanges): void {
|
||||
this.options = [];
|
||||
for (const ph of this.probeHosts) {
|
||||
@@ -23,7 +27,16 @@ export class ProbeSelectorComponent implements OnChanges {
|
||||
}
|
||||
}
|
||||
|
||||
onProbeSelect(event) {
|
||||
this.select.emit(event.data);
|
||||
onPreselected() {
|
||||
if (this.probeHostID) {
|
||||
const preselected: ProbeHost = this.probeHosts.find(probeHost => probeHost.id === this.probeHostID);
|
||||
this.select.emit(preselected);
|
||||
}
|
||||
}
|
||||
|
||||
onSelect(probe: Probe) {
|
||||
const optionselected = this.probeHosts.find(probeHost => probeHost.id === probe.id);
|
||||
this.select.emit(optionselected);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1 +1 @@
|
||||
<of-probe-selector (select)="onSelect($event)" [probeHosts]="probeHosts$ | async" [probeHostID]="probeHostID"></of-probe-selector>
|
||||
<of-probe-selector (select)="select.emit($event)" [probeHosts]="probeHosts$ | async" [probeHostID]="probeHostID"></of-probe-selector>
|
||||
@@ -3,7 +3,7 @@ import { ProbeHost, Probe } from '@overflow/commons-typescript/model/probe';
|
||||
import { Observable } from 'rxjs';
|
||||
import { Store, select } from '@ngrx/store';
|
||||
import * as ProbeEntityStore from '@overflow/probe/store/entity/probe';
|
||||
import { ProbeListContainerSelector } from '@overflow/probe/store';
|
||||
import { ProbeSelectorContainerSelector } from '@overflow/probe/store';
|
||||
import { AuthContainerSelector } from '@overflow/shared/auth/store';
|
||||
import { DomainMember } from '@overflow/commons-typescript/model/domain';
|
||||
|
||||
@@ -23,17 +23,11 @@ export class ProbeSelectorContainerComponent implements OnInit {
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
this.probeHosts$ = this.store.pipe(select(ProbeListContainerSelector.selectAll));
|
||||
this.probeHosts$ = this.store.pipe(select(ProbeSelectorContainerSelector.selectAll));
|
||||
this.store.select(AuthContainerSelector.selectDomainMember).subscribe(
|
||||
(domainMember: DomainMember) => {
|
||||
this.store.dispatch(new ProbeEntityStore.ReadAllByDomainID(domainMember.domain.id));
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
onSelect(probeHost: ProbeHost) {
|
||||
alert(probeHost.probe.displayName);
|
||||
// this.select.emit(probeHost);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user