Browse Source

UI: Debug Settings minor refactoring

pull/12226/head
mpetrov 2 years ago
parent
commit
935739ac85
  1. 0
      ui-ngx/src/app/modules/home/components/entity/debug/debug-settings-button.component.html
  2. 10
      ui-ngx/src/app/modules/home/components/entity/debug/debug-settings-button.component.ts
  3. 0
      ui-ngx/src/app/modules/home/components/entity/debug/debug-settings-panel.component.html
  4. 4
      ui-ngx/src/app/modules/home/components/entity/debug/debug-settings-panel.component.ts
  5. 2
      ui-ngx/src/app/modules/home/pages/rulechain/rulechain.module.ts
  6. 6
      ui-ngx/src/app/shared/models/entity.models.ts
  7. 6
      ui-ngx/src/app/shared/models/rule-node.models.ts

0
ui-ngx/src/app/modules/home/components/debug-settings/debug-settings-button.component.html → ui-ngx/src/app/modules/home/components/entity/debug/debug-settings-button.component.html

10
ui-ngx/src/app/modules/home/components/debug-settings/debug-settings-button.component.ts → ui-ngx/src/app/modules/home/components/entity/debug/debug-settings-button.component.ts

@ -24,7 +24,7 @@ import { DebugSettingsPanelComponent } from './debug-settings-panel.component';
import { takeUntilDestroyed } from '@angular/core/rxjs-interop'; import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
import { of, shareReplay, timer } from 'rxjs'; import { of, shareReplay, timer } from 'rxjs';
import { SECOND } from '@shared/models/time/time.models'; import { SECOND } from '@shared/models/time/time.models';
import { DebugSettings } from '@shared/models/entity.models'; import { EntityDebugSettings } from '@shared/models/entity.models';
import { map, startWith, switchMap, takeWhile } from 'rxjs/operators'; import { map, startWith, switchMap, takeWhile } from 'rxjs/operators';
import { getCurrentAuthState } from '@core/auth/auth.selectors'; import { getCurrentAuthState } from '@core/auth/auth.selectors';
import { AppState } from '@core/core.state'; import { AppState } from '@core/core.state';
@ -79,7 +79,7 @@ export class DebugSettingsButtonComponent implements ControlValueAccessor {
readonly maxDebugModeDurationMinutes = getCurrentAuthState(this.store).maxDebugModeDurationMinutes; readonly maxDebugModeDurationMinutes = getCurrentAuthState(this.store).maxDebugModeDurationMinutes;
private propagateChange: (settings: DebugSettings) => void = () => {}; private propagateChange: (settings: EntityDebugSettings) => void = () => {};
constructor(private popoverService: TbPopoverService, constructor(private popoverService: TbPopoverService,
private renderer: Renderer2, private renderer: Renderer2,
@ -126,20 +126,20 @@ export class DebugSettingsButtonComponent implements ControlValueAccessor {
{}, {},
{}, {}, true); {}, {}, true);
debugStrategyPopover.tbComponentRef.instance.popover = debugStrategyPopover; debugStrategyPopover.tbComponentRef.instance.popover = debugStrategyPopover;
debugStrategyPopover.tbComponentRef.instance.onSettingsApplied.subscribe((settings: DebugSettings) => { debugStrategyPopover.tbComponentRef.instance.onSettingsApplied.subscribe((settings: EntityDebugSettings) => {
this.debugSettingsFormGroup.patchValue(settings); this.debugSettingsFormGroup.patchValue(settings);
debugStrategyPopover.hide(); debugStrategyPopover.hide();
}); });
} }
} }
registerOnChange(fn: (settings: DebugSettings) => void): void { registerOnChange(fn: (settings: EntityDebugSettings) => void): void {
this.propagateChange = fn; this.propagateChange = fn;
} }
registerOnTouched(_: () => void): void {} registerOnTouched(_: () => void): void {}
writeValue(settings: DebugSettings): void { writeValue(settings: EntityDebugSettings): void {
this.debugSettingsFormGroup.patchValue(settings, {emitEvent: false}); this.debugSettingsFormGroup.patchValue(settings, {emitEvent: false});
this.debugSettingsFormGroup.get('allEnabled').updateValueAndValidity({onlySelf: true}); this.debugSettingsFormGroup.get('allEnabled').updateValueAndValidity({onlySelf: true});
} }

0
ui-ngx/src/app/modules/home/components/debug-settings/debug-settings-panel.component.html → ui-ngx/src/app/modules/home/components/entity/debug/debug-settings-panel.component.html

4
ui-ngx/src/app/modules/home/components/debug-settings/debug-settings-panel.component.ts → ui-ngx/src/app/modules/home/components/entity/debug/debug-settings-panel.component.ts

@ -32,7 +32,7 @@ import { SECOND } from '@shared/models/time/time.models';
import { DurationLeftPipe } from '@shared/pipe/duration-left.pipe'; import { DurationLeftPipe } from '@shared/pipe/duration-left.pipe';
import { of, shareReplay, timer } from 'rxjs'; import { of, shareReplay, timer } from 'rxjs';
import { takeUntilDestroyed } from '@angular/core/rxjs-interop'; import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
import { DebugSettings } from '@shared/models/entity.models'; import { EntityDebugSettings } from '@shared/models/entity.models';
import { distinctUntilChanged, map, startWith, switchMap, takeWhile } from 'rxjs/operators'; import { distinctUntilChanged, map, startWith, switchMap, takeWhile } from 'rxjs/operators';
@Component({ @Component({
@ -78,7 +78,7 @@ export class DebugSettingsPanelComponent extends PageComponent implements OnInit
shareReplay(1), shareReplay(1),
); );
onSettingsApplied = new EventEmitter<DebugSettings>(); onSettingsApplied = new EventEmitter<EntityDebugSettings>();
constructor(private fb: FormBuilder, constructor(private fb: FormBuilder,
private cd: ChangeDetectorRef) { private cd: ChangeDetectorRef) {

2
ui-ngx/src/app/modules/home/pages/rulechain/rulechain.module.ts

@ -33,7 +33,7 @@ import { RuleNodeLinkComponent } from './rule-node-link.component';
import { LinkLabelsComponent } from '@home/pages/rulechain/link-labels.component'; import { LinkLabelsComponent } from '@home/pages/rulechain/link-labels.component';
import { RuleNodeConfigComponent } from './rule-node-config.component'; import { RuleNodeConfigComponent } from './rule-node-config.component';
import { DurationLeftPipe } from '@shared/pipe/duration-left.pipe'; import { DurationLeftPipe } from '@shared/pipe/duration-left.pipe';
import { DebugSettingsButtonComponent } from '@home/components/debug-settings/debug-settings-button.component'; import { DebugSettingsButtonComponent } from '@home/components/entity/debug-settings/debug-settings-button.component';
@NgModule({ @NgModule({
declarations: [ declarations: [

6
ui-ngx/src/app/shared/models/entity.models.ts

@ -193,11 +193,11 @@ export interface HasVersion {
version?: number; version?: number;
} }
export interface HasDebugSettings { export interface HasEntityDebugSettings {
debugSettings?: DebugSettings; debugSettings?: EntityDebugSettings;
} }
export interface DebugSettings { export interface EntityDebugSettings {
failuresEnabled?: boolean; failuresEnabled?: boolean;
allEnabled?: boolean; allEnabled?: boolean;
allEnabledUntil?: number; allEnabledUntil?: number;

6
ui-ngx/src/app/shared/models/rule-node.models.ts

@ -27,13 +27,13 @@ import { AppState } from '@core/core.state';
import { AbstractControl, UntypedFormGroup } from '@angular/forms'; import { AbstractControl, UntypedFormGroup } from '@angular/forms';
import { RuleChainType } from '@shared/models/rule-chain.models'; import { RuleChainType } from '@shared/models/rule-chain.models';
import { DebugRuleNodeEventBody } from '@shared/models/event.models'; import { DebugRuleNodeEventBody } from '@shared/models/event.models';
import { HasDebugSettings } from '@shared/models/entity.models'; import { HasEntityDebugSettings } from '@shared/models/entity.models';
export interface RuleNodeConfiguration { export interface RuleNodeConfiguration {
[key: string]: any; [key: string]: any;
} }
export interface RuleNode extends BaseData<RuleNodeId>, HasDebugSettings { export interface RuleNode extends BaseData<RuleNodeId>, HasEntityDebugSettings {
ruleChainId?: RuleChainId; ruleChainId?: RuleChainId;
type: string; type: string;
name: string; name: string;
@ -331,7 +331,7 @@ export interface RuleNodeComponentDescriptor extends ComponentDescriptor {
configurationDescriptor?: RuleNodeConfigurationDescriptor; configurationDescriptor?: RuleNodeConfigurationDescriptor;
} }
export interface FcRuleNodeType extends FcNode, HasDebugSettings { export interface FcRuleNodeType extends FcNode, HasEntityDebugSettings {
component?: RuleNodeComponentDescriptor; component?: RuleNodeComponentDescriptor;
singletonMode?: boolean; singletonMode?: boolean;
queueName?: string; queueName?: string;

Loading…
Cancel
Save