From f4f798b1b4bae3073b669a562fd2b3a7880dffc3 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Mon, 15 May 2023 11:45:23 -0300 Subject: second form --- .../src/forms/InputSelectMultiple.tsx | 147 --------------------- 1 file changed, 147 deletions(-) delete mode 100644 packages/exchange-backoffice-ui/src/forms/InputSelectMultiple.tsx (limited to 'packages/exchange-backoffice-ui/src/forms/InputSelectMultiple.tsx') diff --git a/packages/exchange-backoffice-ui/src/forms/InputSelectMultiple.tsx b/packages/exchange-backoffice-ui/src/forms/InputSelectMultiple.tsx deleted file mode 100644 index 05733fe19..000000000 --- a/packages/exchange-backoffice-ui/src/forms/InputSelectMultiple.tsx +++ /dev/null @@ -1,147 +0,0 @@ -import { Fragment, VNode, h } from "preact"; -import { Choice } from "./InputChoice.js"; -import { LabelWithTooltipMaybeRequired, UIFormProps } from "./InputLine.js"; -import { useField } from "./useField.js"; -import { useState } from "preact/hooks"; - -export function InputSelectMultiple( - props: { - choices: Choice[]; - unique?: boolean; - } & UIFormProps>, -): VNode { - const { name, label, choices, placeholder, tooltip, required, unique } = - props; - const { value, onChange } = useField<{ [s: string]: Array }>(name); - - const [filter, setFilter] = useState(undefined); - const regex = new RegExp(`.*${filter}.*`, "i"); - const choiceMap = choices.reduce((prev, curr) => { - return { ...prev, [curr.value]: curr.label }; - }, {} as Record); - - const list = value ?? []; - const filteredChoices = - filter === undefined - ? undefined - : choices.filter((v) => { - return regex.test(v.label); - }); - return ( -
- - {list.map((v, idx) => { - return ( - - {choiceMap[v]} - - - ); - })} - -
- { - setFilter(e.currentTarget.value); - }} - placeholder={placeholder} - class="w-full rounded-md border-0 bg-white py-1.5 pl-3 pr-12 text-gray-900 shadow-sm ring-1 ring-inset ring-gray-300 focus:ring-2 focus:ring-inset focus:ring-indigo-600 sm:text-sm sm:leading-6" - role="combobox" - aria-controls="options" - aria-expanded="false" - /> - - - {filteredChoices !== undefined && ( -
    - {filteredChoices.map((v, idx) => { - return ( -
  • { - setFilter(undefined); - if (unique && list.indexOf(v.value) !== -1) { - return; - } - const newValue = [...list]; - newValue.splice(0, 0, v.value); - onChange(newValue); - }} - - // tabindex="-1" - > - {/* */} - {v.label} - - {/* */} -
  • - ); - })} - - {/* */} - - {/* */} -
- )} -
-
- ); -} -- cgit v1.2.3