{"version":3,"sources":["theme/palette.js","theme/typography.js","theme/overrides/MuiIconButton.js","theme/overrides/index.js","theme/overrides/MuiButton.js","theme/overrides/MuiPaper.js","theme/overrides/MuiTableCell.js","theme/overrides/MuiTableHead.js","theme/overrides/MuiTypography.js","theme/index.js","components/SearchInput/SearchInput.js","components/StatusBullet/StatusBullet.js","components/RouteWithLayout/RouteWithLayout.js","layouts/Main/components/Footer/Footer.js","layouts/Main/components/AppBar/AppBar.jsx","layouts/Main/components/AccountName/AccountName.jsx","layouts/Main/Main.js","store/actions/alert.js","store/actions/actionTypes.js","axios-orders.js","layouts/Login/Login.jsx","store/actions/auth.js","layouts/Home/Home.jsx","views/Dashboard/components/InboxMailOnProcess/InboxMailOnProcess.jsx","views/Dashboard/components/InboxMailDone/InboxMailDone.jsx","views/Dashboard/components/OutboxMailOnProcess/OutboxMailOnProcess.jsx","views/Dashboard/components/OutboxMailDone/OutboxMailDone.jsx","views/Dashboard/components/GrafikInboxMail/chart.js","views/Dashboard/components/GrafikInboxMail/roundedBar.js","views/Dashboard/components/GrafikInboxMail/GrafikInboxMail.jsx","views/Dashboard/components/GrafikOutboxMail/chart.js","views/Dashboard/components/GrafikOutboxMail/roundedBar.js","views/Dashboard/components/GrafikOutboxMail/GrafikOutboxMail.jsx","views/Dashboard/Dashboard.jsx","store/actions/dashboard.js","views/Profile/components/AccountImage/AccountImage.jsx","views/Profile/Profile.jsx","store/actions/suratMasuk.js","store/actions/bagian.js","views/SuratMasuk/DetailSuratMasuk/Disposisi/Disposisi.jsx","views/SuratMasuk/DetailSuratMasuk/DetailSuratMasuk.jsx","views/SuratMasuk/TableSuratMasuk/TableSuratMasuk.jsx","views/SuratMasuk/EditSuratMasuk/UploadFile/UploadFile.jsx","views/SuratMasuk/EditSuratMasuk/EditSuratMasuk.jsx","views/SuratMasuk/SuratMasuk.jsx","store/actions/suratKeluar.js","views/SuratKeluar/TableSuratKeluar/TableSuratKeluar.jsx","views/SuratKeluar/EditSuratKeluar/UploadFile/UploadFile.jsx","views/SuratKeluar/EditSuratKeluar/EditSuratKeluar.jsx","views/SuratKeluar/SuratKeluar.jsx","views/SuratMasuk/FormSuratMasuk/UploadFile/UploadFile.jsx","views/SuratMasuk/FormSuratMasuk/FormSuratMasuk.jsx","views/SuratKeluar/FormSuratKeluar/UploadFile/UploadFile.jsx","views/SuratKeluar/FormSuratKeluar/FormSuratKeluar.jsx","store/actions/memo.js","store/actions/staffMin.js","views/Memo/DetailMemo/Disposisi/Disposisi.jsx","views/Memo/DetailMemo/UploadTask/UploadFile/UploadFile.jsx","views/Memo/DetailMemo/UploadTask/UploadTask.jsx","store/actions/uploadTask.js","views/Memo/DetailMemo/DetailMemo.jsx","views/Memo/TableMemo/TableMemo.jsx","views/Memo/Memo.jsx","views/SuratMasuk/History/History.jsx","views/Memo/History/History.jsx","views/Report/DetailSuratMasuk/Disposisi/Disposisi.jsx","views/Report/DetailSuratMasuk/DetailSuratMasuk.jsx","views/Report/TableSuratMasuk/TableSuratMasuk.jsx","views/Report/Report.jsx","views/Report/History/History.jsx","views/StaffMin/TableStaffMin/TableStaffMin.jsx","views/StaffMin/StaffMin.jsx","views/StaffMin/CreateStaffMin/CreateStaffMin.jsx","views/StaffMin/EditStaffMin/EditStaffMin.jsx","views/MemoSuratKeluar/DetailSuratKeluar/DetailSuratKeluar.jsx","views/MemoSuratKeluar/TableSuratKeluar/TableSuratKeluar.jsx","views/MemoSuratKeluar/MemoSuratKeluar.jsx","views/SuratKeluar/History/History.jsx","views/MemoSuratKeluar/History/History.jsx","views/ReportOutboxMail/DetailSuratMasuk/Disposisi/Disposisi.jsx","views/ReportOutboxMail/DetailSuratMasuk/DetailSuratMasuk.jsx","views/ReportOutboxMail/TableSuratMasuk/TableSuratMasuk.jsx","init-fcm.js","views/ReportOutboxMail/ReportOutboxMail.jsx","views/ReportOutboxMail/History/History.jsx","Routes.js","shared/utility.js","store/reducers/alert.js","store/reducers/auth.js","store/reducers/suratMasuk.js","store/reducers/suratKeluar.js","store/reducers/bagian.js","store/reducers/memo.js","store/reducers/uploadTask.js","store/reducers/staffMin.js","store/reducers/dashboard.js","store/reducers/index.js","store.js","components/UI/Alert/SnackBar/SnackBar.js","App.js","serviceWorker.js","index.js"],"names":["white","black","primary","contrastText","dark","colors","indigo","main","light","secondary","blue","success","green","info","warning","orange","error","red","text","blueGrey","link","background","default","paper","icon","divider","grey","h1","color","palette","fontWeight","fontSize","letterSpacing","lineHeight","fontFamily","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","button","caption","overline","textTransform","root","backgroundColor","MuiButton","contained","boxShadow","MuiIconButton","MuiPaper","elevation1","MuiTableCell","typography","borderBottom","MuiTableHead","MuiTypography","gutterBottom","marginBottom","theme","createMuiTheme","overrides","zIndex","appBar","drawer","makeStyles","borderRadius","alignItems","padding","spacing","display","flexBasis","marginRight","input","flexGrow","useStyles","flexShrink","sm","height","width","md","lg","neutral","danger","StatusBullet","props","className","size","rest","classes","clsx","defaultProps","RouteWithLayout","Layout","layout","Component","component","access_token","sessionStorage","getItem","render","matchProps","to","content","paddingTop","breakpoints","up","name_logo","logo","logo_min","transition","transitions","create","easing","sharp","duration","leavingScreen","appBarShift","marginLeft","enteringScreen","menuButton","hide","sectionDesktop","sectionMobile","profileMenu","marginTop","border","shape","avatar","flag","Appbar","handleDrawerToggle","useState","anchorEl","setAnchorEl","mobileMoreAnchorEl","setMobileMoreAnchorEl","isMenuOpen","Boolean","isMobileMenuOpen","handleProfileMenuOpen","event","currentTarget","handleMenuClose","renderMenu","Menu","anchorOrigin","vertical","horizontal","id","keepMounted","transformOrigin","open","onClose","MenuItem","onClick","renderMobileMenu","IconButton","aria-label","Badge","badgeContent","aria-controls","aria-haspopup","data2","JSON","parse","AppBar","position","Toolbar","Hidden","smUp","edge","style","Divider","orientation","Avatar","alt","src","process","Typography","variant","profileName","name","flexDirection","minHeight","top","paddingRight","paddingLeft","textAlign","teamName","boxSizing","connect","state","profile","getProfile","RouterLink","bagian","nama","email","backdrop","justifyContent","fontWeightMedium","drawerOpen","drawerClose","overflowX","drawerPaper","toolbar","mixins","menus","active","bottomPush","bottom","paddingBottom","textMenu","textMenuNested","item","nested","CustomRouterLink","forwardRef","ref","Main","children","window","useTheme","isDesktop","useMediaQuery","defaultMatches","setOpen","React","mobileOpen","setMobileOpen","handleDrawerClose","dialogOpen","setDialogOpen","reportOpen","setReportOpen","handleDialogClose","values","redirect","setRedirect","idBagian","List","ListItem","key","disabledGutters","Button","activeClassName","bagian_id","seq","Collapse","in","timeout","unmountOnExit","disablePadding","persist","container","undefined","document","body","shiftContent","implementation","SwipeableDrawer","anchor","direction","ModalProps","AccountName","xsDown","Dialog","aria-labelledby","aria-describedby","DialogTitle","DialogContent","DialogContentText","DialogActions","removeItem","clear","autoFocus","setAlert","msg","alertType","type","payload","uuid","instance","axios","baseURL","margin","paper2","form","textField","submit","googleLogo","left","contentName","image","center","welcome","logoClub","btnForget","footer","loginContent","SignInSchema","yup","username","required","password","dispatch","onAuth","tokenFCM","history","token","authData","device_token","post","headers","then","response","setItem","data","original","stringify","user_data","role","role_name","push","tokenId","authSuccess","catch","err","message","console","log","actions","useHistory","useForm","resolver","yupResolver","register","handleSubmit","errors","Grid","CssBaseline","xs","only","onSubmit","TextField","fullWidth","label","inputRef","helperText","autoComplete","align","signOut","buttonSignOut","title","numbers","difference","differenceIcon","differenceValue","TotalTransaction","inboxMailOnProcess","Card","CardContent","justify","value","displayType","thousandSeparator","InboxMailDone","inboxMailDone","TotalInvestasiRP","outboxMailOnProcess","Investor","outboxMailDone","options","responsive","maintainAspectRatio","animation","legend","cornerRadius","tooltips","callbacks","tooltipItem","numeral","datasets","datasetIndex","index","format","enabled","mode","intersect","borderWidth","borderColor","titleFontColor","bodyFontColor","footerFontColor","scales","xAxes","barThickness","maxBarThickness","barPercentage","categoryPercentage","ticks","fontColor","gridLines","drawBorder","yAxes","beginAtZero","callback","Number","toLocaleString","borderDash","borderDashOffset","zeroLineBorderDash","zeroLineBorderDashOffset","zeroLineColor","ChartJS","elements","Rectangle","prototype","draw","right","signX","signY","borderSkipped","ctx","this","_chart","vm","_view","config","x","y","base","barSize","Math","min","abs","halfStroke","borderLeft","borderRight","borderTop","beginPath","fillStyle","strokeStyle","lineWidth","corners","startCorner","indexOf","cornerAt","corner","moveTo","i","nextCornerId","radius","floor","x_tl","x_tr","y_tl","y_tr","x_bl","x_br","y_bl","y_br","lineTo","quadraticCurveTo","fill","stroke","GrafikInboxMail","grafikInboxMail","bulan","length","moment","date","labels","CardHeader","GrafikOutboxMail","grafikOutboxMail","bgColor","cardMobile","extendedIcon","executiveSummary","btn","opacity","dashboard","getDashboard","startDate","endDate","a","endpoint","myData","start_date","end_date","url","method","res","dashboardList","loadingDashboardList","Date","selectedDate","submitDefault","subtract","submitDefaultEndDate","view","setStartDate","setEndDate","useEffect","Skeleton","InboxMailOnProcess","surat_masuk_on_process","surat_masuk_done","OutboxMailOnProcess","surat_keluar_on_process","OutboxMailDone","surat_keluar_done","utils","DateFnsUtils","DatePicker","onChange","changeDate","all","grafik_surat_masuk","grafik_surat_keluar","thumbsContainer","flexWrap","thumb","thumbInner","minWidth","overflow","img","flex","paragraph","baseStyle","borderStyle","outline","activeStyle","acceptStyle","rejectStyle","UploadImage","handleChangeBanner","files","setFiles","useDropzone","accept","onDrop","acceptedFiles","map","file","Object","assign","preview","URL","createObjectURL","onDropAccepted","getRootProps","getInputProps","isDragActive","isDragAccept","isDragReject","useMemo","thumbs","forEach","revokeObjectURL","startIcon","Profile","setBanner","setB64","setFormState","isLoading","setIsLoading","detailProfile","setDetailProfile","result","fetchData","Backdrop","CircularProgress","e","reader","FileReader","readAsDataURL","onload","defaultValue","formState","target","CardActions","getInboxMail","keyword","getDispositionChoice","dispositionInboxMail","formData","isiDisposisi","setKeyword","noSurat","kepada","isi_disposisi","getHistory","getBagian","down","textWhite","buttonSmall","formControl","chips","chip","suratMasuk","inboxData","dispositionChoiceList","handleCloseDetailSurat","handleCloseDialogDisposisi","loadingDispositionInboxMail","catatan","isChecked","stateDisposisi","setStateDisposisi","handleChangeWord","items","checked","select","placeholder","filter","FormControl","FormLabel","FormGroup","FormControlLabel","control","Checkbox","multiline","rows","word","reduce","element","no_surat","loadingDownloadBuktiTerima","loadingDownloadDetailSurat","loadingDispositionChoiceList","listBagian","openDialogDisposisi","setOpenDialogDisposisi","InputLabel","tanggal_terima","no_agenda","sumber_surat","tanggal_surat","perihal","href","file_path","status_surat","createData","calories","fat","carbs","protein","descendingComparator","b","orderBy","headCells","numeric","EnhancedTableHead","order","onRequestSort","TableHead","TableRow","headCell","TableCell","sortDirection","TableSortLabel","property","visuallyHidden","highlight","lighten","table","clip","searchRoot","iconButton","TableSuratMasuk","inboxMail","handleOpenDialogEdit","page","setPage","handleChangeSearch","setOrder","setOrderBy","selected","setSelected","rowsPerPage","setRowsPerPage","openDialogDetailSurat","setOpenDialogDetailSurat","emptyRows","action","Paper","InputBase","inputProps","TableContainer","Table","numSelected","onSelectAllClick","newSelecteds","n","rowCount","TableBody","array","comparator","stabilizedThis","el","sort","stableSort","getComparator","slice","status","row","isItemSelected","labelId","hover","aria-checked","tabIndex","scope","Chip","status_type","Tooltip","arrow","colSpan","TablePagination","rowsPerPageOptions","count","onChangePage","newPage","onChangeRowsPerPage","parseInt","Dropzone","handleChangeFile","maxFiles","multiple","path","breadcumbs","InboxMailSchema","updateInboxMail","mailDate","accDate","FormData","set","loadingUpdateInboxMail","openDialogEdit","handleCloseDialogEdit","tujuan_surat","handleChange","mailDateDefault","mailDateDefaultView","setMailDate","accDateDefault","accDateDefaultView","setAccDate","banner","textInput","htmlFor","ampm","disableFuture","Info","btnPrimary","textButton","loadingInboxMail","object","setOpenDialogEdit","getOutboxMail","TableSuratKeluar","outboxMail","pengolah","updateOutboxMail","loadingUpdateOutboxMail","keterangan","suratKeluar","loadingOutboxMail","EditSuratKeluar","postInboxMail","klasifikasi","loadingPostInboxMail","Breadcrumbs","tp","aria-current","OutboxMailSchema","postOutboxMail","loadingPostOutboxMail","getMemoList","getStaffMin","memo","staffMin","dispositionMemo","loadingStaffMin","loadingDispositionMemo","kelengkapan","prosedur","laporkan","datakan","tindaklanjut","wakili","lainnya","stateWord","setStateWord","status_bagian","disposable_id","disposable","uploadTask","loadingUploadTask","fileTask","setFileTask","downloadDocumentDisposition","loading","responseType","fileDownload","loadingDownloadDocumentDisposition","handleOpenDialogDisposisi","profileData","memoList","handleOpenDetailSurat","DetailMemo","loadingMemoList","TableMemo","secondaryTail","fontTitle","fontText","params","useParams","loadingHistory","xl","Timeline","TimelineItem","TimelineOppositeContent","updated_at","TimelineSeparator","TimelineDot","TimelineConnector","TimelineContent","elevation","historable","Link","btnSearch","fab","getInboxMailDone","loadingInboxMailDone","TableStaffMin","StaffMinSchema","addStaffMin","loadingCreateStaffMin","updateStaffMin","getDetailStaffMin","loadingDetailStaffMin","loadingEditStaffMin","accOutboxMail","loadingOutboxAcc","openDialogConfirmation","setOpenDialogConfirmation","handleCloseDialogConfirmation","historyOutboxMail","loadingHistoryOutboxMail","messaging","reportList","getReportOutboxMail","loadingReportList","Routes","exact","from","DashboardView","MainLayout","ProfileView","SuratMasukView","FormSuratMasukView","HistorySuratMasukView","SuratKeluarView","HistoryOutboxMailView","FormSuratKeluarView","MemoView","MemoSuratKeluarView","HistoryOutboxMailMemoView","HistoryMemoView","ReportView","ReportHistoryView","ReportOutboxMailView","ReportOutboxMailHistoryView","StaffMinView","CreateStaffMinView","EditStaffMinView","Login","initializedFirebaseApp","firebase","apiKey","authDomain","projectId","storageBucket","messagingSenderId","appId","measurementId","isSupported","usePublicVapidKey","updateObject","oldObject","updateProperties","initialState","openDialogBox","removeAlert","setDialogBox","removeDialogBox","reducer","user","userData","uploadUrl","changing","authStart","authFail","inboxMailData","inboxMailUpdate","downloadBuktiTerima","downloadDetailSurat","outboxMailData","outboxMailUpdate","outboxMailAcc","loadingListBagian","documentDownloadList","uploadTaskData","createStaffMin","detailStaffMin","editStaffMin","combineReducers","alert","auth","middleware","thunk","store","createStore","rootReducer","composeWithDevTools","applyMiddleware","alerts","onCloseAlert","snackBar","Snackbar","autoHideDuration","Alert","severity","browserHistory","createBrowserHistory","App","useClearCache","isLatestVersion","emptyCacheStorage","requestPermission","getToken","navigator","serviceWorker","addEventListener","ThemeProvider","preventDefault","isLocalhost","location","hostname","match","registerValidSW","swUrl","registration","onupdatefound","installingWorker","installing","onstatechange","controller","onUpdate","onSuccess","ReactDOM","StrictMode","getElementById","origin","fetch","contentType","get","ready","unregister","reload","checkValidServiceWorker"],"mappings":"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","file":"static/js/main.5f1d61bd.chunk.js","sourcesContent":["import { colors } from '@material-ui/core';\n\nconst white = '#FFFFFF';\nconst black = '#000000';\n\nexport default {\n black,\n white,\n primary: {\n contrastText: white,\n dark: colors.indigo[900],\n main: colors.indigo[500],\n light: colors.indigo[100]\n },\n secondary: {\n contrastText: white,\n dark: colors.blue[900],\n main: colors.blue['A400'],\n light: colors.blue['A400']\n },\n success: {\n contrastText: white,\n dark: colors.green[900],\n main: colors.green[600],\n light: colors.green[400]\n },\n info: {\n contrastText: white,\n dark: colors.blue[900],\n main: colors.blue[600],\n light: colors.blue[400]\n },\n warning: {\n contrastText: white,\n dark: colors.orange[900],\n main: colors.orange[600],\n light: colors.orange[400]\n },\n error: {\n contrastText: white,\n dark: colors.red[900],\n main: colors.red[600],\n light: colors.red[400]\n },\n text: {\n primary: colors.blueGrey[900],\n secondary: colors.blueGrey[600],\n link: colors.blue[600]\n },\n background: {\n default: '#F4F6F8',\n paper: white\n },\n icon: colors.blueGrey[600],\n divider: colors.grey[200]\n};\n","import palette from './palette';\n\nexport default {\n h1: {\n color: palette.text.primary,\n fontWeight: 500,\n fontSize: '35px',\n letterSpacing: '-0.24px',\n lineHeight: '40px',\n fontFamily: 'Montserrat'\n },\n h2: {\n color: palette.text.primary,\n fontWeight: 500,\n fontSize: '29px',\n letterSpacing: '-0.24px',\n lineHeight: '32px',\n fontFamily: 'Montserrat'\n },\n h3: {\n color: palette.text.primary,\n fontWeight: 500,\n fontSize: '24px',\n letterSpacing: '-0.06px',\n lineHeight: '28px',\n fontFamily: 'Montserrat'\n },\n h4: {\n color: palette.text.primary,\n fontWeight: 500,\n fontSize: '20px',\n letterSpacing: '-0.06px',\n lineHeight: '24px',\n fontFamily: 'Montserrat'\n },\n h5: {\n color: palette.text.primary,\n fontWeight: 500,\n fontSize: '16px',\n letterSpacing: '-0.05px',\n lineHeight: '20px',\n fontFamily: 'Montserrat'\n },\n h6: {\n color: palette.text.primary,\n fontWeight: 500,\n fontSize: '14px',\n letterSpacing: '-0.05px',\n lineHeight: '20px',\n fontFamily: 'Montserrat'\n },\n subtitle1: {\n color: palette.text.primary,\n fontSize: '16px',\n letterSpacing: '-0.05px',\n lineHeight: '25px',\n fontFamily: 'Montserrat'\n },\n subtitle2: {\n color: palette.text.secondary,\n fontWeight: 400,\n fontSize: '14px',\n letterSpacing: '-0.05px',\n lineHeight: '21px',\n fontFamily: 'Montserrat'\n },\n body1: {\n color: palette.text.primary,\n fontSize: '14px',\n letterSpacing: '-0.05px',\n lineHeight: '21px',\n fontFamily: 'Montserrat'\n },\n body2: {\n color: palette.text.secondary,\n fontSize: '12px',\n letterSpacing: '-0.04px',\n lineHeight: '18px',\n fontFamily: 'Montserrat'\n },\n button: {\n color: palette.text.primary,\n fontSize: '14px',\n fontFamily: 'Montserrat'\n },\n caption: {\n color: palette.text.secondary,\n fontSize: '11px',\n letterSpacing: '0.33px',\n lineHeight: '13px',\n fontFamily: 'Montserrat'\n },\n overline: {\n color: palette.text.secondary,\n fontSize: '11px',\n fontWeight: 500,\n letterSpacing: '0.33px',\n lineHeight: '13px',\n textTransform: 'uppercase',\n fontFamily: 'Montserrat'\n }\n};\n","import palette from '../palette';\n\nexport default {\n root: {\n color: palette.icon,\n '&:hover': {\n backgroundColor: 'rgba(0, 0, 0, 0.03)'\n }\n }\n};\n","import MuiButton from './MuiButton';\nimport MuiIconButton from './MuiIconButton';\nimport MuiPaper from './MuiPaper';\nimport MuiTableCell from './MuiTableCell';\nimport MuiTableHead from './MuiTableHead';\nimport MuiTypography from './MuiTypography';\n\nexport default {\n MuiButton,\n MuiIconButton,\n MuiPaper,\n MuiTableCell,\n MuiTableHead,\n MuiTypography\n};\n","export default {\n contained: {\n boxShadow:\n '0 1px 1px 0 rgba(0,0,0,0.14), 0 2px 1px -1px rgba(0,0,0,0.12), 0 1px 3px 0 rgba(0,0,0,0.20)',\n backgroundColor: '#FFFFFF'\n }\n};\n","export default {\n elevation1: {\n boxShadow: '0 0 0 1px rgba(63,63,68,0.05), 0 1px 3px 0 rgba(63,63,68,0.15)'\n }\n};\n","import palette from '../palette';\nimport typography from '../typography';\n\nexport default {\n root: {\n ...typography.body1,\n borderBottom: `1px solid ${palette.divider}`\n }\n};\n","import { colors } from '@material-ui/core';\n\nexport default {\n root: {\n backgroundColor: colors.grey[50]\n }\n};\n","export default {\n gutterBottom: {\n marginBottom: 8\n }\n};\n","import { createMuiTheme } from '@material-ui/core';\n\nimport palette from './palette';\nimport typography from './typography';\nimport overrides from './overrides';\n\nconst theme = createMuiTheme({\n palette,\n typography,\n overrides,\n zIndex: {\n appBar: 1200,\n drawer: 1100\n }\n});\n\nexport default theme;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { makeStyles } from '@material-ui/styles';\nimport { Paper, Input } from '@material-ui/core';\nimport SearchIcon from '@material-ui/icons/Search';\n\nconst useStyles = makeStyles(theme => ({\n root: {\n borderRadius: '4px',\n alignItems: 'center',\n padding: theme.spacing(1),\n display: 'flex',\n flexBasis: 420\n },\n icon: {\n marginRight: theme.spacing(1),\n color: theme.palette.text.secondary\n },\n input: {\n flexGrow: 1,\n fontSize: '14px',\n lineHeight: '16px',\n letterSpacing: '-0.05px'\n }\n}));\n\nconst SearchInput = props => {\n const { className, onChange, style, ...rest } = props;\n\n const classes = useStyles();\n\n return (\n \n \n \n \n );\n};\n\nSearchInput.propTypes = {\n className: PropTypes.string,\n onChange: PropTypes.func,\n style: PropTypes.object\n};\n\nexport default SearchInput;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { makeStyles } from '@material-ui/styles';\n\nconst useStyles = makeStyles(theme => ({\n root: {\n display: 'inline-block',\n borderRadius: '50%',\n flexGrow: 0,\n flexShrink: 0\n },\n sm: {\n height: theme.spacing(1),\n width: theme.spacing(1)\n },\n md: {\n height: theme.spacing(2),\n width: theme.spacing(2)\n },\n lg: {\n height: theme.spacing(3),\n width: theme.spacing(3)\n },\n neutral: {\n backgroundColor: theme.palette.neutral\n },\n primary: {\n backgroundColor: theme.palette.primary.main\n },\n info: {\n backgroundColor: theme.palette.info.main\n },\n warning: {\n backgroundColor: theme.palette.warning.main\n },\n danger: {\n backgroundColor: theme.palette.error.main\n },\n success: {\n backgroundColor: theme.palette.success.main\n }\n}));\n\nconst StatusBullet = props => {\n const { className, size, color, ...rest } = props;\n\n const classes = useStyles();\n\n return (\n \n );\n};\n\nStatusBullet.propTypes = {\n className: PropTypes.string,\n color: PropTypes.oneOf([\n 'neutral',\n 'primary',\n 'info',\n 'success',\n 'warning',\n 'danger'\n ]),\n size: PropTypes.oneOf(['sm', 'md', 'lg'])\n};\n\nStatusBullet.defaultProps = {\n size: 'md',\n color: 'default'\n};\n\nexport default StatusBullet;\n","import React from 'react';\nimport { Route, Redirect } from 'react-router-dom';\nimport PropTypes from 'prop-types';\n// import {SignIn as SignInView} from 'views';\n// import { Minimal as MinimalLayout } from 'layouts';\n\nconst RouteWithLayout = props => {\n const { layout: Layout, component: Component, ...rest } = props;\n\n const access_token = sessionStorage.getItem('access_token');\n\n return (\n (\n access_token ?\n \n \n \n : (\n \n )\n )}\n />\n );\n};\n\nRouteWithLayout.propTypes = {\n component: PropTypes.any.isRequired,\n layout: PropTypes.any.isRequired,\n path: PropTypes.string\n};\n\nexport default RouteWithLayout;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { makeStyles } from '@material-ui/styles';\nimport { Typography, Link } from '@material-ui/core';\n\nconst useStyles = makeStyles(theme => ({\n root: {\n padding: theme.spacing(4)\n }\n}));\n\nconst Footer = props => {\n const { className, ...rest } = props;\n\n const classes = useStyles();\n\n return (\n \n \n ©{' '}\n \n PT Jari Solusi Internasional\n \n . 2020\n \n \n );\n};\n\nFooter.propTypes = {\n className: PropTypes.string\n};\n\nexport default Footer;\n","import React, { useState } from 'react';\nimport { makeStyles } from '@material-ui/styles';\n\nimport AppBar from '@material-ui/core/AppBar';\nimport Toolbar from '@material-ui/core/Toolbar';\nimport IconButton from '@material-ui/core/IconButton';\nimport Badge from '@material-ui/core/Badge';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport Menu from '@material-ui/core/Menu';\nimport MenuIcon from '@material-ui/icons/Menu';\n// import SearchIcon from '@material-ui/icons/Search';\nimport AccountCircle from '@material-ui/icons/AccountCircle';\nimport MailIcon from '@material-ui/icons/Mail';\nimport ExpandMore from '@material-ui/icons/ExpandMore';\nimport NotificationsIcon from '@material-ui/icons/Notifications';\nimport MoreIcon from '@material-ui/icons/MoreVert';\nimport { Link } from 'react-router-dom';\nimport {\n Divider,\n Typography,\n Avatar,\n Hidden\n} from '@material-ui/core'\n\n\nconst drawerWidth = 240;\n// const appDrawerBlue = '#FFFFFF';\n// const appDrawerDefault = '#FFFFFF';\n\n// const iconBlack = '#000000';\n\nconst useStyles = makeStyles(theme => ({\n root: {\n \n display: 'flex',\n },\n content: {\n flexGrow: 1,\n paddingTop: 56,\n height: '100%',\n [theme.breakpoints.up('sm')]: {\n paddingTop: 64\n },\n },\n name_logo : {\n fontFamily : 'Montserrat',\n color: '#000000',\n },\n logo : {\n width: 'auto',\n height: 50,\n display: 'none',\n [theme.breakpoints.up('sm')]: {\n display: 'block',\n },\n },\n logo_min : {\n width: 'auto',\n height: 30,\n },\n appBar: {\n zIndex: theme.zIndex.drawer + 1,\n boxShadow: 'none',\n transition: theme.transitions.create(['width', 'margin'], {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.leavingScreen,\n }),\n // backgroundColor: 'transparent',\n backgroundColor: '#f4f6f8'\n },\n appBarShift: {\n marginLeft: drawerWidth,\n boxShadow: 'none',\n width: `calc(100% - ${drawerWidth}px)`,\n transition: theme.transitions.create(['width', 'margin'], {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.enteringScreen,\n }),\n },\n menuButton: {\n marginRight: 36,\n },\n hide: {\n display: 'none',\n },\n flexGrow: {\n flexGrow: 1\n },\n sectionDesktop: {\n display: 'none',\n [theme.breakpoints.up('md')]: {\n display: 'flex',\n },\n },\n sectionMobile: {\n display: 'flex',\n [theme.breakpoints.up('md')]: {\n display: 'none',\n },\n },\n profileMenu: {\n marginTop : theme.spacing(2)\n },\n divider: {\n height: 28,\n marginTop: theme.spacing(1),\n marginLeft: theme.spacing(1),\n color: '#000',\n width: 'fit-content',\n border: `1px solid ${theme.palette.divider}`,\n borderRadius: theme.shape.borderRadius,\n },\n avatar: {\n width: 30,\n height: 30,\n marginRight: theme.spacing(1)\n },\n flag: {\n width: '40px'\n }\n}));\n\nconst Appbar = (props) => {\n const { handleDrawerToggle } = props;\n\n const classes = useStyles();\n // const theme = useTheme();\n const [anchorEl, setAnchorEl] = useState(null);\n // const [ openLanguage, setOpenLanguage ] = useState(null);\n const [mobileMoreAnchorEl, setMobileMoreAnchorEl] = useState(null);\n\n const isMenuOpen = Boolean(anchorEl);\n // const isMenuLanguage = Boolean(openLanguage)\n const isMobileMenuOpen = Boolean(mobileMoreAnchorEl);\n\n const handleProfileMenuOpen = (event) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleMobileMenuClose = () => {\n setMobileMoreAnchorEl(null);\n };\n\n const handleMenuClose = () => {\n setAnchorEl(null);\n };\n\n const handleMobileMenuOpen = (event) => {\n setMobileMoreAnchorEl(event.currentTarget);\n };\n\n // const handleOpenLanguage = (event) => {\n // setOpenLanguage(event.currentTarget)\n // }\n\n // const handleCloseLanguage = () => {\n // setOpenLanguage(null)\n // }\n\n // useEffect(() => {\n // getProfile()\n // }, [loadingGetProfile, getProfile])\n\n const menuId = 'primary-search-account-menu';\n const renderMenu = (\n \n \n \n Profile\n \n \n {/* My account */}\n \n );\n\n const mobileMenuId = 'primary-search-account-menu-mobile';\n const renderMobileMenu = (\n \n \n \n \n \n \n \n

Messages

\n
\n \n \n \n \n \n \n

Notifications

\n
\n \n \n \n \n

Profile

\n
\n \n );\n\n const data2 = JSON.parse(sessionStorage.getItem('data'))\n\n return (\n //
\n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n {data2.name}\n \n \n \n \n
\n
\n \n \n \n
\n \n {renderMobileMenu}\n {renderMenu}\n {/* {renderLanguage} */}\n \n //
\n );\n};\n\n\nexport default Appbar\n","import React from 'react';\nimport { Link as RouterLink } from 'react-router-dom';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport { makeStyles } from '@material-ui/styles';\nimport { \n Avatar,\n Typography,\n} from '@material-ui/core';\nimport { connect } from 'react-redux'\nimport { getProfile } from '../../../../actions/profile'\n\nconst nameColorWhite = '#000000';\n// const nameColorBlack = '#000000';\n\nconst useStyles = makeStyles(theme => ({\n root: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n minHeight: 'fit-content',\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(2)\n },\n logo: {\n width: '100%',\n top: 0,\n paddingRight: theme.spacing(2),\n paddingLeft: theme.spacing(2)\n },\n avatar: {\n width: 60,\n height: 60\n },\n name: {\n marginTop: theme.spacing(1),\n textAlign: 'center',\n color: nameColorWhite,\n fontFamily: 'Montserrat'\n },\n teamName: {\n // margin: theme.spacing(3, 0, 2),\n marginTop: theme.spacing(3),\n paddingRight: theme.spacing(2),\n paddingLeft: theme.spacing(2),\n border: '0.5px solid rgba(224, 224, 224, 0.5)',\n boxSizing: 'border-box',\n color: '#000000',\n width: '100%',\n fontFamily: 'Montserrat',\n borderRadius: theme.spacing(1)\n },\n text: {\n width: '100%'\n }\n}));\n\nconst Profile = props => {\n const { className, ...rest } = props\n\n const classes = useStyles();\n\n const profile = JSON.parse(sessionStorage.getItem('data'))\n \n return (\n \n {/* \"club\"\n \n
\n {sessionStorage.getItem('team')}\n
\n */}\n \n \n {profile.name}\n \n {profile.bagian.nama}\n {profile.email}\n
\n );\n};\n\nProfile.propTypes = {\n className: PropTypes.string\n};\n\nconst mapStateToProps = state => ({\n profile: state.profile\n})\n\nexport default connect(mapStateToProps, {getProfile})(Profile)\n","import React, { forwardRef, useState } from 'react'\nimport PropTypes from 'prop-types'\nimport clsx from 'clsx'\nimport { makeStyles, useTheme } from '@material-ui/styles'\nimport { useMediaQuery, Button, colors, Divider } from '@material-ui/core'\nimport { Link as RouterLink, Redirect } from 'react-router-dom'\n\nimport SwipeableDrawer from '@material-ui/core/SwipeableDrawer'\nimport List from '@material-ui/core/List'\nimport ExpandLess from '@material-ui/icons/ExpandLess';\nimport ExpandMore from '@material-ui/icons/ExpandMore';\nimport Collapse from '@material-ui/core/Collapse';\nimport ListItem from '@material-ui/core/ListItem'\n\nimport Dialog from '@material-ui/core/Dialog'\nimport DialogActions from '@material-ui/core/DialogActions'\nimport DialogContent from '@material-ui/core/DialogContent'\nimport DialogContentText from '@material-ui/core/DialogContentText'\nimport DialogTitle from '@material-ui/core/DialogTitle'\n\nimport Hidden from '@material-ui/core/Hidden'\n\nimport { AppBar, AccountName } from './components'\n\nconst drawerWidth = 240\nconst drawerColorBlue = '#FFFFFF'\n\n// const textMenuWhite = '#FFFFFF'\nconst textMenuBlack = '#000000'\n\nconst useStyles = makeStyles(theme => ({\n root: {\n display: 'flex',\n },\n backdrop: {\n\t\tzIndex: theme.zIndex.drawer + 1,\n\t\tcolor: '#fff',\n },\n appBar: {\n [theme.breakpoints.up('sm')]: {\n width: `calc(100% - ${drawerWidth}px)`,\n marginLeft: drawerWidth,\n },\n },\n menuButton: {\n marginRight: theme.spacing(2),\n [theme.breakpoints.up('sm')]: {\n display: 'none',\n },\n },\n button: {\n color: colors.blueGrey[800],\n padding: '10px 8px',\n justifyContent: 'flex-start',\n textTransform: 'none',\n letterSpacing: 0,\n width: '100%',\n fontWeight: theme.typography.fontWeightMedium\n },\n content: {\n flexGrow: 1,\n paddingTop: 56,\n marginLeft: 0,\n width: '100%',\n },\n drawer: {\n [theme.breakpoints.up('sm')]: {\n width: drawerWidth,\n flexShrink: 0,\n },\n zIndex: 1400\n },\n drawerOpen: {\n width: drawerWidth,\n transition: theme.transitions.create('width', {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.enteringScreen,\n }),\n backgroundColor: drawerColorBlue,\n borderRadius: theme.spacing(2)\n },\n drawerClose: {\n transition: theme.transitions.create('width', {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.leavingScreen,\n }),\n overflowX: 'hidden',\n width: theme.spacing(7) + 1,\n [theme.breakpoints.up('sm')]: {\n width: theme.spacing(9) + 1,\n },\n backgroundColor: drawerColorBlue,\n paddingTop: theme.spacing(5)\n },\n drawerPaper: {\n width: drawerWidth,\n backgroundColor: drawerColorBlue,\n [theme.breakpoints.up('sm')]: {\n paddingTop: 0,\n }\n },\n \n toolbar: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-end',\n padding: theme.spacing(0, 1),\n // necessary for content to be below app bar\n ...theme.mixins.toolbar,\n // backgroundColor: '#51CDFB'\n },\n menus: {\n paddingTop: theme.spacing(3)\n },\n active: {\n color: theme.palette.primary.main,\n fontWeight: theme.typography.fontWeightMedium,\n '& $icon': {\n color: theme.palette.primary.main\n }\n },\n flexGrow: {\n flexGrow: 1\n },\n bottomPush: {\n position: \"fixed\",\n bottom: 0,\n textAlign: \"center\",\n paddingBottom: 10,\n width: 'auto'\n },\n textMenu: {\n color: textMenuBlack,\n fontFamily: 'Montserrat',\n paddingLeft: theme.spacing(2)\n },\n textMenuNested: {\n color: textMenuBlack,\n fontFamily: 'Montserrat',\n fontSize: '14px',\n paddingLeft: theme.spacing(2)\n },\n item: {\n display: 'flex',\n paddingTop: 0,\n paddingBottom: 0,\n },\n nested: {\n paddingLeft: theme.spacing(6),\n paddingTop: 0,\n paddingBottom: 0,\n // fontSize: '14px'\n },\n icon: {\n color: theme.palette.icon,\n width: 24,\n height: 24,\n display: 'flex',\n alignItems: 'center',\n marginRight: theme.spacing(1)\n },\n}))\n\nconst CustomRouterLink = forwardRef((props, ref) => (\n \n \n \n))\n\nconst Main = props => {\n const { children, window } = props\n\n const classes = useStyles()\n const theme = useTheme()\n const isDesktop = useMediaQuery(theme.breakpoints.up('lg'), {\n defaultMatches: true\n })\n \n const [open, setOpen] = useState(true)\n const [mobileOpen, setMobileOpen] = React.useState(false)\n\n const handleDrawerToggle = () => {\n setMobileOpen(!mobileOpen)\n }\n\n const handleDrawerClose = () => {\n setMobileOpen(false)\n }\n\n // Dialog Box\n const [dialogOpen, setDialogOpen] = useState(false)\n // Collapsable Menus\n const [reportOpen, setReportOpen] = useState(false);\n\n const handleDialogClose = () => {\n setDialogOpen(false)\n }\n\n const handleDoLogout = () => {\n sessionStorage.removeItem('access_token')\n sessionStorage.removeItem('bagian')\n sessionStorage.removeItem('role')\n sessionStorage.removeItem('data')\n sessionStorage.clear()\n setRedirect({values: true})\n }\n\n const [redirect, setRedirect] = useState({\n values : false\n })\n\n const handlingSignout = event => {\n event.persist()\n setDialogOpen(true)\n }\n\n const idBagian = JSON.parse(sessionStorage.getItem('data'))\n\n const handleClick = (event) => {\n if (event === 'report') {\n setReportOpen(!reportOpen);\n }\n };\n\n if (redirect.values) {\n return \n }\n\n const drawer = (\n
\n \n \n \n \n
\n \"Dashboard\"\n
\n
\n Dashboard\n
\n \n
\n {idBagian.bagian.bagian_id === 1 || idBagian.bagian.seq === 3 || idBagian.bagian.seq === 2 ? (\n <>\n \n \n
\n \"Dashboard\"\n
\n
\n Surat Masuk\n
\n \n
\n \n ):(\n
\n )}\n {idBagian.bagian.seq === 5 || idBagian.bagian.seq === 2 ? (\n \n \n
\n \"Dashboard\"\n
\n
\n Surat Keluar\n
\n \n
\n ):(\n
\n )}\n \n {idBagian.bagian.seq === 3 && (\n <>\n \n \n
\n \"Dashboard\"\n
\n
\n Manajemen User Staff\n
\n \n
\n \n \n )}\n {idBagian.bagian.seq === 3 || idBagian.bagian.seq === 4 ? (\n <>\n \n \n
\n \"Dashboard\"\n
\n
\n Memo Surat Masuk\n
\n \n
\n \n \n
\n \"Dashboard\"\n
\n
\n Memo Surat Keluar\n
\n \n
\n \n ):(\n <>\n \n )}\n handleClick('report')}\n >\n \n
\n \"Dashboard\"\n
\n
\n Report\n
\n \n {reportOpen ? : }\n
\n \n \n \n \n
\n Surat Masuk\n
\n \n
\n \n \n
\n Surat keluar\n
\n \n
\n
\n
\n \n \n \n
\n \"Dashboard\"\n
\n
Sign Out
\n \n \n \n
\n )\n \n const container = window !== undefined ? () => window().document.body : undefined\n\n return (\n \n \n \n
\n {children}\n {/* \n
\n */}\n
\n \n {\"Logout Confirmation\"}\n \n \n Apakah anda ingin keluar?\n \n \n \n \n \n \n \n \n )\n}\n\nMain.propTypes = {\n children: PropTypes.node\n}\n\nexport default Main\n","import * as actionTypes from '../actions/actionTypes'\nimport { v4 as uuid } from 'uuid'\n\nexport const setAlert = (msg, alertType) => {\n const id = uuid()\n return {\n type: actionTypes.SET_ALERT,\n payload: { msg, alertType, id }\n }\n}\n\nexport const removeAlert = (timeout = 5000) => {\n const id = uuid()\n return {\n type: actionTypes.REMOVE_ALERT,\n payload: { id, timeout }\n }\n}\n\nexport const setDialogBox = (header, message, uniqCode, action) => {\n const id = uuid()\n return {\n type: actionTypes.SET_DIALOG_BOX,\n payload: { header, message, uniqCode, action, id }\n }\n}\n\nexport const removeDialogBox = (timeout = 5000) => {\n const id = uuid()\n return {\n type: actionTypes.REMOVE_DIALOG_BOX,\n payload: { id, timeout }\n }\n}\n","export const AUTH_START = 'AUTH_START';\nexport const AUTH_SUCCESS = 'AUTH_SUCCESS';\nexport const AUTH_FAIL = 'AUTH_FAIL';\nexport const AUTH_LOGOUT = 'AUTH_LOGOUT';\n\nexport const SET_ALERT = 'SET_ALERT';\nexport const REMOVE_ALERT = 'REMOVE_ALERT';\n\nexport const SET_DIALOG_BOX = 'SET_DIALOG_BOX';\nexport const REMOVE_DIALOG_BOX = 'REMOVE_DIALOG_BOX';\n\n// Dashboard\nexport const GET_DASHBOARD = \"GET_DASHBOARD\"\n\n// Surat Masuk\nexport const GET_INBOX_MAIL = \"GET_INBOX_MAIL\"\nexport const POST_INBOX_MAIL_START = \"POST_INBOX_MAIL_START\"\nexport const POST_INBOX_MAIL_SUCCESS = \"POST_INBOX_MAIL_SUCCESS\"\nexport const POST_INBOX_MAIL_FAIL = \"POST_INBOX_MAIL_FAIL\"\n\nexport const UPDATE_INBOX_MAIL_START = \"UPDATE_INBOX_MAIL_START\"\nexport const UPDATE_INBOX_MAIL_SUCCESS = \"UPDATE_INBOX_MAIL_SUCCESS\"\nexport const UPDATE_INBOX_MAIL_FAIL = \"UPDATE_INBOX_MAIL_FAIL\"\n\nexport const DOWNLOAD_BUKTI_TERIMA_START = \"DOWNLOAD_BUKTI_TERIMA_START\"\nexport const DOWNLOAD_BUKTI_TERIMA_END = \"DOWNLOAD_BUKTI_TERIMA_END\"\n\nexport const DOWNLOAD_DETAIL_SURAT_START = \"DOWNLOAD_DETAIL_SURAT_START\"\nexport const DOWNLOAD_DETAIL_SURAT_END = \"DOWNLOAD_DETAIL_SURAT_END\"\n\nexport const GET_DISPOSITION_CHOICE = \"GET_DISPOSITION_CHOICE\"\n\nexport const DISPOSITION_INBOX_MAIL_START = \"DISPOSITION_INBOX_MAIL_START\"\nexport const DISPOSITION_INBOX_MAIL_SUCCESS = \"DISPOSITION_INBOX_MAIL_SUCCESS\"\nexport const DISPOSITION_INBOX_MAIL_FAIL = \"DISPOSITION_INBOX_MAIL_FAIL\"\n\n// Surat Masuk yang sudah selesai\nexport const GET_INBOX_MAIL_DONE = \"GET_INBOX_MAIL_DONE\"\n\n// Surat Keluar\nexport const GET_OUTBOX_MAIL = \"GET_OUTBOX_MAIL\"\nexport const POST_OUTBOX_MAIL_START = \"POST_OUTBOX_MAIL_START\"\nexport const POST_OUTBOX_MAIL_SUCCESS = \"POST_OUTBOX_MAIL_SUCCESS\"\nexport const POST_OUTBOX_MAIL_FAIL = \"POST_OUTBOX_MAIL_FAIL\"\n\nexport const UPDATE_OUTBOX_MAIL_START = \"UPDATE_OUTBOX_MAIL_START\"\nexport const UPDATE_OUTBOX_MAIL_SUCCESS = \"UPDATE_OUTBOX_MAIL_SUCCESS\"\nexport const UPDATE_OUTBOX_MAIL_FAIL = \"UPDATE_OUTBOX_MAIL_FAIL\"\n\nexport const ACC_OUTBOX_MAIL_START = \"ACC_OUTBOX_MAIL_START\"\nexport const ACC_OUTBOX_MAIL_SUCCESS = \"ACC_OUTBOX_MAIL_SUCCESS\"\nexport const ACC_OUTBOX_MAIL_FAIL = \"ACC_OUTBOX_MAIL_FAIL\"\n\nexport const GET_REPORT_OUTBOXMAIL = \"GET_REPORT_OUTBOXMAIL\"\n\n// Bagian\nexport const GET_BAGIAN = \"GET_BAGIAN\"\n\n// Memo\nexport const GET_MEMO = \"GET_MEMO\"\n\nexport const DOWNLOAD_DOCUMENT_DISPOSITION_START = \"DOWNLOAD_DOCUMENT_DISPOSITION_START\"\nexport const DOWNLOAD_DOCUMENT_DISPOSITION_SUCCESS = \"DOWNLOAD_DOCUMENT_DISPOSITION_SUCCESS\"\nexport const DOWNLOAD_DOCUMENT_DISPOSITION_END = \"DOWNLOAD_DOCUMENT_DISPOSITION_END\"\n\nexport const DISPOSITION_MEMO_START = \"DISPOSITION_MEMO_START\"\nexport const DISPOSITION_MEMO_SUCCESS = \"DISPOSITION_MEMO_SUCCESS\"\nexport const DISPOSITION_MEMO_FAIL = \"DISPOSITION_MEMO_FAIL\"\n\n// Paur\nexport const GET_STAFF_MIN = \"GET_STAFF_MIN\"\n\nexport const ADD_STAFF_MIN_START = \"ADD_STAFF_MIN_START\"\nexport const ADD_STAFF_MIN_SUCCESS = \"ADD_STAFF_MIN_SUCCESS\"\nexport const ADD_STAFF_MIN_FAIL = \"ADD_STAFF_MIN_FAIL\"\n\nexport const UPDATE_STAFF_MIN_START = \"UPDATE_STAFF_MIN_START\"\nexport const UPDATE_STAFF_MIN_SUCCESS = \"UPDATE_STAFF_MIN_SUCCESS\"\nexport const UPDATE_STAFF_MIN_FAIL = \"UPDATE_STAFF_MIN_FAIL\"\n\nexport const GET_DETAIL_STAFF_MIN = \"GET_DETAIL_STAFF_MIN\"\n\n// Staff Min\nexport const UPLOAD_TASK_START = \"UPLOAD_TASK_START\"\nexport const UPLOAD_TASK_SUCCESS = \"UPLOAD_TASK_SUCCESS\"\nexport const UPLOAD_TASK_FAIL = \"UPLOAD_TASK_FAIL\"\n\n// History\nexport const GET_HISTORY = \"GET_HISTORY\"\nexport const GET_HISTORY_OUTBOX_MAIL = \"GET_HISTORY_OUTBOX_MAIL\"","import axios from 'axios'\n\nconst instance = axios.create({\n baseURL: `${process.env.REACT_APP_BASE_URL}`\n // headers: {'X-Custom-Header': 'foobar'}\n})\n\nexport default instance\n","import React from \"react\";\nimport { Grid, Typography, Button, TextField } from \"@material-ui/core\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport {\n Hidden\n} from \"@material-ui/core\";\nimport { useHistory } from 'react-router-dom';\nimport CssBaseline from '@material-ui/core/CssBaseline'\n\n// import { addLogin } from '../../actions/login'\nimport { connect } from 'react-redux';\nimport * as actions from '../../store/actions';\nimport { useForm } from \"react-hook-form\";\nimport { yupResolver } from \"@hookform/resolvers\";\nimport * as yup from \"yup\";\n\n// import AppBar from './AppBar'\n\nconst useStyles = makeStyles((theme) => ({\n\troot: {\n\t height: '100vh'\n\t},\n\tpaper: {\n\t margin: theme.spacing(10, 4),\n\t\t// marginTop: theme.spacing(20),\n\t\tdisplay: 'flex',\n\t\tflexDirection: 'column',\n\t\talignItems: 'center',\n\t\tpadding: '30px 50px',\n\t\tfontSize: 16,\n\t\ttextAlign: 'center',\n\n\t},\n\tpaper2: {\n\t\tmargin: theme.spacing(0, 4),\n\t\tdisplay: 'flex',\n\t\tflexDirection: 'column',\n\t\talignItems: 'center',\n\t\t[theme.breakpoints.up('sm')]: {\n\t\t\tpadding: '30px 50px',\n\t\t},\n\t\tfontSize: 16,\n\t\ttextAlign: 'center',\n\t },\n\tavatar: {\n\t marginTop: theme.spacing(8),\n\t},\n\tform: {\n\t width: '100%', // Fix IE 11 issue.\n\t // marginTop: 20,\n\t paddingTop: 25\n\t},\n\ttextField: {\n\t [`& fieldset`]: {\n\t\tborderRadius: 100,\n\t },\n\t},\n\tsubmit: {\n\t \tmargin: theme.spacing(3, 0, 2),\n\t\tborder: '0.5px solid rgba(224, 224, 224, 0.5)',\n\t\tboxSizing: 'border-box',\n\t\tcolor: '#FFFFFF',\n\t\twidth: '100%',\n\t\tfontFamily: 'Montserrat',\n\t\tborderRadius: theme.spacing(1)\n\t},\n\tgoogleLogo : {\n\t\tleft: 0,\n\t\tmarginRight: '10px'\n\t},\n\tcontentName: {\n\t // padding: '200px 20px 0px',\n\t padding: theme.spacing(25, 6)\n\t},\n\timage: {\n\t\twidth: '100%',\n\t\theight: 'auto'\n\t},\n\tcenter: {\n\t color: '#FFFFFF',\n\t fontSize: 50,\n\t paddingBottom: 15\n\t},\n\twelcome: {\n\t\tfontSize: 20,\n\t\tfontWeight: 'bold',\n\t\tpaddingBottom: 10,\n\t},\n\tlogoClub: {\n\t\twidth: \"100%\"\n\t},\n\tbtnForget: {\n\t\tdisplay: 'flex',\n\t\tjustifyContent: 'flex-end',\n\t\twidth: '100%',\n\t\t// marginTop: theme.spacing(5),\n\t},\n\tfooter: {\n\t\tfontSize: 14\n\t},\n\tloginContent: {\n\t\tmarginTop: theme.spacing(5)\n\t},\n\tbottomPush: {\n\t\tposition: \"fixed\",\n\t\tbottom: 0,\n\t\ttextAlign: \"center\",\n\t\tmarginBottom: 20,\n\t\twidth: '100%',\n\t\tmarginLeft: '50px',\n\t\t// marginRight: 'auto'\n\t},\n\ttext: {\n\t\tfontFamily: 'Montserrat'\n\t}\n}))\n\nconst SignInSchema = yup.object().shape({\n\tusername: yup.string().required(\"Username harus diisi\"),\n\tpassword: yup.string().required(\"Password harus diisi\"),\n});\n\nconst Login = props => {\n\tconst classes = useStyles();\n\tconst history = useHistory();\n\n\tconst tokenFCM = sessionStorage.getItem('tokenFCM')\n\n\tconst { register, handleSubmit, errors } = useForm({\n\t\tresolver: yupResolver(SignInSchema)\n\t});\n\t\n\tconst onSubmit = event => {\n\t\t// console.log(event);\n\t\t// addLogin(event, history)\n\t\tprops.onAuth(event.username, event.password, tokenFCM, history)\n\t\t// console.log(event);\n\t}\n\n\treturn (\n\t\t
\n\t\t\t{/* */}\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\"\"/\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t{/* */}\n\t\t\t\t\t\t{/* */}\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\"club\"\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\"club\"\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tSign In\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t{/*
*/}\n\t\t\t\t\t\t\t\t\t\t\t{/* © EOA Tech Team. 2020 */}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"jari\"/\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tPowered by

\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tPT Ngampooz Pintar Sejahtera\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t{/*
*/}\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t{/*
*/}\n\t\t\t\t\t{/*
*/}\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t);\n}\n\nconst mapDispatchToProps = dispatch => {\n return {\n onAuth: (username, password, tokenFCM, history) => dispatch(actions.auth(username, password, tokenFCM, history)),\n // onAlert: (message, alertType) => dispatch(actions.setAlert(message, alertType))\n }\n}\n\nexport default connect(null, mapDispatchToProps)(Login);","import * as actions from './actionTypes'\nimport axios from '../../axios-orders'\nimport { setAlert } from './alert'\n\nexport const authStart = () => {\n return {\n type: actions.AUTH_START\n }\n}\n\nexport const authSuccess = (token) => {\n return {\n type: actions.AUTH_SUCCESS,\n tokenId: token\n }\n}\n\nexport const authFail = (error) => {\n return {\n type: actions.AUTH_FAIL,\n error: error\n }\n}\n\nexport const auth = (username, password, token, history) => {\n return dispatch => {\n dispatch(authStart())\n const authData = {\n username: username,\n password: password,\n device_token: token\n }\n\n axios.post('api/login', authData, {\n headers: {\n 'Content-Type': 'application/json',\n 'Accept': 'application/json',\n }\n })\n .then(response => {\n // if(response.data.code === \"200\"){\n sessionStorage.setItem('access_token', response.data.original.access_token)\n sessionStorage.setItem('data', JSON.stringify(response.data.original.user_data))\n sessionStorage.setItem('role', response.data.original.user_data.role.role_name)\n sessionStorage.setItem('bagian', response.data.original.bagian)\n\n history.push(`/dashboard`);\n dispatch(authSuccess(response.data.token))\n // }else{\n // dispatch(setAlert(response.data.message, \"error\"))\n // }\n })\n .catch(err => {\n // dispatch(authFail(err.response.data.msg_str))\n // dispatch(setAlert(err.response.data.msg_str, 'error'))\n dispatch(setAlert(err.response.data.message, \"error\"))\n console.log(err)\n })\n }\n}","import React, { useState } from 'react';\nimport { makeStyles } from '@material-ui/core/styles';\nimport AppBar from '@material-ui/core/AppBar';\nimport Toolbar from '@material-ui/core/Toolbar';\n// import Typography from '@material-ui/core/Typography';\nimport Button from '@material-ui/core/Button';\nimport { \n Grid,\n Dialog,\n DialogTitle,\n DialogContent,\n DialogContentText,\n DialogActions\n} from '@material-ui/core';\nimport { Redirect } from 'react-router-dom'\nimport ButtonSignOut from '@material-ui/icons/Input'\n// import IconButton from '@material-ui/core/IconButton';\n// import MenuIcon from '@material-ui/icons/Menu';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n flexGrow: 1,\n },\n appBar: {\n background: 'transparent',\n boxShadow: 'none'\n },\n menuButton: {\n marginRight: theme.spacing(2),\n },\n signOut: {\n color: '#000'\n },\n buttonSignOut: {\n backgroundColor: '#F45B5B',\n color: '#ffffff'\n }\n}));\n\nconst Home = props => {\n const { children } = props;\n const classes = useStyles();\n\n const [dialogOpen, setDialogOpen] = useState(false);\n\n const handleDialogClose = () => {\n setDialogOpen(false);\n };\n\n const handleDoLogout = () => {\n sessionStorage.removeItem('access_token');\n sessionStorage.removeItem('expires_in');\n sessionStorage.removeItem('role');\n sessionStorage.removeItem('data');\n sessionStorage.clear();\n setRedirect({values: true});\n }\n\n const handlingSignout = event => {\n event.persist();\n setDialogOpen(true)\n \n };\n\n const [redirect, setRedirect] = useState({\n values : false\n });\n\n if (redirect.values) {\n return ;\n };\n\n return (\n
\n \n \n \n\n \n \n \n \n \n \n \n \n
\n {children}\n
\n \n {\"Logout Confirmation\"}\n \n \n Apakah anda ingin keluar?\n \n \n \n \n \n \n \n
\n );\n}\n\nexport default Home\n","import React from 'react';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport { makeStyles } from '@material-ui/styles';\nimport { \n Card, \n CardContent, \n Grid, \n Typography, \n} from '@material-ui/core';\nimport NumberFormat from 'react-number-format';\n\nconst useStyles = makeStyles(theme => ({\n root: {\n\t\theight: '100%',\n\t\tbackgroundColor: '#FFFFFF',\n },\n content: {\n alignItems: 'center',\n display: 'flex'\n },\n title: {\n fontFamily: 'Montserrat',\n color: '#A1A0AE',\n fontSize: 16\n\t},\n\tnumbers: {\n\t\tcolor: '#000000',\n fontFamily: 'Montserrat'\n\t},\n\tcaption: {\n\t\tfontWeight: 700,\n\t\tcolor: '#000000',\n\t\tfontFamily: 'Montserrat',\n\t},\n avatar: {\n backgroundColor: '#fff',\n height: 56,\n width: 56\n },\n icon: {\n height: 32,\n width: 32,\n color: '#00E676'\n },\n difference: {\n marginTop: theme.spacing(2),\n display: 'flex',\n alignItems: 'center'\n },\n differenceIcon: {\n color: theme.palette.error.dark\n },\n differenceValue: {\n color: theme.palette.error.dark,\n marginRight: theme.spacing(1)\n }\n}));\n\nconst TotalTransaction = props => {\n const { className, inboxMailOnProcess, ...rest } = props;\n\n const classes = useStyles();\n\n return (\n \n \n \n \n \n Surat Masuk On Process\n \n \n \n \n \n \n \n \n );\n};\n\nTotalTransaction.propTypes = {\n className: PropTypes.string\n};\n\nexport default TotalTransaction;\n","import React from 'react';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport { makeStyles } from '@material-ui/styles';\nimport { Card, CardContent, Grid, Typography } from '@material-ui/core';\nimport NumberFormat from 'react-number-format';\n\nconst useStyles = makeStyles(theme => ({\n root: {\n\t\theight: '100%',\n\t\tbackgroundColor: '#FFFFFF',\n },\n content: {\n alignItems: 'center',\n display: 'flex'\n },\n title: {\n\t\tfontFamily: 'Montserrat',\n color: '#A1A0AE',\n fontSize: 16\n\t},\n\tnumbers: {\n color: '#000000',\n fontFamily: 'Montserrat'\n\t},\n\tcaption: {\n\t\tfontWeight: 700,\n\t\tcolor: '#000000',\n\t\tfontFamily: 'Montserrat',\n\t},\n avatar: {\n backgroundColor: '#fff',\n height: 56,\n width: 56\n },\n icon: {\n height: 32,\n width: 32,\n color: '#FFC400'\n },\n difference: {\n marginTop: theme.spacing(2),\n display: 'flex',\n alignItems: 'center'\n },\n differenceIcon: {\n color: theme.palette.error.dark\n },\n differenceValue: {\n color: theme.palette.error.dark,\n marginRight: theme.spacing(1)\n }\n}));\n\nconst InboxMailDone = props => {\n const { className, inboxMailDone, ...rest } = props;\n\n const classes = useStyles();\n\n return (\n \n \n \n \n \n Surat Masuk Selesai\n \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n \n \n \n \n );\n};\n\nInboxMailDone.propTypes = {\n className: PropTypes.string\n};\n\nexport default InboxMailDone;\n","import React from 'react';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport { makeStyles } from '@material-ui/styles';\nimport { Card, CardContent, Grid, Typography } from '@material-ui/core';\nimport NumberFormat from 'react-number-format';\n\nconst useStyles = makeStyles(theme => ({\n root: {\n\t\theight: '100%',\n\t\tbackgroundColor: '#FFFFFF',\n },\n content: {\n alignItems: 'center',\n display: 'flex'\n },\n title: {\n\t\tfontFamily: 'Montserrat',\n color: '#A1A0AE',\n fontSize: 16\n\t},\n\tnumbers: {\n\t\tcolor: '#000000',\n fontFamily: 'Montserrat'\n\t},\n\tcaption: {\n\t\tfontWeight: 700,\n\t\tcolor: '#000000',\n\t\tfontFamily: 'Montserrat',\n\t},\n avatar: {\n backgroundColor: '#fff',\n height: 56,\n width: 56\n },\n icon: {\n height: 32,\n width: 32,\n color: '#6200EE'\n },\n difference: {\n marginTop: theme.spacing(2),\n display: 'flex',\n alignItems: 'center'\n },\n differenceIcon: {\n color: theme.palette.error.dark\n },\n differenceValue: {\n color: theme.palette.error.dark,\n marginRight: theme.spacing(1)\n }\n}));\n\nconst TotalInvestasiRP = props => {\n const { className, outboxMailOnProcess, ...rest } = props;\n\n const classes = useStyles();\n\n return (\n \n \n \n \n \n Surat Keluar Dalam Proses\n \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n \n \n \n \n );\n};\n\nTotalInvestasiRP.propTypes = {\n className: PropTypes.string\n};\n\nexport default TotalInvestasiRP;\n","import React from 'react';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport { makeStyles } from '@material-ui/styles';\nimport { Card, CardContent, Grid, Typography } from '@material-ui/core';\nimport NumberFormat from 'react-number-format';\n\nconst useStyles = makeStyles(theme => ({\n root: {\n\t\theight: '100%',\n\t\tbackgroundColor: '#FFFFFF',\n },\n content: {\n alignItems: 'center',\n display: 'flex'\n },\n title: {\n\t\tfontFamily: 'Montserrat',\n color: '#A1A0AE',\n fontSize: 16\n\t},\n\tnumbers: {\n\t\tcolor: '#000000',\n fontFamily: 'Montserrat'\n\t},\n\tcaption: {\n\t\tfontWeight: 700,\n\t\tcolor: '#000000',\n\t\tfontFamily: 'Montserrat',\n\t},\n avatar: {\n backgroundColor: '#fff',\n height: 56,\n width: 56\n },\n icon: {\n height: 32,\n width: 32,\n color: '#FF1744'\n },\n difference: {\n marginTop: theme.spacing(2),\n display: 'flex',\n alignItems: 'center'\n },\n differenceIcon: {\n color: theme.palette.error.dark\n },\n differenceValue: {\n color: theme.palette.error.dark,\n marginRight: theme.spacing(1)\n }\n}));\n\nconst Investor = props => {\n const { className, outboxMailDone, ...rest } = props;\n\n const classes = useStyles();\n\n return (\n \n \n \n \n \n Surat Keluar Selesai\n \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n \n \n \n \n );\n};\n\nInvestor.propTypes = {\n className: PropTypes.string\n};\n\nexport default Investor;\n","import palette from '../../../../theme/palette';\nimport numeral from 'numeral'\n\nexport const options = {\n responsive: true,\n maintainAspectRatio: true,\n animation: false,\n legend: { display: false },\n cornerRadius: 20,\n tooltips: {\n callbacks: {\n label: function(tooltipItem, data) {\n return numeral(data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index]).format('0,0');\n }\n },\n enabled: true,\n mode: 'index',\n intersect: false,\n borderWidth: 1,\n borderColor: palette.divider,\n backgroundColor: palette.white,\n titleFontColor: palette.text.primary,\n bodyFontColor: palette.text.secondary,\n footerFontColor: palette.text.secondary\n },\n layout: { padding: 0 },\n scales: {\n xAxes: [\n {\n barThickness: 50,\n maxBarThickness: 100,\n barPercentage: 0,\n categoryPercentage: 0,\n ticks: {\n fontColor: palette.text.secondary,\n },\n gridLines: {\n display: false,\n drawBorder: false\n }\n }\n ],\n yAxes: [\n {\n ticks: {\n fontColor: palette.text.secondary,\n beginAtZero: false,\n // min: 0,\n callback(value) {\n // you can add your own method here (just an example)\n return Number(value).toLocaleString('en')\n }\n },\n gridLines: {\n borderDash: [2],\n borderDashOffset: [2],\n color: palette.divider,\n drawBorder: false,\n zeroLineBorderDash: [2],\n zeroLineBorderDashOffset: [2],\n zeroLineColor: palette.divider\n }\n }\n ]\n }\n};\n","//Custom rewrite for radius border on bar draw\n//Code from https://github.com/jedtrow/Chart.js-Rounded-Bar-Charts with a few adjustments\n\nimport { Chart as ChartJS } from 'react-chartjs-2'\n\nChartJS.elements.Rectangle.prototype.draw = function() {\n const ctx = this._chart.ctx\n const vm = this._view\n let left, right, top, bottom, signX, signY, borderSkipped\n let borderWidth = vm.borderWidth\n \n // If radius is less than 0 or is large enough to cause drawing errors a max\n // radius is imposed. If cornerRadius is not defined set it to 0.\n let cornerRadius = this._chart.config.options.cornerRadius\n if(cornerRadius < 0){ cornerRadius = 0 }\n if(typeof cornerRadius == 'undefined'){ cornerRadius = 0 }\n \n if (!vm.horizontal) {\n left = vm.x - vm.width / 2\n right = vm.x + vm.width / 2\n top = vm.y\n bottom = vm.base\n signX = 1\n signY = bottom > top? 1: -1\n borderSkipped = vm.borderSkipped || 'bottom'\n } \n \n // Canvas doesn't allow us to stroke inside the width so we can\n // adjust the sizes to fit if we're setting a stroke on the line\n if (borderWidth) {\n // borderWidth shold be less than bar width and bar height.\n const barSize = Math.min(Math.abs(left - right), Math.abs(top - bottom))\n borderWidth = borderWidth > barSize? barSize: borderWidth\n const halfStroke = borderWidth / 2\n // Adjust borderWidth when bar top position is near vm.base(zero).\n const borderLeft = left + (borderSkipped !== 'left'? halfStroke * signX: 0)\n const borderRight = right + (borderSkipped !== 'right'? -halfStroke * signX: 0)\n const borderTop = top + (borderSkipped !== 'top'? halfStroke * signY: 0)\n const borderBottom = bottom + (borderSkipped !== 'bottom'? -halfStroke * signY: 0)\n // not become a vertical line?\n if (borderLeft !== borderRight) {\n top = borderTop\n bottom = borderBottom\n }\n // not become a horizontal line?\n if (borderTop !== borderBottom) {\n left = borderLeft\n right = borderRight\n }\n }\n \n ctx.beginPath()\n ctx.fillStyle = vm.backgroundColor\n ctx.strokeStyle = vm.borderColor\n ctx.lineWidth = borderWidth\n \n // Corner points, from bottom-left to bottom-right clockwise\n // | 1 2 |\n // | 0 3 |\n const corners = [\n [left, bottom],\n [left, top],\n [right, top],\n [right, bottom],\n ]\n \n // Find first (starting) corner with fallback to 'bottom'\n const borders = ['bottom', 'left', 'top', 'right']\n let startCorner = borders.indexOf(borderSkipped, 0)\n if (startCorner === -1) {\n startCorner = 0\n }\n \n function cornerAt(index) {\n return corners[(startCorner + index) % 4]\n }\n \n // Draw rectangle from 'startCorner'\n let corner = cornerAt(0)\n ctx.moveTo(corner[0], corner[1])\n \n for (let i = 1; i < 4; i++) {\n corner = cornerAt(i)\n let nextCornerId = i+1\n if(nextCornerId === 4){\n nextCornerId = 0\n }\n \n const width = corners[2][0] - corners[1][0]\n const height = corners[0][1] - corners[1][1]\n const x = corners[1][0]\n const y = corners[1][1]\n \n let radius = cornerRadius\n \n // Fix radius being too large\n if(radius > Math.abs(height)/1.5){\n radius = Math.floor(Math.abs(height)/1.5)\n }\n if(radius > Math.abs(width)/1.5){\n radius = Math.floor(Math.abs(width)/1.5)\n }\n \n if(height < 0){\n // Negative values in a standard bar chart\n const x_tl = x; const x_tr = x+width\n const y_tl = y+height; const y_tr = y+height\n \n const x_bl = x; const x_br = x+width\n const y_bl = y; const y_br = y\n \n // Draw\n ctx.moveTo(x_bl+radius, y_bl)\n ctx.lineTo(x_br-radius, y_br)\n ctx.quadraticCurveTo(x_br, y_br, x_br, y_br-radius)\n ctx.lineTo(x_tr, y_tr+radius)\n ctx.quadraticCurveTo(x_tr, y_tr, x_tr-radius, y_tr)\n ctx.lineTo(x_tl+radius, y_tl)\n ctx.quadraticCurveTo(x_tl, y_tl, x_tl, y_tl+radius)\n ctx.lineTo(x_bl, y_bl-radius)\n ctx.quadraticCurveTo(x_bl, y_bl, x_bl+radius, y_bl)\n } else {\n ctx.moveTo(x + radius, y)\n ctx.lineTo(x + width - radius, y)\n ctx.quadraticCurveTo(x + width, y, x + width, y + radius)\n ctx.lineTo(x + width, y + height - radius)\n ctx.quadraticCurveTo(x + width, y + height, x + width, y + height)\n ctx.lineTo(x + radius, y + height)\n ctx.quadraticCurveTo(x, y + height, x, y + height)\n ctx.lineTo(x, y + radius)\n ctx.quadraticCurveTo(x, y, x + radius, y)\n }\n }\n \n ctx.fill()\n if (borderWidth) {\n ctx.stroke()\n }\n }","import React from 'react'\nimport { Bar } from 'react-chartjs-2';\nimport {\n Card,\n CardContent,\n CardHeader,\n makeStyles,\n} from '@material-ui/core'\nimport {options} from './chart'\nimport './roundedBar'\nimport moment from 'moment'\n\nconst useStyles = makeStyles(theme => ({\n text: {\n color: '#000000',\n fontFamily: 'Montserrat'\n }\n}))\n\nconst GrafikInboxMail = props => {\n const classes = useStyles()\n const {\n grafikInboxMail\n } = props\n\n var data = {}\n var value=[]\n var bulan=[];\n\n // if(!loadingTransactionSales || grafikTransactionSales !== null){\n for (var i = 0; i < grafikInboxMail.length; i++) {\n // bulan.push(grafikInboxMail[i].date);\n // var date = new Date(grafikInboxMail[i].date)\n bulan.push(moment(grafikInboxMail[i].date).format('DD/MM'));\n value.push(grafikInboxMail[i].value);\n }\n \n data = {\n labels: bulan,\n datasets: [\n {\n label : 'Jumlah Pekerjaan',\n data: value,\n backgroundColor: '#2285DF',\n borderColor: [\n 'rgba(255,99,132,1)',\n 'rgba(54, 162, 235, 1)',\n 'rgba(255, 206, 86, 1)',\n 'rgba(75, 192, 192, 1)',\n 'rgba(153, 102, 255, 1)',\n 'rgba(255, 159, 64, 1)'\n ],\n borderRadius: 10\n }\n ]\n };\n // }\n \n return(\n
\n \n \n \n \n \n \n\n
\n )\n}\n\nexport default GrafikInboxMail","import palette from '../../../../theme/palette';\nimport numeral from 'numeral'\n\nexport const options = {\n responsive: true,\n maintainAspectRatio: true,\n animation: false,\n legend: { display: false },\n cornerRadius: 20,\n tooltips: {\n callbacks: {\n label: function(tooltipItem, data) {\n return numeral(data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index]).format('0,0');\n }\n },\n enabled: true,\n mode: 'index',\n intersect: false,\n borderWidth: 1,\n borderColor: palette.divider,\n backgroundColor: palette.white,\n titleFontColor: palette.text.primary,\n bodyFontColor: palette.text.secondary,\n footerFontColor: palette.text.secondary\n },\n layout: { padding: 0 },\n scales: {\n xAxes: [\n {\n barThickness: 50,\n maxBarThickness: 100,\n barPercentage: 0,\n categoryPercentage: 0,\n ticks: {\n fontColor: palette.text.secondary,\n },\n gridLines: {\n display: false,\n drawBorder: false\n }\n }\n ],\n yAxes: [\n {\n ticks: {\n fontColor: palette.text.secondary,\n beginAtZero: false,\n // min: 0,\n callback(value) {\n // you can add your own method here (just an example)\n return Number(value).toLocaleString('en')\n }\n },\n gridLines: {\n borderDash: [2],\n borderDashOffset: [2],\n color: palette.divider,\n drawBorder: false,\n zeroLineBorderDash: [2],\n zeroLineBorderDashOffset: [2],\n zeroLineColor: palette.divider\n }\n }\n ]\n }\n};\n","//Custom rewrite for radius border on bar draw\n//Code from https://github.com/jedtrow/Chart.js-Rounded-Bar-Charts with a few adjustments\n\nimport { Chart as ChartJS } from 'react-chartjs-2'\n\nChartJS.elements.Rectangle.prototype.draw = function() {\n const ctx = this._chart.ctx\n const vm = this._view\n let left, right, top, bottom, signX, signY, borderSkipped\n let borderWidth = vm.borderWidth\n \n // If radius is less than 0 or is large enough to cause drawing errors a max\n // radius is imposed. If cornerRadius is not defined set it to 0.\n let cornerRadius = this._chart.config.options.cornerRadius\n if(cornerRadius < 0){ cornerRadius = 0 }\n if(typeof cornerRadius == 'undefined'){ cornerRadius = 0 }\n \n if (!vm.horizontal) {\n left = vm.x - vm.width / 2\n right = vm.x + vm.width / 2\n top = vm.y\n bottom = vm.base\n signX = 1\n signY = bottom > top? 1: -1\n borderSkipped = vm.borderSkipped || 'bottom'\n } \n \n // Canvas doesn't allow us to stroke inside the width so we can\n // adjust the sizes to fit if we're setting a stroke on the line\n if (borderWidth) {\n // borderWidth shold be less than bar width and bar height.\n const barSize = Math.min(Math.abs(left - right), Math.abs(top - bottom))\n borderWidth = borderWidth > barSize? barSize: borderWidth\n const halfStroke = borderWidth / 2\n // Adjust borderWidth when bar top position is near vm.base(zero).\n const borderLeft = left + (borderSkipped !== 'left'? halfStroke * signX: 0)\n const borderRight = right + (borderSkipped !== 'right'? -halfStroke * signX: 0)\n const borderTop = top + (borderSkipped !== 'top'? halfStroke * signY: 0)\n const borderBottom = bottom + (borderSkipped !== 'bottom'? -halfStroke * signY: 0)\n // not become a vertical line?\n if (borderLeft !== borderRight) {\n top = borderTop\n bottom = borderBottom\n }\n // not become a horizontal line?\n if (borderTop !== borderBottom) {\n left = borderLeft\n right = borderRight\n }\n }\n \n ctx.beginPath()\n ctx.fillStyle = vm.backgroundColor\n ctx.strokeStyle = vm.borderColor\n ctx.lineWidth = borderWidth\n \n // Corner points, from bottom-left to bottom-right clockwise\n // | 1 2 |\n // | 0 3 |\n const corners = [\n [left, bottom],\n [left, top],\n [right, top],\n [right, bottom],\n ]\n \n // Find first (starting) corner with fallback to 'bottom'\n const borders = ['bottom', 'left', 'top', 'right']\n let startCorner = borders.indexOf(borderSkipped, 0)\n if (startCorner === -1) {\n startCorner = 0\n }\n \n function cornerAt(index) {\n return corners[(startCorner + index) % 4]\n }\n \n // Draw rectangle from 'startCorner'\n let corner = cornerAt(0)\n ctx.moveTo(corner[0], corner[1])\n \n for (let i = 1; i < 4; i++) {\n corner = cornerAt(i)\n let nextCornerId = i+1\n if(nextCornerId === 4){\n nextCornerId = 0\n }\n \n const width = corners[2][0] - corners[1][0]\n const height = corners[0][1] - corners[1][1]\n const x = corners[1][0]\n const y = corners[1][1]\n \n let radius = cornerRadius\n \n // Fix radius being too large\n if(radius > Math.abs(height)/1.5){\n radius = Math.floor(Math.abs(height)/1.5)\n }\n if(radius > Math.abs(width)/1.5){\n radius = Math.floor(Math.abs(width)/1.5)\n }\n \n if(height < 0){\n // Negative values in a standard bar chart\n const x_tl = x; const x_tr = x+width\n const y_tl = y+height; const y_tr = y+height\n \n const x_bl = x; const x_br = x+width\n const y_bl = y; const y_br = y\n \n // Draw\n ctx.moveTo(x_bl+radius, y_bl)\n ctx.lineTo(x_br-radius, y_br)\n ctx.quadraticCurveTo(x_br, y_br, x_br, y_br-radius)\n ctx.lineTo(x_tr, y_tr+radius)\n ctx.quadraticCurveTo(x_tr, y_tr, x_tr-radius, y_tr)\n ctx.lineTo(x_tl+radius, y_tl)\n ctx.quadraticCurveTo(x_tl, y_tl, x_tl, y_tl+radius)\n ctx.lineTo(x_bl, y_bl-radius)\n ctx.quadraticCurveTo(x_bl, y_bl, x_bl+radius, y_bl)\n } else {\n ctx.moveTo(x + radius, y)\n ctx.lineTo(x + width - radius, y)\n ctx.quadraticCurveTo(x + width, y, x + width, y + radius)\n ctx.lineTo(x + width, y + height - radius)\n ctx.quadraticCurveTo(x + width, y + height, x + width, y + height)\n ctx.lineTo(x + radius, y + height)\n ctx.quadraticCurveTo(x, y + height, x, y + height)\n ctx.lineTo(x, y + radius)\n ctx.quadraticCurveTo(x, y, x + radius, y)\n }\n }\n \n ctx.fill()\n if (borderWidth) {\n ctx.stroke()\n }\n }","import React from 'react'\nimport { Bar } from 'react-chartjs-2';\nimport {\n Card,\n CardContent,\n CardHeader,\n makeStyles,\n} from '@material-ui/core'\nimport {options} from './chart'\nimport './roundedBar'\nimport moment from 'moment'\n\nconst useStyles = makeStyles(theme => ({\n text: {\n color: '#000000',\n fontFamily: 'Montserrat'\n }\n}))\n\nconst GrafikOutboxMail = props => {\n const classes = useStyles()\n const {\n grafikOutboxMail\n } = props\n\n var data = {}\n var value=[]\n var bulan=[];\n\n // if(!loadingTransactionSales || grafikTransactionSales !== null){\n for (var i = 0; i < grafikOutboxMail.length; i++) {\n // bulan.push(grafikOutboxMail[i].date);\n // var date = new Date(grafikOutboxMail[i].date)\n bulan.push(moment(grafikOutboxMail[i].date).format('DD/MM'));\n value.push(grafikOutboxMail[i].value);\n }\n \n data = {\n labels: bulan,\n datasets: [\n {\n label : 'Jumlah Pekerjaan',\n data: value,\n backgroundColor: '#2285DF',\n borderColor: [\n 'rgba(255,99,132,1)',\n 'rgba(54, 162, 235, 1)',\n 'rgba(255, 206, 86, 1)',\n 'rgba(75, 192, 192, 1)',\n 'rgba(153, 102, 255, 1)',\n 'rgba(255, 159, 64, 1)'\n ],\n borderRadius: 10\n }\n ]\n };\n // }\n \n return(\n
\n \n \n \n \n \n \n\n
\n )\n}\n\nexport default GrafikOutboxMail","import React, { useEffect, useState } from 'react';\nimport { makeStyles } from '@material-ui/styles';\nimport { \n Grid, \n Typography,\n} from '@material-ui/core';\n// import { Link as RouterLink } from 'react-router-dom';\nimport DateFnsUtils from '@date-io/date-fns'; // choose your lib\nimport {\n DatePicker,\n MuiPickersUtilsProvider,\n} from '@material-ui/pickers';\nimport moment from 'moment';\n// import '../../../public/index.css'\n\nimport {\n InboxMailOnProcess,\n InboxMailDone,\n OutboxMailOnProcess,\n GrafikInboxMail,\n GrafikOutboxMail,\n OutboxMailDone\n} from './components'\n\nimport { connect } from 'react-redux'\nimport { getDashboard } from '../../store/actions/dashboard'\nimport { Skeleton } from '@material-ui/lab';\n\nconst useStyles = makeStyles(theme => ({\n root: {\n padding: theme.spacing(4),\n },\n bgColor: {\n backgroundColor: '#BCE0FD',\n height: '312px',\n position: 'absolute',\n // zIndex: 0\n },\n cardMobile: {\n paddingLeft: theme.spacing(1),\n paddingRight: theme.spacing(1),\n paddingTop: theme.spacing(2),\n width: '100%'\n },\n extendedIcon: {\n marginRight: theme.spacing(1),\n },\n executiveSummary: {\n marginBottom: theme.spacing(2)\n },\n btn: {\n backgroundColor: '#FF9300',\n color: '#FFFFFF',\n '&:hover': {\n backgroundColor: '#FFA938',\n opacity: 1,\n },\n },\n title: {\n fontFamily: 'Montserrat'\n }\n}));\n\n// const CustomRouterLink = forwardRef((props, ref) => (\n// \n// \n// \n// ));\n\nconst Dashboard = props => {\n const classes = useStyles();\n const {\n getDashboard,\n dashboard:{\n dashboardList,\n loadingDashboardList\n }\n } = props\n\n const [selectedDate ] = useState(new Date());\n\n const submitDefault = moment().subtract(7, 'd').format('YYYY-MM-DD');\n const submitDefaultEndDate = moment({}).format('YYYY-MM-DD');\n const [ startDate, setStartDate ] = useState({\n submit: {\n submit: submitDefault\n },\n view: {\n view: moment().subtract(7, 'd').format('YYYY-MM-DD')\n }\n });\n const handleStartDate = (date) => {\n const changeDate = moment(date).format('YYYY-MM-DD');\n setStartDate(startDate => ({\n ...startDate,\n submit: {\n submit: changeDate\n },\n view: {\n view: date\n }\n }));\n };\n\n const [ endDate, setEndDate ] = useState({\n submit: {\n submit: submitDefaultEndDate\n },\n view: {selectedDate}\n });\n const handleEndDate = (date) => {\n const all = moment(date).format('YYYY-MM-DD');\n setEndDate(endDate => ({\n ...endDate,\n submit: {\n submit: all\n },\n view: {\n view: date\n }\n }));\n };\n\n useEffect(() => {\n getDashboard(startDate.submit.submit, endDate.submit.submit)\n }, [getDashboard, startDate, endDate])\n\n console.log(dashboardList)\n\n return (\n
\n
\n \n \n Dashboard\n \n \n \n \n {!loadingDashboardList ? (\n \n ):(\n \n )}\n \n \n {!loadingDashboardList ? (\n \n ):(\n \n )}\n \n \n {!loadingDashboardList ? (\n \n ):(\n \n )}\n \n \n {!loadingDashboardList ? (\n \n ):(\n \n )}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {!loadingDashboardList ? (\n \n ):(\n \n )}\n \n \n {!loadingDashboardList ? (\n \n ):(\n \n )}\n \n \n
\n );\n};\n\nconst mapStateToProps = state => ({\n dashboard : state.dashboard\n})\n\nexport default connect(mapStateToProps, { getDashboard })(Dashboard)\n","import * as actions from './actionTypes'\nimport axios from 'axios'\nimport { setAlert } from './alert'\n\nexport const getDashboard = (startDate, endDate) => async dispatch => {\n const endpoint = `${process.env.REACT_APP_BASE_URL}api/dashboard`\n const myData = {\n start_date: startDate,\n end_date: endDate\n }\n\n try {\n const res = await axios({\n url: endpoint,\n method: \"GET\",\n data: myData,\n headers: { \n 'Content-Type': 'application/json', \n 'Accept' : 'application/json', \n 'Authorization' : `bearer ${sessionStorage.getItem('access_token')}`\n }\n });\n dispatch({\n type: actions.GET_DASHBOARD,\n payload: res.data\n })\n\n } catch (error) {\n dispatch(setAlert(\"Something went wrong\", \"error\"))\n console.log(error)\n dispatch({\n type: actions.GET_DASHBOARD,\n payload: error\n })\n // dispatch({\n // payload: { msg: error.response.statusText, status: error.response.status },\n // type: STAGE_ERROR\n // })\n }\n \n}","import React, {useEffect, useState, useMemo } from 'react';\nimport { makeStyles } from '@material-ui/core/styles';\nimport {useDropzone} from 'react-dropzone';\nimport Button from '@material-ui/core/Button';\nimport AddIcon from '@material-ui/icons/Add';\n// import { Typography } from '@material-ui/core';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n width: '100%',\n },\n content: {\n // margin: theme.spacing(3)\n },\n thumbsContainer : {\n display: 'flex',\n flexDirection: 'row',\n flexWrap: 'wrap',\n marginTop: 16\n },\n \n thumb : {\n display: 'inline-flex',\n borderRadius: 2,\n border: '1px solid #eaeaea',\n marginBottom: 8,\n marginRight: 8,\n width: 'auto',\n height: 'auto',\n padding: 4,\n boxSizing: 'border-box'\n },\n \n thumbInner : {\n display: 'flex',\n minWidth: 0,\n overflow: 'hidden'\n },\n \n img : {\n display: 'block',\n width: '100%',\n height: '100%'\n },\n appBar: {\n position: 'relative',\n },\n title: {\n marginLeft: theme.spacing(2),\n flex: 1,\n },\n paragraph: {\n margin: theme.spacing(2)\n }\n}));\n\nconst baseStyle = {\n flex: 1,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n\tpadding: '20px',\n borderWidth: 2,\n borderRadius: 2,\n borderColor: '#eeeeee',\n borderStyle: 'dashed',\n backgroundColor: '#fafafa',\n color: '#bdbdbd',\n outline: 'none',\n\ttransition: 'border .24s ease-in-out',\n};\n\nconst activeStyle = {\n borderColor: '#2196f3'\n};\n\nconst acceptStyle = {\n borderColor: '#00e676'\n};\n\nconst rejectStyle = {\n borderColor: '#ff1744'\n};\n\nexport default function UploadImage(props) {\n const classes = useStyles();\n\tconst { handleChangeBanner } = props;\n\n const [files, setFiles] = useState([]);\n\n\tconst {\n getRootProps,\n getInputProps,\n isDragActive,\n isDragAccept,\n isDragReject,\n } = useDropzone({\n accept: 'image/*',\n onDrop: acceptedFiles => {\n setFiles(acceptedFiles.map(file => Object.assign(file, {\n preview: URL.createObjectURL(file)\n })));\n },\n onDropAccepted: handleChangeBanner,\n });\n // console.log(files)\n\n const style = useMemo(() => ({\n ...baseStyle,\n ...(isDragActive ? activeStyle : {}),\n ...(isDragAccept ? acceptStyle : {}),\n ...(isDragReject ? rejectStyle : {})\n }), [\n isDragActive,\n isDragReject,\n isDragAccept\n ]);\n \n const thumbs = files.map(file => (\n
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t));\n\n useEffect(() => () => {\n // Make sure to revoke the data uris to avoid memory leaks\n files.forEach(file => URL.revokeObjectURL(file.preview));\n }, [files]);\n\n return (\n
\n
\n \n

Drag 'n' drop some files here, or click to select files

\n\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\tUpload Image\n\t\t\t\t\n
\n \n\t\t
\n );\n}","import React, { useState, useEffect, Fragment } from 'react'\nimport axios from 'axios'\nimport { makeStyles } from '@material-ui/styles'\nimport { useForm } from \"react-hook-form\"\nimport { \n Card, \n CardActions,\n CardContent, \n TextField, \n Grid, \n Button,\n} from '@material-ui/core'\nimport Backdrop from '@material-ui/core/Backdrop'\nimport CircularProgress from '@material-ui/core/CircularProgress'\n// import { useHistory } from 'react-router-dom'\nimport { AccountImage } from './components'\nimport Skeleton from '@material-ui/lab/Skeleton'\n\nconst useStyles = makeStyles(theme => ({\n root : {\n padding : theme.spacing(4)\n },\n backdrop: {\n\t\tzIndex: theme.zIndex.drawer + 1,\n\t\tcolor: '#fff',\n\t},\n}))\n\nconst Profile = () => {\n const classes = useStyles()\n const { register, handleSubmit } = useForm()\n // const history = useHistory()\n const [ setBanner] = useState([])\n const [ setB64] = useState()\n const [ url ] = useState(`${process.env.REACT_APP_BASE_URL}/user/profile`)\n\n const handleChangeBanner = event => {\n setBanner(event[0])\n let reader = new FileReader()\n reader.readAsDataURL(event[0])\n reader.onload = function(){\n setB64(reader.result)\n // console.log(reader.result)\n }\n };\n\n const [ setFormState ] = useState({\n values: {}\n })\n const [ isLoading, setIsLoading ] = useState(false)\n const [ detailProfile, setDetailProfile ] = useState({})\n\n const handleChange = event => {\n event.persist();\n setFormState(formState => ({\n ...formState,\n values: {\n ...formState.values,\n [event.target.name]: event.target.value\n }\n }))\n }\n\n useEffect(() => {\n const fetchData = async () => {\n setIsLoading(true);\n try {\n const token = sessionStorage.getItem('access_token');\n // console.log(`token = ${token}`);\n const result = await axios({\n url: url,\n method: \"GET\",\n headers: { \n 'Content-Type': 'application/json', \n 'Accept' : 'application/json', \n 'Authorization' : `bearer ${token}` \n }\n });\n setDetailProfile(result.data)\n // console.log(result.data.name)\n } catch (error) {\n console.log(error)\n }\n setIsLoading(false);\n };\n fetchData()\n }, [url])\n\n const onSubmit = e => {\n // editProfile(formState.values, history)\n // console.log(formState.values)\n }\n\n return isLoading ? \n \n \n \n :\n \n
\n
\n \n \n \n \n \n \n {!isLoading ? (\n \n \n \n ):(\n \n )}\n \n \n \n \n \n \n \n
\n
\n}\n\nexport default Profile","import * as actions from './actionTypes'\nimport axios from 'axios'\nimport { setAlert } from './alert'\nimport fileDownload from 'js-file-download'\n\nexport const getInboxMail = (keyword) => async dispatch => {\n const endpoint = `${process.env.REACT_APP_BASE_URL}api/surat-masuk?keyword=${keyword}`\n\n try {\n const res = await axios({\n url: endpoint,\n method: \"GET\",\n headers: { \n 'Content-Type': 'application/json', \n 'Accept' : 'application/json', \n 'Authorization' : `bearer ${sessionStorage.getItem('access_token')}`\n }\n });\n dispatch({\n type: actions.GET_INBOX_MAIL,\n payload: res.data.data\n })\n\n } catch (error) {\n dispatch(setAlert(\"Something went wrong\", \"error\"))\n console.log(error)\n dispatch({\n type: actions.GET_INBOX_MAIL,\n payload: error\n })\n // dispatch({\n // payload: { msg: error.response.statusText, status: error.response.status },\n // type: STAGE_ERROR\n // })\n }\n \n}\n\nexport const getInboxMailDone = (keyword, startDate, endDate) => async dispatch => {\n const endpoint = `${process.env.REACT_APP_BASE_URL}api/report/surat-masuk?keyword=${keyword}&start_date=${startDate}&end_date=${endDate}`\n \n try {\n const res = await axios({\n url: endpoint,\n method: \"GET\",\n headers: { \n 'Content-Type': 'application/json', \n 'Accept' : 'application/json', \n 'Authorization' : `bearer ${sessionStorage.getItem('access_token')}`\n }\n });\n dispatch({\n type: actions.GET_INBOX_MAIL_DONE,\n payload: res.data.data\n })\n \n } catch (error) {\n dispatch(setAlert(\"Something went wrong\", \"error\"))\n console.log(error)\n dispatch({\n type: actions.GET_INBOX_MAIL_DONE,\n payload: error\n })\n // dispatch({\n // payload: { msg: error.response.statusText, status: error.response.status },\n // type: STAGE_ERROR\n // })\n }\n \n}\n\nexport const postInboxMail = (formData, file, mailDate, accDate, history) => async dispatch => {\n dispatch({\n type: actions.POST_INBOX_MAIL_START,\n })\n const endpoint = `${process.env.REACT_APP_BASE_URL}api/surat-masuk`\n const myData = new FormData()\n myData.set('klasifikasi', formData.klasifikasi)\n myData.set('no_agenda', formData.no_agenda)\n myData.set('tanggal_surat', mailDate)\n myData.set('tanggal_terima', accDate)\n myData.set('status_type', formData.status_type)\n myData.set('perihal', formData.perihal)\n myData.set('file', file)\n \n try {\n const res = await axios({\n url: endpoint,\n method: \"POST\",\n data: myData,\n headers: { \n 'Content-Type': 'multipart/form-data', \n 'Accept' : 'application/json', \n 'Authorization' : `bearer ${sessionStorage.getItem('access_token')}`\n }\n });\n dispatch({\n type: actions.POST_INBOX_MAIL_SUCCESS,\n payload: res.data\n })\n dispatch(setAlert(res.data.message, \"success\"))\n history.push('/surat-masuk')\n \n } catch (error) {\n dispatch(setAlert(\"Something went wrong\", \"error\"))\n console.log(error)\n dispatch({\n type: actions.POST_INBOX_MAIL_FAIL,\n payload: error\n })\n // dispatch({\n // payload: { msg: error.response.statusText, status: error.response.status },\n // type: STAGE_ERROR\n // })\n }\n \n}\n\nexport const updateInboxMail = (formData, file, mailDate, accDate, history, id) => async dispatch => {\n dispatch({\n type: actions.UPDATE_INBOX_MAIL_START,\n })\n const endpoint = `${process.env.REACT_APP_BASE_URL}api/surat-masuk/${id}`\n const myData = new FormData()\n myData.set('_method', 'put')\n myData.set('no_agenda', formData.no_agenda)\n // myData.set('no_surat', formData.no_surat)\n myData.set('tanggal_surat', mailDate)\n myData.set('tanggal_terima', accDate)\n myData.set('status_type', formData.status_type)\n // myData.set('sumber_surat', formData.sumber_surat)\n myData.set('perihal', formData.perihal)\n // myData.set('keterangan', formData.keterangan)\n if(file.length > 0){\n myData.set('file', file)\n }\n \n try {\n const res = await axios({\n url: endpoint,\n method: \"POST\",\n data: myData,\n headers: { \n 'Content-Type': 'multipart/form-data', \n 'Accept' : 'application/json', \n 'Authorization' : `bearer ${sessionStorage.getItem('access_token')}`\n }\n });\n dispatch({\n type: actions.UPDATE_INBOX_MAIL_SUCCESS,\n payload: res.data\n })\n dispatch(setAlert(res.data.message, \"success\"))\n history.push('/surat-masuk')\n \n } catch (error) {\n dispatch(setAlert(\"Something went wrong\", \"error\"))\n console.log(error)\n dispatch({\n type: actions.UPDATE_INBOX_MAIL_FAIL,\n payload: error\n })\n // dispatch({\n // payload: { msg: error.response.statusText, status: error.response.status },\n // type: STAGE_ERROR\n // })\n }\n \n}\n\nexport const downloadBuktiTerima = (id, no_surat) => async dispatch => {\n const endpoint = `${process.env.REACT_APP_BASE_URL}api/surat-masuk/${id}/tanda-terima/download`\n console.log(endpoint)\n dispatch({\n type: actions.DOWNLOAD_BUKTI_TERIMA_START,\n })\n try {\n const res = await axios({\n url: endpoint,\n method: \"GET\",\n loading: true,\n headers: { \n 'Content-Type': 'application/pdf', \n 'Accept' : 'application/json', \n 'Authorization' : `Bearer ${sessionStorage.getItem('access_token')}`\n },\n responseType: 'blob'\n });\n fileDownload(res.data, `bukti_terima_${no_surat}.pdf`)\n dispatch({\n type: actions.DOWNLOAD_BUKTI_TERIMA_END,\n payload: res.data\n })\n \n } catch (error) {\n dispatch(setAlert(\"Something went wrong\", \"error\"))\n console.log(error)\n dispatch({\n type: actions.DOWNLOAD_BUKTI_TERIMA_END,\n payload: error\n })\n }\n \n}\n\nexport const downloadDetailSurat = (id, no_surat) => async dispatch => {\n const endpoint = `${process.env.REACT_APP_BASE_URL}api/surat-masuk/${id}/detail-surat/download`\n console.log(endpoint)\n dispatch({\n type: actions.DOWNLOAD_DETAIL_SURAT_START,\n })\n try {\n const res = await axios({\n url: endpoint,\n method: \"GET\",\n loading: true,\n headers: { \n 'Content-Type': 'application/pdf', \n 'Accept' : 'application/json', \n 'Authorization' : `Bearer ${sessionStorage.getItem('access_token')}`\n },\n responseType: 'blob'\n });\n fileDownload(res.data, `Detail Surat ${no_surat}.pdf`)\n dispatch({\n type: actions.DOWNLOAD_DETAIL_SURAT_END,\n payload: res.data\n })\n \n } catch (error) {\n dispatch(setAlert(\"Something went wrong\", \"error\"))\n console.log(error)\n dispatch({\n type: actions.DOWNLOAD_DETAIL_SURAT_END,\n payload: error\n })\n }\n \n}\n\nexport const getDispositionChoice = () => async dispatch => {\n const endpoint = `${process.env.REACT_APP_BASE_URL}api/surat-masuk/disposisi/users`\n\n try {\n const res = await axios({\n url: endpoint,\n method: \"GET\",\n headers: { \n 'Content-Type': 'application/json', \n 'Accept' : 'application/json', \n 'Authorization' : `bearer ${sessionStorage.getItem('access_token')}`\n }\n });\n dispatch({\n type: actions.GET_DISPOSITION_CHOICE,\n payload: res.data.data\n })\n\n } catch (error) {\n dispatch(setAlert(\"Something went wrong\", \"error\"))\n console.log(error)\n dispatch({\n type: actions.GET_DISPOSITION_CHOICE,\n payload: error\n })\n // dispatch({\n // payload: { msg: error.response.statusText, status: error.response.status },\n // type: STAGE_ERROR\n // })\n }\n \n}\n\nexport const dispositionInboxMail = (id, formData, isiDisposisi, history, setKeyword, noSurat) => async dispatch => {\n dispatch({\n type: actions.DISPOSITION_INBOX_MAIL_START,\n })\n\n const endpoint = `${process.env.REACT_APP_BASE_URL}api/surat-masuk/${id}/disposisi`\n const myData = {\n kepada: formData.kepada,\n // catatan: formData.catatan,\n isi_disposisi: isiDisposisi\n }\n \n try {\n const res = await axios({\n url: endpoint,\n method: \"POST\",\n data: myData,\n headers: { \n 'Content-Type': 'application/json', \n 'Accept' : 'application/json', \n 'Authorization' : `bearer ${sessionStorage.getItem('access_token')}`\n }\n });\n dispatch({\n type: actions.DISPOSITION_INBOX_MAIL_SUCCESS,\n payload: res.data\n })\n dispatch(setAlert(res.data.message, \"success\"))\n dispatch(getInboxMail(''))\n history.push('/surat-masuk')\n // setKeyword(noSurat)\n \n } catch (error) {\n dispatch(setAlert(\"Something went wrong\", \"error\"))\n console.log(error)\n dispatch({\n type: actions.DISPOSITION_INBOX_MAIL_FAIL,\n payload: error\n })\n // dispatch({\n // payload: { msg: error.response.statusText, status: error.response.status },\n // type: STAGE_ERROR\n // })\n }\n \n}\n\nexport const getHistory = (id) => async dispatch => {\n const endpoint = `${process.env.REACT_APP_BASE_URL}api/surat-masuk/history/${id}`\n \n try {\n const res = await axios({\n url: endpoint,\n method: \"GET\",\n headers: { \n 'Content-Type': 'application/json', \n 'Accept' : 'application/json', \n 'Authorization' : `bearer ${sessionStorage.getItem('access_token')}`\n }\n });\n dispatch({\n type: actions.GET_HISTORY,\n payload: res.data.data\n })\n \n } catch (error) {\n dispatch(setAlert(\"Something went wrong\", \"error\"))\n console.log(error)\n dispatch({\n type: actions.GET_HISTORY,\n payload: error\n })\n // dispatch({\n // payload: { msg: error.response.statusText, status: error.response.status },\n // type: STAGE_ERROR\n // })\n }\n \n}","import * as actions from './actionTypes'\nimport axios from 'axios'\nimport { setAlert } from './alert'\n\nexport const getBagian = () => async dispatch => {\n const endpoint = `${process.env.REACT_APP_BASE_URL}api/bagian`\n\n try {\n const res = await axios({\n url: endpoint,\n method: \"GET\",\n headers: { \n 'Content-Type': 'application/json', \n 'Accept' : 'application/json', \n 'Authorization' : `bearer ${sessionStorage.getItem('access_token')}`\n }\n });\n dispatch({\n type: actions.GET_BAGIAN,\n payload: res.data.data\n })\n\n } catch (error) {\n dispatch(setAlert(\"Something went wrong\", \"error\"))\n console.log(error)\n dispatch({\n type: actions.GET_BAGIAN,\n payload: error\n })\n }\n \n}","import React, { Fragment, useState } from 'react'\nimport { makeStyles } from '@material-ui/styles'\nimport { \n Card, \n CardActions, \n CardContent, \n Grid, \n Button,\n Backdrop,\n CircularProgress,\n TextField,\n MenuItem,\n FormControl,\n\tFormLabel,\n\tFormGroup,\n\tFormControlLabel,\n\tCheckbox\n} from '@material-ui/core'\nimport { useForm } from \"react-hook-form\";\n// import { yupResolver } from \"@hookform/resolvers\";\n// import * as yup from \"yup\";\nimport { useHistory } from 'react-router-dom'\n// redux\nimport { connect } from 'react-redux'\nimport { dispositionInboxMail } from '../../../../store/actions/suratMasuk'\n\nconst useStyles = makeStyles(theme => ({\n root: {\n width: '100%',\n [theme.breakpoints.down('sm')]: {\n width: '100%'\n },\n },\n text: {\n color: '#000000',\n fontFamily: 'Montserrat'\n },\n textWhite: {\n color: '#FFFFFF',\n fontFamily: 'Montserrat'\n },\n button: {\n textTransform: 'none',\n backgroundColor: '#2285DF',\n color: '#FFFFFF',\n width: '100%',\n height: '40px',\n '&:hover': {\n backgroundColor: '#0277BD'\n },\n marginRight: theme.spacing(2),\n marginBottom: theme.spacing(2)\n },\n buttonSmall: {\n textTransform: 'none',\n backgroundColor: '#2285DF',\n '&:hover': {\n backgroundColor: '#0277BD'\n },\n marginTop: theme.spacing(1)\n },\n divider: {\n color: '#000000',\n },\n backdrop: {\n\t\tzIndex: theme.zIndex.drawer + 1,\n\t\tcolor: '#fff',\n },\n formControl: {\n margin: theme.spacing(1),\n minWidth: 120,\n width: '100%',\n },\n chips: {\n display: 'flex',\n flexWrap: 'wrap',\n },\n chip: {\n margin: 2,\n },\n}))\n\n// const DispositionInboxMail = yup.object().shape({\n// \tkepada: yup.string().required(\"Ditujukan harus diisi\"),\n// });\n\nconst Disposisi = props => {\n const classes = useStyles()\n const history = useHistory()\n const { \n inboxData,\n dispositionInboxMail,\n dispositionChoiceList,\n handleCloseDetailSurat,\n handleCloseDialogDisposisi,\n setKeyword,\n suratMasuk: {\n loadingDispositionInboxMail\n }\n } = props\n const { handleSubmit } = useForm();\n\n const [ formState, setFormState ] = useState({\n values: {\n catatan: 'Lainnya'\n }\n })\n\n const handleChange = event => {\n event.persist();\n \n setFormState(formState => ({\n ...formState,\n values: {\n ...formState.values,\n [event.target.name]: \n event.target.type === 'checkbox'\n ? event.target.checked\n : event.target.value\n }\n }));\n };\n\n const onSubmit = e => {\n // console.log(inboxData.id, formState.values)\n const word = stateDisposisi.filter((value) => \n value.isChecked === true\n )\n .map((e) => e.value)\n .reduce((value,element) => value + \",\" + element)\n dispositionInboxMail(inboxData.id, formState.values, word, history, setKeyword, inboxData.no_surat)\n handleCloseDialogDisposisi()\n handleCloseDetailSurat(inboxData)\n }\n\n const [stateDisposisi, setStateDisposisi] = useState([\n {\n title: 'Cek kelengkapan',\n value: 'Cek kelengkapan',\n isChecked: false,\n name: 'kelengkapan'\n },\n {\n title: 'Proses sesuai ketentuan dan procedure',\n value: 'Proses sesuai ketentuan dan procedure',\n isChecked: false,\n name: 'prosedur'\n },\n {\n title: 'Laporkan hasilnya',\n value: 'Laporkan hasilnya',\n isChecked: false,\n name: 'laporkan'\n },\n {\n title: 'Datakan/ Filekan',\n value: 'Datakan/ Filekan',\n isChecked: false,\n name: 'datakan'\n },\n {\n title: 'Tindaklanjuti',\n value: 'Tindaklanjuti',\n isChecked: false,\n name: 'tindaklanjut'\n },\n {\n title: 'Wakili',\n value: 'Wakili',\n isChecked: false,\n name: 'wakili'\n },\n {\n title: 'Lainnya',\n value: '',\n isChecked: false,\n name: 'lainnya'\n }\n ])\n\n\tconst handleChangeWord = (event) => {\n let index = 0\n stateDisposisi.forEach((res) => {\n if(res.name === event.target.name){\n let data = [...stateDisposisi]\n let items = {...data[index]}\n items = {\n title: event.target.value, \n value: event.target.value,\n isChecked : event.target.checked,\n name: event.target.name\n }\n data[index] = items\n setStateDisposisi(data)\n if(res.name === 'lainnya'){\n let data = [...stateDisposisi]\n let items = {...data[index]}\n items = {\n title: formState.values.catatan, \n isChecked : event.target.checked,\n name: event.target.name\n }\n data[index] = items\n setStateDisposisi(data)\n }\n }\n index++\n });\n\t};\n\n const handleChangeMoreDisposition = event => {\n let data = [...stateDisposisi]\n let items = {...data[data.length - 1]}\n items = {\n ...items,\n value: event.target.value\n }\n data[data.length - 1] = items\n setStateDisposisi(data)\n }\n\n return loadingDispositionInboxMail ?\n \n \n \n :\n \n \n\n \n \n \n \n {dispositionChoiceList\n .filter(e => e.nama !== 'kanit stnk' && e.nama !== 'pamin tu')\n .map(item => (\n {item.nama}\n ))}\n \n \n \n \n Isi Disposisi\n \n {stateDisposisi.map((item) => (\n }\n label={item.title}\n />\n ))}\n \n \n {stateDisposisi[stateDisposisi.length - 1].isChecked && (\n \n )}\n \n \n \n \n \n \n \n \n \n \n \n \n \n}\n\nconst mapStateToProps = state => ({\n suratMasuk: state.suratMasuk\n})\n\nexport default connect(mapStateToProps, { dispositionInboxMail })(Disposisi)","import React, { Fragment, useEffect, useState } from 'react'\nimport { makeStyles } from '@material-ui/styles'\nimport { \n Card, \n CardActions, \n CardContent, \n Grid, \n InputLabel, \n Typography,\n Button,\n Divider,\n Backdrop,\n CircularProgress,\n Dialog,\n DialogContent,\n DialogTitle,\n\tDialogActions\n} from '@material-ui/core'\nimport moment from 'moment'\n\n// redux\nimport { connect } from 'react-redux'\nimport { getDispositionChoice } from '../../../store/actions/suratMasuk'\nimport { getBagian } from '../../../store/actions/bagian'\nimport Disposisi from './Disposisi'\n\nconst useStyles = makeStyles(theme => ({\n root: {\n width: '100%',\n [theme.breakpoints.down('sm')]: {\n width: '100%'\n },\n },\n text: {\n color: '#000000',\n fontFamily: 'Montserrat'\n },\n textWhite: {\n color: '#FFFFFF',\n fontFamily: 'Montserrat'\n },\n button: {\n textTransform: 'none',\n backgroundColor: '#2285DF',\n color: '#FFFFFF',\n width: '100%',\n height: '40px',\n '&:hover': {\n backgroundColor: '#0277BD'\n },\n marginRight: theme.spacing(2),\n marginBottom: theme.spacing(2)\n },\n buttonSmall: {\n textTransform: 'none',\n backgroundColor: '#2285DF',\n '&:hover': {\n backgroundColor: '#0277BD'\n },\n marginTop: theme.spacing(1)\n },\n divider: {\n color: '#000000',\n },\n backdrop: {\n\t\tzIndex: theme.zIndex.drawer + 1,\n\t\tcolor: '#fff',\n },\n}))\n\nconst DetailSuratMasuk = props => {\n const classes = useStyles()\n const {\n inboxData,\n getDispositionChoice,\n getBagian,\n handleCloseDetailSurat,\n setKeyword,\n suratMasuk: {\n loadingDownloadBuktiTerima,\n loadingDownloadDetailSurat,\n loadingDispositionChoiceList,\n dispositionChoiceList\n },\n bagian: {\n listBagian\n }\n } = props\n\n const idBagian = JSON.parse(sessionStorage.getItem('data'))\n\n const [ openDialogDisposisi, setOpenDialogDisposisi ] = useState({\n open: false,\n item: null\n })\n\n const handleOpenDialogDisposisi = e => {\n setOpenDialogDisposisi({\n open : true,\n item: e\n })\n }\n\n const handleCloseDialogDisposisi = e => {\n setOpenDialogDisposisi({\n open : false,\n item: e\n })\n }\n\n useEffect(() => {\n getBagian()\n getDispositionChoice()\n }, [getBagian, getDispositionChoice])\n\n return loadingDownloadBuktiTerima || loadingDownloadDetailSurat || loadingDispositionChoiceList ? \n \n \n \n :\n \n \n \n \n \n Tgl Terima/No Agenda:\n \n {moment(inboxData.tanggal_terima).format('DD MMMM yyyy')} | {inboxData.no_agenda}\n \n \n \n Dari:\n \n {inboxData.sumber_surat}\n \n \n \n Tgl/No Surat:\n \n {moment(inboxData.tanggal_surat).format('DD MMMM yyyy')} | {inboxData.no_surat}\n \n \n \n Perihal:\n \n {inboxData.perihal}\n \n \n \n \n Lampiran Dokumen:\n \n \n \n \n \n \n \n {/* */}\n \n {sessionStorage.getItem('role') === 'staff' && (\n <>\n {inboxData.status_surat.id === 1 && idBagian.bagian.seq === 2 && (\n \n \n \n )}\n \n )}\n \n \n \n handleCloseDialogDisposisi(openDialogDisposisi.item)}\n >\n \n \n Disposisi surat dengan nomor surat ({inboxData.no_surat})\n \n \n \n \n \n\t\t\t\n\t\t\t\t\n\t\t\t\n \n \n}\n\nconst mapStateToProps = state => ({\n suratMasuk: state.suratMasuk,\n bagian: state.bagian\n})\n\nexport default connect(mapStateToProps, { getBagian, getDispositionChoice })(DetailSuratMasuk)","import React, { useState, forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { lighten, makeStyles } from '@material-ui/core/styles';\nimport Table from '@material-ui/core/Table';\nimport TableBody from '@material-ui/core/TableBody';\nimport TableCell from '@material-ui/core/TableCell';\nimport TableContainer from '@material-ui/core/TableContainer';\nimport TableHead from '@material-ui/core/TableHead';\nimport TablePagination from '@material-ui/core/TablePagination';\nimport TableRow from '@material-ui/core/TableRow';\nimport TableSortLabel from '@material-ui/core/TableSortLabel';\nimport Toolbar from '@material-ui/core/Toolbar';\nimport Typography from '@material-ui/core/Typography';\nimport Card from '@material-ui/core/Paper';\nimport IconButton from '@material-ui/core/IconButton';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport DeleteIcon from '@material-ui/icons/Delete';\nimport FilterListIcon from '@material-ui/icons/FilterList';\nimport { CardHeader, CardContent, Dialog, DialogTitle, DialogContent, Paper, Divider, InputBase, Chip, DialogActions, Button } from '@material-ui/core';\nimport DetailSuratMasuk from '../DetailSuratMasuk'\nimport { Link as RouterLink } from 'react-router-dom'\nimport SearchIcon from '@material-ui/icons/Search'\nimport moment from 'moment'\n\nfunction createData(name, calories, fat, carbs, protein) {\n return { name, calories, fat, carbs, protein };\n}\n\nconst rows = [\n createData('123/123/123', 305, '20 November 2020', 67, 4.3),\n createData('123/123/124', 452, '20 November 2020', 51, 4.9),\n createData('123/123/125', 262, '20 November 2020', 24, 6.0),\n createData('123/123/126', 159, '20 November 2020', 24, 4.0),\n createData('123/123/127', 356, '20 November 2020', 49, 3.9),\n createData('123/123/128', 408, '20 November 2020', 87, 6.5),\n createData('123/123/129', 237, '20 November 2020', 37, 4.3),\n createData('123/123/130', 375, '20 November 2020', 94, 0.0),\n createData('123/123/131', 518, '20 November 2020', 65, 7.0),\n createData('123/123/132', 392, '20 November 2020', 98, 0.0),\n createData('123/123/133', 318, '20 November 2020', 81, 2.0),\n createData('123/123/134', 360, '20 November 2020', 9, 37.0),\n createData('123/123/135', 437, '20 November 2020', 63, 4.0),\n];\n\nfunction descendingComparator(a, b, orderBy) {\n if (b[orderBy] < a[orderBy]) {\n return -1;\n }\n if (b[orderBy] > a[orderBy]) {\n return 1;\n }\n return 0;\n}\n\nfunction getComparator(order, orderBy) {\n return order === 'desc'\n ? (a, b) => descendingComparator(a, b, orderBy)\n : (a, b) => -descendingComparator(a, b, orderBy);\n}\n\nfunction stableSort(array, comparator) {\n const stabilizedThis = array.map((el, index) => [el, index]);\n stabilizedThis.sort((a, b) => {\n const order = comparator(a[0], b[0]);\n if (order !== 0) return order;\n return a[1] - b[1];\n });\n return stabilizedThis.map((el) => el[0]);\n}\n\nconst headCells = [\n { id: 'no_agenda', numeric: false, disablePadding: false, label: 'Nomor Agenda' },\n { id: 'no_surat', numeric: false, disablePadding: false, label: 'Nomor Surat' },\n { id: 'tgl_surat', numeric: false, disablePadding: false, label: 'Tanggal Surat' },\n { id: 'perihal', numeric: false, disablePadding: false, label: 'Perihal' },\n { id: 'history', numeric: false, disablePadding: false, label: 'History Surat' },\n { id: 'status', numeric: false, disablePadding: false, label: 'Status Surat' },\n { id: 'action', numeric: false, disablePadding: false, label: 'Aksi' },\n];\n\nfunction EnhancedTableHead(props) {\n const { classes, order, orderBy, onRequestSort } = props;\n const createSortHandler = (property) => (event) => {\n onRequestSort(event, property);\n };\n\n return (\n \n \n {headCells.map((headCell) => (\n \n \n {headCell.label}\n {orderBy === headCell.id ? (\n \n {order === 'desc' ? 'sorted descending' : 'sorted ascending'}\n \n ) : null}\n \n \n ))}\n \n \n );\n}\n\nEnhancedTableHead.propTypes = {\n classes: PropTypes.object.isRequired,\n numSelected: PropTypes.number.isRequired,\n onRequestSort: PropTypes.func.isRequired,\n onSelectAllClick: PropTypes.func.isRequired,\n order: PropTypes.oneOf(['asc', 'desc']).isRequired,\n orderBy: PropTypes.string.isRequired,\n rowCount: PropTypes.number.isRequired,\n};\n\nconst useToolbarStyles = makeStyles((theme) => ({\n root: {\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(1),\n },\n highlight:\n theme.palette.type === 'light'\n ? {\n color: theme.palette.secondary.main,\n backgroundColor: lighten(theme.palette.secondary.light, 0.85),\n }\n : {\n color: theme.palette.text.primary,\n backgroundColor: theme.palette.secondary.dark,\n },\n title: {\n flex: '1 1 100%',\n },\n}));\n\nconst EnhancedTableToolbar = (props) => {\n const classes = useToolbarStyles();\n const { numSelected } = props;\n\n return (\n 0,\n })}\n >\n {numSelected > 0 ? (\n \n {numSelected} selected\n \n ) : (\n \n Nutrition\n \n )}\n\n {numSelected > 0 ? (\n \n \n \n \n \n ) : (\n \n \n \n \n \n )}\n \n );\n};\n\nEnhancedTableToolbar.propTypes = {\n numSelected: PropTypes.number.isRequired,\n};\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n width: '100%',\n },\n paper: {\n width: '100%',\n marginBottom: theme.spacing(2),\n },\n table: {\n minWidth: 750,\n },\n visuallyHidden: {\n border: 0,\n clip: 'rect(0 0 0 0)',\n height: 1,\n margin: -1,\n overflow: 'hidden',\n padding: 0,\n position: 'absolute',\n top: 20,\n width: 1,\n },\n text: {\n fontFamily: 'Montserrat',\n color: '#000000'\n },\n searchRoot: {\n\t\tpadding: '2px 4px',\n display: 'flex',\n alignItems: 'center',\n\t\twidth: '400px',\n\t\t// marginTop: theme.spacing(2)\n\t},\n\tinput: {\n marginLeft: theme.spacing(1),\n flex: 1,\n width: '100%'\n },\n iconButton: {\n padding: 10,\n },\n divider: {\n height: 28,\n margin: 4,\n },\n}));\n\nconst CustomRouterLink = forwardRef((props, ref) => (\n \n \n \n))\n\nconst TableSuratMasuk = props => {\n const classes = useStyles();\n const {\n inboxMail,\n handleOpenDialogEdit,\n page,\n setPage,\n handleChangeSearch,\n setKeyword\n } = props\n const [order, setOrder] = React.useState('asc');\n const [orderBy, setOrderBy] = React.useState('calories');\n const [selected, setSelected] = React.useState([]);\n \n const [rowsPerPage, setRowsPerPage] = React.useState(10);\n\n const handleRequestSort = (event, property) => {\n const isAsc = orderBy === property && order === 'asc';\n setOrder(isAsc ? 'desc' : 'asc');\n setOrderBy(property);\n };\n\n const handleSelectAllClick = (event) => {\n if (event.target.checked) {\n const newSelecteds = rows.map((n) => n.name);\n setSelected(newSelecteds);\n return;\n }\n setSelected([]);\n };\n\n const handleChangePage = (event, newPage) => {\n setPage(newPage);\n };\n\n const handleChangeRowsPerPage = (event) => {\n setRowsPerPage(parseInt(event.target.value, 10));\n setPage(0);\n };\n\n // Dialog Detail Surat\n const [ openDialogDetailSurat, setOpenDialogDetailSurat ] = useState({\n open: false,\n item: null\n })\n\n const handleOpenDetailSurat = e => {\n setOpenDialogDetailSurat({\n open: true,\n item: e\n })\n }\n\n const handleCloseDetailSurat = e => {\n setOpenDialogDetailSurat({\n open: false,\n item: e\n })\n }\n\n const isSelected = (name) => selected.indexOf(name) !== -1;\n\n const emptyRows = rowsPerPage - Math.min(rowsPerPage, rows.length - page * rowsPerPage);\n\n return (\n
\n \n \n \n \n \n \n \n \n }\n />\n \n \n \n \n \n {stableSort(inboxMail, getComparator(order, orderBy))\n .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\n .filter(e => e.status !== 6)\n .map((row, index) => {\n const isItemSelected = isSelected(row.name);\n const labelId = `enhanced-table-checkbox-${index}`;\n\n return (\n \n \n {row.no_agenda}\n \n {row.no_surat}\n \n {moment(row.tanggal_surat).format('D MMMM YYYY')}\n \n {row.perihal}\n {row.status_surat.status}\n \n \n \n \n \n handleOpenDialogEdit(row)}>\n \"Edit\"\n \n \n \n \n \"History\"\n \n \n \n handleOpenDetailSurat(row)}>\n \"Detail\"\n \n \n \n \n );\n })}\n {emptyRows > 0 && (\n \n \n \n )}\n \n \n \n \n \n \n handleCloseDetailSurat(openDialogDetailSurat.item)}\n >\n \n {openDialogDetailSurat.item !== null && (\n \n {openDialogDetailSurat.item.perihal}\n \n )}\n \n \n \n \n \n \n \n \n
\n );\n}\n\nexport default TableSuratMasuk\n","import React, {useEffect, useMemo } from 'react';\nimport { makeStyles } from '@material-ui/core/styles';\nimport {useDropzone} from 'react-dropzone';\n// import Button from '@material-ui/core/Button';\n// import AddIcon from '@material-ui/icons/Add';\n// import { Typography } from '@material-ui/core';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n width: '100%',\n },\n content: {\n // margin: theme.spacing(3)\n },\n thumbsContainer : {\n // display: 'flex',\n // flexDirection: 'row',\n // flexWrap: 'wrap',\n margin: theme.spacing(2)\n },\n \n thumb : {\n display: 'inline-flex',\n borderRadius: 2,\n border: '1px solid #eaeaea',\n marginBottom: 8,\n marginRight: 8,\n width: 'auto',\n height: 'auto',\n padding: 4,\n boxSizing: 'border-box'\n },\n \n thumbInner : {\n display: 'flex',\n minWidth: 0,\n overflow: 'hidden'\n },\n \n img : {\n display: 'block',\n width: '100%',\n height: '100%'\n },\n appBar: {\n position: 'relative',\n },\n title: {\n marginLeft: theme.spacing(2),\n flex: 1,\n },\n paragraph: {\n margin: theme.spacing(2)\n }\n}));\n\nconst baseStyle = {\n flex: 1,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n\tpadding: '20px',\n borderWidth: 2,\n borderRadius: 2,\n borderColor: '#eeeeee',\n borderStyle: 'dashed',\n backgroundColor: '#fafafa',\n color: '#bdbdbd',\n outline: 'none',\n\ttransition: 'border .24s ease-in-out',\n};\n\nconst activeStyle = {\n borderColor: '#2196f3'\n};\n\nconst acceptStyle = {\n borderColor: '#00e676'\n};\n\nconst rejectStyle = {\n borderColor: '#ff1744'\n};\n\nexport default function Dropzone(props) {\n const classes = useStyles();\n\tconst { handleChangeFile } = props;\n\n // const [files, setFiles] = useState([]);\n\n\tconst {\n getRootProps,\n getInputProps,\n acceptedFiles,\n isDragActive,\n isDragAccept,\n isDragReject,\n } = useDropzone({\n accept: 'application/pdf',\n maxFiles: 1,\n multiple: false,\n onDropAccepted: handleChangeFile\n });\n // console.log(files)\n\n const style = useMemo(() => ({\n ...baseStyle,\n ...(isDragActive ? activeStyle : {}),\n ...(isDragAccept ? acceptStyle : {}),\n ...(isDragReject ? rejectStyle : {})\n }), [\n isDragActive,\n isDragReject,\n isDragAccept\n ]);\n \n const files = acceptedFiles.map(file => (\n
  • \n {file.path} - {file.size} bytes\n
  • \n ));\n\n useEffect(() => () => {\n // Make sure to revoke the data uris to avoid memory leaks\n files.forEach(file => URL.revokeObjectURL(file.preview));\n }, [files]);\n\n return (\n
    \n
    \n \n

    Drag 'n' drop some files here, or click to select files

    \n
    \n \n\t\t
    \n );\n}","import React, { useState, Fragment } from 'react'\nimport { makeStyles } from '@material-ui/styles'\nimport { \n Card, \n CardContent, \n TextField, \n Grid, \n Typography, \n InputLabel, \n CardHeader, \n Button,\n Backdrop,\n CircularProgress,\n MenuItem\n} from '@material-ui/core'\nimport DateFnsUtils from '@date-io/date-fns'; // choose your lib\nimport {\n DatePicker,\n MuiPickersUtilsProvider,\n} from '@material-ui/pickers';\nimport moment from 'moment'\n// import Breadcrumbs from '@material-ui/core/Breadcrumbs';\n// import {Link} from 'react-router-dom';\nimport { Info as InfoIcon } from '@material-ui/icons'\nimport { useForm } from \"react-hook-form\";\nimport { yupResolver } from \"@hookform/resolvers\";\nimport * as yup from \"yup\";\nimport { useHistory } from 'react-router-dom'\n\nimport UploadFile from './UploadFile'\nimport { connect } from 'react-redux'\nimport { updateInboxMail } from '../../../store/actions/suratMasuk'\n\nimport '../../../App.css'\n\nconst useStyles = makeStyles(theme => ({\n root: {\n padding: theme.spacing(0)\n },\n breadcumbs: {\n padding: theme.spacing(4)\n },\n text: {\n fontFamily: 'Montserrat',\n color: '#000000'\n },\n backdrop: {\n\t\tzIndex: theme.zIndex.drawer + 1,\n\t\tcolor: '#fff',\n },\n}))\n\nconst InboxMailSchema = yup.object().shape({\n\tno_agenda: yup.string().required(\"Nomor Agenda harus diisi\"),\n\t// no_surat: yup.string().required(\"Nomor Surat harus diisi\"),\n\t// tujuan_surat: yup.string().required(\"Tujuan Surat harus diisi\"),\n\t// sumber_surat: yup.string().required(\"Sumber Surat harus diisi\"),\n\tperihal: yup.string().required(\"Perihal harus diisi\"),\n});\n\nconst EditSuratMasuk = props => {\n const classes = useStyles()\n const {\n updateInboxMail,\n suratMasuk: {\n loadingUpdateInboxMail\n },\n openDialogEdit,\n getInboxMail,\n handleCloseDialogEdit\n } = props\n const history = useHistory()\n const { register, handleSubmit, errors } = useForm({\n\t\tresolver: yupResolver(InboxMailSchema)\n });\n\n const [ formState, setFormState ] = useState({\n values: {\n no_agenda: openDialogEdit.no_agenda,\n no_surat: openDialogEdit.no_surat,\n tujuan_surat: openDialogEdit.tujuan_surat,\n sumber_surat: openDialogEdit.sumber_surat,\n perihal: openDialogEdit.perihal,\n status_type : openDialogEdit.status_type,\n }\n })\n\n const handleChange = event => {\n event.persist();\n \n setFormState(formState => ({\n ...formState,\n values: {\n ...formState.values,\n [event.target.name]: \n event.target.type === 'checkbox'\n ? event.target.checked\n : event.target.value\n }\n }));\n };\n\n const mailDateDefault = openDialogEdit.tanggal_surat\n const mailDateDefaultView = new Date(mailDateDefault)\n\tconst [ mailDate, setMailDate ] = useState({\n submit: mailDateDefault,\n view: mailDateDefaultView\n \n\t});\n const handleMailDate = (date) => {\n const changeDate = moment(date).format('YYYY/MM/DD');\n setMailDate(mailDate => ({\n ...mailDate,\n submit: changeDate,\n view: date\n }));\n };\n\n const accDateDefault = openDialogEdit.tanggal_terima\n const accDateDefaultView = new Date(accDateDefault)\n const [ accDate, setAccDate ] = useState({\n submit: accDateDefault,\n view: accDateDefaultView\n \n\t});\n const handleAccDate = (date) => {\n const changeDate = moment(date).format('YYYY/MM/DD');\n setAccDate(accDate => ({\n ...accDate,\n submit: changeDate,\n view: date\n }));\n };\n\n const [banner, setBanner] = useState([]);\n const handleChangeFile = event => {\n setBanner(event[0]);\n // let reader = new FileReader();\n // reader.readAsDataURL(event[0]);\n // reader.onload = function(){\n // setB64(reader.result);\n // }\n };\n \n \n const onSubmit = (event) => {\n console.log(formState.values, banner, mailDate.submit, accDate.submit);\n updateInboxMail(formState.values, banner, mailDate.submit, accDate.submit, history, openDialogEdit.id)\n handleCloseDialogEdit(openDialogEdit)\n getInboxMail()\n\t}\n \n return loadingUpdateInboxMail ? \n \n \n \n :\n \n
    \n \n \n Form Edit Surat Masuk\n \n \n
    \n \n \n \n \n \n \n \n \n {/* \n \n */}\n \n Tanggal Surat\n
    \n \n \n \n
    \n
    \n \n Tanggal Terima\n
    \n \n \n \n
    \n
    \n {/* \n \n */}\n {/* \n \n */}\n \n \n \n \n \n Biasa\n Kilat\n \n \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Pastikan semua data terisi lengkap dan benar!\n \n \n \n \n \n \n \n
    \n
    \n}\n\nconst mapStateToProps = state => ({\n suratMasuk: state.suratMasuk\n})\n\nexport default connect(mapStateToProps, { updateInboxMail })(EditSuratMasuk)","import React, { forwardRef, useEffect, useState } from 'react'\nimport { makeStyles } from '@material-ui/styles'\nimport { Typography, Grid, Button, DialogContent, Dialog } from '@material-ui/core'\nimport { Link as RouterLink } from 'react-router-dom'\n\nimport TableSuratMasuk from './TableSuratMasuk'\nimport EditSuratMasuk from './EditSuratMasuk'\n\n// redux\nimport { connect } from 'react-redux'\nimport { getInboxMail } from '../../store/actions/suratMasuk'\nimport { Skeleton } from '@material-ui/lab'\n\nconst useStyles = makeStyles(theme => ({\n root: {\n padding: theme.spacing(4)\n },\n title: {\n fontFamily: 'Montserrat',\n color: '#000000'\n },\n button: {\n textTransform: 'none',\n backgroundColor: '#2285DF',\n color: '#FFFFFF',\n width: '100%',\n height: '40px',\n '&:hover': {\n backgroundColor: '#0277BD'\n },\n marginRight: theme.spacing(2),\n marginBottom: theme.spacing(2)\n },\n textButton: {\n fontFamily: 'Montserrat',\n color: '#FFFFFF'\n }\n}))\n\nconst CustomRouterLink = forwardRef((props, ref) => (\n \n \n \n))\n\nconst SuratMasuk = props => {\n const classes = useStyles()\n const {\n getInboxMail,\n suratMasuk: {\n inboxMail,\n loadingInboxMail\n }\n } = props\n\n const idBagian = JSON.parse(sessionStorage.getItem('data'))\n\n const [ openDialogEdit, setOpenDialogEdit ] = useState({\n open: false,\n object: null\n })\n \n const handleOpenDialogEdit = e => {\n setOpenDialogEdit({\n open: true,\n object : e\n })\n }\n\n const handleCloseDialogEdit = e => {\n setOpenDialogEdit({\n open: false,\n object : e\n })\n }\n\n const [ keyword, setKeyword ] = useState('')\n const [page, setPage] = useState(0);\n\n const handleChangeSearch = event => {\n setKeyword(event.target.value)\n setPage(0)\n }\n\n useEffect(() => {\n getInboxMail(keyword)\n }, [getInboxMail, keyword])\n\n return(\n
    \n \n \n Surat Masuk\n \n \n {idBagian.bagian.seq !== 2 && idBagian.bagian.seq !== 1 && (\n \n )}\n \n \n \n \n {!loadingInboxMail && inboxMail !== null ? (\n \n ):(\n \n )}\n \n \n handleCloseDialogEdit(openDialogEdit.object)}\n > \n \n \n \n \n
    \n )\n}\n\nconst mapStateToProps = state => ({\n suratMasuk : state.suratMasuk\n})\n\nexport default connect(mapStateToProps, { getInboxMail })(SuratMasuk)","import * as actions from './actionTypes'\nimport axios from 'axios'\nimport { setAlert } from './alert'\n\nexport const getOutboxMail = (keyword) => async dispatch => {\n const endpoint = `${process.env.REACT_APP_BASE_URL}api/surat-keluar?keyword=${keyword}`\n\n try {\n const res = await axios({\n url: endpoint,\n method: \"GET\",\n headers: { \n 'Content-Type': 'application/json', \n 'Accept' : 'application/json', \n 'Authorization' : `bearer ${sessionStorage.getItem('access_token')}`\n }\n });\n dispatch({\n type: actions.GET_OUTBOX_MAIL,\n payload: res.data.data\n })\n\n } catch (error) {\n dispatch(setAlert(\"Something went wrong\", \"error\"))\n console.log(error)\n dispatch({\n type: actions.GET_OUTBOX_MAIL,\n payload: error\n })\n // dispatch({\n // payload: { msg: error.response.statusText, status: error.response.status },\n // type: STAGE_ERROR\n // })\n }\n \n}\n\nexport const postOutboxMail = (formData, file, mailDate, history) => async dispatch => {\n dispatch({\n type: actions.POST_OUTBOX_MAIL_START,\n })\n const endpoint = `${process.env.REACT_APP_BASE_URL}api/surat-keluar`\n const myData = new FormData()\n myData.set('no_surat', formData.no_surat)\n myData.set('tanggal_surat', mailDate)\n myData.set('tujuan_surat', formData.tujuan_surat)\n myData.set('pengolah', formData.pengolah)\n myData.set('perihal', formData.perihal)\n myData.set('status_type', formData.status_type)\n myData.set('file', file)\n \n try {\n const res = await axios({\n url: endpoint,\n method: \"POST\",\n data: myData,\n headers: { \n 'Content-Type': 'multipart/form-data', \n 'Accept' : 'application/json', \n 'Authorization' : `bearer ${sessionStorage.getItem('access_token')}`\n }\n });\n dispatch({\n type: actions.POST_OUTBOX_MAIL_SUCCESS,\n payload: res.data\n })\n dispatch(setAlert(res.data.message, \"success\"))\n history.push('/surat-keluar')\n \n } catch (error) {\n dispatch(setAlert(\"Something went wrong\", \"error\"))\n console.log(error)\n dispatch({\n type: actions.POST_OUTBOX_MAIL_FAIL,\n payload: error\n })\n // dispatch({\n // payload: { msg: error.response.statusText, status: error.response.status },\n // type: STAGE_ERROR\n // })\n }\n \n}\n\nexport const updateOutboxMail = (formData, file, mailDate, history, id) => async dispatch => {\n dispatch({\n type: actions.UPDATE_OUTBOX_MAIL_START,\n })\n const endpoint = `${process.env.REACT_APP_BASE_URL}api/surat-keluar/${id}`\n const myData = new FormData()\n myData.set('_method', 'put')\n myData.set('no_surat', formData.no_surat)\n myData.set('tanggal_surat', mailDate)\n myData.set('tujuan_surat', formData.tujuan_surat)\n myData.set('pengolah', formData.pengolah)\n myData.set('perihal', formData.perihal)\n myData.set('status_type', formData.status_type)\n if(file.length > 0){\n myData.set('file', file)\n }\n \n try {\n const res = await axios({\n url: endpoint,\n method: \"POST\",\n data: myData,\n headers: { \n 'Content-Type': 'multipart/form-data', \n 'Accept' : 'application/json', \n 'Authorization' : `bearer ${sessionStorage.getItem('access_token')}`\n }\n });\n dispatch({\n type: actions.UPDATE_OUTBOX_MAIL_SUCCESS,\n payload: res.data\n })\n dispatch(setAlert(res.data.message, \"success\"))\n history.push('/surat-keluar')\n \n } catch (error) {\n dispatch(setAlert(\"Something went wrong\", \"error\"))\n console.log(error)\n dispatch({\n type: actions.UPDATE_OUTBOX_MAIL_FAIL,\n payload: error\n })\n // dispatch({\n // payload: { msg: error.response.statusText, status: error.response.status },\n // type: STAGE_ERROR\n // })\n }\n \n}\n\nexport const accOutboxMail = (id, setKeyword, noSurat, history) => async dispatch => {\n dispatch({\n type: actions.ACC_OUTBOX_MAIL_START,\n })\n const endpoint = `${process.env.REACT_APP_BASE_URL}api/surat-keluar/confirm/${id}`\n \n try {\n const res = await axios({\n url: endpoint,\n method: \"POST\",\n headers: { \n 'Content-Type': 'application/json', \n 'Accept' : 'application/json', \n 'Authorization' : `bearer ${sessionStorage.getItem('access_token')}`\n }\n });\n dispatch({\n type: actions.ACC_OUTBOX_MAIL_SUCCESS,\n payload: res.data\n })\n dispatch(setAlert(res.data.message, \"success\"))\n history.push('/memo-surat-keluar')\n setKeyword(noSurat)\n \n } catch (error) {\n dispatch(setAlert(\"Something went wrong\", \"error\"))\n console.log(error)\n dispatch({\n type: actions.ACC_OUTBOX_MAIL_FAIL,\n payload: error\n })\n // dispatch({\n // payload: { msg: error.response.statusText, status: error.response.status },\n // type: STAGE_ERROR\n // })\n }\n \n}\n\nexport const getHistory = (id) => async dispatch => {\n const endpoint = `${process.env.REACT_APP_BASE_URL}api/surat-keluar/history/${id}`\n \n try {\n const res = await axios({\n url: endpoint,\n method: \"GET\",\n headers: { \n 'Content-Type': 'application/json', \n 'Accept' : 'application/json', \n 'Authorization' : `bearer ${sessionStorage.getItem('access_token')}`\n }\n });\n dispatch({\n type: actions.GET_HISTORY_OUTBOX_MAIL,\n payload: res.data.data\n })\n \n } catch (error) {\n dispatch(setAlert(\"Something went wrong\", \"error\"))\n console.log(error)\n dispatch({\n type: actions.GET_HISTORY_OUTBOX_MAIL,\n payload: error\n })\n // dispatch({\n // payload: { msg: error.response.statusText, status: error.response.status },\n // type: STAGE_ERROR\n // })\n }\n \n}\n\nexport const getReportOutboxMail = (keyword, startDate, endDate) => async dispatch => {\n const endpoint = `${process.env.REACT_APP_BASE_URL}api/report/surat-keluar?keyword=${keyword}&start_date=${startDate}&end_date=${endDate}`\n \n try {\n const res = await axios({\n url: endpoint,\n method: \"GET\",\n headers: { \n 'Content-Type': 'application/json', \n 'Accept' : 'application/json', \n 'Authorization' : `bearer ${sessionStorage.getItem('access_token')}`\n }\n });\n dispatch({\n type: actions.GET_REPORT_OUTBOXMAIL,\n payload: res.data.data\n })\n \n } catch (error) {\n dispatch(setAlert(\"Something went wrong\", \"error\"))\n console.log(error)\n dispatch({\n type: actions.GET_REPORT_OUTBOXMAIL,\n payload: error\n })\n // dispatch({\n // payload: { msg: error.response.statusText, status: error.response.status },\n // type: STAGE_ERROR\n // })\n }\n \n}","import React, { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { lighten, makeStyles } from '@material-ui/core/styles';\nimport Table from '@material-ui/core/Table';\nimport TableBody from '@material-ui/core/TableBody';\nimport TableCell from '@material-ui/core/TableCell';\nimport TableContainer from '@material-ui/core/TableContainer';\nimport TableHead from '@material-ui/core/TableHead';\nimport TablePagination from '@material-ui/core/TablePagination';\nimport TableRow from '@material-ui/core/TableRow';\nimport TableSortLabel from '@material-ui/core/TableSortLabel';\nimport Toolbar from '@material-ui/core/Toolbar';\nimport Typography from '@material-ui/core/Typography';\nimport Card from '@material-ui/core/Paper';\nimport IconButton from '@material-ui/core/IconButton';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport DeleteIcon from '@material-ui/icons/Delete';\nimport FilterListIcon from '@material-ui/icons/FilterList';\nimport SearchIcon from '@material-ui/icons/Search'\nimport { CardHeader, CardContent, Paper, Divider, InputBase } from '@material-ui/core';\nimport { Link as RouterLink } from 'react-router-dom'\n\nfunction descendingComparator(a, b, orderBy) {\n if (b[orderBy] < a[orderBy]) {\n return -1;\n }\n if (b[orderBy] > a[orderBy]) {\n return 1;\n }\n return 0;\n}\n\nfunction getComparator(order, orderBy) {\n return order === 'desc'\n ? (a, b) => descendingComparator(a, b, orderBy)\n : (a, b) => -descendingComparator(a, b, orderBy);\n}\n\nfunction stableSort(array, comparator) {\n const stabilizedThis = array.map((el, index) => [el, index]);\n stabilizedThis.sort((a, b) => {\n const order = comparator(a[0], b[0]);\n if (order !== 0) return order;\n return a[1] - b[1];\n });\n return stabilizedThis.map((el) => el[0]);\n}\n\nconst headCells = [\n { id: 'no_surat', disablePadding: false, label: 'Nomor Surat' },\n { id: 'tgl_surat', disablePadding: false, label: 'Tanggal Surat' },\n { id: 'perihal', disablePadding: false, label: 'Perihal' },\n { id: 'tujuan_surat', disablePadding: false, label: 'Tujuan Surat' },\n { id: 'pengolah', disablePadding: false, label: 'Pengolah' },\n { id: 'status', disablePadding: false, label: 'Status' },\n { id: 'action', disablePadding: false, label: 'Aksi' },\n];\n\nfunction EnhancedTableHead(props) {\n const { classes, order, orderBy, onRequestSort } = props;\n const createSortHandler = (property) => (event) => {\n onRequestSort(event, property);\n };\n\n return (\n \n \n {headCells.map((headCell) => (\n \n \n {headCell.label}\n {orderBy === headCell.id ? (\n \n {order === 'desc' ? 'sorted descending' : 'sorted ascending'}\n \n ) : null}\n \n \n ))}\n \n \n );\n}\n\nEnhancedTableHead.propTypes = {\n classes: PropTypes.object.isRequired,\n numSelected: PropTypes.number.isRequired,\n onRequestSort: PropTypes.func.isRequired,\n onSelectAllClick: PropTypes.func.isRequired,\n order: PropTypes.oneOf(['asc', 'desc']).isRequired,\n orderBy: PropTypes.string.isRequired,\n rowCount: PropTypes.number.isRequired,\n};\n\nconst useToolbarStyles = makeStyles((theme) => ({\n root: {\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(1),\n },\n highlight:\n theme.palette.type === 'light'\n ? {\n color: theme.palette.secondary.main,\n backgroundColor: lighten(theme.palette.secondary.light, 0.85),\n }\n : {\n color: theme.palette.text.primary,\n backgroundColor: theme.palette.secondary.dark,\n },\n title: {\n flex: '1 1 100%',\n },\n}));\n\nconst EnhancedTableToolbar = (props) => {\n const classes = useToolbarStyles();\n const { numSelected } = props;\n\n return (\n 0,\n })}\n >\n {numSelected > 0 ? (\n \n {numSelected} selected\n \n ) : (\n \n Nutrition\n \n )}\n\n {numSelected > 0 ? (\n \n \n \n \n \n ) : (\n \n \n \n \n \n )}\n \n );\n};\n\nEnhancedTableToolbar.propTypes = {\n numSelected: PropTypes.number.isRequired,\n};\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n width: '100%',\n },\n paper: {\n width: '100%',\n marginBottom: theme.spacing(2),\n },\n table: {\n minWidth: 750,\n },\n visuallyHidden: {\n border: 0,\n clip: 'rect(0 0 0 0)',\n height: 1,\n margin: -1,\n overflow: 'hidden',\n padding: 0,\n position: 'absolute',\n top: 20,\n width: 1,\n },\n text: {\n fontFamily: 'Montserrat',\n color: '#000000'\n },\n searchRoot: {\n\t\tpadding: '2px 4px',\n display: 'flex',\n alignItems: 'center',\n\t\twidth: '400px',\n\t\t// marginTop: theme.spacing(2)\n\t},\n\tinput: {\n marginLeft: theme.spacing(1),\n flex: 1,\n width: '100%'\n },\n iconButton: {\n padding: 10,\n },\n divider: {\n height: 28,\n margin: 4,\n },\n}));\n\nconst CustomRouterLink = forwardRef((props, ref) => (\n \n \n \n))\n\nconst TableSuratKeluar = props => {\n const classes = useStyles();\n const [order, setOrder] = React.useState('asc');\n const [orderBy, setOrderBy] = React.useState('calories');\n const [selected, setSelected] = React.useState([]);\n const [rowsPerPage, setRowsPerPage] = React.useState(10);\n\n const {\n outboxMail,\n handleOpenDialogEdit,\n page,\n setPage,\n handleChangeSearch,\n } = props\n\n const handleRequestSort = (event, property) => {\n const isAsc = orderBy === property && order === 'asc';\n setOrder(isAsc ? 'desc' : 'asc');\n setOrderBy(property);\n };\n\n const handleSelectAllClick = (event) => {\n if (event.target.checked) {\n const newSelecteds = outboxMail.map((n) => n.name);\n setSelected(newSelecteds);\n return;\n }\n setSelected([]);\n };\n\n const handleChangePage = (event, newPage) => {\n setPage(newPage);\n };\n\n const handleChangeRowsPerPage = (event) => {\n setRowsPerPage(parseInt(event.target.value, 10));\n setPage(0);\n };\n\n const isSelected = (name) => selected.indexOf(name) !== -1;\n\n const emptyRows = rowsPerPage - Math.min(rowsPerPage, outboxMail.length - page * rowsPerPage);\n\n return (\n
    \n \n \n \n \n \n \n \n \n }\n />\n \n \n \n \n \n {stableSort(outboxMail, getComparator(order, orderBy))\n .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\n .map((row, index) => {\n const isItemSelected = isSelected(row.name);\n const labelId = `enhanced-table-checkbox-${index}`;\n\n return (\n handleClick(event, row.name)}\n role=\"checkbox\"\n aria-checked={isItemSelected}\n tabIndex={-1}\n key={row.name}\n selected={isItemSelected}\n >\n \n {row.no_surat}\n \n {row.tanggal_surat}\n {row.perihal}\n {row.tujuan_surat}\n {row.pengolah}\n {row.status_surat.status}\n \n \n \n \"History\"\n \n \n \n handleOpenDialogEdit(row)}>\n \"Konfirmasi\"\n \n \n \n \n );\n })}\n {emptyRows > 0 && (\n \n \n \n )}\n \n \n \n \n \n \n
    \n );\n}\n\nexport default TableSuratKeluar","import React, {useEffect, useMemo } from 'react';\nimport { makeStyles } from '@material-ui/core/styles';\nimport {useDropzone} from 'react-dropzone';\n// import Button from '@material-ui/core/Button';\n// import AddIcon from '@material-ui/icons/Add';\n// import { Typography } from '@material-ui/core';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n width: '100%',\n },\n content: {\n // margin: theme.spacing(3)\n },\n thumbsContainer : {\n // display: 'flex',\n // flexDirection: 'row',\n // flexWrap: 'wrap',\n margin: theme.spacing(2)\n },\n \n thumb : {\n display: 'inline-flex',\n borderRadius: 2,\n border: '1px solid #eaeaea',\n marginBottom: 8,\n marginRight: 8,\n width: 'auto',\n height: 'auto',\n padding: 4,\n boxSizing: 'border-box'\n },\n \n thumbInner : {\n display: 'flex',\n minWidth: 0,\n overflow: 'hidden'\n },\n \n img : {\n display: 'block',\n width: '100%',\n height: '100%'\n },\n appBar: {\n position: 'relative',\n },\n title: {\n marginLeft: theme.spacing(2),\n flex: 1,\n },\n paragraph: {\n margin: theme.spacing(2)\n }\n}));\n\nconst baseStyle = {\n flex: 1,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n\tpadding: '20px',\n borderWidth: 2,\n borderRadius: 2,\n borderColor: '#eeeeee',\n borderStyle: 'dashed',\n backgroundColor: '#fafafa',\n color: '#bdbdbd',\n outline: 'none',\n\ttransition: 'border .24s ease-in-out',\n};\n\nconst activeStyle = {\n borderColor: '#2196f3'\n};\n\nconst acceptStyle = {\n borderColor: '#00e676'\n};\n\nconst rejectStyle = {\n borderColor: '#ff1744'\n};\n\nexport default function Dropzone(props) {\n const classes = useStyles();\n\tconst { handleChangeFile } = props;\n\n // const [files, setFiles] = useState([]);\n\n\tconst {\n getRootProps,\n getInputProps,\n acceptedFiles,\n isDragActive,\n isDragAccept,\n isDragReject,\n } = useDropzone({\n accept: 'application/pdf',\n maxFiles: 1,\n multiple: false,\n onDropAccepted: handleChangeFile\n });\n // console.log(files)\n\n const style = useMemo(() => ({\n ...baseStyle,\n ...(isDragActive ? activeStyle : {}),\n ...(isDragAccept ? acceptStyle : {}),\n ...(isDragReject ? rejectStyle : {})\n }), [\n isDragActive,\n isDragReject,\n isDragAccept\n ]);\n \n const files = acceptedFiles.map(file => (\n
  • \n {file.path} - {file.size} bytes\n
  • \n ));\n\n useEffect(() => () => {\n // Make sure to revoke the data uris to avoid memory leaks\n files.forEach(file => URL.revokeObjectURL(file.preview));\n }, [files]);\n\n return (\n
    \n
    \n \n

    Drag 'n' drop some files here, or click to select files

    \n
    \n \n\t\t
    \n );\n}","import React, { useState, Fragment } from 'react'\nimport { makeStyles } from '@material-ui/styles'\nimport { \n Card, \n CardContent, \n TextField, \n Grid, \n Typography, \n InputLabel, \n CardHeader, \n Button,\n Backdrop,\n CircularProgress,\n MenuItem\n} from '@material-ui/core'\nimport DateFnsUtils from '@date-io/date-fns'; // choose your lib\nimport {\n DatePicker,\n MuiPickersUtilsProvider,\n} from '@material-ui/pickers';\nimport moment from 'moment'\n// import Breadcrumbs from '@material-ui/core/Breadcrumbs';\n// import {Link} from 'react-router-dom';\nimport { Info as InfoIcon } from '@material-ui/icons'\nimport { useForm } from \"react-hook-form\";\nimport { yupResolver } from \"@hookform/resolvers\";\nimport * as yup from \"yup\";\nimport { useHistory } from 'react-router-dom'\n\nimport UploadFile from './UploadFile'\nimport { connect } from 'react-redux'\nimport { updateOutboxMail } from '../../../store/actions/suratKeluar'\n\nimport '../../../App.css'\n\nconst useStyles = makeStyles(theme => ({\n root: {\n padding: theme.spacing(0)\n },\n breadcumbs: {\n padding: theme.spacing(4)\n },\n text: {\n fontFamily: 'Montserrat',\n color: '#000000'\n },\n backdrop: {\n\t\tzIndex: theme.zIndex.drawer + 1,\n\t\tcolor: '#fff',\n },\n}))\n\nconst InboxMailSchema = yup.object().shape({\n\tno_surat: yup.string().required(\"Nomor Surat harus diisi\"),\n\ttujuan_surat: yup.string().required(\"Tujuan Surat harus diisi\"),\n\tpengolah: yup.string().required(\"Pengolah harus diisi\"),\n\tperihal: yup.string().required(\"Perihal harus diisi\"),\n\t// keterangan: yup.string().required(\"Keterangan harus diisi\"),\n});\n\nconst EditSuratMasuk = props => {\n const classes = useStyles()\n const {\n updateOutboxMail,\n suratMasuk: {\n loadingUpdateOutboxMail\n },\n openDialogEdit,\n handleCloseDialogEdit\n } = props\n const history = useHistory()\n const { register, handleSubmit, errors } = useForm({\n\t\tresolver: yupResolver(InboxMailSchema)\n });\n\n const [ formState, setFormState ] = useState({\n values: {\n no_surat: openDialogEdit.no_surat,\n tujuan_surat: openDialogEdit.tujuan_surat,\n pengolah: openDialogEdit.pengolah,\n perihal: openDialogEdit.perihal,\n keterangan : openDialogEdit.keterangan,\n }\n })\n\n const handleChange = event => {\n event.persist();\n \n setFormState(formState => ({\n ...formState,\n values: {\n ...formState.values,\n [event.target.name]: \n event.target.type === 'checkbox'\n ? event.target.checked\n : event.target.value\n }\n }));\n };\n\n const mailDateDefault = openDialogEdit.tanggal_surat\n const mailDateDefaultView = new Date(mailDateDefault)\n\tconst [ mailDate, setMailDate ] = useState({\n submit: mailDateDefault,\n view: mailDateDefaultView\n \n\t});\n const handleMailDate = (date) => {\n const changeDate = moment(date).format('YYYY/MM/DD');\n setMailDate(mailDate => ({\n ...mailDate,\n submit: changeDate,\n view: date\n }));\n };\n\n const [banner, setBanner] = useState([]);\n const handleChangeFile = event => {\n setBanner(event[0]);\n // let reader = new FileReader();\n // reader.readAsDataURL(event[0]);\n // reader.onload = function(){\n // setB64(reader.result);\n // }\n };\n \n \n const onSubmit = (event) => {\n console.log(formState.values, banner, mailDate.submit);\n updateOutboxMail(formState.values, banner, mailDate.submit, history, openDialogEdit.id)\n handleCloseDialogEdit(openDialogEdit)\n\t}\n \n return loadingUpdateOutboxMail ? \n \n \n \n :\n \n
    \n \n \n Form Edit Surat Keluar\n \n \n
    \n \n \n \n \n \n \n \n \n \n Tanggal Surat\n
    \n \n \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n Biasa\n Kilat\n \n \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Pastikan semua data terisi lengkap dan benar!\n \n \n \n \n \n \n \n
    \n
    \n}\n\nconst mapStateToProps = state => ({\n suratMasuk: state.suratMasuk\n})\n\nexport default connect(mapStateToProps, { updateOutboxMail })(EditSuratMasuk)","import React, { forwardRef, useEffect, useState } from 'react'\nimport { makeStyles } from '@material-ui/styles'\nimport { Typography, Grid, Button, Dialog, DialogContent } from '@material-ui/core'\nimport { Link as RouterLink } from 'react-router-dom'\n\nimport { connect } from 'react-redux'\nimport { getOutboxMail } from '../../store/actions/suratKeluar'\n\nimport TableSuratKeluar from './TableSuratKeluar'\nimport EditSuratKeluar from './EditSuratKeluar'\nimport { Skeleton } from '@material-ui/lab'\n\nconst useStyles = makeStyles(theme => ({\n root: {\n padding: theme.spacing(4)\n },\n title: {\n fontFamily: 'Montserrat',\n color: '#000000'\n },\n button: {\n textTransform: 'none',\n backgroundColor: '#2285DF',\n color: '#FFFFFF',\n width: '100%',\n height: '40px',\n '&:hover': {\n backgroundColor: '#0277BD'\n },\n marginRight: theme.spacing(2),\n marginBottom: theme.spacing(2)\n },\n textButton: {\n fontFamily: 'Montserrat',\n color: '#FFFFFF'\n }\n}))\n\nconst CustomRouterLink = forwardRef((props, ref) => (\n \n \n \n))\n\nconst SuratKeluar = props => {\n const classes = useStyles()\n const {\n getOutboxMail,\n suratKeluar: {\n outboxMail,\n loadingOutboxMail\n }\n } = props\n\n const [ openDialogEdit, setOpenDialogEdit ] = useState({\n open: false,\n object: null\n })\n \n const handleOpenDialogEdit = e => {\n setOpenDialogEdit({\n open: true,\n object : e\n })\n }\n\n const handleCloseDialogEdit = e => {\n setOpenDialogEdit({\n open: false,\n object : e\n })\n }\n\n const [ keyword, setKeyword ] = useState('')\n const [page, setPage] = useState(0);\n\n const handleChangeSearch = event => {\n setKeyword(event.target.value)\n setPage(0)\n }\n\n useEffect(() => {\n getOutboxMail(keyword)\n }, [ getOutboxMail, keyword])\n\n return(\n
    \n \n \n Surat Keluar\n \n \n \n \n \n \n \n {!loadingOutboxMail && outboxMail !== null ?(\n \n ):(\n \n )}\n \n \n handleCloseDialogEdit(openDialogEdit.object)}\n > \n \n \n \n \n
    \n )\n}\n\nconst mapStateToProps = state => ({\n suratKeluar: state.suratKeluar\n})\n\nexport default connect(mapStateToProps, { getOutboxMail })(SuratKeluar)","import React, {useEffect, useMemo } from 'react';\nimport { makeStyles } from '@material-ui/core/styles';\nimport {useDropzone} from 'react-dropzone';\n// import Button from '@material-ui/core/Button';\n// import AddIcon from '@material-ui/icons/Add';\n// import { Typography } from '@material-ui/core';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n width: '100%',\n },\n content: {\n // margin: theme.spacing(3)\n },\n thumbsContainer : {\n // display: 'flex',\n // flexDirection: 'row',\n // flexWrap: 'wrap',\n margin: theme.spacing(2)\n },\n \n thumb : {\n display: 'inline-flex',\n borderRadius: 2,\n border: '1px solid #eaeaea',\n marginBottom: 8,\n marginRight: 8,\n width: 'auto',\n height: 'auto',\n padding: 4,\n boxSizing: 'border-box'\n },\n \n thumbInner : {\n display: 'flex',\n minWidth: 0,\n overflow: 'hidden'\n },\n \n img : {\n display: 'block',\n width: '100%',\n height: '100%'\n },\n appBar: {\n position: 'relative',\n },\n title: {\n marginLeft: theme.spacing(2),\n flex: 1,\n },\n paragraph: {\n margin: theme.spacing(2)\n }\n}));\n\nconst baseStyle = {\n flex: 1,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n\tpadding: '20px',\n borderWidth: 2,\n borderRadius: 2,\n borderColor: '#eeeeee',\n borderStyle: 'dashed',\n backgroundColor: '#fafafa',\n color: '#bdbdbd',\n outline: 'none',\n\ttransition: 'border .24s ease-in-out',\n};\n\nconst activeStyle = {\n borderColor: '#2196f3'\n};\n\nconst acceptStyle = {\n borderColor: '#00e676'\n};\n\nconst rejectStyle = {\n borderColor: '#ff1744'\n};\n\nexport default function Dropzone(props) {\n const classes = useStyles();\n\tconst { handleChangeFile } = props;\n\n // const [files, setFiles] = useState([]);\n\n\tconst {\n getRootProps,\n getInputProps,\n acceptedFiles,\n isDragActive,\n isDragAccept,\n isDragReject,\n } = useDropzone({\n accept: 'application/pdf',\n maxFiles: 1,\n multiple: false,\n onDropAccepted: handleChangeFile\n });\n // console.log(files)\n\n const style = useMemo(() => ({\n ...baseStyle,\n ...(isDragActive ? activeStyle : {}),\n ...(isDragAccept ? acceptStyle : {}),\n ...(isDragReject ? rejectStyle : {})\n }), [\n isDragActive,\n isDragReject,\n isDragAccept\n ]);\n \n const files = acceptedFiles.map(file => (\n
  • \n {file.path} - {file.size} bytes\n
  • \n ));\n\n useEffect(() => () => {\n // Make sure to revoke the data uris to avoid memory leaks\n files.forEach(file => URL.revokeObjectURL(file.preview));\n }, [files]);\n\n return (\n
    \n
    \n \n

    Drag 'n' drop some files here, or click to select files

    \n
    \n \n\t\t
    \n );\n}","import React, { useState, Fragment } from 'react'\nimport { makeStyles } from '@material-ui/styles'\nimport { \n Card, \n CardContent, \n TextField, \n Grid, \n Typography, \n InputLabel, \n CardHeader, \n Button,\n Backdrop,\n CircularProgress,\n MenuItem\n} from '@material-ui/core'\nimport DateFnsUtils from '@date-io/date-fns'; // choose your lib\nimport {\n DatePicker,\n MuiPickersUtilsProvider,\n} from '@material-ui/pickers';\nimport moment from 'moment'\nimport Breadcrumbs from '@material-ui/core/Breadcrumbs';\nimport {Link} from 'react-router-dom';\nimport { Info as InfoIcon } from '@material-ui/icons'\nimport { useForm } from \"react-hook-form\";\nimport { yupResolver } from \"@hookform/resolvers\";\nimport * as yup from \"yup\";\nimport { useHistory } from 'react-router-dom'\n\nimport UploadFile from './UploadFile'\nimport { connect } from 'react-redux'\nimport { postInboxMail } from '../../../store/actions/suratMasuk'\n\nimport '../../../App.css'\n\nconst useStyles = makeStyles(theme => ({\n root: {\n padding: theme.spacing(4)\n },\n breadcumbs: {\n padding: theme.spacing(4)\n },\n text: {\n fontFamily: 'Montserrat',\n color: '#000000'\n },\n backdrop: {\n\t\tzIndex: theme.zIndex.drawer + 1,\n\t\tcolor: '#fff',\n },\n}))\n\nconst InboxMailSchema = yup.object().shape({\n\tno_agenda: yup.string().required(\"Nomor Agenda harus diisi\"),\n\t// sumber_surat: yup.string().required(\"Sumber Surat harus diisi\"),\n\tperihal: yup.string().required(\"Perihal harus diisi\"),\n});\n\nconst FormSuratMasuk = props => {\n const classes = useStyles()\n const {\n postInboxMail,\n suratMasuk: {\n loadingPostInboxMail\n }\n } = props\n const history = useHistory()\n const { register, handleSubmit, errors } = useForm({\n\t\tresolver: yupResolver(InboxMailSchema)\n });\n\n const [ formState, setFormState ] = useState({\n values: {}\n })\n\n const handleChange = event => {\n event.persist();\n \n setFormState(formState => ({\n ...formState,\n values: {\n ...formState.values,\n [event.target.name]: \n event.target.type === 'checkbox'\n ? event.target.checked\n : event.target.value\n }\n }));\n };\n\n const submitDefault = moment().format('YYYY/MM/DD')\n\tconst [ mailDate, setMailDate ] = useState({\n submit: submitDefault,\n view: new Date()\n \n\t});\n const handleMailDate = (date) => {\n const changeDate = moment(date).format('YYYY/MM/DD');\n setMailDate(mailDate => ({\n ...mailDate,\n submit: changeDate,\n view: date\n }));\n };\n\n const [ accDate, setAccDate ] = useState({\n submit: submitDefault,\n view: new Date()\n \n\t});\n const handleAccDate = (date) => {\n const changeDate = moment(date).format('YYYY/MM/DD');\n setAccDate(accDate => ({\n ...accDate,\n submit: changeDate,\n view: date\n }));\n };\n\n const [banner, setBanner] = useState([]);\n const handleChangeFile = event => {\n setBanner(event[0]);\n // let reader = new FileReader();\n // reader.readAsDataURL(event[0]);\n // reader.onload = function(){\n // setB64(reader.result);\n // }\n };\n \n \n const onSubmit = (event) => {\n // console.log(formState.values, banner, mailDate.submit, accDate.submit);\n postInboxMail(formState.values, banner, mailDate.submit, accDate.submit, history)\n\t}\n \n return loadingPostInboxMail ? \n \n \n \n :\n \n
    \n \n \n Surat Masuk\n \n \n Form Surat Masuk\n \n \n
    \n
    \n \n \n Form Entri Surat Masuk\n \n \n
    \n \n \n \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tRahasia\n\t\t\t\t\t\t\t\t\t\t\tBiasa\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tTanggal Surat\n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tTanggal Terima\n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t{/* \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t */}\n\t\t\t\t\t\t\t\t\t{/* \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t */}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tBiasa\n\t\t\t\t\t\t\t\t\t\t\tKilat\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Pastikan semua data terisi lengkap dan benar!\n \n \n \n \n \n \n \n
    \n
    \n}\n\nconst mapStateToProps = state => ({\n suratMasuk: state.suratMasuk\n})\n\nexport default connect(mapStateToProps, { postInboxMail })(FormSuratMasuk)","import React, {useEffect, useMemo } from 'react';\nimport { makeStyles } from '@material-ui/core/styles';\nimport {useDropzone} from 'react-dropzone';\n// import Button from '@material-ui/core/Button';\n// import AddIcon from '@material-ui/icons/Add';\n// import { Typography } from '@material-ui/core';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n width: '100%',\n },\n content: {\n // margin: theme.spacing(3)\n },\n thumbsContainer : {\n // display: 'flex',\n // flexDirection: 'row',\n // flexWrap: 'wrap',\n margin: theme.spacing(2)\n },\n \n thumb : {\n display: 'inline-flex',\n borderRadius: 2,\n border: '1px solid #eaeaea',\n marginBottom: 8,\n marginRight: 8,\n width: 'auto',\n height: 'auto',\n padding: 4,\n boxSizing: 'border-box'\n },\n \n thumbInner : {\n display: 'flex',\n minWidth: 0,\n overflow: 'hidden'\n },\n \n img : {\n display: 'block',\n width: '100%',\n height: '100%'\n },\n appBar: {\n position: 'relative',\n },\n title: {\n marginLeft: theme.spacing(2),\n flex: 1,\n },\n paragraph: {\n margin: theme.spacing(2)\n }\n}));\n\nconst baseStyle = {\n flex: 1,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n\tpadding: '20px',\n borderWidth: 2,\n borderRadius: 2,\n borderColor: '#eeeeee',\n borderStyle: 'dashed',\n backgroundColor: '#fafafa',\n color: '#bdbdbd',\n outline: 'none',\n\ttransition: 'border .24s ease-in-out',\n};\n\nconst activeStyle = {\n borderColor: '#2196f3'\n};\n\nconst acceptStyle = {\n borderColor: '#00e676'\n};\n\nconst rejectStyle = {\n borderColor: '#ff1744'\n};\n\nexport default function Dropzone(props) {\n const classes = useStyles();\n\tconst { handleChangeFile } = props;\n\n // const [files, setFiles] = useState([]);\n\n\tconst {\n getRootProps,\n getInputProps,\n acceptedFiles,\n isDragActive,\n isDragAccept,\n isDragReject,\n } = useDropzone({\n accept: 'application/pdf',\n maxFiles: 1,\n multiple: false,\n onDropAccepted: handleChangeFile\n });\n // console.log(files)\n\n const style = useMemo(() => ({\n ...baseStyle,\n ...(isDragActive ? activeStyle : {}),\n ...(isDragAccept ? acceptStyle : {}),\n ...(isDragReject ? rejectStyle : {})\n }), [\n isDragActive,\n isDragReject,\n isDragAccept\n ]);\n \n const files = acceptedFiles.map(file => (\n
  • \n {file.path} - {file.size} bytes\n
  • \n ));\n\n useEffect(() => () => {\n // Make sure to revoke the data uris to avoid memory leaks\n files.forEach(file => URL.revokeObjectURL(file.preview));\n }, [files]);\n\n return (\n
    \n
    \n \n

    Drag 'n' drop some files here, or click to select files

    \n
    \n \n\t\t
    \n );\n}","import React, { useState, Fragment } from 'react'\nimport { makeStyles } from '@material-ui/styles'\nimport { \n Card, \n CardContent, \n TextField, \n Grid, \n Typography, \n InputLabel, \n CardHeader, \n Button,\n Backdrop,\n CircularProgress,\n MenuItem\n} from '@material-ui/core'\nimport DateFnsUtils from '@date-io/date-fns'; // choose your lib\nimport {\n DatePicker,\n MuiPickersUtilsProvider,\n} from '@material-ui/pickers';\n// import moment from 'moment'\nimport { useForm } from \"react-hook-form\";\nimport Breadcrumbs from '@material-ui/core/Breadcrumbs';\nimport { Link, useHistory } from 'react-router-dom';\nimport { Info as InfoIcon } from '@material-ui/icons'\nimport moment from 'moment'\nimport { yupResolver } from \"@hookform/resolvers\";\nimport * as yup from \"yup\";\nimport UploadFile from './UploadFile'\n\nimport '../../../App.css'\nimport { connect } from 'react-redux'\nimport { postOutboxMail } from '../../../store/actions/suratKeluar'\n\nconst useStyles = makeStyles(theme => ({\n root: {\n padding: theme.spacing(4)\n },\n breadcumbs: {\n padding: theme.spacing(4)\n },\n text: {\n fontFamily: 'Montserrat',\n color: '#000000'\n },\n backdrop: {\n\t\tzIndex: theme.zIndex.drawer + 1,\n\t\tcolor: '#fff',\n },\n}))\n\nconst OutboxMailSchema = yup.object().shape({\n\tno_surat: yup.string().required(\"Nomor Surat harus diisi\"),\n\ttujuan_surat: yup.string().required(\"Tujuan Surat harus diisi\"),\n\tpengolah: yup.string().required(\"Pengolah harus diisi\"),\n\tperihal: yup.string().required(\"Perihal harus diisi\"),\n\t// keterangan: yup.string().required(\"Keterangan harus diisi\"),\n});\n\nconst FormSuratMasuk = props => {\n const classes = useStyles()\n const history = useHistory()\n const {\n postOutboxMail,\n suratKeluar: {\n loadingPostOutboxMail\n }\n } = props\n const { handleSubmit, register, errors } = useForm({\n\t\tresolver: yupResolver(OutboxMailSchema)\n });\n\n const [ formState, setFormState ] = useState({\n values: {}\n })\n\n const handleChange = event => {\n event.persist();\n \n setFormState(formState => ({\n ...formState,\n values: {\n ...formState.values,\n [event.target.name]: \n event.target.type === 'checkbox'\n ? event.target.checked\n : event.target.value\n }\n }));\n };\n\n const [banner, setBanner] = useState([]);\n const handleChangeFile = event => {\n setBanner(event[0]);\n // let reader = new FileReader();\n // reader.readAsDataURL(event[0]);\n // reader.onload = function(){\n // setB64(reader.result);\n // }\n };\n \n \n const onSubmit = (event) => {\n console.log(formState.values, banner, mailDate.submit);\n postOutboxMail(formState.values, banner, mailDate.submit, history)\n\t}\n\n const submitDefault = moment().format('YYYY-MM-DD')\n\tconst [ mailDate, setMailDate ] = useState({\n submit: submitDefault,\n view: new Date()\n \n\t});\n const handleMailDate = (date) => {\n const changeDate = moment(date).format('YYYY-MM-DD');\n setMailDate(mailDate => ({\n ...mailDate,\n submit: changeDate,\n view: date\n }));\n };\n \n return loadingPostOutboxMail ? \n \n \n \n :\n \n
    \n \n \n Surat Keluar\n \n \n Form Surat Keluar\n \n \n
    \n
    \n \n \n Form Entri Surat Keluar\n \n \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n Tanggal Surat\n
    \n \n \n \n
    \n
    \n \n \n \n \n \n \n \n \n Biasa\n Kilat\n \n \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Pastikan semua data terisi lengkap dan benar!\n \n \n \n \n \n \n \n
    \n
    \n}\n\nconst mapStateToProps = state => ({\n suratKeluar: state.suratKeluar\n})\n\nexport default connect(mapStateToProps, { postOutboxMail })(FormSuratMasuk)","import * as actions from './actionTypes'\nimport axios from 'axios'\nimport { setAlert } from './alert'\nimport fileDownload from 'js-file-download'\n\nexport const getMemoList = (keyword) => async dispatch => {\n const endpoint = `${process.env.REACT_APP_BASE_URL}api/surat-masuk/disposisi?keyword=${keyword}`\n\n try {\n const res = await axios({\n url: endpoint,\n method: \"GET\",\n headers: { \n 'Content-Type': 'application/json', \n 'Accept' : 'application/json', \n 'Authorization' : `bearer ${sessionStorage.getItem('access_token')}`\n }\n });\n dispatch({\n type: actions.GET_MEMO,\n payload: res.data.data\n })\n\n } catch (error) {\n dispatch(setAlert(\"Something went wrong\", \"error\"))\n console.log(error)\n dispatch({\n type: actions.GET_MEMO,\n payload: error\n })\n }\n \n}\n\nexport const downloadDocumentDisposition = (id, no_surat) => async dispatch => {\n const endpoint = `${process.env.REACT_APP_BASE_URL}api/surat-masuk/disposisi/${id}/download`\n dispatch({\n type: actions.DOWNLOAD_DOCUMENT_DISPOSITION_START,\n })\n try {\n const res = await axios({\n url: endpoint,\n method: \"GET\",\n loading: true,\n headers: { \n 'Content-Type': 'application/pdf', \n 'Accept' : 'application/json', \n 'Authorization' : `Bearer ${sessionStorage.getItem('access_token')}`\n },\n responseType: 'blob'\n });\n fileDownload(res.data, `dokumen disposisi ${no_surat}.pdf`)\n dispatch({\n type: actions.DOWNLOAD_DOCUMENT_DISPOSITION_SUCCESS,\n payload: res.data\n })\n \n } catch (error) {\n dispatch(setAlert(\"Something went wrong\", \"error\"))\n console.log(error)\n dispatch({\n type: actions.DOWNLOAD_DOCUMENT_DISPOSITION_END,\n payload: error\n })\n }\n \n}\n\nexport const dispositionMemo = (id, formData, history, setKeyword, noSurat) => async dispatch => {\n dispatch({\n type: actions.DISPOSITION_MEMO_START,\n })\n\n const endpoint = `${process.env.REACT_APP_BASE_URL}api/surat-masuk/${id}/disposisi`\n const myData = {\n kepada: formData.kepada,\n catatan: formData.catatan,\n isi_disposisi: formData.isi_disposisi \n }\n \n try {\n const res = await axios({\n url: endpoint,\n method: \"POST\",\n data: myData,\n headers: { \n 'Content-Type': 'application/json', \n 'Accept' : 'application/json', \n 'Authorization' : `bearer ${sessionStorage.getItem('access_token')}`\n }\n });\n dispatch({\n type: actions.DISPOSITION_MEMO_SUCCESS,\n payload: res.data\n })\n dispatch(setAlert(res.data.message, \"success\"))\n // setKeyword(noSurat)\n dispatch(getMemoList(''))\n history.push('/memo')\n \n } catch (error) {\n dispatch(setAlert(\"Something went wrong\", \"error\"))\n console.log(error)\n dispatch({\n type: actions.DISPOSITION_MEMO_FAIL,\n payload: error\n })\n // dispatch({\n // payload: { msg: error.response.statusText, status: error.response.status },\n // type: STAGE_ERROR\n // })\n }\n \n}","import * as actions from './actionTypes'\nimport axios from 'axios'\nimport { setAlert } from './alert'\n\nexport const getStaffMin = (keyword) => async dispatch => {\n let endpoint = null\n if(keyword){\n endpoint = `${process.env.REACT_APP_BASE_URL}api/paur/user?keyword=${keyword}`\n }else{\n endpoint = `${process.env.REACT_APP_BASE_URL}api/paur/user`\n }\n \n try {\n const res = await axios({\n url: endpoint,\n method: \"GET\",\n headers: { \n 'Content-Type': 'application/json', \n 'Accept' : 'application/json', \n 'Authorization' : `bearer ${sessionStorage.getItem('access_token')}`\n }\n });\n dispatch({\n type: actions.GET_STAFF_MIN,\n payload: res.data.data\n })\n\n } catch (error) {\n // dispatch(setAlert(\"Something went wrong\", \"error\"))\n console.log(error)\n dispatch({\n type: actions.GET_STAFF_MIN,\n payload: error\n })\n }\n \n}\n\nexport const getDetailStaffMin = (id, setFormState) => async dispatch => {\n const endpoint = `${process.env.REACT_APP_BASE_URL}api/paur/user/${id}`\n \n try {\n const res = await axios({\n url: endpoint,\n method: \"GET\",\n headers: { \n 'Content-Type': 'application/json', \n 'Accept' : 'application/json', \n 'Authorization' : `bearer ${sessionStorage.getItem('access_token')}`\n }\n });\n dispatch({\n type: actions.GET_DETAIL_STAFF_MIN,\n payload: res.data.data\n })\n setFormState(formState => ({\n ...formState,\n values: {\n name: res.data.data.name,\n email: res.data.data.email,\n username: res.data.data.username,\n }\n }));\n\n } catch (error) {\n dispatch(setAlert(\"Something went wrong\", \"error\"))\n console.log(error)\n dispatch({\n type: actions.GET_DETAIL_STAFF_MIN,\n payload: error\n })\n }\n \n}\n\nexport const addStaffMin = (formData, history) => async dispatch => {\n dispatch({\n type: actions.ADD_STAFF_MIN_START,\n })\n const endpoint = `${process.env.REACT_APP_BASE_URL}api/paur/user`\n const myData = new FormData()\n myData.set('name', formData.name)\n myData.set('username', formData.username)\n myData.set('email', formData.email)\n myData.set('password', formData.password)\n \n try {\n const res = await axios({\n url: endpoint,\n method: \"POST\",\n data: myData,\n headers: { \n 'Content-Type': 'multipart/form-data', \n 'Accept' : 'application/json', \n 'Authorization' : `bearer ${sessionStorage.getItem('access_token')}`\n }\n });\n dispatch({\n type: actions.ADD_STAFF_MIN_SUCCESS,\n payload: res.data\n })\n dispatch(setAlert(res.data.message, \"success\"))\n history.push('/manajemen/staff-min')\n \n } catch (error) {\n dispatch(setAlert(\"Something went wrong\", \"error\"))\n console.log(error)\n dispatch({\n type: actions.ADD_STAFF_MIN_FAIL,\n payload: error\n })\n // dispatch({\n // payload: { msg: error.response.statusText, status: error.response.status },\n // type: STAGE_ERROR\n // })\n }\n \n}\n\nexport const updateStaffMin = (id, formData, history) => async dispatch => {\n dispatch({\n type: actions.UPDATE_STAFF_MIN_START,\n })\n const endpoint = `${process.env.REACT_APP_BASE_URL}api/paur/user/${id}`\n const myData = new FormData()\n myData.set('name', formData.name)\n myData.set('username', formData.username)\n myData.set('email', formData.email)\n if(formData.password){\n myData.set('password', formData.password)\n }\n \n try {\n const res = await axios({\n url: endpoint,\n method: \"PUT\",\n data: myData,\n headers: { \n 'Content-Type': 'application/x-www-form-urlencoded', \n 'Accept' : 'application/x-www-form-urlencoded', \n 'Authorization' : `bearer ${sessionStorage.getItem('access_token')}`\n }\n });\n dispatch({\n type: actions.UPDATE_STAFF_MIN_SUCCESS,\n payload: res.data\n })\n dispatch(setAlert(res.data.message, \"success\"))\n history.push('/manajemen/staff-min')\n \n } catch (error) {\n dispatch(setAlert(\"Something went wrong\", \"error\"))\n console.log(error)\n dispatch({\n type: actions.UPDATE_STAFF_MIN_FAIL,\n payload: error\n })\n // dispatch({\n // payload: { msg: error.response.statusText, status: error.response.status },\n // type: STAGE_ERROR\n // })\n }\n \n}","import React, { Fragment, useEffect, useState } from 'react'\nimport { makeStyles } from '@material-ui/styles'\nimport { \n Card, \n CardActions, \n CardContent, \n Grid, \n Button,\n Backdrop,\n CircularProgress,\n TextField,\n MenuItem,\n\tFormControl,\n\tFormLabel,\n\tFormGroup,\n\tFormControlLabel,\n\tCheckbox\n} from '@material-ui/core'\nimport { useForm } from \"react-hook-form\";\n// import { yupResolver } from \"@hookform/resolvers\";\n// import * as yup from \"yup\";\nimport { useHistory } from 'react-router-dom'\n// redux\nimport { connect } from 'react-redux'\nimport { dispositionMemo } from '../../../../store/actions/memo'\nimport { getStaffMin } from '../../../../store/actions/staffMin'\nimport { Skeleton } from '@material-ui/lab';\n\nconst useStyles = makeStyles(theme => ({\n root: {\n width: '100%',\n [theme.breakpoints.down('sm')]: {\n width: '100%'\n },\n },\n text: {\n color: '#000000',\n fontFamily: 'Montserrat'\n },\n textWhite: {\n color: '#FFFFFF',\n fontFamily: 'Montserrat'\n },\n button: {\n textTransform: 'none',\n backgroundColor: '#2285DF',\n color: '#FFFFFF',\n width: '100%',\n height: '40px',\n '&:hover': {\n backgroundColor: '#0277BD'\n },\n marginRight: theme.spacing(2),\n marginBottom: theme.spacing(2)\n },\n buttonSmall: {\n textTransform: 'none',\n backgroundColor: '#2285DF',\n '&:hover': {\n backgroundColor: '#0277BD'\n },\n marginTop: theme.spacing(1)\n },\n divider: {\n color: '#000000',\n },\n backdrop: {\n\t\tzIndex: theme.zIndex.drawer + 1,\n\t\tcolor: '#fff',\n },\n formControl: {\n margin: theme.spacing(1),\n minWidth: 120,\n width: '100%',\n },\n chips: {\n display: 'flex',\n flexWrap: 'wrap',\n },\n chip: {\n margin: 2,\n },\n}))\n\n// const DispositionMemo = yup.object().shape({\n// \tkepada: yup.string().required(\"Ditujukan harus diisi\"),\n// });\n\nconst Disposisi = props => {\n const classes = useStyles()\n const history = useHistory()\n const { \n inboxData,\n handleCloseDialogDisposisi,\n handleCloseDetailSurat,\n dispositionMemo,\n dispositionChoiceList,\n getStaffMin,\n setKeyword,\n staffMin: {\n staffMin,\n loadingStaffMin\n },\n memo: {\n loadingDispositionMemo,\n }\n } = props\n const { handleSubmit } = useForm();\n\n const [ formState, setFormState ] = useState({\n values: {}\n })\n\n const handleChange = event => {\n event.persist();\n \n setFormState(formState => ({\n ...formState,\n values: {\n ...formState.values,\n [event.target.name]: \n event.target.type === 'checkbox'\n ? event.target.checked\n : event.target.value\n }\n }));\n };\n\n const onSubmit = e => {\n console.log(inboxData.disposable_id, formState.values)\n dispositionMemo(inboxData.disposable_id, formState.values, history, setKeyword, inboxData.disposable.no_surat)\n handleCloseDialogDisposisi()\n handleCloseDetailSurat(inboxData)\n }\n\n const bagian = JSON.parse(sessionStorage.getItem('data'))\n\n useEffect(() => {\n // if(bagian.bagian.status_bagian === 'paur'){\n getStaffMin()\n // }\n }, [getStaffMin])\n\n\tconst [ stateWord, setStateWord ] = useState({\n\t\tkelengkapan: false,\n\t\tprosedur: false,\n\t\tlaporkan: false,\n\t\tdatakan: false,\n\t\ttindaklanjut: false,\n\t\twakili: false,\n\t\tlainnya: false\n\t})\n\n\tconst handleChangeWord = (event) => {\n\t\tsetStateWord({ ...stateWord, [event.target.name]: event.target.checked });\n\t};\n\n\tconst { kelengkapan, prosedur, laporkan, datakan, tindaklanjut, wakili, lainnya } = stateWord\n\n return loadingDispositionMemo ?\n \n \n \n :\n \n \n\n \n \n {bagian.bagian.status_bagian === 'karo' || bagian.bagian.status_bagian === 'kabag' ? (\n \n \n {dispositionChoiceList.map(item => (\n {item.nama}\n ))}\n \n \n ):(\n
    \n )}\n {/* {bagian.bagian.status_bagian === 'karo' || bagian.bagian.status_bagian === 'kabag' || bagian.bagian.status_bagian === 'paur' ? (\n \n \n \n ):(\n
    \n )} */}\n {bagian.bagian.seq === 1 || bagian.bagian.seq === 2 || bagian.bagian.seq === 3 || bagian.bagian.seq === 4 ? (\n \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tAssign responsibility\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tlabel=\"Cek kelengkapan\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tlabel=\"Proses sesuai ketentuan dan procedure\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tlabel=\"Laporkan hasilnya\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tlabel=\"Datakan/ Filekan\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tlabel=\"Tindaklanjuti\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tlabel=\"Wakili\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tlabel=\"Lainnya\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{lainnya && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n \n ):(\n
    \n )}\n {bagian.bagian.seq === 3 && (\n <>\n {staffMin !== null && !loadingStaffMin ? (\n \n \n {staffMin.map(item => (\n {item.name}\n ))}\n \n \n ):(\n \n )}\n \n )}\n \n
    \n \n \n \n \n \n \n \n
    \n
    \n \n}\n\nconst mapStateToProps = state => ({\n memo: state.memo,\n staffMin: state.staffMin\n})\n\nexport default connect(mapStateToProps, { dispositionMemo, getStaffMin })(Disposisi)","import React, {useEffect, useMemo } from 'react';\nimport { makeStyles } from '@material-ui/core/styles';\nimport {useDropzone} from 'react-dropzone';\n// import Button from '@material-ui/core/Button';\n// import AddIcon from '@material-ui/icons/Add';\n// import { Typography } from '@material-ui/core';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n width: '100%',\n },\n content: {\n // margin: theme.spacing(3)\n },\n thumbsContainer : {\n // display: 'flex',\n // flexDirection: 'row',\n // flexWrap: 'wrap',\n margin: theme.spacing(2)\n },\n \n thumb : {\n display: 'inline-flex',\n borderRadius: 2,\n border: '1px solid #eaeaea',\n marginBottom: 8,\n marginRight: 8,\n width: 'auto',\n height: 'auto',\n padding: 4,\n boxSizing: 'border-box'\n },\n \n thumbInner : {\n display: 'flex',\n minWidth: 0,\n overflow: 'hidden'\n },\n \n img : {\n display: 'block',\n width: '100%',\n height: '100%'\n },\n appBar: {\n position: 'relative',\n },\n title: {\n marginLeft: theme.spacing(2),\n flex: 1,\n },\n paragraph: {\n margin: theme.spacing(2)\n }\n}));\n\nconst baseStyle = {\n flex: 1,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n\tpadding: '20px',\n borderWidth: 2,\n borderRadius: 2,\n borderColor: '#eeeeee',\n borderStyle: 'dashed',\n backgroundColor: '#fafafa',\n color: '#bdbdbd',\n outline: 'none',\n\ttransition: 'border .24s ease-in-out',\n};\n\nconst activeStyle = {\n borderColor: '#2196f3'\n};\n\nconst acceptStyle = {\n borderColor: '#00e676'\n};\n\nconst rejectStyle = {\n borderColor: '#ff1744'\n};\n\nexport default function Dropzone(props) {\n const classes = useStyles();\n\tconst { handleChangeFile } = props;\n\n // const [files, setFiles] = useState([]);\n\n\tconst {\n getRootProps,\n getInputProps,\n acceptedFiles,\n isDragActive,\n isDragAccept,\n isDragReject,\n } = useDropzone({\n accept: 'application/pdf',\n maxFiles: 1,\n multiple: false,\n onDropAccepted: handleChangeFile\n });\n // console.log(files)\n\n const style = useMemo(() => ({\n ...baseStyle,\n ...(isDragActive ? activeStyle : {}),\n ...(isDragAccept ? acceptStyle : {}),\n ...(isDragReject ? rejectStyle : {})\n }), [\n isDragActive,\n isDragReject,\n isDragAccept\n ]);\n \n const files = acceptedFiles.map(file => (\n
  • \n {file.path} - {file.size} bytes\n
  • \n ));\n\n useEffect(() => () => {\n // Make sure to revoke the data uris to avoid memory leaks\n files.forEach(file => URL.revokeObjectURL(file.preview));\n }, [files]);\n\n return (\n
    \n
    \n \n

    Drag 'n' drop some files here, or click to select files

    \n
    \n \n\t\t
    \n );\n}","import React, { Fragment, useState } from 'react'\nimport { makeStyles } from '@material-ui/styles'\nimport { \n Card, \n CardActions, \n CardContent, \n Grid, \n Button,\n Backdrop,\n CircularProgress,\n TextField,\n InputLabel\n} from '@material-ui/core'\nimport { useForm } from \"react-hook-form\";\n// import { yupResolver } from \"@hookform/resolvers\";\n// import * as yup from \"yup\";\nimport { useHistory } from 'react-router-dom'\n// redux\nimport { connect } from 'react-redux'\nimport { uploadTask } from '../../../../store/actions/uploadTask'\nimport UploadFile from './UploadFile'\n\nconst useStyles = makeStyles(theme => ({\n root: {\n width: '100%',\n [theme.breakpoints.down('sm')]: {\n width: '100%'\n },\n },\n text: {\n color: '#000000',\n fontFamily: 'Montserrat'\n },\n textWhite: {\n color: '#FFFFFF',\n fontFamily: 'Montserrat'\n },\n button: {\n textTransform: 'none',\n backgroundColor: '#2285DF',\n color: '#FFFFFF',\n width: '100%',\n height: '40px',\n '&:hover': {\n backgroundColor: '#0277BD'\n },\n marginRight: theme.spacing(2),\n marginBottom: theme.spacing(2)\n },\n buttonSmall: {\n textTransform: 'none',\n backgroundColor: '#2285DF',\n '&:hover': {\n backgroundColor: '#0277BD'\n },\n marginTop: theme.spacing(1)\n },\n divider: {\n color: '#000000',\n },\n backdrop: {\n\t\tzIndex: theme.zIndex.drawer + 1,\n\t\tcolor: '#fff',\n },\n formControl: {\n margin: theme.spacing(1),\n minWidth: 120,\n width: '100%',\n },\n chips: {\n display: 'flex',\n flexWrap: 'wrap',\n },\n chip: {\n margin: 2,\n },\n}))\n\nconst UploadTask = props => {\n const classes = useStyles()\n const history = useHistory()\n const { \n inboxData,\n handleCloseDetailSurat,\n uploadTask,\n uploadTask: {\n loadingUploadTask\n }\n } = props\n const { handleSubmit } = useForm();\n\n const [ formState, setFormState ] = useState({\n values: {}\n })\n\n const handleChange = event => {\n event.persist();\n \n setFormState(formState => ({\n ...formState,\n values: {\n ...formState.values,\n [event.target.name]: \n event.target.type === 'checkbox'\n ? event.target.checked\n : event.target.value\n }\n }));\n };\n\n const [fileTask, setFileTask] = useState([]);\n const handleChangeFile = event => {\n setFileTask(event[0]);\n // let reader = new FileReader();\n // reader.readAsDataURL(event[0]);\n // reader.onload = function(){\n // setB64(reader.result);\n // }\n };\n\n const onSubmit = e => {\n console.log(inboxData.disposable.id, formState.values)\n uploadTask(inboxData.disposable.id, formState.values, fileTask, history)\n handleCloseDetailSurat(inboxData)\n }\n\n // const bagian = JSON.parse(sessionStorage.getItem('data'))\n\n return loadingUploadTask ?\n \n \n \n :\n \n \n \n \n \n \n \n \n Upload File\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n}\n\nconst mapStateToProps = state => ({\n uploadTask: state.uploadTask\n})\n\nexport default connect(mapStateToProps, { uploadTask })(UploadTask)","import * as actions from './actionTypes'\nimport axios from 'axios'\nimport { setAlert } from './alert'\n\nexport const uploadTask = (id, formData, file, history) => async dispatch => {\n dispatch({\n type: actions.UPLOAD_TASK_START,\n })\n\n const endpoint = `${process.env.REACT_APP_BASE_URL}api/staffmin/upload-file/${id}`\n const myData = new FormData()\n myData.set('catatan', formData.catatan)\n myData.set('file', file)\n \n try {\n const res = await axios({\n url: endpoint,\n method: \"POST\",\n data: myData,\n headers: { \n 'Content-Type': 'application/json', \n 'Accept' : 'application/json', \n 'Authorization' : `bearer ${sessionStorage.getItem('access_token')}`\n }\n });\n dispatch({\n type: actions.UPLOAD_TASK_SUCCESS,\n payload: res.data\n })\n dispatch(setAlert(res.data.message, \"success\"))\n history.push('/memo')\n \n } catch (error) {\n dispatch(setAlert(\"Something went wrong\", \"error\"))\n console.log(error)\n dispatch({\n type: actions.UPLOAD_TASK_FAIL,\n payload: error\n })\n // dispatch({\n // payload: { msg: error.response.statusText, status: error.response.status },\n // type: STAGE_ERROR\n // })\n }\n \n}","import React, { Fragment, useEffect, useState } from 'react'\nimport { makeStyles } from '@material-ui/styles'\nimport { \n Card, \n CardActions, \n CardContent, \n Grid, \n InputLabel, \n Typography,\n Button,\n Divider,\n Backdrop,\n CircularProgress,\n Dialog,\n DialogContent,\n DialogTitle,\n CardHeader,\n DialogActions\n} from '@material-ui/core'\nimport moment from 'moment'\n\n// redux\nimport { connect } from 'react-redux'\nimport { getDispositionChoice } from '../../../store/actions/suratMasuk'\nimport { downloadDocumentDisposition } from '../../../store/actions/memo'\nimport { getBagian } from '../../../store/actions/bagian'\nimport Disposisi from './Disposisi'\nimport UploadTask from './UploadTask'\n\nconst useStyles = makeStyles(theme => ({\n root: {\n width: '100%',\n [theme.breakpoints.down('sm')]: {\n width: '100%'\n },\n marginTop: theme.spacing(2)\n },\n text: {\n color: '#000000',\n fontFamily: 'Montserrat'\n },\n textWhite: {\n color: '#FFFFFF',\n fontFamily: 'Montserrat'\n },\n button: {\n textTransform: 'none',\n backgroundColor: '#2285DF',\n color: '#FFFFFF',\n width: '100%',\n height: '40px',\n '&:hover': {\n backgroundColor: '#0277BD'\n },\n marginRight: theme.spacing(2),\n marginBottom: theme.spacing(2)\n },\n buttonSmall: {\n textTransform: 'none',\n backgroundColor: '#2285DF',\n '&:hover': {\n backgroundColor: '#0277BD'\n },\n marginTop: theme.spacing(1)\n },\n divider: {\n color: '#000000',\n },\n backdrop: {\n\t\tzIndex: theme.zIndex.drawer + 1,\n\t\tcolor: '#fff',\n },\n}))\n\nconst DetailSuratMasuk = props => {\n const classes = useStyles()\n const {\n inboxData,\n handleCloseDetailSurat,\n getDispositionChoice,\n getBagian,\n downloadDocumentDisposition,\n setKeyword,\n suratMasuk: {\n loadingDownloadBuktiTerima,\n loadingDispositionChoiceList,\n dispositionChoiceList\n },\n bagian: {\n listBagian\n },\n memo: {\n loadingDownloadDocumentDisposition\n }\n } = props\n\n const handleDownloadDocumentDisposition = e => {\n downloadDocumentDisposition(e.id, e.disposable.no_surat)\n }\n\n // Popup Disposisi\n const [ openDialogDisposisi, setOpenDialogDisposisi ] = useState({\n open: false,\n item: null\n })\n\n const handleOpenDialogDisposisi = e => {\n setOpenDialogDisposisi({\n open : true,\n item: e\n })\n }\n\n const handleCloseDialogDisposisi = e => {\n setOpenDialogDisposisi({\n open : false,\n item: e\n })\n }\n // End popup disposisi\n\n useEffect(() => {\n getBagian()\n getDispositionChoice()\n }, [getBagian, getDispositionChoice])\n\n const profileData = JSON.parse(sessionStorage.getItem('data'))\n\n return loadingDownloadBuktiTerima || loadingDownloadDocumentDisposition || loadingDispositionChoiceList ? \n \n \n \n :\n \n \n \n \n \n Tgl Terima/No Agenda:\n \n {moment(inboxData.tanggal_terima).format('DD MMMM yyyy')} | {inboxData.no_agenda}\n \n \n \n Dari:\n \n {inboxData.disposable.sumber_surat}\n \n \n \n Tgl/No Surat:\n \n {moment(inboxData.disposable.tanggal_surat).format('DD MMMM yyyy')} | {inboxData.disposable.no_surat}\n \n \n \n Perihal:\n \n {inboxData.disposable.perihal}\n \n \n \n \n Lampiran Dokumen:\n \n \n \n Dokumen Disposisi:\n \n \n \n \n \n \n \n {/* */}\n \n {sessionStorage.getItem('role') === 'staff' && (\n <>\n {profileData.bagian.seq === 2 && inboxData.disposable.status_surat.id === 1 ? (\n \n \n \n ):(\n <>\n {profileData.bagian.seq === 3 && inboxData.disposable.status_surat.id === 2 && (\n \n \n \n )}\n {/* :(\n <>\n {profileData.bagian.seq === 4 && inboxData.disposable.status_surat.id === 3 ? (\n \n \n \n ):(\n
    \n )}\n \n )} */}\n \n )}\n \n )}\n \n
    \n
    \n {profileData.bagian.seq === 4 && inboxData.disposable.status === 3 && (\n \n \n \n \n \n \n )}\n handleCloseDialogDisposisi(openDialogDisposisi.item)}\n >\n \n \n Disposisi surat dengan nomor surat ({inboxData.disposable.no_surat})\n \n \n \n \n \n \n \n \n \n
    \n}\n\nconst mapStateToProps = state => ({\n suratMasuk: state.suratMasuk,\n bagian: state.bagian,\n memo: state.memo\n})\n\nexport default connect(\n mapStateToProps, \n { \n getBagian, \n getDispositionChoice, \n downloadDocumentDisposition \n }\n)(DetailSuratMasuk)","import React, { useState, forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { lighten, makeStyles } from '@material-ui/core/styles';\nimport Table from '@material-ui/core/Table';\nimport TableBody from '@material-ui/core/TableBody';\nimport TableCell from '@material-ui/core/TableCell';\nimport TableContainer from '@material-ui/core/TableContainer';\nimport TableHead from '@material-ui/core/TableHead';\nimport TablePagination from '@material-ui/core/TablePagination';\nimport TableRow from '@material-ui/core/TableRow';\nimport TableSortLabel from '@material-ui/core/TableSortLabel';\nimport Toolbar from '@material-ui/core/Toolbar';\nimport Typography from '@material-ui/core/Typography';\nimport Card from '@material-ui/core/Paper';\nimport IconButton from '@material-ui/core/IconButton';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport DeleteIcon from '@material-ui/icons/Delete';\nimport FilterListIcon from '@material-ui/icons/FilterList';\nimport { CardContent, Dialog, DialogTitle, DialogContent, CardHeader, Paper, Divider, InputBase, DialogActions, Button } from '@material-ui/core';\nimport DetailMemo from '../DetailMemo'\nimport { Link as RouterLink } from 'react-router-dom'\nimport SearchIcon from '@material-ui/icons/Search'\n\nfunction createData(name, calories, fat, carbs, protein) {\n return { name, calories, fat, carbs, protein };\n}\n\nconst rows = [\n createData('123/123/123', 305, '20 November 2020', 67, 4.3),\n createData('123/123/124', 452, '20 November 2020', 51, 4.9),\n createData('123/123/125', 262, '20 November 2020', 24, 6.0),\n createData('123/123/126', 159, '20 November 2020', 24, 4.0),\n createData('123/123/127', 356, '20 November 2020', 49, 3.9),\n createData('123/123/128', 408, '20 November 2020', 87, 6.5),\n createData('123/123/129', 237, '20 November 2020', 37, 4.3),\n createData('123/123/130', 375, '20 November 2020', 94, 0.0),\n createData('123/123/131', 518, '20 November 2020', 65, 7.0),\n createData('123/123/132', 392, '20 November 2020', 98, 0.0),\n createData('123/123/133', 318, '20 November 2020', 81, 2.0),\n createData('123/123/134', 360, '20 November 2020', 9, 37.0),\n createData('123/123/135', 437, '20 November 2020', 63, 4.0),\n];\n\nfunction descendingComparator(a, b, orderBy) {\n if (b[orderBy] < a[orderBy]) {\n return -1;\n }\n if (b[orderBy] > a[orderBy]) {\n return 1;\n }\n return 0;\n}\n\nfunction getComparator(order, orderBy) {\n return order === 'desc'\n ? (a, b) => descendingComparator(a, b, orderBy)\n : (a, b) => -descendingComparator(a, b, orderBy);\n}\n\nfunction stableSort(array, comparator) {\n const stabilizedThis = array.map((el, index) => [el, index]);\n stabilizedThis.sort((a, b) => {\n const order = comparator(a[0], b[0]);\n if (order !== 0) return order;\n return a[1] - b[1];\n });\n return stabilizedThis.map((el) => el[0]);\n}\n\nconst headCells = [\n { id: 'no_agenda', numeric: false, disablePadding: true, label: 'Nomor Agenda' },\n { id: 'no_surat', numeric: true, disablePadding: false, label: 'Nomor Surat' },\n { id: 'tgl_surat', numeric: true, disablePadding: false, label: 'Tanggal Surat' },\n { id: 'status', numeric: true, disablePadding: false, label: 'Status Surat' },\n { id: 'perihal', numeric: true, disablePadding: false, label: 'Perihal' },\n { id: 'actions', numeric: true, disablePadding: false, label: 'Aksi' },\n];\n\nfunction EnhancedTableHead(props) {\n const { classes, order, orderBy, onRequestSort } = props;\n const createSortHandler = (property) => (event) => {\n onRequestSort(event, property);\n };\n\n return (\n \n \n {headCells.map((headCell) => (\n \n \n {headCell.label}\n {orderBy === headCell.id ? (\n \n {order === 'desc' ? 'sorted descending' : 'sorted ascending'}\n \n ) : null}\n \n \n ))}\n \n \n );\n}\n\nEnhancedTableHead.propTypes = {\n classes: PropTypes.object.isRequired,\n numSelected: PropTypes.number.isRequired,\n onRequestSort: PropTypes.func.isRequired,\n onSelectAllClick: PropTypes.func.isRequired,\n order: PropTypes.oneOf(['asc', 'desc']).isRequired,\n orderBy: PropTypes.string.isRequired,\n rowCount: PropTypes.number.isRequired,\n};\n\nconst useToolbarStyles = makeStyles((theme) => ({\n root: {\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(1),\n },\n highlight:\n theme.palette.type === 'light'\n ? {\n color: theme.palette.secondary.main,\n backgroundColor: lighten(theme.palette.secondary.light, 0.85),\n }\n : {\n color: theme.palette.text.primary,\n backgroundColor: theme.palette.secondary.dark,\n },\n title: {\n flex: '1 1 100%',\n },\n}));\n\nconst EnhancedTableToolbar = (props) => {\n const classes = useToolbarStyles();\n const { numSelected } = props;\n\n return (\n 0,\n })}\n >\n {numSelected > 0 ? (\n \n {numSelected} selected\n \n ) : (\n \n Nutrition\n \n )}\n\n {numSelected > 0 ? (\n \n \n \n \n \n ) : (\n \n \n \n \n \n )}\n \n );\n};\n\nEnhancedTableToolbar.propTypes = {\n numSelected: PropTypes.number.isRequired,\n};\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n width: '100%',\n },\n paper: {\n width: '100%',\n marginBottom: theme.spacing(2),\n },\n table: {\n minWidth: 750,\n },\n visuallyHidden: {\n border: 0,\n clip: 'rect(0 0 0 0)',\n height: 1,\n margin: -1,\n overflow: 'hidden',\n padding: 0,\n position: 'absolute',\n top: 20,\n width: 1,\n },\n text: {\n fontFamily: 'Montserrat',\n color: '#000000'\n },\n searchRoot: {\n\t\tpadding: '2px 4px',\n display: 'flex',\n alignItems: 'center',\n\t\twidth: '400px',\n\t\t// marginTop: theme.spacing(2)\n\t},\n\tinput: {\n marginLeft: theme.spacing(1),\n flex: 1,\n width: '100%'\n },\n iconButton: {\n padding: 10,\n },\n divider: {\n height: 28,\n margin: 4,\n },\n}));\n\nconst CustomRouterLink = forwardRef((props, ref) => (\n \n \n \n))\n\nconst TableSuratMasuk = props => {\n const classes = useStyles();\n const {\n memoList,\n page,\n setPage,\n handleChangeSearch,\n setKeyword\n } = props\n const [order, setOrder] = React.useState('asc');\n const [orderBy, setOrderBy] = React.useState('calories');\n const [selected, setSelected] = React.useState([]);\n const [rowsPerPage, setRowsPerPage] = React.useState(10);\n\n const handleRequestSort = (event, property) => {\n const isAsc = orderBy === property && order === 'asc';\n setOrder(isAsc ? 'desc' : 'asc');\n setOrderBy(property);\n };\n\n const handleSelectAllClick = (event) => {\n if (event.target.checked) {\n const newSelecteds = rows.map((n) => n.name);\n setSelected(newSelecteds);\n return;\n }\n setSelected([]);\n };\n\n const handleChangePage = (event, newPage) => {\n setPage(newPage);\n };\n\n const handleChangeRowsPerPage = (event) => {\n setRowsPerPage(parseInt(event.target.value, 10));\n setPage(0);\n };\n\n // Dialog Detail Surat\n const [ openDialogDetailSurat, setOpenDialogDetailSurat ] = useState({\n open: false,\n item: null\n })\n\n const handleOpenDetailSurat = e => {\n setOpenDialogDetailSurat({\n open: true,\n item: e\n })\n }\n\n const handleCloseDetailSurat = e => {\n setOpenDialogDetailSurat({\n open: false,\n item: e\n })\n }\n\n const isSelected = (name) => selected.indexOf(name) !== -1;\n\n const emptyRows = rowsPerPage - Math.min(rowsPerPage, rows.length - page * rowsPerPage);\n\n return (\n
    \n \n \n \n \n \n \n \n \n }\n />\n \n \n \n \n \n {stableSort(memoList, getComparator(order, orderBy))\n .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\n .filter(e => e.disposable.status !== 6)\n .map((row, index) => {\n const isItemSelected = isSelected(row.name);\n const labelId = `enhanced-table-checkbox-${index}`;\n\n return (\n handleOpenDetailSurat(row)}\n role=\"checkbox\"\n aria-checked={isItemSelected}\n tabIndex={-1}\n key={row.id}\n selected={isItemSelected}\n >\n \n {row.disposable.no_agenda}\n \n {row.disposable.no_surat}\n {row.disposable.tanggal_surat}\n {row.disposable.status_surat.status}\n {row.disposable.perihal}\n \n \n \n \"History\"\n \n \n \n \n );\n })}\n {emptyRows > 0 && (\n \n \n \n )}\n \n \n \n \n \n \n handleCloseDetailSurat(openDialogDetailSurat.item)}\n >\n \n {openDialogDetailSurat.item !== null && (\n \n {openDialogDetailSurat.item.perihal}\n \n )}\n \n \n \n \n \n \n \n \n
    \n );\n}\n\nexport default TableSuratMasuk\n","import React, { useEffect, useState } from 'react'\nimport { makeStyles } from '@material-ui/styles'\nimport { Typography, Grid } from '@material-ui/core'\n\nimport TableMemo from './TableMemo'\n\n// redux\nimport { connect } from 'react-redux'\nimport { getMemoList } from '../../store/actions/memo'\nimport { Skeleton } from '@material-ui/lab'\n\nconst useStyles = makeStyles(theme => ({\n root: {\n padding: theme.spacing(4)\n },\n title: {\n fontFamily: 'Montserrat',\n color: '#000000'\n },\n button: {\n textTransform: 'none',\n backgroundColor: '#2285DF',\n color: '#FFFFFF',\n width: '100%',\n height: '40px',\n '&:hover': {\n backgroundColor: '#0277BD'\n },\n marginRight: theme.spacing(2),\n marginBottom: theme.spacing(2)\n },\n textButton: {\n fontFamily: 'Montserrat',\n color: '#FFFFFF'\n }\n}))\n\nconst Memo = props => {\n const classes = useStyles()\n const {\n getMemoList,\n memo: {\n memoList,\n loadingMemoList\n }\n } = props\n\n const [ keyword, setKeyword ] = useState('')\n const [page, setPage] = useState(0);\n\n const handleChangeSearch = event => {\n setKeyword(event.target.value)\n setPage(0)\n }\n\n useEffect(() => {\n getMemoList(keyword)\n }, [getMemoList, keyword])\n\n return(\n
    \n \n \n Memo Surat Masuk\n \n \n \n \n {!loadingMemoList && memoList !== null ? (\n \n ):(\n \n )}\n \n \n
    \n )\n}\n\nconst mapStateToProps = state => ({\n memo : state.memo\n})\n\nexport default connect(mapStateToProps, { getMemoList })(Memo)","import React, { useEffect, Fragment } from 'react';\nimport { makeStyles } from '@material-ui/core/styles';\nimport Timeline from '@material-ui/lab/Timeline';\nimport TimelineItem from '@material-ui/lab/TimelineItem';\nimport TimelineSeparator from '@material-ui/lab/TimelineSeparator';\nimport TimelineConnector from '@material-ui/lab/TimelineConnector';\nimport TimelineContent from '@material-ui/lab/TimelineContent';\nimport TimelineOppositeContent from '@material-ui/lab/TimelineOppositeContent';\nimport TimelineDot from '@material-ui/lab/TimelineDot';\nimport Paper from '@material-ui/core/Paper';\nimport Typography from '@material-ui/core/Typography';\nimport { useParams } from 'react-router-dom'\nimport {\n\tBackdrop,\n\tCircularProgress,\n\tGrid,\n\tLink\n} from '@material-ui/core'\nimport moment from 'moment'\n\n// redux\nimport { connect } from 'react-redux'\nimport { getHistory } from '../../../store/actions/suratMasuk'\n\nconst useStyles = makeStyles((theme) => ({\n\troot: {\n\t\tpadding: theme.spacing(4)\n\t},\n\tpaper: {\n\t\tpadding: '6px 16px',\n\t},\n\tsecondaryTail: {\n\t\tbackgroundColor: theme.palette.secondary.main,\n\t},\n\tbackdrop: {\n\t\tzIndex: theme.zIndex.drawer + 1,\n\t\tcolor: '#fff',\n\t},\n\tfontTitle: {\n\t\tfontFamily: 'Montserrat',\n\t\tfontWeight: 700\n\t},\n\tfontText: {\n\t\tfontFamily: 'Montserrat'\n\t}\n}));\n\nconst History = props => {\n\tconst classes = useStyles();\n\tconst params = useParams()\n\tconst {\n\t\tgetHistory,\n\t\tsuratMasuk: {\n\t\t\thistory,\n\t\t\tloadingHistory\n\t\t}\n\t} = props\n\n\tuseEffect(() => {\n\t\tgetHistory(params.id)\n\t}, [ getHistory, params ])\n\n return loadingHistory ? \n\t\n\t\t\t\n\t\n\t:\n\t\n\t\t
    \n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tHistory Perjalanan Surat\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{history.map(item => (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{moment(item.updated_at).format('DD MMMM YYYY HH:mm')}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{item.status}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{item.historable.perihal && (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tPerihal : {item.historable.perihal}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t{item.historable.isi_disposisi && (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tIsi Disposisi : {item.historable.isi_disposisi}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t{item.url !== null && (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tDownload Hasil Pekerjaan : Download\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t))}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
    \n\t
    \n}\n\nconst mapStateToProps = state => ({\n\tsuratMasuk: state.suratMasuk\n})\n\nexport default connect(mapStateToProps, { getHistory })(History)","import React, { useEffect, Fragment } from 'react';\nimport { makeStyles } from '@material-ui/core/styles';\nimport Timeline from '@material-ui/lab/Timeline';\nimport TimelineItem from '@material-ui/lab/TimelineItem';\nimport TimelineSeparator from '@material-ui/lab/TimelineSeparator';\nimport TimelineConnector from '@material-ui/lab/TimelineConnector';\nimport TimelineContent from '@material-ui/lab/TimelineContent';\nimport TimelineOppositeContent from '@material-ui/lab/TimelineOppositeContent';\nimport TimelineDot from '@material-ui/lab/TimelineDot';\nimport Paper from '@material-ui/core/Paper';\nimport Typography from '@material-ui/core/Typography';\nimport { useParams } from 'react-router-dom'\nimport {\n\tBackdrop,\n\tCircularProgress,\n\tGrid,\n\tLink\n} from '@material-ui/core'\nimport moment from 'moment'\n\n// redux\nimport { connect } from 'react-redux'\nimport { getHistory } from '../../../store/actions/suratMasuk'\n\nconst useStyles = makeStyles((theme) => ({\n\troot: {\n\t\tpadding: theme.spacing(4)\n\t},\n\tpaper: {\n\t\tpadding: '6px 16px',\n\t},\n\tsecondaryTail: {\n\t\tbackgroundColor: theme.palette.secondary.main,\n\t},\n\tbackdrop: {\n\t\tzIndex: theme.zIndex.drawer + 1,\n\t\tcolor: '#fff',\n\t},\n\tfontTitle: {\n\t\tfontFamily: 'Montserrat',\n\t\tfontWeight: 700\n\t},\n\tfontText: {\n\t\tfontFamily: 'Montserrat'\n\t}\n}));\n\nconst History = props => {\n\tconst classes = useStyles();\n\tconst params = useParams()\n\tconst {\n\t\tgetHistory,\n\t\tsuratMasuk: {\n\t\t\thistory,\n\t\t\tloadingHistory\n\t\t}\n\t} = props\n\n\tuseEffect(() => {\n\t\tgetHistory(params.id)\n\t}, [ getHistory, params ])\n\n\tconsole.log(history)\n\n return loadingHistory ? \n\t\n\t\t\t\n\t\n\t:\n\t\n\t\t
    \n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tHistory Perjalanan Surat\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{history.map(item => (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{moment(item.updated_at).format('DD MMMM YYYY HH:mm')}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{item.status}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{item.historable.perihal && (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tPerihal : {item.historable.perihal}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t{item.historable.isi_disposisi && (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tIsi Disposisi : {item.historable.isi_disposisi}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t{item.url !== null && (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tDownload Hasil Pekerjaan : Download\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t))}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
    \n\t
    \n}\n\nconst mapStateToProps = state => ({\n\tsuratMasuk: state.suratMasuk\n})\n\nexport default connect(mapStateToProps, { getHistory })(History)","import React, { Fragment, useState } from 'react'\nimport { makeStyles } from '@material-ui/styles'\nimport { \n Card, \n CardActions, \n CardContent, \n Grid, \n Button,\n Backdrop,\n CircularProgress,\n TextField,\n MenuItem,\n} from '@material-ui/core'\nimport { useForm } from \"react-hook-form\";\n// import { yupResolver } from \"@hookform/resolvers\";\n// import * as yup from \"yup\";\nimport { useHistory } from 'react-router-dom'\n// redux\nimport { connect } from 'react-redux'\nimport { dispositionInboxMail } from '../../../../store/actions/suratMasuk'\n\nconst useStyles = makeStyles(theme => ({\n root: {\n width: '100%',\n [theme.breakpoints.down('sm')]: {\n width: '100%'\n },\n },\n text: {\n color: '#000000',\n fontFamily: 'Montserrat'\n },\n textWhite: {\n color: '#FFFFFF',\n fontFamily: 'Montserrat'\n },\n button: {\n textTransform: 'none',\n backgroundColor: '#2285DF',\n color: '#FFFFFF',\n width: '100%',\n height: '40px',\n '&:hover': {\n backgroundColor: '#0277BD'\n },\n marginRight: theme.spacing(2),\n marginBottom: theme.spacing(2)\n },\n buttonSmall: {\n textTransform: 'none',\n backgroundColor: '#2285DF',\n '&:hover': {\n backgroundColor: '#0277BD'\n },\n marginTop: theme.spacing(1)\n },\n divider: {\n color: '#000000',\n },\n backdrop: {\n\t\tzIndex: theme.zIndex.drawer + 1,\n\t\tcolor: '#fff',\n },\n formControl: {\n margin: theme.spacing(1),\n minWidth: 120,\n width: '100%',\n },\n chips: {\n display: 'flex',\n flexWrap: 'wrap',\n },\n chip: {\n margin: 2,\n },\n}))\n\n// const DispositionInboxMail = yup.object().shape({\n// \tkepada: yup.string().required(\"Ditujukan harus diisi\"),\n// });\n\nconst Disposisi = props => {\n const classes = useStyles()\n const history = useHistory()\n const { \n inboxData,\n dispositionInboxMail,\n dispositionChoiceList,\n handleCloseDetailSurat,\n handleCloseDialogDisposisi,\n suratMasuk: {\n loadingDispositionInboxMail\n }\n } = props\n const { handleSubmit } = useForm();\n\n const [ formState, setFormState ] = useState({\n values: {}\n })\n\n const handleChange = event => {\n event.persist();\n \n setFormState(formState => ({\n ...formState,\n values: {\n ...formState.values,\n [event.target.name]: \n event.target.type === 'checkbox'\n ? event.target.checked\n : event.target.value\n }\n }));\n };\n\n const onSubmit = e => {\n console.log(inboxData.id, formState.values)\n dispositionInboxMail(inboxData.id, formState.values, history)\n handleCloseDialogDisposisi()\n handleCloseDetailSurat(inboxData)\n }\n\n return loadingDispositionInboxMail ?\n \n \n \n :\n \n \n\n \n \n \n \n {dispositionChoiceList.map(item => (\n {item.nama}\n ))}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n}\n\nconst mapStateToProps = state => ({\n suratMasuk: state.suratMasuk\n})\n\nexport default connect(mapStateToProps, { dispositionInboxMail })(Disposisi)","import React, { Fragment, useEffect, useState } from 'react'\nimport { makeStyles } from '@material-ui/styles'\nimport { \n Card, \n CardActions, \n CardContent, \n Grid, \n InputLabel, \n Typography,\n Button,\n Divider,\n Backdrop,\n CircularProgress,\n Dialog,\n DialogContent,\n DialogTitle\n} from '@material-ui/core'\nimport moment from 'moment'\n\n// redux\nimport { connect } from 'react-redux'\nimport { getDispositionChoice } from '../../../store/actions/suratMasuk'\nimport { getBagian } from '../../../store/actions/bagian'\nimport Disposisi from './Disposisi'\n\nconst useStyles = makeStyles(theme => ({\n root: {\n width: '100%',\n [theme.breakpoints.down('sm')]: {\n width: '100%'\n },\n },\n text: {\n color: '#000000',\n fontFamily: 'Montserrat'\n },\n textWhite: {\n color: '#FFFFFF',\n fontFamily: 'Montserrat'\n },\n button: {\n textTransform: 'none',\n backgroundColor: '#2285DF',\n color: '#FFFFFF',\n width: '100%',\n height: '40px',\n '&:hover': {\n backgroundColor: '#0277BD'\n },\n marginRight: theme.spacing(2),\n marginBottom: theme.spacing(2)\n },\n buttonSmall: {\n textTransform: 'none',\n backgroundColor: '#2285DF',\n '&:hover': {\n backgroundColor: '#0277BD'\n },\n marginTop: theme.spacing(1)\n },\n divider: {\n color: '#000000',\n },\n backdrop: {\n\t\tzIndex: theme.zIndex.drawer + 1,\n\t\tcolor: '#fff',\n },\n}))\n\nconst DetailSuratMasuk = props => {\n const classes = useStyles()\n const {\n inboxData,\n getDispositionChoice,\n getBagian,\n handleCloseDetailSurat,\n suratMasuk: {\n loadingDownloadBuktiTerima,\n loadingDownloadDetailSurat,\n loadingDispositionChoiceList,\n dispositionChoiceList\n },\n bagian: {\n listBagian\n }\n } = props\n\n const [ openDialogDisposisi, setOpenDialogDisposisi ] = useState({\n open: false,\n item: null\n })\n\n const handleOpenDialogDisposisi = e => {\n setOpenDialogDisposisi({\n open : true,\n item: e\n })\n }\n\n const handleCloseDialogDisposisi = e => {\n setOpenDialogDisposisi({\n open : false,\n item: e\n })\n }\n\n useEffect(() => {\n getBagian()\n getDispositionChoice()\n }, [getBagian, getDispositionChoice])\n\n return loadingDownloadBuktiTerima || loadingDownloadDetailSurat || loadingDispositionChoiceList ? \n \n \n \n :\n \n \n \n \n \n Tgl Terima/No Agenda:\n \n {moment(inboxData.tanggal_terima).format('DD MMMM yyyy')} | {inboxData.no_agenda}\n \n \n \n Dari:\n \n {inboxData.sumber_surat}\n \n \n \n Tgl/No Surat:\n \n {moment(inboxData.tanggal_surat).format('DD MMMM yyyy')} | {inboxData.no_surat}\n \n \n \n Perihal:\n \n {inboxData.perihal}\n \n \n \n \n Lampiran Dokumen:\n \n \n \n \n \n \n \n {/* */}\n \n {sessionStorage.getItem('role') === 'manager' && (\n <>\n {inboxData.status_surat.id === 1 && (\n \n \n \n )}\n \n )}\n \n \n \n handleCloseDialogDisposisi(openDialogDisposisi.item)}\n >\n \n \n Disposisi surat dengan nomor surat ({inboxData.no_surat})\n \n \n \n \n \n \n \n}\n\nconst mapStateToProps = state => ({\n suratMasuk: state.suratMasuk,\n bagian: state.bagian\n})\n\nexport default connect(mapStateToProps, { getBagian, getDispositionChoice })(DetailSuratMasuk)","import React, { useState, forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { lighten, makeStyles } from '@material-ui/core/styles';\nimport Table from '@material-ui/core/Table';\nimport TableBody from '@material-ui/core/TableBody';\nimport TableCell from '@material-ui/core/TableCell';\nimport TableContainer from '@material-ui/core/TableContainer';\nimport TableHead from '@material-ui/core/TableHead';\nimport TablePagination from '@material-ui/core/TablePagination';\nimport TableRow from '@material-ui/core/TableRow';\nimport TableSortLabel from '@material-ui/core/TableSortLabel';\nimport Toolbar from '@material-ui/core/Toolbar';\nimport Typography from '@material-ui/core/Typography';\nimport Card from '@material-ui/core/Paper';\nimport IconButton from '@material-ui/core/IconButton';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport DeleteIcon from '@material-ui/icons/Delete';\nimport FilterListIcon from '@material-ui/icons/FilterList';\nimport { CardHeader, CardContent, Dialog, DialogTitle, DialogContent, Paper, Divider, InputBase, Link } from '@material-ui/core';\nimport DetailSuratMasuk from '../DetailSuratMasuk'\nimport SearchIcon from '@material-ui/icons/Search'\nimport { Link as RouterLink } from 'react-router-dom'\n\nfunction createData(name, calories, fat, carbs, protein) {\n return { name, calories, fat, carbs, protein };\n}\n\nconst rows = [\n createData('123/123/123', 305, '20 November 2020', 67, 4.3),\n createData('123/123/124', 452, '20 November 2020', 51, 4.9),\n createData('123/123/125', 262, '20 November 2020', 24, 6.0),\n createData('123/123/126', 159, '20 November 2020', 24, 4.0),\n createData('123/123/127', 356, '20 November 2020', 49, 3.9),\n createData('123/123/128', 408, '20 November 2020', 87, 6.5),\n createData('123/123/129', 237, '20 November 2020', 37, 4.3),\n createData('123/123/130', 375, '20 November 2020', 94, 0.0),\n createData('123/123/131', 518, '20 November 2020', 65, 7.0),\n createData('123/123/132', 392, '20 November 2020', 98, 0.0),\n createData('123/123/133', 318, '20 November 2020', 81, 2.0),\n createData('123/123/134', 360, '20 November 2020', 9, 37.0),\n createData('123/123/135', 437, '20 November 2020', 63, 4.0),\n];\n\nfunction descendingComparator(a, b, orderBy) {\n if (b[orderBy] < a[orderBy]) {\n return -1;\n }\n if (b[orderBy] > a[orderBy]) {\n return 1;\n }\n return 0;\n}\n\nfunction getComparator(order, orderBy) {\n return order === 'desc'\n ? (a, b) => descendingComparator(a, b, orderBy)\n : (a, b) => -descendingComparator(a, b, orderBy);\n}\n\nfunction stableSort(array, comparator) {\n const stabilizedThis = array.map((el, index) => [el, index]);\n stabilizedThis.sort((a, b) => {\n const order = comparator(a[0], b[0]);\n if (order !== 0) return order;\n return a[1] - b[1];\n });\n return stabilizedThis.map((el) => el[0]);\n}\n\nconst headCells = [\n { id: 'no_agenda', numeric: false, disablePadding: true, label: 'Nomor Agenda' },\n { id: 'no_surat', numeric: true, disablePadding: false, label: 'Nomor Surat' },\n { id: 'tgl_surat', numeric: true, disablePadding: false, label: 'Tanggal Surat' },\n { id: 'perihal', numeric: true, disablePadding: false, label: 'Perihal' },\n { id: 'status', numeric: true, disablePadding: false, label: 'Status Surat' },\n { id: 'file', numeric: true, disablePadding: false, label: 'File' },\n { id: 'action', numeric: true, disablePadding: false, label: 'Aksi' },\n];\n\nfunction EnhancedTableHead(props) {\n const { classes, order, orderBy, onRequestSort } = props;\n const createSortHandler = (property) => (event) => {\n onRequestSort(event, property);\n };\n\n return (\n \n \n {headCells.map((headCell) => (\n \n \n {headCell.label}\n {orderBy === headCell.id ? (\n \n {order === 'desc' ? 'sorted descending' : 'sorted ascending'}\n \n ) : null}\n \n \n ))}\n \n \n );\n}\n\nEnhancedTableHead.propTypes = {\n classes: PropTypes.object.isRequired,\n numSelected: PropTypes.number.isRequired,\n onRequestSort: PropTypes.func.isRequired,\n onSelectAllClick: PropTypes.func.isRequired,\n order: PropTypes.oneOf(['asc', 'desc']).isRequired,\n orderBy: PropTypes.string.isRequired,\n rowCount: PropTypes.number.isRequired,\n};\n\nconst useToolbarStyles = makeStyles((theme) => ({\n root: {\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(1),\n },\n highlight:\n theme.palette.type === 'light'\n ? {\n color: theme.palette.secondary.main,\n backgroundColor: lighten(theme.palette.secondary.light, 0.85),\n }\n : {\n color: theme.palette.text.primary,\n backgroundColor: theme.palette.secondary.dark,\n },\n title: {\n flex: '1 1 100%',\n },\n}));\n\nconst EnhancedTableToolbar = (props) => {\n const classes = useToolbarStyles();\n const { numSelected } = props;\n\n return (\n 0,\n })}\n >\n {numSelected > 0 ? (\n \n {numSelected} selected\n \n ) : (\n \n Nutrition\n \n )}\n\n {numSelected > 0 ? (\n \n \n \n \n \n ) : (\n \n \n \n \n \n )}\n \n );\n};\n\nEnhancedTableToolbar.propTypes = {\n numSelected: PropTypes.number.isRequired,\n};\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n width: '100%',\n },\n paper: {\n width: '100%',\n marginBottom: theme.spacing(2),\n },\n table: {\n minWidth: 750,\n },\n visuallyHidden: {\n border: 0,\n clip: 'rect(0 0 0 0)',\n height: 1,\n margin: -1,\n overflow: 'hidden',\n padding: 0,\n position: 'absolute',\n top: 20,\n width: 1,\n },\n text: {\n fontFamily: 'Montserrat',\n color: '#000000'\n },\n searchRoot: {\n\t\tpadding: '2px 4px',\n display: 'flex',\n alignItems: 'center',\n\t\twidth: '400px',\n\t\t// marginTop: theme.spacing(2)\n\t},\n\tinput: {\n marginLeft: theme.spacing(1),\n flex: 1,\n width: '100%'\n },\n iconButton: {\n padding: 10,\n },\n divider: {\n height: 28,\n margin: 4,\n },\n}));\n\nconst CustomRouterLink = forwardRef((props, ref) => (\n \n \n \n))\n\nconst TableSuratMasuk = props => {\n const classes = useStyles();\n const {\n inboxMailDone,\n page,\n setPage,\n handleChangeSearch\n } = props\n const [order, setOrder] = React.useState('asc');\n const [orderBy, setOrderBy] = React.useState('calories');\n const [selected, setSelected] = React.useState([]);\n \n const [rowsPerPage, setRowsPerPage] = React.useState(10);\n\n const handleRequestSort = (event, property) => {\n const isAsc = orderBy === property && order === 'asc';\n setOrder(isAsc ? 'desc' : 'asc');\n setOrderBy(property);\n };\n\n const handleSelectAllClick = (event) => {\n if (event.target.checked) {\n const newSelecteds = rows.map((n) => n.name);\n setSelected(newSelecteds);\n return;\n }\n setSelected([]);\n };\n\n const handleChangePage = (event, newPage) => {\n setPage(newPage);\n };\n\n const handleChangeRowsPerPage = (event) => {\n setRowsPerPage(parseInt(event.target.value, 10));\n setPage(0);\n };\n\n // Dialog Detail Surat\n const [ openDialogDetailSurat, setOpenDialogDetailSurat ] = useState({\n open: false,\n item: null\n })\n\n const handleOpenDetailSurat = e => {\n setOpenDialogDetailSurat({\n open: true,\n item: e\n })\n }\n\n const handleCloseDetailSurat = e => {\n setOpenDialogDetailSurat({\n open: false,\n item: e\n })\n }\n\n const isSelected = (name) => selected.indexOf(name) !== -1;\n\n const emptyRows = rowsPerPage - Math.min(rowsPerPage, rows.length - page * rowsPerPage);\n\n return (\n
    \n \n \n \n \n \n \n \n \n }\n />\n \n \n \n \n \n {stableSort(inboxMailDone, getComparator(order, orderBy))\n .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\n .map((row, index) => {\n const isItemSelected = isSelected(row.name);\n const labelId = `enhanced-table-checkbox-${index}`;\n\n return (\n handleOpenDetailSurat(row)}\n role=\"checkbox\"\n aria-checked={isItemSelected}\n tabIndex={-1}\n key={row.name}\n selected={isItemSelected}\n >\n \n {row.no_agenda}\n \n {row.no_surat}\n {row.tanggal_surat}\n {row.perihal}\n {row.status_surat.status}\n \n Download File\n \n \n \n \n \"History\"\n \n \n \n \n );\n })}\n {emptyRows > 0 && (\n \n \n \n )}\n \n \n \n \n \n \n handleCloseDetailSurat(openDialogDetailSurat.item)}\n >\n \n {openDialogDetailSurat.item !== null && (\n \n {openDialogDetailSurat.item.perihal}\n \n )}\n \n \n \n \n \n
    \n );\n}\n\nexport default TableSuratMasuk\n","import React, { useState, useEffect } from 'react'\nimport 'date-fns'\nimport { makeStyles } from '@material-ui/styles'\nimport {\n Typography,\n Grid,\n Paper,\n} from '@material-ui/core'\nimport DateFnsUtils from '@date-io/date-fns'; // choose your lib\nimport {\n DatePicker,\n MuiPickersUtilsProvider,\n} from '@material-ui/pickers';\nimport moment from 'moment';\nimport Skeleton from '@material-ui/lab/Skeleton'\n\nimport TableSuratMasuk from './TableSuratMasuk'\n\nimport { connect } from 'react-redux'\nimport { getInboxMailDone } from '../../store/actions/suratMasuk'\n\n\nconst useStyles = makeStyles(theme => ({\n root: {\n padding: theme.spacing(4)\n },\n row: {\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(2)\n },\n btnSearch: {\n backgroundColor: '#FF9300',\n '&:hover' : {\n backgroundColor: '#FFA938'\n },\n color: '#FFFFFF',\n height: 'auto'\n },\n extendedIcon: {\n marginRight: theme.spacing(1),\n },\n searchRoot: {\n\t\tpadding: '2px 4px',\n display: 'flex',\n alignItems: 'center',\n\t\twidth: 'auto',\n\t\t// marginTop: theme.spacing(2)\n\t},\n\tinput: {\n marginLeft: theme.spacing(1),\n flex: 1,\n },\n iconButton: {\n padding: 10,\n },\n divider: {\n height: 28,\n margin: 4,\n },\n fab: {\n position: 'fixed',\n bottom: theme.spacing(4),\n right: theme.spacing(2),\n },\n text: {\n fontFamily: 'Montserrat'\n }\n}))\n\nconst Report = props => {\n const classes = useStyles()\n const [selectedDate ] = useState(new Date());\n const {\n getInboxMailDone,\n suratMasuk: {\n inboxMailDone,\n loadingInboxMailDone\n }\n } = props\n\n const submitDefault = moment().subtract(7, 'd').format('YYYY-MM-DD');\n const submitDefaultEndDate = moment({}).format('YYYY-MM-DD');\n const [ startDate, setStartDate ] = useState({\n submit: {\n submit: submitDefault\n },\n view: {\n view: moment().subtract(7, 'd').format('YYYY-MM-DD')\n }\n });\n const handleStartDate = (date) => {\n const changeDate = moment(date).format('YYYY-MM-DD');\n setStartDate(startDate => ({\n ...startDate,\n submit: {\n submit: changeDate\n },\n view: {\n view: date\n }\n }));\n };\n\n const [ endDate, setEndDate ] = useState({\n submit: {\n submit: submitDefaultEndDate\n },\n view: {selectedDate}\n });\n const handleEndDate = (date) => {\n const all = moment(date).format('YYYY-MM-DD');\n setEndDate(endDate => ({\n ...endDate,\n submit: {\n submit: all\n },\n view: {\n view: date\n }\n }));\n };\n\n const [ keyword, setKeyword ] = useState('')\n const [page, setPage] = useState(0);\n\n const handleChangeSearch = event => {\n setKeyword(event.target.value)\n setPage(0)\n }\n\n useEffect(() => {\n getInboxMailDone(keyword, startDate.submit.submit, endDate.submit.submit)\n }, [getInboxMailDone, keyword, startDate, endDate])\n\n return(\n
    \n
    \n \n \n Laporan Surat Masuk\n \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n \n \n {!loadingInboxMailDone && inboxMailDone !== null ? (\n \n ):(\n \n )}\n \n \n
    \n
    \n )\n}\n\nconst mapStateToProps = state => ({\n suratMasuk: state.suratMasuk\n})\n\nexport default connect(mapStateToProps, { getInboxMailDone })(Report)","import React, { useEffect, Fragment } from 'react';\nimport { makeStyles } from '@material-ui/core/styles';\nimport Timeline from '@material-ui/lab/Timeline';\nimport TimelineItem from '@material-ui/lab/TimelineItem';\nimport TimelineSeparator from '@material-ui/lab/TimelineSeparator';\nimport TimelineConnector from '@material-ui/lab/TimelineConnector';\nimport TimelineContent from '@material-ui/lab/TimelineContent';\nimport TimelineOppositeContent from '@material-ui/lab/TimelineOppositeContent';\nimport TimelineDot from '@material-ui/lab/TimelineDot';\nimport Paper from '@material-ui/core/Paper';\nimport Typography from '@material-ui/core/Typography';\nimport { useParams } from 'react-router-dom'\nimport {\n\tBackdrop,\n\tCircularProgress,\n\tGrid,\n\tLink\n} from '@material-ui/core'\nimport moment from 'moment'\n\n// redux\nimport { connect } from 'react-redux'\nimport { getHistory } from '../../../store/actions/suratMasuk'\n\nconst useStyles = makeStyles((theme) => ({\n\troot: {\n\t\tpadding: theme.spacing(4)\n\t},\n\tpaper: {\n\t\tpadding: '6px 16px',\n\t},\n\tsecondaryTail: {\n\t\tbackgroundColor: theme.palette.secondary.main,\n\t},\n\tbackdrop: {\n\t\tzIndex: theme.zIndex.drawer + 1,\n\t\tcolor: '#fff',\n\t},\n\tfontTitle: {\n\t\tfontFamily: 'Montserrat',\n\t\tfontWeight: 700\n\t},\n\tfontText: {\n\t\tfontFamily: 'Montserrat'\n\t}\n}));\n\nconst History = props => {\n\tconst classes = useStyles();\n\tconst params = useParams()\n\tconst {\n\t\tgetHistory,\n\t\tsuratMasuk: {\n\t\t\thistory,\n\t\t\tloadingHistory\n\t\t}\n\t} = props\n\n\tuseEffect(() => {\n\t\tgetHistory(params.id)\n\t}, [ getHistory, params ])\n\n\tconsole.log(history)\n\n return loadingHistory ? \n\t\n\t\t\t\n\t\n\t:\n\t\n\t\t
    \n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tHistory Perjalanan Surat\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{history.map(item => (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{moment(item.updated_at).format('DD MMMM YYYY HH:mm')}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{item.status}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{item.historable.perihal && (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tPerihal : {item.historable.perihal}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t{item.historable.isi_disposisi && (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tIsi Disposisi : {item.historable.isi_disposisi}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t{item.url && (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tDownload Hasil Pekerjaan : Download\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t))}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
    \n\t
    \n}\n\nconst mapStateToProps = state => ({\n\tsuratMasuk: state.suratMasuk\n})\n\nexport default connect(mapStateToProps, { getHistory })(History)","import React, { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { lighten, makeStyles } from '@material-ui/core/styles';\nimport Table from '@material-ui/core/Table';\nimport TableBody from '@material-ui/core/TableBody';\nimport TableCell from '@material-ui/core/TableCell';\nimport TableContainer from '@material-ui/core/TableContainer';\nimport TableHead from '@material-ui/core/TableHead';\nimport TablePagination from '@material-ui/core/TablePagination';\nimport TableRow from '@material-ui/core/TableRow';\nimport TableSortLabel from '@material-ui/core/TableSortLabel';\nimport Toolbar from '@material-ui/core/Toolbar';\nimport Typography from '@material-ui/core/Typography';\nimport Card from '@material-ui/core/Paper';\nimport IconButton from '@material-ui/core/IconButton';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport DeleteIcon from '@material-ui/icons/Delete';\nimport FilterListIcon from '@material-ui/icons/FilterList';\nimport { CardHeader, CardContent, Paper, Divider, InputBase } from '@material-ui/core';\nimport { Link as RouterLink } from 'react-router-dom'\nimport SearchIcon from '@material-ui/icons/Search'\n\nfunction descendingComparator(a, b, orderBy) {\n if (b[orderBy] < a[orderBy]) {\n return -1;\n }\n if (b[orderBy] > a[orderBy]) {\n return 1;\n }\n return 0;\n}\n\nfunction getComparator(order, orderBy) {\n return order === 'desc'\n ? (a, b) => descendingComparator(a, b, orderBy)\n : (a, b) => -descendingComparator(a, b, orderBy);\n}\n\nfunction stableSort(array, comparator) {\n const stabilizedThis = array.map((el, index) => [el, index]);\n stabilizedThis.sort((a, b) => {\n const order = comparator(a[0], b[0]);\n if (order !== 0) return order;\n return a[1] - b[1];\n });\n return stabilizedThis.map((el) => el[0]);\n}\n\nconst headCells = [\n { id: 'name', numeric: false, disablePadding: false, label: 'Name' },\n { id: 'email', numeric: false, disablePadding: false, label: 'Email' },\n { id: 'username', numeric: false, disablePadding: false, label: 'Username' },\n { id: 'action', numeric: false, disablePadding: false, label: 'Aksi' },\n];\n\nfunction EnhancedTableHead(props) {\n const { classes, order, orderBy, onRequestSort } = props;\n const createSortHandler = (property) => (event) => {\n onRequestSort(event, property);\n };\n\n return (\n \n \n {headCells.map((headCell) => (\n \n \n {headCell.label}\n {orderBy === headCell.id ? (\n \n {order === 'desc' ? 'sorted descending' : 'sorted ascending'}\n \n ) : null}\n \n \n ))}\n \n \n );\n}\n\nEnhancedTableHead.propTypes = {\n classes: PropTypes.object.isRequired,\n numSelected: PropTypes.number.isRequired,\n onRequestSort: PropTypes.func.isRequired,\n onSelectAllClick: PropTypes.func.isRequired,\n order: PropTypes.oneOf(['asc', 'desc']).isRequired,\n orderBy: PropTypes.string.isRequired,\n rowCount: PropTypes.number.isRequired,\n};\n\nconst useToolbarStyles = makeStyles((theme) => ({\n root: {\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(1),\n },\n highlight:\n theme.palette.type === 'light'\n ? {\n color: theme.palette.secondary.main,\n backgroundColor: lighten(theme.palette.secondary.light, 0.85),\n }\n : {\n color: theme.palette.text.primary,\n backgroundColor: theme.palette.secondary.dark,\n },\n title: {\n flex: '1 1 100%',\n },\n}));\n\nconst EnhancedTableToolbar = (props) => {\n const classes = useToolbarStyles();\n const { numSelected } = props;\n\n return (\n 0,\n })}\n >\n {numSelected > 0 ? (\n \n {numSelected} selected\n \n ) : (\n \n Nutrition\n \n )}\n\n {numSelected > 0 ? (\n \n \n \n \n \n ) : (\n \n \n \n \n \n )}\n \n );\n};\n\nEnhancedTableToolbar.propTypes = {\n numSelected: PropTypes.number.isRequired,\n};\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n width: '100%',\n },\n paper: {\n width: '100%',\n marginBottom: theme.spacing(2),\n },\n table: {\n minWidth: 750,\n },\n visuallyHidden: {\n border: 0,\n clip: 'rect(0 0 0 0)',\n height: 1,\n margin: -1,\n overflow: 'hidden',\n padding: 0,\n position: 'absolute',\n top: 20,\n width: 1,\n },\n text: {\n fontFamily: 'Montserrat',\n color: '#000000'\n },\n searchRoot: {\n\t\tpadding: '2px 4px',\n display: 'flex',\n alignItems: 'center',\n\t\twidth: '400px',\n\t\t// marginTop: theme.spacing(2)\n\t},\n\tinput: {\n marginLeft: theme.spacing(1),\n flex: 1,\n width: '100%'\n },\n iconButton: {\n padding: 10,\n },\n divider: {\n height: 28,\n margin: 4,\n },\n}));\n\nconst CustomRouterLink = forwardRef((props, ref) => (\n \n \n \n))\n\nconst TableStaffMin = props => {\n const classes = useStyles();\n const {\n staffMin,\n page,\n setPage,\n handleChangeSearch,\n } = props\n const [order, setOrder] = React.useState('asc');\n const [orderBy, setOrderBy] = React.useState('calories');\n const [selected, setSelected] = React.useState([]);\n \n const [rowsPerPage, setRowsPerPage] = React.useState(10);\n\n const handleRequestSort = (event, property) => {\n const isAsc = orderBy === property && order === 'asc';\n setOrder(isAsc ? 'desc' : 'asc');\n setOrderBy(property);\n };\n\n const handleSelectAllClick = (event) => {\n if (event.target.checked) {\n const newSelecteds = staffMin.map((n) => n.name);\n setSelected(newSelecteds);\n return;\n }\n setSelected([]);\n };\n\n const handleChangePage = (event, newPage) => {\n setPage(newPage);\n };\n\n const handleChangeRowsPerPage = (event) => {\n setRowsPerPage(parseInt(event.target.value, 10));\n setPage(0);\n };\n\n const isSelected = (name) => selected.indexOf(name) !== -1;\n\n const emptyRows = rowsPerPage - Math.min(rowsPerPage, staffMin.length - page * rowsPerPage);\n\n return (\n
    \n \n \n \n \n \n \n \n \n }\n />\n \n \n \n \n \n {stableSort(staffMin, getComparator(order, orderBy))\n .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\n .filter(e => e.status !== 6)\n .map((row, index) => {\n const isItemSelected = isSelected(row.name);\n const labelId = `enhanced-table-checkbox-${index}`;\n\n return (\n \n \n {row.name}\n \n \n {row.email}\n \n {row.username}\n \n \n \n \"Edit\"\n \n \n \n \n );\n })}\n {emptyRows > 0 && (\n \n \n \n )}\n \n \n \n \n \n \n {/* handleCloseDetailSurat(openDialogDetailSurat.item)}\n >\n \n {openDialogDetailSurat.item !== null && (\n \n {openDialogDetailSurat.item.perihal}\n \n )}\n \n \n \n \n */}\n
    \n );\n}\n\nexport default TableStaffMin\n","import React, { forwardRef, useEffect, useState } from 'react'\nimport { makeStyles } from '@material-ui/styles'\nimport { Typography, Grid, Button, DialogContent, Dialog } from '@material-ui/core'\nimport { Link as RouterLink } from 'react-router-dom'\n\n// redux\nimport { connect } from 'react-redux'\nimport { getStaffMin } from '../../store/actions/staffMin'\nimport { Skeleton } from '@material-ui/lab'\n\n// Component\nimport TableStaffMin from './TableStaffMin'\n\nconst useStyles = makeStyles(theme => ({\n root: {\n padding: theme.spacing(4)\n },\n title: {\n fontFamily: 'Montserrat',\n color: '#000000'\n },\n button: {\n textTransform: 'none',\n backgroundColor: '#2285DF',\n color: '#FFFFFF',\n width: '100%',\n height: '40px',\n '&:hover': {\n backgroundColor: '#0277BD'\n },\n marginRight: theme.spacing(2),\n marginBottom: theme.spacing(2)\n },\n textButton: {\n fontFamily: 'Montserrat',\n color: '#FFFFFF'\n }\n}))\n\nconst CustomRouterLink = forwardRef((props, ref) => (\n \n \n \n))\n\nconst StaffMin = props => {\n const classes = useStyles()\n const {\n getStaffMin,\n staffMin: {\n staffMin,\n loadingStaffMin\n }\n } = props\n\n const [ openDialogEdit, setOpenDialogEdit ] = useState({\n open: false,\n object: null\n })\n \n const handleOpenDialogEdit = e => {\n setOpenDialogEdit({\n open: true,\n object : e\n })\n }\n\n const handleCloseDialogEdit = e => {\n setOpenDialogEdit({\n open: false,\n object : e\n })\n }\n\n const [ keyword, setKeyword ] = useState('')\n const [page, setPage] = useState(0);\n\n const handleChangeSearch = event => {\n setKeyword(event.target.value)\n setPage(0)\n }\n\n useEffect(() => {\n getStaffMin(keyword)\n }, [getStaffMin, keyword])\n\n return(\n
    \n \n \n Staff Min\n \n \n \n \n \n \n \n {!loadingStaffMin && staffMin !== null ? (\n \n ):(\n \n )}\n \n \n handleCloseDialogEdit(openDialogEdit.object)}\n > \n \n {/* */}\n \n \n
    \n )\n}\n\nconst mapStateToProps = state => ({\n staffMin : state.staffMin\n})\n\nexport default connect(mapStateToProps, { getStaffMin })(StaffMin)","import React, { useState, Fragment } from 'react'\nimport { makeStyles } from '@material-ui/styles'\nimport { \n Card, \n CardContent, \n TextField, \n Grid, \n Typography, \n Button,\n Backdrop,\n CircularProgress,\n} from '@material-ui/core'\nimport Breadcrumbs from '@material-ui/core/Breadcrumbs';\nimport {Link} from 'react-router-dom';\nimport { useForm } from \"react-hook-form\";\nimport { yupResolver } from \"@hookform/resolvers\";\nimport * as yup from \"yup\";\nimport { useHistory } from 'react-router-dom'\n\nimport { connect } from 'react-redux'\nimport { addStaffMin } from '../../../store/actions/staffMin'\n\nimport '../../../App.css'\n\nconst useStyles = makeStyles(theme => ({\n root: {\n padding: theme.spacing(4)\n },\n breadcumbs: {\n marginTop: theme.spacing(2),\n paddingLeft: theme.spacing(4)\n },\n text: {\n fontFamily: 'Montserrat',\n color: '#000000'\n },\n backdrop: {\n\t\tzIndex: theme.zIndex.drawer + 1,\n\t\tcolor: '#fff',\n },\n}))\n\nconst StaffMinSchema = yup.object().shape({\n\tusername: yup.string().required(\"Username harus diisi\"),\n\temail: yup.string().required(\"Email harus diisi\"),\n\tpassword: yup.string().required(\"Password harus diisi\"),\n});\n\nconst CreateStaffMin = props => {\n const classes = useStyles()\n const {\n addStaffMin,\n staffMin: {\n loadingCreateStaffMin\n }\n } = props\n const history = useHistory()\n const { register, handleSubmit, errors } = useForm({\n\t\tresolver: yupResolver(StaffMinSchema)\n });\n\n const [ formState, setFormState ] = useState({\n values: {}\n })\n\n const handleChange = event => {\n event.persist();\n \n setFormState(formState => ({\n ...formState,\n values: {\n ...formState.values,\n [event.target.name]: \n event.target.type === 'checkbox'\n ? event.target.checked\n : event.target.value\n }\n }));\n };\n \n \n const onSubmit = (event) => {\n // console.log(formState.values, banner, mailDate.submit, accDate.submit);\n addStaffMin(formState.values, history)\n\t}\n \n return loadingCreateStaffMin ? \n \n \n \n :\n \n
    \n \n \n Staff Min\n \n \n Form Staff Min\n \n \n
    \n
    \n \n \n Form Staff Min\n \n \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n}\n\nconst mapStateToProps = state => ({\n staffMin: state.staffMin\n})\n\nexport default connect(mapStateToProps, { addStaffMin })(CreateStaffMin)","import React, { useState, Fragment, useEffect } from 'react'\nimport { makeStyles } from '@material-ui/styles'\nimport { \n Card, \n CardContent, \n TextField, \n Grid, \n Typography, \n Button,\n Backdrop,\n CircularProgress,\n} from '@material-ui/core'\nimport Breadcrumbs from '@material-ui/core/Breadcrumbs';\nimport { Link, useParams } from 'react-router-dom';\nimport { useForm } from \"react-hook-form\";\nimport { yupResolver } from \"@hookform/resolvers\";\nimport * as yup from \"yup\";\nimport { useHistory } from 'react-router-dom'\n\nimport { connect } from 'react-redux'\nimport { updateStaffMin, getDetailStaffMin } from '../../../store/actions/staffMin'\n\nimport '../../../App.css'\n\nconst useStyles = makeStyles(theme => ({\n root: {\n padding: theme.spacing(4)\n },\n breadcumbs: {\n marginTop: theme.spacing(2),\n paddingLeft: theme.spacing(4)\n },\n text: {\n fontFamily: 'Montserrat',\n color: '#000000'\n },\n backdrop: {\n\t\tzIndex: theme.zIndex.drawer + 1,\n\t\tcolor: '#fff',\n },\n}))\n\nconst StaffMinSchema = yup.object().shape({\n\tusername: yup.string().required(\"Username harus diisi\"),\n\temail: yup.string().required(\"Email harus diisi\"),\n});\n\nconst EditStaffMin = props => {\n const classes = useStyles()\n const params = useParams()\n const {\n updateStaffMin,\n getDetailStaffMin,\n staffMin: {\n loadingDetailStaffMin,\n loadingEditStaffMin\n }\n } = props\n const history = useHistory()\n const { register, handleSubmit, errors } = useForm({\n\t\tresolver: yupResolver(StaffMinSchema)\n });\n\n const [ formState, setFormState ] = useState({\n values: {}\n })\n\n const handleChange = event => {\n event.persist();\n \n setFormState(formState => ({\n ...formState,\n values: {\n ...formState.values,\n [event.target.name]: \n event.target.type === 'checkbox'\n ? event.target.checked\n : event.target.value\n }\n }));\n };\n \n \n const onSubmit = () => {\n // console.log(formState.values, banner, mailDate.submit, accDate.submit);\n updateStaffMin(params.id, formState.values, history)\n }\n \n useEffect(() => {\n getDetailStaffMin(params.id, setFormState)\n }, [getDetailStaffMin, params, setFormState])\n\n console.log(formState.values)\n\n return loadingEditStaffMin || loadingDetailStaffMin ? \n \n \n \n :\n \n
    \n \n \n Staff Min\n \n \n Form Staff Min\n \n \n
    \n
    \n \n \n Form Staff Min\n \n \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n}\n\nconst mapStateToProps = state => ({\n staffMin: state.staffMin\n})\n\nexport default connect(mapStateToProps, { updateStaffMin, getDetailStaffMin })(EditStaffMin)","import React, { Fragment, useState } from 'react'\nimport { makeStyles } from '@material-ui/styles'\nimport { \n Card, \n CardActions, \n CardContent, \n Grid, \n InputLabel, \n Typography,\n Button,\n Divider,\n Backdrop,\n CircularProgress,\n Dialog,\n DialogContent,\n DialogTitle,\n DialogActions\n} from '@material-ui/core'\nimport moment from 'moment'\nimport { useHistory } from 'react-router-dom'\n\n// redux\nimport { connect } from 'react-redux'\nimport { accOutboxMail } from '../../../store/actions/suratKeluar'\n\nconst useStyles = makeStyles(theme => ({\n root: {\n width: '100%',\n [theme.breakpoints.down('sm')]: {\n width: '100%'\n },\n },\n text: {\n color: '#000000',\n fontFamily: 'Montserrat'\n },\n textWhite: {\n color: '#FFFFFF',\n fontFamily: 'Montserrat'\n },\n button: {\n textTransform: 'none',\n backgroundColor: '#2285DF',\n color: '#FFFFFF',\n width: '100%',\n height: '40px',\n '&:hover': {\n backgroundColor: '#0277BD'\n },\n marginRight: theme.spacing(2),\n marginBottom: theme.spacing(2)\n },\n buttonSmall: {\n textTransform: 'none',\n backgroundColor: '#2285DF',\n '&:hover': {\n backgroundColor: '#0277BD'\n },\n marginTop: theme.spacing(1)\n },\n divider: {\n color: '#000000',\n },\n backdrop: {\n\t\tzIndex: theme.zIndex.drawer + 1,\n\t\tcolor: '#fff',\n },\n}))\n\nconst DetailSuratKeluar = props => {\n const classes = useStyles()\n const history = useHistory()\n const {\n outboxMail,\n accOutboxMail,\n handleCloseDetailSurat,\n setKeyword,\n suratKeluar: {\n loadingOutboxAcc,\n },\n } = props\n\n const [ openDialogConfirmation, setOpenDialogConfirmation ] = useState({\n open: false,\n item: null\n })\n\n const handleOpenDialogConfirmation = e => {\n setOpenDialogConfirmation({\n open : true,\n item: e\n })\n }\n\n const handleCloseDialogConfirmation = e => {\n setOpenDialogConfirmation({\n open : false,\n item: e\n })\n }\n\n const onSubmit = event => {\n accOutboxMail(event.id, setKeyword, outboxMail.no_surat, history)\n handleCloseDetailSurat(outboxMail)\n handleCloseDialogConfirmation()\n }\n\n return loadingOutboxAcc ? \n \n \n \n :\n \n \n \n \n \n Tgl Terima\n \n {moment(outboxMail.tanggal_terima).format('DD MMMM yyyy')}\n \n \n \n Tgl/No Surat:\n \n {moment(outboxMail.tanggal_surat).format('DD MMMM yyyy')} | {outboxMail.no_surat}\n \n \n \n Perihal:\n \n {outboxMail.perihal}\n \n \n \n Pengolah:\n \n {outboxMail.pengolah}\n \n \n \n \n Lampiran Dokumen:\n \n \n \n \n \n \n {sessionStorage.getItem('role') === 'manager' && (\n <>\n \n \n \n \n )}\n \n \n \n handleCloseDialogConfirmation(openDialogConfirmation.item)}\n >\n \n \n Konfirmasi Surat Keluar\n \n \n \n \n Apakah anda yakin untuk mengkonfirmasi surat ini?\n \n \n \n \n \n \n \n \n}\n\nconst mapStateToProps = state => ({\n suratKeluar: state.suratKeluar,\n})\n\nexport default connect(mapStateToProps, { accOutboxMail })(DetailSuratKeluar)","import React, { useState, forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { lighten, makeStyles } from '@material-ui/core/styles';\nimport Table from '@material-ui/core/Table';\nimport TableBody from '@material-ui/core/TableBody';\nimport TableCell from '@material-ui/core/TableCell';\nimport TableContainer from '@material-ui/core/TableContainer';\nimport TableHead from '@material-ui/core/TableHead';\nimport TablePagination from '@material-ui/core/TablePagination';\nimport TableRow from '@material-ui/core/TableRow';\nimport TableSortLabel from '@material-ui/core/TableSortLabel';\nimport Toolbar from '@material-ui/core/Toolbar';\nimport Typography from '@material-ui/core/Typography';\nimport Card from '@material-ui/core/Paper';\nimport IconButton from '@material-ui/core/IconButton';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport DeleteIcon from '@material-ui/icons/Delete';\nimport SearchIcon from '@material-ui/icons/Search'\nimport FilterListIcon from '@material-ui/icons/FilterList';\nimport { CardHeader, CardContent, Dialog, DialogTitle, DialogContent, Paper, Divider, InputBase } from '@material-ui/core';\nimport DetailSuratKeluar from '../DetailSuratKeluar'\nimport { Link as RouterLink } from 'react-router-dom'\n\nfunction descendingComparator(a, b, orderBy) {\n if (b[orderBy] < a[orderBy]) {\n return -1;\n }\n if (b[orderBy] > a[orderBy]) {\n return 1;\n }\n return 0;\n}\n\nfunction getComparator(order, orderBy) {\n return order === 'desc'\n ? (a, b) => descendingComparator(a, b, orderBy)\n : (a, b) => -descendingComparator(a, b, orderBy);\n}\n\nfunction stableSort(array, comparator) {\n const stabilizedThis = array.map((el, index) => [el, index]);\n stabilizedThis.sort((a, b) => {\n const order = comparator(a[0], b[0]);\n if (order !== 0) return order;\n return a[1] - b[1];\n });\n return stabilizedThis.map((el) => el[0]);\n}\n\nconst headCells = [\n { id: 'no_surat', disablePadding: false, label: 'Nomor Surat' },\n { id: 'tgl_surat', disablePadding: false, label: 'Tanggal Surat' },\n { id: 'perihal', disablePadding: false, label: 'Perihal' },\n { id: 'tujuan_surat', disablePadding: false, label: 'Tujuan Surat' },\n { id: 'pengolah', disablePadding: false, label: 'Pengolah' },\n { id: 'status', disablePadding: false, label: 'Status' },\n { id: 'action', disablePadding: false, label: 'Aksi' },\n];\n\nfunction EnhancedTableHead(props) {\n const { classes, order, orderBy, onRequestSort } = props;\n const createSortHandler = (property) => (event) => {\n onRequestSort(event, property);\n };\n\n return (\n \n \n {headCells.map((headCell) => (\n \n \n {headCell.label}\n {orderBy === headCell.id ? (\n \n {order === 'desc' ? 'sorted descending' : 'sorted ascending'}\n \n ) : null}\n \n \n ))}\n \n \n );\n}\n\nEnhancedTableHead.propTypes = {\n classes: PropTypes.object.isRequired,\n numSelected: PropTypes.number.isRequired,\n onRequestSort: PropTypes.func.isRequired,\n onSelectAllClick: PropTypes.func.isRequired,\n order: PropTypes.oneOf(['asc', 'desc']).isRequired,\n orderBy: PropTypes.string.isRequired,\n rowCount: PropTypes.number.isRequired,\n};\n\nconst useToolbarStyles = makeStyles((theme) => ({\n root: {\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(1),\n },\n highlight:\n theme.palette.type === 'light'\n ? {\n color: theme.palette.secondary.main,\n backgroundColor: lighten(theme.palette.secondary.light, 0.85),\n }\n : {\n color: theme.palette.text.primary,\n backgroundColor: theme.palette.secondary.dark,\n },\n title: {\n flex: '1 1 100%',\n },\n}));\n\nconst EnhancedTableToolbar = (props) => {\n const classes = useToolbarStyles();\n const { numSelected } = props;\n\n return (\n 0,\n })}\n >\n {numSelected > 0 ? (\n \n {numSelected} selected\n \n ) : (\n \n Nutrition\n \n )}\n\n {numSelected > 0 ? (\n \n \n \n \n \n ) : (\n \n \n \n \n \n )}\n \n );\n};\n\nEnhancedTableToolbar.propTypes = {\n numSelected: PropTypes.number.isRequired,\n};\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n width: '100%',\n },\n paper: {\n width: '100%',\n marginBottom: theme.spacing(2),\n },\n table: {\n minWidth: 750,\n },\n visuallyHidden: {\n border: 0,\n clip: 'rect(0 0 0 0)',\n height: 1,\n margin: -1,\n overflow: 'hidden',\n padding: 0,\n position: 'absolute',\n top: 20,\n width: 1,\n },\n text: {\n fontFamily: 'Montserrat',\n color: '#000000'\n },\n searchRoot: {\n\t\tpadding: '2px 4px',\n display: 'flex',\n alignItems: 'center',\n\t\twidth: '400px',\n\t\t// marginTop: theme.spacing(2)\n\t},\n\tinput: {\n marginLeft: theme.spacing(1),\n flex: 1,\n width: '100%'\n },\n iconButton: {\n padding: 10,\n },\n divider: {\n height: 28,\n margin: 4,\n },\n}));\n\nconst CustomRouterLink = forwardRef((props, ref) => (\n \n \n \n))\n\nconst TableSuratKeluar = props => {\n const classes = useStyles();\n const [order, setOrder] = React.useState('asc');\n const [orderBy, setOrderBy] = React.useState('calories');\n const [selected, setSelected] = React.useState([]);\n // const [page, setPage] = React.useState(0);\n const [rowsPerPage, setRowsPerPage] = React.useState(10);\n\n const {\n outboxMail,\n setKeyword,\n keyword,\n page,\n setPage,\n handleChangeSearch,\n } = props\n\n const handleRequestSort = (event, property) => {\n const isAsc = orderBy === property && order === 'asc';\n setOrder(isAsc ? 'desc' : 'asc');\n setOrderBy(property);\n };\n\n const handleSelectAllClick = (event) => {\n if (event.target.checked) {\n const newSelecteds = outboxMail.map((n) => n.name);\n setSelected(newSelecteds);\n return;\n }\n setSelected([]);\n };\n\n const handleChangePage = (event, newPage) => {\n setPage(newPage);\n };\n\n const handleChangeRowsPerPage = (event) => {\n setRowsPerPage(parseInt(event.target.value, 10));\n setPage(0);\n };\n\n // Dialog Detail Surat\n const [ openDialogDetailSurat, setOpenDialogDetailSurat ] = useState({\n open: false,\n item: null\n })\n\n const handleOpenDetailSurat = e => {\n setOpenDialogDetailSurat({\n open: true,\n item: e\n })\n }\n\n const handleCloseDetailSurat = e => {\n setOpenDialogDetailSurat({\n open: false,\n item: e\n })\n }\n\n const isSelected = (name) => selected.indexOf(name) !== -1;\n\n const emptyRows = rowsPerPage - Math.min(rowsPerPage, outboxMail.length - page * rowsPerPage);\n\n return (\n
    \n \n \n \n \n \n \n \n \n }\n />\n \n \n \n \n \n {stableSort(outboxMail, getComparator(order, orderBy))\n .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\n .map((row, index) => {\n const isItemSelected = isSelected(row.name);\n const labelId = `enhanced-table-checkbox-${index}`;\n\n return (\n handleClick(event, row.name)}\n role=\"checkbox\"\n aria-checked={isItemSelected}\n tabIndex={-1}\n key={row.name}\n selected={isItemSelected}\n >\n \n {row.no_surat}\n \n {row.tanggal_surat}\n {row.perihal}\n {row.tujuan_surat}\n {row.pengolah}\n {row.status_surat.status}\n \n \n \n \"History\"\n \n \n \n handleOpenDetailSurat(row)}>\n \"Detail\n \n \n \n \n );\n })}\n {emptyRows > 0 && (\n \n \n \n )}\n \n \n \n \n \n \n handleCloseDetailSurat(openDialogDetailSurat.item)}\n >\n \n {openDialogDetailSurat.item !== null && (\n \n {openDialogDetailSurat.item.perihal}\n \n )}\n \n \n \n \n \n
    \n );\n}\n\nexport default TableSuratKeluar","import React, { useEffect, useState } from 'react'\nimport { makeStyles } from '@material-ui/styles'\nimport { Typography, Grid } from '@material-ui/core'\n\nimport { connect } from 'react-redux'\nimport { getOutboxMail } from '../../store/actions/suratKeluar'\n\nimport TableSuratKeluar from './TableSuratKeluar'\nimport { Skeleton } from '@material-ui/lab'\n\nconst useStyles = makeStyles(theme => ({\n root: {\n padding: theme.spacing(4)\n },\n title: {\n fontFamily: 'Montserrat',\n color: '#000000'\n },\n button: {\n textTransform: 'none',\n backgroundColor: '#2285DF',\n color: '#FFFFFF',\n width: '100%',\n height: '40px',\n '&:hover': {\n backgroundColor: '#0277BD'\n },\n marginRight: theme.spacing(2),\n marginBottom: theme.spacing(2)\n },\n textButton: {\n fontFamily: 'Montserrat',\n color: '#FFFFFF'\n }\n}))\n\nconst SuratKeluar = props => {\n const classes = useStyles()\n const {\n getOutboxMail,\n suratKeluar: {\n outboxMail,\n loadingOutboxMail\n }\n } = props\n\n const [ keyword, setKeyword ] = useState('')\n const [page, setPage] = useState(0);\n\n const handleChangeSearch = event => {\n setKeyword(event.target.value)\n setPage(0)\n }\n\n useEffect(() => {\n getOutboxMail(keyword)\n }, [ getOutboxMail, keyword ])\n\n return(\n
    \n \n \n Memo Surat Keluar\n \n \n \n \n {!loadingOutboxMail && outboxMail !== null ?(\n \n ):(\n \n )}\n \n \n
    \n )\n}\n\nconst mapStateToProps = state => ({\n suratKeluar: state.suratKeluar\n})\n\nexport default connect(mapStateToProps, { getOutboxMail })(SuratKeluar)","import React, { useEffect, Fragment } from 'react';\nimport { makeStyles } from '@material-ui/core/styles';\nimport Timeline from '@material-ui/lab/Timeline';\nimport TimelineItem from '@material-ui/lab/TimelineItem';\nimport TimelineSeparator from '@material-ui/lab/TimelineSeparator';\nimport TimelineConnector from '@material-ui/lab/TimelineConnector';\nimport TimelineContent from '@material-ui/lab/TimelineContent';\nimport TimelineOppositeContent from '@material-ui/lab/TimelineOppositeContent';\nimport TimelineDot from '@material-ui/lab/TimelineDot';\nimport Paper from '@material-ui/core/Paper';\nimport Typography from '@material-ui/core/Typography';\nimport { useParams } from 'react-router-dom'\nimport {\n\tBackdrop,\n\tCircularProgress,\n\tGrid,\n} from '@material-ui/core'\nimport moment from 'moment'\n\n// redux\nimport { connect } from 'react-redux'\nimport { getHistory } from '../../../store/actions/suratKeluar'\n\nconst useStyles = makeStyles((theme) => ({\n\troot: {\n\t\tpadding: theme.spacing(4)\n\t},\n\tpaper: {\n\t\tpadding: '6px 16px',\n\t},\n\tsecondaryTail: {\n\t\tbackgroundColor: theme.palette.secondary.main,\n\t},\n\tbackdrop: {\n\t\tzIndex: theme.zIndex.drawer + 1,\n\t\tcolor: '#fff',\n\t},\n\tfontTitle: {\n\t\tfontFamily: 'Montserrat',\n\t\tfontWeight: 700\n\t},\n\tfontText: {\n\t\tfontFamily: 'Montserrat'\n\t}\n}));\n\nconst History = props => {\n\tconst classes = useStyles();\n\tconst params = useParams()\n\tconst {\n\t\tgetHistory,\n\t\tsuratKeluar: {\n\t\t\thistoryOutboxMail,\n\t\t\tloadingHistoryOutboxMail\n\t\t}\n\t} = props\n\n\tuseEffect(() => {\n\t\tgetHistory(params.id)\n\t}, [ getHistory, params ])\n\n return loadingHistoryOutboxMail ? \n\t\n\t\t\t\n\t\n\t:\n\t\n\t\t
    \n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tHistory Perjalanan Surat\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{historyOutboxMail.map(item => (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{moment(item.updated_at).format('DD MMMM YYYY HH:mm')}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{item.status}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t))}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
    \n\t
    \n}\n\nconst mapStateToProps = state => ({\n\tsuratKeluar: state.suratKeluar\n})\n\nexport default connect(mapStateToProps, { getHistory })(History)","import React, { useEffect, Fragment } from 'react';\nimport { makeStyles } from '@material-ui/core/styles';\nimport Timeline from '@material-ui/lab/Timeline';\nimport TimelineItem from '@material-ui/lab/TimelineItem';\nimport TimelineSeparator from '@material-ui/lab/TimelineSeparator';\nimport TimelineConnector from '@material-ui/lab/TimelineConnector';\nimport TimelineContent from '@material-ui/lab/TimelineContent';\nimport TimelineOppositeContent from '@material-ui/lab/TimelineOppositeContent';\nimport TimelineDot from '@material-ui/lab/TimelineDot';\nimport Paper from '@material-ui/core/Paper';\nimport Typography from '@material-ui/core/Typography';\nimport { useParams } from 'react-router-dom'\nimport {\n\tBackdrop,\n\tCircularProgress,\n\tGrid,\n} from '@material-ui/core'\nimport moment from 'moment'\n\n// redux\nimport { connect } from 'react-redux'\nimport { getHistory } from '../../../store/actions/suratKeluar'\n\nconst useStyles = makeStyles((theme) => ({\n\troot: {\n\t\tpadding: theme.spacing(4)\n\t},\n\tpaper: {\n\t\tpadding: '6px 16px',\n\t},\n\tsecondaryTail: {\n\t\tbackgroundColor: theme.palette.secondary.main,\n\t},\n\tbackdrop: {\n\t\tzIndex: theme.zIndex.drawer + 1,\n\t\tcolor: '#fff',\n\t},\n\tfontTitle: {\n\t\tfontFamily: 'Montserrat',\n\t\tfontWeight: 700\n\t},\n\tfontText: {\n\t\tfontFamily: 'Montserrat'\n\t}\n}));\n\nconst History = props => {\n\tconst classes = useStyles();\n\tconst params = useParams()\n\tconst {\n\t\tgetHistory,\n\t\tsuratKeluar: {\n\t\t\thistoryOutboxMail,\n\t\t\tloadingHistoryOutboxMail\n\t\t}\n\t} = props\n\n\tuseEffect(() => {\n\t\tgetHistory(params.id)\n\t}, [ getHistory, params ])\n\n return loadingHistoryOutboxMail ? \n\t\n\t\t\t\n\t\n\t:\n\t\n\t\t
    \n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tHistory Perjalanan Surat\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{historyOutboxMail.map(item => (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{moment(item.updated_at).format('DD MMMM YYYY HH:mm')}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{item.status}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t))}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
    \n\t
    \n}\n\nconst mapStateToProps = state => ({\n\tsuratKeluar: state.suratKeluar\n})\n\nexport default connect(mapStateToProps, { getHistory })(History)","import React, { Fragment, useState } from 'react'\nimport { makeStyles } from '@material-ui/styles'\nimport { \n Card, \n CardActions, \n CardContent, \n Grid, \n Button,\n Backdrop,\n CircularProgress,\n TextField,\n MenuItem,\n} from '@material-ui/core'\nimport { useForm } from \"react-hook-form\";\n// import { yupResolver } from \"@hookform/resolvers\";\n// import * as yup from \"yup\";\nimport { useHistory } from 'react-router-dom'\n// redux\nimport { connect } from 'react-redux'\nimport { dispositionInboxMail } from '../../../../store/actions/suratMasuk'\n\nconst useStyles = makeStyles(theme => ({\n root: {\n width: '100%',\n [theme.breakpoints.down('sm')]: {\n width: '100%'\n },\n },\n text: {\n color: '#000000',\n fontFamily: 'Montserrat'\n },\n textWhite: {\n color: '#FFFFFF',\n fontFamily: 'Montserrat'\n },\n button: {\n textTransform: 'none',\n backgroundColor: '#2285DF',\n color: '#FFFFFF',\n width: '100%',\n height: '40px',\n '&:hover': {\n backgroundColor: '#0277BD'\n },\n marginRight: theme.spacing(2),\n marginBottom: theme.spacing(2)\n },\n buttonSmall: {\n textTransform: 'none',\n backgroundColor: '#2285DF',\n '&:hover': {\n backgroundColor: '#0277BD'\n },\n marginTop: theme.spacing(1)\n },\n divider: {\n color: '#000000',\n },\n backdrop: {\n\t\tzIndex: theme.zIndex.drawer + 1,\n\t\tcolor: '#fff',\n },\n formControl: {\n margin: theme.spacing(1),\n minWidth: 120,\n width: '100%',\n },\n chips: {\n display: 'flex',\n flexWrap: 'wrap',\n },\n chip: {\n margin: 2,\n },\n}))\n\n// const DispositionInboxMail = yup.object().shape({\n// \tkepada: yup.string().required(\"Ditujukan harus diisi\"),\n// });\n\nconst Disposisi = props => {\n const classes = useStyles()\n const history = useHistory()\n const { \n inboxData,\n dispositionInboxMail,\n dispositionChoiceList,\n handleCloseDetailSurat,\n handleCloseDialogDisposisi,\n suratMasuk: {\n loadingDispositionInboxMail\n }\n } = props\n const { handleSubmit } = useForm();\n\n const [ formState, setFormState ] = useState({\n values: {}\n })\n\n const handleChange = event => {\n event.persist();\n \n setFormState(formState => ({\n ...formState,\n values: {\n ...formState.values,\n [event.target.name]: \n event.target.type === 'checkbox'\n ? event.target.checked\n : event.target.value\n }\n }));\n };\n\n const onSubmit = e => {\n console.log(inboxData.id, formState.values)\n dispositionInboxMail(inboxData.id, formState.values, history)\n handleCloseDialogDisposisi()\n handleCloseDetailSurat(inboxData)\n }\n\n return loadingDispositionInboxMail ?\n \n \n \n :\n \n \n\n \n \n \n \n {dispositionChoiceList.map(item => (\n {item.nama}\n ))}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n}\n\nconst mapStateToProps = state => ({\n suratMasuk: state.suratMasuk\n})\n\nexport default connect(mapStateToProps, { dispositionInboxMail })(Disposisi)","import React, { Fragment, useEffect, useState } from 'react'\nimport { makeStyles } from '@material-ui/styles'\nimport { \n Card, \n CardActions, \n CardContent, \n Grid, \n InputLabel, \n Typography,\n Button,\n Divider,\n Backdrop,\n CircularProgress,\n Dialog,\n DialogContent,\n DialogTitle\n} from '@material-ui/core'\nimport moment from 'moment'\n\n// redux\nimport { connect } from 'react-redux'\nimport { getDispositionChoice } from '../../../store/actions/suratMasuk'\nimport { getBagian } from '../../../store/actions/bagian'\nimport Disposisi from './Disposisi'\n\nconst useStyles = makeStyles(theme => ({\n root: {\n width: '100%',\n [theme.breakpoints.down('sm')]: {\n width: '100%'\n },\n },\n text: {\n color: '#000000',\n fontFamily: 'Montserrat'\n },\n textWhite: {\n color: '#FFFFFF',\n fontFamily: 'Montserrat'\n },\n button: {\n textTransform: 'none',\n backgroundColor: '#2285DF',\n color: '#FFFFFF',\n width: '100%',\n height: '40px',\n '&:hover': {\n backgroundColor: '#0277BD'\n },\n marginRight: theme.spacing(2),\n marginBottom: theme.spacing(2)\n },\n buttonSmall: {\n textTransform: 'none',\n backgroundColor: '#2285DF',\n '&:hover': {\n backgroundColor: '#0277BD'\n },\n marginTop: theme.spacing(1)\n },\n divider: {\n color: '#000000',\n },\n backdrop: {\n\t\tzIndex: theme.zIndex.drawer + 1,\n\t\tcolor: '#fff',\n },\n}))\n\nconst DetailSuratMasuk = props => {\n const classes = useStyles()\n const {\n inboxData,\n getDispositionChoice,\n getBagian,\n handleCloseDetailSurat,\n suratMasuk: {\n loadingDownloadBuktiTerima,\n loadingDownloadDetailSurat,\n loadingDispositionChoiceList,\n dispositionChoiceList\n },\n bagian: {\n listBagian\n }\n } = props\n\n const [ openDialogDisposisi, setOpenDialogDisposisi ] = useState({\n open: false,\n item: null\n })\n\n const handleOpenDialogDisposisi = e => {\n setOpenDialogDisposisi({\n open : true,\n item: e\n })\n }\n\n const handleCloseDialogDisposisi = e => {\n setOpenDialogDisposisi({\n open : false,\n item: e\n })\n }\n\n useEffect(() => {\n getBagian()\n getDispositionChoice()\n }, [getBagian, getDispositionChoice])\n\n return loadingDownloadBuktiTerima || loadingDownloadDetailSurat || loadingDispositionChoiceList ? \n \n \n \n :\n \n \n \n \n \n Tgl Terima:\n \n {moment(inboxData.tanggal_terima).format('DD MMMM yyyy')}\n \n \n \n Tgl/No Surat:\n \n {moment(inboxData.tanggal_surat).format('DD MMMM yyyy')} | {inboxData.no_surat}\n \n \n \n Perihal:\n \n {inboxData.perihal}\n \n \n \n \n Lampiran Dokumen:\n \n \n \n \n \n \n \n {/* */}\n \n {sessionStorage.getItem('role') === 'manager' && (\n <>\n {inboxData.status_surat.id === 1 && (\n \n \n \n )}\n \n )}\n \n \n \n handleCloseDialogDisposisi(openDialogDisposisi.item)}\n >\n \n \n Disposisi surat dengan nomor surat ({inboxData.no_surat})\n \n \n \n \n \n \n \n}\n\nconst mapStateToProps = state => ({\n suratMasuk: state.suratMasuk,\n bagian: state.bagian\n})\n\nexport default connect(mapStateToProps, { getBagian, getDispositionChoice })(DetailSuratMasuk)","import React, { useState, forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { lighten, makeStyles } from '@material-ui/core/styles';\nimport Table from '@material-ui/core/Table';\nimport TableBody from '@material-ui/core/TableBody';\nimport TableCell from '@material-ui/core/TableCell';\nimport TableContainer from '@material-ui/core/TableContainer';\nimport TableHead from '@material-ui/core/TableHead';\nimport TablePagination from '@material-ui/core/TablePagination';\nimport TableRow from '@material-ui/core/TableRow';\nimport TableSortLabel from '@material-ui/core/TableSortLabel';\nimport Toolbar from '@material-ui/core/Toolbar';\nimport Typography from '@material-ui/core/Typography';\nimport Card from '@material-ui/core/Paper';\nimport IconButton from '@material-ui/core/IconButton';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport DeleteIcon from '@material-ui/icons/Delete';\nimport FilterListIcon from '@material-ui/icons/FilterList';\nimport { CardHeader, CardContent, Dialog, DialogTitle, DialogContent, Paper, Divider, InputBase, Link } from '@material-ui/core';\nimport DetailSuratMasuk from '../DetailSuratMasuk'\nimport SearchIcon from '@material-ui/icons/Search'\nimport { Link as RouterLink } from 'react-router-dom'\n\nfunction createData(name, calories, fat, carbs, protein) {\n return { name, calories, fat, carbs, protein };\n}\n\nconst rows = [\n createData('123/123/123', 305, '20 November 2020', 67, 4.3),\n createData('123/123/124', 452, '20 November 2020', 51, 4.9),\n createData('123/123/125', 262, '20 November 2020', 24, 6.0),\n createData('123/123/126', 159, '20 November 2020', 24, 4.0),\n createData('123/123/127', 356, '20 November 2020', 49, 3.9),\n createData('123/123/128', 408, '20 November 2020', 87, 6.5),\n createData('123/123/129', 237, '20 November 2020', 37, 4.3),\n createData('123/123/130', 375, '20 November 2020', 94, 0.0),\n createData('123/123/131', 518, '20 November 2020', 65, 7.0),\n createData('123/123/132', 392, '20 November 2020', 98, 0.0),\n createData('123/123/133', 318, '20 November 2020', 81, 2.0),\n createData('123/123/134', 360, '20 November 2020', 9, 37.0),\n createData('123/123/135', 437, '20 November 2020', 63, 4.0),\n];\n\nfunction descendingComparator(a, b, orderBy) {\n if (b[orderBy] < a[orderBy]) {\n return -1;\n }\n if (b[orderBy] > a[orderBy]) {\n return 1;\n }\n return 0;\n}\n\nfunction getComparator(order, orderBy) {\n return order === 'desc'\n ? (a, b) => descendingComparator(a, b, orderBy)\n : (a, b) => -descendingComparator(a, b, orderBy);\n}\n\nfunction stableSort(array, comparator) {\n const stabilizedThis = array.map((el, index) => [el, index]);\n stabilizedThis.sort((a, b) => {\n const order = comparator(a[0], b[0]);\n if (order !== 0) return order;\n return a[1] - b[1];\n });\n return stabilizedThis.map((el) => el[0]);\n}\n\nconst headCells = [\n { id: 'no_surat', numeric: true, disablePadding: false, label: 'Nomor Surat' },\n { id: 'tgl_surat', numeric: true, disablePadding: false, label: 'Tanggal Surat' },\n { id: 'perihal', numeric: true, disablePadding: false, label: 'Perihal' },\n { id: 'status', numeric: true, disablePadding: false, label: 'Status Surat' },\n { id: 'file', numeric: true, disablePadding: false, label: 'File' },\n { id: 'action', numeric: true, disablePadding: false, label: 'Aksi' },\n];\n\nfunction EnhancedTableHead(props) {\n const { classes, order, orderBy, onRequestSort } = props;\n const createSortHandler = (property) => (event) => {\n onRequestSort(event, property);\n };\n\n return (\n \n \n {headCells.map((headCell) => (\n \n \n {headCell.label}\n {orderBy === headCell.id ? (\n \n {order === 'desc' ? 'sorted descending' : 'sorted ascending'}\n \n ) : null}\n \n \n ))}\n \n \n );\n}\n\nEnhancedTableHead.propTypes = {\n classes: PropTypes.object.isRequired,\n numSelected: PropTypes.number.isRequired,\n onRequestSort: PropTypes.func.isRequired,\n onSelectAllClick: PropTypes.func.isRequired,\n order: PropTypes.oneOf(['asc', 'desc']).isRequired,\n orderBy: PropTypes.string.isRequired,\n rowCount: PropTypes.number.isRequired,\n};\n\nconst useToolbarStyles = makeStyles((theme) => ({\n root: {\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(1),\n },\n highlight:\n theme.palette.type === 'light'\n ? {\n color: theme.palette.secondary.main,\n backgroundColor: lighten(theme.palette.secondary.light, 0.85),\n }\n : {\n color: theme.palette.text.primary,\n backgroundColor: theme.palette.secondary.dark,\n },\n title: {\n flex: '1 1 100%',\n },\n}));\n\nconst EnhancedTableToolbar = (props) => {\n const classes = useToolbarStyles();\n const { numSelected } = props;\n\n return (\n 0,\n })}\n >\n {numSelected > 0 ? (\n \n {numSelected} selected\n \n ) : (\n \n Nutrition\n \n )}\n\n {numSelected > 0 ? (\n \n \n \n \n \n ) : (\n \n \n \n \n \n )}\n \n );\n};\n\nEnhancedTableToolbar.propTypes = {\n numSelected: PropTypes.number.isRequired,\n};\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n width: '100%',\n },\n paper: {\n width: '100%',\n marginBottom: theme.spacing(2),\n },\n table: {\n minWidth: 750,\n },\n visuallyHidden: {\n border: 0,\n clip: 'rect(0 0 0 0)',\n height: 1,\n margin: -1,\n overflow: 'hidden',\n padding: 0,\n position: 'absolute',\n top: 20,\n width: 1,\n },\n text: {\n fontFamily: 'Montserrat',\n color: '#000000'\n },\n searchRoot: {\n\t\tpadding: '2px 4px',\n display: 'flex',\n alignItems: 'center',\n\t\twidth: '400px',\n\t\t// marginTop: theme.spacing(2)\n\t},\n\tinput: {\n marginLeft: theme.spacing(1),\n flex: 1,\n width: '100%'\n },\n iconButton: {\n padding: 10,\n },\n divider: {\n height: 28,\n margin: 4,\n },\n}));\n\nconst CustomRouterLink = forwardRef((props, ref) => (\n \n \n \n))\n\nconst TableSuratMasuk = props => {\n const classes = useStyles();\n const {\n reportList,\n page,\n setPage,\n handleChangeSearch\n } = props\n const [order, setOrder] = React.useState('asc');\n const [orderBy, setOrderBy] = React.useState('calories');\n const [selected, setSelected] = React.useState([]);\n \n const [rowsPerPage, setRowsPerPage] = React.useState(10);\n\n const handleRequestSort = (event, property) => {\n const isAsc = orderBy === property && order === 'asc';\n setOrder(isAsc ? 'desc' : 'asc');\n setOrderBy(property);\n };\n\n const handleSelectAllClick = (event) => {\n if (event.target.checked) {\n const newSelecteds = rows.map((n) => n.name);\n setSelected(newSelecteds);\n return;\n }\n setSelected([]);\n };\n\n const handleChangePage = (event, newPage) => {\n setPage(newPage);\n };\n\n const handleChangeRowsPerPage = (event) => {\n setRowsPerPage(parseInt(event.target.value, 10));\n setPage(0);\n };\n\n // Dialog Detail Surat\n const [ openDialogDetailSurat, setOpenDialogDetailSurat ] = useState({\n open: false,\n item: null\n })\n\n const handleOpenDetailSurat = e => {\n setOpenDialogDetailSurat({\n open: true,\n item: e\n })\n }\n\n const handleCloseDetailSurat = e => {\n setOpenDialogDetailSurat({\n open: false,\n item: e\n })\n }\n\n const isSelected = (name) => selected.indexOf(name) !== -1;\n\n const emptyRows = rowsPerPage - Math.min(rowsPerPage, rows.length - page * rowsPerPage);\n\n return (\n
    \n \n \n \n \n \n \n \n \n }\n />\n \n \n \n \n \n {stableSort(reportList, getComparator(order, orderBy))\n .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\n .map((row, index) => {\n const isItemSelected = isSelected(row.name);\n // const labelId = `enhanced-table-checkbox-${index}`;\n\n return (\n handleOpenDetailSurat(row)}\n role=\"checkbox\"\n aria-checked={isItemSelected}\n tabIndex={-1}\n key={row.name}\n selected={isItemSelected}\n >\n {row.no_surat}\n {row.tanggal_surat}\n {row.perihal}\n {row.status_surat.status}\n \n Download File\n \n \n \n \n \"History\"\n \n \n \n \n );\n })}\n {emptyRows > 0 && (\n \n \n \n )}\n \n \n \n \n \n \n handleCloseDetailSurat(openDialogDetailSurat.item)}\n >\n \n {openDialogDetailSurat.item !== null && (\n \n {openDialogDetailSurat.item.perihal}\n \n )}\n \n \n \n \n \n
    \n );\n}\n\nexport default TableSuratMasuk\n","import * as firebase from \"firebase/app\";\nimport \"firebase/messaging\";\nconst initializedFirebaseApp = firebase.initializeApp({\n\t// Project Settings => Add Firebase to your web app\n apiKey: \"AIzaSyBeoS91vtP-DYGoMoTVZZrHEpdb2pJVJu8\",\n authDomain: \"simantap-146e0.firebaseapp.com\",\n projectId: \"simantap-146e0\",\n storageBucket: \"simantap-146e0.appspot.com\",\n messagingSenderId: \"718058254689\",\n appId: \"1:718058254689:web:0cd06fb8a33bfb2c5a9520\",\n measurementId: \"G-1NEG9M8P01\"\n});\n\nlet messaging;\nif (firebase.messaging.isSupported()) {\n messaging = initializedFirebaseApp.messaging();\n messaging.usePublicVapidKey(\n \"BOxVztHiPYPOwY7adO7XKx-jfpZoPV6mW5LI3WV7JETwub7rvpiLSDTGmjFruYVyxBOXjUzfWA-V53jigPlWY60\"\n );\n}\n\nexport { messaging };\n","import React, { useState, useEffect } from 'react'\nimport 'date-fns'\nimport { makeStyles } from '@material-ui/styles'\nimport {\n Typography,\n Grid,\n Paper,\n} from '@material-ui/core'\nimport DateFnsUtils from '@date-io/date-fns'; // choose your lib\nimport {\n DatePicker,\n MuiPickersUtilsProvider,\n} from '@material-ui/pickers';\nimport moment from 'moment';\nimport Skeleton from '@material-ui/lab/Skeleton'\n\nimport TableSuratMasuk from './TableSuratMasuk'\n\nimport { connect } from 'react-redux'\nimport { getReportOutboxMail } from '../../store/actions/suratKeluar'\n\n\nconst useStyles = makeStyles(theme => ({\n root: {\n padding: theme.spacing(4)\n },\n row: {\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(2)\n },\n btnSearch: {\n backgroundColor: '#FF9300',\n '&:hover' : {\n backgroundColor: '#FFA938'\n },\n color: '#FFFFFF',\n height: 'auto'\n },\n extendedIcon: {\n marginRight: theme.spacing(1),\n },\n searchRoot: {\n\t\tpadding: '2px 4px',\n display: 'flex',\n alignItems: 'center',\n\t\twidth: 'auto',\n\t\t// marginTop: theme.spacing(2)\n\t},\n\tinput: {\n marginLeft: theme.spacing(1),\n flex: 1,\n },\n iconButton: {\n padding: 10,\n },\n divider: {\n height: 28,\n margin: 4,\n },\n fab: {\n position: 'fixed',\n bottom: theme.spacing(4),\n right: theme.spacing(2),\n },\n text: {\n fontFamily: 'Montserrat'\n }\n}))\n\nconst Report = props => {\n const classes = useStyles()\n const [selectedDate ] = useState(new Date());\n const {\n getReportOutboxMail,\n suratKeluar: {\n reportList,\n loadingReportList\n }\n } = props\n\n const submitDefault = moment().subtract(7, 'd').format('YYYY-MM-DD');\n const submitDefaultEndDate = moment({}).format('YYYY-MM-DD');\n const [ startDate, setStartDate ] = useState({\n submit: {\n submit: submitDefault\n },\n view: {\n view: moment().subtract(7, 'd').format('YYYY-MM-DD')\n }\n });\n const handleStartDate = (date) => {\n const changeDate = moment(date).format('YYYY-MM-DD');\n setStartDate(startDate => ({\n ...startDate,\n submit: {\n submit: changeDate\n },\n view: {\n view: date\n }\n }));\n };\n\n const [ endDate, setEndDate ] = useState({\n submit: {\n submit: submitDefaultEndDate\n },\n view: {selectedDate}\n });\n const handleEndDate = (date) => {\n const all = moment(date).format('YYYY-MM-DD');\n setEndDate(endDate => ({\n ...endDate,\n submit: {\n submit: all\n },\n view: {\n view: date\n }\n }));\n };\n\n const [ keyword, setKeyword ] = useState('')\n const [page, setPage] = useState(0);\n\n const handleChangeSearch = event => {\n setKeyword(event.target.value)\n setPage(0)\n }\n\n useEffect(() => {\n getReportOutboxMail(keyword, startDate.submit.submit, endDate.submit.submit)\n }, [getReportOutboxMail, keyword, startDate, endDate])\n\n return(\n
    \n
    \n \n \n Laporan Surat Keluar\n \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n \n \n {!loadingReportList && reportList !== null ? (\n \n ):(\n \n )}\n \n \n
    \n
    \n )\n}\n\nconst mapStateToProps = state => ({\n suratKeluar: state.suratKeluar\n})\n\nexport default connect(mapStateToProps, { getReportOutboxMail })(Report)","import React, { useEffect, Fragment } from 'react';\nimport { makeStyles } from '@material-ui/core/styles';\nimport Timeline from '@material-ui/lab/Timeline';\nimport TimelineItem from '@material-ui/lab/TimelineItem';\nimport TimelineSeparator from '@material-ui/lab/TimelineSeparator';\nimport TimelineConnector from '@material-ui/lab/TimelineConnector';\nimport TimelineContent from '@material-ui/lab/TimelineContent';\nimport TimelineOppositeContent from '@material-ui/lab/TimelineOppositeContent';\nimport TimelineDot from '@material-ui/lab/TimelineDot';\nimport Paper from '@material-ui/core/Paper';\nimport Typography from '@material-ui/core/Typography';\nimport { useParams } from 'react-router-dom'\nimport {\n\tBackdrop,\n\tCircularProgress,\n\tGrid,\n} from '@material-ui/core'\nimport moment from 'moment'\n\n// redux\nimport { connect } from 'react-redux'\nimport { getHistory } from '../../../store/actions/suratKeluar'\n\nconst useStyles = makeStyles((theme) => ({\n\troot: {\n\t\tpadding: theme.spacing(4)\n\t},\n\tpaper: {\n\t\tpadding: '6px 16px',\n\t},\n\tsecondaryTail: {\n\t\tbackgroundColor: theme.palette.secondary.main,\n\t},\n\tbackdrop: {\n\t\tzIndex: theme.zIndex.drawer + 1,\n\t\tcolor: '#fff',\n\t},\n\tfontTitle: {\n\t\tfontFamily: 'Montserrat',\n\t\tfontWeight: 700\n\t},\n\tfontText: {\n\t\tfontFamily: 'Montserrat'\n\t}\n}));\n\nconst History = props => {\n\tconst classes = useStyles();\n\tconst params = useParams()\n\tconst {\n\t\tgetHistory,\n\t\tsuratKeluar: {\n\t\t\thistoryOutboxMail,\n\t\t\tloadingHistoryOutboxMail\n\t\t}\n\t} = props\n\n\tuseEffect(() => {\n\t\tgetHistory(params.id)\n\t}, [ getHistory, params ])\n\n return loadingHistoryOutboxMail ? \n\t\n\t\t\t\n\t\n\t:\n\t\n\t\t
    \n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tHistory Perjalanan Surat\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{historyOutboxMail.map(item => (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{moment(item.updated_at).format('DD MMMM YYYY HH:mm')}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{item.status}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t))}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
    \n\t
    \n}\n\nconst mapStateToProps = state => ({\n\tsuratKeluar: state.suratKeluar\n})\n\nexport default connect(mapStateToProps, { getHistory })(History)","import React from 'react';\nimport { Switch, Redirect, Route } from 'react-router-dom';\n\nimport { RouteWithLayout } from './components';\nimport { Main as MainLayout, Login } from './layouts';\n\nimport {\n Dashboard as DashboardView,\n Profile as ProfileView,\n SuratMasuk as SuratMasukView,\n FormSuratMasuk as FormSuratMasukView,\n SuratKeluar as SuratKeluarView,\n FormSuratKeluar as FormSuratKeluarView,\n Memo as MemoView,\n HistorySuratMasuk as HistorySuratMasukView,\n HistoryMemo as HistoryMemoView,\n Report as ReportView,\n ReportHistory as ReportHistoryView,\n StaffMin as StaffMinView,\n CreateStaffMin as CreateStaffMinView,\n EditStaffMin as EditStaffMinView,\n MemoSuratKeluar as MemoSuratKeluarView,\n HistoryOutboxMail as HistoryOutboxMailView,\n HistoryOutboxMailMemo as HistoryOutboxMailMemoView,\n ReportOutboxMail as ReportOutboxMailView,\n ReportOutboxMailHistory as ReportOutboxMailHistoryView\n} from './views';\n\nconst Routes = () => {\n \n return (\n \n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n {/* \n \n */}\n\n \n \n );\n};\n\nexport default Routes;\n","export const updateObject = (oldObject, updateProperties) => {\n return {\n ...oldObject,\n ...updateProperties\n }\n}\n","import * as actionTypes from '../actions/actionTypes'\nimport { updateObject } from '../../shared/utility'\n\nconst initialState = {\n open: false,\n openDialogBox: false,\n payload: null\n}\n\nconst setAlert = (state, action) => {\n return updateObject(state, { open: true, payload: action.payload })\n}\n\nconst removeAlert = (state, action) => {\n return updateObject(state, { open: false, payload: null })\n}\n\nconst setDialogBox = (state, action) => {\n return updateObject(state, { openDialogBox: true, payload: action.payload })\n}\n\nconst removeDialogBox = (state, action) => {\n return updateObject(state, { openDialogBox: false, payload: null })\n}\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.SET_ALERT: return setAlert(state, action)\n case actionTypes.REMOVE_ALERT: return removeAlert(state, action)\n case actionTypes.SET_DIALOG_BOX: return setDialogBox(state, action)\n case actionTypes.REMOVE_DIALOG_BOX: return removeDialogBox(state, action)\n default: return state\n }\n}\n\nexport default reducer\n","import * as actionTypes from '../actions/actionTypes'\nimport { updateObject } from '../../shared/utility'\n\nconst initialState = {\n token: null,\n user: {},\n userData: {},\n uploadUrl: null,\n changing: 0,\n error: {},\n loading: false,\n // authRedirectPath: '/dashboard'\n}\n\nconst authStart = (state, action) => {\n return updateObject(state, { error: null, loading: true })\n}\n\nconst authSuccess = (state, action) => {\n return updateObject(state, {\n token: action.tokenId,\n error: null,\n loading: false\n })\n}\n\nconst authFail = (state, action) => {\n return updateObject(state, { error: action.error, loading: false })\n}\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.AUTH_START: return authStart(state, action)\n case actionTypes.AUTH_SUCCESS: return authSuccess(state, action)\n case actionTypes.AUTH_FAIL: return authFail(state, action)\n // case actionTypes.AUTH_LOGOUT: return authLogout(state, action)\n\n default: return state\n }\n}\n\nexport default reducer\n","import * as actions from '../actions/actionTypes'\n\nconst initialState = {\n inboxMail: null,\n inboxMailData: null,\n inboxMailUpdate: null,\n downloadBuktiTerima: null,\n downloadDetailSurat: null,\n dispositionChoiceList: null,\n dispositionInboxMail: null,\n history: null,\n inboxMailDone: null,\n loadingInboxMailDone: true,\n loadingHistory: true,\n loadingDispositionInboxMail: false,\n loadingDownloadDetailSurat: false,\n loadingDownloadBuktiTerima: false,\n loadingUpdateInboxMail: false,\n loadingPostInboxMail: false,\n loadingInboxMail: true,\n loadingDispositionChoiceList: true,\n error: {}\n}\n\nexport default function (state = initialState, action) {\n const { type, payload } = action\n switch (type) {\n case actions.GET_INBOX_MAIL:\n return {\n ...state,\n inboxMail: payload,\n loadingInboxMail: false\n }\n case actions.GET_INBOX_MAIL_DONE:\n return {\n ...state,\n inboxMailDone: payload,\n loadingInboxMailDone: false\n }\n case actions.POST_INBOX_MAIL_START:\n return {\n ...state,\n loadingPostInboxMail: true\n }\n case actions.POST_INBOX_MAIL_SUCCESS:\n return {\n ...state,\n inboxMailData: payload,\n loadingPostInboxMail: false\n }\n case actions.POST_INBOX_MAIL_FAIL:\n return {\n ...state,\n inboxMailData: payload,\n loadingPostInboxMail: false\n }\n case actions.UPDATE_INBOX_MAIL_START:\n return {\n ...state,\n loadingUpdateInboxMail: true\n }\n case actions.UPDATE_INBOX_MAIL_SUCCESS:\n return {\n ...state,\n inboxMailUpdate: payload,\n loadingUpdateInboxMail: false\n }\n case actions.UPDATE_INBOX_MAIL_FAIL:\n return {\n ...state,\n inboxMailUpdate: payload,\n loadingUpdateInboxMail: false\n }\n case actions.DOWNLOAD_BUKTI_TERIMA_START:\n return {\n ...state,\n loadingDownloadBuktiTerima: true\n }\n case actions.DOWNLOAD_BUKTI_TERIMA_END:\n return {\n ...state,\n downloadBuktiTerima: payload,\n loadingDownloadBuktiTerima: false\n }\n case actions.DOWNLOAD_DETAIL_SURAT_START:\n return {\n ...state,\n loadingDownloadDetailSurat: true\n }\n case actions.DOWNLOAD_DETAIL_SURAT_END:\n return {\n ...state,\n downloadDetailSurat: payload,\n loadingDownloadDetailSurat: false\n }\n case actions.DISPOSITION_INBOX_MAIL_START:\n return {\n ...state,\n loadingDispositionInboxMail: true\n }\n case actions.DISPOSITION_INBOX_MAIL_SUCCESS:\n return {\n ...state,\n dispositionInboxMail: payload,\n loadingDispositionInboxMail: false\n }\n case actions.DISPOSITION_INBOX_MAIL_FAIL:\n return {\n ...state,\n error: payload,\n loadingDispositionInboxMail: false\n }\n case actions.GET_DISPOSITION_CHOICE:\n return {\n ...state,\n dispositionChoiceList: payload,\n loadingDispositionChoiceList: false\n }\n case actions.GET_HISTORY:\n return {\n ...state,\n history: payload,\n loadingHistory: false\n }\n default:\n return state\n }\n}","import * as actions from '../actions/actionTypes'\n\nconst initialState = {\n outboxMail: null,\n outboxMailData: null,\n outboxMailUpdate: null,\n outboxMailAcc: null,\n historyOutboxMail: null,\n reportList: null,\n loadingReportList: true,\n loadingHistoryOutboxMail: true,\n loadingOutboxAcc: false,\n loadingUpdateOutboxMail: false,\n loadingPostOutboxMail: false,\n loadingOutboxMail: true,\n error: {}\n}\n\nexport default function (state = initialState, action) {\n const { type, payload } = action\n switch (type) {\n case actions.GET_OUTBOX_MAIL:\n return {\n ...state,\n outboxMail: payload,\n loadingOutboxMail: false\n }\n case actions.GET_REPORT_OUTBOXMAIL:\n return {\n ...state,\n reportList: payload,\n loadingReportList: false\n }\n case actions.POST_OUTBOX_MAIL_START:\n return {\n ...state,\n loadingPostOutboxMail: true\n }\n case actions.POST_OUTBOX_MAIL_SUCCESS:\n return {\n ...state,\n outboxMailData: payload,\n loadingPostOutboxMail: false\n }\n case actions.POST_OUTBOX_MAIL_FAIL:\n return {\n ...state,\n outboxMailData: payload,\n loadingPostOutboxMail: false\n }\n case actions.UPDATE_OUTBOX_MAIL_START:\n return {\n ...state,\n loadingUpdateOutboxMail: true\n }\n case actions.UPDATE_OUTBOX_MAIL_SUCCESS:\n return {\n ...state,\n outboxMailUpdate: payload,\n loadingUpdateOutboxMail: false\n }\n case actions.UPDATE_OUTBOX_MAIL_FAIL:\n return {\n ...state,\n outboxMailUpdate: payload,\n loadingUpdateOutboxMail: false\n }\n case actions.ACC_OUTBOX_MAIL_START:\n return {\n ...state,\n loadingOutboxAcc: true\n }\n case actions.ACC_OUTBOX_MAIL_SUCCESS:\n return {\n ...state,\n outboxMailAcc: payload,\n loadingOutboxAcc: false\n }\n case actions.ACC_OUTBOX_MAIL_FAIL:\n return {\n ...state,\n outboxMailAcc: payload,\n loadingOutboxAcc: false\n }\n case actions.GET_HISTORY_OUTBOX_MAIL:\n return {\n ...state,\n historyOutboxMail: payload,\n loadingHistoryOutboxMail: false\n }\n default:\n return state\n }\n}","import * as actions from '../actions/actionTypes'\n\nconst initialState = {\n listBagian: null,\n loadingListBagian: true,\n error: {}\n}\n\nexport default function (state = initialState, action) {\n const { type, payload } = action\n switch (type) {\n case actions.GET_BAGIAN:\n return {\n ...state,\n listBagian: payload,\n loadingListBagian: false\n }\n default:\n return state\n }\n}","import * as actions from '../actions/actionTypes'\n\nconst initialState = {\n memoList: null,\n documentDownloadList: null,\n dispositionMemo: null,\n staffMin: null,\n loadingStaffMin: true,\n loadingDispositionMemo: false,\n loadingDownloadDocumentDisposition: false,\n loadingMemoList: true,\n error: {}\n}\n\nexport default function (state = initialState, action) {\n const { type, payload } = action\n switch (type) {\n case actions.GET_MEMO:\n return {\n ...state,\n memoList: payload,\n loadingMemoList: false\n }\n case actions.DOWNLOAD_DOCUMENT_DISPOSITION_START:\n return {\n ...state,\n loadingDownloadDocumentDisposition: true\n }\n case actions.DOWNLOAD_DOCUMENT_DISPOSITION_SUCCESS:\n return {\n ...state,\n documentDownloadList: payload,\n loadingDownloadDocumentDisposition: false\n }\n case actions.DOWNLOAD_DOCUMENT_DISPOSITION_END:\n return {\n ...state,\n error: payload,\n loadingDownloadDocumentDisposition: false\n }\n case actions.DISPOSITION_INBOX_MAIL_START:\n return {\n ...state,\n loadingDispositionMemo: true\n }\n case actions.DISPOSITION_INBOX_MAIL_SUCCESS:\n return {\n ...state,\n dispositionMemo: payload,\n loadingDispositionMemo: false\n }\n case actions.DISPOSITION_INBOX_MAIL_FAIL:\n return {\n ...state,\n error: payload,\n loadingDispositionMemo: false\n }\n case actions.GET_STAFF_MIN:\n return {\n ...state,\n staffMin: payload,\n loadingStaffMin: false\n }\n default:\n return state\n }\n}","import * as actions from '../actions/actionTypes'\n\nconst initialState = {\n uploadTaskData: null,\n loadingUploadTask: false,\n error: {}\n}\n\nexport default function (state = initialState, action) {\n const { type, payload } = action\n switch (type) {\n case actions.UPLOAD_TASK_START:\n return {\n ...state,\n loadingUploadTask: true\n }\n case actions.UPLOAD_TASK_SUCCESS:\n return {\n ...state,\n uploadTaskData: payload,\n loadingUploadTask: false\n }\n case actions.UPLOAD_TASK_FAIL:\n return {\n ...state,\n error: payload,\n loadingUploadTask: false\n }\n default:\n return state\n }\n}","import * as actions from '../actions/actionTypes'\n\nconst initialState = {\n staffMin: null,\n createStaffMin: null,\n detailStaffMin: null,\n editStaffMin: null,\n loadingEditStaffMin: false,\n loadingDetailStaffMin: true,\n loadingCreateStaffMin: false,\n loadingStaffMin: true,\n error: {}\n}\n\nexport default function (state = initialState, action) {\n const { type, payload } = action\n switch (type) {\n case actions.GET_STAFF_MIN:\n return {\n ...state,\n staffMin: payload,\n loadingStaffMin: false\n }\n case actions.GET_DETAIL_STAFF_MIN:\n return {\n ...state,\n detailStaffMin: payload,\n loadingDetailStaffMin: false\n }\n case actions.ADD_STAFF_MIN_START:\n return {\n ...state,\n loadingCreateStaffMin: true\n }\n case actions.ADD_STAFF_MIN_SUCCESS:\n return {\n ...state,\n createStaffMin: payload,\n loadingCreateStaffMin: false\n }\n case actions.ADD_STAFF_MIN_FAIL:\n return {\n ...state,\n error: payload,\n loadingCreateStaffMin: false\n }\n case actions.UPDATE_STAFF_MIN_START:\n return {\n ...state,\n loadingEditStaffMin: true\n }\n case actions.UPDATE_STAFF_MIN_SUCCESS:\n return {\n ...state,\n editStaffMin: payload,\n loadingEditStaffMin: false\n }\n case actions.UPDATE_STAFF_MIN_FAIL:\n return {\n ...state,\n error: payload,\n loadingEditStaffMin: false\n }\n default:\n return state\n }\n}","import * as actions from '../actions/actionTypes'\n\nconst initialState = {\n dashboardList: null,\n loadingDashboardList: true,\n error: {}\n}\n\nexport default function (state = initialState, action) {\n const { type, payload } = action\n switch (type) {\n case actions.GET_DASHBOARD:\n return {\n ...state,\n dashboardList: payload,\n loadingDashboardList: false\n }\n default:\n return state\n }\n}","import { combineReducers } from 'redux'\nimport alert from './alert'\nimport auth from './auth'\nimport profile from '../../reducers/profile'\nimport suratMasuk from './suratMasuk'\nimport suratKeluar from './suratKeluar'\nimport bagian from './bagian'\nimport memo from './memo'\nimport uploadTask from './uploadTask'\nimport staffMin from './staffMin'\nimport dashboard from './dashboard'\n\nexport default combineReducers({\n alert,\n auth,\n profile,\n suratMasuk,\n suratKeluar,\n bagian,\n memo,\n uploadTask,\n staffMin,\n dashboard\n})","\nimport { createStore, applyMiddleware } from 'redux'\nimport { composeWithDevTools } from 'redux-devtools-extension'\nimport thunk from 'redux-thunk'\nimport rootReducer from './store/reducers'\n\nconst initialState = {}\n\nconst middleware = [thunk]\n\nconst store = createStore(\n rootReducer,\n initialState,\n composeWithDevTools(applyMiddleware(...middleware))\n)\n\nexport default store","import React from 'react'\nimport { Snackbar } from '@material-ui/core'\nimport Alerts from '@material-ui/lab/Alert'\nimport { connect } from 'react-redux'\nimport * as actions from '../../../../store/actions/index'\n\nconst SnackBarAlert = props => {\n const { open, payload } = props.alerts\n\n let snackBar = null\n if (open) {\n snackBar = (\n \n \n {payload.msg}\n \n \n )\n };\n\n return (\n
    \n {snackBar}\n
    \n )\n}\n\nconst mapStateToProps = state => {\n return {\n alerts: state.alert\n }\n}\n\nconst mapDispatchToProps = dispatch => {\n return {\n onCloseAlert: () => dispatch(actions.removeAlert())\n }\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(SnackBarAlert)\n","import React, { useEffect } from 'react';\nimport { Router } from 'react-router-dom';\nimport { createBrowserHistory } from 'history';\nimport { ThemeProvider } from '@material-ui/styles';\n// import { Chart } from 'react-chartjs-2';\n// import { chartjs } from './helpers';\nimport theme from './theme';\n// import 'react-perfect-scrollbar/dist/css/styles.css';\nimport './assets/scss/index.scss';\nimport Routes from './Routes';\nimport './App.css';\n\n// Firebase Initial\nimport { messaging } from \"./init-fcm\";\n\n// Redux\nimport { Provider } from 'react-redux'\nimport store from './store'\nimport Alert from './components/UI/Alert/SnackBar/SnackBar';\n\n// Clear Cache\nimport { useClearCache } from 'react-clear-cache';\n\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogContentText from '@material-ui/core/DialogContentText';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport Button from '@material-ui/core/Button';\n\n\n\nconst browserHistory = createBrowserHistory();\n\nexport default function App() {\n const { isLatestVersion, emptyCacheStorage } = useClearCache({ duration: 5000 });\n \n const fetchData = async () => {\n messaging.requestPermission()\n .then(async function() {\n const token = await messaging.getToken();\n console.log(token);\n sessionStorage.setItem('tokenFCM', token)\n })\n .catch(function(err) {\n console.log(\"Unable to get permission to notify.\", err);\n });\n navigator.serviceWorker.addEventListener(\"message\", (message) => {\n // history.push(`https://youtube.com/${message.data.url}`)\n // document.location.href = `https://youtube.com/${message.data.url}`;\n console.log(message)\n });\n }\n\n useEffect(() => {\n if(messaging !== undefined){\n fetchData();\n }\n });\n\n return (\n \n \n {!isLatestVersion && (\n \n {\"Update info\"}\n \n \n Kami telah melakukan beberapa perubahan, silahkan update\n \n \n \n \n \n \n )}\n \n \n \n \n \n \n );\n}\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n // const swUrl = `${process.env.PUBLIC_URL}/firebase-messaging-sw.js`;\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { 'Service-Worker': 'script' },\n })\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready\n .then(registration => {\n registration.unregister();\n })\n .catch(error => {\n console.error(error.message);\n });\n }\n}\n","import 'react-app-polyfill/stable'\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './App';\nimport * as serviceWorker from './serviceWorker';\n// import { registerServiceWorker } from \"./register-sw\";\n\nReactDOM.render(\n \n \n ,\n document.getElementById('root')\n);\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.register();\n// registerServiceWorker();"],"sourceRoot":""}