sensor in progress
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
<h1>Add Sensor</h1>
|
||||
<!-- <h1>Add Sensor</h1>
|
||||
<div *ngIf="page === 1; else etc">
|
||||
<p-accordion [multiple]="false" [activeIndex]="step" (onOpen)="onTabOpen($event)">
|
||||
<p-accordionTab header="{{getTitle(0)}}" [disabled]="preTarget" class="ui-nopad">
|
||||
@@ -26,35 +26,6 @@
|
||||
|
||||
<button pButton *ngIf="page === 1" class="ui-button-danger ui-button-width-fit" type="button" label="Cancel" icon="ui-icon-close" (click)="onCancel()"></button>
|
||||
<button pButton *ngIf="page === 2" class="ui-button-danger ui-button-width-fit" type="button" label="Prev" icon="ui-icon-close" (click)="onPrev()"></button>
|
||||
</div>
|
||||
</div> -->
|
||||
|
||||
|
||||
|
||||
<!-- <div [hidden]="step !== 1">
|
||||
<div class="ui-g">
|
||||
<div class="ui-g-6">
|
||||
<of-target-selector [preTarget]="preTarget" (targetSelected)="onTargetSelect($event)"></of-target-selector>
|
||||
</div>
|
||||
<div class="ui-g-6">
|
||||
<of-crawler-auth [crawler]="selectedCrawler" (credentialPassed)="onCredentialPass($event)"></of-crawler-auth>
|
||||
</div>
|
||||
<div class="ui-g-6">
|
||||
<of-crawler-selector [target]="selectedTarget" (crawlerSelected)="onCrawlerSelect($event)"></of-crawler-selector>
|
||||
</div>
|
||||
<div class="ui-g-6">
|
||||
<of-sensor-item-selector [target]="selectedTarget" [crawler]="selectedCrawler" (sensorItemsSelected)="onItemsSelect($event)"></of-sensor-item-selector>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div *ngIf="step === 2">
|
||||
<of-sensor-setting-etc [selectedTarget]="selectedTarget" [selectedCrawler]="selectedCrawler" [selectedItems]="selectedSensorDisplayItems"></of-sensor-setting-etc>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<button pButton *ngIf="step === 1" class="ui-button-danger" type="button" label="Cancel" icon="ui-icon-close" (click)="onCancel()"></button>
|
||||
<button pButton *ngIf="step === 2" class="ui-button-danger" type="button" label="Prev" icon="ui-icon-close" (click)="onPrev()"></button>
|
||||
|
||||
<button pButton *ngIf="step === 1" [disabled]="!nextable" type="button" label="Next" icon="fa-check" (click)="onNext()"></button>
|
||||
<button pButton *ngIf="step === 2" type="button" label="Done" icon="fa-check" (click)="onDone()"></button>
|
||||
</div> -->
|
||||
<div>SENSOR_SETTING_COMPONENT</div>
|
||||
@@ -1,161 +1,13 @@
|
||||
import { Component, OnInit, Input, Inject, DoCheck, ViewEncapsulation, Output, EventEmitter, OnChanges } from '@angular/core';
|
||||
import { Target } from '@overflow/commons-typescript/model/target';
|
||||
import { Infra } from '@overflow/commons-typescript/model/infra';
|
||||
import { MetaCrawler } from '@overflow/commons-typescript/model/meta';
|
||||
import { MetaSensorDisplayItem } from '@overflow/commons-typescript/model/meta';
|
||||
|
||||
import { Store, select, StateObservable } from '@ngrx/store';
|
||||
import { RPCClientError } from '@loafer/ng-rpc';
|
||||
import * as SensorItemKeyListStore from '@overflow/sensor-item/store/key-list';
|
||||
import { ReadSensorItemKeySelector } from '@overflow/sensor-item/store';
|
||||
import { MetaSensorItemKey } from '@overflow/commons-typescript/model/meta';
|
||||
import { TreeNode } from 'primeng/primeng';
|
||||
import { Component } from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'of-sensor-setting',
|
||||
templateUrl: './setting.component.html',
|
||||
encapsulation: ViewEncapsulation.None
|
||||
})
|
||||
export class SettingComponent implements OnInit, DoCheck, OnChanges {
|
||||
|
||||
@Input() preTarget: Target;
|
||||
@Output() close = new EventEmitter();
|
||||
@Input() visible: boolean;
|
||||
@Input() editMode: boolean;
|
||||
|
||||
nextable = false;
|
||||
selectedTarget: Target;
|
||||
selectedCrawler: MetaCrawler;
|
||||
credentialPassed: boolean;
|
||||
selectedSensorDisplayItems: MetaSensorDisplayItem[];
|
||||
itemNodes: TreeNode[];
|
||||
step = 0;
|
||||
page = 1;
|
||||
|
||||
sensorItemKeys$: StateObservable;
|
||||
export class SettingComponent {
|
||||
|
||||
|
||||
constructor(
|
||||
private keyListStore: Store<SensorItemKeyListStore.State>
|
||||
) {
|
||||
keyListStore.pipe(select(ReadSensorItemKeySelector.select('list')));
|
||||
this.editMode = true;
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
this.step = this.preTarget ? 1 : 0;
|
||||
// this.sensorItemKeys$.subscribe(
|
||||
// (list: MetaSensorItemKey[]) => {
|
||||
// if (list !== null) {
|
||||
// console.log(list);
|
||||
// }
|
||||
// },
|
||||
// (error: RPCClientError) => {
|
||||
// console.log(error.response.message);
|
||||
// }
|
||||
// );
|
||||
}
|
||||
|
||||
ngOnChanges(changes) {
|
||||
this.step = this.preTarget ? 1 : 0;
|
||||
}
|
||||
|
||||
ngDoCheck() {
|
||||
try {
|
||||
if (
|
||||
this.selectedTarget === null ||
|
||||
this.selectedCrawler === null ||
|
||||
this.itemNodes === null ||
|
||||
this.itemNodes.length === 0 ||
|
||||
!this.credentialPassed
|
||||
) {
|
||||
this.nextable = false;
|
||||
} else {
|
||||
this.nextable = true;
|
||||
}
|
||||
} catch (exception) {
|
||||
this.nextable = false;
|
||||
}
|
||||
}
|
||||
|
||||
onCancel() {
|
||||
this.page = 1;
|
||||
this.step = 0;
|
||||
this.visible = false;
|
||||
this.nextable = false;
|
||||
this.selectedTarget = null;
|
||||
this.selectedCrawler = null;
|
||||
this.credentialPassed = false;
|
||||
this.selectedSensorDisplayItems = null;
|
||||
this.close.emit();
|
||||
}
|
||||
|
||||
onNext() {
|
||||
this.page += 1;
|
||||
}
|
||||
|
||||
onPrev() {
|
||||
this.page -= 1;
|
||||
}
|
||||
|
||||
onDone() {
|
||||
this.selectedSensorDisplayItems = [];
|
||||
for (const node of this.itemNodes) {
|
||||
if (node.data && node.data !== undefined) {
|
||||
this.selectedSensorDisplayItems.push(node.data);
|
||||
}
|
||||
}
|
||||
console.log(this.selectedSensorDisplayItems);
|
||||
}
|
||||
|
||||
onTargetSelect(t: Target) {
|
||||
this.selectedTarget = t;
|
||||
this.step = 1;
|
||||
}
|
||||
onCrawlerSelect(c: MetaCrawler) {
|
||||
this.selectedCrawler = c;
|
||||
this.step = 2;
|
||||
}
|
||||
onCredentialPass(b: boolean) {
|
||||
if (!b) {
|
||||
return;
|
||||
}
|
||||
this.credentialPassed = b;
|
||||
this.step = 3;
|
||||
}
|
||||
onItemsSelect(nodes: TreeNode[]) {
|
||||
this.itemNodes = nodes;
|
||||
}
|
||||
|
||||
onTabOpen(event) {
|
||||
this.step = event.index;
|
||||
}
|
||||
|
||||
getTitle(index) {
|
||||
if (index === 0 && this.preTarget) {
|
||||
return this.preTarget.displayName;
|
||||
}
|
||||
let title = '';
|
||||
switch (index) {
|
||||
case 0:
|
||||
title = this.selectedTarget && this.step !== index ?
|
||||
this.selectedTarget.displayName :
|
||||
'Choose a Target to monitor.';
|
||||
break;
|
||||
case 1:
|
||||
title = this.selectedCrawler && this.step !== index ?
|
||||
this.selectedCrawler.name :
|
||||
'Choose a Crawler.';
|
||||
break;
|
||||
case 2:
|
||||
title = this.credentialPassed && this.step !== index ?
|
||||
'Credentials test succeed.' :
|
||||
'Credentials';
|
||||
break;
|
||||
case 3:
|
||||
title = 'Choose Sensor Items.';
|
||||
break;
|
||||
}
|
||||
return title;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user