MOON
Server: Apache
System: Linux vps.erhabenn.com.br 3.10.0-1160.119.1.el7.tuxcare.els2.x86_64 #1 SMP Mon Jul 15 12:09:18 UTC 2024 x86_64
User: machen (1008)
PHP: 8.2.31
Disabled: NONE
Upload Files
File: /disk001/machen/public_html/devhomologtests/static/js/3.d3742cc4.chunk.js.map
{"version":3,"sources":["components/Dashboards/Widgets/Timesheet copy.jsx"],"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","delegateYield","connect","store","cards","db","timeline","dispatch","bindActionCreators","reduxActions","props","_reduxStore$getState","reduxStore","getState","_React$useState","React","useState","moment","Date","tz","subtract","format","_React$useState2","_slicedToArray","startDate","setStartDate","_React$useState3","_React$useState4","endDate","setEndDate","_React$useState5","_React$useState6","exportTimers","setExport","_React$useState7","_React$useState8","selectedUsers","setSelectedUsers","_React$useState9","_React$useState10","setCards","_React$useState11","_React$useState12","loading","setLoading","_useState","_useState2","timeSheetData","setTimeSheetData","totalSecondsRef","useRef","usersRef","hashs","window","location","hash","split","replace","nodeId","useEffect","init","iniCards","planCards","_ref","_asyncToGenerator","_callee","ncards","_context","getChildrens","apply","arguments","_ref2","_callee2","_context2","loadTimeline","_objectSpread","fnIdentification","ids","reqChildrens","t0","timeSheet","users","totalSeconds","filter","tm","deleted","ts","_toUser","userId","_defineProperty","user","_id","su","parseInt","ini","concat","unix","fin","time","diff","totalTimer","diffText","diffTextMini","translate","hours","Math","trunc","minutes","seconds","timerText","timerTextMini","_times","cardId","current","convertSecondsToText","mini","undefined","TimeSheetData","createElement","style","width","marginBottom","display","alignItems","data","Fragment","Tooltip","title","Avatar","alt","src","image","height","substr","marginLeft","fontWeight","color","customApp","minWidth","ViewportChecker","inViewport","UiCard","marginTop","overflow","edit","borderBottom","backgroundColor","styles","Icon","size","alignSelf","margin","fontSize","onMouseEnter","target","onMouseLeave","onClick","handleRemoveObject","id","cursor","position","right","top","border","padding","className","HeaderWithIcon","icon","background","borderRadius","customButtons","left","bottom","justifyContent","zIndex","PreLoader","TextField","label","variant","marginRight","InputLabelProps","shrink","inputProps","max","InputProps","autoComplete","onChange","min","Accordion","AccordionSummary","expandIcon","aria-controls","AvatarGroup","map","key","AccordionDetails","FormGroup","pr","FormControlLabel","control","Checkbox","checked","selectUser","ExportTimer","CustomButton","text","textColor","UiCardHeader","ResponsivePie","_toConsumableArray","sort","b","textMini","valueFormat","enableArcLabels","colors","scheme","activeOuterRadiusOffset","arcLabelsTextColor","from","modifiers","borderWidth","cornerRadius","enableArcLinkLabels","innerRadius","leavesOnly","theme","padAngle","sortByValue","wordWrap","textAlign","UiCardBody","GridContainer"],"mappings":"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","file":"static/js/3.d3742cc4.chunk.js","sourcesContent":["import React, { useState, useEffect, useRef } from \"react\";\nimport moment from \"moment-timezone\";\nimport { ResponsivePie } from \"@nivo/pie\";\n\n//REDUX\nimport { connect } from \"react-redux\"\nimport { bindActionCreators } from \"redux\"\nimport * as reduxActions from \"store/actions\"\nimport reduxStore from \"store/\"\n\n//COMPONENTS\nimport Checkbox from \"components/Checkbox\"\nimport CustomButton from \"components/Buttons/custom\"\nimport ExportTimer from \"components/Timer/exportAll\"\nimport GridContainer from \"components/Grid/GridContainer\"\nimport HeaderWithIcon from \"components/Header/withIcon\"\nimport Icon from \"components/Icon\"\nimport TextField from \"components/TextField\"\nimport UiCard from \"components/Card/Card\"\nimport UiCardBody from \"components/Card/CardBody\"\nimport UiCardHeader from \"components/Card/CardHeader\"\nimport PreLoader from \"components/PreLoader\"\nimport ViewportChecker from \"componentsV3/ViewerportCheck/ViewrportCheck\";\n\n//@MATERIAL\nimport Accordion from \"@material-ui/core/Accordion\"\nimport AccordionDetails from \"@material-ui/core/AccordionDetails\"\nimport AccordionSummary from \"@material-ui/core/AccordionSummary\"\nimport Avatar from \"@material-ui/core/Avatar\"\nimport AvatarGroup from \"@material-ui/lab/AvatarGroup\"\nimport FormControlLabel from \"@material-ui/core/FormControlLabel\"\nimport FormGroup from \"@material-ui/core/FormGroup\"\nimport Tooltip from \"@material-ui/core/Tooltip\"\n\n//FUNCTIONS\nimport { translate, customApp } from \"functions\"\nimport { loadTimeline } from \"functions/chat\"\nimport { getChildrens } from \"functions/cards\"\n\n\n\nfunction Timesheet(props) {\n    const { db, timeline } = reduxStore.getState()\n    const [startDate, setStartDate] = React.useState(moment(new Date()).tz(\"America/Sao_Paulo\").subtract(8000, \"d\").format(\"YYYY-MM-DD\"))\n    const [endDate, setEndDate] = React.useState(moment(new Date()).tz(\"America/Sao_Paulo\").format(\"YYYY-MM-DD\"))\n    const [exportTimers, setExport] = React.useState(false)\n    const [selectedUsers, setSelectedUsers] = React.useState({})\n    const [cards, setCards] = React.useState({})\n    const [loading, setLoading] = React.useState(true)\n    const [timeSheetData, setTimeSheetData] = useState({})\n\n    const totalSecondsRef = useRef(0)\n    const usersRef = useRef({})\n\n\n    let hashs = window.location.hash.split(\"/\")\n    hashs[0] = hashs[0].replace('#', '')\n    let nodeId = hashs[0]\n\n    React.useEffect(() => {\n        init()\n        return () => {\n\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n    React.useEffect(() => {\n        iniCards()\n    }, [props.planCards])// eslint-disable-line react-hooks/exhaustive-deps\n\n    const iniCards = async () => {\n        let ncards = await getChildrens(nodeId)\n        setCards(ncards)\n    }\n\n    const init = async () => {\n        try {\n            let lt = await loadTimeline(\n                {\n                    ...props,\n                    fnIdentification: \"StrategyAndPlans/Dashboard/Widgers/timeSheet/init()\"\n                },\n                {\n                    ids: [nodeId],\n                    db: \"cards\",\n                    type: \"timer\",\n                    reqChildrens: true\n                })\n            if (lt) {\n                setLoading(false)\n            }\n        } catch (e) {\n            setLoading(false)\n        }\n    }\n\n\n\n    useEffect(() => {\n\n        let timeSheet = {}\n        let users = {}\n        let timeSheetTotal = 0\n        let totalSeconds = 0\n\n        Object.keys(cards).filter(a =>\n            timeline[a]\n            && (\n                Object.keys(timeline[a]).filter(tm => timeline[a][tm].type === \"timer\").length > 0\n            )\n        ).forEach(a => {\n            Object.keys(timeline[a]).filter(tm =>\n                timeline[a][tm].type === \"timer\"\n                && !timeline[a][tm].deleted\n            ).forEach(ts => {\n\n                if (timeline[a][ts]._toUser && Object.keys(timeline[a][ts]._toUser).length > 0) {\n                    Object.keys(timeline[a][ts]._toUser).forEach(userId => {\n                        users = {\n                            ...users,\n                            [userId]: {\n                                ...timeline[a][ts]._toUser[userId] ? timeline[a][ts]._toUser[userId] : {},\n                            }\n                        }\n                    })\n                } else {\n                    users = {\n                        ...users,\n                        [timeline[a][ts].user._id]: {\n                            ...timeline[a][ts].user,\n                        }\n                    }\n                }\n\n            })\n\n            Object.keys(timeline[a]).filter(tm =>\n                timeline[a]\n                && timeline[a][tm]\n                && timeline[a][tm].type === \"timer\"\n                && !timeline[a][tm].deleted\n                &&\n                (\n                    Object.keys(selectedUsers).length === 0\n                    ||\n                    (\n                        Object.keys(selectedUsers).length > 0\n                        && Object.keys(selectedUsers).filter(su =>\n                            timeline[a]\n                            && timeline[a][tm]\n                            && timeline[a][tm].type\n                            && timeline[a][tm].type === \"timer\"\n                            && selectedUsers[su]\n                            && timeline[a][tm].user\n                            &&\n                            (\n                                (\n                                    timeline[a]\n                                    && timeline[a][tm]\n                                    && timeline[a][tm].user\n                                    && (\n                                        !timeline[a][tm]._toUser\n                                        || (\n                                            timeline[a][tm]._toUser\n                                            && !timeline[a][tm]._toUser[su]\n                                        )\n                                    )\n                                    && timeline[a][tm].user._id === su\n                                )\n                                ||\n                                (\n                                    timeline[a]\n                                    && timeline[a][tm]\n                                    && timeline[a][tm]._toUser\n                                    && timeline[a][tm]._toUser[su]\n                                    && timeline[a][tm]._toUser[su] !== timeline[a][tm].user._id\n                                )\n                            )\n                        ).length > 0\n                    )\n                )\n            ).forEach(ts => {\n                Object.keys(users).forEach(userId => {\n                    if (\n                        userId\n                        && timeline[a]\n                        && timeline[a][ts]\n                        && timeline[a][ts].type === \"timer\"\n                        && !timeline[a][ts].deleted\n                        && (\n                            parseInt(timeline[a][ts].ini) >= moment(`${startDate} 00:00:01`).unix(\"X\")\n                            || parseInt(timeline[a][ts].ini) === 0\n                        )\n                        &&\n                        (\n                            parseInt(timeline[a][ts].fin) <= moment(`${endDate} 23:59:59`).unix(\"X\")\n                        )\n                        && (\n                            (\n                                timeline[a][ts].user\n                                && (\n                                    timeline[a][ts].user._id === userId\n                                    && (\n                                        timeline[a][ts]._toUser\n                                        && Object.keys(timeline[a][ts]._toUser).length === 0\n                                    )\n                                )\n                            )\n                            || (\n                                timeline[a][ts]._toUser\n                                && Object.keys(timeline[a][ts]._toUser).length > 0\n                                && timeline[a][ts]._toUser[userId]\n                            )\n                        )\n                        // && (\n                        //     !timeline[a][ts]._toUser\n                        //     || timeline[a][ts]._toUser && Object.keys(timeline[a][ts]._toUser).length === 0\n                        //     || (\n                        //         timeline[a][ts]._toUser\n                        //         && timeline[a][ts]._toUser[userId]\n                        //     )\n                        // )\n                    ) {\n                        totalSeconds = totalSeconds + (parseInt(timeline[a][ts].fin) - parseInt(timeline[a][ts].ini))\n                        let time = (parseInt(timeline[a][ts].fin) - parseInt(timeline[a][ts].ini))\n\n                        if (timeSheet && timeSheet[userId] && timeSheet[userId].totalTimer) {\n                            time = parseInt(timeSheet[userId].totalTimer) + (parseInt(timeline[a][ts].fin) - parseInt(timeline[a][ts].ini))\n                        } else {\n                            time = parseInt(timeline[a][ts].fin) - parseInt(timeline[a][ts].ini)\n                        }\n\n                        let diff = time\n                        let diffText = ``\n                        let diffTextMini = ``\n                        if (time < 60) {\n                            diffText = `${diff} ${translate(\"$__seconds\", 1)}`\n                            diffText = `${diff}s`\n                        } else if (time > 3600) {\n                            let hours = Math.trunc(diff / 3600)\n                            diff = diff - (hours * 3600)\n                            let minutes = Math.trunc(diff / 60) > 0 ? Math.trunc(diff / 60) : 0\n                            diff = diff - (minutes * 60)\n                            let seconds = diff > 0 ? diff : 0\n                            diffText = `${hours} ${translate(\"$__hour\", 1)}${hours > 1 ? \"s\" : \"\"} ${minutes} ${translate(\"$__minutes\", 1)} ${seconds > 0 ? `${seconds} ${translate(\"$__seconds\", 1)}` : ``}`\n                            diffTextMini = `${hours}H ${minutes}M ${seconds} S`\n                        } else {\n                            let minutes = Math.trunc(diff / 60) > 0 ? Math.trunc(diff / 60) : 0\n                            diff = diff - (minutes * 60)\n                            let seconds = diff > 0 ? diff : 0\n                            diffText = `${minutes} ${translate(\"$__minutes\", 1)} ${seconds > 0 ? `${seconds} ${translate(\"$__seconds\", 1)}` : ``}`\n                            diffTextMini = `${minutes}M ${seconds} S`\n                        }\n\n                        timeSheet = {\n                            ...timeSheet,\n                            [userId]: {\n                                ...timeSheet[userId] ? timeSheet[userId] : {},\n                                ...users[userId] ? users[userId] : {},\n                                ...timeSheet && timeSheet[userId] && timeSheet[userId].totalTimer ?\n                                    { totalTimer: parseInt(timeSheet[userId].totalTimer) + (parseInt(timeline[a][ts].fin) - parseInt(timeline[a][ts].ini)) }\n                                    : { totalTimer: parseInt(timeline[a][ts].fin) - parseInt(timeline[a][ts].ini) },\n                                timerText: diffText,\n                                timerTextMini: diffTextMini,\n                                _times: {\n                                    ...timeSheet[userId] && timeSheet[userId]._times ? timeSheet[userId]._times : {},\n                                    [ts]: {\n                                        ...timeline[a][ts],\n                                        cardId: a\n                                    }\n                                }\n                            }\n                            // }\n                        }\n\n\n                    }\n\n                    totalSecondsRef.current = totalSeconds\n                    timeSheetTotal = timeSheetTotal + 1\n                })\n            })\n        })\n\n        usersRef.current = users\n        setTimeSheetData(timeSheet)\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [cards, loading, selectedUsers]);\n\n\n    const convertSecondsToText = (diff, mini = false) => {\n        let diffText = ``\n        let diffTextMini = ``\n        if (diff < 60) {\n            diffText = `${diff} ${translate(\"$__seconds\", 1)}`\n            diffText = `${diff}s`\n        } else if (diff > 3600) {\n            let hours = Math.trunc(diff / 3600)\n            diff = diff - (hours * 3600)\n            let minutes = Math.trunc(diff / 60) > 0 ? Math.trunc(diff / 60) : 0\n            diff = diff - (minutes * 60)\n            let seconds = diff > 0 ? diff : 0\n            diffText = `${hours} ${translate(\"$__hour\", 1)}${hours > 1 ? \"s\" : \"\"} ${minutes} ${translate(\"$__minutes\", 1)} ${seconds > 0 ? `${seconds} ${translate(\"$__seconds\", 1)}` : ``}`\n            diffTextMini = `${hours}H ${minutes}M ${seconds} S`\n        } else {\n            let minutes = Math.trunc(diff / 60) > 0 ? Math.trunc(diff / 60) : 0\n            diff = diff - (minutes * 60)\n            let seconds = diff > 0 ? diff : 0\n            diffText = `${minutes} ${translate(\"$__minutes\", 1)} ${seconds > 0 ? `${seconds} ${translate(\"$__seconds\", 1)}` : ``}`\n            diffTextMini = `${minutes}M ${seconds} S`\n        }\n        if (mini) return diffTextMini\n        return diffText\n    }\n\n\n\n\n\n    const TimeSheetData = (props) => {\n        return (\n            <div style={{ width: \"100%\", marginBottom: \"10px\", display: \"flex\", alignItems: \"center\" }}>\n                {props.data && props.data.name &&\n                    <React.Fragment>\n                        <div\n                            style={{ width: \"33px\" }}\n                        >\n                            <Tooltip\n                                title={props.data.name}\n                            >\n                                <Avatar alt={props.data.name} src={props.data.image || null} style={{ width: \"33px\", height: \"33px\" }}>\n                                    {props.data.name.substr(0, 1)}\n                                </Avatar>\n                            </Tooltip>\n                        </div>\n                        <div style={{ marginLeft: \"10px\", fontWeight: \"bold\", color: customApp(\"menu\"), width: \"33%\", minWidth: \"150px\" }}>{props.data.name}</div>\n                    </React.Fragment>\n                }\n                <div style={{ marginLeft: \"10px\", fontWeight: \"bold\", color: customApp(\"menu\") }}>{props.data.timerText}</div>\n            </div>\n        )\n    }\n\n    const selectUser = (pr) => {\n        if (selectedUsers[pr] && Object.keys(selectedUsers).filter(a => selectedUsers[a]).length <= 1) {\n            setSelectedUsers({})\n        } else {\n            setSelectedUsers({\n                ...selectedUsers,\n                [pr]: !selectedUsers[pr],\n            })\n        }\n    }\n\n    return (\n        <div style={{ height: '100%', width: '100%' }}>\n            <ViewportChecker>\n                {(inViewport) => (\n                    <UiCard style={{ width: '100%', height: '100%', marginTop: '0px', overflow: \"scroll\" }}>\n                        {(props.edit && inViewport) ? <div style={{ width: '100%', height: '52px', display: 'flex', borderBottom: '1px solid #D3D3D3', backgroundColor: props.styles.backgroundColor ? props.styles.backgroundColor : 'white' }}>\n                            <Icon size={24} style={{ alignSelf: 'center', marginLeft: '20px', color: props.styles.color ? props.styles.color : 'grey', marginTop: '3px' }}>update</Icon>\n                            <p style={{ margin: '0px', marginLeft: '7px', alignSelf: 'center', fontWeight: 'bold', marginTop: '2px', color: props.styles.color ? props.styles.color : 'grey', fontSize: '16px' }}>{translate(`$__timeSheet`, 1)}</p>\n                            <div onMouseEnter={(e) => { e.target.style.backgroundColor = 'rgba(0, 0, 0, 0.12)' }}\n                                onMouseLeave={(e) => { e.target.style.backgroundColor = 'rgba(0, 0, 0, 0)' }}>\n                                <Icon onClick={() => props.handleRemoveObject(props.id)} style={{ height: '25px', color: props.styles.color ? props.styles.color : 'rgba(0, 0, 0, 0.67)', cursor: 'pointer', position: 'absolute', right: '20px', top: '8px', border: '1px solid  #D3D3D3', padding: '14px' }}>\n                                    close\n                                </Icon>\n                            </div>\n                            <div onMouseEnter={(e) => { e.target.style.backgroundColor = 'rgba(0, 0, 0, 0.12)' }}\n                                onMouseLeave={(e) => { e.target.style.backgroundColor = 'rgba(0, 0, 0, 0)' }}>\n                                <Icon className='drag-handle' style={{ height: '25px', cursor: 'move', color: props.styles.color ? props.styles.color : 'rgba(0, 0, 0, 0.67)', position: 'absolute', right: '62px', top: '8px', border: '1px solid  #D3D3D3', padding: '14px' }}>\n                                    open_with\n                                </Icon>\n                            </div>\n                        </div> :\n                            <HeaderWithIcon\n                                title={translate(`$__timeSheet`, 1)}\n                                icon={\"update\"}\n                                color={props.styles.color ? props.styles.color : 'grey'}\n                                style={{\n                                    background: props.styles.backgroundColor ? props.styles.backgroundColor : 'white',\n                                    padding: '12.4px',\n                                    borderRadius: '5px 5px 0px 0px ',\n                                    fontWeight: 'normal',\n                                    borderBottom: '1px solid #D3D3D3'\n                                }}\n                                customButtons={[\n                                    !exportTimers &&\n                                    {\n                                        title: \"$__timeSheetExport\",\n                                        icon: \"file_download\",\n                                        color: customApp(\"colorText\"),\n                                        onClick: () => {\n                                            setExport(!exportTimers)\n                                        },\n                                    },\n                                ]}\n                            />}\n                        {loading ?\n                            <div\n                                style={{\n                                    position: \"absolute\",\n                                    top: 0,\n                                    left: 0,\n                                    right: 0,\n                                    bottom: 0,\n                                    backgroundColor: \"rgba(250,250,250,0.7)\",\n                                    display: \"flex\",\n                                    justifyContent: \"center\",\n                                    alignItems: \"center\",\n                                    zIndex: 10\n                                }}\n                            >\n                                <PreLoader />\n                            </div>\n                            : <React.Fragment></React.Fragment>\n                        }\n                        {(exportTimers && inViewport) &&\n                            <div style={{ padding: \"15px\", border: '1px solid black' }}>\n                                <fieldset style={{ position: \"relative\", width: \"100%\", marginLeft: \"7px\", display: \"flex\", justifyContent: \"space-between\", marginBottom: \"14px\", marginTop: \"7px\" }}>\n                                    <legend>{translate(\"$__timeCourse\", 1)}</legend>\n                                    <TextField\n                                        label={translate(\"$__initialDate\", 1)}\n                                        variant={customApp(\"fieldVariant\", 1)}\n                                        name=\"startDate\"\n                                        style={{ marginRight: \"15px\" }}\n                                        InputLabelProps={{\n                                            shrink: true,\n                                        }}\n                                        type=\"date\"\n                                        inputProps={{\n                                            max: endDate ? endDate : null,\n                                        }}\n                                        InputProps={{\n                                            autoComplete: \"new-password\",\n                                            onChange: (d) => {\n                                                setStartDate(d.target.value)\n                                            },\n                                        }}\n                                        value={startDate}\n                                    />\n                                    <TextField\n                                        label={translate(\"$__endDate\", 1)}\n                                        variant={customApp(\"fieldVariant\")}\n                                        name=\"endDate\"\n                                        type=\"date\"\n                                        min={startDate ? startDate : null}\n                                        InputLabelProps={{\n                                            shrink: true,\n                                        }}\n                                        inputProps={{\n                                            min: startDate ? startDate : null,\n                                        }}\n                                        InputProps={{\n                                            autoComplete: \"new-password\",\n                                            onChange: (d) => {\n                                                setEndDate(d.target.value)\n                                            },\n                                        }}\n                                        value={endDate}\n                                    />\n\n                                </fieldset>\n                                {/* FILTER BY USER */}\n                                {(db.users && Object.keys(db.users).length > 0 && inViewport) &&\n                                    <Accordion style={{ width: \"100%\" }}>\n                                        <AccordionSummary\n                                            style={{ minWidth: \"100%\" }}\n                                            expandIcon={\n                                                <Icon>expand_more</Icon>\n                                            }\n                                            aria-controls=\"panel1a-content\"\n                                            id=\"panel1a-header\"\n                                        ><div style={{ color: customApp(\"color\"), fontSize: \"12px\" }}>\n                                                {translate(\"$__users\")}\n                                                <AvatarGroup max={6}>\n                                                    {Object.keys(selectedUsers).length > 0 && Object.keys(selectedUsers).map((a, i) => (\n                                                        <Tooltip\n                                                            title={db.users[a].name}\n                                                            key={i}\n                                                        >\n                                                            <Avatar alt={db.users[a].name} src={db.users[a].image || null} >\n                                                                {db.users[a].name.substr(0, 1)}\n                                                            </Avatar>\n                                                        </Tooltip>\n                                                    ))}\n                                                </AvatarGroup>\n                                            </div>\n                                        </AccordionSummary>\n                                        <AccordionDetails\n                                            style={{ minWidth: \"100%\" }}\n                                        >\n                                            <FormGroup>\n                                                {Object.keys(usersRef.current).map(pr => {\n                                                    return (\n                                                        db.users && db.users[pr] && db.users[pr]._id &&\n                                                        <React.Fragment key={pr}>\n                                                            <FormControlLabel\n                                                                key={pr}\n                                                                style={{ minWidth: \"100%\" }}\n                                                                control={\n                                                                    <React.Fragment>\n                                                                        <Avatar alt={db.users[pr].name.substr(0, 1)} src={db.users[pr].image || null} >\n                                                                            {db.users[pr].name.substr(0, 1)}\n                                                                        </Avatar>\n                                                                        <Checkbox\n                                                                            checked={selectedUsers && selectedUsers[pr] ? true : false}\n                                                                            onChange={() => {\n                                                                                selectUser(pr)\n                                                                            }}\n                                                                            color=\"default\"\n                                                                        />\n                                                                    </React.Fragment>\n                                                                }\n                                                                label={db.users[pr].name || db.users[pr].name}\n                                                            />\n                                                        </React.Fragment>\n                                                    )\n                                                }\n                                                )}\n                                            </FormGroup>\n                                        </AccordionDetails>\n                                    </Accordion>\n                                }\n                                <div style={{ display: \"flex\", justifyContent: \"center\", marginTop: \"7px\" }}>\n                                    <ExportTimer data={timeSheetData} />\n                                    <CustomButton\n                                        title={translate(\"$__closeFilter\")}\n                                        text={translate(\"$__closeFilter\")}\n                                        color={\"lightgrey\"}\n                                        textColor={\"lightgrey\"}\n                                        icon={\"cancel\"}\n                                        onClick={() => { setExport(!exportTimers) }}\n                                        size={\"25px\"}\n                                    />\n                                </div>\n                            </div>\n                        }\n                        <UiCardHeader style={{ height: \"333px\", position: 'relative', backgroundColor: '#f5f5f5' }}>\n                            {inViewport && <ResponsivePie\n                                data={[\n                                    ...Object.keys(timeSheetData).sort((a, b) => {\n                                        if (parseInt(timeSheetData[a].totalTimer) > parseInt(timeSheetData[b].totalTimer)) {\n                                            return -1\n                                        } else if (parseInt(timeSheetData[a].totalTimer) < parseInt(timeSheetData[b].totalTimer)) {\n                                            return 1\n                                        } else {\n                                            return 0\n                                        }\n                                    }).map((ts, i) => {\n                                        return {\n                                            id: timeSheetData[ts].name,\n                                            label: timeSheetData[ts].name,\n                                            value: timeSheetData[ts].totalTimer,\n                                            color: \"#929497\",\n                                            textMini: timeSheetData[ts].timerText,\n                                        }\n                                    }\n                                    )\n                                ]}\n                                valueFormat={value => {\n                                    convertSecondsToText(value, true)\n                                    return convertSecondsToText(value)\n                                }}\n                                enableArcLabels={false}\n                                colors={{ scheme: \"purpleRed_green\" }}\n                                activeOuterRadiusOffset={8}\n                                arcLabelsTextColor={{ from: \"color\", modifiers: [[\"brighter\", 3]] }}\n                                borderWidth={1}\n                                cornerRadius={3}\n                                enableArcLinkLabels={false}\n                                innerRadius={0.5}\n                                leavesOnly={true}\n                                theme={{\n                                    background: 'transparent'\n                                }}\n                                margin={{ top: 10, right: 0, bottom: 10, left: 0 }}\n                                padAngle={1.3}\n                                sortByValue={true}\n                            />}\n                            <div style={{\n                                width: \"100px\",\n                                wordWrap: \"break-word\",\n                                position: \"absolute\",\n                                top: \"50%\",\n                                left: \"calc(50% - 50px)\",\n                                fontWeight: \"bold\",\n                                color: customApp(\"menu\"),\n                                textAlign: \"center\",\n                            }}>\n                                {convertSecondsToText(totalSecondsRef.current, true)}\n                            </div>\n                        </UiCardHeader>\n                        {inViewport && <UiCardBody>\n                            <GridContainer>\n                                {Object.keys(timeSheetData).sort((a, b) => {\n                                    if (parseInt(timeSheetData[a].totalTimer) > parseInt(timeSheetData[b].totalTimer)) {\n                                        return -1\n                                    } else if (parseInt(timeSheetData[a].totalTimer) < parseInt(timeSheetData[b].totalTimer)) {\n                                        return 1\n                                    } else {\n                                        return 0\n                                    }\n                                }).map((ts, i) =>\n                                    <TimeSheetData data={timeSheetData[ts]} key={ts} />\n                                )}\n                                <TimeSheetData data={{ name: translate(\"$__total\"), timerText: convertSecondsToText(totalSecondsRef.current) }} />\n                            </GridContainer>\n                        </UiCardBody>}\n                        <div style={{\n                            color: \"#CCCCCC\",\n                            fontSize: \"12px\",\n                            padding: \"15px\",\n                            textAlign: \"center\"\n                        }}>\n                            {db.cards[nodeId] && db.cards[nodeId].type === 'plan' ?\n                                translate(\"$__timeSheetShowingAllTimesRegisteredInAllActivitiesOfPlan\")\n                                :\n                                translate(\"$__timeSheetShowingAllTimesRegisteredInActivityAndLinkedActivities\")\n                            }\n                        </div>\n                    </UiCard>\n                )}\n            </ViewportChecker>\n        </div>\n    );\n}\n\nconst mapStateToProps = (store) => ({\n    cards: store.db.cards,\n    timeline: store.timeline\n})\n\nconst mapDispatchToProps = dispatch =>\n    bindActionCreators(reduxActions, dispatch);\n\nexport default connect(mapStateToProps,\n    mapDispatchToProps\n)(Timesheet);"],"sourceRoot":""}