1
0
mirror of https://gitlab.com/ceda_ei/sonzai.git synced 2025-07-14 18:56:54 +02:00
sonzai/components/InputDialog.js
Ceda EI 52360965c2 Add Subjects pane.
SubjectsContainer as Redux Container. Subjects is the component.
2020-03-16 20:31:05 +05:30

44 lines
1.0 KiB
JavaScript

import React, { useState } from "react";
import PropTypes from "prop-types";
import {
Portal,
Dialog,
Button,
TextInput,
} from "react-native-paper";
export default function InputDialog({ visible, onOK, onDismiss, title, label, placeholder }) {
const [ text, setText ] = useState("");
return (
<Portal>
<Dialog
visible={visible}
onDismiss={() => {onDismiss(); setText("");}}>
<Dialog.Title>{title}</Dialog.Title>
<Dialog.Content>
<TextInput
label={label}
placeholder={placeholder}
value={text}
onChangeText={text => setText(text)}
mode="outlined"
/>
</Dialog.Content>
<Dialog.Actions>
<Button onPress={() => {onDismiss(); setText("");}}>Cancel</Button>
<Button onPress={() => {onOK(text); setText("");}}>OK</Button>
</Dialog.Actions>
</Dialog>
</Portal>
);
}
InputDialog.propTypes = {
visible: PropTypes.bool,
onOK: PropTypes.func,
onDismiss: PropTypes.func,
title: PropTypes.string,
label: PropTypes.string,
placeholder: PropTypes.string,
};