• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

stacklok / codegate-ui / 13724706155

07 Mar 2025 04:14PM UTC coverage: 66.516% (-3.1%) from 69.62%
13724706155

Pull #355

github

web-flow
Merge 401ebe83b into db80e1ec2
Pull Request #355: [POC] feat: node-based muxing editor

424 of 711 branches covered (59.63%)

Branch coverage included in aggregate %.

22 of 89 new or added lines in 6 files covered. (24.72%)

81 existing lines in 4 files now uncovered.

903 of 1284 relevant lines covered (70.33%)

67.21 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

25.0
/src/features/muxing/components/mux-node-matcher.tsx
1
import { MuxNodeBase } from './mux-node-base'
2
import { Lock01 } from '@untitled-ui/icons-react'
3
import * as config from '../constants/mux-node-config'
4
import SvgDrag from '@/components/icons/Drag'
5
import {
6
  FieldGroup,
7
  Input,
8
  Select,
9
  SelectButton,
10
  TextField,
11
} from '@stacklok/ui-kit'
12
import { IconRegex } from '@/components/icons/icon-regex'
13
import { Node } from '@xyflow/react'
14

15
export const MuxNodeMatcher = ({
2✔
16
  id,
17
  data,
18
}: Partial<Node> & {
19
  data: {
20
    isDisabled?: boolean
21
    onChange: (id: string | undefined, v: string) => void
22
  }
23
}) => {
24
  return (
25
    <MuxNodeBase
26
      style={{
27
        width: config.WIDTH_NODE,
28
      }}
29
      hasSourceRight
30
      hasTargetLeft
31
      icon={IconRegex}
32
      className=""
33
    >
34
      <FieldGroup className="grid w-full grid-cols-[1fr_2fr] items-center">
35
        <Select
36
          defaultSelectedKey={'all'}
37
          items={[
38
            {
39
              textValue: 'All',
40
              id: 'all',
41
            },
42
            {
43
              textValue: 'FIM',
44
              id: 'fim',
45
            },
46
            {
47
              textValue: 'Chat',
48
              id: 'chat',
49
            },
50
          ]}
51
        >
52
          <SelectButton isBorderless className="border-r border-r-gray-200" />
53
        </Select>
54
        <TextField
55
          isDisabled={data.isDisabled}
56
          type="text"
57
          aria-label="Matcher"
NEW
58
          onChange={(v) => data.onChange(id, v)}
×
59
        >
60
          <Input
61
            isBorderless
62
            icon={data.isDisabled ? <Lock01 /> : null}
×
63
            placeholder="e.g. *.ts"
64
          />
65
        </TextField>
66
      </FieldGroup>
67
    </MuxNodeBase>
68
  )
69
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc