{"version":3,"sources":["themes/default.js","themes/index.js","components/Layout/styles.js","components/Header/styles.js","components/Wrappers/Wrappers.js","context/LayoutContext.js","samurai/ConfigMe.js","context/UserContext.js","components/Header/Header.js","images/logo.png","components/Sidebar/styles.js","components/Sidebar/components/SidebarLink/styles.js","components/Sidebar/components/Dot.js","components/Sidebar/components/SidebarLink/SidebarLink.js","components/Sidebar/Sidebar.js","components/PageTitle/styles.js","pages/SessionDetails/styles.js","components/PageTitle/PageTitle.js","samurai/ListToArray.js","samurai/Sessions/SessionData.js","samurai/Sessions/Components/SessionIcons.js","samurai/Sessions/Sessions.js","samurai/DataComp/ViewsData.js","samurai/TimeLine/TimeLine.js","samurai/FlowMap/FlowMap.js","components/Widget/styles.js","components/Widget/Widget.js","samurai/Interactions/InteractionsData.js","samurai/Interactions/Interactions.js","samurai/Interaction/Interaction.js","pages/developer/Crash.js","pages/developer/Requests.js","pages/developer/Tags.js","pages/SessionDivided/styles.js","samurai/AccordionWidget/AccordionWidget.js","samurai/InteractionDetails/InteractionDetails.js","samurai/Session/Session.js","pages/SessionDivided/SessionDivided.js","pages/SessionAnalysis/styles.js","samurai/PivotTableSessions/PivotTableData.js","samurai/PivotTableSessions/PivotTable.js","pages/SessionAnalysis/SessionAnalysis.js","pages/ViewsAnalysis/styles.js","samurai/PivotTableViews/PivotTableData.js","samurai/PivotTableViews/PivotTable.js","pages/ViewsAnalysis/ViewsAnalysis.js","pages/InteractionsAnalysis/styles.js","samurai/PivotTableInteractions/PivotTableData.js","samurai/PivotTableInteractions/PivotTable.js","pages/InteractionsAnalysis/InteractionsAnalysis.js","utils/utils.js","pages/developer/Developer.js","samurai/JobsErrored/JobsErroredData.js","samurai/JobsErrored/JobsErrored.js","pages/jobs/Jobs.js","components/Layout/Layout.js","pages/error/styles.js","pages/error/logo.svg","pages/error/Error.js","pages/login/styles.js","pages/login/logo.svg","pages/login/Login.js","components/App.js","serviceWorker.js","index.js"],"names":["primary","secondary","warning","success","info","lightenRate","defaultTheme","palette","main","contrastText","light","tinycolor","lighten","toHexString","dark","darken","text","hint","background","default","customShadows","widget","widgetDark","widgetWide","overrides","MuiBackdrop","root","backgroundColor","MuiMenu","paper","boxShadow","MuiSelect","icon","color","MuiListItem","button","MuiTouchRipple","child","MuiTableRow","height","MuiTableCell","borderBottom","paddingLeft","head","fontSize","body","PrivateSwitchBase","marginLeft","themes","createMuiTheme","typography","h1","h2","h3","h4","h5","h6","makeStyles","theme","display","maxWidth","overflowX","content","flexGrow","padding","spacing","width","minHeight","contentShift","transition","transitions","create","easing","sharp","duration","enteringScreen","fakeToolbar","mixins","toolbar","link","logotype","marginRight","fontWeight","whiteSpace","breakpoints","down","appBar","zIndex","drawer","leavingScreen","paddingRight","hide","grow","inputRoot","inputInput","headerMenu","marginTop","headerMenuList","flexDirection","headerMenuItem","headerMenuButton","headerMenuButtonSandwich","headerMenuButtonCollapse","headerIcon","headerIconCollapse","profileMenu","minWidth","profileMenuUser","profileMenuItem","profileMenuIcon","profileMenuLink","textDecoration","cursor","messageNotification","alignItems","messageNotificationSide","messageNotificationBodySide","sendMessageButton","margin","marginBottom","textTransform","sendButtonIcon","purchaseBtn","badge","Typography","children","weight","size","colorBrightness","props","useTheme","style","getColor","getFontWeight","getFontSize","variant","brigtness","multiplier","defaultSize","LayoutStateContext","React","createContext","LayoutDispatchContext","layoutReducer","state","action","type","isSidebarOpened","Error","LayoutProvider","useReducer","dispatch","Provider","value","useLayoutState","context","useContext","undefined","useLayoutDispatch","toggleSidebar","getBaseUrl","UserStateContext","UserDispatchContext","userReducer","isAuthenticated","UserProvider","localStorage","getItem","useUserDispatch","Header","classes","useStyles","layoutState","layoutDispatch","userDispatch","useState","setProfileMenu","AppBar","position","className","Toolbar","IconButton","onClick","classNames","ArrowBack","src","alt","aria-haspopup","aria-controls","e","currentTarget","Menu","id","open","Boolean","anchorEl","onClose","disableAutoFocusItem","component","href","MenuItem","history","removeItem","push","menuButton","flexShrink","drawerOpen","drawerClose","mobileBackButton","only","up","linkActive","linkNested","linkIcon","justifyContent","linkIconActive","linkText","linkTextActive","linkTextHidden","opacity","nestedList","sectionTitle","divider","dotBase","borderRadius","dotSmall","dotLarge","Dot","classnames","SidebarLink","label","location","nested","isOpen","setIsOpen","isLinkActive","pathname","indexOf","Divider","ListItem","Link","preventDefault","to","disableRipple","ListItemIcon","Inbox","ListItemText","Collapse","in","timeout","unmountOnExit","List","disablePadding","map","childrenLink","linkRoot","structure","TableChart","CollectionsBookmark","Compare","Adjust","withRouter","isPermanent","setPermanent","useEffect","window","addEventListener","handleWindowWidthChange","removeEventListener","Drawer","sidebarList","isSmallScreen","innerWidth","values","md","card","visitsNumberContainer","paddingBottom","progressSection","progressTitle","progress","pieChartLegendWrapper","legendItemContainer","fullHeightBody","tableWidget","progressBarPrimary","progressBarWarning","performanceLegendWrapper","legendElement","legendElementText","serverOverviewElement","serverOverviewElementText","serverOverviewElementChartWrapper","mainChartBody","mainChartHeader","flexWrap","mainChartHeaderLabels","order","mainChartHeaderLabel","mainChartSelectRoot","borderColor","mainChartSelect","mainChartLegentElement","pageTitleContainer","typo","PageTitle","title","listToArray","list","fields","elm","retobj","forEach","f","url","token","getFromServer","a","axios","get","searchtext","terms","headers","axreturn","console","log","sessions_data","data","datos","SessionIcons","lo","Label","lo2","lo4","Requests","lo5","Video","icon1","LocalOffer","icon2","BugReport","icon4","Warning","icon5","Videocam","Sessions","setData","loading","setLoading","setRowSelected","options","elevation","print","download","tableBodyHeight","selectableRows","filterType","responsive","customToolbarSelect","selectedRows","displayData","setSelectedRows","Button","onRowSelectionChange","rowsSelectedData","allRows","rowsSelected","onSelection","length","getData","columns","name","filter","sort","customBodyRenderLite","dataIndex","fecha","Date","toLocaleString","setCellProps","textAlign","setCellHeaderProps","customBodyRender","tableMeta","updateValue","tpc","Math","min","LinearProgress","session","convert","prevElement","key","rows","key1","elmIn","theRow","v","date_min","date_max","TimeLine","intermediate","chartEvents","eventName","callback","chartWrapper","getChart","getSelection","chartType","loader","legendToggle","drawNodes","nodes","edges","idx","node","shape","image","edge","from","events","click","params","event","this","getNodeAt","pointer","DOM","doubleClick","FlowMap","visnet","setVisNet","arrows","font","scaling","shadow","smooth","getNetwork","network","fit","startIcon","widgetWrapper","widgetHeader","widgetRoot","widgetBody","noPadding","overflow","moreButton","noWidgetShadow","Widget","noBodyPadding","bodyClass","disableWidgetMenu","header","noHeaderPadding","headerClass","moreButtonRef","setMoreButtonRef","isMoreMenuOpen","setMoreMenuOpen","Paper","Fragment","noWrap","aria-owns","buttonRef","interactions_array","Interactions","forwardRef","ref","rowSelected","useImperativeHandle","moveChild","quantity","newValue","Number","clearSelected","isUrlFound","fetch","method","cache","response","status","Interx","ei","interaction","urlImage","urlImageUX","urlVideo","videoExists","setVideoExists","setTimeout","videoBlock","videoElement","useRef","current","currentTime","Grid","container","xs","item","onMove","Crash","data-step","class","Tags","Chip","avatar","Avatar","heading","pxToRem","flexBasis","secondaryHeading","AccordionWidget","expanded","setExpanded","Accordion","onChange","isExpanded","AccordionSummary","expandIcon","AccordionDetails","InteractionDetails","Session","time","mints","an","seconds","interactions","la","sr","av","d","si","hasCrash","hasRequests","hasLabels","SessionDivided","onMoveInteraction","pos","childInteractionsRef","setSession","sessionDetails","setSessionDetails","setInteraction","numCols","setNumCols","hasRequest","hasTags","PlotlyRenderers","createPlotlyRenderers","Plot","derivedAttributes","PivotDerivers","dateFormat","bin","PivotTableInteractions","updateData","setState","prevState","restore","save","dataToSave","cols","rendererName","aggregatorName","vals","setItem","JSON","stringify","retrievedObject","stateToRestore","parse","s","renderers","Object","assign","TableRenderers","Component","Views","PivotTable","preferencesName","interpolate","b","p1","p2","x","y","sqrt","distance","parts","frac","points","part","nx","round","ny","Developer","target","InitialData","JobsErrored","path","SessionAnalysis","ViewsAnalysis","InteractionsAnalysis","Jobs","Box","mt","top","left","logotypeText","logotypeIcon","paperRoot","paddingTop","textRow","errorCode","safetyText","backButton","logo","logotypeContainer","logotypeImage","formContainer","form","tab","greeting","subGreeting","googleButton","googleButtonCreating","googleIcon","creatingButtonContainer","createAccountButton","formDividerContainer","formDividerWord","formDivider","errorMessage","textFieldUnderline","borderBottomColor","textField","formButtons","forgetButton","loginLoader","copyright","bottom","isLoading","setIsLoading","error","setError","loginValue","setLoginValue","passwordValue","setPasswordValue","Fade","TextField","InputProps","underline","input","placeholder","fullWidth","CircularProgress","disabled","login","password","post","then","catch","loginUser","getFullYear","rel","App","useUserState","exact","render","PrivateRoute","Layout","PublicRoute","Login","rest","createElement","hostname","match","ReactDOM","ThemeProvider","Themes","CssBaseline","document","getElementById","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.0acf9ab2.chunk.js","sourcesContent":["import tinycolor from \"tinycolor2\";\n\nconst primary = \"#FF8163\";\nconst secondary = \"#FF5C93\";\nconst warning = \"#FFC260\";\nconst success = \"#3CD4A0\";\nconst info = \"#9013FE\";\n\nconst lightenRate = 7.5;\nconst darkenRate = 15;\n\nconst defaultTheme = {\n palette: {\n primary: {\n main: primary,\n contrastText: \"#FFFFFF\",\n light: tinycolor(primary)\n .lighten(lightenRate)\n .toHexString(),\n dark: tinycolor(primary)\n .darken(darkenRate)\n .toHexString(),\n },\n secondary: {\n main: secondary,\n light: tinycolor(secondary)\n .lighten(lightenRate)\n .toHexString(),\n dark: tinycolor(secondary)\n .darken(darkenRate)\n .toHexString(),\n contrastText: \"#FFFFFF\",\n },\n warning: {\n main: warning,\n light: tinycolor(warning)\n .lighten(lightenRate)\n .toHexString(),\n dark: tinycolor(warning)\n .darken(darkenRate)\n .toHexString(),\n },\n success: {\n main: success,\n light: tinycolor(success)\n .lighten(lightenRate)\n .toHexString(),\n dark: tinycolor(success)\n .darken(darkenRate)\n .toHexString(),\n },\n info: {\n main: info,\n light: tinycolor(info)\n .lighten(lightenRate)\n .toHexString(),\n dark: tinycolor(info)\n .darken(darkenRate)\n .toHexString(),\n },\n text: {\n primary: \"#4A4A4A\",\n secondary: \"#6E6E6E\",\n hint: \"#B9B9B9\",\n },\n background: {\n default: \"#F8F8F8\",\n light: \"#F8F8F8\",\n },\n },\n customShadows: {\n widget:\n \"0px 3px 11px 0px #E8EAFC, 0 3px 3px -2px #B2B2B21A, 0 1px 8px 0 #9A9A9A1A\",\n widgetDark:\n \"0px 3px 18px 0px #4558A3B3, 0 3px 3px -2px #B2B2B21A, 0 1px 8px 0 #9A9A9A1A\",\n widgetWide:\n \"0px 12px 33px 0px #E8EAFC, 0 3px 3px -2px #B2B2B21A, 0 1px 8px 0 #9A9A9A1A\",\n },\n overrides: {\n MuiBackdrop: {\n root: {\n backgroundColor: \"#4A4A4A1A\",\n },\n },\n MuiMenu: {\n paper: {\n boxShadow:\n \"0px 3px 11px 0px #E8EAFC, 0 3px 3px -2px #B2B2B21A, 0 1px 8px 0 #9A9A9A1A\",\n },\n },\n MuiSelect: {\n icon: {\n color: \"#B9B9B9\",\n },\n },\n MuiListItem: {\n root: {\n \"&$selected\": {\n backgroundColor: \"#F3F5FF !important\",\n \"&:focus\": {\n backgroundColor: \"#F3F5FF\",\n },\n },\n },\n button: {\n \"&:hover, &:focus\": {\n backgroundColor: \"#F3F5FF\",\n },\n },\n },\n MuiTouchRipple: {\n child: {\n backgroundColor: \"white\",\n },\n },\n MuiTableRow: {\n root: {\n height: 56,\n },\n },\n MuiTableCell: {\n root: {\n borderBottom: \"1px solid rgba(224, 224, 224, .5)\",\n paddingLeft: 24\n },\n head: {\n fontSize: \"0.95rem\",\n },\n body: {\n fontSize: \"0.95rem\",\n },\n },\n PrivateSwitchBase: {\n root: {\n marginLeft: 10\n }\n }\n },\n};\n\nexport default defaultTheme;\n","import defaultTheme from \"./default\";\n\nimport { createMuiTheme } from \"@material-ui/core\";\n\nconst overrides = {\n typography: {\n h1: {\n fontSize: \"3rem\",\n },\n h2: {\n fontSize: \"2rem\",\n },\n h3: {\n fontSize: \"1.64rem\",\n },\n h4: {\n fontSize: \"1.5rem\",\n },\n h5: {\n fontSize: \"1.285rem\",\n },\n h6: {\n fontSize: \"1.142rem\",\n },\n },\n};\n\nconst themes = {\n default: createMuiTheme({ ...defaultTheme, ...overrides }),\n};\n\nexport default themes;\n","import { makeStyles } from \"@material-ui/styles\";\n\nexport default makeStyles(theme => ({\n root: {\n display: \"flex\",\n maxWidth: \"100vw\",\n overflowX: \"hidden\",\n },\n content: {\n flexGrow: 1,\n padding: theme.spacing(3),\n width: `calc(100vw - 240px)`,\n minHeight: \"100vh\",\n },\n contentShift: {\n width: `calc(100vw - ${240 + theme.spacing(6)}px)`,\n transition: theme.transitions.create([\"width\", \"margin\"], {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.enteringScreen,\n }),\n },\n fakeToolbar: {\n ...theme.mixins.toolbar,\n },\n link: {\n '&:not(:first-child)': {\n paddingLeft: 15\n }\n }\n}));\n","import { makeStyles } from \"@material-ui/styles\";\nimport { fade } from \"@material-ui/core/styles/colorManipulator\";\n\nexport default makeStyles(theme => ({\n logotype: {\n color: \"white\",\n marginLeft: theme.spacing(2.5),\n marginRight: theme.spacing(2.5),\n fontWeight: 500,\n fontSize: 18,\n whiteSpace: \"nowrap\",\n [theme.breakpoints.down(\"xs\")]: {\n display: \"none\",\n },\n },\n appBar: {\n width: \"100vw\",\n backgroundColor: '#FFFFFF',\n zIndex: theme.zIndex.drawer + 1,\n transition: theme.transitions.create([\"margin\"], {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.leavingScreen,\n }),\n },\n toolbar: {\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(2),\n },\n hide: {\n display: \"none\",\n },\n grow: {\n flexGrow: 1,\n },\n inputRoot: {\n color: \"inherit\",\n width: \"100%\",\n },\n inputInput: {\n height: 36,\n padding: 0,\n paddingRight: 36 + theme.spacing(1.25),\n width: \"100%\",\n },\n \n headerMenu: {\n marginTop: theme.spacing(7),\n },\n headerMenuList: {\n display: \"flex\",\n flexDirection: \"column\",\n },\n headerMenuItem: {\n \"&:hover, &:focus\": {\n backgroundColor: theme.palette.background.light,\n // color: \"white\",\n },\n },\n headerMenuButton: {\n color: '#ff8163',\n marginLeft: theme.spacing(2),\n padding: theme.spacing(0.5),\n },\n headerMenuButtonSandwich: {\n color: '#ff8163',\n marginLeft: 9,\n [theme.breakpoints.down(\"sm\")]: {\n marginLeft: 0\n },\n padding: theme.spacing(0.5),\n },\n headerMenuButtonCollapse: {\n color: '#ff8163',\n marginRight: theme.spacing(2),\n },\n headerIcon: {\n fontSize: 28,\n color: \"#ff8163\",\n },\n headerIconCollapse: {\n color: \"#ff8163\",\n },\n profileMenu: {\n minWidth: 265,\n },\n profileMenuUser: {\n display: \"flex\",\n flexDirection: \"column\",\n padding: theme.spacing(2),\n },\n profileMenuItem: {\n color: theme.palette.text.hint,\n },\n profileMenuIcon: {\n marginRight: theme.spacing(2),\n color: theme.palette.text.hint,\n '&:hover': {\n color: theme.palette.primary.main,\n }\n },\n profileMenuLink: {\n fontSize: 16,\n textDecoration: \"none\",\n \"&:hover\": {\n cursor: \"pointer\",\n },\n },\n messageNotification: {\n height: \"auto\",\n display: \"flex\",\n alignItems: \"center\",\n \"&:hover, &:focus\": {\n backgroundColor: theme.palette.background.light,\n },\n },\n messageNotificationSide: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n marginRight: theme.spacing(2),\n },\n messageNotificationBodySide: {\n alignItems: \"flex-start\",\n marginRight: 0,\n },\n sendMessageButton: {\n margin: theme.spacing(4),\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(2),\n textTransform: \"none\",\n },\n sendButtonIcon: {\n marginLeft: theme.spacing(2),\n },\n purchaseBtn: {\n [theme.breakpoints.down('sm')]: {\n display: 'none'\n },\n marginRight: theme.spacing(3)\n }\n}));\n","import React from \"react\";\nimport {\n withStyles,\n Badge as BadgeBase,\n Typography as TypographyBase,\n Button as ButtonBase,\n} from \"@material-ui/core\";\nimport { useTheme, makeStyles } from \"@material-ui/styles\";\nimport classnames from \"classnames\";\n\n// styles\nvar useStyles = makeStyles(theme => ({\n badge: {\n fontWeight: 600,\n height: 16,\n minWidth: 16,\n },\n}));\n\nfunction Badge({ children, colorBrightness, color, ...props }) {\n var classes = useStyles();\n var theme = useTheme();\n var Styled = createStyled({\n badge: {\n backgroundColor: getColor(color, theme, colorBrightness),\n },\n });\n\n return (\n \n {styledProps => (\n \n {children}\n \n )}\n \n );\n}\n\nfunction Typography({\n children,\n weight,\n size,\n colorBrightness,\n color,\n ...props\n}) {\n var theme = useTheme();\n\n return (\n \n {children}\n \n );\n}\n\nfunction Button({ children, color, className, ...props }) {\n var theme = useTheme();\n\n var Styled = createStyled({\n root: {\n color: getColor(color, theme),\n },\n contained: {\n backgroundColor: getColor(color, theme),\n boxShadow: theme.customShadows.widget,\n color: `${color ? \"white\" : theme.palette.text.primary} !important`,\n \"&:hover\": {\n backgroundColor: getColor(color, theme, \"light\"),\n boxShadow: theme.customShadows.widgetWide,\n },\n \"&:active\": {\n boxShadow: theme.customShadows.widgetWide,\n },\n },\n outlined: {\n color: getColor(color, theme),\n borderColor: getColor(color, theme),\n },\n select: {\n backgroundColor: theme.palette.primary.main,\n color: \"#fff\",\n },\n });\n\n return (\n \n {({ classes }) => (\n \n {children}\n \n )}\n \n );\n}\n\nexport { Badge, Typography, Button };\n\n// ########################################################################\n\nfunction getColor(color, theme, brigtness = \"main\") {\n if (color && theme.palette[color] && theme.palette[color][brigtness]) {\n return theme.palette[color][brigtness];\n }\n}\n\nfunction getFontWeight(style) {\n switch (style) {\n case \"light\":\n return 300;\n case \"medium\":\n return 500;\n case \"bold\":\n return 600;\n default:\n return 400;\n }\n}\n\nfunction getFontSize(size, variant = \"\", theme) {\n var multiplier;\n\n switch (size) {\n case \"sm\":\n multiplier = 0.8;\n break;\n case \"md\":\n multiplier = 1.5;\n break;\n case \"xl\":\n multiplier = 2;\n break;\n case \"xxl\":\n multiplier = 3;\n break;\n default:\n multiplier = 1;\n break;\n }\n\n var defaultSize =\n variant && theme.typography[variant]\n ? theme.typography[variant].fontSize\n : theme.typography.fontSize + \"px\";\n\n return `calc(${defaultSize} * ${multiplier})`;\n}\n\nfunction createStyled(styles, options) {\n var Styled = function(props) {\n const { children, ...other } = props;\n return children(other);\n };\n\n return withStyles(styles, options)(Styled);\n}\n","import React from \"react\";\n\nvar LayoutStateContext = React.createContext();\nvar LayoutDispatchContext = React.createContext();\n\nfunction layoutReducer(state, action) {\n switch (action.type) {\n case \"TOGGLE_SIDEBAR\":\n return { ...state, isSidebarOpened: !state.isSidebarOpened };\n default: {\n throw new Error(`Unhandled action type: ${action.type}`);\n }\n }\n}\n\nfunction LayoutProvider({ children }) {\n var [state, dispatch] = React.useReducer(layoutReducer, {\n isSidebarOpened: false,\n });\n return (\n \n \n {children}\n \n \n );\n}\n\nfunction useLayoutState() {\n var context = React.useContext(LayoutStateContext);\n if (context === undefined) {\n throw new Error(\"useLayoutState must be used within a LayoutProvider\");\n }\n return context;\n}\n\nfunction useLayoutDispatch() {\n var context = React.useContext(LayoutDispatchContext);\n if (context === undefined) {\n throw new Error(\"useLayoutDispatch must be used within a LayoutProvider\");\n }\n return context;\n}\n\nexport { LayoutProvider, useLayoutState, useLayoutDispatch, toggleSidebar };\n\n// ###########################################################\nfunction toggleSidebar(dispatch) {\n dispatch({\n type: \"TOGGLE_SIDEBAR\",\n });\n}\n","const ENV='PRO';\nconst getBaseUrl = ()=>{\n if(ENV=='DEV')\n return 'http://localhost:5000/dev/api/v2';\n return 'https://9w8k145cwa.execute-api.eu-west-3.amazonaws.com/dev/dev/api/v2';\n}\n\nexport default getBaseUrl;","import React from \"react\";\nimport axios from 'axios';\nimport getBaseUrl from '../samurai/ConfigMe';\nvar UserStateContext = React.createContext();\nvar UserDispatchContext = React.createContext();\n\nfunction userReducer(state, action) {\n switch (action.type) {\n case \"LOGIN_SUCCESS\":\n return { ...state, isAuthenticated: true };\n case \"SIGN_OUT_SUCCESS\":\n return { ...state, isAuthenticated: false };\n default: {\n throw new Error(`Unhandled action type: ${action.type}`);\n }\n }\n}\n\nfunction UserProvider({ children }) {\n var [state, dispatch] = React.useReducer(userReducer, {\n isAuthenticated: !!localStorage.getItem(\"id_token\"),\n });\n\n return (\n \n \n {children}\n \n \n );\n}\n\nfunction useUserState() {\n var context = React.useContext(UserStateContext);\n if (context === undefined) {\n throw new Error(\"useUserState must be used within a UserProvider\");\n }\n return context;\n}\n\nfunction useUserDispatch() {\n var context = React.useContext(UserDispatchContext);\n if (context === undefined) {\n throw new Error(\"useUserDispatch must be used within a UserProvider\");\n }\n return context;\n}\n\nexport { UserProvider, useUserState, useUserDispatch, loginUser, signOut };\n\n// ###########################################################\n\nfunction loginUser(dispatch, login, password, history, setIsLoading, setError) {\n console.log(\"entering loginUser\");\n setError(false);\n setIsLoading(true);\n console.log('going to validate user')\n const host = getBaseUrl();\n const url = host+\"/login\";\n if (!!login && !!password) {\n axios.post(url, { 'user': login, 'password': password })\n .then((data) => {\n const token=data.data.token;\n localStorage.setItem('id_token', token);\n dispatch({ type: 'LOGIN_SUCCESS' })\n setError(null)\n setIsLoading(false)\n history.push('/app/sessiondivided');\n })\n .catch((error) => {console.log('response from server',error);\n setError(true)})\n\n } else {\n dispatch({ type: \"LOGIN_FAILURE\" });\n setError(true);\n setIsLoading(false);\n }\n}\n\nfunction signOut(dispatch, history) {\n localStorage.removeItem(\"id_token\");\n dispatch({ type: \"SIGN_OUT_SUCCESS\" });\n history.push(\"/login\");\n}\n","import React, { useState } from \"react\";\nimport {\n AppBar,\n Toolbar,\n IconButton,\n \n Menu,\n MenuItem,\n \n} from \"@material-ui/core\";\nimport {\n Menu as MenuIcon,\n \n Person as AccountIcon,\n \n ArrowBack as ArrowBackIcon,\n} from \"@material-ui/icons\";\nimport classNames from \"classnames\";\n\n// styles\nimport useStyles from \"./styles\";\n\n// components\nimport { Typography } from \"../Wrappers\";\n\n// context\nimport {\n useLayoutState,\n useLayoutDispatch,\n toggleSidebar,\n} from \"../../context/LayoutContext\";\nimport { useUserDispatch, signOut } from \"../../context/UserContext\";\n\nimport logo from '../../images/logo.png';\n\n\nexport default function Header(props) {\n var classes = useStyles();\n\n // global\n var layoutState = useLayoutState();\n var layoutDispatch = useLayoutDispatch();\n var userDispatch = useUserDispatch();\n\n // local\n var [profileMenu, setProfileMenu] = useState(null);\n\n\n return (\n \n \n toggleSidebar(layoutDispatch)}\n className={classNames(\n classes.headerMenuButtonSandwich,\n classes.headerMenuButtonCollapse,\n )}\n >\n {layoutState.isSidebarOpened ? (\n \n ) : (\n \n )}\n \n \"logo\"\n
\n \n \n \n \n setProfileMenu(e.currentTarget)}\n >\n \n \n \n \n setProfileMenu(null)}\n className={classes.headerMenu}\n classes={{ paper: classes.profileMenu }}\n disableAutoFocusItem\n >\n
\n \n Admin User\n \n \n sfy.com\n \n
\n \n Profile\n \n \n Tasks\n \n \n Messages\n \n
\n signOut(userDispatch, props.history)}\n >\n Sign Out\n \n
\n \n \n \n );\n}\n","export default \"data:image/png;base64,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\"","import { makeStyles } from \"@material-ui/styles\";\n\nconst drawerWidth = 240;\n\nexport default makeStyles(theme => ({\n menuButton: {\n marginLeft: 12,\n marginRight: 36,\n },\n hide: {\n display: \"none\",\n },\n drawer: {\n width: drawerWidth,\n flexShrink: 0,\n whiteSpace: \"nowrap\",\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 },\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) + 40,\n [theme.breakpoints.down(\"sm\")]: {\n width: drawerWidth,\n },\n },\n toolbar: {\n ...theme.mixins.toolbar,\n [theme.breakpoints.down(\"sm\")]: {\n display: \"none\",\n },\n },\n content: {\n flexGrow: 1,\n padding: theme.spacing(3),\n },\n /* sidebarList: {\n marginTop: theme.spacing(6),\n }, */\n mobileBackButton: {\n marginTop: theme.spacing(0.5),\n marginLeft: 18,\n [theme.breakpoints.only(\"sm\")]: {\n marginTop: theme.spacing(0.625),\n },\n [theme.breakpoints.up(\"md\")]: {\n display: \"none\",\n },\n },\n}));\n","import { makeStyles } from \"@material-ui/styles\";\n\nexport default makeStyles(theme => ({\n link: {\n textDecoration: \"none\",\n \"&:hover, &:focus\": {\n backgroundColor: theme.palette.background.light,\n },\n },\n linkActive: {\n backgroundColor: theme.palette.background.light,\n },\n linkNested: {\n paddingLeft: 0,\n \"&:hover, &:focus\": {\n backgroundColor: \"#FFFFFF\",\n },\n },\n linkIcon: {\n marginRight: theme.spacing(1),\n color: theme.palette.text.secondary + \"99\",\n transition: theme.transitions.create(\"color\"),\n width: 24,\n display: \"flex\",\n justifyContent: \"center\",\n },\n linkIconActive: {\n color: theme.palette.primary.main,\n },\n linkText: {\n padding: 0,\n color: theme.palette.text.secondary + \"CC\",\n transition: theme.transitions.create([\"opacity\", \"color\"]),\n fontSize: 16,\n },\n linkTextActive: {\n color: theme.palette.text.primary,\n },\n linkTextHidden: {\n opacity: 0,\n },\n nestedList: {\n paddingLeft: theme.spacing(2) + 30,\n },\n sectionTitle: {\n marginLeft: theme.spacing(4.5),\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(2),\n },\n divider: {\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(4),\n height: 1,\n backgroundColor: \"#D8D8D880\",\n },\n}));\n","import React from \"react\";\nimport { makeStyles, useTheme } from \"@material-ui/styles\";\nimport classnames from \"classnames\";\n\n// styles\nvar useStyles = makeStyles(theme => ({\n dotBase: {\n width: 8,\n height: 8,\n backgroundColor: theme.palette.text.hint,\n borderRadius: \"50%\",\n transition: theme.transitions.create(\"background-color\"),\n },\n dotSmall: {\n width: 5,\n height: 5\n },\n dotLarge: {\n width: 11,\n height: 11,\n },\n}));\n\nexport default function Dot({ size, color }) {\n var classes = useStyles();\n var theme = useTheme();\n\n return (\n \n );\n}\n","import React, { useState } from \"react\";\nimport {\n Collapse,\n Divider,\n List,\n ListItem,\n ListItemIcon,\n ListItemText,\n Typography,\n} from \"@material-ui/core\";\nimport { Inbox as InboxIcon } from \"@material-ui/icons\";\nimport { Link } from \"react-router-dom\";\nimport classnames from \"classnames\";\n\n// styles\nimport useStyles from \"./styles\";\n\n// components\nimport Dot from \"../Dot\";\n\nexport default function SidebarLink({\n link,\n icon,\n label,\n children,\n location,\n isSidebarOpened,\n nested,\n type,\n}) {\n var classes = useStyles();\n\n // local\n var [isOpen, setIsOpen] = useState(false);\n var isLinkActive =\n link &&\n (location.pathname === link || location.pathname.indexOf(link) !== -1);\n\n if (type === \"title\")\n return (\n \n {label}\n \n );\n\n if (type === \"divider\") return ;\n\n if (!children)\n return (\n \n \n {nested ? : icon}\n \n \n \n );\n\n return (\n <>\n \n \n {icon ? icon : }\n \n \n \n {children && (\n \n \n {children.map(childrenLink => (\n \n ))}\n \n \n )}\n \n );\n\n // ###########################################################\n\n function toggleCollapse(e) {\n if (isSidebarOpened) {\n e.preventDefault();\n setIsOpen(!isOpen);\n }\n }\n}\n","import React, { useState, useEffect } from \"react\";\nimport { Drawer, IconButton, List } from \"@material-ui/core\";\nimport {\n CollectionsBookmark as CollectionsBookmark,\n AccountTree as AccountTree,\n ViewArray as ViewArray,\n ArrowBack as ArrowBackIcon,\n TableChart as TableChart,\n Compare as Compare,\n Adjust as Adjust,\n Code as Developer,\n AccountBalanceWallet as Session\n} from \"@material-ui/icons\";\nimport { useTheme } from \"@material-ui/styles\";\nimport { withRouter } from \"react-router-dom\";\nimport classNames from \"classnames\";\n\n// styles\nimport useStyles from \"./styles\";\n\n// components\nimport SidebarLink from \"./components/SidebarLink/SidebarLink\";\n\n\n// context\nimport {\n useLayoutState,\n useLayoutDispatch,\n toggleSidebar,\n} from \"../../context/LayoutContext\";\n\nconst structure = [\n\n { id: 12, label: \"Session split\", link: \"/app/sessiondivided\", icon: },\n { id: 2, label: \"Sessions analysis\", link: \"/app/sessionanalysis\", icon: },\n { id: 6, label: \"Views analysis\", link: \"/app/viewsanalysis\", icon: },\n { id: 7, label: \"Interactions analysis\", link: \"/app/interactionsanalysis\", icon: },\n { id: 4, type: \"divider\" },\n { id: 8, label: 'Jobs Status', link: '/app/jobs', icon: },\n { id: 3, label: \"Lab\", link: \"/app/developer\", icon: },\n\n];\n\nfunction Sidebar({ location }) {\n var classes = useStyles();\n var theme = useTheme();\n\n // global\n var { isSidebarOpened } = useLayoutState();\n var layoutDispatch = useLayoutDispatch();\n\n // local\n var [isPermanent, setPermanent] = useState(true);\n\n useEffect(function () {\n window.addEventListener(\"resize\", handleWindowWidthChange);\n handleWindowWidthChange();\n return function cleanup() {\n window.removeEventListener(\"resize\", handleWindowWidthChange);\n };\n });\n\n return (\n \n
\n
\n toggleSidebar(layoutDispatch)}>\n \n \n
\n \n {structure.map(link => (\n \n ))}\n \n \n \n );\n\n // ##################################################################\n function handleWindowWidthChange() {\n var windowWidth = window.innerWidth;\n var breakpointWidth = theme.breakpoints.values.md;\n var isSmallScreen = windowWidth < breakpointWidth;\n\n if (isSmallScreen && isPermanent) {\n setPermanent(false);\n } else if (!isSmallScreen && !isPermanent) {\n setPermanent(true);\n }\n }\n}\n\nexport default withRouter(Sidebar);\n","import { makeStyles } from \"@material-ui/styles\";\n\nexport default makeStyles(theme => ({\n pageTitleContainer: {\n display: \"flex\",\n justifyContent: \"space-between\",\n marginBottom: theme.spacing(4),\n marginTop: theme.spacing(5),\n },\n typo: {\n color: theme.palette.text.hint,\n },\n button: {\n boxShadow: theme.customShadows.widget,\n textTransform: \"none\",\n \"&:active\": {\n boxShadow: theme.customShadows.widgetWide,\n },\n },\n}));\n","import { makeStyles } from \"@material-ui/styles\";\n\nexport default makeStyles(theme => ({\n card: {\n minHeight: \"100%\",\n display: \"flex\",\n flexDirection: \"column\",\n },\n visitsNumberContainer: {\n display: \"flex\",\n alignItems: \"center\",\n flexGrow: 1,\n paddingBottom: theme.spacing(1),\n },\n progressSection: {\n marginBottom: theme.spacing(1),\n },\n progressTitle: {\n marginBottom: theme.spacing(2),\n },\n progress: {\n marginBottom: theme.spacing(1),\n backgroundColor: 'rgb(236, 236, 236)',\n },\n pieChartLegendWrapper: {\n height: \"100%\",\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"center\",\n alignItems: \"flex-end\",\n marginRight: theme.spacing(1),\n },\n legendItemContainer: {\n display: \"flex\",\n alignItems: \"center\",\n marginBottom: theme.spacing(1),\n },\n fullHeightBody: {\n display: \"flex\",\n flexGrow: 1,\n flexDirection: \"column\",\n justifyContent: \"space-between\",\n },\n tableWidget: {\n overflowX: \"auto\",\n },\n progressBarPrimary: {\n backgroundColor: theme.palette.primary.main,\n },\n progressBarWarning: {\n backgroundColor: theme.palette.warning.main,\n },\n performanceLegendWrapper: {\n display: \"flex\",\n flexGrow: 1,\n alignItems: \"center\",\n marginBottom: theme.spacing(1),\n },\n legendElement: {\n display: \"flex\",\n alignItems: \"center\",\n marginRight: theme.spacing(2),\n },\n legendElementText: {\n marginLeft: theme.spacing(1),\n },\n serverOverviewElement: {\n display: \"flex\",\n alignItems: \"center\",\n maxWidth: \"100%\",\n },\n serverOverviewElementText: {\n minWidth: 145,\n paddingRight: theme.spacing(2),\n },\n serverOverviewElementChartWrapper: {\n width: \"100%\",\n },\n mainChartBody: {\n overflowX: \"auto\",\n },\n mainChartHeader: {\n width: \"100%\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n [theme.breakpoints.only(\"xs\")]: {\n flexWrap: \"wrap\",\n },\n },\n mainChartHeaderLabels: {\n display: \"flex\",\n alignItems: \"center\",\n [theme.breakpoints.only(\"xs\")]: {\n order: 3,\n width: \"100%\",\n justifyContent: \"center\",\n marginTop: theme.spacing(3),\n marginBottom: theme.spacing(2),\n },\n },\n mainChartHeaderLabel: {\n display: \"flex\",\n alignItems: \"center\",\n marginLeft: theme.spacing(3),\n },\n mainChartSelectRoot: {\n borderColor: theme.palette.text.hint + \"80 !important\",\n },\n mainChartSelect: {\n padding: 10,\n paddingRight: 25,\n },\n mainChartLegentElement: {\n fontSize: \"18px !important\",\n marginLeft: theme.spacing(1),\n },\n success: {\n backgroundColor: theme.palette.success.main,\n color: '#fff',\n },\n warning: {\n backgroundColor: theme.palette.warning.main,\n color: '#fff',\n },\n secondary: {\n backgroundColor: theme.palette.secondary.main,\n color: '#fff',\n }\n}));\n","import React from \"react\";\n\n// styles\nimport useStyles from \"./styles\";\n\n// components\nimport { Typography } from \"../Wrappers\";\n\nexport default function PageTitle(props) {\n var classes = useStyles();\n\n return (\n
\n \n {props.title}\n \n {props.button && props.button}\n
\n );\n}\n","\nconst listToArray= (list,fields) => {\n if(list == undefined) return [];\n var theList=list.map((elm) => {\n var retobj= [];\n fields.forEach( (f) => retobj.push(elm[f]));\n return retobj;\n })\n\n // with header return [fields].concat(theList);\n return theList;\n}\n\nexport default listToArray;","import axios from 'axios';\nimport listToArray from '../ListToArray';\nimport getBaseUrl from '../ConfigMe';\n\n\nconst host = getBaseUrl();\nconst url = host + '/dosearch';\nconst token = localStorage.getItem('id_token');\nconst getFromServer = async () => {\n var axreturn = await axios.get(url,\n {\n searchtext: '',\n terms: [],\n headers: { 'obsly-token': token }\n }\n );\n console.log(\"in getFromServer\", axreturn);\n return axreturn;\n}\n\n\n\nconst sessions_array = async () => {\n return listToArray(await sessions_data(), ['mints', 'transitions', 'seconds', 'interactions', 'la', 'sr', 'av', 'si', 'd', 'np'])\n};\n\nconst sessions_data = async () => {\n const data = await getFromServer();\n return data.data.datos;\n}\n\nexport { sessions_array, sessions_data };\n//console.log(listToArray(sessions,['an','d']));\n\n\n","import {\n LocalOffer, BugReport, Warning,\n Error as ErrorIcon, Videocam\n } from \"@material-ui/icons\";\n import {\n Icon,\n Grid\n } from \"@material-ui/core\";\n \nimport './SessionIcons.css';\nexport default function SessionIcons(props) {\n\n var lo=props.Label, lo2=props.Error,lo3 = false,lo4=props.Requests,lo5=props.Video;\n let icon1= lo ? : null;\n let icon2 = lo2 ? : null;\n let icon3 = lo3 ? : null;\n let icon4 = lo4 ? : null;\n let icon5 = lo5 ? : null;\n return (<>\n {icon1}\n {icon2} \n {icon3}\n {icon4}\n {icon5}\n )\n}","import { useState, useEffect } from 'react';\n\nimport MUIDataTable from 'mui-datatables';\nimport { sessions_array, sessions_data } from './SessionData';\nimport { Button, LinearProgress } from '@material-ui/core';\nimport './Sessions.css';\nimport SessionIcons from './Components/SessionIcons';\n\nfunction Sessions(props) {\n const [data, setData] = useState([]);\n const [loading, setLoading] = useState(true);\n const [rowSelected, setRowSelected] = useState(null);\n const options = {\n elevation: 2,\n print: false,\n download: false,\n tableBodyHeight: '70vh',\n selectableRows: 'single',\n filterType: 'dropdown',\n responsive: 'vertical',\n customToolbarSelect: (selectedRows, displayData, setSelectedRows) => {\n return \n },\n onRowSelectionChange: (rowsSelectedData, allRows, rowsSelected) => {\n setRowSelected(rowsSelected);\n if (props.onSelection) {\n if (rowsSelected.length > 0)\n props.onSelection(data[rowsSelected]);\n else\n props.onSelection(null);\n }\n },\n };\n const getData = async () => {\n try {\n var data = await sessions_data()\n setData(data);\n setLoading(false);\n }\n catch {\n\n } finally {\n\n }\n }\n\n useEffect(() => {\n getData();\n }, []);\n const columns = [\n 'an',\n {\n name: \"mints\", label: 'Hour', options: {\n filter: false,\n sort: true,\n customBodyRenderLite: (dataIndex) => {\n var fecha = data[dataIndex]['mints'];\n try {\n var d = new Date(fecha);\n fecha = d.toLocaleString();\n } catch {\n console.log('failed')\n }\n return fecha;\n },\n\n setCellProps: () => ({ style: { textAlign: 'right' } })\n }\n }, {\n name: \"transitions\", options: {\n label: 'Views',\n filter: false,\n setCellHeaderProps: () => ({ className: 'rightHeader' }),\n customBodyRender: (value, tableMeta, updateValue) => {\n if (!value) {\n return (<>)\n }\n let tpc = Math.min(20, value / 20) * 100;\n return (\n <>\n {value}\n \n );\n },\n setCellProps: () => ({ style: { textAlign: 'right' } })\n }\n },\n {\n name: \"seconds\", label: 'Seconds', options: {\n filter: false,\n customBodyRender: (value, tableMeta, updateValue) => {\n if (!value) {\n return (<>)\n }\n let tpc = Math.min(100, value / 300 * 100);\n return (\n <>\n {value}\n \n );\n },\n setCellProps: () => ({ style: { textAlign: 'right' } })\n }\n },\n { name: 'la', label: 'Language' }, { name: 'sr', label: 'Resolution' }\n , { name: 'av', label: 'Version' }, {\n name: 'si', label: 'Si', options: {\n filter: false,\n sort: false,\n display: false\n }\n },\n {\n name: 'd', label: 'Device', options: {\n filter: true,\n sort: true,\n }\n }, { name: 'np', label: 'Customer' },\n {\n name: \"interactions\",\n label: 'Interactions',\n options: {\n filter: false,\n\n setCellProps: () => ({ style: { textAlign: 'right' } })\n }\n }, {\n name: 'hasRequest', label: 'Requests', options: {\n customBodyRender: (value, tableMeta, updateValue) => {\n if (!value) {\n return (<>)\n }\n return (\n )\n }\n }\n },\n {\n name: 'hasTags', label: 'Tags', options: {\n customBodyRender: (value, tableMeta, updateValue) => {\n if (!value) {\n return (<>)\n }\n return (\n )\n }\n }\n },\n {\n name: 'hasCrash', label: 'Crash', options: {\n customBodyRender: (value, tableMeta, updateValue) => {\n if (!value) {\n return (<>)\n }\n return ()\n }\n }\n }\n\n\n ];\n return (\n <>\n {loading ?

Loading

:\n }\n \n );\n}\n\nexport default Sessions;\n","import axios from 'axios';\nimport getBaseUrl from '../ConfigMe';\n\nconst host = getBaseUrl();\nconst url = host+'/viewsbysi';\nconst token = localStorage.getItem('id_token');\n\n\nconst getFromServer = async (session) => {\n var axreturn = await axios.get(url + '/' + session,{ headers: { 'obsly-token': token }});\n return axreturn;\n}\n\nexport default getFromServer","import { Chart } from \"react-google-charts\";\nimport { useState, useEffect } from 'react';\nimport getFromServer from '../DataComp/ViewsData';\n\nconst convert = (data) => {\n console.log(data);\n var prevElement = null;\n for (var key in data) {\n var elm = data[key];\n elm[\"date_min\"] = new Date(elm[\"mints\"]);\n elm[\"date_max\"] = new Date(elm[\"maxts\"]);\n if (prevElement != null) {\n \n console.log(elm['v'],elm[\"date_min\"],elm[\"date_max\"])\n if (elm[\"date_min\"] > prevElement[\"date_max\"])\n elm[\"date_min\"] = prevElement[\"date_max\"];\n }\n prevElement = elm;\n }\n\n let rows = [];\n rows.push([\n { type: 'string', id: 'Position' },\n { type: 'string', id: 'Name' },\n { type: 'date', id: 'Start' },\n { type: 'date', id: 'End' }\n ]);\n\n for (var key1 in data) {\n var elmIn = data[key1];\n var theRow = ['View', elmIn.v, elmIn.date_min, elmIn.date_max];\n rows.push(theRow);\n }\n return rows;\n};\n\n\nfunction TimeLine(props) {\n const [data, setData] = useState([]);\n useEffect(() => {\n async function getData() {\n if (props.session != null) {\n var intermediate = await getFromServer(props.session);\n setData(convert(intermediate.data.datos));\n }\n }\n getData();\n }, [props.session])\n\n const chartEvents = [\n {\n eventName: \"select\",\n callback({ chartWrapper }) {\n console.log(\"Selected \", chartWrapper.getChart().getSelection());\n }\n }\n ];\n if (props.session == null) {\n return (

No session selected

);\n }\n return (\n <>\n

\n Loading Chart
}\n data={data}\n chartEvents={chartEvents}\n options={{\n title: 'Timeline'\n\n }}\n legendToggle\n />\n \n )\n}\n\nexport default TimeLine;","import React, { useCallback, useEffect, useState } from \"react\";\nimport \"./FlowMap.css\";\n\nimport VisNetworkReactComponent from \"vis-network-react\";\nimport getFromServer from \"../DataComp/ViewsData\";\nimport Button from '@material-ui/core/Button';\nimport CenterFocusStrong from '@material-ui/icons/CenterFocusStrong';\n\nlet datos = [{ \"ei_first\": \"545084e0-a21b-4135-ae9b-182cc0fcb064\", \"elapsed_sum\": 0.252, \"t_max\": 1616158591389, \"t_min\": 1616158587868, \"v_\": \"EnvironmentActivity\", \"date_min\": \"2021-03-19T12:56:27.868Z\", \"date_max\": \"2021-03-19T12:56:31.389Z\" }, { \"ei_first\": \"6589d8e3-64cf-48f8-9d46-821daa8d65c1\", \"elapsed_sum\": 0.106, \"t_max\": 1616158593226, \"t_min\": 1616158593226, \"v_\": \"LoginActivity_\", \"date_min\": \"2021-03-19T12:56:31.389Z\", \"date_max\": \"2021-03-19T12:56:33.226Z\" }, { \"ei_first\": \"0a4cc42e-b5f5-4a99-8849-a92a6e392d8c\", \"elapsed_sum\": 0.057, \"t_max\": 1616158594215, \"t_min\": 1616158594215, \"v_\": \"ContextMenuActivity\", \"date_min\": \"2021-03-19T12:56:33.226Z\", \"date_max\": \"2021-03-19T12:56:34.215Z\" }, { \"ei_first\": \"c84a0857-c209-42f8-99b9-efab260a034e\", \"elapsed_sum\": 0.617, \"t_max\": 1616160020125, \"t_min\": 1616158595350, \"v_\": \"LoginActivity_\", \"date_min\": \"2021-03-19T12:56:34.215Z\", \"date_max\": \"2021-03-19T13:20:20.125Z\" }, { \"ei_first\": \"96b9af0f-aa8f-437a-bf61-8df5d52d642b\", \"elapsed_sum\": 1.7970000000000002, \"t_max\": 1616160077293, \"t_min\": 1616160068202, \"v_\": \"MainActivity_\", \"date_min\": \"2021-03-19T13:20:20.125Z\", \"date_max\": \"2021-03-19T13:21:17.293Z\" }];\n\n\nvar imgUrl = \"https://s3.eu-west-3.amazonaws.com/samuraiimages/\";\n\n\n\nfunction drawNodes(data) {\n var nodes = [], edges = [];\n var idx = 0;\n for (var key in data) {\n var elm = data[key];\n idx++;\n var node = {\n id: idx,\n shape: 'image',\n size: 15,\n label: elm[\"v\"],\n image: imgUrl + elm[\"first_ei\"] + \".png\"\n }\n nodes.push(node);\n if (idx > 1) {\n var edge = {\n from: idx, to: idx - 1\n }\n edges.push(edge);\n }\n }\n return { nodes: nodes, edges: edges };\n}\nlet defaultdata = drawNodes(datos);\n\nlet events = {\n click: function (params) {\n params.event = \"[original event]\";\n console.log(\n \"click event, getNodeAt returns: \" + this.getNodeAt(params.pointer.DOM)\n );\n },\n doubleClick: function (params) {\n console.log(\"doubleClick Event:\", params);\n params.event = \"[original event]\";\n },\n};\nfunction FlowMap(props) {\n\n const options = {\n edges: {\n arrows: 'from',\n font: '10px roboto #ff0000',\n scaling: {\n label: true,\n },\n shadow: true,\n smooth: true,\n }\n }\n\n const [data, setData] = useState({});\n const [loading,setLoading] = useState(false);\n useEffect(() => {\n async function getData() {\n if (props.session != null) {\n var intermediate = await getFromServer(props.session)\n setData(drawNodes(intermediate.data.datos))\n setLoading(false)\n }\n }\n getData();\n }, [props.session]);\n\n const [visnet, setVisNet] = useState({});\n\n if (props.session == null) {\n return (

No session selected

);\n }\n if(loading) return (

Loading

)\n return (\n
\n
\n {\n setVisNet(network);\n network.fit();\n }}\n />\n
\n
\n visnet.fit()}\n variant=\"contained\"\n color=\"default\"\n size=\"small\"\n startIcon={}\n >\n Center\n \n
\n
\n\n );\n}\n\nexport default FlowMap;","import { makeStyles } from \"@material-ui/styles\";\n\nexport default makeStyles(theme => ({\n widgetWrapper: {\n display: \"flex\",\n minHeight: \"100%\",\n },\n widgetHeader: {\n padding: theme.spacing(3),\n paddingBottom: theme.spacing(1),\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n },\n widgetRoot: {\n boxShadow: theme.customShadows.widget,\n },\n widgetBody: {\n paddingBottom: theme.spacing(3),\n paddingRight: theme.spacing(3),\n paddingLeft: theme.spacing(3),\n },\n noPadding: {\n padding: 0,\n },\n paper: {\n display: \"flex\",\n flexDirection: \"column\",\n flexGrow: 1,\n overflow: \"auto\",\n },\n moreButton: {\n margin: -theme.spacing(1),\n padding: 0,\n width: 40,\n height: 40,\n color: theme.palette.text.hint,\n \"&:hover\": {\n backgroundColor: theme.palette.primary.main,\n color: \"rgba(255, 255, 255, 0.35)\",\n },\n },\n noWidgetShadow: {\n boxShadow: 'none'\n }\n}));\n","import React, { useState } from \"react\";\nimport {\n Paper,\n IconButton,\n Menu,\n MenuItem,\n Typography,\n} from \"@material-ui/core\";\nimport { MoreVert as MoreIcon } from \"@material-ui/icons\";\nimport classnames from \"classnames\";\n\n// styles\nimport useStyles from \"./styles\";\n\nexport default function Widget({\n children,\n title,\n noBodyPadding,\n bodyClass,\n disableWidgetMenu,\n header,\n noHeaderPadding,\n headerClass,\n style,\n noWidgetShadow,\n ...props\n}) {\n var classes = useStyles();\n\n // local\n var [moreButtonRef, setMoreButtonRef] = useState(null);\n var [isMoreMenuOpen, setMoreMenuOpen] = useState(false);\n\n return (\n
\n \n
\n {header ? (\n header\n ) : (\n \n \n {title}\n \n {!disableWidgetMenu && (\n setMoreMenuOpen(true)}\n buttonRef={setMoreButtonRef}\n >\n \n \n )}\n \n )}\n
\n \n {children}\n
\n \n setMoreMenuOpen(false)}\n disableAutoFocusItem\n >\n \n Edit\n \n \n Copy\n \n \n Delete\n \n \n Print\n \n \n
\n );\n}\n","import axios from 'axios';\nimport listToArray from '../ListToArray';\nimport getBaseUrl from '../ConfigMe';\n\nconst host = getBaseUrl();\nconst url = host + '/interactionsbysi';\nconst token = localStorage.getItem('id_token');\n\nconst getFromServer = async (session) => {\n var axreturn = await axios.get(url + \"/\" + session, { headers: { 'obsly-token': token } });\n console.log(\"in getFromServer\", axreturn);\n return axreturn;\n}\n\n\n\nconst interactions_array = async (session) => {\n if (session != null && session != undefined) {\n var data = await getFromServer(session);\n console.log('in interactions array', data.data.datos);\n if (data.data.datos) {\n var intermediate = listToArray(data.data.datos, ['ei', 'i', 'v', 'g', 'trv', 'tfs'])\n console.log('AFTER LIST TO ARRAY', intermediate);\n return intermediate;\n }\n else {\n console.log(\"no data to return\");\n }\n }\n};\n\n\nexport default interactions_array;\n\n\n\n","import { useImperativeHandle, forwardRef, useState, useEffect } from 'react';\nimport MUIDataTable from \"mui-datatables\";\nimport interactions_array from './InteractionsData';\nimport { Button } from '@material-ui/core';\n\nconst Interactions = forwardRef((props, ref) => {\n const [data, setData] = useState([]);\n const [loading, setLoading] = useState(true);\n const [rowSelected, setRowSelected] = useState(null);\n const columns = [\n {\n name: 'ei', label: 'Ei', options: {\n filter: false,\n sort: false,\n display: false\n }\n },\n {\n name: 'i', label: 'I#', options: {\n filter: false,\n sort: true,\n }\n }, { name: \"v\", label: 'View' },\n { name: \"g\", label: 'Gesture' }];\n\n useImperativeHandle(ref, () => ({\n moveChild(quantity) {\n let newValue = Number(rowSelected[0]) + quantity;\n if (newValue < 0) newValue = data.length - 1\n if (newValue >= data.length) newValue = 0\n console.log(\"in interactions , newRow=\", newValue);\n setRowSelected([newValue]);\n if (props.onSelection) {\n props.onSelection(data[newValue]);\n }\n },\n clearSelected() {\n setRowSelected(null);\n }\n }));\n const options = {\n selectableRows: 'single',\n print: false,\n download: false,\n tableBodyHeight: '53vh',\n filterType: 'dropdown',\n elevation: 2,\n rowsSelected: rowSelected,\n customToolbarSelect: (selectedRows, displayData, setSelectedRows) => {\n return \n },\n onRowSelectionChange: (rowsSelectedData, allRows, rowsSelected) => {\n console.log(rowsSelectedData, allRows, rowsSelected);\n setRowSelected(rowsSelected);\n if (props.onSelection) {\n props.onSelection(data[rowsSelected]);\n }\n },\n };\n\n useEffect(() => {\n const getData = async () => {\n var intermediate = await interactions_array(props.session);\n setData(intermediate);\n setLoading(false);\n };\n getData();\n }, [props.session]);\n if (props.session == null) {\n return (

No session selected

);\n }\n\n return (\n <>\n { loading ?

Loading

:\n \n }\n \n );\n});\n\nexport default Interactions;\n","import './Interaction.css';\nimport { useRef, useState } from 'react';\nimport { Grid, Button, Toolbar } from '@material-ui/core';\nasync function isUrlFound(url) {\n try {\n const response = await fetch(url, {\n method: 'HEAD',\n cache: 'no-cache'\n });\n\n return response.status === 200;\n\n } catch (error) {\n // console.log(error);\n return false;\n }\n}\n\nfunction Interx(props) {\n let ei;\n if (props.interaction)\n ei = props.interaction[0];\n\n const urlImage = `https://s3.eu-west-3.amazonaws.com/samuraiimages/${ei}.png`;\n const urlImageUX = `https://s3.eu-west-3.amazonaws.com/samuraiimages/${ei}_ux.png`;\n const urlVideo = `https://samuraiimages.s3.eu-west-3.amazonaws.com/videos/${props.session}.mp4`;\n\n const [videoExists, setVideoExists] = useState(false);\n\n setTimeout(async () => {\n setVideoExists(await isUrlFound(urlVideo));\n }, 100);\n\n let videoElement = useRef(null);\n\n // exemple de moviment de video\n setTimeout(() => {\n if (videoElement.current != null)\n videoElement.current.currentTime = 1000;\n }, 5000);\n\n if (props.interaction == null) {\n return (

No interaction selected

);\n }\n let videoBlock;\n if (videoExists) {\n videoBlock = \n }\n return (\n <>\n \n \n

User interface

\n \"background\"\n
\n \n

Interaction

\n \"interaction\"\n
\n {videoBlock}\n\n
\n
\n \n
\n \n \n
\n \n\n
\n \n );\n}\n\nexport default Interx;","export default function Crash() {\n return (\n 10\n 20\n 30\n 40\n 50\n 0\n 10\n 20\n LoginA…\n ProductTourClienteActivity_\n MainActivity_\n TransferAccountAct…\n crash\n 0 java.lang.NullPointerException: Attempt to invoke virtual method 'void androidx.fragment.app.FragmentActivity.runOnUiThread(java.lang.Runnable)' on a null object reference 1 at com.sfy.fetalbodyguard.C_Home.PAC_C2_MedicionesFragment$3.onSuccess(PAC_C2_MedicionesFragment.java:102) 2 at com.sfy.fetalbodyguard.Utils.HttpHelper$4.onSuccess(HttpHelper.java:315) 3 at com.sfy.fetalbodyguard.Utils.HttpHelper$1.onSuccess(HttpHelper.java:146) 4 at com.sfy.framework.HttpUtil$3.onResponse(HttpUtil.java:273) 5 at okhttp3.RealCall$AsyncCall.execute(RealCall.java:174) 6 at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32) 7 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 8 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) 9 at java.lang.Thread.run(Thread.java:798)\n )\n }","export default function Requests() {\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
ServiceVolumeSuccess rateAvg\n duration (ms)
api.imagin.com12777.95%790
api.images.go10683.02%400
api.samurai.com6799.04%112
a.localytics.com6212.87%200
)\n}","import {\n Chip,\n Grid, Avatar\n } from \"@material-ui/core\";\n\nimport './Tags.css';\n\nexport default function Tags() {\n return (
\n A} >\n L} >\n C} >\n
)\n }","import { makeStyles } from \"@material-ui/styles\";\n\nexport default makeStyles(theme => ({\n card: {\n minHeight: \"100%\",\n display: \"flex\",\n flexDirection: \"column\",\n },\n visitsNumberContainer: {\n display: \"flex\",\n alignItems: \"center\",\n flexGrow: 1,\n paddingBottom: theme.spacing(1),\n },\n progressSection: {\n marginBottom: theme.spacing(1),\n },\n progressTitle: {\n marginBottom: theme.spacing(2),\n },\n progress: {\n marginBottom: theme.spacing(1),\n backgroundColor: 'rgb(236, 236, 236)',\n },\n pieChartLegendWrapper: {\n height: \"100%\",\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"center\",\n alignItems: \"flex-end\",\n marginRight: theme.spacing(1),\n },\n legendItemContainer: {\n display: \"flex\",\n alignItems: \"center\",\n marginBottom: theme.spacing(1),\n },\n fullHeightBody: {\n display: \"flex\",\n flexGrow: 1,\n flexDirection: \"column\",\n justifyContent: \"space-between\",\n },\n tableWidget: {\n overflowX: \"auto\",\n },\n progressBarPrimary: {\n backgroundColor: theme.palette.primary.main,\n },\n progressBarWarning: {\n backgroundColor: theme.palette.warning.main,\n },\n performanceLegendWrapper: {\n display: \"flex\",\n flexGrow: 1,\n alignItems: \"center\",\n marginBottom: theme.spacing(1),\n },\n legendElement: {\n display: \"flex\",\n alignItems: \"center\",\n marginRight: theme.spacing(2),\n },\n legendElementText: {\n marginLeft: theme.spacing(1),\n },\n serverOverviewElement: {\n display: \"flex\",\n alignItems: \"center\",\n maxWidth: \"100%\",\n },\n serverOverviewElementText: {\n minWidth: 145,\n paddingRight: theme.spacing(2),\n },\n serverOverviewElementChartWrapper: {\n width: \"100%\",\n },\n mainChartBody: {\n overflowX: \"auto\",\n },\n mainChartHeader: {\n width: \"100%\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n [theme.breakpoints.only(\"xs\")]: {\n flexWrap: \"wrap\",\n },\n },\n mainChartHeaderLabels: {\n display: \"flex\",\n alignItems: \"center\",\n [theme.breakpoints.only(\"xs\")]: {\n order: 3,\n width: \"100%\",\n justifyContent: \"center\",\n marginTop: theme.spacing(3),\n marginBottom: theme.spacing(2),\n },\n },\n mainChartHeaderLabel: {\n display: \"flex\",\n alignItems: \"center\",\n marginLeft: theme.spacing(3),\n },\n mainChartSelectRoot: {\n borderColor: theme.palette.text.hint + \"80 !important\",\n },\n mainChartSelect: {\n padding: 10,\n paddingRight: 25,\n },\n mainChartLegentElement: {\n fontSize: \"18px !important\",\n marginLeft: theme.spacing(1),\n },\n success: {\n backgroundColor: theme.palette.success.main,\n color: '#fff',\n },\n warning: {\n backgroundColor: theme.palette.warning.main,\n color: '#fff',\n },\n secondary: {\n backgroundColor: theme.palette.secondary.main,\n color: '#fff',\n }\n}));\n","import {useState } from 'react';\nimport { makeStyles } from '@material-ui/core/styles';\nimport Accordion from '@material-ui/core/Accordion';\nimport AccordionDetails from '@material-ui/core/AccordionDetails';\nimport AccordionSummary from '@material-ui/core/AccordionSummary';\nimport Typography from '@material-ui/core/Typography';\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n width: '100%',\n },\n heading: {\n fontSize: theme.typography.pxToRem(15),\n flexBasis: '33.33%',\n flexShrink: 0,\n },\n secondaryHeading: {\n fontSize: theme.typography.pxToRem(15),\n color: theme.palette.text.secondary,\n },\n}));\n\n\nexport default function AccordionWidget(props) {\n const classes = useStyles();\n const children = props.children;\n const [expanded, setExpanded] = useState(props.expanded);\n const handleChange = (panel) => (event,isExpanded) => {\n setExpanded(!expanded);\n \n }\n return (\n
\n \n }\n aria-controls=\"panel1a-content\"\n id=\"panel1a-header\"\n >\n \n {props.title}\n \n \n \n\n {children}\n \n \n
\n )\n}\n","\nimport AccordionWidget from '../AccordionWidget/AccordionWidget';\nimport Typography from '@material-ui/core/Typography';\nimport Button from '@material-ui/core/Button';\nimport './InteractionDetails.css'\nexport default function InteractionDetails(props) {\n const interaction = props.interaction;\n return (\n \n
\n \n
    \n

    \n Number: {interaction[1]}\n

    \n

    \n View: {interaction[2]}\n

    \n

    \n Gesture: {interaction[3]}\n

    \n

    \n Triggered control: {interaction[4]}\n

    \n

    \n Time from start: {interaction[5]} ms\n

    \n
\n
\n
\n \n \n
\n
\n \n
\n );\n}","\nimport AccordionWidget from '../AccordionWidget/AccordionWidget';\nimport Typography from '@material-ui/core/Typography';\nexport default function Session(props) {\n\n const time = new Date(props.session.mints).toLocaleString();\n const session = props.session;\n return (\n \n \n
    \n

    \n Time: {time}\n

    \n

    \n Application Name: {session.an}\n

    \n

    \n Views: {session.transitions}\n

    \n

    \n Seconds: {session.seconds}\n

    \n

    \n Interactions: {session.interactions}\n

    \n

    \n Language {session.la}\n

    \n

    \n Screen Resolution: {session.sr}\n

    \n

    \n App version: {session.av}\n

    \n

    \n Device: {session.d}\n

    \n

    Session ID: {session.si}

    \n {session.hasCrash ?\n

    \n Crash\n

    : null}\n {session.hasRequests ?\n

    \n Requests\n

    : null}\n {session.hasLabels ?\n

    \n Requests\n

    : null}\n
\n
\n
\n );\n}","import React, { useRef, useState } from \"react\";\nimport {\n Grid,\n Button\n} from \"@material-ui/core\";\nimport { useTheme } from \"@material-ui/styles\";\n\n// styles\nimport useStyles from './styles';\nimport AccordionWidget from '../../samurai/AccordionWidget/AccordionWidget';\n// components\n\n\nimport PageTitle from \"../../components/PageTitle/PageTitle\";\nimport InteractionDetails from '../../samurai/InteractionDetails/InteractionDetails';\nimport Session from '../../samurai/Session/Session';\nimport Sessions from '../../samurai/Sessions/Sessions';\nimport TimeLine from '../../samurai/TimeLine/TimeLine';\nimport FlowMap from '../../samurai/FlowMap/FlowMap';\nimport Widget from \"../../components/Widget/Widget\";\nimport Interactions from '../../samurai/Interactions/Interactions';\nimport Interaction from '../../samurai/Interaction/Interaction';\nimport Crash from '../developer/Crash';\nimport Requests from '../developer/Requests';\nimport Tags from '../developer/Tags';\nexport default function SessionDivided(props) {\n\n const onSessionSelectionChanged = (elm) => {\n if (elm) {\n setNumCols(4);\n setSession(elm['si']);\n setSessionDetails(elm);\n setInteraction(null);\n if(childInteractionsRef.current) {\n childInteractionsRef.current.clearSelected();\n }\n } else {\n setNumCols(12);\n setSession(null);\n if(childInteractionsRef.current) {\n childInteractionsRef.current.clearSelected();\n }\n setInteraction(null);\n }\n };\n const onInteractionSelectionChanged = (elm) => {\n if (elm) {\n setInteraction(elm);\n } else {\n setInteraction(null);\n }\n };\n\n const onMoveInteraction = (pos) => {\n console.log(\"in page move interaction\", pos)\n childInteractionsRef.current.moveChild(pos);\n }\n\n const [session, setSession] = useState(null);\n const [sessionDetails, setSessionDetails] = useState(null);\n const [interaction, setInteraction] = useState(null);\n // local\n const childInteractionsRef = useRef();\n const [numCols, setNumCols] = useState(12);\n let center;\n\n\n\n return (\n <>\n \n\n \n\n \n \n \n\n \n \n {session ?\n \n \n \n \n \n \n \n \n \n {sessionDetails.hasCrash ? : null}\n {sessionDetails.hasRequest ? : null}\n {sessionDetails.hasTags ? : null}\n \n \n \n \n \n \n \n\n \n : null}\n\n\n \n \n\n {interaction ?\n \n \n \n \n \n\n : null}\n \n \n );\n}\n\n// #######################################################################\n","import { makeStyles } from \"@material-ui/styles\";\n\nexport default makeStyles(theme => ({\n card: {\n minHeight: \"100%\",\n display: \"flex\",\n flexDirection: \"column\",\n },\n visitsNumberContainer: {\n display: \"flex\",\n alignItems: \"center\",\n flexGrow: 1,\n paddingBottom: theme.spacing(1),\n },\n progressSection: {\n marginBottom: theme.spacing(1),\n },\n progressTitle: {\n marginBottom: theme.spacing(2),\n },\n progress: {\n marginBottom: theme.spacing(1),\n backgroundColor: 'rgb(236, 236, 236)',\n },\n pieChartLegendWrapper: {\n height: \"100%\",\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"center\",\n alignItems: \"flex-end\",\n marginRight: theme.spacing(1),\n },\n legendItemContainer: {\n display: \"flex\",\n alignItems: \"center\",\n marginBottom: theme.spacing(1),\n },\n fullHeightBody: {\n display: \"flex\",\n flexGrow: 1,\n flexDirection: \"column\",\n justifyContent: \"space-between\",\n },\n tableWidget: {\n overflowX: \"auto\",\n },\n progressBarPrimary: {\n backgroundColor: theme.palette.primary.main,\n },\n progressBarWarning: {\n backgroundColor: theme.palette.warning.main,\n },\n performanceLegendWrapper: {\n display: \"flex\",\n flexGrow: 1,\n alignItems: \"center\",\n marginBottom: theme.spacing(1),\n },\n legendElement: {\n display: \"flex\",\n alignItems: \"center\",\n marginRight: theme.spacing(2),\n },\n legendElementText: {\n marginLeft: theme.spacing(1),\n },\n serverOverviewElement: {\n display: \"flex\",\n alignItems: \"center\",\n maxWidth: \"100%\",\n },\n serverOverviewElementText: {\n minWidth: 145,\n paddingRight: theme.spacing(2),\n },\n serverOverviewElementChartWrapper: {\n width: \"100%\",\n },\n mainChartBody: {\n overflowX: \"auto\",\n },\n mainChartHeader: {\n width: \"100%\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n [theme.breakpoints.only(\"xs\")]: {\n flexWrap: \"wrap\",\n },\n },\n mainChartHeaderLabels: {\n display: \"flex\",\n alignItems: \"center\",\n [theme.breakpoints.only(\"xs\")]: {\n order: 3,\n width: \"100%\",\n justifyContent: \"center\",\n marginTop: theme.spacing(3),\n marginBottom: theme.spacing(2),\n },\n },\n mainChartHeaderLabel: {\n display: \"flex\",\n alignItems: \"center\",\n marginLeft: theme.spacing(3),\n },\n mainChartSelectRoot: {\n borderColor: theme.palette.text.hint + \"80 !important\",\n },\n mainChartSelect: {\n padding: 10,\n paddingRight: 25,\n },\n mainChartLegentElement: {\n fontSize: \"18px !important\",\n marginLeft: theme.spacing(1),\n },\n success: {\n backgroundColor: theme.palette.success.main,\n color: '#fff',\n },\n warning: {\n backgroundColor: theme.palette.warning.main,\n color: '#fff',\n },\n secondary: {\n backgroundColor: theme.palette.secondary.main,\n color: '#fff',\n }\n}));\n","import axios from 'axios';\nimport getBaseUrl from '../ConfigMe';\n\nconst host = getBaseUrl()\nconst url = host+'/allsessions';\nconst token = localStorage.getItem('id_token');\n\nconst getFromServer = async () => {\n var axreturn= await axios.get(url, { headers: { 'obsly-token': token } });\n console.log(\"in getFromServer\",axreturn);\n return axreturn;\n}\n\nexport default getFromServer;","import React from 'react';\nimport PivotTableUI from 'react-pivottable/PivotTableUI';\nimport 'react-pivottable/pivottable.css';\nimport TableRenderers from 'react-pivottable/TableRenderers';\nimport { derivers as PivotDerivers } from 'react-pivottable/Utilities';\nimport Plot from 'react-plotly.js';\nimport createPlotlyRenderers from 'react-pivottable/PlotlyRenderers';\nimport './PivotTable.css';\nimport getFromServer from './PivotTableData';\n// create Plotly renderers via dependency injection\nconst PlotlyRenderers = createPlotlyRenderers(Plot);\n\n// see documentation for supported input formats\n\nconst derivedAttributes = {\n 'mes_año': PivotDerivers.dateFormat(\"mints\", '%y-%m'),\n 'año': PivotDerivers.dateFormat('mints', '%y'),\n 'hora': PivotDerivers.dateFormat('mints', '%H'),\n 'NumeroDiaSemana': PivotDerivers.dateFormat('mints', '%x'),\n 'NombreDiaSemana': PivotDerivers.dateFormat('mints', '%w'),\n 'duracion': PivotDerivers.bin('seconds', 60)\n}\nclass PivotTableInteractions extends React.Component {\n constructor(props) {\n super(props);\n this.state = { data: [], loading: true, ...props };\n this.updateData();\n //this.timerID=setInterval(this.updateData,50000);\n this.save = () => {\n console.log('wants to save', this.state);\n var dataToSave = {\n rows: this.state.rows, cols: this.state.cols,\n rendererName: this.state.rendererName,\n aggregatorName: this.state.aggregatorName,\n vals: this.state.vals\n };\n localStorage.setItem('pivot01', JSON.stringify(dataToSave));\n };\n this.restore = () => {\n console.log('restoring');\n var retrievedObject = localStorage.getItem('pivot01');\n var stateToRestore = JSON.parse(retrievedObject);\n this.setState(stateToRestore);\n }\n }\n updateData = async () => {\n let datos = await getFromServer();\n this.setState((prevState) => {\n return { data: datos.data.datos, loading: false }\n });\n this.restore();\n }\n componentWillUnmount() {\n //clearInterval(this.timerID);\n }\n //{this.state.data.length}\n // \n render() {\n return (\n <>\n { this.state.loading ?

Loading

:\n { this.setState(s); this.save(); }}\n derivedAttributes={derivedAttributes}\n renderers={Object.assign({}, TableRenderers, PlotlyRenderers)}\n {...this.state}\n />\n }\n \n\n );\n }\n}\n\nexport default PivotTableInteractions;","import React, { useState } from \"react\";\nimport {\n Grid\n} from \"@material-ui/core\";\nimport { useTheme } from \"@material-ui/styles\";\n\n// styles\nimport useStyles from './styles';\n\n// components\n\n\nimport PageTitle from \"../../components/PageTitle/PageTitle\";\nimport PivotTable from '../../samurai/PivotTableSessions/PivotTable';\nimport Widget from \"../../components/Widget/Widget\";\n\nexport default function Views(props) {\n var classes = useStyles();\n var theme = useTheme();\n \n\n \n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n );\n}\n\n// #######################################################################\n","import { makeStyles } from \"@material-ui/styles\";\n\nexport default makeStyles(theme => ({\n card: {\n minHeight: \"100%\",\n display: \"flex\",\n flexDirection: \"column\",\n },\n visitsNumberContainer: {\n display: \"flex\",\n alignItems: \"center\",\n flexGrow: 1,\n paddingBottom: theme.spacing(1),\n },\n progressSection: {\n marginBottom: theme.spacing(1),\n },\n progressTitle: {\n marginBottom: theme.spacing(2),\n },\n progress: {\n marginBottom: theme.spacing(1),\n backgroundColor: 'rgb(236, 236, 236)',\n },\n pieChartLegendWrapper: {\n height: \"100%\",\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"center\",\n alignItems: \"flex-end\",\n marginRight: theme.spacing(1),\n },\n legendItemContainer: {\n display: \"flex\",\n alignItems: \"center\",\n marginBottom: theme.spacing(1),\n },\n fullHeightBody: {\n display: \"flex\",\n flexGrow: 1,\n flexDirection: \"column\",\n justifyContent: \"space-between\",\n },\n tableWidget: {\n overflowX: \"auto\",\n },\n progressBarPrimary: {\n backgroundColor: theme.palette.primary.main,\n },\n progressBarWarning: {\n backgroundColor: theme.palette.warning.main,\n },\n performanceLegendWrapper: {\n display: \"flex\",\n flexGrow: 1,\n alignItems: \"center\",\n marginBottom: theme.spacing(1),\n },\n legendElement: {\n display: \"flex\",\n alignItems: \"center\",\n marginRight: theme.spacing(2),\n },\n legendElementText: {\n marginLeft: theme.spacing(1),\n },\n serverOverviewElement: {\n display: \"flex\",\n alignItems: \"center\",\n maxWidth: \"100%\",\n },\n serverOverviewElementText: {\n minWidth: 145,\n paddingRight: theme.spacing(2),\n },\n serverOverviewElementChartWrapper: {\n width: \"100%\",\n },\n mainChartBody: {\n overflowX: \"auto\",\n },\n mainChartHeader: {\n width: \"100%\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n [theme.breakpoints.only(\"xs\")]: {\n flexWrap: \"wrap\",\n },\n },\n mainChartHeaderLabels: {\n display: \"flex\",\n alignItems: \"center\",\n [theme.breakpoints.only(\"xs\")]: {\n order: 3,\n width: \"100%\",\n justifyContent: \"center\",\n marginTop: theme.spacing(3),\n marginBottom: theme.spacing(2),\n },\n },\n mainChartHeaderLabel: {\n display: \"flex\",\n alignItems: \"center\",\n marginLeft: theme.spacing(3),\n },\n mainChartSelectRoot: {\n borderColor: theme.palette.text.hint + \"80 !important\",\n },\n mainChartSelect: {\n padding: 10,\n paddingRight: 25,\n },\n mainChartLegentElement: {\n fontSize: \"18px !important\",\n marginLeft: theme.spacing(1),\n },\n success: {\n backgroundColor: theme.palette.success.main,\n color: '#fff',\n },\n warning: {\n backgroundColor: theme.palette.warning.main,\n color: '#fff',\n },\n secondary: {\n backgroundColor: theme.palette.secondary.main,\n color: '#fff',\n }\n}));\n","import axios from 'axios';\nimport getBaseUrl from '../ConfigMe';\nconst host = getBaseUrl()\nconst url = host+'/allviews';\nconst token = localStorage.getItem('id_token');\n\nconst getFromServer = async () => {\n var axreturn= await axios.get(url,{ headers: { 'obsly-token': token } });\n console.log(\"in getFromServer\",axreturn);\n return axreturn;\n}\n\nexport default getFromServer;","import React from 'react';\nimport { Button } from '@material-ui/core'\nimport PivotTableUI from 'react-pivottable/PivotTableUI';\nimport 'react-pivottable/pivottable.css';\nimport TableRenderers from 'react-pivottable/TableRenderers';\nimport { derivers as PivotDerivers } from 'react-pivottable/Utilities';\nimport Plot from 'react-plotly.js';\nimport createPlotlyRenderers from 'react-pivottable/PlotlyRenderers';\nimport './PivotTable.css';\nimport getFromServer from './PivotTableData';\n// create Plotly renderers via dependency injection\nconst PlotlyRenderers = createPlotlyRenderers(Plot);\n\n// see documentation for supported input formats\n\nconst derivedAttributes = {\n 'mes_año': PivotDerivers.dateFormat(\"mints\", '%y-%m'),\n 'año': PivotDerivers.dateFormat('mints', '%y'),\n 'hora': PivotDerivers.dateFormat('mints', '%H'),\n 'ndow': PivotDerivers.dateFormat('mints', '%x'),\n 'dow': PivotDerivers.dateFormat('mints', '%w')\n\n}\nclass PivotTable extends React.Component {\n constructor(props) {\n super(props);\n this.state = { data: [], loading: true, ...props };\n this.updateData();\n //this.timerID=setInterval(this.updateData,50000);\n this.save = () => {\n console.log('wants to save', this.state);\n var dataToSave = {\n rows: this.state.rows, cols: this.state.cols,\n rendererName: this.state.rendererName,\n aggregatorName: this.state.aggregatorName,\n vals: this.state.vals\n };\n localStorage.setItem(props.preferencesName, JSON.stringify(dataToSave));\n };\n this.restore = () => {\n console.log('restoring' + props.preferencesName);\n var retrievedObject = localStorage.getItem(props.preferencesName);\n var stateToRestore = JSON.parse(retrievedObject);\n this.setState(stateToRestore);\n }\n }\n updateData = async () => {\n let datos = await getFromServer();\n this.setState((prevState) => {\n return { data: datos.data.datos, loading: false }\n });\n this.restore();\n }\n componentWillUnmount() {\n //clearInterval(this.timerID);\n }\n //{this.state.data.length}\n // \n render() {\n return (\n <>\n {this.state.loading ?

Loading

:\n { this.setState(s); this.save(); }}\n derivedAttributes={derivedAttributes}\n renderers={Object.assign({}, TableRenderers, PlotlyRenderers)}\n {...this.state}\n />\n }\n \n );\n }\n}\n\nexport default PivotTable;","import React, { useState } from \"react\";\nimport {\n Grid\n} from \"@material-ui/core\";\nimport { useTheme } from \"@material-ui/styles\";\n\n// styles\nimport useStyles from './styles';\n\n// components\n\n\nimport PageTitle from \"../../components/PageTitle/PageTitle\";\nimport PivotTable from '../../samurai/PivotTableViews/PivotTable';\nimport Widget from \"../../components/Widget/Widget\";\n\nexport default function Views(props) {\n var classes = useStyles();\n var theme = useTheme();\n \n\n \n return (\n <>\n \n \n \n \n \n \n \n \n \n \n );\n}\n\n// #######################################################################\n","import { makeStyles } from \"@material-ui/styles\";\n\nexport default makeStyles(theme => ({\n card: {\n minHeight: \"100%\",\n display: \"flex\",\n flexDirection: \"column\",\n },\n visitsNumberContainer: {\n display: \"flex\",\n alignItems: \"center\",\n flexGrow: 1,\n paddingBottom: theme.spacing(1),\n },\n progressSection: {\n marginBottom: theme.spacing(1),\n },\n progressTitle: {\n marginBottom: theme.spacing(2),\n },\n progress: {\n marginBottom: theme.spacing(1),\n backgroundColor: 'rgb(236, 236, 236)',\n },\n pieChartLegendWrapper: {\n height: \"100%\",\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"center\",\n alignItems: \"flex-end\",\n marginRight: theme.spacing(1),\n },\n legendItemContainer: {\n display: \"flex\",\n alignItems: \"center\",\n marginBottom: theme.spacing(1),\n },\n fullHeightBody: {\n display: \"flex\",\n flexGrow: 1,\n flexDirection: \"column\",\n justifyContent: \"space-between\",\n },\n tableWidget: {\n overflowX: \"auto\",\n },\n progressBarPrimary: {\n backgroundColor: theme.palette.primary.main,\n },\n progressBarWarning: {\n backgroundColor: theme.palette.warning.main,\n },\n performanceLegendWrapper: {\n display: \"flex\",\n flexGrow: 1,\n alignItems: \"center\",\n marginBottom: theme.spacing(1),\n },\n legendElement: {\n display: \"flex\",\n alignItems: \"center\",\n marginRight: theme.spacing(2),\n },\n legendElementText: {\n marginLeft: theme.spacing(1),\n },\n serverOverviewElement: {\n display: \"flex\",\n alignItems: \"center\",\n maxWidth: \"100%\",\n },\n serverOverviewElementText: {\n minWidth: 145,\n paddingRight: theme.spacing(2),\n },\n serverOverviewElementChartWrapper: {\n width: \"100%\",\n },\n mainChartBody: {\n overflowX: \"auto\",\n },\n mainChartHeader: {\n width: \"100%\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n [theme.breakpoints.only(\"xs\")]: {\n flexWrap: \"wrap\",\n },\n },\n mainChartHeaderLabels: {\n display: \"flex\",\n alignItems: \"center\",\n [theme.breakpoints.only(\"xs\")]: {\n order: 3,\n width: \"100%\",\n justifyContent: \"center\",\n marginTop: theme.spacing(3),\n marginBottom: theme.spacing(2),\n },\n },\n mainChartHeaderLabel: {\n display: \"flex\",\n alignItems: \"center\",\n marginLeft: theme.spacing(3),\n },\n mainChartSelectRoot: {\n borderColor: theme.palette.text.hint + \"80 !important\",\n },\n mainChartSelect: {\n padding: 10,\n paddingRight: 25,\n },\n mainChartLegentElement: {\n fontSize: \"18px !important\",\n marginLeft: theme.spacing(1),\n },\n success: {\n backgroundColor: theme.palette.success.main,\n color: '#fff',\n },\n warning: {\n backgroundColor: theme.palette.warning.main,\n color: '#fff',\n },\n secondary: {\n backgroundColor: theme.palette.secondary.main,\n color: '#fff',\n }\n}));\n","import axios from 'axios';\nimport getBaseUrl from '../ConfigMe';\n\n\nconst host = getBaseUrl()\nconst url = host+'/allinteractions';\n\nconst token = localStorage.getItem('id_token');\n\nconst getFromServer = async () => {\n var axreturn= await axios.get(url,{ headers: { 'obsly-token': token } });\n console.log(\"in getFromServer\",axreturn);\n return axreturn;\n}\n\nexport default getFromServer;","import React from 'react';\nimport { Button } from '@material-ui/core'\nimport PivotTableUI from 'react-pivottable/PivotTableUI';\nimport 'react-pivottable/pivottable.css';\nimport TableRenderers from 'react-pivottable/TableRenderers';\nimport { derivers as PivotDerivers } from 'react-pivottable/Utilities';\nimport Plot from 'react-plotly.js';\nimport createPlotlyRenderers from 'react-pivottable/PlotlyRenderers';\nimport './PivotTable.css';\nimport getFromServer from './PivotTableData';\n// create Plotly renderers via dependency injection\nconst PlotlyRenderers = createPlotlyRenderers(Plot);\n\n// see documentation for supported input formats\n\nconst derivedAttributes = {\n 'mes_año': PivotDerivers.dateFormat(\"mints\", '%y-%m'),\n 'año': PivotDerivers.dateFormat('mints', '%y'),\n 'duracion': PivotDerivers.bin('seconds', 60)\n}\nclass PivotTable extends React.Component {\n constructor(props) {\n super(props);\n this.state = { data: [], loading: true, ...props };\n this.updateData();\n //this.timerID=setInterval(this.updateData,50000);\n this.save = () => {\n console.log('wants to save', this.state);\n var dataToSave = {\n rows: this.state.rows, cols: this.state.cols,\n rendererName: this.state.rendererName,\n aggregatorName: this.state.aggregatorName,\n vals: this.state.vals\n };\n localStorage.setItem(props.preferencesName, JSON.stringify(dataToSave));\n };\n this.restore = () => {\n console.log('restoring' + props.preferencesName);\n var retrievedObject = localStorage.getItem(props.preferencesName);\n var stateToRestore = JSON.parse(retrievedObject);\n this.setState(stateToRestore);\n }\n }\n updateData = async () => {\n let datos = await getFromServer();\n this.setState((prevState) => {\n return { data: datos.data.datos, loading: false }\n });\n this.restore();\n }\n componentWillUnmount() {\n //clearInterval(this.timerID);\n }\n //{this.state.data.length}\n // \n render() {\n return (\n <>\n {this.state.loading ?

Loading

:\n { this.setState(s); this.save(); }}\n derivedAttributes={derivedAttributes}\n renderers={Object.assign({}, TableRenderers, PlotlyRenderers)}\n {...this.state}\n />}\n \n );\n }\n}\n\nexport default PivotTable;","import React, { useState } from \"react\";\nimport {\n Grid\n} from \"@material-ui/core\";\nimport { useTheme } from \"@material-ui/styles\";\n\n// styles\nimport useStyles from './styles';\n\n// components\n\n\nimport PageTitle from \"../../components/PageTitle/PageTitle\";\nimport PivotTable from '../../samurai/PivotTableInteractions/PivotTable';\nimport Widget from \"../../components/Widget/Widget\";\n\nexport default function Views(props) {\n var classes = useStyles();\n var theme = useTheme();\n \n\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","function distance(p1,p2) {\n var a = p1.x - p2.x;\n var b = p1.y - p2.y;\n var c = Math.sqrt( a*a + b*b );\n return c;\n }\n \n function interpolate(a, b) // points A and B, frac between 0 and 1\n {\n var d=distance(a,b);\n var parts=Math.min(d/10,20)\n var frac=d/parts;\n console.log(\"distance\",d,\"PARTS\",parts,\"frac\",frac)\n if(frac>1) frac=1;\n frac=frac/parts;\n var points=[a]\n for(var part=1;part\n \n \n \n \n

Heatmap feature is under development, to access it, press here

\n \n \n \n
\n
\n
\n\n \n );\n}\n\n// #######################################################################\n","import axios from 'axios';\nimport listToArray from '../ListToArray';\nimport getBaseUrl from '../ConfigMe';\n\nconst url = getBaseUrl()\n\n\nconst token = localStorage.getItem('id_token');\n\nconst getFromServer = async () => {\n var axreturn= await axios.get(url,{ headers: { 'obsly-token': token } });\n console.log(\"in getFromServer\", axreturn);\n return axreturn;\n}\n\n\nexport default getFromServer;\n\n\n\n","import { useState, useEffect } from 'react';\nimport MUIDataTable from \"mui-datatables\";\nimport getFromServer from './JobsErroredData';\nimport { Button } from '@material-ui/core';\nlet InitialData = {\n \"datos\": [\n {\n \"log\": \"{\\\"trace\\\": [\\\"Traceback (most recent call last):\\\", \\\" File \\\\\\\"/Volumes/PROYECTOS/samuraiv2/analyze/detect_pending.py\\\\\\\", line 124, in \\\", \\\" retval=analyze_session(session['si'])\\\", \\\" File \\\\\\\"/Volumes/PROYECTOS/samuraiv2/analyze/analyze.py\\\\\\\", line 297, in analyze_session\\\", \\\" derive = (df.v != df.v.shift()).cumsum()\\\", \\\" File \\\\\\\"/Volumes/PROYECTOS/samuraiv2/dev/lib/python3.9/site-packages/pandas/core/generic.py\\\\\\\", line 5462, in __getattr__\\\", \\\" return object.__getattribute__(self, name)\\\", \\\"AttributeError: 'DataFrame' object has no attribute 'v'\\\"]}\",\n \"si\": \"7bdfe7b9-3953-4c6b-a1c6-18700fae3dba\",\n \"timestamp\": \"2021-04-07 11:24:11.957646\"\n },\n {\n \"log\": \"{\\\"trace\\\": [\\\"Traceback (most recent call last):\\\", \\\" File \\\\\\\"/Volumes/PROYECTOS/samuraiv2/analyze/detect_pending.py\\\\\\\", line 124, in \\\", \\\" retval=analyze_session(session['si'])\\\", \\\" File \\\\\\\"/Volumes/PROYECTOS/samuraiv2/analyze/analyze.py\\\\\\\", line 297, in analyze_session\\\", \\\" derive = (df.v != df.v.shift()).cumsum()\\\", \\\" File \\\\\\\"/Volumes/PROYECTOS/samuraiv2/dev/lib/python3.9/site-packages/pandas/core/generic.py\\\\\\\", line 5462, in __getattr__\\\", \\\" return object.__getattribute__(self, name)\\\", \\\"AttributeError: 'DataFrame' object has no attribute 'v'\\\"]}\",\n \"si\": \"8024ac98-04b4-4b60-8487-26cee2e455c7\",\n \"timestamp\": \"2021-04-07 11:24:19.831024\"\n },\n {\n \"log\": \"{\\\"trace\\\": [\\\"Traceback (most recent call last):\\\", \\\" File \\\\\\\"/Volumes/PROYECTOS/samuraiv2/analyze/detect_pending.py\\\\\\\", line 124, in \\\", \\\" retval=analyze_session(session['si'])\\\", \\\" File \\\\\\\"/Volumes/PROYECTOS/samuraiv2/analyze/analyze.py\\\\\\\", line 297, in analyze_session\\\", \\\" derive = (df.v != df.v.shift()).cumsum()\\\", \\\" File \\\\\\\"/Volumes/PROYECTOS/samuraiv2/dev/lib/python3.9/site-packages/pandas/core/generic.py\\\\\\\", line 5462, in __getattr__\\\", \\\" return object.__getattribute__(self, name)\\\", \\\"AttributeError: 'DataFrame' object has no attribute 'v'\\\"]}\",\n \"si\": \"e0b73626-1111-4bd3-8b85-965d6170e376\",\n \"timestamp\": \"2021-04-07 11:25:58.552868\"\n },\n {\n \"log\": \"{\\\"trace\\\": [\\\"Traceback (most recent call last):\\\", \\\" File \\\\\\\"/Volumes/PROYECTOS/samuraiv2/analyze/detect_pending.py\\\\\\\", line 124, in \\\", \\\" retval=analyze_session(session['si'])\\\", \\\" File \\\\\\\"/Volumes/PROYECTOS/samuraiv2/analyze/analyze.py\\\\\\\", line 297, in analyze_session\\\", \\\" derive = (df.v != df.v.shift()).cumsum()\\\", \\\" File \\\\\\\"/Volumes/PROYECTOS/samuraiv2/dev/lib/python3.9/site-packages/pandas/core/generic.py\\\\\\\", line 5462, in __getattr__\\\", \\\" return object.__getattribute__(self, name)\\\", \\\"AttributeError: 'DataFrame' object has no attribute 'v'\\\"]}\",\n \"si\": \"e0b73626-1111-4bd3-8b85-965d6170e381\",\n \"timestamp\": \"2021-04-07 11:26:00.337074\"\n },\n {\n \"log\": \"{\\\"trace\\\": [\\\"Traceback (most recent call last):\\\", \\\" File \\\\\\\"/Volumes/PROYECTOS/samuraiv2/analyze/detect_pending.py\\\\\\\", line 124, in \\\", \\\" retval=analyze_session(session['si'])\\\", \\\" File \\\\\\\"/Volumes/PROYECTOS/samuraiv2/analyze/analyze.py\\\\\\\", line 297, in analyze_session\\\", \\\" derive = (df.v != df.v.shift()).cumsum()\\\", \\\" File \\\\\\\"/Volumes/PROYECTOS/samuraiv2/dev/lib/python3.9/site-packages/pandas/core/generic.py\\\\\\\", line 5462, in __getattr__\\\", \\\" return object.__getattribute__(self, name)\\\", \\\"AttributeError: 'DataFrame' object has no attribute 'v'\\\"]}\",\n \"si\": \"ef6e43f6-24c9-484c-86f3-271d315bbd3d\",\n \"timestamp\": \"2021-04-07 11:26:21.235002\"\n },\n {\n \"log\": \"{\\\"trace\\\": [\\\"Traceback (most recent call last):\\\", \\\" File \\\\\\\"/Volumes/PROYECTOS/samuraiv2/analyze/detect_pending.py\\\\\\\", line 124, in \\\", \\\" retval=analyze_session(session['si'])\\\", \\\" File \\\\\\\"/Volumes/PROYECTOS/samuraiv2/analyze/analyze.py\\\\\\\", line 297, in analyze_session\\\", \\\" derive = (df.v != df.v.shift()).cumsum()\\\", \\\" File \\\\\\\"/Volumes/PROYECTOS/samuraiv2/dev/lib/python3.9/site-packages/pandas/core/generic.py\\\\\\\", line 5462, in __getattr__\\\", \\\" return object.__getattribute__(self, name)\\\", \\\"AttributeError: 'DataFrame' object has no attribute 'v'\\\"]}\",\n \"si\": \"fbbe993b-613d-44f3-8be0-31cbd462cc3a\",\n \"timestamp\": \"2021-04-07 11:26:42.548112\"\n },\n {\n \"log\": \"{\\\"trace\\\": [\\\"Traceback (most recent call last):\\\", \\\" File \\\\\\\"/Volumes/PROYECTOS/samuraiv2/analyze/detect_pending.py\\\\\\\", line 124, in \\\", \\\" retval=analyze_session(session['si'])\\\", \\\" File \\\\\\\"/Volumes/PROYECTOS/samuraiv2/analyze/analyze.py\\\\\\\", line 297, in analyze_session\\\", \\\" derive = (df.v != df.v.shift()).cumsum()\\\", \\\" File \\\\\\\"/Volumes/PROYECTOS/samuraiv2/dev/lib/python3.9/site-packages/pandas/core/generic.py\\\\\\\", line 5462, in __getattr__\\\", \\\" return object.__getattribute__(self, name)\\\", \\\"AttributeError: 'DataFrame' object has no attribute 'v'\\\"]}\",\n \"si\": \"66e86077-452b-4937-a558-c4b73e9c045e\",\n \"timestamp\": \"2021-04-07 11:28:36.147378\"\n }]\n};\nconst JobsErrored = (props) => {\n const [data, setData] = useState(InitialData.datos);\n const columns = [\n {\n name: 'si', label: 'Session Id', options: {\n filter: false,\n sort: true,\n display: true\n }\n },\n {\n name: 'timestamp', label: 'Time', options: {\n filter: false,\n sort: true,\n }\n }, \"log\"];\n \n\n const options = {\n selectableRows: 'single',\n print: false,\n download: false,\n tableBodyHeight: '60vh',\n filterType: 'dropdown',\n elevation: 2,\n customToolbarSelect: (selectedRows, displayData, setSelectedRows) => {\n return \n },\n };\n const getData = async () => { var d=await getFromServer();\n console.log(d);\n setData(d.data.datos); };\n\n useEffect((data) => {\n\n if (!data) {\n getData();\n }\n }, []);\n\n return (\n <>\n \n \n );\n};\n\nexport default JobsErrored;\n","import React, { useState } from \"react\";\nimport {\n Grid\n} from \"@material-ui/core\";\n\n\nimport { useTheme } from \"@material-ui/styles\";\n\n\n\nimport PageTitle from \"../../components/PageTitle\";\nimport Widget from \"../../components/Widget/Widget\";\n\nimport JobsErrored from '../../samurai/JobsErrored/JobsErrored';\nexport default function Developer(props) {\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n );\n}\n\n// #######################################################################\n","import React from \"react\";\nimport {\n Route,\n Switch,\n withRouter,\n} from \"react-router-dom\";\nimport classnames from \"classnames\";\nimport {Box, IconButton, Link} from '@material-ui/core'\n\n\n\n// styles\nimport useStyles from \"./styles\";\n\n// components\nimport Header from \"../Header\";\nimport Sidebar from \"../Sidebar\";\n\n// pages\n\nimport Samurai from '../../pages/SessionDetails/SessionDetails';\n\nimport SessionDivided from '../../pages/SessionDivided/SessionDivided';\nimport SessionAnalysis from '../../pages/SessionAnalysis';\nimport ViewsAnalysis from '../../pages/ViewsAnalysis';\nimport InteractionsAnalysis from '../../pages/InteractionsAnalysis';\nimport Developer from '../../pages/developer';\nimport Jobs from '../../pages/jobs';\n// context\nimport { useLayoutState } from \"../../context/LayoutContext\";\n\n\nfunction Layout(props) {\n var classes = useStyles();\n\n // global\n var layoutState = useLayoutState();\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\nexport default withRouter(Layout);\n","import { makeStyles } from \"@material-ui/styles\";\n\nexport default makeStyles(theme => ({\n container: {\n height: \"100vh\",\n width: \"100vw\",\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"center\",\n alignItems: \"center\",\n backgroundColor: theme.palette.primary.main,\n position: \"absolute\",\n top: 0,\n left: 0,\n },\n logotype: {\n display: \"flex\",\n alignItems: \"center\",\n marginBottom: theme.spacing(12),\n [theme.breakpoints.down(\"sm\")]: {\n display: \"none\",\n },\n },\n logotypeText: {\n fontWeight: 500,\n color: \"white\",\n marginLeft: theme.spacing(2),\n },\n logotypeIcon: {\n width: 70,\n marginRight: theme.spacing(2),\n },\n paperRoot: {\n boxShadow: theme.customShadows.widgetDark,\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n paddingTop: theme.spacing(8),\n paddingBottom: theme.spacing(8),\n paddingLeft: theme.spacing(6),\n paddingRight: theme.spacing(6),\n maxWidth: 404,\n },\n textRow: {\n marginBottom: theme.spacing(10),\n textAlign: \"center\",\n },\n errorCode: {\n fontSize: 148,\n fontWeight: 600,\n },\n safetyText: {\n fontWeight: 300,\n color: theme.palette.text.hint,\n },\n backButton: {\n boxShadow: theme.customShadows.widget,\n textTransform: \"none\",\n fontSize: 22,\n },\n}));\n","export default __webpack_public_path__ + \"static/media/logo.31df0ce8.svg\";","import React from \"react\";\nimport { Grid, Paper, Typography, Button } from \"@material-ui/core\";\nimport { Link } from \"react-router-dom\";\nimport classnames from \"classnames\";\n\n// styles\nimport useStyles from \"./styles\";\n\n// logo\nimport logo from \"./logo.svg\";\n\nexport default function Error() {\n var classes = useStyles();\n\n return (\n \n
\n \"logo\"\n \n Material Admin\n \n
\n \n \n 404\n \n \n Oops. Looks like the page you're looking for no longer exists\n \n \n But we're here to bring you back to safety\n \n \n Back to Home\n \n \n
\n );\n}\n","import { makeStyles } from \"@material-ui/styles\";\n\nexport default makeStyles(theme => ({\n container: {\n height: \"100vh\",\n width: \"100vw\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n position: \"absolute\",\n top: 0,\n left: 0,\n },\n logotypeContainer: {\n backgroundColor: theme.palette.primary.main,\n width: \"60%\",\n height: \"100%\",\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"center\",\n alignItems: \"center\",\n [theme.breakpoints.down(\"md\")]: {\n width: \"50%\",\n },\n [theme.breakpoints.down(\"md\")]: {\n display: \"none\",\n },\n },\n logotypeImage: {\n width: 165,\n marginBottom: theme.spacing(4),\n },\n logotypeText: {\n color: \"white\",\n fontWeight: 500,\n fontSize: 84,\n [theme.breakpoints.down(\"md\")]: {\n fontSize: 48,\n },\n },\n formContainer: {\n width: \"40%\",\n height: \"100%\",\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"center\",\n alignItems: \"center\",\n [theme.breakpoints.down(\"md\")]: {\n width: \"50%\",\n },\n },\n form: {\n width: 320,\n },\n tab: {\n fontWeight: 400,\n fontSize: 18,\n },\n greeting: {\n fontWeight: 500,\n textAlign: \"center\",\n marginTop: theme.spacing(4),\n },\n subGreeting: {\n fontWeight: 500,\n textAlign: \"center\",\n marginTop: theme.spacing(2),\n },\n googleButton: {\n marginTop: theme.spacing(6),\n boxShadow: theme.customShadows.widget,\n backgroundColor: \"white\",\n width: \"100%\",\n textTransform: \"none\",\n },\n googleButtonCreating: {\n marginTop: 0,\n },\n googleIcon: {\n width: 30,\n marginRight: theme.spacing(2),\n },\n creatingButtonContainer: {\n marginTop: theme.spacing(2.5),\n height: 46,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n createAccountButton: {\n height: 46,\n textTransform: \"none\",\n },\n formDividerContainer: {\n marginTop: theme.spacing(4),\n marginBottom: theme.spacing(4),\n display: \"flex\",\n alignItems: \"center\",\n },\n formDividerWord: {\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(2),\n },\n formDivider: {\n flexGrow: 1,\n height: 1,\n backgroundColor: theme.palette.text.hint + \"40\",\n },\n errorMessage: {\n textAlign: \"center\",\n },\n textFieldUnderline: {\n \"&:before\": {\n borderBottomColor: theme.palette.primary.light,\n },\n \"&:after\": {\n borderBottomColor: theme.palette.primary.main,\n },\n \"&:hover:before\": {\n borderBottomColor: `${theme.palette.primary.light} !important`,\n },\n },\n textField: {\n borderBottomColor: theme.palette.background.light,\n },\n formButtons: {\n width: \"100%\",\n marginTop: theme.spacing(4),\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n },\n forgetButton: {\n textTransform: \"none\",\n fontWeight: 400,\n },\n loginLoader: {\n marginLeft: theme.spacing(4),\n },\n copyright: {\n marginTop: theme.spacing(4),\n whiteSpace: \"nowrap\",\n [theme.breakpoints.up(\"md\")]: {\n position: \"absolute\",\n bottom: theme.spacing(2),\n },\n },\n}));\n","export default __webpack_public_path__ + \"static/media/logo.570920f7.svg\";","import React, { useState } from \"react\";\nimport {\n Grid,\n CircularProgress,\n Typography,\n Button,\n Tabs,\n Tab,\n TextField,\n Fade,\n} from \"@material-ui/core\";\nimport { withRouter } from \"react-router-dom\";\nimport classnames from \"classnames\";\n\n// styles\nimport useStyles from \"./styles\";\n\n// logo\nimport logo from \"./logo.svg\";\n\n\n// context\nimport { useUserDispatch, loginUser } from \"../../context/UserContext\";\n\nfunction Login(props) {\n console.log('function login');\n var classes = useStyles();\n\n // global\n var userDispatch = useUserDispatch();\n\n // local\n var [isLoading, setIsLoading] = useState(false);\n var [error, setError] = useState(null);\n\n var [loginValue, setLoginValue] = useState(\"\");\n var [passwordValue, setPasswordValue] = useState(\"\");\n\n return (\n \n
\n \"logo\"\n\n
\n
\n
\n\n\n \n Good Morning, User\n \n\n\n \n \n Something is wrong with your login or password :(\n \n \n setLoginValue(e.target.value)}\n margin=\"normal\"\n placeholder=\"Email Adress\"\n type=\"email\"\n fullWidth\n />\n setPasswordValue(e.target.value)}\n margin=\"normal\"\n placeholder=\"Password\"\n type=\"password\"\n fullWidth\n />\n
\n {isLoading ? (\n \n ) : (\n \n loginUser(\n userDispatch,\n loginValue,\n passwordValue,\n props.history,\n setIsLoading,\n setError,\n )\n }\n variant=\"contained\"\n color=\"primary\"\n size=\"large\"\n >\n Login\n \n )}\n \n Forget Password\n \n
\n\n\n
\n \n © 2014-{new Date().getFullYear()} SFY, sl. All rights reserved.\n \n
\n
\n );\n}\n\nexport default withRouter(Login);\n","import React from \"react\";\nimport { HashRouter, Route, Switch, Redirect } from \"react-router-dom\";\n\n// components\nimport Layout from \"./Layout\";\n\n// pages\nimport Error from \"../pages/error\";\nimport Login from \"../pages/login\";\n\n// context\nimport { useUserState } from \"../context/UserContext\";\n\nexport default function App() {\n // global\n var { isAuthenticated } = useUserState();\n\n return (\n \n \n } />\n }\n />\n \n \n \n \n \n );\n\n // #######################################################################\n\n function PrivateRoute({ component, ...rest }) {\n return (\n \n isAuthenticated ? (\n React.createElement(component, props)\n ) : (\n \n )\n }\n />\n );\n }\n\n function PublicRoute({ component, ...rest }) {\n return (\n \n isAuthenticated ? (\n \n ) : (\n React.createElement(component, props)\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 http://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.1/8 is 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}/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 http://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 http://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 .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.then(registration => {\n registration.unregister();\n });\n }\n}\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { ThemeProvider } from \"@material-ui/styles\";\nimport { CssBaseline } from \"@material-ui/core\";\n\nimport Themes from \"./themes\";\nimport App from \"./components/App\";\nimport * as serviceWorker from \"./serviceWorker\";\nimport { LayoutProvider } from \"./context/LayoutContext\";\nimport { UserProvider } from \"./context/UserContext\";\n\nReactDOM.render(\n \n \n \n \n \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: http://bit.ly/CRA-PWA\nserviceWorker.unregister();\n"],"sourceRoot":""}