summaryrefslogtreecommitdiff
path: root/packages/exchange-backoffice-ui/src/handlers/InputInteger.tsx
blob: fb04e385247103c0efe2868d9f9fcb49fe75bb27 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import { VNode, h } from "preact";
import { InputLine, UIFormProps } from "./InputLine.js";

export function InputInteger<T extends object, K extends keyof T>(
  props: UIFormProps<T, K>,
): VNode {
  return (
    <InputLine
      type="number"
      converter={{
        //@ts-ignore
        fromStringUI: (v): number => {
          return !v ? 0 : Number.parseInt(v, 10);
        },
        //@ts-ignore
        toStringUI: (v?: number): string => {
          return v === undefined ? "" : String(v);
        },
      }}
      {...props}
    />
  );
}