UNPKG

react-amanda

Version:

A base-architecture and some components for React

139 lines (129 loc) 5.76 kB
var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }(); import React, { Suspense, useEffect, useState } from 'react'; // import DialogTitle from '@mui/material/DialogTitle'; import DialogContent from '@mui/material/DialogContent'; // import DialogActions from '@mui/material/DialogActions'; import Dialog from '@mui/material/Dialog'; import Button from '@mui/material/Button'; import AppBar from '@mui/material/AppBar'; import Toolbar from '@mui/material/Toolbar'; import IconButton from '@mui/material/IconButton'; import CloseIcon from '@mui/icons-material/Close'; import Divider from '@mui/material/Divider'; import Slide from '@mui/material/Slide'; import { NotFound } from 'react-admin-easy-core'; import ThemeAppbar from "./themeAppbar"; import TabFooter from './tabFooter'; var Transition = React.forwardRef(function Transition(props, ref) { return React.createElement(Slide, Object.assign({ direction: 'down', ref: ref }, props)); }); var DialogTabHeader = function DialogTabHeader(_ref) { var tab = _ref.tab, close = _ref.close, color = _ref.color; var _useState = useState(false), _useState2 = _slicedToArray(_useState, 2), update = _useState2[0], setUpdate = _useState2[1]; useEffect(function () { tab._setOptions = function () { setUpdate(!update); }; }); return React.createElement( ThemeAppbar, { position: 'static', color: color }, React.createElement( Toolbar, { variant: 'dense', className: 'E_DialogTabHeader' }, React.createElement('div', null), React.createElement( 'div', null, tab.options.title ), React.createElement( 'div', null, tab.options.btns && tab.options.btns.map(function (T, I) { return React.createElement( Button, { variant: 'contained', key: I, color: T.color || 'error', ref: function ref(domEle) { if (!tab.btns) { tab.btns = []; } tab.btns.push(domEle); }, onClick: function onClick(e) { if (T.fn) { T.fn(e, I); } else { close(tab); } } }, T.txt || 'Submit' ); }), React.createElement( 'span', null, !tab.hideClose && React.createElement( React.Fragment, null, React.createElement(Divider, { orientation: 'vertical', flexItem: true }), React.createElement( IconButton, { variant: 'contained', color: 'inherit', size: 'large', className: 'E_DialogTabHeaderClose', onClick: function onClick() { return close(tab); } }, React.createElement(CloseIcon, { fontSize: '40' }) ) ) ) ) ) ); }; var DialogTab = function DialogTab(props) { return React.createElement( Dialog, { className: 'E_DialogTab' + (props.tab.size ? ' ' + props.tab.size : ''), sx: { zIndex: props.tab.zIndex }, hideBackdrop: props.hideBackdrop // sx={{ '& .MuiDialog-paper': { width: '80%', maxHeight: 435 } }} // maxWidth="xs" // TransitionProps={{ onEntering: handleEntering }} , TransitionComponent: Transition, transitionDuration: 400, open: props.open, onClose: function onClose() { if (props.tab.route && props.tab.route.searchParams.__auto__) { props.close(); } } }, React.createElement(DialogTabHeader, props), React.createElement( DialogContent, { dividers: true, className: 'E_DialogTabContent' }, React.createElement( 'div', null, React.createElement( NotFound, { route: props.tab.route }, React.createElement( Suspense, { fallback: React.createElement( 'div', null, 'Loading.....' ) }, props.tab.ele ) ) ), React.createElement(TabFooter, { tab: props.tab }) ) ); }; export default DialogTab;