1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
  | import React, { useState, useRef, useEffect, useMemo } from "react"; 
 |  import { 
 |    CreateBase, 
 |    useTranslate, 
 |    TextInput, 
 |    NumberInput, 
 |    BooleanInput, 
 |    DateInput, 
 |    SaveButton, 
 |    SelectInput, 
 |    ReferenceInput, 
 |    ReferenceArrayInput, 
 |    AutocompleteInput, 
 |    Toolbar, 
 |    required, 
 |    useDataProvider, 
 |    useNotify, 
 |    Form, 
 |    useCreateController, 
 |  } from "react-admin"; 
 |  import { 
 |    Dialog, 
 |    DialogActions, 
 |    DialogContent, 
 |    DialogTitle, 
 |    Stack, 
 |    Grid, 
 |    Box, 
 |  } from "@mui/material"; 
 |  import DialogCloseButton from "../../components/DialogCloseButton"; 
 |  import SerialRuleItem from "../serialRuleItem/index"; 
 |    
 |  const SerialRuleDetail = (props) => { 
 |    const { open, setOpen } = props; 
 |    
 |    const translate = useTranslate(); 
 |    const notify = useNotify(); 
 |    
 |    const handleClose = (event, reason) => { 
 |      if (reason !== "backdropClick") { 
 |        setOpen(false); 
 |      } 
 |    }; 
 |    
 |    const handleSuccess = async (data) => { 
 |      setOpen(false); 
 |      notify("common.response.success"); 
 |    }; 
 |    
 |    const handleError = async (error) => { 
 |      notify(error.message || "common.response.fail", { 
 |        type: "error", 
 |        messageArgs: { _: error.message }, 
 |      }); 
 |    }; 
 |    
 |    return ( 
 |      <> 
 |        <Dialog 
 |          open={open} 
 |          onClose={handleClose} 
 |          aria-labelledby="form-dialog-title" 
 |          fullWidth 
 |          disableRestoreFocus 
 |          maxWidth="xl" // 'xs' | 'sm' | 'md' | 'lg' | 'xl' 
 |        > 
 |          <DialogTitle 
 |            id="form-dialog-title" 
 |            sx={{ 
 |              position: "sticky", 
 |              top: 0, 
 |              backgroundColor: "background.paper", 
 |              zIndex: 1000, 
 |            }} 
 |          > 
 |            {translate("create.title")} 
 |            <Box sx={{ position: "absolute", top: 8, right: 8, zIndex: 1001 }}> 
 |              <DialogCloseButton onClose={handleClose} /> 
 |            </Box> 
 |          </DialogTitle> 
 |    
 |          <DialogContent sx={{ mt: 2 }}> 
 |            <SerialRuleItem.list /> 
 |          </DialogContent> 
 |        </Dialog> 
 |      </> 
 |    ); 
 |  }; 
 |    
 |  export default SerialRuleDetail; 
 |  
  |