From c680f5aa71b08e978444df07f93c381f9d47ab82 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Mon, 5 Jun 2023 10:04:09 -0300 Subject: rename aml --- .../src/handlers/InputArray.tsx | 183 --------------------- 1 file changed, 183 deletions(-) delete mode 100644 packages/exchange-backoffice-ui/src/handlers/InputArray.tsx (limited to 'packages/exchange-backoffice-ui/src/handlers/InputArray.tsx') diff --git a/packages/exchange-backoffice-ui/src/handlers/InputArray.tsx b/packages/exchange-backoffice-ui/src/handlers/InputArray.tsx deleted file mode 100644 index 00379bed6..000000000 --- a/packages/exchange-backoffice-ui/src/handlers/InputArray.tsx +++ /dev/null @@ -1,183 +0,0 @@ -import { Fragment, VNode, h } from "preact"; -import { useEffect, useState } from "preact/hooks"; -import { FormProvider, InputArrayFieldState } from "./FormProvider.js"; -import { LabelWithTooltipMaybeRequired, UIFormProps } from "./InputLine.js"; -import { RenderAllFieldsByUiConfig, UIFormField } from "./forms.js"; -import { useField } from "./useField.js"; -import { TranslatedString } from "@gnu-taler/taler-util"; - -function Option({ - label, - disabled, - isFirst, - isLast, - isSelected, - onClick, -}: { - label: TranslatedString; - isFirst?: boolean; - isLast?: boolean; - isSelected?: boolean; - disabled?: boolean; - onClick: () => void; -}): VNode { - let clazz = "relative flex border p-4 focus:outline-none disabled:text-grey"; - if (isFirst) { - clazz += " rounded-tl-md rounded-tr-md "; - } - if (isLast) { - clazz += " rounded-bl-md rounded-br-md "; - } - if (isSelected) { - clazz += " z-10 border-indigo-200 bg-indigo-50 "; - } else { - clazz += " border-gray-200"; - } - if (disabled) { - clazz += - " cursor-not-allowed bg-gray-50 text-gray-500 ring-gray-200 text-gray"; - } else { - clazz += " cursor-pointer"; - } - return ( - - ); -} - -export function InputArray( - props: { - fields: UIFormField[]; - labelField: string; - } & UIFormProps, -): VNode { - const { fields, labelField, name, label, required, tooltip } = props; - const { value, onChange, state } = useField(name); - const list = (value ?? []) as Array>; - const [selectedIndex, setSelected] = useState(undefined); - const selected = - selectedIndex === undefined ? undefined : list[selectedIndex]; - - return ( -
- - -
- {list.map((v, idx) => { - return ( -
- {selectedIndex !== undefined && ( - /** - * This form provider act as a substate of the parent form - * Consider creating an InnerFormProvider since not every feature is expected - */ - { - // current state is ignored - // the state is defined by the parent form - - // elements should be present in the state object since this is expected to be an array - //@ts-ignore - return state.elements[selectedIndex]; - }} - onSubmit={(v) => { - const newValue = [...list]; - newValue.splice(selectedIndex, 1, v); - onChange(newValue as T[K]); - setSelected(undefined); - }} - onUpdate={(v) => { - const newValue = [...list]; - newValue.splice(selectedIndex, 1, v); - onChange(newValue as T[K]); - }} - > -
-
- -
-
-
- )} - {selectedIndex !== undefined && ( -
-
- {selected !== undefined && ( - - )} -
-
- )} -
- ); -} -- cgit v1.2.3