export function renderView()

in web/src/shared/components/model/model-render-components.tsx [19:59]


export function renderView<TValue extends string, TData>(
    itemConfigView: IItemConfigView<TValue, TData>
) {
    if (itemConfigView.type === 'pickerInput' && itemConfigView.value.dataSource) {
        return (
            <FlexRow padding="6" vPadding="24">
                <LabeledInput
                    label={itemConfigView.labelName}
                    isRequired={itemConfigView.isRequired}
                >
                    <PickerInput
                        onValueChange={itemConfigView.value.valueChange}
                        //@ts-ignore
                        getName={(item) => item?.name ?? 'test'}
                        valueType="id"
                        selectionMode="single"
                        value={itemConfigView.value.value}
                        minBodyWidth={100}
                        disableClear={true}
                        dataSource={itemConfigView.value.dataSource}
                    />
                </LabeledInput>
            </FlexRow>
        );
    } else if (itemConfigView.type === 'textInput') {
        return (
            <FlexRow padding="6" vPadding="24">
                <LabeledInput
                    label={itemConfigView.labelName}
                    isRequired={itemConfigView.isRequired}
                >
                    <TextInput
                        value={itemConfigView.value.value}
                        onValueChange={mapUndefString(itemConfigView.value.valueChange)}
                    />
                </LabeledInput>
            </FlexRow>
        );
    }
    return null;
}