summaryrefslogtreecommitdiffstats
path: root/public/src/app/rule-engine/from/from.component.ts
blob: bc1dedbd52f368dd1c37bdbfb30e931e65ee74a2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
import {
  Component,
  Input,
  Output,
  EventEmitter,
  ViewChild
} from '@angular/core';
// import { From } from "../model";
import { Subject } from 'rxjs/Subject';
import {
  trigger,
  state,
  animate,
  transition,
  style,
  keyframes
} from '@angular/animations';
import { NgForm } from '@angular/forms';

@Component({
  selector: 'app-from',
  templateUrl: './from.component.html',
  styleUrls: ['./from.component.scss'],
  animations: [
    trigger('state', [
      state(
        'open',
        style({
          opacity: 1,
          height: 'auto'
        })
      ),
      transition('* => open', [
        animate(
          200,
          keyframes([
            style({
              opacity: 1,
              height: 'auto'
            })
          ])
        )
      ]),
      state(
        'closed',
        style({
          opacity: 0,
          height: 0
        })
      )
    ])
  ]
})
export class FromComponent {
  from: any = {
    value: '',
    regex: '',
    state: 'closed',
    values: [{ value: '' }, { value: '' }]
  };
  @Input() actionType;
  @Output() onFromChange = new EventEmitter();
  @ViewChild('fromFrm') fromFrm: NgForm;
  hoveredIndex;
  // public keyUp = new BehaviorSubject<string>(null);

  ngOnInit(): void {
    if (this.actionType === 'clear') {
      this.from.values = [{ value: '' }];
    }
  }

  showRegex(item) {
    item.state = item.state === 'closed' ? 'open' : 'closed';
    if (item.state === 'closed') {
      item.regex = '';
    }
  }
  updateMode(fromData) {
    console.log(fromData);
    if (fromData) {
      this.from = fromData;
    }
  }

  constructor() {}

  modelChange(event) {
    this.onFromChange.emit(event);
  }
  addFromInput() {
    this.from.values.push({ value: '' });
  }
  removeFromInput(index) {
    this.from.values.splice(index, 1);
  }
}