) => {\n const tableHeaders = [];\n const insertBefore = additionalFields ? additionalFields.filter((f) => f.beforeFirst) : null;\n const insertAfter = additionalFields ? additionalFields.filter((f) => f.afterFirst) : null;\n\n const firstColumn = name\n ? { ...defaultColumn, ...allColumns[name] }\n : { ...defaultColumn, ...allColumns[EnumsHelper.getNameById('clickHouseSplit', split)] };\n\n if (insertBefore) {\n tableHeaders.push(...insertBefore);\n }\n\n tableHeaders.push(firstColumn);\n\n if (insertAfter) {\n tableHeaders.push(...insertAfter);\n }\n\n fields.forEach((item) => {\n tableHeaders.push(allColumns[item]);\n });\n\n // @ts-ignore\n setTableHeaders(tableHeaders);\n };\n\n getTableHeaders(splitCaption);\n }, [defaultColumn, split, fields, additionalFields, splitCaption]);\n\n React.useEffect(() => {\n onSortCallback && onSortCallback({ field: sortFieldState, direction: sortDirectionState });\n }, [onSortCallback, sortDirectionState, sortFieldState]);\n\n return (\n \n \n {(data?.items?.length === 0 || data == null) && !preloader && (\n alpha(theme.palette.primary.main, 0.05),\n height: containerHeight || '100%',\n }}\n >\n \n No data\n \n \n Choose another filter settings or date range\n \n \n )}\n\n \n {({ width, height }) => (\n \n )}\n \n \n );\n};\n","import { getConfig, getClient, getEnums, getSelfAccounts, onStart } from 'services/controllers/app';\nimport { getLimits } from 'services/controllers/customBoard';\nimport { rootStore } from 'store/rootStore';\nimport { EnumsHelper } from 'utils/enumsHelper';\nimport { theme } from 'styles/materialTheme';\nimport { standardizeColor } from 'utils/common';\nimport { LS_KEYS } from 'CONSTANTS/localStorageKeys';\nimport { getFromLocalStorage } from 'utils/localStorageHelper';\n\nexport async function start() {\n const config = await getConfig();\n rootStore.appStore.setAccountInfo(config);\n const enums = await getEnums();\n EnumsHelper.setEnums(enums);\n const client = await getClient(config.clientId);\n\n if (client.primaryColor) {\n theme.palette.primary.main = standardizeColor(client.primaryColor);\n document.querySelector('body').style.setProperty('--primary-color', client.primaryColor);\n }\n\n rootStore.appStore.setClient(client);\n\n const storedAgencyId = getFromLocalStorage(LS_KEYS.AGENCY_ID);\n if (storedAgencyId && rootStore.appStore.getAgencyById(storedAgencyId)) {\n rootStore.appStore.setSelectedAgencyId(storedAgencyId);\n } else {\n rootStore.appStore.setSelectedAgencyId(client.agencyAdvertisers[0].agency.id);\n }\n\n const accounts = await getSelfAccounts();\n rootStore.appStore.setAvailableAccounts(accounts);\n\n const boardLimits = await getLimits();\n rootStore.boardStore.setLimits(boardLimits);\n\n const campaignsTree = await rootStore.appStore.getCampaignsTree();\n rootStore.appStore.setCampaignsTree(campaignsTree);\n\n return Promise.all([onStart]);\n}\n","import React from 'react';\nimport { Header } from 'views/App/Header';\nimport { start } from 'services/actions/app';\nimport ErrorBoundary from 'components/Error/ErrorBoundary';\nimport makeStyles from '@mui/styles/makeStyles';\nimport { Preloader } from 'components/Preloaders/Preloader';\nimport Typography from '@mui/material/Typography';\nimport { useAppStore, useNavigationStore } from 'store/hooks';\nimport { observer } from 'mobx-react';\nimport { ConfirmDialog } from 'views/App/ConfirmDialog';\nimport clsx from 'clsx';\nimport { runInAction } from 'mobx';\nimport { createAmplitudeEvent, EVENTS } from 'analytics';\n\nconst useStyles = makeStyles(() => ({\n container: {\n overflow: 'auto',\n },\n}));\n\ninterface IAppViewProps {\n children: React.ReactNode;\n}\n\nexport const AppView = observer(function AppView({ children }: IAppViewProps) {\n const store = useAppStore();\n const navigationStore = useNavigationStore();\n const classes = useStyles();\n\n React.useEffect(() => {\n runInAction(() => {\n if (!store.ready) {\n start().then(() => {\n store.changeReady(true);\n createAmplitudeEvent(EVENTS.APPLICATION_VISIT);\n });\n }\n });\n }, [store]);\n\n if (store.isProphylaxis) {\n return ;\n }\n\n if (store.ready) {\n if (store.client) {\n const dialogConfirm = navigationStore.dialog;\n\n return (\n <>\n \n Something went wrong.}>\n {children}\n \n \n\n \n >\n );\n } else {\n return (\n \n \n \n You do not have any orders\n Please contact your manager\n \n
\n );\n }\n } else {\n return ;\n }\n});\n","import React from 'react';\nimport Snackbar from '@mui/material/Snackbar';\nimport MuiAlert, { AlertProps, AlertColor } from '@mui/material/Alert';\nimport Typography from '@mui/material/Typography';\nimport { observer } from 'mobx-react';\nimport { useMessageStore } from 'store/hooks';\nimport Slide from '@mui/material/Slide';\nimport { runInAction } from 'mobx';\nimport { Progress } from 'components/Preloaders/Progress';\n\ninterface IAlertProps {\n children?: React.ReactNode;\n severity?: AlertColor;\n onClose?: (event: React.SyntheticEvent) => void;\n}\n\nconst Alert = React.forwardRef(function Alert(props: IAlertProps, forwardedRef) {\n return (\n \n );\n});\n\nconst Types = ['preload'] as const;\ntype CustomColorT = typeof Types[number];\nconst AUTO_HIDE = 6000;\n\nexport const InfoMessage = observer(function InfoMessage() {\n const [type, setType] = React.useState('preload');\n const [text, setText] = React.useState('Error');\n const [status, setStatus] = React.useState>(null);\n const store = useMessageStore();\n\n const closeSnackbar = () => {\n store.setMessage({ data: null });\n };\n\n React.useEffect(() => {\n runInAction(() => {\n if (store.message?.type) {\n setType(store.message?.type);\n }\n if (store.message?.text) {\n setText(store.message?.text);\n }\n setStatus(store.message?.status || null);\n });\n }, [store.message?.status, store.message?.text, store.message?.type]);\n\n return (\n theme.palette.common.white,\n },\n '.MuiAlert-icon':\n type === 'preload'\n ? {\n fontSize: 0,\n }\n : {},\n '.MuiAlert-action': {\n padding: '2px 0 0 16px',\n },\n }}\n >\n \n ) : undefined\n }\n sx={\n type === 'preload'\n ? {\n backgroundColor: (theme) => theme.palette.warning.light,\n }\n : {}\n }\n >\n \n {status && `[${status}]: `}\n {text}\n \n \n \n );\n});\n","import React from 'react';\nimport { AppView } from 'views/AppView';\nimport Grid from '@mui/material/Grid';\nimport { InfoMessage } from 'views/App/InfoMessage';\n\ninterface IAppContainerProps {\n children: React.ReactNode;\n height?: string | number;\n}\n\nexport const AppContainer = function AppContainer({ children, height = '100%' }: IAppContainerProps) {\n return (\n <>\n \n \n theme.spacing(2), paddingBottom: 0 }}\n >\n {children}\n \n \n >\n );\n};\n","import React from 'react';\nimport Dialog from '@mui/material/Dialog';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogContentText from '@mui/material/DialogContentText';\nimport DialogActions from '@mui/material/DialogActions';\nimport Divider from '@mui/material/Divider';\nimport CloseIcon from '@mui/icons-material/Close';\nimport IconButton from '@mui/material/IconButton';\nimport { ContainedButton } from 'components/Buttons/ContainedButton';\nimport { SecondaryButton } from 'components/Buttons/SecondaryButton';\nimport { Typography } from '@mui/material';\n\ninterface IConfirmDialogProps {\n isDialogOpen: boolean;\n title: string;\n Message: string | React.FC;\n failureButtonText: string;\n successButtonText: string;\n actionSuccess?: Nullable<() => void>;\n actionCancel?: Nullable<() => void>;\n}\n\nexport const ConfirmDialog = ({\n isDialogOpen,\n title,\n Message = 'Default dialog message',\n failureButtonText,\n successButtonText,\n actionSuccess,\n actionCancel,\n}: IConfirmDialogProps) => {\n const applyButtonClick = () => {\n if (typeof actionSuccess === 'function') {\n actionSuccess();\n }\n hideDialog();\n };\n const handleClose = () => {\n if (typeof actionCancel === 'function') {\n actionCancel();\n }\n hideDialog();\n };\n\n const hideDialog = () => {\n if (typeof actionCancel === 'function') {\n actionCancel();\n }\n };\n\n const MessageComponent = typeof Message === 'string' ? Message : ;\n\n return (\n \n );\n};\n"],"names":["useStyles","makeStyles","palette","shape","spacing","root","border","props","background","standardizeColor","borderColor","primary","main","boxShadow","fontFamily","borderRadius","color","textColor","backgroundColor","common","white","text","padding","OutlinedButton","classes","children","ScrollableTable","data","headers","sortField","sortDirection","totalData","isBoardTable","actionCells","actionRows","containerHeight","width","isBoardPreview","showNoDataTitle","haveTotalField","totalFieldName","preview","minTableWidth","reduce","acc","cur","Number","parseInt","length","Box","display","justifyContent","alignItems","flexDirection","sx","theme","alpha","height","Typography","variant","marginBottom","textAlign","Paper","elevation","style","TableContainer","className","Table","size","minWidth","TableHead","TableRow","map","column","i","TableCell","align","onMouseDown","disableSort","c","headerClick","title","undefined","cursor","position","textSecondary","dark","textPrimary","opacity","component","Boolean","TableSortLabel","active","enumId","direction","IconComponent","ExpandMoreIcon","hideSortIcon","right","left","TableBody","borderBottom","row","index","events","mapValues","value","callback","actionRowHandler","hover","role","tabIndex","td","grey","id","splitRequestField","withAction","onClick","actionCellHandler","wordBreak","template","TableFooter","getDefaultValue","fields","split","splitCaption","additionalFields","onSortCallback","preloader","React","tableHeaders","setTableHeaders","sortDirectionState","setSortDirectionState","sortFieldState","setSortFieldState","defaultColumn","current","name","insertBefore","filter","f","beforeFirst","insertAfter","afterFirst","firstColumn","allColumns","EnumsHelper","push","forEach","item","getTableHeaders","field","BackdropPreloader","open","items","zIndex","total","getConfig","config","rootStore","getEnums","enums","getClient","clientId","client","primaryColor","document","querySelector","setProperty","storedAgencyId","getFromLocalStorage","LS_KEYS","agencyAdvertisers","agency","getSelfAccounts","accounts","getLimits","boardLimits","campaignsTree","Promise","all","onStart","container","overflow","AppView","observer","store","useAppStore","navigationStore","useNavigationStore","runInAction","ready","start","then","changeReady","createAmplitudeEvent","EVENTS","isProphylaxis","dialogConfirm","dialog","clsx","ErrorBoundary","fallback","ConfirmDialog","Message","message","successButtonText","failureButtonText","isDialogOpen","show","actionSuccess","actionCancel","Header","Preloader","fullPage","Alert","forwardedRef","ref","Types","InfoMessage","type","setType","setText","status","setStatus","useMessageStore","closeSnackbar","setMessage","Snackbar","anchorOrigin","vertical","horizontal","autoHideDuration","TransitionComponent","Slide","onClose","preventClickClose","fontSize","severity","icon","includes","Progress","warning","light","AppContainer","Grid","paddingBottom","hideDialog","MessageComponent","typography","body2","paddingX","paddingY","marginRight"],"sourceRoot":""}