UNPKG

32.8 kBSource Map (JSON)View Raw
1{"version":3,"sources":["src/PivotTableUI.jsx"],"names":["DraggableAttribute","props","state","open","top","left","filterText","value","valueFilter","removeValuesFromFilter","name","addValuesToFilter","x","toLowerCase","trim","includes","e","stopPropagation","setValuesInFilter","Object","keys","attrValues","filter","y","showMenu","length","menuLimit","values","shown","matchesFilter","bind","sort","sorter","display","cursor","zIndex","moveFilterBoxToTop","setState","target","map","toggleValue","selectOnly","event","bodyRect","document","body","getBoundingClientRect","rect","nativeEvent","filtered","toggleFilterBox","getFilterBox","Component","defaultProps","propTypes","string","isRequired","func","objectOf","number","bool","Dropdown","toggle","current","r","setValue","PureComponent","PivotTableUI","unusedOrder","zIndices","maxZIndex","openDropdown","materializeInput","data","nextProps","nextData","materializedInput","recordsProcessed","forEachRecord","derivedAttributes","record","push","attr","null","command","onChange","key","sendPropUpdate","$set","attribute","reduce","v","$unset","dropdown","items","classes","group","ghostClass","preventOnFilter","sorters","numValsAllowed","aggregators","aggregatorName","numInputs","rendererName","renderers","rendererCell","isOpen","propUpdater","sortIcons","key_a_to_z","rowSymbol","colSymbol","next","value_a_to_z","value_z_to_a","aggregatorCell","rowOrder","colOrder","Array","fill","n","i","vals","hiddenAttributes","hiddenFromAggregators","$splice","unusedAttrs","rows","cols","hiddenFromDragDrop","unusedLength","horizUnused","unusedOrientationCutoff","unusedAttrsCell","makeDnDCell","order","colAttrs","colAttrsCell","rowAttrs","rowAttrsCell","outputCell","assign","arrayOf"],"mappings":"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","file":"PivotTableUI.js","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport update from 'immutability-helper';\nimport {PivotData, sortAs, getSort} from './Utilities';\nimport PivotTable from './PivotTable';\nimport Sortable from 'react-sortablejs';\nimport Draggable from 'react-draggable';\n\n/* eslint-disable react/prop-types */\n// eslint can't see inherited propTypes!\n\nclass DraggableAttribute extends React.Component {\n constructor(props) {\n super(props);\n this.state = {open: false, top: 0, left: 0, filterText: ''};\n }\n\n toggleValue(value) {\n if (value in this.props.valueFilter) {\n this.props.removeValuesFromFilter(this.props.name, [value]);\n } else {\n this.props.addValuesToFilter(this.props.name, [value]);\n }\n }\n\n matchesFilter(x) {\n return x\n .toLowerCase()\n .trim()\n .includes(this.state.filterText.toLowerCase().trim());\n }\n\n selectOnly(e, value) {\n e.stopPropagation();\n this.props.setValuesInFilter(\n this.props.name,\n Object.keys(this.props.attrValues).filter(y => y !== value)\n );\n }\n\n getFilterBox() {\n const showMenu =\n Object.keys(this.props.attrValues).length < this.props.menuLimit;\n\n const values = Object.keys(this.props.attrValues);\n const shown = values\n .filter(this.matchesFilter.bind(this))\n .sort(this.props.sorter);\n\n return (\n <Draggable handle=\".pvtDragHandle\">\n <div\n className=\"pvtFilterBox\"\n style={{\n display: 'block',\n cursor: 'initial',\n zIndex: this.props.zIndex,\n top: this.state.top + 'px',\n left: this.state.left + 'px',\n }}\n onClick={() => this.props.moveFilterBoxToTop(this.props.name)}\n >\n <a onClick={() => this.setState({open: false})} className=\"pvtCloseX\">\n ×\n </a>\n <span className=\"pvtDragHandle\">☰</span>\n <h4>{this.props.name}</h4>\n\n {showMenu || <p>(too many values to show)</p>}\n\n {showMenu && (\n <p>\n <input\n type=\"text\"\n placeholder=\"Filter values\"\n className=\"pvtSearch\"\n value={this.state.filterText}\n onChange={e =>\n this.setState({\n filterText: e.target.value,\n })\n }\n />\n <br />\n <a\n role=\"button\"\n className=\"pvtButton\"\n onClick={() =>\n this.props.removeValuesFromFilter(\n this.props.name,\n Object.keys(this.props.attrValues).filter(\n this.matchesFilter.bind(this)\n )\n )\n }\n >\n Select {values.length === shown.length ? 'All' : shown.length}\n </a>{' '}\n <a\n role=\"button\"\n className=\"pvtButton\"\n onClick={() =>\n this.props.addValuesToFilter(\n this.props.name,\n Object.keys(this.props.attrValues).filter(\n this.matchesFilter.bind(this)\n )\n )\n }\n >\n Deselect {values.length === shown.length ? 'All' : shown.length}\n </a>\n </p>\n )}\n\n {showMenu && (\n <div className=\"pvtCheckContainer\">\n {shown.map(x => (\n <p\n key={x}\n onClick={() => this.toggleValue(x)}\n className={x in this.props.valueFilter ? '' : 'selected'}\n >\n <a className=\"pvtOnly\" onClick={e => this.selectOnly(e, x)}>\n only\n </a>\n <a className=\"pvtOnlySpacer\">&nbsp;</a>\n\n {x === '' ? <em>null</em> : x}\n </p>\n ))}\n </div>\n )}\n </div>\n </Draggable>\n );\n }\n\n toggleFilterBox(event) {\n const bodyRect = document.body.getBoundingClientRect();\n const rect = event.nativeEvent.target.getBoundingClientRect();\n this.setState({\n open: !this.state.open,\n top: 10 + rect.top - bodyRect.top,\n left: 10 + rect.left - bodyRect.left,\n });\n this.props.moveFilterBoxToTop(this.props.name);\n }\n\n render() {\n const filtered =\n Object.keys(this.props.valueFilter).length !== 0\n ? 'pvtFilteredAttribute'\n : '';\n return (\n <li data-id={this.props.name}>\n <span className={'pvtAttr ' + filtered}>\n {this.props.name}\n <span\n className=\"pvtTriangle\"\n onClick={this.toggleFilterBox.bind(this)}\n >\n {' '}\n ▾\n </span>\n </span>\n\n {this.state.open ? this.getFilterBox() : null}\n </li>\n );\n }\n}\n\nDraggableAttribute.defaultProps = {\n valueFilter: {},\n};\n\nDraggableAttribute.propTypes = {\n name: PropTypes.string.isRequired,\n addValuesToFilter: PropTypes.func.isRequired,\n removeValuesFromFilter: PropTypes.func.isRequired,\n attrValues: PropTypes.objectOf(PropTypes.number).isRequired,\n valueFilter: PropTypes.objectOf(PropTypes.bool),\n moveFilterBoxToTop: PropTypes.func.isRequired,\n sorter: PropTypes.func.isRequired,\n menuLimit: PropTypes.number,\n zIndex: PropTypes.number,\n};\n\nclass Dropdown extends React.PureComponent {\n render() {\n return (\n <div className=\"pvtDropdown\" style={{zIndex: this.props.zIndex}}>\n <div\n onClick={e => {\n e.stopPropagation();\n this.props.toggle();\n }}\n className={\n 'pvtDropdownValue pvtDropdownCurrent ' +\n (this.props.open ? 'pvtDropdownCurrentOpen' : '')\n }\n role=\"button\"\n >\n <div className=\"pvtDropdownIcon\">{this.props.open ? '×' : '▾'}</div>\n {this.props.current || <span>&nbsp;</span>}\n </div>\n\n {this.props.open && (\n <div className=\"pvtDropdownMenu\">\n {this.props.values.map(r => (\n <div\n key={r}\n role=\"button\"\n onClick={e => {\n e.stopPropagation();\n if (this.props.current === r) {\n this.props.toggle();\n } else {\n this.props.setValue(r);\n }\n }}\n className={\n 'pvtDropdownValue ' +\n (r === this.props.current ? 'pvtDropdownActiveValue' : '')\n }\n >\n {r}\n </div>\n ))}\n </div>\n )}\n </div>\n );\n }\n}\n\nclass PivotTableUI extends React.PureComponent {\n constructor(props) {\n super(props);\n this.state = {\n unusedOrder: [],\n zIndices: {},\n maxZIndex: 1000,\n openDropdown: false,\n };\n }\n\n componentWillMount() {\n this.materializeInput(this.props.data);\n }\n\n componentWillUpdate(nextProps) {\n this.materializeInput(nextProps.data);\n }\n\n materializeInput(nextData) {\n if (this.data === nextData) {\n return;\n }\n this.data = nextData;\n const attrValues = {};\n const materializedInput = [];\n let recordsProcessed = 0;\n PivotData.forEachRecord(this.data, this.props.derivedAttributes, function(\n record\n ) {\n materializedInput.push(record);\n for (const attr of Object.keys(record)) {\n if (!(attr in attrValues)) {\n attrValues[attr] = {};\n if (recordsProcessed > 0) {\n attrValues[attr].null = recordsProcessed;\n }\n }\n }\n for (const attr in attrValues) {\n const value = attr in record ? record[attr] : 'null';\n if (!(value in attrValues[attr])) {\n attrValues[attr][value] = 0;\n }\n attrValues[attr][value]++;\n }\n recordsProcessed++;\n });\n\n this.materializedInput = materializedInput;\n this.attrValues = attrValues;\n }\n\n sendPropUpdate(command) {\n this.props.onChange(update(this.props, command));\n }\n\n propUpdater(key) {\n return value => this.sendPropUpdate({[key]: {$set: value}});\n }\n\n setValuesInFilter(attribute, values) {\n this.sendPropUpdate({\n valueFilter: {\n [attribute]: {\n $set: values.reduce((r, v) => {\n r[v] = true;\n return r;\n }, {}),\n },\n },\n });\n }\n\n addValuesToFilter(attribute, values) {\n if (attribute in this.props.valueFilter) {\n this.sendPropUpdate({\n valueFilter: {\n [attribute]: values.reduce((r, v) => {\n r[v] = {$set: true};\n return r;\n }, {}),\n },\n });\n } else {\n this.setValuesInFilter(attribute, values);\n }\n }\n\n removeValuesFromFilter(attribute, values) {\n this.sendPropUpdate({\n valueFilter: {[attribute]: {$unset: values}},\n });\n }\n\n moveFilterBoxToTop(attribute) {\n this.setState(\n update(this.state, {\n maxZIndex: {$set: this.state.maxZIndex + 1},\n zIndices: {[attribute]: {$set: this.state.maxZIndex + 1}},\n })\n );\n }\n\n isOpen(dropdown) {\n return this.state.openDropdown === dropdown;\n }\n\n makeDnDCell(items, onChange, classes) {\n return (\n <Sortable\n options={{\n group: 'shared',\n ghostClass: 'pvtPlaceholder',\n filter: '.pvtFilterBox',\n preventOnFilter: false,\n }}\n tag=\"td\"\n className={classes}\n onChange={onChange}\n >\n {items.map(x => (\n <DraggableAttribute\n name={x}\n key={x}\n attrValues={this.attrValues[x]}\n valueFilter={this.props.valueFilter[x] || {}}\n sorter={getSort(this.props.sorters, x)}\n menuLimit={this.props.menuLimit}\n setValuesInFilter={this.setValuesInFilter.bind(this)}\n addValuesToFilter={this.addValuesToFilter.bind(this)}\n moveFilterBoxToTop={this.moveFilterBoxToTop.bind(this)}\n removeValuesFromFilter={this.removeValuesFromFilter.bind(this)}\n zIndex={this.state.zIndices[x] || this.state.maxZIndex}\n />\n ))}\n </Sortable>\n );\n }\n\n render() {\n const numValsAllowed =\n this.props.aggregators[this.props.aggregatorName]([])().numInputs || 0;\n\n const rendererName =\n this.props.rendererName in this.props.renderers\n ? this.props.rendererName\n : Object.keys(this.props.renderers)[0];\n\n const rendererCell = (\n <td className=\"pvtRenderers\">\n <Dropdown\n current={rendererName}\n values={Object.keys(this.props.renderers)}\n open={this.isOpen('renderer')}\n zIndex={this.isOpen('renderer') ? this.state.maxZIndex + 1 : 1}\n toggle={() =>\n this.setState({\n openDropdown: this.isOpen('renderer') ? false : 'renderer',\n })\n }\n setValue={this.propUpdater('rendererName')}\n />\n </td>\n );\n\n const sortIcons = {\n key_a_to_z: {\n rowSymbol: '↕',\n colSymbol: '↔',\n next: 'value_a_to_z',\n },\n value_a_to_z: {\n rowSymbol: '↓',\n colSymbol: '→',\n next: 'value_z_to_a',\n },\n value_z_to_a: {rowSymbol: '↑', colSymbol: '←', next: 'key_a_to_z'},\n };\n\n const aggregatorCell = (\n <td className=\"pvtVals\">\n <Dropdown\n current={this.props.aggregatorName}\n values={Object.keys(this.props.aggregators)}\n open={this.isOpen('aggregators')}\n zIndex={this.isOpen('aggregators') ? this.state.maxZIndex + 1 : 1}\n toggle={() =>\n this.setState({\n openDropdown: this.isOpen('aggregators') ? false : 'aggregators',\n })\n }\n setValue={this.propUpdater('aggregatorName')}\n />\n <a\n role=\"button\"\n className=\"pvtRowOrder\"\n onClick={() =>\n this.propUpdater('rowOrder')(sortIcons[this.props.rowOrder].next)\n }\n >\n {sortIcons[this.props.rowOrder].rowSymbol}\n </a>\n <a\n role=\"button\"\n className=\"pvtColOrder\"\n onClick={() =>\n this.propUpdater('colOrder')(sortIcons[this.props.colOrder].next)\n }\n >\n {sortIcons[this.props.colOrder].colSymbol}\n </a>\n {numValsAllowed > 0 && <br />}\n {new Array(numValsAllowed).fill().map((n, i) => [\n <Dropdown\n key={i}\n current={this.props.vals[i]}\n values={Object.keys(this.attrValues).filter(\n e =>\n !this.props.hiddenAttributes.includes(e) &&\n !this.props.hiddenFromAggregators.includes(e)\n )}\n open={this.isOpen(`val${i}`)}\n zIndex={this.isOpen(`val${i}`) ? this.state.maxZIndex + 1 : 1}\n toggle={() =>\n this.setState({\n openDropdown: this.isOpen(`val${i}`) ? false : `val${i}`,\n })\n }\n setValue={value =>\n this.sendPropUpdate({\n vals: {$splice: [[i, 1, value]]},\n })\n }\n />,\n i + 1 !== numValsAllowed ? <br key={`br${i}`} /> : null,\n ])}\n </td>\n );\n\n const unusedAttrs = Object.keys(this.attrValues)\n .filter(\n e =>\n !this.props.rows.includes(e) &&\n !this.props.cols.includes(e) &&\n !this.props.hiddenAttributes.includes(e) &&\n !this.props.hiddenFromDragDrop.includes(e)\n )\n .sort(sortAs(this.state.unusedOrder));\n\n const unusedLength = unusedAttrs.reduce((r, e) => r + e.length, 0);\n const horizUnused = unusedLength < this.props.unusedOrientationCutoff;\n\n const unusedAttrsCell = this.makeDnDCell(\n unusedAttrs,\n order => this.setState({unusedOrder: order}),\n `pvtAxisContainer pvtUnused ${\n horizUnused ? 'pvtHorizList' : 'pvtVertList'\n }`\n );\n\n const colAttrs = this.props.cols.filter(\n e =>\n !this.props.hiddenAttributes.includes(e) &&\n !this.props.hiddenFromDragDrop.includes(e)\n );\n\n const colAttrsCell = this.makeDnDCell(\n colAttrs,\n this.propUpdater('cols'),\n 'pvtAxisContainer pvtHorizList pvtCols'\n );\n\n const rowAttrs = this.props.rows.filter(\n e =>\n !this.props.hiddenAttributes.includes(e) &&\n !this.props.hiddenFromDragDrop.includes(e)\n );\n const rowAttrsCell = this.makeDnDCell(\n rowAttrs,\n this.propUpdater('rows'),\n 'pvtAxisContainer pvtVertList pvtRows'\n );\n const outputCell = (\n <td className=\"pvtOutput\">\n <PivotTable\n {...update(this.props, {\n data: {$set: this.materializedInput},\n })}\n />\n </td>\n );\n\n if (horizUnused) {\n return (\n <table className=\"pvtUi\">\n <tbody onClick={() => this.setState({openDropdown: false})}>\n <tr>\n {rendererCell}\n {unusedAttrsCell}\n </tr>\n <tr>\n {aggregatorCell}\n {colAttrsCell}\n </tr>\n <tr>\n {rowAttrsCell}\n {outputCell}\n </tr>\n </tbody>\n </table>\n );\n }\n\n return (\n <table className=\"pvtUi\">\n <tbody onClick={() => this.setState({openDropdown: false})}>\n <tr>\n {rendererCell}\n {aggregatorCell}\n {colAttrsCell}\n </tr>\n <tr>\n {unusedAttrsCell}\n {rowAttrsCell}\n {outputCell}\n </tr>\n </tbody>\n </table>\n );\n }\n}\n\nPivotTableUI.propTypes = Object.assign({}, PivotTable.propTypes, {\n onChange: PropTypes.func.isRequired,\n hiddenAttributes: PropTypes.arrayOf(PropTypes.string),\n hiddenFromAggregators: PropTypes.arrayOf(PropTypes.string),\n hiddenFromDragDrop: PropTypes.arrayOf(PropTypes.string),\n unusedOrientationCutoff: PropTypes.number,\n menuLimit: PropTypes.number,\n});\n\nPivotTableUI.defaultProps = Object.assign({}, PivotTable.defaultProps, {\n hiddenAttributes: [],\n hiddenFromAggregators: [],\n hiddenFromDragDrop: [],\n unusedOrientationCutoff: 85,\n menuLimit: 500,\n});\n\nexport default PivotTableUI;\n"]}
\No newline at end of file