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/.trash/a1b2c3d4/static/js/0.87ea0142.chunk.js.map
{"version":3,"sources":["components/Dashboards/Widgets/taskDoneBar.jsx"],"names":["TaskDoneBar","props","db","reduxStore","getState","_useState","useState","index","showQuantity","number","finalIndex","dataStructure","_useState2","_slicedToArray","filter","setFilter","_useState3","_useState4","data","setData","keysRef","useRef","filterRef","hashs","window","location","hash","split","replace","usersUsed","useEffect","tags","current","_toConsumableArray","key","forEach","item","concat","label","timeTasks","updateTaskInfo","dateCard","_timeTasks$monthKey","_timeTasks$monthKey2","monthKey","date","format","_objectSpread","_defineProperty","total","month","includes","planCards","Object","keys","planCard","_db$cards$planCard$co","moment","cards","completed_at","low","_tags","i","startDate","startOf","add","endDate","endOf","isBetween","values","load","React","createElement","className","style","width","height","alignSelf","borderRadius","backgroundColor","display","flexFlow","overflow","Header","handleSetSelected","value","handleSetFilter","id","filterConfig","filterSelect","length","filterItems","filterData","tittle","translate","icon","styles","datafilter","handleRemoveObject","edit","handleSetoption","borderBottom","position","flex","fontSize","Icon","onClick","zIndex","top","left","right","fontWeight","ResponsiveBar","layers","bars","yScale","Fragment","fill","stroke","pointerEvents","bar","_bar$data$data","map","_bar$data$data2","cx","x","Math","trunc","cy","r","colors","indexBy","margin","bottom","padding","valueScale","type","indexScale","round","enableLabel","max","minValue","theme","color","background","axis","match","borderColor","from","modifiers","axisTop","axisRight","axisBottom","preview","tickSize","tickPadding","tickRotation","legendPosition","legendOffset","axisLeft","role","justifyContent","maxHeight","Legend","legend","status","a"],"mappings":"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","file":"static/js/0.87ea0142.chunk.js","sourcesContent":["import React, { useEffect, useState, useRef, Fragment } from 'react'\n//COMPONENTS\nimport Legend from '../Legend';\nimport { ResponsiveBar } from '@nivo/bar'\nimport Header from 'components/Dashboards/Header'\nimport './Loader.css';\n\n//REDUX\nimport reduxStore from \"store/\"\nimport moment from \"moment-timezone\"\nimport { translate } from 'functions';\nimport Icon from 'components/Icon';\n\n\n\n//https://codesandbox.io/s/m4ro13jjn8?file=/src/index.js\n\n\nconst TaskDoneBar = (props) => {\n\n    const { db } = reduxStore.getState()\n    const [filter, setFilter] = useState({\n        index: 0,\n        showQuantity: 12,\n        number: 12,\n        finalIndex: 12,\n        dataStructure: 'month',\n    })\n    const [data, setData] = useState({})\n    const keysRef = useRef(['total'])\n    const filterRef = useRef([])\n\n\n    let hashs = window.location.hash.split(\"/\")\n    hashs[0] = hashs[0].replace('#', '')\n    let usersUsed = {}\n\n    // number: filter?.users ? filter?.users?.length : 10,\n\n    useEffect(() => {\n        if (props.filter) {\n            setFilter(props.filter)\n        }\n    }, [props.filter]);\n\n    useEffect(() => {\n        if (filter.tags) {\n            keysRef.current = [...keysRef.current.filter(key => key !== 'total')];\n            filter.tags.forEach((item) => {\n                filterRef.current = [...filterRef.current, item.label];\n            })\n        }\n    }, [filter]);\n\n    // useEffect(() => {\n    //     let timeTasks = {}\n    //     //RELEASE SUPORTE MELHORIAS\n    //     const createDataTimeStructure = (dateCard, structure) => {\n    //         if (structure === 'month') {\n    //             for (let i = 0; i < 12; i++) {\n    //                 let startDate = moment().startOf('year').add(i, 'month').format(\"YYYYMMDD\");\n    //                 let endDate = moment(startDate).add(1, 'month').subtract(1, 'day').format(\"YYYYMMDD\");\n    //                 if ((dateCard.date.format(\"YYYYMMDD\") >= startDate) && (dateCard.date.format(\"YYYYMMDD\") <= endDate)) {\n    //                     timeTasks = {\n    //                         ...timeTasks,\n    //                         [dateCard.date.format('MMMM')]: {\n    //                             ...timeTasks[dateCard.date.format('MMMM')] || {},\n    //                             \"total\": timeTasks && timeTasks[dateCard.date.format('MMMM')] && timeTasks[dateCard.date.format('MMMM')][\"total\"] ? timeTasks[dateCard.date.format('MMMM')][\"total\"] + 1 : 1,\n    //                             \"month\": dateCard.date.format('MMMM'),\n    //                         }\n    //                     }\n    //                     if (filter?.tags) {\n    //                         dateCard.tags\n    //                             .filter(item => item.label && filterRef.current.includes(item.label))\n    //                             .forEach(item => {\n    //                                 timeTasks = {\n    //                                     ...timeTasks,\n    //                                     [dateCard.date.format('MMMM')]: {\n    //                                         ...timeTasks[dateCard.date.format('MMMM')] || {},\n    //                                         [item.label]: timeTasks && timeTasks[dateCard.date.format('MMMM')] && timeTasks[dateCard.date.format('MMMM')][\"total\"] ? timeTasks[dateCard.date.format('MMMM')][\"total\"] + 1 : 1,\n    //                                     }\n    //                                 }\n    //                                 if (!keysRef.current.includes(item.label)) {\n    //                                     keysRef.current = [...keysRef.current, item.label];\n    //                                 }\n    //                             })\n    //                     }\n    //                 }\n    //             }\n    //         }\n\n    //     }\n\n    //     if (props.planCards) {\n    //         let data = {}\n    //         Object.keys(props.planCards).length > 0 && Object.keys(props.planCards).forEach(planCard => {\n    //             let dateCard = {\n    //                 date: moment(db.cards[planCard].completed_at?.low * 1000),\n    //                 tags: db.cards[planCard]._tags\n    //             }\n    //             let structure = filter.dataStructure\n    //             createDataTimeStructure(dateCard, structure)\n    //         })\n    //         if (data !== usersUsed)\n    //             setData(Object.values(timeTasks))\n    //     }\n    //     // eslint-disable-next-line react-hooks/exhaustive-deps\n    // }, [props.planCards, props.load, filter]);\n\n    useEffect(() => {\n        let timeTasks = {};\n\n        const updateTaskInfo = (dateCard, label) => {\n            const monthKey = dateCard.date.format('MMMM');\n            timeTasks = {\n                ...timeTasks,\n                [monthKey]: {\n                    ...timeTasks[monthKey] || {},\n                    total: (timeTasks[monthKey]?.total || 0) + 1,\n                    month: dateCard.date.format('MMMM'),\n                    [label]: (timeTasks[monthKey]?.[label] || 0) + 1,\n                }\n            };\n\n            if (!keysRef.current.includes(label)) {\n                keysRef.current = [...keysRef.current, label];\n            }\n        };\n\n        if (props.planCards) {\n            Object.keys(props.planCards).forEach(planCard => {\n                const dateCard = {\n                    date: moment(db.cards[planCard].completed_at?.low * 1000),\n                    tags: db.cards[planCard]._tags\n                };\n                const structure = filter.dataStructure;\n\n                if (structure === 'month') {\n                    for (let i = 0; i < 12; i++) {\n                        const startDate = moment().startOf('year').add(i, 'month');\n                        const endDate = moment(startDate).endOf('month');\n\n                        if (dateCard.date.isBetween(startDate, endDate, null, '[]')) {\n                            if (filter?.tags) {\n                                dateCard.tags\n                                    .filter(item => item.label && filterRef.current.includes(item.label))\n                                    .forEach(item => {\n                                        updateTaskInfo(dateCard, item.label);\n                                    });\n                            }\n                        }\n                    }\n                }\n            });\n\n            const data = Object.values(timeTasks);\n            if (data !== usersUsed) {\n                setData(data);\n            }\n        }\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [props.planCards, props.load, filter]);\n\n    // const barColor = \"#0095ff\";\n    const lineColor = \"rgba(200, 30, 15, 1)\";\n    // const areaColor = \"#0095ff\";\n\n    const Line = (props) => {\n        const { bars, yScale } = props\n        return (\n            <Fragment>\n                <path\n                    fill=\"none\"\n                    stroke={lineColor}\n                    style={{ pointerEvents: \"none\" }}\n                />\n                {bars\n                    .filter(bar => bar.data.data?.[\"RELEASE\"])\n                    .map(bar => {\n                        return <circle\n                            key={bar.key}\n                            cx={props.bars[2].x + Math.trunc(bar.width) / 2}\n                            cy={yScale(bar.data.data?.[\"RELEASE\"])}\n                            r={4}\n                            fill=\"white\"\n                            stroke={lineColor}\n                            style={{ pointerEvents: \"none\" }}\n                        />\n                    }\n                    )}\n            </Fragment>\n        );\n    };\n\n    return (\n        <div className='box' style={{ width: '100%', height: '100%', alignSelf: 'center', borderRadius: '5px', backgroundColor: 'transparent', display: 'flex', flexFlow: 'column', overflow: 'visible' }}>\n            <Header\n                handleSetSelected={(value) => {\n                    setFilter({ ...filter, ...value })\n                    props.handleSetFilter({ ...filter, ...value, id: props.id })\n                }}\n                filterConfig={{ filterSelect: Object.keys(data).length > 0 && Object.values(data).length, filterItems: ['users', 'tags'], filterData: filter }}\n                tittle={translate(\"$__\" + props.tittle)}\n                icon={props.icon}\n                styles={props.styles}\n                datafilter={true}\n                handleRemoveObject={() => props.handleRemoveObject(props.id)}\n                edit={props.edit}\n                handleSetoption={(value) => {\n                    setFilter({ ...filter, ...value })\n                    props.handleSetFilter({ ...filter, ...value, id: props.id })\n                }}\n            />\n            <div style={{ borderBottom: '1px solid #D3D3D3', width: '100%' }}></div>\n            <div style={{}} >\n            </div>\n            <div style={{ position: 'relative', flex: '1 1 auto', fontSize: '16px' }}>\n                {(filter.index !== 0) &&\n                    <Icon\n                        onClick={() =>\n                            setFilter(\n                                {\n                                    ...filter,\n                                    index: filter.index - 1,\n                                    finalIndex: filter.finalIndex - 1\n                                })\n                        }\n                        style={\n                            {\n                                position: 'absolute',\n                                zIndex: '999',\n                                top: '48%',\n                                left: '10px'\n                            }}>\n                        arrow_back_ios\n                    </Icon>\n                }\n                {(Object.keys(data).length !== filter.index + filter.number && Object.keys(data).length > filter.showQuantity) && <Icon onClick={() => setFilter({ ...filter, index: filter.index + 1, finalIndex: filter.finalIndex + 1 })} style={{ position: 'absolute', zIndex: '999', top: '48%', right: '10px' }}>arrow_forward_ios</Icon>}\n                <div style={{ width: '100%', height: '100%', position: 'absolute', fontWeight: 'lighter', backgroundColor: '#f5f5f5' }}>\n                    {(Object.keys(data).length > 0 && !props.load) ?\n                        <div className='component' style={{ width: '100%', height: '100%' }}>\n                            <ResponsiveBar\n                                data={data}\n                                layers={[\"grid\", \"axes\", \"bars\", Line, \"markers\", \"legends\"]}\n                                keys={keysRef.current} // data\n                                colors={[\"#011E41\", \"#5A7F71\", \"#929497\", \"#EBA900\", \"pink\"]}\n                                indexBy={\"month\"} //data\n                                margin={{ top: 40, right: 20, bottom: 30, left: 40 }}\n                                padding={0.3}\n                                valueScale={{ type: 'linear' }}\n                                indexScale={{ type: 'band', round: false }}\n                                enableLabel={false}\n                                yScale={{\n                                    max: 100,\n                                }}\n                                minValue={0}\n                                theme={{\n                                    fontSize: '14px',\n                                    color: 'white',\n                                    background: '#f5f5f5',\n                                    axis: {\n                                        \"ticks\": {\n                                            \"text\": {\n                                                fill: 'rgba(0, 0, 0, 0.50)',\n                                                \"fontSize\": 14,\n                                                //cor dos numeros\n                                            },\n                                        }\n                                    },\n                                }}\n\n                                fill={[\n                                    {\n                                        match: {\n                                            id: 'fries'\n                                        },\n                                        id: 'dots'\n                                    },\n                                    {\n                                        match: {\n                                            id: 'sandwich'\n                                        },\n                                        id: 'lines'\n                                    }\n                                ]}\n                                borderColor={{\n                                    from: 'color',\n                                    modifiers: [\n                                        [\n                                            'darker',\n                                            1.6\n                                        ]\n                                    ]\n                                }}\n                                axisTop={null}\n                                axisRight={null}\n                                axisBottom={!props.preview ? {\n                                    tickSize: 5,\n                                    tickPadding: 5,\n                                    tickRotation: 0,\n                                    legendPosition: 'middle',\n                                    legendOffset: 32,\n                                } : null}\n                                axisLeft={!props.preview ? {\n                                    tickSize: 5,\n                                    tickPadding: 5,\n                                    tickRotation: 0,\n                                    legendPosition: 'middle',\n                                    legendOffset: -40\n                                } : null}\n                                role=\"application\"\n                            /> </div> : <div style={{ width: '100%', height: '100%', display: 'flex', justifyContent: 'center' }}>\n                            <div style={{ alignSelf: 'center' }}>  <div className=\"loader\"></div></div>\n                        </div>}\n                </div>\n            </div>\n            <div style={{ height: '15%', maxHeight: '60px', display: 'flex', backgroundColor: 'white' }}>\n                <Legend\n                    legend={[...db.status.map((a, i) => {\n                        return {\n                            key: i,\n                            color: a.color,\n                            label: a.label\n                        }\n                    })]} />\n            </div>\n        </div >\n    )\n}\n\nexport default TaskDoneBar\n"],"sourceRoot":""}