@ -20,10 +20,10 @@ import { RuleNodeConfigurationComponent } from '@shared/models/rule-node.models'
import {
import {
defaultAdvancedPersistenceStrategy ,
defaultAdvancedPersistenceStrategy ,
maxDeduplicateTimeSecs ,
maxDeduplicateTimeSecs ,
Persistence Settings ,
Processing Settings ,
Persistence SettingsForm ,
Processing SettingsForm ,
Persistence Type ,
Processing Type ,
Persistence TypeTranslationMap ,
Processing TypeTranslationMap ,
TimeseriesNodeConfiguration ,
TimeseriesNodeConfiguration ,
TimeseriesNodeConfigurationForm
TimeseriesNodeConfigurationForm
} from '@home/components/rule-node/action/timeseries-config.models' ;
} from '@home/components/rule-node/action/timeseries-config.models' ;
@ -37,9 +37,9 @@ export class TimeseriesConfigComponent extends RuleNodeConfigurationComponent {
timeseriesConfigForm : FormGroup ;
timeseriesConfigForm : FormGroup ;
PersistenceType = Persistence Type ;
PersistenceType = Processing Type ;
persistenceStrategies = [ Persistence Type . ON_EVERY_MESSAGE , Persistence Type . DEDUPLICATE , Persistence Type . WEBSOCKETS_ONLY ] ;
persistenceStrategies = [ Processing Type . ON_EVERY_MESSAGE , Processing Type . DEDUPLICATE , Processing Type . WEBSOCKETS_ONLY ] ;
PersistenceTypeTranslationMap = Persistence TypeTranslationMap ;
PersistenceTypeTranslationMap = Processing TypeTranslationMap ;
maxDeduplicateTime = maxDeduplicateTimeSecs
maxDeduplicateTime = maxDeduplicateTimeSecs
@ -52,22 +52,22 @@ export class TimeseriesConfigComponent extends RuleNodeConfigurationComponent {
}
}
protected validatorTriggers ( ) : string [ ] {
protected validatorTriggers ( ) : string [ ] {
return [ 'persistenceSettings.isAdvanced' , 'persistence Settings.type' ] ;
return [ 'processingSettings.isAdvanced' , 'processing Settings.type' ] ;
}
}
protected prepareInputConfig ( config : TimeseriesNodeConfiguration ) : TimeseriesNodeConfigurationForm {
protected prepareInputConfig ( config : TimeseriesNodeConfiguration ) : TimeseriesNodeConfigurationForm {
let persistenceSettings : Persistence SettingsForm ;
let processingSettings : Processing SettingsForm ;
if ( config ? . persistence Settings ) {
if ( config ? . processing Settings ) {
const isAdvanced = config ? . persistence Settings ? . type === Persistence Type . ADVANCED ;
const isAdvanced = config ? . processing Settings ? . type === Processing Type . ADVANCED ;
persistence Settings = {
processing Settings = {
type : isAdvanced ? PersistenceType.ON_EVERY_MESSAGE : config.persistence Settings.type ,
type : isAdvanced ? ProcessingType.ON_EVERY_MESSAGE : config.processing Settings.type ,
isAdvanced : isAdvanced ,
isAdvanced : isAdvanced ,
deduplicationIntervalSecs : config.persistence Settings?.deduplicationIntervalSecs ? ? 60 ,
deduplicationIntervalSecs : config.processing Settings?.deduplicationIntervalSecs ? ? 60 ,
advanced : isAdvanced ? config.persistence Settings : defaultAdvancedPersistenceStrategy
advanced : isAdvanced ? config.processing Settings : defaultAdvancedPersistenceStrategy
}
}
} else {
} else {
persistence Settings = {
processing Settings = {
type : Persistence Type . ON_EVERY_MESSAGE ,
type : Processing Type . ON_EVERY_MESSAGE ,
isAdvanced : false ,
isAdvanced : false ,
deduplicationIntervalSecs : 60 ,
deduplicationIntervalSecs : 60 ,
advanced : defaultAdvancedPersistenceStrategy
advanced : defaultAdvancedPersistenceStrategy
@ -75,36 +75,36 @@ export class TimeseriesConfigComponent extends RuleNodeConfigurationComponent {
}
}
return {
return {
. . . config ,
. . . config ,
persistenceSettings : persistence Settings
processingSettings : processing Settings
}
}
}
}
protected prepareOutputConfig ( config : TimeseriesNodeConfigurationForm ) : TimeseriesNodeConfiguration {
protected prepareOutputConfig ( config : TimeseriesNodeConfigurationForm ) : TimeseriesNodeConfiguration {
let persistenceSettings : Persistence Settings ;
let processingSettings : Processing Settings ;
if ( config . persistence Settings . isAdvanced ) {
if ( config . processing Settings . isAdvanced ) {
persistence Settings = {
processing Settings = {
. . . config . persistence Settings . advanced ,
. . . config . processing Settings . advanced ,
type : Persistence Type . ADVANCED
type : Processing Type . ADVANCED
} ;
} ;
} else {
} else {
persistence Settings = {
processing Settings = {
type : config . persistence Settings . type ,
type : config . processing Settings . type ,
deduplicationIntervalSecs : config.persistence Settings?.deduplicationIntervalSecs
deduplicationIntervalSecs : config.processing Settings?.deduplicationIntervalSecs
} ;
} ;
}
}
return {
return {
. . . config ,
. . . config ,
persistence Settings
processing Settings
} ;
} ;
}
}
protected onConfigurationSet ( config : TimeseriesNodeConfigurationForm ) {
protected onConfigurationSet ( config : TimeseriesNodeConfigurationForm ) {
this . timeseriesConfigForm = this . fb . group ( {
this . timeseriesConfigForm = this . fb . group ( {
persistence Settings : this.fb.group ( {
processing Settings : this.fb.group ( {
isAdvanced : [ config ? . persistence Settings ? . isAdvanced ? ? false ] ,
isAdvanced : [ config ? . processing Settings ? . isAdvanced ? ? false ] ,
type : [ config ? . persistence Settings ? . type ? ? Persistence Type . ON_EVERY_MESSAGE ] ,
type : [ config ? . processing Settings ? . type ? ? Processing Type . ON_EVERY_MESSAGE ] ,
deduplicationIntervalSecs : [
deduplicationIntervalSecs : [
{ value : config?.persistence Settings?.deduplicationIntervalSecs ? ? 60 , disabled : true } ,
{ value : config?.processing Settings?.deduplicationIntervalSecs ? ? 60 , disabled : true } ,
[ Validators . required , Validators . max ( maxDeduplicateTimeSecs ) ]
[ Validators . required , Validators . max ( maxDeduplicateTimeSecs ) ]
] ,
] ,
advanced : [ { value : null , disabled : true } ]
advanced : [ { value : null , disabled : true } ]
@ -115,18 +115,18 @@ export class TimeseriesConfigComponent extends RuleNodeConfigurationComponent {
}
}
protected updateValidators ( emitEvent : boolean , _trigger? : string ) {
protected updateValidators ( emitEvent : boolean , _trigger? : string ) {
const persistence Form = this . timeseriesConfigForm . get ( 'persistence Settings' ) as FormGroup ;
const processing Form = this . timeseriesConfigForm . get ( 'processing Settings' ) as FormGroup ;
const isAdvanced : boolean = persistence Form . get ( 'isAdvanced' ) . value ;
const isAdvanced : boolean = processing Form . get ( 'isAdvanced' ) . value ;
const type : PersistenceType = persistence Form . get ( 'type' ) . value ;
const type : ProcessingType = processing Form . get ( 'type' ) . value ;
if ( ! isAdvanced && type === Persistence Type . DEDUPLICATE ) {
if ( ! isAdvanced && type === Processing Type . DEDUPLICATE ) {
persistence Form . get ( 'deduplicationIntervalSecs' ) . enable ( { emitEvent } ) ;
processing Form . get ( 'deduplicationIntervalSecs' ) . enable ( { emitEvent } ) ;
} else {
} else {
persistence Form . get ( 'deduplicationIntervalSecs' ) . disable ( { emitEvent } ) ;
processing Form . get ( 'deduplicationIntervalSecs' ) . disable ( { emitEvent } ) ;
}
}
if ( isAdvanced ) {
if ( isAdvanced ) {
persistence Form . get ( 'advanced' ) . enable ( { emitEvent } ) ;
processing Form . get ( 'advanced' ) . enable ( { emitEvent } ) ;
} else {
} else {
persistence Form . get ( 'advanced' ) . disable ( { emitEvent } ) ;
processing Form . get ( 'advanced' ) . disable ( { emitEvent } ) ;
}
}
}
}
}
}