import { Card, Form, FormLayout, TextField, Button, Spinner, Select } from '@shopify/polaris'; import { Toast } from '@shopify/app-bridge-react'; import React from 'react'; import fetch from 'node-fetch'; class OrderManualSubmitForm extends React.Component { state = { orderNumber : "", loading : false, exportType : "full", toastMessage : null, }; setOrderNumber = (value) => { this.setState({ orderNumber: value }) }; setExportChange = (value) => { this.setState({ exportType: value }) } handleSubmit = (_event) => { this.setState({ loading: true, }); const {orderNumber, exportType} = this.state; const data = { exportType: exportType }; const fetchUrl = `/order/${orderNumber}/export`; fetch(fetchUrl, { method: "POST", body: JSON.stringify(data), headers: { 'Content-Type': 'application/json', 'Accept': 'application/json' } }) .then(response => { return response.json(); }) .then(json => { this.setState({ loading: false, toastMessage: json.message, }); }); }; dismissToast = () => { this.setState({ toastMessage : null }) }; render() { const { handleSubmit, setOrderNumber, setExportChange, dismissToast } = this; const { exportType, orderNumber, loading, toastMessage } = this.state; const exportOptions = [ {label: 'Full', value: 'full'}, {label: 'Rental', value: 'rental'}, {label: 'Retail', value: 'retail'} ]; return (
} connectedRight={ } /> { loading ? : null } { toastMessage ? : null} ); } } export default OrderManualSubmitForm;