@popmenu/common-ui 0.18.3-alpha.0 → 0.18.3-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/{esm/index.js → index.es.js} +2051 -8
- package/build/index.es.js.map +1 -0
- package/build/index.js +1771 -4314
- package/build/index.js.map +1 -1
- package/package.json +5 -4
- package/build/esm/components/Accordion/index.d.ts +0 -1
- package/build/esm/components/AccordionActions/index.d.ts +0 -1
- package/build/esm/components/AccordionDetails/index.d.ts +0 -1
- package/build/esm/components/AccordionSummary/index.d.ts +0 -1
- package/build/esm/components/Alert/index.d.ts +0 -1
- package/build/esm/components/AppBar/index.d.ts +0 -1
- package/build/esm/components/AudioPlayer/AudioPlayer.d.ts +0 -3
- package/build/esm/components/AudioPlayer/AudioPlayerProps.d.ts +0 -4
- package/build/esm/components/AudioPlayer/index.d.ts +0 -2
- package/build/esm/components/AudioPlayer/util/audioPlayerReducer.d.ts +0 -11
- package/build/esm/components/AudioPlayer/util/formatTime.d.ts +0 -1
- package/build/esm/components/AudioPlayer/util/index.d.ts +0 -5
- package/build/esm/components/AudioPlayer/util/setupAudioRef.d.ts +0 -8
- package/build/esm/components/AudioPlayer/util/types.d.ts +0 -77
- package/build/esm/components/AudioPlayer/util/useVolumeIcon.d.ts +0 -2
- package/build/esm/components/Avatar/Avatar.d.ts +0 -3
- package/build/esm/components/Avatar/AvatarProps.d.ts +0 -15
- package/build/esm/components/Avatar/avatar.styles.d.ts +0 -2
- package/build/esm/components/Avatar/index.d.ts +0 -2
- package/build/esm/components/Avatar/util/useImageProps.d.ts +0 -15
- package/build/esm/components/Badge/index.d.ts +0 -1
- package/build/esm/components/Box/Box.d.ts +0 -3
- package/build/esm/components/Box/BoxProps.d.ts +0 -5
- package/build/esm/components/Box/BoxStyles.d.ts +0 -1
- package/build/esm/components/Box/index.d.ts +0 -7
- package/build/esm/components/Breadcrumbs/index.d.ts +0 -1
- package/build/esm/components/Button/Button.d.ts +0 -3
- package/build/esm/components/Button/ButtonProps.d.ts +0 -6
- package/build/esm/components/Button/ButtonStyles.d.ts +0 -2
- package/build/esm/components/Button/index.d.ts +0 -2
- package/build/esm/components/ButtonBase/index.d.ts +0 -1
- package/build/esm/components/ButtonGroup/index.d.ts +0 -1
- package/build/esm/components/Card/index.d.ts +0 -1
- package/build/esm/components/CardActionArea/index.d.ts +0 -1
- package/build/esm/components/CardActions/index.d.ts +0 -1
- package/build/esm/components/CardContent/index.d.ts +0 -1
- package/build/esm/components/CardHeader/index.d.ts +0 -1
- package/build/esm/components/CardMedia/index.d.ts +0 -1
- package/build/esm/components/Checkbox/Checkbox.d.ts +0 -3
- package/build/esm/components/Checkbox/CheckboxProps.d.ts +0 -8
- package/build/esm/components/Checkbox/index.d.ts +0 -2
- package/build/esm/components/Chip/index.d.ts +0 -1
- package/build/esm/components/CircularProgress/index.d.ts +0 -1
- package/build/esm/components/ClickAwayListener/index.d.ts +0 -1
- package/build/esm/components/CollapsibleText/CollapsibleText.d.ts +0 -3
- package/build/esm/components/CollapsibleText/CollapsibleTextProps.d.ts +0 -12
- package/build/esm/components/CollapsibleText/CollapsibleTextStyles.d.ts +0 -4
- package/build/esm/components/CollapsibleText/index.d.ts +0 -2
- package/build/esm/components/Dialog/index.d.ts +0 -1
- package/build/esm/components/DialogActions/index.d.ts +0 -1
- package/build/esm/components/DialogContent/index.d.ts +0 -1
- package/build/esm/components/DialogContentText/index.d.ts +0 -1
- package/build/esm/components/DialogTitle/index.d.ts +0 -1
- package/build/esm/components/Divider/Divider.d.ts +0 -3
- package/build/esm/components/Divider/DividerProps.d.ts +0 -17
- package/build/esm/components/Divider/index.d.ts +0 -2
- package/build/esm/components/Drawer/index.d.ts +0 -1
- package/build/esm/components/Fab/index.d.ts +0 -1
- package/build/esm/components/FormControl/index.d.ts +0 -1
- package/build/esm/components/FormControlLabel/index.d.ts +0 -1
- package/build/esm/components/FormLabel/index.d.ts +0 -1
- package/build/esm/components/Grid/index.d.ts +0 -1
- package/build/esm/components/GridList/index.d.ts +0 -1
- package/build/esm/components/Hidden/index.d.ts +0 -1
- package/build/esm/components/Icon/Icon.d.ts +0 -4
- package/build/esm/components/Icon/IconProps.d.ts +0 -11
- package/build/esm/components/Icon/IconStyles.d.ts +0 -2
- package/build/esm/components/Icon/index.d.ts +0 -2
- package/build/esm/components/IconButton/IconButton.d.ts +0 -3
- package/build/esm/components/IconButton/IconButtonProps.d.ts +0 -2
- package/build/esm/components/IconButton/index.d.ts +0 -2
- package/build/esm/components/InputAdornment/index.d.ts +0 -1
- package/build/esm/components/LinearProgress/index.d.ts +0 -1
- package/build/esm/components/Link/Link.d.ts +0 -3
- package/build/esm/components/Link/LinkProps.d.ts +0 -4
- package/build/esm/components/Link/index.d.ts +0 -2
- package/build/esm/components/Link/link.styles.d.ts +0 -2
- package/build/esm/components/List/index.d.ts +0 -1
- package/build/esm/components/ListItem/index.d.ts +0 -1
- package/build/esm/components/ListItemIcon/index.d.ts +0 -1
- package/build/esm/components/ListItemSecondaryAction/index.d.ts +0 -1
- package/build/esm/components/ListItemText/index.d.ts +0 -1
- package/build/esm/components/Menu/index.d.ts +0 -1
- package/build/esm/components/MenuItem/index.d.ts +0 -1
- package/build/esm/components/MenuList/index.d.ts +0 -1
- package/build/esm/components/Modal/index.d.ts +0 -1
- package/build/esm/components/Paper/Paper.d.ts +0 -6
- package/build/esm/components/Paper/index.d.ts +0 -1
- package/build/esm/components/PaperContent/PaperContent.d.ts +0 -2
- package/build/esm/components/PaperContent/index.d.ts +0 -1
- package/build/esm/components/Popover/index.d.ts +0 -1
- package/build/esm/components/Popper/index.d.ts +0 -1
- package/build/esm/components/Radio/Radio.d.ts +0 -3
- package/build/esm/components/Radio/RadioProps.d.ts +0 -8
- package/build/esm/components/Radio/index.d.ts +0 -2
- package/build/esm/components/SplitInput/SplitInput.d.ts +0 -3
- package/build/esm/components/SplitInput/SplitInputProps.d.ts +0 -18
- package/build/esm/components/SplitInput/SplitInputStyles.d.ts +0 -2
- package/build/esm/components/SplitInput/index.d.ts +0 -2
- package/build/esm/components/Step/index.d.ts +0 -1
- package/build/esm/components/StepButton/index.d.ts +0 -1
- package/build/esm/components/StepConnector/index.d.ts +0 -1
- package/build/esm/components/StepContent/index.d.ts +0 -1
- package/build/esm/components/StepIcon/index.d.ts +0 -1
- package/build/esm/components/StepLabel/index.d.ts +0 -1
- package/build/esm/components/Stepper/index.d.ts +0 -1
- package/build/esm/components/Switch/Switch.d.ts +0 -3
- package/build/esm/components/Switch/SwitchProps.d.ts +0 -8
- package/build/esm/components/Switch/index.d.ts +0 -2
- package/build/esm/components/Switch/switch.styles.d.ts +0 -2
- package/build/esm/components/Tab/index.d.ts +0 -1
- package/build/esm/components/Table/Table.d.ts +0 -3
- package/build/esm/components/Table/TableProps.d.ts +0 -28
- package/build/esm/components/Table/TableStyles.d.ts +0 -2
- package/build/esm/components/Table/index.d.ts +0 -2
- package/build/esm/components/Table/util/makeColumns.d.ts +0 -7
- package/build/esm/components/TableActionsCell/TableActionsCell.d.ts +0 -3
- package/build/esm/components/TableActionsCell/TableActionsCellProps.d.ts +0 -10
- package/build/esm/components/TableActionsCell/index.d.ts +0 -2
- package/build/esm/components/TableBody/TableBody.d.ts +0 -2
- package/build/esm/components/TableBody/index.d.ts +0 -1
- package/build/esm/components/TableCell/TableCell.d.ts +0 -2
- package/build/esm/components/TableCell/TableCellStyles.d.ts +0 -1
- package/build/esm/components/TableCell/index.d.ts +0 -1
- package/build/esm/components/TableFooter/TableFooter.d.ts +0 -2
- package/build/esm/components/TableFooter/index.d.ts +0 -1
- package/build/esm/components/TableHeader/TableHeader.d.ts +0 -2
- package/build/esm/components/TableHeader/index.d.ts +0 -1
- package/build/esm/components/TableHeaderCell/TableHeaderCell.d.ts +0 -3
- package/build/esm/components/TableHeaderCell/TableHeaderCellProps.d.ts +0 -8
- package/build/esm/components/TableHeaderCell/TableHeaderCellStyles.d.ts +0 -2
- package/build/esm/components/TableHeaderCell/index.d.ts +0 -1
- package/build/esm/components/TableHeaderRow/TableHeaderRow.d.ts +0 -2
- package/build/esm/components/TableHeaderRow/index.d.ts +0 -1
- package/build/esm/components/TableRow/TableRow.d.ts +0 -2
- package/build/esm/components/TableRow/TableRowStyles.d.ts +0 -1
- package/build/esm/components/TableRow/index.d.ts +0 -1
- package/build/esm/components/Tabs/index.d.ts +0 -1
- package/build/esm/components/TextField/index.d.ts +0 -1
- package/build/esm/components/ThemeProvider/index.d.ts +0 -1
- package/build/esm/components/ToggleButton/ToggleButton.d.ts +0 -3
- package/build/esm/components/ToggleButton/ToggleButtonProps.d.ts +0 -4
- package/build/esm/components/ToggleButton/ToggleButtonStyles.d.ts +0 -2
- package/build/esm/components/ToggleButton/index.d.ts +0 -2
- package/build/esm/components/ToggleButtonGroup/ToggleButtonGroup.d.ts +0 -3
- package/build/esm/components/ToggleButtonGroup/ToggleButtonGroupProps.d.ts +0 -6
- package/build/esm/components/ToggleButtonGroup/ToggleButtonGroupStyles.d.ts +0 -1
- package/build/esm/components/ToggleButtonGroup/index.d.ts +0 -2
- package/build/esm/components/Toolbar/index.d.ts +0 -1
- package/build/esm/components/Tooltip/Tooltip.d.ts +0 -3
- package/build/esm/components/Tooltip/TooltipProps.d.ts +0 -1
- package/build/esm/components/Tooltip/TooltipStyles.d.ts +0 -2
- package/build/esm/components/Tooltip/index.d.ts +0 -2
- package/build/esm/components/Typography/Typography.d.ts +0 -3
- package/build/esm/components/Typography/TypographyStyles.d.ts +0 -2
- package/build/esm/components/Typography/index.d.ts +0 -2
- package/build/esm/components/index.d.ts +0 -75
- package/build/esm/hooks/index.d.ts +0 -1
- package/build/esm/hooks/useCollapsibleText.d.ts +0 -10
- package/build/esm/index.d.ts +0 -3
- package/build/esm/index.js.map +0 -1
- package/build/esm/react-table-de7bf68c.js +0 -4591
- package/build/esm/react-table-de7bf68c.js.map +0 -1
- package/build/esm/types/index.d.ts +0 -2
- package/build/esm/util/ServerStyleSheets.d.ts +0 -1
- package/build/esm/util/colors/alpha.d.ts +0 -1
- package/build/esm/util/colors/darken.d.ts +0 -1
- package/build/esm/util/colors/decomposeColor.d.ts +0 -1
- package/build/esm/util/colors/getLuminance.d.ts +0 -1
- package/build/esm/util/colors/hexToRgb.d.ts +0 -1
- package/build/esm/util/colors/index.d.ts +0 -8
- package/build/esm/util/colors/lighten.d.ts +0 -1
- package/build/esm/util/colors/recomposeColor.d.ts +0 -1
- package/build/esm/util/colors/rgbToHex.d.ts +0 -1
- package/build/esm/util/createTheme.d.ts +0 -1
- package/build/esm/util/index.d.ts +0 -4
- package/build/esm/util/makeStyles.d.ts +0 -1
|
@@ -1,4591 +0,0 @@
|
|
|
1
|
-
import React__default from 'react';
|
|
2
|
-
|
|
3
|
-
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
4
|
-
|
|
5
|
-
var reactTable = {exports: {}};
|
|
6
|
-
|
|
7
|
-
var reactTable_production_min = {exports: {}};
|
|
8
|
-
|
|
9
|
-
(function (module, exports) {
|
|
10
|
-
!function(e,t){t(exports,React__default);}(commonjsGlobal,(function(e,t){function n(e,t,n,o,r,i,u){try{var l=e[i](u),s=l.value;}catch(e){return void n(e)}l.done?t(s):Promise.resolve(s).then(o,r);}function o(e){return function(){var t=this,o=arguments;return new Promise((function(r,i){var u=e.apply(t,o);function l(e){n(u,r,i,l,s,"next",e);}function s(e){n(u,r,i,l,s,"throw",e);}l(void 0);}))}}function r(){return (r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o]);}return e}).apply(this,arguments)}function i(e,t){if(null==e)return {};var n,o,r={},i=Object.keys(e);for(o=0;o<i.length;o++)n=i[o],t.indexOf(n)>=0||(r[n]=e[n]);return r}function u(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||"default");if("object"!=typeof o)return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return ("string"===t?String:Number)(e)}(e,"string");return "symbol"==typeof t?t:String(t)}t=t&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t;var l={init:"init"},s=function(e){var t=e.value;return void 0===t?"":t},a=function(){return t.createElement(t.Fragment,null," ")},c={Cell:s,width:150,minWidth:0,maxWidth:Number.MAX_SAFE_INTEGER};function d(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.reduce((function(e,t){var n=t.style,o=t.className;return e=r({},e,{},i(t,["style","className"])),n&&(e.style=e.style?r({},e.style||{},{},n||{}):n),o&&(e.className=e.className?e.className+" "+o:o),""===e.className&&delete e.className,e}),{})}var f=function(e,t){return void 0===t&&(t={}),function(n){return void 0===n&&(n={}),[].concat(e,[n]).reduce((function(e,o){return function e(t,n,o){return "function"==typeof n?e({},n(t,o)):Array.isArray(n)?d.apply(void 0,[t].concat(n)):d(t,n)}(e,o,r({},t,{userProps:n}))}),{})}},p=function(e,t,n,o){return void 0===n&&(n={}),e.reduce((function(e,t){return t(e,n)}),t)},g=function(e,t,n){return void 0===n&&(n={}),e.forEach((function(e){e(t,n);}))};function v(e,t,n,o){e.findIndex((function(e){return e.pluginName===n}));t.forEach((function(t){e.findIndex((function(e){return e.pluginName===t}));}));}function m(e,t){return "function"==typeof e?e(t):e}function h(e){var n=t.useRef();return n.current=e,t.useCallback((function(){return n.current}),[])}var y="undefined"!=typeof document?t.useLayoutEffect:t.useEffect;function w(e,n){var o=t.useRef(!1);y((function(){o.current&&e(),o.current=!0;}),n);}function R(e,t,n){return void 0===n&&(n={}),function(o,i){void 0===i&&(i={});var u="string"==typeof o?t[o]:o;if(void 0===u)throw console.info(t),new Error("Renderer Error ☝️");return b(u,r({},e,{column:t},n,{},i))}}function b(e,n){return function(e){return "function"==typeof e&&((t=Object.getPrototypeOf(e)).prototype&&t.prototype.isReactComponent);var t;}(o=e)||"function"==typeof o||function(e){return "object"==typeof e&&"symbol"==typeof e.$$typeof&&["react.memo","react.forward_ref"].includes(e.$$typeof.description)}(o)?t.createElement(e,n):e;var o;}function S(e,t,n){return void 0===n&&(n=0),e.map((function(e){return x(e=r({},e,{parent:t,depth:n})),e.columns&&(e.columns=S(e.columns,e,n+1)),e}))}function C(e){return G(e,"columns")}function x(e){var t=e.id,n=e.accessor,o=e.Header;if("string"==typeof n){t=t||n;var r=n.split(".");n=function(e){return function(e,t,n){if(!t)return e;var o,r="function"==typeof t?t:JSON.stringify(t),i=E.get(r)||function(){var e=function(e){return function e(t,n){void 0===n&&(n=[]);if(Array.isArray(t))for(var o=0;o<t.length;o+=1)e(t[o],n);else n.push(t);return n}(e).map((function(e){return String(e).replace(".","_")})).join(".").replace(W,".").replace(O,"").split(".")}(t);return E.set(r,e),e}();try{o=i.reduce((function(e,t){return e[t]}),e);}catch(e){}return void 0!==o?o:n}(e,r)};}if(!t&&"string"==typeof o&&o&&(t=o),!t&&e.columns)throw console.error(e),new Error('A column ID (or unique "Header" value) is required!');if(!t)throw console.error(e),new Error("A column ID (or string accessor) is required!");return Object.assign(e,{id:t,accessor:n}),e}function P(e,t){if(!t)throw new Error;return Object.assign(e,r({Header:a,Footer:a},c,{},t,{},e)),Object.assign(e,{originalWidth:e.width}),e}function B(e,t,n){void 0===n&&(n=function(){return {}});for(var o=[],i=e,u=0,l=function(){return u++},s=function(){var e={headers:[]},u=[],s=i.some((function(e){return e.parent}));i.forEach((function(o){var i,a=[].concat(u).reverse()[0];if(s){if(o.parent)i=r({},o.parent,{originalId:o.parent.id,id:o.parent.id+"_"+l(),headers:[o]},n(o));else i=P(r({originalId:o.id+"_placeholder",id:o.id+"_placeholder_"+l(),placeholderOf:o,headers:[o]},n(o)),t);a&&a.originalId===i.originalId?a.headers.push(o):u.push(i);}e.headers.push(o);})),o.push(e),i=u;};i.length;)s();return o.reverse()}var E=new Map;function I(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];for(var o=0;o<t.length;o+=1)if(void 0!==t[o])return t[o]}function F(e){if("function"==typeof e)return e}function G(e,t){var n=[];return function e(o){o.forEach((function(o){o[t]?e(o[t]):n.push(o);}));}(e),n}function A(e,t){var n=t.manualExpandedKey,o=t.expanded,r=t.expandSubRows,i=void 0===r||r,u=[];return e.forEach((function(e){return function e(t,r){void 0===r&&(r=!0),t.isExpanded=t.original&&t.original[n]||o[t.id],t.canExpand=t.subRows&&!!t.subRows.length,r&&u.push(t),t.subRows&&t.subRows.length&&t.isExpanded&&t.subRows.forEach((function(t){return e(t,i)}));}(e)})),u}function k(e,t,n){return F(e)||t[e]||n[e]||n.text}function H(e,t,n){return e?e(t,n):void 0===t}function T(){throw new Error("React-Table: You have not called prepareRow(row) one or more rows you are attempting to render.")}var z=null;var W=/\[/g,O=/\]/g;var M=function(e){return r({role:"table"},e)},j=function(e){return r({role:"rowgroup"},e)},N=function(e,t){var n=t.column;return r({key:"header_"+n.id,colSpan:n.totalVisibleHeaderCount,role:"columnheader"},e)},L=function(e,t){var n=t.column;return r({key:"footer_"+n.id,colSpan:n.totalVisibleHeaderCount},e)},D=function(e,t){return r({key:"headerGroup_"+t.index,role:"row"},e)},V=function(e,t){return r({key:"footerGroup_"+t.index},e)},_=function(e,t){return r({key:"row_"+t.row.id,role:"row"},e)},X=function(e,t){var n=t.cell;return r({key:"cell_"+n.row.id+"_"+n.column.id,role:"cell"},e)};function q(){return {useOptions:[],stateReducers:[],useControlledState:[],columns:[],columnsDeps:[],allColumns:[],allColumnsDeps:[],accessValue:[],materializedColumns:[],materializedColumnsDeps:[],useInstanceAfterData:[],visibleColumns:[],visibleColumnsDeps:[],headerGroups:[],headerGroupsDeps:[],useInstanceBeforeDimensions:[],useInstance:[],prepareRow:[],getTableProps:[M],getTableBodyProps:[j],getHeaderGroupProps:[D],getFooterGroupProps:[V],getHeaderProps:[N],getFooterProps:[L],getRowProps:[_],getCellProps:[X],useFinalInstance:[]}}l.resetHiddenColumns="resetHiddenColumns",l.toggleHideColumn="toggleHideColumn",l.setHiddenColumns="setHiddenColumns",l.toggleHideAllColumns="toggleHideAllColumns";var K=function(e){e.getToggleHiddenProps=[U],e.getToggleHideAllColumnsProps=[$],e.stateReducers.push(J),e.useInstanceBeforeDimensions.push(Y),e.headerGroupsDeps.push((function(e,t){var n=t.instance;return [].concat(e,[n.state.hiddenColumns])})),e.useInstance.push(Q);};K.pluginName="useColumnVisibility";var U=function(e,t){var n=t.column;return [e,{onChange:function(e){n.toggleHidden(!e.target.checked);},style:{cursor:"pointer"},checked:n.isVisible,title:"Toggle Column Visible"}]},$=function(e,t){var n=t.instance;return [e,{onChange:function(e){n.toggleHideAllColumns(!e.target.checked);},style:{cursor:"pointer"},checked:!n.allColumnsHidden&&!n.state.hiddenColumns.length,title:"Toggle All Columns Hidden",indeterminate:!n.allColumnsHidden&&n.state.hiddenColumns.length}]};function J(e,t,n,o){if(t.type===l.init)return r({hiddenColumns:[]},e);if(t.type===l.resetHiddenColumns)return r({},e,{hiddenColumns:o.initialState.hiddenColumns||[]});if(t.type===l.toggleHideColumn){var i=(void 0!==t.value?t.value:!e.hiddenColumns.includes(t.columnId))?[].concat(e.hiddenColumns,[t.columnId]):e.hiddenColumns.filter((function(e){return e!==t.columnId}));return r({},e,{hiddenColumns:i})}return t.type===l.setHiddenColumns?r({},e,{hiddenColumns:m(t.value,e.hiddenColumns)}):t.type===l.toggleHideAllColumns?r({},e,{hiddenColumns:(void 0!==t.value?t.value:!e.hiddenColumns.length)?o.allColumns.map((function(e){return e.id})):[]}):void 0}function Y(e){var n=e.headers,o=e.state.hiddenColumns;t.useRef(!1).current;var r=0;n.forEach((function(e){return r+=function e(t,n){t.isVisible=n&&!o.includes(t.id);var r=0;return t.headers&&t.headers.length?t.headers.forEach((function(n){return r+=e(n,t.isVisible)})):r=t.isVisible?1:0,t.totalVisibleHeaderCount=r,r}(e,!0)}));}function Q(e){var n=e.columns,o=e.flatHeaders,r=e.dispatch,i=e.allColumns,u=e.getHooks,s=e.state.hiddenColumns,a=e.autoResetHiddenColumns,c=void 0===a||a,d=h(e),p=i.length===s.length,g=t.useCallback((function(e,t){return r({type:l.toggleHideColumn,columnId:e,value:t})}),[r]),v=t.useCallback((function(e){return r({type:l.setHiddenColumns,value:e})}),[r]),m=t.useCallback((function(e){return r({type:l.toggleHideAllColumns,value:e})}),[r]),y=f(u().getToggleHideAllColumnsProps,{instance:d()});o.forEach((function(e){e.toggleHidden=function(t){r({type:l.toggleHideColumn,columnId:e.id,value:t});},e.getToggleHiddenProps=f(u().getToggleHiddenProps,{instance:d(),column:e});}));var R=h(c);w((function(){R()&&r({type:l.resetHiddenColumns});}),[r,n]),Object.assign(e,{allColumnsHidden:p,toggleHideColumn:g,setHiddenColumns:v,toggleHideAllColumns:m,getToggleHideAllColumnsProps:y});}var Z={},ee={},te=function(e,t,n){return e},ne=function(e,t){return e.subRows||[]},oe=function(e,t,n){return ""+(n?[n.id,t].join("."):t)},re=function(e){return e};function ie(e){var t=e.initialState,n=void 0===t?Z:t,o=e.defaultColumn,u=void 0===o?ee:o,l=e.getSubRows,s=void 0===l?ne:l,a=e.getRowId,c=void 0===a?oe:a,d=e.stateReducer,f=void 0===d?te:d,p=e.useControlledState,g=void 0===p?re:p;return r({},i(e,["initialState","defaultColumn","getSubRows","getRowId","stateReducer","useControlledState"]),{initialState:n,defaultColumn:u,getSubRows:s,getRowId:c,stateReducer:f,useControlledState:g})}function ue(e,t){void 0===t&&(t=0);var n=0,o=0,r=0,i=0;return e.forEach((function(e){var u=e.headers;if(e.totalLeft=t,u&&u.length){var l=ue(u,t),s=l[0],a=l[1],c=l[2],d=l[3];e.totalMinWidth=s,e.totalWidth=a,e.totalMaxWidth=c,e.totalFlexWidth=d;}else e.totalMinWidth=e.minWidth,e.totalWidth=Math.min(Math.max(e.minWidth,e.width),e.maxWidth),e.totalMaxWidth=e.maxWidth,e.totalFlexWidth=e.canResize?e.totalWidth:0;e.isVisible&&(t+=e.totalWidth,n+=e.totalMinWidth,o+=e.totalWidth,r+=e.totalMaxWidth,i+=e.totalFlexWidth);})),[n,o,r,i]}function le(e){var t=e.data,n=e.rows,o=e.flatRows,r=e.rowsById,i=e.column,u=e.getRowId,l=e.getSubRows,s=e.accessValueHooks,a=e.getInstance;t.forEach((function(e,c){return function e(n,c,d,f,g){void 0===d&&(d=0);var v=n,m=u(n,c,f),h=r[m];if(h)h.subRows&&h.originalSubRows.forEach((function(t,n){return e(t,n,d+1,h)}));else if((h={id:m,original:v,index:c,depth:d,cells:[{}]}).cells.map=T,h.cells.filter=T,h.cells.forEach=T,h.cells[0].getCellProps=T,h.values={},g.push(h),o.push(h),r[m]=h,h.originalSubRows=l(n,c),h.originalSubRows){var y=[];h.originalSubRows.forEach((function(t,n){return e(t,n,d+1,h,y)})),h.subRows=y;}i.accessor&&(h.values[i.id]=i.accessor(n,c,h,g,t)),h.values[i.id]=p(s,h.values[i.id],{row:h,column:i,instance:a()});}(e,c,0,void 0,n)}));}l.resetExpanded="resetExpanded",l.toggleRowExpanded="toggleRowExpanded",l.toggleAllRowsExpanded="toggleAllRowsExpanded";var se=function(e){e.getToggleAllRowsExpandedProps=[ae],e.getToggleRowExpandedProps=[ce],e.stateReducers.push(de),e.useInstance.push(fe),e.prepareRow.push(pe);};se.pluginName="useExpanded";var ae=function(e,t){var n=t.instance;return [e,{onClick:function(e){n.toggleAllRowsExpanded();},style:{cursor:"pointer"},title:"Toggle All Rows Expanded"}]},ce=function(e,t){var n=t.row;return [e,{onClick:function(){n.toggleRowExpanded();},style:{cursor:"pointer"},title:"Toggle Row Expanded"}]};function de(e,t,n,o){if(t.type===l.init)return r({expanded:{}},e);if(t.type===l.resetExpanded)return r({},e,{expanded:o.initialState.expanded||{}});if(t.type===l.toggleAllRowsExpanded){var s=t.value,a=o.isAllRowsExpanded,c=o.rowsById;if(void 0!==s?s:!a){var d={};return Object.keys(c).forEach((function(e){d[e]=!0;})),r({},e,{expanded:d})}return r({},e,{expanded:{}})}if(t.type===l.toggleRowExpanded){var f,p=t.id,g=t.value,v=e.expanded[p],m=void 0!==g?g:!v;if(!v&&m)return r({},e,{expanded:r({},e.expanded,(f={},f[p]=!0,f))});if(v&&!m){var h=e.expanded;h[p];return r({},e,{expanded:i(h,[p].map(u))})}return e}}function fe(e){var n=e.data,o=e.rows,r=e.rowsById,i=e.manualExpandedKey,u=void 0===i?"expanded":i,s=e.paginateExpandedRows,a=void 0===s||s,c=e.expandSubRows,d=void 0===c||c,p=e.autoResetExpanded,g=void 0===p||p,m=e.getHooks,y=e.plugins,R=e.state.expanded,b=e.dispatch;v(y,["useSortBy","useGroupBy","usePivotColumns","useGlobalFilter"],"useExpanded");var S=h(g),C=Boolean(Object.keys(r).length&&Object.keys(R).length);C&&Object.keys(r).some((function(e){return !R[e]}))&&(C=!1),w((function(){S()&&b({type:l.resetExpanded});}),[b,n]);var x=t.useCallback((function(e,t){b({type:l.toggleRowExpanded,id:e,value:t});}),[b]),P=t.useCallback((function(e){return b({type:l.toggleAllRowsExpanded,value:e})}),[b]),B=t.useMemo((function(){return a?A(o,{manualExpandedKey:u,expanded:R,expandSubRows:d}):o}),[a,o,u,R,d]),E=t.useMemo((function(){return function(e){var t=0;return Object.keys(e).forEach((function(e){var n=e.split(".");t=Math.max(t,n.length);})),t}(R)}),[R]),I=h(e),F=f(m().getToggleAllRowsExpandedProps,{instance:I()});Object.assign(e,{preExpandedRows:o,expandedRows:B,rows:B,expandedDepth:E,isAllRowsExpanded:C,toggleRowExpanded:x,toggleAllRowsExpanded:P,getToggleAllRowsExpandedProps:F});}function pe(e,t){var n=t.instance.getHooks,o=t.instance;e.toggleRowExpanded=function(t){return o.toggleRowExpanded(e.id,t)},e.getToggleRowExpandedProps=f(n().getToggleRowExpandedProps,{instance:o,row:e});}var ge=function(e,t,n){return e=e.filter((function(e){return t.some((function(t){var o=e.values[t];return String(o).toLowerCase().includes(String(n).toLowerCase())}))}))};ge.autoRemove=function(e){return !e};var ve=function(e,t,n){return e.filter((function(e){return t.some((function(t){var o=e.values[t];return void 0===o||String(o).toLowerCase()===String(n).toLowerCase()}))}))};ve.autoRemove=function(e){return !e};var me=function(e,t,n){return e.filter((function(e){return t.some((function(t){var o=e.values[t];return void 0===o||String(o)===String(n)}))}))};me.autoRemove=function(e){return !e};var he=function(e,t,n){return e.filter((function(e){return t.some((function(t){return e.values[t].includes(n)}))}))};he.autoRemove=function(e){return !e||!e.length};var ye=function(e,t,n){return e.filter((function(e){return t.some((function(t){var o=e.values[t];return o&&o.length&&n.every((function(e){return o.includes(e)}))}))}))};ye.autoRemove=function(e){return !e||!e.length};var we=function(e,t,n){return e.filter((function(e){return t.some((function(t){var o=e.values[t];return o&&o.length&&n.some((function(e){return o.includes(e)}))}))}))};we.autoRemove=function(e){return !e||!e.length};var Re=function(e,t,n){return e.filter((function(e){return t.some((function(t){var o=e.values[t];return n.includes(o)}))}))};Re.autoRemove=function(e){return !e||!e.length};var be=function(e,t,n){return e.filter((function(e){return t.some((function(t){return e.values[t]===n}))}))};be.autoRemove=function(e){return void 0===e};var Se=function(e,t,n){return e.filter((function(e){return t.some((function(t){return e.values[t]==n}))}))};Se.autoRemove=function(e){return null==e};var Ce=function(e,t,n){var o=n||[],r=o[0],i=o[1];if((r="number"==typeof r?r:-1/0)>(i="number"==typeof i?i:1/0)){var u=r;r=i,i=u;}return e.filter((function(e){return t.some((function(t){var n=e.values[t];return n>=r&&n<=i}))}))};Ce.autoRemove=function(e){return !e||"number"!=typeof e[0]&&"number"!=typeof e[1]};var xe=Object.freeze({__proto__:null,text:ge,exactText:ve,exactTextCase:me,includes:he,includesAll:ye,includesSome:we,includesValue:Re,exact:be,equals:Se,between:Ce});l.resetFilters="resetFilters",l.setFilter="setFilter",l.setAllFilters="setAllFilters";var Pe=function(e){e.stateReducers.push(Be),e.useInstance.push(Ee);};function Be(e,t,n,o){if(t.type===l.init)return r({filters:[]},e);if(t.type===l.resetFilters)return r({},e,{filters:o.initialState.filters||[]});if(t.type===l.setFilter){var i=t.columnId,u=t.filterValue,s=o.allColumns,a=o.filterTypes,c=s.find((function(e){return e.id===i}));if(!c)throw new Error("React-Table: Could not find a column with id: "+i);var d=k(c.filter,a||{},xe),f=e.filters.find((function(e){return e.id===i})),p=m(u,f&&f.value);return H(d.autoRemove,p,c)?r({},e,{filters:e.filters.filter((function(e){return e.id!==i}))}):r({},e,f?{filters:e.filters.map((function(e){return e.id===i?{id:i,value:p}:e}))}:{filters:[].concat(e.filters,[{id:i,value:p}])})}if(t.type===l.setAllFilters){var g=t.filters,v=o.allColumns,h=o.filterTypes;return r({},e,{filters:m(g,e.filters).filter((function(e){var t=v.find((function(t){return t.id===e.id}));return !H(k(t.filter,h||{},xe).autoRemove,e.value,t)}))})}}function Ee(e){var n=e.data,o=e.rows,r=e.flatRows,i=e.rowsById,u=e.allColumns,s=e.filterTypes,a=e.manualFilters,c=e.defaultCanFilter,d=void 0!==c&&c,f=e.disableFilters,p=e.state.filters,g=e.dispatch,v=e.autoResetFilters,m=void 0===v||v,y=t.useCallback((function(e,t){g({type:l.setFilter,columnId:e,filterValue:t});}),[g]),R=t.useCallback((function(e){g({type:l.setAllFilters,filters:e});}),[g]);u.forEach((function(e){var t=e.id,n=e.accessor,o=e.defaultCanFilter,r=e.disableFilters;e.canFilter=n?I(!0!==r&&void 0,!0!==f&&void 0,!0):I(o,d,!1),e.setFilter=function(t){return y(e.id,t)};var i=p.find((function(e){return e.id===t}));e.filterValue=i&&i.value;}));var b=t.useMemo((function(){if(a||!p.length)return [o,r,i];var e=[],t={};return [function n(o,r){void 0===r&&(r=0);var i=o;return (i=p.reduce((function(e,t){var n=t.id,o=t.value,i=u.find((function(e){return e.id===n}));if(!i)return e;0===r&&(i.preFilteredRows=e);var l=k(i.filter,s||{},xe);return l?(i.filteredRows=l(e,[n],o),i.filteredRows):(console.warn("Could not find a valid 'column.filter' for column with the ID: "+i.id+"."),e)}),o)).forEach((function(o){e.push(o),t[o.id]=o,o.subRows&&(o.subRows=o.subRows&&o.subRows.length>0?n(o.subRows,r+1):o.subRows);})),i}(o),e,t]}),[a,p,o,r,i,u,s]),S=b[0],C=b[1],x=b[2];t.useMemo((function(){u.filter((function(e){return !p.find((function(t){return t.id===e.id}))})).forEach((function(e){e.preFilteredRows=S,e.filteredRows=S;}));}),[S,p,u]);var P=h(m);w((function(){P()&&g({type:l.resetFilters});}),[g,a?null:n]),Object.assign(e,{preFilteredRows:o,preFilteredFlatRows:r,preFilteredRowsById:i,filteredRows:S,filteredFlatRows:C,filteredRowsById:x,rows:S,flatRows:C,rowsById:x,setFilter:y,setAllFilters:R});}Pe.pluginName="useFilters",l.resetGlobalFilter="resetGlobalFilter",l.setGlobalFilter="setGlobalFilter";var Ie=function(e){e.stateReducers.push(Fe),e.useInstance.push(Ge);};function Fe(e,t,n,o){if(t.type===l.resetGlobalFilter)return r({},e,{globalFilter:o.initialState.globalFilter||void 0});if(t.type===l.setGlobalFilter){var u=t.filterValue,s=o.userFilterTypes,a=k(o.globalFilter,s||{},xe),c=m(u,e.globalFilter);if(H(a.autoRemove,c)){e.globalFilter;return i(e,["globalFilter"])}return r({},e,{globalFilter:c})}}function Ge(e){var n=e.data,o=e.rows,r=e.flatRows,i=e.rowsById,u=e.allColumns,s=e.filterTypes,a=e.globalFilter,c=e.manualGlobalFilter,d=e.state.globalFilter,f=e.dispatch,p=e.autoResetGlobalFilter,g=void 0===p||p,v=e.disableGlobalFilter,m=t.useCallback((function(e){f({type:l.setGlobalFilter,filterValue:e});}),[f]),y=t.useMemo((function(){if(c||void 0===d)return [o,r,i];var e=[],t={},n=k(a,s||{},xe);if(!n)return console.warn("Could not find a valid 'globalFilter' option."),o;u.forEach((function(e){var t=e.disableGlobalFilter;e.canFilter=I(!0!==t&&void 0,!0!==v&&void 0,!0);}));var l=u.filter((function(e){return !0===e.canFilter}));return [function o(r){return (r=n(r,l.map((function(e){return e.id})),d)).forEach((function(n){e.push(n),t[n.id]=n,n.subRows=n.subRows&&n.subRows.length?o(n.subRows):n.subRows;})),r}(o),e,t]}),[c,d,a,s,u,o,r,i,v]),R=y[0],b=y[1],S=y[2],C=h(g);w((function(){C()&&f({type:l.resetGlobalFilter});}),[f,c?null:n]),Object.assign(e,{preGlobalFilteredRows:o,preGlobalFilteredFlatRows:r,preGlobalFilteredRowsById:i,globalFilteredRows:R,globalFilteredFlatRows:b,globalFilteredRowsById:S,rows:R,flatRows:b,rowsById:S,setGlobalFilter:m,disableGlobalFilter:v});}function Ae(e,t){return t.reduce((function(e,t){return e+("number"==typeof t?t:0)}),0)}Ie.pluginName="useGlobalFilter";var ke=Object.freeze({__proto__:null,sum:Ae,min:function(e){var t=e[0]||0;return e.forEach((function(e){"number"==typeof e&&(t=Math.min(t,e));})),t},max:function(e){var t=e[0]||0;return e.forEach((function(e){"number"==typeof e&&(t=Math.max(t,e));})),t},minMax:function(e){var t=e[0]||0,n=e[0]||0;return e.forEach((function(e){"number"==typeof e&&(t=Math.min(t,e),n=Math.max(n,e));})),t+".."+n},average:function(e){return Ae(0,e)/e.length},median:function(e){if(!e.length)return null;var t=Math.floor(e.length/2),n=[].concat(e).sort((function(e,t){return e-t}));return e.length%2!=0?n[t]:(n[t-1]+n[t])/2},unique:function(e){return Array.from(new Set(e).values())},uniqueCount:function(e){return new Set(e).size},count:function(e){return e.length}}),He=[],Te={};l.resetGroupBy="resetGroupBy",l.setGroupBy="setGroupBy",l.toggleGroupBy="toggleGroupBy";var ze=function(e){e.getGroupByToggleProps=[We],e.stateReducers.push(Oe),e.visibleColumnsDeps.push((function(e,t){var n=t.instance;return [].concat(e,[n.state.groupBy])})),e.visibleColumns.push(Me),e.useInstance.push(Ne),e.prepareRow.push(Le);};ze.pluginName="useGroupBy";var We=function(e,t){var n=t.header;return [e,{onClick:n.canGroupBy?function(e){e.persist(),n.toggleGroupBy();}:void 0,style:{cursor:n.canGroupBy?"pointer":void 0},title:"Toggle GroupBy"}]};function Oe(e,t,n,o){if(t.type===l.init)return r({groupBy:[]},e);if(t.type===l.resetGroupBy)return r({},e,{groupBy:o.initialState.groupBy||[]});if(t.type===l.setGroupBy)return r({},e,{groupBy:t.value});if(t.type===l.toggleGroupBy){var i=t.columnId,u=t.value,s=void 0!==u?u:!e.groupBy.includes(i);return r({},e,s?{groupBy:[].concat(e.groupBy,[i])}:{groupBy:e.groupBy.filter((function(e){return e!==i}))})}}function Me(e,t){var n=t.instance.state.groupBy,o=n.map((function(t){return e.find((function(e){return e.id===t}))})).filter(Boolean),r=e.filter((function(e){return !n.includes(e.id)}));return (e=[].concat(o,r)).forEach((function(e){e.isGrouped=n.includes(e.id),e.groupedIndex=n.indexOf(e.id);})),e}var je={};function Ne(e){var n=e.data,o=e.rows,r=e.flatRows,i=e.rowsById,u=e.allColumns,s=e.flatHeaders,a=e.groupByFn,c=void 0===a?De:a,d=e.manualGroupBy,p=e.aggregations,g=void 0===p?je:p,m=e.plugins,y=e.state.groupBy,R=e.dispatch,b=e.autoResetGroupBy,S=void 0===b||b,C=e.disableGroupBy,x=e.defaultCanGroupBy,P=e.getHooks;v(m,["useColumnOrder","useFilters"],"useGroupBy");var B=h(e);u.forEach((function(t){var n=t.accessor,o=t.defaultGroupBy,r=t.disableGroupBy;t.canGroupBy=n?I(t.canGroupBy,!0!==r&&void 0,!0!==C&&void 0,!0):I(t.canGroupBy,o,x,!1),t.canGroupBy&&(t.toggleGroupBy=function(){return e.toggleGroupBy(t.id)}),t.Aggregated=t.Aggregated||t.Cell;}));var E=t.useCallback((function(e,t){R({type:l.toggleGroupBy,columnId:e,value:t});}),[R]),F=t.useCallback((function(e){R({type:l.setGroupBy,value:e});}),[R]);s.forEach((function(e){e.getGroupByToggleProps=f(P().getGroupByToggleProps,{instance:B(),header:e});}));var A=t.useMemo((function(){if(d||!y.length)return [o,r,i,He,Te,r,i];var e=y.filter((function(e){return u.find((function(t){return t.id===e}))})),t=[],n={},l=[],s={},a=[],f={},p=function o(r,i,d){if(void 0===i&&(i=0),i===e.length)return r;var p=e[i],v=c(r,p);return Object.entries(v).map((function(r,c){var v=r[0],m=r[1],h=p+":"+v,y=o(m,i+1,h=d?d+">"+h:h),w=i?G(m,"leafRows"):m,R=function(t,n,o){var r={};return u.forEach((function(i){if(e.includes(i.id))r[i.id]=n[0]?n[0].values[i.id]:null;else {var u="function"==typeof i.aggregate?i.aggregate:g[i.aggregate]||ke[i.aggregate];if(u){var l=n.map((function(e){return e.values[i.id]})),s=t.map((function(e){var t=e.values[i.id];if(!o&&i.aggregateValue){var n="function"==typeof i.aggregateValue?i.aggregateValue:g[i.aggregateValue]||ke[i.aggregateValue];if(!n)throw console.info({column:i}),new Error("React Table: Invalid column.aggregateValue option for column listed above");t=n(t,e,i);}return t}));r[i.id]=u(s,l);}else {if(i.aggregate)throw console.info({column:i}),new Error("React Table: Invalid column.aggregate option for column listed above");r[i.id]=null;}}})),r}(w,m,i),b={id:h,isGrouped:!0,groupByID:p,groupByVal:v,values:R,subRows:y,leafRows:w,depth:i,index:c};return y.forEach((function(e){t.push(e),n[e.id]=e,e.isGrouped?(l.push(e),s[e.id]=e):(a.push(e),f[e.id]=e);})),b}))}(o);return p.forEach((function(e){t.push(e),n[e.id]=e,e.isGrouped?(l.push(e),s[e.id]=e):(a.push(e),f[e.id]=e);})),[p,t,n,l,s,a,f]}),[d,y,o,r,i,u,g,c]),k=A[0],H=A[1],T=A[2],z=A[3],W=A[4],O=A[5],M=A[6],j=h(S);w((function(){j()&&R({type:l.resetGroupBy});}),[R,d?null:n]),Object.assign(e,{preGroupedRows:o,preGroupedFlatRow:r,preGroupedRowsById:i,groupedRows:k,groupedFlatRows:H,groupedRowsById:T,onlyGroupedFlatRows:z,onlyGroupedRowsById:W,nonGroupedFlatRows:O,nonGroupedRowsById:M,rows:k,flatRows:H,rowsById:T,toggleGroupBy:E,setGroupBy:F});}function Le(e){e.allCells.forEach((function(t){var n;t.isGrouped=t.column.isGrouped&&t.column.id===e.groupByID,t.isPlaceholder=!t.isGrouped&&t.column.isGrouped,t.isAggregated=!t.isGrouped&&!t.isPlaceholder&&(null==(n=e.subRows)?void 0:n.length);}));}function De(e,t){return e.reduce((function(e,n,o){var r=""+n.values[t];return e[r]=Array.isArray(e[r])?e[r]:[],e[r].push(n),e}),{})}var Ve=/([0-9]+)/gm;function _e(e,t){return e===t?0:e>t?1:-1}function Xe(e,t,n){return [e.values[n],t.values[n]]}function qe(e){return "number"==typeof e?isNaN(e)||e===1/0||e===-1/0?"":String(e):"string"==typeof e?e:""}var Ke=Object.freeze({__proto__:null,alphanumeric:function(e,t,n){var o=Xe(e,t,n),r=o[0],i=o[1];for(r=qe(r),i=qe(i),r=r.split(Ve).filter(Boolean),i=i.split(Ve).filter(Boolean);r.length&&i.length;){var u=r.shift(),l=i.shift(),s=parseInt(u,10),a=parseInt(l,10),c=[s,a].sort();if(isNaN(c[0])){if(u>l)return 1;if(l>u)return -1}else {if(isNaN(c[1]))return isNaN(s)?-1:1;if(s>a)return 1;if(a>s)return -1}}return r.length-i.length},datetime:function(e,t,n){var o=Xe(e,t,n),r=o[0],i=o[1];return _e(r=r.getTime(),i=i.getTime())},basic:function(e,t,n){var o=Xe(e,t,n);return _e(o[0],o[1])},string:function(e,t,n){var o=Xe(e,t,n),r=o[0],i=o[1];for(r=r.split("").filter(Boolean),i=i.split("").filter(Boolean);r.length&&i.length;){var u=r.shift(),l=i.shift(),s=u.toLowerCase(),a=l.toLowerCase();if(s>a)return 1;if(a>s)return -1;if(u>l)return 1;if(l>u)return -1}return r.length-i.length},number:function(e,t,n){var o=Xe(e,t,n),r=o[0],i=o[1],u=/[^0-9.]/gi;return _e(r=Number(String(r).replace(u,"")),i=Number(String(i).replace(u,"")))}});l.resetSortBy="resetSortBy",l.setSortBy="setSortBy",l.toggleSortBy="toggleSortBy",l.clearSortBy="clearSortBy",c.sortType="alphanumeric",c.sortDescFirst=!1;var Ue=function(e){e.getSortByToggleProps=[$e],e.stateReducers.push(Je),e.useInstance.push(Ye);};Ue.pluginName="useSortBy";var $e=function(e,t){var n=t.instance,o=t.column,r=n.isMultiSortEvent,i=void 0===r?function(e){return e.shiftKey}:r;return [e,{onClick:o.canSort?function(e){e.persist(),o.toggleSortBy(void 0,!n.disableMultiSort&&i(e));}:void 0,style:{cursor:o.canSort?"pointer":void 0},title:o.canSort?"Toggle SortBy":void 0}]};function Je(e,t,n,o){if(t.type===l.init)return r({sortBy:[]},e);if(t.type===l.resetSortBy)return r({},e,{sortBy:o.initialState.sortBy||[]});if(t.type===l.clearSortBy)return r({},e,{sortBy:e.sortBy.filter((function(e){return e.id!==t.columnId}))});if(t.type===l.setSortBy)return r({},e,{sortBy:t.sortBy});if(t.type===l.toggleSortBy){var i,u=t.columnId,s=t.desc,a=t.multi,c=o.allColumns,d=o.disableMultiSort,f=o.disableSortRemove,p=o.disableMultiRemove,g=o.maxMultiSortColCount,v=void 0===g?Number.MAX_SAFE_INTEGER:g,m=e.sortBy,h=c.find((function(e){return e.id===u})).sortDescFirst,y=m.find((function(e){return e.id===u})),w=m.findIndex((function(e){return e.id===u})),R=null!=s,b=[];return "toggle"!==(i=!d&&a?y?"toggle":"add":w!==m.length-1||1!==m.length?"replace":y?"toggle":"replace")||f||R||a&&p||!(y&&y.desc&&!h||!y.desc&&h)||(i="remove"),"replace"===i?b=[{id:u,desc:R?s:h}]:"add"===i?(b=[].concat(m,[{id:u,desc:R?s:h}])).splice(0,b.length-v):"toggle"===i?b=m.map((function(e){return e.id===u?r({},e,{desc:R?s:!y.desc}):e})):"remove"===i&&(b=m.filter((function(e){return e.id!==u}))),r({},e,{sortBy:b})}}function Ye(e){var n=e.data,o=e.rows,r=e.flatRows,i=e.allColumns,u=e.orderByFn,s=void 0===u?Qe:u,a=e.sortTypes,c=e.manualSortBy,d=e.defaultCanSort,p=e.disableSortBy,g=e.flatHeaders,m=e.state.sortBy,y=e.dispatch,R=e.plugins,b=e.getHooks,S=e.autoResetSortBy,C=void 0===S||S;v(R,["useFilters","useGlobalFilter","useGroupBy","usePivotColumns"],"useSortBy");var x=t.useCallback((function(e){y({type:l.setSortBy,sortBy:e});}),[y]),P=t.useCallback((function(e,t,n){y({type:l.toggleSortBy,columnId:e,desc:t,multi:n});}),[y]),B=h(e);g.forEach((function(e){var t=e.accessor,n=e.canSort,o=e.disableSortBy,r=e.id,i=t?I(!0!==o&&void 0,!0!==p&&void 0,!0):I(d,n,!1);e.canSort=i,e.canSort&&(e.toggleSortBy=function(t,n){return P(e.id,t,n)},e.clearSortBy=function(){y({type:l.clearSortBy,columnId:e.id});}),e.getSortByToggleProps=f(b().getSortByToggleProps,{instance:B(),column:e});var u=m.find((function(e){return e.id===r}));e.isSorted=!!u,e.sortedIndex=m.findIndex((function(e){return e.id===r})),e.isSortedDesc=e.isSorted?u.desc:void 0;}));var E=t.useMemo((function(){if(c||!m.length)return [o,r];var e=[],t=m.filter((function(e){return i.find((function(t){return t.id===e.id}))}));return [function n(o){var r=s(o,t.map((function(e){var t=i.find((function(t){return t.id===e.id}));if(!t)throw new Error("React-Table: Could not find a column with id: "+e.id+" while sorting");var n=t.sortType,o=F(n)||(a||{})[n]||Ke[n];if(!o)throw new Error("React-Table: Could not find a valid sortType of '"+n+"' for column '"+e.id+"'.");return function(t,n){return o(t,n,e.id,e.desc)}})),t.map((function(e){var t=i.find((function(t){return t.id===e.id}));return t&&t.sortInverted?e.desc:!e.desc})));return r.forEach((function(t){e.push(t),t.subRows&&0!==t.subRows.length&&(t.subRows=n(t.subRows));})),r}(o),e]}),[c,m,o,r,i,s,a]),G=E[0],A=E[1],k=h(C);w((function(){k()&&y({type:l.resetSortBy});}),[c?null:n]),Object.assign(e,{preSortedRows:o,preSortedFlatRows:r,sortedRows:G,sortedFlatRows:A,rows:G,flatRows:A,setSortBy:x,toggleSortBy:P});}function Qe(e,t,n){return [].concat(e).sort((function(e,o){for(var r=0;r<t.length;r+=1){var i=t[r],u=!1===n[r]||"desc"===n[r],l=i(e,o);if(0!==l)return u?-l:l}return n[0]?e.index-o.index:o.index-e.index}))}l.resetPage="resetPage",l.gotoPage="gotoPage",l.setPageSize="setPageSize";var Ze=function(e){e.stateReducers.push(et),e.useInstance.push(tt);};function et(e,t,n,o){if(t.type===l.init)return r({pageSize:10,pageIndex:0},e);if(t.type===l.resetPage)return r({},e,{pageIndex:o.initialState.pageIndex||0});if(t.type===l.gotoPage){var i=o.pageCount,u=o.page,s=m(t.pageIndex,e.pageIndex),a=!1;return s>e.pageIndex?a=-1===i?u.length>=e.pageSize:s<i:s<e.pageIndex&&(a=s>-1),a?r({},e,{pageIndex:s}):e}if(t.type===l.setPageSize){var c=t.pageSize,d=e.pageSize*e.pageIndex;return r({},e,{pageIndex:Math.floor(d/c),pageSize:c})}}function tt(e){var n=e.rows,o=e.autoResetPage,r=void 0===o||o,i=e.manualExpandedKey,u=void 0===i?"expanded":i,s=e.plugins,a=e.pageCount,c=e.paginateExpandedRows,d=void 0===c||c,f=e.expandSubRows,p=void 0===f||f,g=e.state,m=g.pageSize,y=g.pageIndex,R=g.expanded,b=g.globalFilter,S=g.filters,C=g.groupBy,x=g.sortBy,P=e.dispatch,B=e.data,E=e.manualPagination;v(s,["useGlobalFilter","useFilters","useGroupBy","useSortBy","useExpanded"],"usePagination");var I=h(r);w((function(){I()&&P({type:l.resetPage});}),[P,E?null:B,b,S,C,x]);var F=E?a:Math.ceil(n.length/m),G=t.useMemo((function(){return F>0?[].concat(new Array(F)).fill(null).map((function(e,t){return t})):[]}),[F]),k=t.useMemo((function(){var e;if(E)e=n;else {var t=m*y,o=t+m;e=n.slice(t,o);}return d?e:A(e,{manualExpandedKey:u,expanded:R,expandSubRows:p})}),[p,R,u,E,y,m,d,n]),H=y>0,T=-1===F?k.length>=m:y<F-1,z=t.useCallback((function(e){P({type:l.gotoPage,pageIndex:e});}),[P]),W=t.useCallback((function(){return z((function(e){return e-1}))}),[z]),O=t.useCallback((function(){return z((function(e){return e+1}))}),[z]),M=t.useCallback((function(e){P({type:l.setPageSize,pageSize:e});}),[P]);Object.assign(e,{pageOptions:G,pageCount:F,page:k,canPreviousPage:H,canNextPage:T,gotoPage:z,previousPage:W,nextPage:O,setPageSize:M});}Ze.pluginName="usePagination",l.resetPivot="resetPivot",l.togglePivot="togglePivot";var nt=function(e){e.getPivotToggleProps=[rt],e.stateReducers.push(it),e.useInstanceAfterData.push(ut),e.allColumns.push(lt),e.accessValue.push(st),e.materializedColumns.push(at),e.materializedColumnsDeps.push(ct),e.visibleColumns.push(dt),e.visibleColumnsDeps.push(ft),e.useInstance.push(pt),e.prepareRow.push(gt);};nt.pluginName="usePivotColumns";var ot=[],rt=function(e,t){var n=t.header;return [e,{onClick:n.canPivot?function(e){e.persist(),n.togglePivot();}:void 0,style:{cursor:n.canPivot?"pointer":void 0},title:"Toggle Pivot"}]};function it(e,t,n,o){if(t.type===l.init)return r({pivotColumns:ot},e);if(t.type===l.resetPivot)return r({},e,{pivotColumns:o.initialState.pivotColumns||ot});if(t.type===l.togglePivot){var i=t.columnId,u=t.value,s=void 0!==u?u:!e.pivotColumns.includes(i);return r({},e,s?{pivotColumns:[].concat(e.pivotColumns,[i])}:{pivotColumns:e.pivotColumns.filter((function(e){return e!==i}))})}}function ut(e){e.allColumns.forEach((function(t){t.isPivotSource=e.state.pivotColumns.includes(t.id);}));}function lt(e,t){var n=t.instance;return e.forEach((function(e){e.isPivotSource=n.state.pivotColumns.includes(e.id),e.uniqueValues=new Set;})),e}function st(e,t){var n=t.column;return n.uniqueValues&&void 0!==e&&n.uniqueValues.add(e),e}function at(e,t){var n=t.instance,o=n.allColumns,i=n.state;if(!i.pivotColumns.length||!i.groupBy||!i.groupBy.length)return e;var u=i.pivotColumns.map((function(e){return o.find((function(t){return t.id===e}))})).filter(Boolean),l=o.filter((function(e){return !e.isPivotSource&&!i.groupBy.includes(e.id)&&!i.pivotColumns.includes(e.id)})),s=C(function e(t,n,o){void 0===t&&(t=0),void 0===o&&(o=[]);var i=u[t];return i?Array.from(i.uniqueValues).sort().map((function(u){var l=r({},i,{Header:i.PivotHeader||"string"==typeof i.header?i.Header+": "+u:u,isPivotGroup:!0,parent:n,depth:t,id:n?n.id+"."+i.id+"."+u:i.id+"."+u,pivotValue:u});return l.columns=e(t+1,l,[].concat(o,[function(e){return e.values[i.id]===u}])),l})):l.map((function(e){return r({},e,{canPivot:!1,isPivoted:!0,parent:n,depth:t,id:""+(n?n.id+"."+e.id:e.id),accessor:function(t,n,r){if(o.every((function(e){return e(r)})))return r.values[e.id]}})}))}());return [].concat(e,s)}function ct(e,t){var n=t.instance.state,o=n.pivotColumns,r=n.groupBy;return [].concat(e,[o,r])}function dt(e,t){var n=t.instance.state;return e=e.filter((function(e){return !e.isPivotSource})),n.pivotColumns.length&&n.groupBy&&n.groupBy.length&&(e=e.filter((function(e){return e.isGrouped||e.isPivoted}))),e}function ft(e,t){var n=t.instance;return [].concat(e,[n.state.pivotColumns,n.state.groupBy])}function pt(e){var t=e.columns,n=e.allColumns,o=e.flatHeaders,r=e.getHooks,i=e.plugins,u=e.dispatch,s=e.autoResetPivot,a=void 0===s||s,c=e.manaulPivot,d=e.disablePivot,p=e.defaultCanPivot;v(i,["useGroupBy"],"usePivotColumns");var g=h(e);n.forEach((function(t){var n=t.accessor,o=t.defaultPivot,r=t.disablePivot;t.canPivot=n?I(t.canPivot,!0!==r&&void 0,!0!==d&&void 0,!0):I(t.canPivot,o,p,!1),t.canPivot&&(t.togglePivot=function(){return e.togglePivot(t.id)}),t.Aggregated=t.Aggregated||t.Cell;}));o.forEach((function(e){e.getPivotToggleProps=f(r().getPivotToggleProps,{instance:g(),header:e});}));var m=h(a);w((function(){m()&&u({type:l.resetPivot});}),[u,c?null:t]),Object.assign(e,{togglePivot:function(e,t){u({type:l.togglePivot,columnId:e,value:t});}});}function gt(e){e.allCells.forEach((function(e){e.isPivoted=e.column.isPivoted;}));}l.resetSelectedRows="resetSelectedRows",l.toggleAllRowsSelected="toggleAllRowsSelected",l.toggleRowSelected="toggleRowSelected",l.toggleAllPageRowsSelected="toggleAllPageRowsSelected";var vt=function(e){e.getToggleRowSelectedProps=[mt],e.getToggleAllRowsSelectedProps=[ht],e.getToggleAllPageRowsSelectedProps=[yt],e.stateReducers.push(wt),e.useInstance.push(Rt),e.prepareRow.push(bt);};vt.pluginName="useRowSelect";var mt=function(e,t){var n=t.instance,o=t.row,r=n.manualRowSelectedKey,i=void 0===r?"isSelected":r;return [e,{onChange:function(e){o.toggleRowSelected(e.target.checked);},style:{cursor:"pointer"},checked:!(!o.original||!o.original[i])||o.isSelected,title:"Toggle Row Selected",indeterminate:o.isSomeSelected}]},ht=function(e,t){var n=t.instance;return [e,{onChange:function(e){n.toggleAllRowsSelected(e.target.checked);},style:{cursor:"pointer"},checked:n.isAllRowsSelected,title:"Toggle All Rows Selected",indeterminate:Boolean(!n.isAllRowsSelected&&Object.keys(n.state.selectedRowIds).length)}]},yt=function(e,t){var n=t.instance;return [e,{onChange:function(e){n.toggleAllPageRowsSelected(e.target.checked);},style:{cursor:"pointer"},checked:n.isAllPageRowsSelected,title:"Toggle All Current Page Rows Selected",indeterminate:Boolean(!n.isAllPageRowsSelected&&n.page.some((function(e){var t=e.id;return n.state.selectedRowIds[t]})))}]};function wt(e,t,n,o){if(t.type===l.init)return r({selectedRowIds:{}},e);if(t.type===l.resetSelectedRows)return r({},e,{selectedRowIds:o.initialState.selectedRowIds||{}});if(t.type===l.toggleAllRowsSelected){var i=t.value,u=o.isAllRowsSelected,s=o.rowsById,a=o.nonGroupedRowsById,c=void 0===a?s:a,d=void 0!==i?i:!u,f=Object.assign({},e.selectedRowIds);return d?Object.keys(c).forEach((function(e){f[e]=!0;})):Object.keys(c).forEach((function(e){delete f[e];})),r({},e,{selectedRowIds:f})}if(t.type===l.toggleRowSelected){var p=t.id,g=t.value,v=o.rowsById,m=o.selectSubRows,h=void 0===m||m,y=o.getSubRows,w=e.selectedRowIds[p],R=void 0!==g?g:!w;if(w===R)return e;var b=r({},e.selectedRowIds);return function e(t){var n=v[t];if(n.isGrouped||(R?b[t]=!0:delete b[t]),h&&y(n))return y(n).forEach((function(t){return e(t.id)}))}(p),r({},e,{selectedRowIds:b})}if(t.type===l.toggleAllPageRowsSelected){var S=t.value,C=o.page,x=o.rowsById,P=o.selectSubRows,B=void 0===P||P,E=o.isAllPageRowsSelected,I=o.getSubRows,F=void 0!==S?S:!E,G=r({},e.selectedRowIds);return C.forEach((function(e){return function e(t){var n=x[t];if(n.isGrouped||(F?G[t]=!0:delete G[t]),B&&I(n))return I(n).forEach((function(t){return e(t.id)}))}(e.id)})),r({},e,{selectedRowIds:G})}return e}function Rt(e){var n=e.data,o=e.rows,r=e.getHooks,i=e.plugins,u=e.rowsById,s=e.nonGroupedRowsById,a=void 0===s?u:s,c=e.autoResetSelectedRows,d=void 0===c||c,p=e.state.selectedRowIds,g=e.selectSubRows,m=void 0===g||g,y=e.dispatch,R=e.page,b=e.getSubRows;v(i,["useFilters","useGroupBy","useSortBy","useExpanded","usePagination"],"useRowSelect");var S=t.useMemo((function(){var e=[];return o.forEach((function(t){var n=m?function e(t,n,o){if(n[t.id])return !0;var r=o(t);if(r&&r.length){var i=!0,u=!1;return r.forEach((function(t){u&&!i||(e(t,n,o)?u=!0:i=!1);})),!!i||!!u&&null}return !1}(t,p,b):!!p[t.id];t.isSelected=!!n,t.isSomeSelected=null===n,n&&e.push(t);})),e}),[o,m,p,b]),C=Boolean(Object.keys(a).length&&Object.keys(p).length),x=C;C&&Object.keys(a).some((function(e){return !p[e]}))&&(C=!1),C||R&&R.length&&R.some((function(e){var t=e.id;return !p[t]}))&&(x=!1);var P=h(d);w((function(){P()&&y({type:l.resetSelectedRows});}),[y,n]);var B=t.useCallback((function(e){return y({type:l.toggleAllRowsSelected,value:e})}),[y]),E=t.useCallback((function(e){return y({type:l.toggleAllPageRowsSelected,value:e})}),[y]),I=t.useCallback((function(e,t){return y({type:l.toggleRowSelected,id:e,value:t})}),[y]),F=h(e),G=f(r().getToggleAllRowsSelectedProps,{instance:F()}),A=f(r().getToggleAllPageRowsSelectedProps,{instance:F()});Object.assign(e,{selectedFlatRows:S,isAllRowsSelected:C,isAllPageRowsSelected:x,toggleRowSelected:I,toggleAllRowsSelected:B,getToggleAllRowsSelectedProps:G,getToggleAllPageRowsSelectedProps:A,toggleAllPageRowsSelected:E});}function bt(e,t){var n=t.instance;e.toggleRowSelected=function(t){return n.toggleRowSelected(e.id,t)},e.getToggleRowSelectedProps=f(n.getHooks().getToggleRowSelectedProps,{instance:n,row:e});}var St=function(e){return {}},Ct=function(e){return {}};l.setRowState="setRowState",l.setCellState="setCellState",l.resetRowState="resetRowState";var xt=function(e){e.stateReducers.push(Pt),e.useInstance.push(Bt),e.prepareRow.push(Et);};function Pt(e,t,n,o){var i=o.initialRowStateAccessor,u=void 0===i?St:i,s=o.initialCellStateAccessor,a=void 0===s?Ct:s,c=o.rowsById;if(t.type===l.init)return r({rowState:{}},e);if(t.type===l.resetRowState)return r({},e,{rowState:o.initialState.rowState||{}});if(t.type===l.setRowState){var d,f=t.rowId,p=t.value,g=void 0!==e.rowState[f]?e.rowState[f]:u(c[f]);return r({},e,{rowState:r({},e.rowState,(d={},d[f]=m(p,g),d))})}if(t.type===l.setCellState){var v,h,y,w,R,b=t.rowId,S=t.columnId,C=t.value,x=void 0!==e.rowState[b]?e.rowState[b]:u(c[b]),P=void 0!==(null==x?void 0:null==(v=x.cellState)?void 0:v[S])?x.cellState[S]:a(null==(h=c[b])?void 0:null==(y=h.cells)?void 0:y.find((function(e){return e.column.id===S})));return r({},e,{rowState:r({},e.rowState,(R={},R[b]=r({},x,{cellState:r({},x.cellState||{},(w={},w[S]=m(C,P),w))}),R))})}}function Bt(e){var n=e.autoResetRowState,o=void 0===n||n,r=e.data,i=e.dispatch,u=t.useCallback((function(e,t){return i({type:l.setRowState,rowId:e,value:t})}),[i]),s=t.useCallback((function(e,t,n){return i({type:l.setCellState,rowId:e,columnId:t,value:n})}),[i]),a=h(o);w((function(){a()&&i({type:l.resetRowState});}),[r]),Object.assign(e,{setRowState:u,setCellState:s});}function Et(e,t){var n=t.instance,o=n.initialRowStateAccessor,r=void 0===o?St:o,i=n.initialCellStateAccessor,u=void 0===i?Ct:i,l=n.state.rowState;e&&(e.state=void 0!==l[e.id]?l[e.id]:r(e),e.setState=function(t){return n.setRowState(e.id,t)},e.cells.forEach((function(t){e.state.cellState||(e.state.cellState={}),t.state=void 0!==e.state.cellState[t.column.id]?e.state.cellState[t.column.id]:u(t),t.setState=function(o){return n.setCellState(e.id,t.column.id,o)};})));}xt.pluginName="useRowState",l.resetColumnOrder="resetColumnOrder",l.setColumnOrder="setColumnOrder";var It=function(e){e.stateReducers.push(Ft),e.visibleColumnsDeps.push((function(e,t){var n=t.instance;return [].concat(e,[n.state.columnOrder])})),e.visibleColumns.push(Gt),e.useInstance.push(At);};function Ft(e,t,n,o){return t.type===l.init?r({columnOrder:[]},e):t.type===l.resetColumnOrder?r({},e,{columnOrder:o.initialState.columnOrder||[]}):t.type===l.setColumnOrder?r({},e,{columnOrder:m(t.columnOrder,e.columnOrder)}):void 0}function Gt(e,t){var n=t.instance.state.columnOrder;if(!n||!n.length)return e;for(var o=[].concat(n),r=[].concat(e),i=[],u=function(){var e=o.shift(),t=r.findIndex((function(t){return t.id===e}));t>-1&&i.push(r.splice(t,1)[0]);};r.length&&o.length;)u();return [].concat(i,r)}function At(e){var n=e.dispatch;e.setColumnOrder=t.useCallback((function(e){return n({type:l.setColumnOrder,columnOrder:e})}),[n]);}It.pluginName="useColumnOrder",c.canResize=!0,l.columnStartResizing="columnStartResizing",l.columnResizing="columnResizing",l.columnDoneResizing="columnDoneResizing",l.resetResize="resetResize";var kt=function(e){e.getResizerProps=[Ht],e.getHeaderProps.push({style:{position:"relative"}}),e.stateReducers.push(Tt),e.useInstance.push(Wt),e.useInstanceBeforeDimensions.push(zt);},Ht=function(e,t){var n=t.instance,o=t.header,r=n.dispatch,i=function(e,t){var n=!1;if("touchstart"===e.type){if(e.touches&&e.touches.length>1)return;n=!0;}var o=function(e){var t=[];return function e(n){n.columns&&n.columns.length&&n.columns.map(e);t.push(n);}(e),t}(t).map((function(e){return [e.id,e.totalWidth]})),i=n?Math.round(e.touches[0].clientX):e.clientX,u=function(e){r({type:l.columnResizing,clientX:e});},s=function(){return r({type:l.columnDoneResizing})},a={mouse:{moveEvent:"mousemove",moveHandler:function(e){return u(e.clientX)},upEvent:"mouseup",upHandler:function(e){document.removeEventListener("mousemove",a.mouse.moveHandler),document.removeEventListener("mouseup",a.mouse.upHandler),s();}},touch:{moveEvent:"touchmove",moveHandler:function(e){return e.cancelable&&(e.preventDefault(),e.stopPropagation()),u(e.touches[0].clientX),!1},upEvent:"touchend",upHandler:function(e){document.removeEventListener(a.touch.moveEvent,a.touch.moveHandler),document.removeEventListener(a.touch.upEvent,a.touch.moveHandler),s();}}},c=n?a.touch:a.mouse,d=!!function(){if("boolean"==typeof z)return z;var e=!1;try{var t={get passive(){return e=!0,!1}};window.addEventListener("test",null,t),window.removeEventListener("test",null,t);}catch(t){e=!1;}return z=e}()&&{passive:!1};document.addEventListener(c.moveEvent,c.moveHandler,d),document.addEventListener(c.upEvent,c.upHandler,d),r({type:l.columnStartResizing,columnId:t.id,columnWidth:t.totalWidth,headerIdWidths:o,clientX:i});};return [e,{onMouseDown:function(e){return e.persist()||i(e,o)},onTouchStart:function(e){return e.persist()||i(e,o)},style:{cursor:"col-resize"},draggable:!1,role:"separator"}]};function Tt(e,t){if(t.type===l.init)return r({columnResizing:{columnWidths:{}}},e);if(t.type===l.resetResize)return r({},e,{columnResizing:{columnWidths:{}}});if(t.type===l.columnStartResizing){var n=t.clientX,o=t.columnId,i=t.columnWidth,u=t.headerIdWidths;return r({},e,{columnResizing:r({},e.columnResizing,{startX:n,headerIdWidths:u,columnWidth:i,isResizingColumn:o})})}if(t.type===l.columnResizing){var s=t.clientX,a=e.columnResizing,c=a.startX,d=a.columnWidth,f=a.headerIdWidths,p=(s-c)/d,g={};return (void 0===f?[]:f).forEach((function(e){var t=e[0],n=e[1];g[t]=Math.max(n+n*p,0);})),r({},e,{columnResizing:r({},e.columnResizing,{columnWidths:r({},e.columnResizing.columnWidths,{},g)})})}return t.type===l.columnDoneResizing?r({},e,{columnResizing:r({},e.columnResizing,{startX:null,isResizingColumn:null})}):void 0}kt.pluginName="useResizeColumns";var zt=function(e){var t=e.flatHeaders,n=e.disableResizing,o=e.getHooks,r=e.state.columnResizing,i=h(e);t.forEach((function(e){var t=I(!0!==e.disableResizing&&void 0,!0!==n&&void 0,!0);e.canResize=t,e.width=r.columnWidths[e.id]||e.originalWidth||e.width,e.isResizing=r.isResizingColumn===e.id,t&&(e.getResizerProps=f(o().getResizerProps,{instance:i(),header:e}));}));};function Wt(e){var n=e.plugins,o=e.dispatch,r=e.autoResetResize,i=void 0===r||r,u=e.columns;v(n,["useAbsoluteLayout"],"useResizeColumns");var s=h(i);w((function(){s()&&o({type:l.resetResize});}),[u]);var a=t.useCallback((function(){return o({type:l.resetResize})}),[o]);Object.assign(e,{resetResizing:a});}var Ot={position:"absolute",top:0},Mt=function(e){e.getTableBodyProps.push(jt),e.getRowProps.push(jt),e.getHeaderGroupProps.push(jt),e.getFooterGroupProps.push(jt),e.getHeaderProps.push((function(e,t){var n=t.column;return [e,{style:r({},Ot,{left:n.totalLeft+"px",width:n.totalWidth+"px"})}]})),e.getCellProps.push((function(e,t){var n=t.cell;return [e,{style:r({},Ot,{left:n.column.totalLeft+"px",width:n.column.totalWidth+"px"})}]})),e.getFooterProps.push((function(e,t){var n=t.column;return [e,{style:r({},Ot,{left:n.totalLeft+"px",width:n.totalWidth+"px"})}]}));};Mt.pluginName="useAbsoluteLayout";var jt=function(e,t){return [e,{style:{position:"relative",width:t.instance.totalColumnsWidth+"px"}}]},Nt={display:"inline-block",boxSizing:"border-box"},Lt=function(e,t){return [e,{style:{display:"flex",width:t.instance.totalColumnsWidth+"px"}}]},Dt=function(e){e.getRowProps.push(Lt),e.getHeaderGroupProps.push(Lt),e.getFooterGroupProps.push(Lt),e.getHeaderProps.push((function(e,t){var n=t.column;return [e,{style:r({},Nt,{width:n.totalWidth+"px"})}]})),e.getCellProps.push((function(e,t){var n=t.cell;return [e,{style:r({},Nt,{width:n.column.totalWidth+"px"})}]})),e.getFooterProps.push((function(e,t){var n=t.column;return [e,{style:r({},Nt,{width:n.totalWidth+"px"})}]}));};function Vt(e){e.getTableProps.push(_t),e.getRowProps.push(Xt),e.getHeaderGroupProps.push(Xt),e.getFooterGroupProps.push(Xt),e.getHeaderProps.push(qt),e.getCellProps.push(Kt),e.getFooterProps.push(Ut);}Dt.pluginName="useBlockLayout",Vt.pluginName="useFlexLayout";var _t=function(e,t){return [e,{style:{minWidth:t.instance.totalColumnsMinWidth+"px"}}]},Xt=function(e,t){return [e,{style:{display:"flex",flex:"1 0 auto",minWidth:t.instance.totalColumnsMinWidth+"px"}}]},qt=function(e,t){var n=t.column;return [e,{style:{boxSizing:"border-box",flex:n.totalFlexWidth?n.totalFlexWidth+" 0 auto":void 0,minWidth:n.totalMinWidth+"px",width:n.totalWidth+"px"}}]},Kt=function(e,t){var n=t.cell;return [e,{style:{boxSizing:"border-box",flex:n.column.totalFlexWidth+" 0 auto",minWidth:n.column.totalMinWidth+"px",width:n.column.totalWidth+"px"}}]},Ut=function(e,t){var n=t.column;return [e,{style:{boxSizing:"border-box",flex:n.totalFlexWidth?n.totalFlexWidth+" 0 auto":void 0,minWidth:n.totalMinWidth+"px",width:n.totalWidth+"px"}}]};function $t(e){e.stateReducers.push(Qt),e.getTableProps.push(Jt),e.getHeaderProps.push(Yt);}$t.pluginName="useGridLayout";var Jt=function(e,t){return [e,{style:{display:"grid",gridTemplateColumns:t.instance.state.gridLayout.columnWidths.map((function(e){return e})).join(" ")}}]},Yt=function(e,t){return [e,{id:"header-cell-"+t.column.id,style:{position:"sticky"}}]};function Qt(e,t,n,o){if("init"===t.type)return r({gridLayout:{columnWidths:o.columns.map((function(){return "auto"}))}},e);if("columnStartResizing"===t.type){var i=t.columnId,u=o.visibleColumns.findIndex((function(e){return e.id===i})),l=function(e){var t,n=null==(t=document.getElementById("header-cell-"+e))?void 0:t.offsetWidth;if(void 0!==n)return n}(i);return void 0!==l?r({},e,{gridLayout:r({},e.gridLayout,{columnId:i,columnIndex:u,startingWidth:l})}):e}if("columnResizing"===t.type){var s=e.gridLayout,a=s.columnIndex,c=s.startingWidth,d=s.columnWidths,f=c-(e.columnResizing.startX-t.clientX),p=[].concat(d);return p[a]=f+"px",r({},e,{gridLayout:r({},e.gridLayout,{columnWidths:p})})}}e._UNSTABLE_usePivotColumns=nt,e.actions=l,e.defaultColumn=c,e.defaultGroupByFn=De,e.defaultOrderByFn=Qe,e.defaultRenderer=s,e.emptyRenderer=a,e.ensurePluginOrder=v,e.flexRender=b,e.functionalUpdate=m,e.loopHooks=g,e.makePropGetter=f,e.makeRenderer=R,e.reduceHooks=p,e.safeUseLayoutEffect=y,e.useAbsoluteLayout=Mt,e.useAsyncDebounce=function(e,n){void 0===n&&(n=0);var r=t.useRef({}),i=h(e),u=h(n);return t.useCallback(function(){var e=o(regeneratorRuntime.mark((function e(){var t,n,l,s=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(t=s.length,n=new Array(t),l=0;l<t;l++)n[l]=s[l];return r.current.promise||(r.current.promise=new Promise((function(e,t){r.current.resolve=e,r.current.reject=t;}))),r.current.timeout&&clearTimeout(r.current.timeout),r.current.timeout=setTimeout(o(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return delete r.current.timeout,e.prev=1,e.t0=r.current,e.next=5,i().apply(void 0,n);case 5:e.t1=e.sent,e.t0.resolve.call(e.t0,e.t1),e.next=12;break;case 9:e.prev=9,e.t2=e.catch(1),r.current.reject(e.t2);case 12:return e.prev=12,delete r.current.promise,e.finish(12);case 15:case"end":return e.stop()}}),e,null,[[1,9,12,15]])}))),u()),e.abrupt("return",r.current.promise);case 5:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),[i,u])},e.useBlockLayout=Dt,e.useColumnOrder=It,e.useExpanded=se,e.useFilters=Pe,e.useFlexLayout=Vt,e.useGetLatest=h,e.useGlobalFilter=Ie,e.useGridLayout=$t,e.useGroupBy=ze,e.useMountedLayoutEffect=w,e.usePagination=Ze,e.useResizeColumns=kt,e.useRowSelect=vt,e.useRowState=xt,e.useSortBy=Ue,e.useTable=function(e){for(var n=arguments.length,o=new Array(n>1?n-1:0),i=1;i<n;i++)o[i-1]=arguments[i];e=ie(e),o=[K].concat(o);var u=t.useRef({}),s=h(u.current);Object.assign(s(),r({},e,{plugins:o,hooks:q()})),o.filter(Boolean).forEach((function(e){e(s().hooks);}));var a=h(s().hooks);s().getHooks=a,delete s().hooks,Object.assign(s(),p(a().useOptions,ie(e)));var c=s(),d=c.data,v=c.columns,m=c.initialState,y=c.defaultColumn,w=c.getSubRows,b=c.getRowId,E=c.stateReducer,I=c.useControlledState,F=h(E),G=t.useCallback((function(e,t){if(!t.type)throw console.info({action:t}),new Error("Unknown Action 👆");return [].concat(a().stateReducers,Array.isArray(F())?F():[F()]).reduce((function(n,o){return o(n,t,e,s())||n}),e)}),[a,F,s]),A=t.useReducer(G,void 0,(function(){return G(m,{type:l.init})})),k=A[0],H=A[1],T=p([].concat(a().useControlledState,[I]),k,{instance:s()});Object.assign(s(),{state:T,dispatch:H});var z=t.useMemo((function(){return S(p(a().columns,v,{instance:s()}))}),[a,s,v].concat(p(a().columnsDeps,[],{instance:s()})));s().columns=z;var W=t.useMemo((function(){return p(a().allColumns,C(z),{instance:s()}).map(x)}),[z,a,s].concat(p(a().allColumnsDeps,[],{instance:s()})));s().allColumns=W;var O=t.useMemo((function(){for(var e=[],t=[],n={},o=[].concat(W);o.length;){var r=o.shift();le({data:d,rows:e,flatRows:t,rowsById:n,column:r,getRowId:b,getSubRows:w,accessValueHooks:a().accessValue,getInstance:s});}return [e,t,n]}),[W,d,b,w,a,s]),M=O[0],j=O[1],N=O[2];Object.assign(s(),{rows:M,initialRows:[].concat(M),flatRows:j,rowsById:N}),g(a().useInstanceAfterData,s());var L=t.useMemo((function(){return p(a().visibleColumns,W,{instance:s()}).map((function(e){return P(e,y)}))}),[a,W,s,y].concat(p(a().visibleColumnsDeps,[],{instance:s()})));W=t.useMemo((function(){var e=[].concat(L);return W.forEach((function(t){e.find((function(e){return e.id===t.id}))||e.push(t);})),e}),[W,L]),s().allColumns=W;var D=t.useMemo((function(){return p(a().headerGroups,B(L,y),s())}),[a,L,y,s].concat(p(a().headerGroupsDeps,[],{instance:s()})));s().headerGroups=D;var V=t.useMemo((function(){return D.length?D[0].headers:[]}),[D]);s().headers=V,s().flatHeaders=D.reduce((function(e,t){return [].concat(e,t.headers)}),[]),g(a().useInstanceBeforeDimensions,s());var _=L.filter((function(e){return e.isVisible})).map((function(e){return e.id})).sort().join("_");L=t.useMemo((function(){return L.filter((function(e){return e.isVisible}))}),[L,_]),s().visibleColumns=L;var X=ue(V),U=X[0],$=X[1],J=X[2];return s().totalColumnsMinWidth=U,s().totalColumnsWidth=$,s().totalColumnsMaxWidth=J,g(a().useInstance,s()),[].concat(s().flatHeaders,s().allColumns).forEach((function(e){e.render=R(s(),e),e.getHeaderProps=f(a().getHeaderProps,{instance:s(),column:e}),e.getFooterProps=f(a().getFooterProps,{instance:s(),column:e});})),s().headerGroups=t.useMemo((function(){return D.filter((function(e,t){return e.headers=e.headers.filter((function(e){return e.headers?function e(t){return t.filter((function(t){return t.headers?e(t.headers):t.isVisible})).length}(e.headers):e.isVisible})),!!e.headers.length&&(e.getHeaderGroupProps=f(a().getHeaderGroupProps,{instance:s(),headerGroup:e,index:t}),e.getFooterGroupProps=f(a().getFooterGroupProps,{instance:s(),headerGroup:e,index:t}),!0)}))}),[D,s,a]),s().footerGroups=[].concat(s().headerGroups).reverse(),s().prepareRow=t.useCallback((function(e){e.getRowProps=f(a().getRowProps,{instance:s(),row:e}),e.allCells=W.map((function(t){var n=e.values[t.id],o={column:t,row:e,value:n};return o.getCellProps=f(a().getCellProps,{instance:s(),cell:o}),o.render=R(s(),t,{row:e,cell:o,value:n}),o})),e.cells=L.map((function(t){return e.allCells.find((function(e){return e.column.id===t.id}))})),g(a().prepareRow,e,{instance:s()});}),[a,s,W,L]),s().getTableProps=f(a().getTableProps,{instance:s()}),s().getTableBodyProps=f(a().getTableBodyProps,{instance:s()}),g(a().useFinalInstance,s()),s()},Object.defineProperty(e,"__esModule",{value:!0});}));
|
|
11
|
-
|
|
12
|
-
}(reactTable_production_min, reactTable_production_min.exports));
|
|
13
|
-
|
|
14
|
-
var reactTable_development = {exports: {}};
|
|
15
|
-
|
|
16
|
-
(function (module, exports) {
|
|
17
|
-
(function (global, factory) {
|
|
18
|
-
factory(exports, React__default) ;
|
|
19
|
-
}(commonjsGlobal, (function (exports, React) {
|
|
20
|
-
React = React && Object.prototype.hasOwnProperty.call(React, 'default') ? React['default'] : React;
|
|
21
|
-
|
|
22
|
-
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
23
|
-
try {
|
|
24
|
-
var info = gen[key](arg);
|
|
25
|
-
var value = info.value;
|
|
26
|
-
} catch (error) {
|
|
27
|
-
reject(error);
|
|
28
|
-
return;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
if (info.done) {
|
|
32
|
-
resolve(value);
|
|
33
|
-
} else {
|
|
34
|
-
Promise.resolve(value).then(_next, _throw);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
function _asyncToGenerator(fn) {
|
|
39
|
-
return function () {
|
|
40
|
-
var self = this,
|
|
41
|
-
args = arguments;
|
|
42
|
-
return new Promise(function (resolve, reject) {
|
|
43
|
-
var gen = fn.apply(self, args);
|
|
44
|
-
|
|
45
|
-
function _next(value) {
|
|
46
|
-
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
function _throw(err) {
|
|
50
|
-
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
_next(undefined);
|
|
54
|
-
});
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
function _extends() {
|
|
59
|
-
_extends = Object.assign || function (target) {
|
|
60
|
-
for (var i = 1; i < arguments.length; i++) {
|
|
61
|
-
var source = arguments[i];
|
|
62
|
-
|
|
63
|
-
for (var key in source) {
|
|
64
|
-
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
65
|
-
target[key] = source[key];
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
return target;
|
|
71
|
-
};
|
|
72
|
-
|
|
73
|
-
return _extends.apply(this, arguments);
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
77
|
-
if (source == null) return {};
|
|
78
|
-
var target = {};
|
|
79
|
-
var sourceKeys = Object.keys(source);
|
|
80
|
-
var key, i;
|
|
81
|
-
|
|
82
|
-
for (i = 0; i < sourceKeys.length; i++) {
|
|
83
|
-
key = sourceKeys[i];
|
|
84
|
-
if (excluded.indexOf(key) >= 0) continue;
|
|
85
|
-
target[key] = source[key];
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
return target;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
function _toPrimitive(input, hint) {
|
|
92
|
-
if (typeof input !== "object" || input === null) return input;
|
|
93
|
-
var prim = input[Symbol.toPrimitive];
|
|
94
|
-
|
|
95
|
-
if (prim !== undefined) {
|
|
96
|
-
var res = prim.call(input, hint || "default");
|
|
97
|
-
if (typeof res !== "object") return res;
|
|
98
|
-
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
return (hint === "string" ? String : Number)(input);
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
function _toPropertyKey(arg) {
|
|
105
|
-
var key = _toPrimitive(arg, "string");
|
|
106
|
-
|
|
107
|
-
return typeof key === "symbol" ? key : String(key);
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
var renderErr = 'Renderer Error ☝️';
|
|
111
|
-
var actions = {
|
|
112
|
-
init: 'init'
|
|
113
|
-
};
|
|
114
|
-
var defaultRenderer = function defaultRenderer(_ref) {
|
|
115
|
-
var _ref$value = _ref.value,
|
|
116
|
-
value = _ref$value === void 0 ? '' : _ref$value;
|
|
117
|
-
return value;
|
|
118
|
-
};
|
|
119
|
-
var emptyRenderer = function emptyRenderer() {
|
|
120
|
-
return React.createElement(React.Fragment, null, "\xA0");
|
|
121
|
-
};
|
|
122
|
-
var defaultColumn = {
|
|
123
|
-
Cell: defaultRenderer,
|
|
124
|
-
width: 150,
|
|
125
|
-
minWidth: 0,
|
|
126
|
-
maxWidth: Number.MAX_SAFE_INTEGER
|
|
127
|
-
};
|
|
128
|
-
|
|
129
|
-
function mergeProps() {
|
|
130
|
-
for (var _len = arguments.length, propList = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
131
|
-
propList[_key] = arguments[_key];
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
return propList.reduce(function (props, next) {
|
|
135
|
-
var style = next.style,
|
|
136
|
-
className = next.className,
|
|
137
|
-
rest = _objectWithoutPropertiesLoose(next, ["style", "className"]);
|
|
138
|
-
|
|
139
|
-
props = _extends({}, props, {}, rest);
|
|
140
|
-
|
|
141
|
-
if (style) {
|
|
142
|
-
props.style = props.style ? _extends({}, props.style || {}, {}, style || {}) : style;
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
if (className) {
|
|
146
|
-
props.className = props.className ? props.className + ' ' + className : className;
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
if (props.className === '') {
|
|
150
|
-
delete props.className;
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
return props;
|
|
154
|
-
}, {});
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
function handlePropGetter(prevProps, userProps, meta) {
|
|
158
|
-
// Handle a lambda, pass it the previous props
|
|
159
|
-
if (typeof userProps === 'function') {
|
|
160
|
-
return handlePropGetter({}, userProps(prevProps, meta));
|
|
161
|
-
} // Handle an array, merge each item as separate props
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
if (Array.isArray(userProps)) {
|
|
165
|
-
return mergeProps.apply(void 0, [prevProps].concat(userProps));
|
|
166
|
-
} // Handle an object by default, merge the two objects
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
return mergeProps(prevProps, userProps);
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
var makePropGetter = function makePropGetter(hooks, meta) {
|
|
173
|
-
if (meta === void 0) {
|
|
174
|
-
meta = {};
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
return function (userProps) {
|
|
178
|
-
if (userProps === void 0) {
|
|
179
|
-
userProps = {};
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
return [].concat(hooks, [userProps]).reduce(function (prev, next) {
|
|
183
|
-
return handlePropGetter(prev, next, _extends({}, meta, {
|
|
184
|
-
userProps: userProps
|
|
185
|
-
}));
|
|
186
|
-
}, {});
|
|
187
|
-
};
|
|
188
|
-
};
|
|
189
|
-
var reduceHooks = function reduceHooks(hooks, initial, meta, allowUndefined) {
|
|
190
|
-
if (meta === void 0) {
|
|
191
|
-
meta = {};
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
return hooks.reduce(function (prev, next) {
|
|
195
|
-
var nextValue = next(prev, meta);
|
|
196
|
-
|
|
197
|
-
{
|
|
198
|
-
if (!allowUndefined && typeof nextValue === 'undefined') {
|
|
199
|
-
console.info(next);
|
|
200
|
-
throw new Error('React Table: A reducer hook ☝️ just returned undefined! This is not allowed.');
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
return nextValue;
|
|
205
|
-
}, initial);
|
|
206
|
-
};
|
|
207
|
-
var loopHooks = function loopHooks(hooks, context, meta) {
|
|
208
|
-
if (meta === void 0) {
|
|
209
|
-
meta = {};
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
return hooks.forEach(function (hook) {
|
|
213
|
-
var nextValue = hook(context, meta);
|
|
214
|
-
|
|
215
|
-
{
|
|
216
|
-
if (typeof nextValue !== 'undefined') {
|
|
217
|
-
console.info(hook, nextValue);
|
|
218
|
-
throw new Error('React Table: A loop-type hook ☝️ just returned a value! This is not allowed.');
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
});
|
|
222
|
-
};
|
|
223
|
-
function ensurePluginOrder(plugins, befores, pluginName, afters) {
|
|
224
|
-
if ( afters) {
|
|
225
|
-
throw new Error("Defining plugins in the \"after\" section of ensurePluginOrder is no longer supported (see plugin " + pluginName + ")");
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
var pluginIndex = plugins.findIndex(function (plugin) {
|
|
229
|
-
return plugin.pluginName === pluginName;
|
|
230
|
-
});
|
|
231
|
-
|
|
232
|
-
if (pluginIndex === -1) {
|
|
233
|
-
{
|
|
234
|
-
throw new Error("The plugin \"" + pluginName + "\" was not found in the plugin list!\nThis usually means you need to need to name your plugin hook by setting the 'pluginName' property of the hook function, eg:\n\n " + pluginName + ".pluginName = '" + pluginName + "'\n");
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
befores.forEach(function (before) {
|
|
239
|
-
var beforeIndex = plugins.findIndex(function (plugin) {
|
|
240
|
-
return plugin.pluginName === before;
|
|
241
|
-
});
|
|
242
|
-
|
|
243
|
-
if (beforeIndex > -1 && beforeIndex > pluginIndex) {
|
|
244
|
-
{
|
|
245
|
-
throw new Error("React Table: The " + pluginName + " plugin hook must be placed after the " + before + " plugin hook!");
|
|
246
|
-
}
|
|
247
|
-
}
|
|
248
|
-
});
|
|
249
|
-
}
|
|
250
|
-
function functionalUpdate(updater, old) {
|
|
251
|
-
return typeof updater === 'function' ? updater(old) : updater;
|
|
252
|
-
}
|
|
253
|
-
function useGetLatest(obj) {
|
|
254
|
-
var ref = React.useRef();
|
|
255
|
-
ref.current = obj;
|
|
256
|
-
return React.useCallback(function () {
|
|
257
|
-
return ref.current;
|
|
258
|
-
}, []);
|
|
259
|
-
} // SSR has issues with useLayoutEffect still, so use useEffect during SSR
|
|
260
|
-
|
|
261
|
-
var safeUseLayoutEffect = typeof document !== 'undefined' ? React.useLayoutEffect : React.useEffect;
|
|
262
|
-
function useMountedLayoutEffect(fn, deps) {
|
|
263
|
-
var mountedRef = React.useRef(false);
|
|
264
|
-
safeUseLayoutEffect(function () {
|
|
265
|
-
if (mountedRef.current) {
|
|
266
|
-
fn();
|
|
267
|
-
}
|
|
268
|
-
|
|
269
|
-
mountedRef.current = true; // eslint-disable-next-line
|
|
270
|
-
}, deps);
|
|
271
|
-
}
|
|
272
|
-
function useAsyncDebounce(defaultFn, defaultWait) {
|
|
273
|
-
if (defaultWait === void 0) {
|
|
274
|
-
defaultWait = 0;
|
|
275
|
-
}
|
|
276
|
-
|
|
277
|
-
var debounceRef = React.useRef({});
|
|
278
|
-
var getDefaultFn = useGetLatest(defaultFn);
|
|
279
|
-
var getDefaultWait = useGetLatest(defaultWait);
|
|
280
|
-
return React.useCallback(
|
|
281
|
-
/*#__PURE__*/
|
|
282
|
-
function () {
|
|
283
|
-
var _ref2 = _asyncToGenerator(
|
|
284
|
-
/*#__PURE__*/
|
|
285
|
-
regeneratorRuntime.mark(function _callee2() {
|
|
286
|
-
var _len2,
|
|
287
|
-
args,
|
|
288
|
-
_key2,
|
|
289
|
-
_args2 = arguments;
|
|
290
|
-
|
|
291
|
-
return regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
292
|
-
while (1) {
|
|
293
|
-
switch (_context2.prev = _context2.next) {
|
|
294
|
-
case 0:
|
|
295
|
-
for (_len2 = _args2.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
296
|
-
args[_key2] = _args2[_key2];
|
|
297
|
-
}
|
|
298
|
-
|
|
299
|
-
if (!debounceRef.current.promise) {
|
|
300
|
-
debounceRef.current.promise = new Promise(function (resolve, reject) {
|
|
301
|
-
debounceRef.current.resolve = resolve;
|
|
302
|
-
debounceRef.current.reject = reject;
|
|
303
|
-
});
|
|
304
|
-
}
|
|
305
|
-
|
|
306
|
-
if (debounceRef.current.timeout) {
|
|
307
|
-
clearTimeout(debounceRef.current.timeout);
|
|
308
|
-
}
|
|
309
|
-
|
|
310
|
-
debounceRef.current.timeout = setTimeout(
|
|
311
|
-
/*#__PURE__*/
|
|
312
|
-
_asyncToGenerator(
|
|
313
|
-
/*#__PURE__*/
|
|
314
|
-
regeneratorRuntime.mark(function _callee() {
|
|
315
|
-
return regeneratorRuntime.wrap(function _callee$(_context) {
|
|
316
|
-
while (1) {
|
|
317
|
-
switch (_context.prev = _context.next) {
|
|
318
|
-
case 0:
|
|
319
|
-
delete debounceRef.current.timeout;
|
|
320
|
-
_context.prev = 1;
|
|
321
|
-
_context.t0 = debounceRef.current;
|
|
322
|
-
_context.next = 5;
|
|
323
|
-
return getDefaultFn().apply(void 0, args);
|
|
324
|
-
|
|
325
|
-
case 5:
|
|
326
|
-
_context.t1 = _context.sent;
|
|
327
|
-
|
|
328
|
-
_context.t0.resolve.call(_context.t0, _context.t1);
|
|
329
|
-
|
|
330
|
-
_context.next = 12;
|
|
331
|
-
break;
|
|
332
|
-
|
|
333
|
-
case 9:
|
|
334
|
-
_context.prev = 9;
|
|
335
|
-
_context.t2 = _context["catch"](1);
|
|
336
|
-
debounceRef.current.reject(_context.t2);
|
|
337
|
-
|
|
338
|
-
case 12:
|
|
339
|
-
_context.prev = 12;
|
|
340
|
-
delete debounceRef.current.promise;
|
|
341
|
-
return _context.finish(12);
|
|
342
|
-
|
|
343
|
-
case 15:
|
|
344
|
-
case "end":
|
|
345
|
-
return _context.stop();
|
|
346
|
-
}
|
|
347
|
-
}
|
|
348
|
-
}, _callee, null, [[1, 9, 12, 15]]);
|
|
349
|
-
})), getDefaultWait());
|
|
350
|
-
return _context2.abrupt("return", debounceRef.current.promise);
|
|
351
|
-
|
|
352
|
-
case 5:
|
|
353
|
-
case "end":
|
|
354
|
-
return _context2.stop();
|
|
355
|
-
}
|
|
356
|
-
}
|
|
357
|
-
}, _callee2);
|
|
358
|
-
}));
|
|
359
|
-
|
|
360
|
-
return function () {
|
|
361
|
-
return _ref2.apply(this, arguments);
|
|
362
|
-
};
|
|
363
|
-
}(), [getDefaultFn, getDefaultWait]);
|
|
364
|
-
}
|
|
365
|
-
function makeRenderer(instance, column, meta) {
|
|
366
|
-
if (meta === void 0) {
|
|
367
|
-
meta = {};
|
|
368
|
-
}
|
|
369
|
-
|
|
370
|
-
return function (type, userProps) {
|
|
371
|
-
if (userProps === void 0) {
|
|
372
|
-
userProps = {};
|
|
373
|
-
}
|
|
374
|
-
|
|
375
|
-
var Comp = typeof type === 'string' ? column[type] : type;
|
|
376
|
-
|
|
377
|
-
if (typeof Comp === 'undefined') {
|
|
378
|
-
console.info(column);
|
|
379
|
-
throw new Error(renderErr);
|
|
380
|
-
}
|
|
381
|
-
|
|
382
|
-
return flexRender(Comp, _extends({}, instance, {
|
|
383
|
-
column: column
|
|
384
|
-
}, meta, {}, userProps));
|
|
385
|
-
};
|
|
386
|
-
}
|
|
387
|
-
function flexRender(Comp, props) {
|
|
388
|
-
return isReactComponent(Comp) ? React.createElement(Comp, props) : Comp;
|
|
389
|
-
}
|
|
390
|
-
|
|
391
|
-
function isReactComponent(component) {
|
|
392
|
-
return isClassComponent(component) || typeof component === 'function' || isExoticComponent(component);
|
|
393
|
-
}
|
|
394
|
-
|
|
395
|
-
function isClassComponent(component) {
|
|
396
|
-
return typeof component === 'function' && function () {
|
|
397
|
-
var proto = Object.getPrototypeOf(component);
|
|
398
|
-
return proto.prototype && proto.prototype.isReactComponent;
|
|
399
|
-
}();
|
|
400
|
-
}
|
|
401
|
-
|
|
402
|
-
function isExoticComponent(component) {
|
|
403
|
-
return typeof component === 'object' && typeof component.$$typeof === 'symbol' && ['react.memo', 'react.forward_ref'].includes(component.$$typeof.description);
|
|
404
|
-
}
|
|
405
|
-
|
|
406
|
-
function linkColumnStructure(columns, parent, depth) {
|
|
407
|
-
if (depth === void 0) {
|
|
408
|
-
depth = 0;
|
|
409
|
-
}
|
|
410
|
-
|
|
411
|
-
return columns.map(function (column) {
|
|
412
|
-
column = _extends({}, column, {
|
|
413
|
-
parent: parent,
|
|
414
|
-
depth: depth
|
|
415
|
-
});
|
|
416
|
-
assignColumnAccessor(column);
|
|
417
|
-
|
|
418
|
-
if (column.columns) {
|
|
419
|
-
column.columns = linkColumnStructure(column.columns, column, depth + 1);
|
|
420
|
-
}
|
|
421
|
-
|
|
422
|
-
return column;
|
|
423
|
-
});
|
|
424
|
-
}
|
|
425
|
-
function flattenColumns(columns) {
|
|
426
|
-
return flattenBy(columns, 'columns');
|
|
427
|
-
}
|
|
428
|
-
function assignColumnAccessor(column) {
|
|
429
|
-
// First check for string accessor
|
|
430
|
-
var id = column.id,
|
|
431
|
-
accessor = column.accessor,
|
|
432
|
-
Header = column.Header;
|
|
433
|
-
|
|
434
|
-
if (typeof accessor === 'string') {
|
|
435
|
-
id = id || accessor;
|
|
436
|
-
var accessorPath = accessor.split('.');
|
|
437
|
-
|
|
438
|
-
accessor = function accessor(row) {
|
|
439
|
-
return getBy(row, accessorPath);
|
|
440
|
-
};
|
|
441
|
-
}
|
|
442
|
-
|
|
443
|
-
if (!id && typeof Header === 'string' && Header) {
|
|
444
|
-
id = Header;
|
|
445
|
-
}
|
|
446
|
-
|
|
447
|
-
if (!id && column.columns) {
|
|
448
|
-
console.error(column);
|
|
449
|
-
throw new Error('A column ID (or unique "Header" value) is required!');
|
|
450
|
-
}
|
|
451
|
-
|
|
452
|
-
if (!id) {
|
|
453
|
-
console.error(column);
|
|
454
|
-
throw new Error('A column ID (or string accessor) is required!');
|
|
455
|
-
}
|
|
456
|
-
|
|
457
|
-
Object.assign(column, {
|
|
458
|
-
id: id,
|
|
459
|
-
accessor: accessor
|
|
460
|
-
});
|
|
461
|
-
return column;
|
|
462
|
-
}
|
|
463
|
-
function decorateColumn(column, userDefaultColumn) {
|
|
464
|
-
if (!userDefaultColumn) {
|
|
465
|
-
throw new Error();
|
|
466
|
-
}
|
|
467
|
-
|
|
468
|
-
Object.assign(column, _extends({
|
|
469
|
-
// Make sure there is a fallback header, just in case
|
|
470
|
-
Header: emptyRenderer,
|
|
471
|
-
Footer: emptyRenderer
|
|
472
|
-
}, defaultColumn, {}, userDefaultColumn, {}, column));
|
|
473
|
-
Object.assign(column, {
|
|
474
|
-
originalWidth: column.width
|
|
475
|
-
});
|
|
476
|
-
return column;
|
|
477
|
-
} // Build the header groups from the bottom up
|
|
478
|
-
|
|
479
|
-
function makeHeaderGroups(allColumns, defaultColumn, additionalHeaderProperties) {
|
|
480
|
-
if (additionalHeaderProperties === void 0) {
|
|
481
|
-
additionalHeaderProperties = function additionalHeaderProperties() {
|
|
482
|
-
return {};
|
|
483
|
-
};
|
|
484
|
-
}
|
|
485
|
-
|
|
486
|
-
var headerGroups = [];
|
|
487
|
-
var scanColumns = allColumns;
|
|
488
|
-
var uid = 0;
|
|
489
|
-
|
|
490
|
-
var getUID = function getUID() {
|
|
491
|
-
return uid++;
|
|
492
|
-
};
|
|
493
|
-
|
|
494
|
-
var _loop = function _loop() {
|
|
495
|
-
// The header group we are creating
|
|
496
|
-
var headerGroup = {
|
|
497
|
-
headers: []
|
|
498
|
-
}; // The parent columns we're going to scan next
|
|
499
|
-
|
|
500
|
-
var parentColumns = [];
|
|
501
|
-
var hasParents = scanColumns.some(function (d) {
|
|
502
|
-
return d.parent;
|
|
503
|
-
}); // Scan each column for parents
|
|
504
|
-
|
|
505
|
-
scanColumns.forEach(function (column) {
|
|
506
|
-
// What is the latest (last) parent column?
|
|
507
|
-
var latestParentColumn = [].concat(parentColumns).reverse()[0];
|
|
508
|
-
var newParent;
|
|
509
|
-
|
|
510
|
-
if (hasParents) {
|
|
511
|
-
// If the column has a parent, add it if necessary
|
|
512
|
-
if (column.parent) {
|
|
513
|
-
newParent = _extends({}, column.parent, {
|
|
514
|
-
originalId: column.parent.id,
|
|
515
|
-
id: column.parent.id + "_" + getUID(),
|
|
516
|
-
headers: [column]
|
|
517
|
-
}, additionalHeaderProperties(column));
|
|
518
|
-
} else {
|
|
519
|
-
// If other columns have parents, we'll need to add a place holder if necessary
|
|
520
|
-
var originalId = column.id + "_placeholder";
|
|
521
|
-
newParent = decorateColumn(_extends({
|
|
522
|
-
originalId: originalId,
|
|
523
|
-
id: column.id + "_placeholder_" + getUID(),
|
|
524
|
-
placeholderOf: column,
|
|
525
|
-
headers: [column]
|
|
526
|
-
}, additionalHeaderProperties(column)), defaultColumn);
|
|
527
|
-
} // If the resulting parent columns are the same, just add
|
|
528
|
-
// the column and increment the header span
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
if (latestParentColumn && latestParentColumn.originalId === newParent.originalId) {
|
|
532
|
-
latestParentColumn.headers.push(column);
|
|
533
|
-
} else {
|
|
534
|
-
parentColumns.push(newParent);
|
|
535
|
-
}
|
|
536
|
-
}
|
|
537
|
-
|
|
538
|
-
headerGroup.headers.push(column);
|
|
539
|
-
});
|
|
540
|
-
headerGroups.push(headerGroup); // Start scanning the parent columns
|
|
541
|
-
|
|
542
|
-
scanColumns = parentColumns;
|
|
543
|
-
};
|
|
544
|
-
|
|
545
|
-
while (scanColumns.length) {
|
|
546
|
-
_loop();
|
|
547
|
-
}
|
|
548
|
-
|
|
549
|
-
return headerGroups.reverse();
|
|
550
|
-
}
|
|
551
|
-
var pathObjCache = new Map();
|
|
552
|
-
function getBy(obj, path, def) {
|
|
553
|
-
if (!path) {
|
|
554
|
-
return obj;
|
|
555
|
-
}
|
|
556
|
-
|
|
557
|
-
var cacheKey = typeof path === 'function' ? path : JSON.stringify(path);
|
|
558
|
-
|
|
559
|
-
var pathObj = pathObjCache.get(cacheKey) || function () {
|
|
560
|
-
var pathObj = makePathArray(path);
|
|
561
|
-
pathObjCache.set(cacheKey, pathObj);
|
|
562
|
-
return pathObj;
|
|
563
|
-
}();
|
|
564
|
-
|
|
565
|
-
var val;
|
|
566
|
-
|
|
567
|
-
try {
|
|
568
|
-
val = pathObj.reduce(function (cursor, pathPart) {
|
|
569
|
-
return cursor[pathPart];
|
|
570
|
-
}, obj);
|
|
571
|
-
} catch (e) {// continue regardless of error
|
|
572
|
-
}
|
|
573
|
-
|
|
574
|
-
return typeof val !== 'undefined' ? val : def;
|
|
575
|
-
}
|
|
576
|
-
function getFirstDefined() {
|
|
577
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
578
|
-
args[_key] = arguments[_key];
|
|
579
|
-
}
|
|
580
|
-
|
|
581
|
-
for (var i = 0; i < args.length; i += 1) {
|
|
582
|
-
if (typeof args[i] !== 'undefined') {
|
|
583
|
-
return args[i];
|
|
584
|
-
}
|
|
585
|
-
}
|
|
586
|
-
}
|
|
587
|
-
function isFunction(a) {
|
|
588
|
-
if (typeof a === 'function') {
|
|
589
|
-
return a;
|
|
590
|
-
}
|
|
591
|
-
}
|
|
592
|
-
function flattenBy(arr, key) {
|
|
593
|
-
var flat = [];
|
|
594
|
-
|
|
595
|
-
var recurse = function recurse(arr) {
|
|
596
|
-
arr.forEach(function (d) {
|
|
597
|
-
if (!d[key]) {
|
|
598
|
-
flat.push(d);
|
|
599
|
-
} else {
|
|
600
|
-
recurse(d[key]);
|
|
601
|
-
}
|
|
602
|
-
});
|
|
603
|
-
};
|
|
604
|
-
|
|
605
|
-
recurse(arr);
|
|
606
|
-
return flat;
|
|
607
|
-
}
|
|
608
|
-
function expandRows(rows, _ref) {
|
|
609
|
-
var manualExpandedKey = _ref.manualExpandedKey,
|
|
610
|
-
expanded = _ref.expanded,
|
|
611
|
-
_ref$expandSubRows = _ref.expandSubRows,
|
|
612
|
-
expandSubRows = _ref$expandSubRows === void 0 ? true : _ref$expandSubRows;
|
|
613
|
-
var expandedRows = [];
|
|
614
|
-
|
|
615
|
-
var handleRow = function handleRow(row, addToExpandedRows) {
|
|
616
|
-
if (addToExpandedRows === void 0) {
|
|
617
|
-
addToExpandedRows = true;
|
|
618
|
-
}
|
|
619
|
-
|
|
620
|
-
row.isExpanded = row.original && row.original[manualExpandedKey] || expanded[row.id];
|
|
621
|
-
row.canExpand = row.subRows && !!row.subRows.length;
|
|
622
|
-
|
|
623
|
-
if (addToExpandedRows) {
|
|
624
|
-
expandedRows.push(row);
|
|
625
|
-
}
|
|
626
|
-
|
|
627
|
-
if (row.subRows && row.subRows.length && row.isExpanded) {
|
|
628
|
-
row.subRows.forEach(function (row) {
|
|
629
|
-
return handleRow(row, expandSubRows);
|
|
630
|
-
});
|
|
631
|
-
}
|
|
632
|
-
};
|
|
633
|
-
|
|
634
|
-
rows.forEach(function (row) {
|
|
635
|
-
return handleRow(row);
|
|
636
|
-
});
|
|
637
|
-
return expandedRows;
|
|
638
|
-
}
|
|
639
|
-
function getFilterMethod(filter, userFilterTypes, filterTypes) {
|
|
640
|
-
return isFunction(filter) || userFilterTypes[filter] || filterTypes[filter] || filterTypes.text;
|
|
641
|
-
}
|
|
642
|
-
function shouldAutoRemoveFilter(autoRemove, value, column) {
|
|
643
|
-
return autoRemove ? autoRemove(value, column) : typeof value === 'undefined';
|
|
644
|
-
}
|
|
645
|
-
function unpreparedAccessWarning() {
|
|
646
|
-
throw new Error('React-Table: You have not called prepareRow(row) one or more rows you are attempting to render.');
|
|
647
|
-
}
|
|
648
|
-
var passiveSupported = null;
|
|
649
|
-
function passiveEventSupported() {
|
|
650
|
-
// memoize support to avoid adding multiple test events
|
|
651
|
-
if (typeof passiveSupported === 'boolean') return passiveSupported;
|
|
652
|
-
var supported = false;
|
|
653
|
-
|
|
654
|
-
try {
|
|
655
|
-
var options = {
|
|
656
|
-
get passive() {
|
|
657
|
-
supported = true;
|
|
658
|
-
return false;
|
|
659
|
-
}
|
|
660
|
-
|
|
661
|
-
};
|
|
662
|
-
window.addEventListener('test', null, options);
|
|
663
|
-
window.removeEventListener('test', null, options);
|
|
664
|
-
} catch (err) {
|
|
665
|
-
supported = false;
|
|
666
|
-
}
|
|
667
|
-
|
|
668
|
-
passiveSupported = supported;
|
|
669
|
-
return passiveSupported;
|
|
670
|
-
} //
|
|
671
|
-
|
|
672
|
-
var reOpenBracket = /\[/g;
|
|
673
|
-
var reCloseBracket = /\]/g;
|
|
674
|
-
|
|
675
|
-
function makePathArray(obj) {
|
|
676
|
-
return flattenDeep(obj) // remove all periods in parts
|
|
677
|
-
.map(function (d) {
|
|
678
|
-
return String(d).replace('.', '_');
|
|
679
|
-
}) // join parts using period
|
|
680
|
-
.join('.') // replace brackets with periods
|
|
681
|
-
.replace(reOpenBracket, '.').replace(reCloseBracket, '') // split it back out on periods
|
|
682
|
-
.split('.');
|
|
683
|
-
}
|
|
684
|
-
|
|
685
|
-
function flattenDeep(arr, newArr) {
|
|
686
|
-
if (newArr === void 0) {
|
|
687
|
-
newArr = [];
|
|
688
|
-
}
|
|
689
|
-
|
|
690
|
-
if (!Array.isArray(arr)) {
|
|
691
|
-
newArr.push(arr);
|
|
692
|
-
} else {
|
|
693
|
-
for (var i = 0; i < arr.length; i += 1) {
|
|
694
|
-
flattenDeep(arr[i], newArr);
|
|
695
|
-
}
|
|
696
|
-
}
|
|
697
|
-
|
|
698
|
-
return newArr;
|
|
699
|
-
}
|
|
700
|
-
|
|
701
|
-
var defaultGetTableProps = function defaultGetTableProps(props) {
|
|
702
|
-
return _extends({
|
|
703
|
-
role: 'table'
|
|
704
|
-
}, props);
|
|
705
|
-
};
|
|
706
|
-
|
|
707
|
-
var defaultGetTableBodyProps = function defaultGetTableBodyProps(props) {
|
|
708
|
-
return _extends({
|
|
709
|
-
role: 'rowgroup'
|
|
710
|
-
}, props);
|
|
711
|
-
};
|
|
712
|
-
|
|
713
|
-
var defaultGetHeaderProps = function defaultGetHeaderProps(props, _ref) {
|
|
714
|
-
var column = _ref.column;
|
|
715
|
-
return _extends({
|
|
716
|
-
key: "header_" + column.id,
|
|
717
|
-
colSpan: column.totalVisibleHeaderCount,
|
|
718
|
-
role: 'columnheader'
|
|
719
|
-
}, props);
|
|
720
|
-
};
|
|
721
|
-
|
|
722
|
-
var defaultGetFooterProps = function defaultGetFooterProps(props, _ref2) {
|
|
723
|
-
var column = _ref2.column;
|
|
724
|
-
return _extends({
|
|
725
|
-
key: "footer_" + column.id,
|
|
726
|
-
colSpan: column.totalVisibleHeaderCount
|
|
727
|
-
}, props);
|
|
728
|
-
};
|
|
729
|
-
|
|
730
|
-
var defaultGetHeaderGroupProps = function defaultGetHeaderGroupProps(props, _ref3) {
|
|
731
|
-
var index = _ref3.index;
|
|
732
|
-
return _extends({
|
|
733
|
-
key: "headerGroup_" + index,
|
|
734
|
-
role: 'row'
|
|
735
|
-
}, props);
|
|
736
|
-
};
|
|
737
|
-
|
|
738
|
-
var defaultGetFooterGroupProps = function defaultGetFooterGroupProps(props, _ref4) {
|
|
739
|
-
var index = _ref4.index;
|
|
740
|
-
return _extends({
|
|
741
|
-
key: "footerGroup_" + index
|
|
742
|
-
}, props);
|
|
743
|
-
};
|
|
744
|
-
|
|
745
|
-
var defaultGetRowProps = function defaultGetRowProps(props, _ref5) {
|
|
746
|
-
var row = _ref5.row;
|
|
747
|
-
return _extends({
|
|
748
|
-
key: "row_" + row.id,
|
|
749
|
-
role: 'row'
|
|
750
|
-
}, props);
|
|
751
|
-
};
|
|
752
|
-
|
|
753
|
-
var defaultGetCellProps = function defaultGetCellProps(props, _ref6) {
|
|
754
|
-
var cell = _ref6.cell;
|
|
755
|
-
return _extends({
|
|
756
|
-
key: "cell_" + cell.row.id + "_" + cell.column.id,
|
|
757
|
-
role: 'cell'
|
|
758
|
-
}, props);
|
|
759
|
-
};
|
|
760
|
-
|
|
761
|
-
function makeDefaultPluginHooks() {
|
|
762
|
-
return {
|
|
763
|
-
useOptions: [],
|
|
764
|
-
stateReducers: [],
|
|
765
|
-
useControlledState: [],
|
|
766
|
-
columns: [],
|
|
767
|
-
columnsDeps: [],
|
|
768
|
-
allColumns: [],
|
|
769
|
-
allColumnsDeps: [],
|
|
770
|
-
accessValue: [],
|
|
771
|
-
materializedColumns: [],
|
|
772
|
-
materializedColumnsDeps: [],
|
|
773
|
-
useInstanceAfterData: [],
|
|
774
|
-
visibleColumns: [],
|
|
775
|
-
visibleColumnsDeps: [],
|
|
776
|
-
headerGroups: [],
|
|
777
|
-
headerGroupsDeps: [],
|
|
778
|
-
useInstanceBeforeDimensions: [],
|
|
779
|
-
useInstance: [],
|
|
780
|
-
prepareRow: [],
|
|
781
|
-
getTableProps: [defaultGetTableProps],
|
|
782
|
-
getTableBodyProps: [defaultGetTableBodyProps],
|
|
783
|
-
getHeaderGroupProps: [defaultGetHeaderGroupProps],
|
|
784
|
-
getFooterGroupProps: [defaultGetFooterGroupProps],
|
|
785
|
-
getHeaderProps: [defaultGetHeaderProps],
|
|
786
|
-
getFooterProps: [defaultGetFooterProps],
|
|
787
|
-
getRowProps: [defaultGetRowProps],
|
|
788
|
-
getCellProps: [defaultGetCellProps],
|
|
789
|
-
useFinalInstance: []
|
|
790
|
-
};
|
|
791
|
-
}
|
|
792
|
-
|
|
793
|
-
actions.resetHiddenColumns = 'resetHiddenColumns';
|
|
794
|
-
actions.toggleHideColumn = 'toggleHideColumn';
|
|
795
|
-
actions.setHiddenColumns = 'setHiddenColumns';
|
|
796
|
-
actions.toggleHideAllColumns = 'toggleHideAllColumns';
|
|
797
|
-
var useColumnVisibility = function useColumnVisibility(hooks) {
|
|
798
|
-
hooks.getToggleHiddenProps = [defaultGetToggleHiddenProps];
|
|
799
|
-
hooks.getToggleHideAllColumnsProps = [defaultGetToggleHideAllColumnsProps];
|
|
800
|
-
hooks.stateReducers.push(reducer);
|
|
801
|
-
hooks.useInstanceBeforeDimensions.push(useInstanceBeforeDimensions);
|
|
802
|
-
hooks.headerGroupsDeps.push(function (deps, _ref) {
|
|
803
|
-
var instance = _ref.instance;
|
|
804
|
-
return [].concat(deps, [instance.state.hiddenColumns]);
|
|
805
|
-
});
|
|
806
|
-
hooks.useInstance.push(useInstance);
|
|
807
|
-
};
|
|
808
|
-
useColumnVisibility.pluginName = 'useColumnVisibility';
|
|
809
|
-
|
|
810
|
-
var defaultGetToggleHiddenProps = function defaultGetToggleHiddenProps(props, _ref2) {
|
|
811
|
-
var column = _ref2.column;
|
|
812
|
-
return [props, {
|
|
813
|
-
onChange: function onChange(e) {
|
|
814
|
-
column.toggleHidden(!e.target.checked);
|
|
815
|
-
},
|
|
816
|
-
style: {
|
|
817
|
-
cursor: 'pointer'
|
|
818
|
-
},
|
|
819
|
-
checked: column.isVisible,
|
|
820
|
-
title: 'Toggle Column Visible'
|
|
821
|
-
}];
|
|
822
|
-
};
|
|
823
|
-
|
|
824
|
-
var defaultGetToggleHideAllColumnsProps = function defaultGetToggleHideAllColumnsProps(props, _ref3) {
|
|
825
|
-
var instance = _ref3.instance;
|
|
826
|
-
return [props, {
|
|
827
|
-
onChange: function onChange(e) {
|
|
828
|
-
instance.toggleHideAllColumns(!e.target.checked);
|
|
829
|
-
},
|
|
830
|
-
style: {
|
|
831
|
-
cursor: 'pointer'
|
|
832
|
-
},
|
|
833
|
-
checked: !instance.allColumnsHidden && !instance.state.hiddenColumns.length,
|
|
834
|
-
title: 'Toggle All Columns Hidden',
|
|
835
|
-
indeterminate: !instance.allColumnsHidden && instance.state.hiddenColumns.length
|
|
836
|
-
}];
|
|
837
|
-
};
|
|
838
|
-
|
|
839
|
-
function reducer(state, action, previousState, instance) {
|
|
840
|
-
if (action.type === actions.init) {
|
|
841
|
-
return _extends({
|
|
842
|
-
hiddenColumns: []
|
|
843
|
-
}, state);
|
|
844
|
-
}
|
|
845
|
-
|
|
846
|
-
if (action.type === actions.resetHiddenColumns) {
|
|
847
|
-
return _extends({}, state, {
|
|
848
|
-
hiddenColumns: instance.initialState.hiddenColumns || []
|
|
849
|
-
});
|
|
850
|
-
}
|
|
851
|
-
|
|
852
|
-
if (action.type === actions.toggleHideColumn) {
|
|
853
|
-
var should = typeof action.value !== 'undefined' ? action.value : !state.hiddenColumns.includes(action.columnId);
|
|
854
|
-
var hiddenColumns = should ? [].concat(state.hiddenColumns, [action.columnId]) : state.hiddenColumns.filter(function (d) {
|
|
855
|
-
return d !== action.columnId;
|
|
856
|
-
});
|
|
857
|
-
return _extends({}, state, {
|
|
858
|
-
hiddenColumns: hiddenColumns
|
|
859
|
-
});
|
|
860
|
-
}
|
|
861
|
-
|
|
862
|
-
if (action.type === actions.setHiddenColumns) {
|
|
863
|
-
return _extends({}, state, {
|
|
864
|
-
hiddenColumns: functionalUpdate(action.value, state.hiddenColumns)
|
|
865
|
-
});
|
|
866
|
-
}
|
|
867
|
-
|
|
868
|
-
if (action.type === actions.toggleHideAllColumns) {
|
|
869
|
-
var shouldAll = typeof action.value !== 'undefined' ? action.value : !state.hiddenColumns.length;
|
|
870
|
-
return _extends({}, state, {
|
|
871
|
-
hiddenColumns: shouldAll ? instance.allColumns.map(function (d) {
|
|
872
|
-
return d.id;
|
|
873
|
-
}) : []
|
|
874
|
-
});
|
|
875
|
-
}
|
|
876
|
-
}
|
|
877
|
-
|
|
878
|
-
function useInstanceBeforeDimensions(instance) {
|
|
879
|
-
var headers = instance.headers,
|
|
880
|
-
hiddenColumns = instance.state.hiddenColumns;
|
|
881
|
-
var isMountedRef = React.useRef(false);
|
|
882
|
-
|
|
883
|
-
if (!isMountedRef.current) ;
|
|
884
|
-
|
|
885
|
-
var handleColumn = function handleColumn(column, parentVisible) {
|
|
886
|
-
column.isVisible = parentVisible && !hiddenColumns.includes(column.id);
|
|
887
|
-
var totalVisibleHeaderCount = 0;
|
|
888
|
-
|
|
889
|
-
if (column.headers && column.headers.length) {
|
|
890
|
-
column.headers.forEach(function (subColumn) {
|
|
891
|
-
return totalVisibleHeaderCount += handleColumn(subColumn, column.isVisible);
|
|
892
|
-
});
|
|
893
|
-
} else {
|
|
894
|
-
totalVisibleHeaderCount = column.isVisible ? 1 : 0;
|
|
895
|
-
}
|
|
896
|
-
|
|
897
|
-
column.totalVisibleHeaderCount = totalVisibleHeaderCount;
|
|
898
|
-
return totalVisibleHeaderCount;
|
|
899
|
-
};
|
|
900
|
-
|
|
901
|
-
var totalVisibleHeaderCount = 0;
|
|
902
|
-
headers.forEach(function (subHeader) {
|
|
903
|
-
return totalVisibleHeaderCount += handleColumn(subHeader, true);
|
|
904
|
-
});
|
|
905
|
-
}
|
|
906
|
-
|
|
907
|
-
function useInstance(instance) {
|
|
908
|
-
var columns = instance.columns,
|
|
909
|
-
flatHeaders = instance.flatHeaders,
|
|
910
|
-
dispatch = instance.dispatch,
|
|
911
|
-
allColumns = instance.allColumns,
|
|
912
|
-
getHooks = instance.getHooks,
|
|
913
|
-
hiddenColumns = instance.state.hiddenColumns,
|
|
914
|
-
_instance$autoResetHi = instance.autoResetHiddenColumns,
|
|
915
|
-
autoResetHiddenColumns = _instance$autoResetHi === void 0 ? true : _instance$autoResetHi;
|
|
916
|
-
var getInstance = useGetLatest(instance);
|
|
917
|
-
var allColumnsHidden = allColumns.length === hiddenColumns.length;
|
|
918
|
-
var toggleHideColumn = React.useCallback(function (columnId, value) {
|
|
919
|
-
return dispatch({
|
|
920
|
-
type: actions.toggleHideColumn,
|
|
921
|
-
columnId: columnId,
|
|
922
|
-
value: value
|
|
923
|
-
});
|
|
924
|
-
}, [dispatch]);
|
|
925
|
-
var setHiddenColumns = React.useCallback(function (value) {
|
|
926
|
-
return dispatch({
|
|
927
|
-
type: actions.setHiddenColumns,
|
|
928
|
-
value: value
|
|
929
|
-
});
|
|
930
|
-
}, [dispatch]);
|
|
931
|
-
var toggleHideAllColumns = React.useCallback(function (value) {
|
|
932
|
-
return dispatch({
|
|
933
|
-
type: actions.toggleHideAllColumns,
|
|
934
|
-
value: value
|
|
935
|
-
});
|
|
936
|
-
}, [dispatch]);
|
|
937
|
-
var getToggleHideAllColumnsProps = makePropGetter(getHooks().getToggleHideAllColumnsProps, {
|
|
938
|
-
instance: getInstance()
|
|
939
|
-
});
|
|
940
|
-
flatHeaders.forEach(function (column) {
|
|
941
|
-
column.toggleHidden = function (value) {
|
|
942
|
-
dispatch({
|
|
943
|
-
type: actions.toggleHideColumn,
|
|
944
|
-
columnId: column.id,
|
|
945
|
-
value: value
|
|
946
|
-
});
|
|
947
|
-
};
|
|
948
|
-
|
|
949
|
-
column.getToggleHiddenProps = makePropGetter(getHooks().getToggleHiddenProps, {
|
|
950
|
-
instance: getInstance(),
|
|
951
|
-
column: column
|
|
952
|
-
});
|
|
953
|
-
});
|
|
954
|
-
var getAutoResetHiddenColumns = useGetLatest(autoResetHiddenColumns);
|
|
955
|
-
useMountedLayoutEffect(function () {
|
|
956
|
-
if (getAutoResetHiddenColumns()) {
|
|
957
|
-
dispatch({
|
|
958
|
-
type: actions.resetHiddenColumns
|
|
959
|
-
});
|
|
960
|
-
}
|
|
961
|
-
}, [dispatch, columns]);
|
|
962
|
-
Object.assign(instance, {
|
|
963
|
-
allColumnsHidden: allColumnsHidden,
|
|
964
|
-
toggleHideColumn: toggleHideColumn,
|
|
965
|
-
setHiddenColumns: setHiddenColumns,
|
|
966
|
-
toggleHideAllColumns: toggleHideAllColumns,
|
|
967
|
-
getToggleHideAllColumnsProps: getToggleHideAllColumnsProps
|
|
968
|
-
});
|
|
969
|
-
}
|
|
970
|
-
|
|
971
|
-
var defaultInitialState = {};
|
|
972
|
-
var defaultColumnInstance = {};
|
|
973
|
-
|
|
974
|
-
var defaultReducer = function defaultReducer(state, action, prevState) {
|
|
975
|
-
return state;
|
|
976
|
-
};
|
|
977
|
-
|
|
978
|
-
var defaultGetSubRows = function defaultGetSubRows(row, index) {
|
|
979
|
-
return row.subRows || [];
|
|
980
|
-
};
|
|
981
|
-
|
|
982
|
-
var defaultGetRowId = function defaultGetRowId(row, index, parent) {
|
|
983
|
-
return "" + (parent ? [parent.id, index].join('.') : index);
|
|
984
|
-
};
|
|
985
|
-
|
|
986
|
-
var defaultUseControlledState = function defaultUseControlledState(d) {
|
|
987
|
-
return d;
|
|
988
|
-
};
|
|
989
|
-
|
|
990
|
-
function applyDefaults(props) {
|
|
991
|
-
var _props$initialState = props.initialState,
|
|
992
|
-
initialState = _props$initialState === void 0 ? defaultInitialState : _props$initialState,
|
|
993
|
-
_props$defaultColumn = props.defaultColumn,
|
|
994
|
-
defaultColumn = _props$defaultColumn === void 0 ? defaultColumnInstance : _props$defaultColumn,
|
|
995
|
-
_props$getSubRows = props.getSubRows,
|
|
996
|
-
getSubRows = _props$getSubRows === void 0 ? defaultGetSubRows : _props$getSubRows,
|
|
997
|
-
_props$getRowId = props.getRowId,
|
|
998
|
-
getRowId = _props$getRowId === void 0 ? defaultGetRowId : _props$getRowId,
|
|
999
|
-
_props$stateReducer = props.stateReducer,
|
|
1000
|
-
stateReducer = _props$stateReducer === void 0 ? defaultReducer : _props$stateReducer,
|
|
1001
|
-
_props$useControlledS = props.useControlledState,
|
|
1002
|
-
useControlledState = _props$useControlledS === void 0 ? defaultUseControlledState : _props$useControlledS,
|
|
1003
|
-
rest = _objectWithoutPropertiesLoose(props, ["initialState", "defaultColumn", "getSubRows", "getRowId", "stateReducer", "useControlledState"]);
|
|
1004
|
-
|
|
1005
|
-
return _extends({}, rest, {
|
|
1006
|
-
initialState: initialState,
|
|
1007
|
-
defaultColumn: defaultColumn,
|
|
1008
|
-
getSubRows: getSubRows,
|
|
1009
|
-
getRowId: getRowId,
|
|
1010
|
-
stateReducer: stateReducer,
|
|
1011
|
-
useControlledState: useControlledState
|
|
1012
|
-
});
|
|
1013
|
-
}
|
|
1014
|
-
|
|
1015
|
-
var useTable = function useTable(props) {
|
|
1016
|
-
for (var _len = arguments.length, plugins = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
1017
|
-
plugins[_key - 1] = arguments[_key];
|
|
1018
|
-
}
|
|
1019
|
-
|
|
1020
|
-
// Apply default props
|
|
1021
|
-
props = applyDefaults(props); // Add core plugins
|
|
1022
|
-
|
|
1023
|
-
plugins = [useColumnVisibility].concat(plugins); // Create the table instance
|
|
1024
|
-
|
|
1025
|
-
var instanceRef = React.useRef({}); // Create a getter for the instance (helps avoid a lot of potential memory leaks)
|
|
1026
|
-
|
|
1027
|
-
var getInstance = useGetLatest(instanceRef.current); // Assign the props, plugins and hooks to the instance
|
|
1028
|
-
|
|
1029
|
-
Object.assign(getInstance(), _extends({}, props, {
|
|
1030
|
-
plugins: plugins,
|
|
1031
|
-
hooks: makeDefaultPluginHooks()
|
|
1032
|
-
})); // Allow plugins to register hooks as early as possible
|
|
1033
|
-
|
|
1034
|
-
plugins.filter(Boolean).forEach(function (plugin) {
|
|
1035
|
-
plugin(getInstance().hooks);
|
|
1036
|
-
}); // Consume all hooks and make a getter for them
|
|
1037
|
-
|
|
1038
|
-
var getHooks = useGetLatest(getInstance().hooks);
|
|
1039
|
-
getInstance().getHooks = getHooks;
|
|
1040
|
-
delete getInstance().hooks; // Allow useOptions hooks to modify the options coming into the table
|
|
1041
|
-
|
|
1042
|
-
Object.assign(getInstance(), reduceHooks(getHooks().useOptions, applyDefaults(props)));
|
|
1043
|
-
|
|
1044
|
-
var _getInstance = getInstance(),
|
|
1045
|
-
data = _getInstance.data,
|
|
1046
|
-
userColumns = _getInstance.columns,
|
|
1047
|
-
initialState = _getInstance.initialState,
|
|
1048
|
-
defaultColumn = _getInstance.defaultColumn,
|
|
1049
|
-
getSubRows = _getInstance.getSubRows,
|
|
1050
|
-
getRowId = _getInstance.getRowId,
|
|
1051
|
-
stateReducer = _getInstance.stateReducer,
|
|
1052
|
-
useControlledState = _getInstance.useControlledState; // Setup user reducer ref
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
var getStateReducer = useGetLatest(stateReducer); // Build the reducer
|
|
1056
|
-
|
|
1057
|
-
var reducer = React.useCallback(function (state, action) {
|
|
1058
|
-
// Detect invalid actions
|
|
1059
|
-
if (!action.type) {
|
|
1060
|
-
console.info({
|
|
1061
|
-
action: action
|
|
1062
|
-
});
|
|
1063
|
-
throw new Error('Unknown Action 👆');
|
|
1064
|
-
} // Reduce the state from all plugin reducers
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
return [].concat(getHooks().stateReducers, Array.isArray(getStateReducer()) ? getStateReducer() : [getStateReducer()]).reduce(function (s, handler) {
|
|
1068
|
-
return handler(s, action, state, getInstance()) || s;
|
|
1069
|
-
}, state);
|
|
1070
|
-
}, [getHooks, getStateReducer, getInstance]); // Start the reducer
|
|
1071
|
-
|
|
1072
|
-
var _React$useReducer = React.useReducer(reducer, undefined, function () {
|
|
1073
|
-
return reducer(initialState, {
|
|
1074
|
-
type: actions.init
|
|
1075
|
-
});
|
|
1076
|
-
}),
|
|
1077
|
-
reducerState = _React$useReducer[0],
|
|
1078
|
-
dispatch = _React$useReducer[1]; // Allow the user to control the final state with hooks
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
var state = reduceHooks([].concat(getHooks().useControlledState, [useControlledState]), reducerState, {
|
|
1082
|
-
instance: getInstance()
|
|
1083
|
-
});
|
|
1084
|
-
Object.assign(getInstance(), {
|
|
1085
|
-
state: state,
|
|
1086
|
-
dispatch: dispatch
|
|
1087
|
-
}); // Decorate All the columns
|
|
1088
|
-
|
|
1089
|
-
var columns = React.useMemo(function () {
|
|
1090
|
-
return linkColumnStructure(reduceHooks(getHooks().columns, userColumns, {
|
|
1091
|
-
instance: getInstance()
|
|
1092
|
-
}));
|
|
1093
|
-
}, [getHooks, getInstance, userColumns].concat(reduceHooks(getHooks().columnsDeps, [], {
|
|
1094
|
-
instance: getInstance()
|
|
1095
|
-
})));
|
|
1096
|
-
getInstance().columns = columns; // Get the flat list of all columns and allow hooks to decorate
|
|
1097
|
-
// those columns (and trigger this memoization via deps)
|
|
1098
|
-
|
|
1099
|
-
var allColumns = React.useMemo(function () {
|
|
1100
|
-
return reduceHooks(getHooks().allColumns, flattenColumns(columns), {
|
|
1101
|
-
instance: getInstance()
|
|
1102
|
-
}).map(assignColumnAccessor);
|
|
1103
|
-
}, [columns, getHooks, getInstance].concat(reduceHooks(getHooks().allColumnsDeps, [], {
|
|
1104
|
-
instance: getInstance()
|
|
1105
|
-
})));
|
|
1106
|
-
getInstance().allColumns = allColumns; // Access the row model using initial columns
|
|
1107
|
-
|
|
1108
|
-
var _React$useMemo = React.useMemo(function () {
|
|
1109
|
-
var rows = [];
|
|
1110
|
-
var flatRows = [];
|
|
1111
|
-
var rowsById = {};
|
|
1112
|
-
var allColumnsQueue = [].concat(allColumns);
|
|
1113
|
-
|
|
1114
|
-
while (allColumnsQueue.length) {
|
|
1115
|
-
var column = allColumnsQueue.shift();
|
|
1116
|
-
accessRowsForColumn({
|
|
1117
|
-
data: data,
|
|
1118
|
-
rows: rows,
|
|
1119
|
-
flatRows: flatRows,
|
|
1120
|
-
rowsById: rowsById,
|
|
1121
|
-
column: column,
|
|
1122
|
-
getRowId: getRowId,
|
|
1123
|
-
getSubRows: getSubRows,
|
|
1124
|
-
accessValueHooks: getHooks().accessValue,
|
|
1125
|
-
getInstance: getInstance
|
|
1126
|
-
});
|
|
1127
|
-
}
|
|
1128
|
-
|
|
1129
|
-
return [rows, flatRows, rowsById];
|
|
1130
|
-
}, [allColumns, data, getRowId, getSubRows, getHooks, getInstance]),
|
|
1131
|
-
rows = _React$useMemo[0],
|
|
1132
|
-
flatRows = _React$useMemo[1],
|
|
1133
|
-
rowsById = _React$useMemo[2];
|
|
1134
|
-
|
|
1135
|
-
Object.assign(getInstance(), {
|
|
1136
|
-
rows: rows,
|
|
1137
|
-
initialRows: [].concat(rows),
|
|
1138
|
-
flatRows: flatRows,
|
|
1139
|
-
rowsById: rowsById // materializedColumns,
|
|
1140
|
-
|
|
1141
|
-
});
|
|
1142
|
-
loopHooks(getHooks().useInstanceAfterData, getInstance()); // Get the flat list of all columns AFTER the rows
|
|
1143
|
-
// have been access, and allow hooks to decorate
|
|
1144
|
-
// those columns (and trigger this memoization via deps)
|
|
1145
|
-
|
|
1146
|
-
var visibleColumns = React.useMemo(function () {
|
|
1147
|
-
return reduceHooks(getHooks().visibleColumns, allColumns, {
|
|
1148
|
-
instance: getInstance()
|
|
1149
|
-
}).map(function (d) {
|
|
1150
|
-
return decorateColumn(d, defaultColumn);
|
|
1151
|
-
});
|
|
1152
|
-
}, [getHooks, allColumns, getInstance, defaultColumn].concat(reduceHooks(getHooks().visibleColumnsDeps, [], {
|
|
1153
|
-
instance: getInstance()
|
|
1154
|
-
}))); // Combine new visible columns with all columns
|
|
1155
|
-
|
|
1156
|
-
allColumns = React.useMemo(function () {
|
|
1157
|
-
var columns = [].concat(visibleColumns);
|
|
1158
|
-
allColumns.forEach(function (column) {
|
|
1159
|
-
if (!columns.find(function (d) {
|
|
1160
|
-
return d.id === column.id;
|
|
1161
|
-
})) {
|
|
1162
|
-
columns.push(column);
|
|
1163
|
-
}
|
|
1164
|
-
});
|
|
1165
|
-
return columns;
|
|
1166
|
-
}, [allColumns, visibleColumns]);
|
|
1167
|
-
getInstance().allColumns = allColumns;
|
|
1168
|
-
|
|
1169
|
-
{
|
|
1170
|
-
var duplicateColumns = allColumns.filter(function (column, i) {
|
|
1171
|
-
return allColumns.findIndex(function (d) {
|
|
1172
|
-
return d.id === column.id;
|
|
1173
|
-
}) !== i;
|
|
1174
|
-
});
|
|
1175
|
-
|
|
1176
|
-
if (duplicateColumns.length) {
|
|
1177
|
-
console.info(allColumns);
|
|
1178
|
-
throw new Error("Duplicate columns were found with ids: \"" + duplicateColumns.map(function (d) {
|
|
1179
|
-
return d.id;
|
|
1180
|
-
}).join(', ') + "\" in the columns array above");
|
|
1181
|
-
}
|
|
1182
|
-
} // Make the headerGroups
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
var headerGroups = React.useMemo(function () {
|
|
1186
|
-
return reduceHooks(getHooks().headerGroups, makeHeaderGroups(visibleColumns, defaultColumn), getInstance());
|
|
1187
|
-
}, [getHooks, visibleColumns, defaultColumn, getInstance].concat(reduceHooks(getHooks().headerGroupsDeps, [], {
|
|
1188
|
-
instance: getInstance()
|
|
1189
|
-
})));
|
|
1190
|
-
getInstance().headerGroups = headerGroups; // Get the first level of headers
|
|
1191
|
-
|
|
1192
|
-
var headers = React.useMemo(function () {
|
|
1193
|
-
return headerGroups.length ? headerGroups[0].headers : [];
|
|
1194
|
-
}, [headerGroups]);
|
|
1195
|
-
getInstance().headers = headers; // Provide a flat header list for utilities
|
|
1196
|
-
|
|
1197
|
-
getInstance().flatHeaders = headerGroups.reduce(function (all, headerGroup) {
|
|
1198
|
-
return [].concat(all, headerGroup.headers);
|
|
1199
|
-
}, []);
|
|
1200
|
-
loopHooks(getHooks().useInstanceBeforeDimensions, getInstance()); // Filter columns down to visible ones
|
|
1201
|
-
|
|
1202
|
-
var visibleColumnsDep = visibleColumns.filter(function (d) {
|
|
1203
|
-
return d.isVisible;
|
|
1204
|
-
}).map(function (d) {
|
|
1205
|
-
return d.id;
|
|
1206
|
-
}).sort().join('_');
|
|
1207
|
-
visibleColumns = React.useMemo(function () {
|
|
1208
|
-
return visibleColumns.filter(function (d) {
|
|
1209
|
-
return d.isVisible;
|
|
1210
|
-
});
|
|
1211
|
-
}, // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
1212
|
-
[visibleColumns, visibleColumnsDep]);
|
|
1213
|
-
getInstance().visibleColumns = visibleColumns; // Header Visibility is needed by this point
|
|
1214
|
-
|
|
1215
|
-
var _calculateHeaderWidth = calculateHeaderWidths(headers),
|
|
1216
|
-
totalColumnsMinWidth = _calculateHeaderWidth[0],
|
|
1217
|
-
totalColumnsWidth = _calculateHeaderWidth[1],
|
|
1218
|
-
totalColumnsMaxWidth = _calculateHeaderWidth[2];
|
|
1219
|
-
|
|
1220
|
-
getInstance().totalColumnsMinWidth = totalColumnsMinWidth;
|
|
1221
|
-
getInstance().totalColumnsWidth = totalColumnsWidth;
|
|
1222
|
-
getInstance().totalColumnsMaxWidth = totalColumnsMaxWidth;
|
|
1223
|
-
loopHooks(getHooks().useInstance, getInstance()) // Each materialized header needs to be assigned a render function and other
|
|
1224
|
-
// prop getter properties here.
|
|
1225
|
-
;
|
|
1226
|
-
[].concat(getInstance().flatHeaders, getInstance().allColumns).forEach(function (column) {
|
|
1227
|
-
// Give columns/headers rendering power
|
|
1228
|
-
column.render = makeRenderer(getInstance(), column); // Give columns/headers a default getHeaderProps
|
|
1229
|
-
|
|
1230
|
-
column.getHeaderProps = makePropGetter(getHooks().getHeaderProps, {
|
|
1231
|
-
instance: getInstance(),
|
|
1232
|
-
column: column
|
|
1233
|
-
}); // Give columns/headers a default getFooterProps
|
|
1234
|
-
|
|
1235
|
-
column.getFooterProps = makePropGetter(getHooks().getFooterProps, {
|
|
1236
|
-
instance: getInstance(),
|
|
1237
|
-
column: column
|
|
1238
|
-
});
|
|
1239
|
-
});
|
|
1240
|
-
getInstance().headerGroups = React.useMemo(function () {
|
|
1241
|
-
return headerGroups.filter(function (headerGroup, i) {
|
|
1242
|
-
// Filter out any headers and headerGroups that don't have visible columns
|
|
1243
|
-
headerGroup.headers = headerGroup.headers.filter(function (column) {
|
|
1244
|
-
var recurse = function recurse(headers) {
|
|
1245
|
-
return headers.filter(function (column) {
|
|
1246
|
-
if (column.headers) {
|
|
1247
|
-
return recurse(column.headers);
|
|
1248
|
-
}
|
|
1249
|
-
|
|
1250
|
-
return column.isVisible;
|
|
1251
|
-
}).length;
|
|
1252
|
-
};
|
|
1253
|
-
|
|
1254
|
-
if (column.headers) {
|
|
1255
|
-
return recurse(column.headers);
|
|
1256
|
-
}
|
|
1257
|
-
|
|
1258
|
-
return column.isVisible;
|
|
1259
|
-
}); // Give headerGroups getRowProps
|
|
1260
|
-
|
|
1261
|
-
if (headerGroup.headers.length) {
|
|
1262
|
-
headerGroup.getHeaderGroupProps = makePropGetter(getHooks().getHeaderGroupProps, {
|
|
1263
|
-
instance: getInstance(),
|
|
1264
|
-
headerGroup: headerGroup,
|
|
1265
|
-
index: i
|
|
1266
|
-
});
|
|
1267
|
-
headerGroup.getFooterGroupProps = makePropGetter(getHooks().getFooterGroupProps, {
|
|
1268
|
-
instance: getInstance(),
|
|
1269
|
-
headerGroup: headerGroup,
|
|
1270
|
-
index: i
|
|
1271
|
-
});
|
|
1272
|
-
return true;
|
|
1273
|
-
}
|
|
1274
|
-
|
|
1275
|
-
return false;
|
|
1276
|
-
});
|
|
1277
|
-
}, [headerGroups, getInstance, getHooks]);
|
|
1278
|
-
getInstance().footerGroups = [].concat(getInstance().headerGroups).reverse(); // The prepareRow function is absolutely necessary and MUST be called on
|
|
1279
|
-
// any rows the user wishes to be displayed.
|
|
1280
|
-
|
|
1281
|
-
getInstance().prepareRow = React.useCallback(function (row) {
|
|
1282
|
-
row.getRowProps = makePropGetter(getHooks().getRowProps, {
|
|
1283
|
-
instance: getInstance(),
|
|
1284
|
-
row: row
|
|
1285
|
-
}); // Build the visible cells for each row
|
|
1286
|
-
|
|
1287
|
-
row.allCells = allColumns.map(function (column) {
|
|
1288
|
-
var value = row.values[column.id];
|
|
1289
|
-
var cell = {
|
|
1290
|
-
column: column,
|
|
1291
|
-
row: row,
|
|
1292
|
-
value: value
|
|
1293
|
-
}; // Give each cell a getCellProps base
|
|
1294
|
-
|
|
1295
|
-
cell.getCellProps = makePropGetter(getHooks().getCellProps, {
|
|
1296
|
-
instance: getInstance(),
|
|
1297
|
-
cell: cell
|
|
1298
|
-
}); // Give each cell a renderer function (supports multiple renderers)
|
|
1299
|
-
|
|
1300
|
-
cell.render = makeRenderer(getInstance(), column, {
|
|
1301
|
-
row: row,
|
|
1302
|
-
cell: cell,
|
|
1303
|
-
value: value
|
|
1304
|
-
});
|
|
1305
|
-
return cell;
|
|
1306
|
-
});
|
|
1307
|
-
row.cells = visibleColumns.map(function (column) {
|
|
1308
|
-
return row.allCells.find(function (cell) {
|
|
1309
|
-
return cell.column.id === column.id;
|
|
1310
|
-
});
|
|
1311
|
-
}); // need to apply any row specific hooks (useExpanded requires this)
|
|
1312
|
-
|
|
1313
|
-
loopHooks(getHooks().prepareRow, row, {
|
|
1314
|
-
instance: getInstance()
|
|
1315
|
-
});
|
|
1316
|
-
}, [getHooks, getInstance, allColumns, visibleColumns]);
|
|
1317
|
-
getInstance().getTableProps = makePropGetter(getHooks().getTableProps, {
|
|
1318
|
-
instance: getInstance()
|
|
1319
|
-
});
|
|
1320
|
-
getInstance().getTableBodyProps = makePropGetter(getHooks().getTableBodyProps, {
|
|
1321
|
-
instance: getInstance()
|
|
1322
|
-
});
|
|
1323
|
-
loopHooks(getHooks().useFinalInstance, getInstance());
|
|
1324
|
-
return getInstance();
|
|
1325
|
-
};
|
|
1326
|
-
|
|
1327
|
-
function calculateHeaderWidths(headers, left) {
|
|
1328
|
-
if (left === void 0) {
|
|
1329
|
-
left = 0;
|
|
1330
|
-
}
|
|
1331
|
-
|
|
1332
|
-
var sumTotalMinWidth = 0;
|
|
1333
|
-
var sumTotalWidth = 0;
|
|
1334
|
-
var sumTotalMaxWidth = 0;
|
|
1335
|
-
var sumTotalFlexWidth = 0;
|
|
1336
|
-
headers.forEach(function (header) {
|
|
1337
|
-
var subHeaders = header.headers;
|
|
1338
|
-
header.totalLeft = left;
|
|
1339
|
-
|
|
1340
|
-
if (subHeaders && subHeaders.length) {
|
|
1341
|
-
var _calculateHeaderWidth2 = calculateHeaderWidths(subHeaders, left),
|
|
1342
|
-
totalMinWidth = _calculateHeaderWidth2[0],
|
|
1343
|
-
totalWidth = _calculateHeaderWidth2[1],
|
|
1344
|
-
totalMaxWidth = _calculateHeaderWidth2[2],
|
|
1345
|
-
totalFlexWidth = _calculateHeaderWidth2[3];
|
|
1346
|
-
|
|
1347
|
-
header.totalMinWidth = totalMinWidth;
|
|
1348
|
-
header.totalWidth = totalWidth;
|
|
1349
|
-
header.totalMaxWidth = totalMaxWidth;
|
|
1350
|
-
header.totalFlexWidth = totalFlexWidth;
|
|
1351
|
-
} else {
|
|
1352
|
-
header.totalMinWidth = header.minWidth;
|
|
1353
|
-
header.totalWidth = Math.min(Math.max(header.minWidth, header.width), header.maxWidth);
|
|
1354
|
-
header.totalMaxWidth = header.maxWidth;
|
|
1355
|
-
header.totalFlexWidth = header.canResize ? header.totalWidth : 0;
|
|
1356
|
-
}
|
|
1357
|
-
|
|
1358
|
-
if (header.isVisible) {
|
|
1359
|
-
left += header.totalWidth;
|
|
1360
|
-
sumTotalMinWidth += header.totalMinWidth;
|
|
1361
|
-
sumTotalWidth += header.totalWidth;
|
|
1362
|
-
sumTotalMaxWidth += header.totalMaxWidth;
|
|
1363
|
-
sumTotalFlexWidth += header.totalFlexWidth;
|
|
1364
|
-
}
|
|
1365
|
-
});
|
|
1366
|
-
return [sumTotalMinWidth, sumTotalWidth, sumTotalMaxWidth, sumTotalFlexWidth];
|
|
1367
|
-
}
|
|
1368
|
-
|
|
1369
|
-
function accessRowsForColumn(_ref) {
|
|
1370
|
-
var data = _ref.data,
|
|
1371
|
-
rows = _ref.rows,
|
|
1372
|
-
flatRows = _ref.flatRows,
|
|
1373
|
-
rowsById = _ref.rowsById,
|
|
1374
|
-
column = _ref.column,
|
|
1375
|
-
getRowId = _ref.getRowId,
|
|
1376
|
-
getSubRows = _ref.getSubRows,
|
|
1377
|
-
accessValueHooks = _ref.accessValueHooks,
|
|
1378
|
-
getInstance = _ref.getInstance;
|
|
1379
|
-
|
|
1380
|
-
// Access the row's data column-by-column
|
|
1381
|
-
// We do it this way so we can incrementally add materialized
|
|
1382
|
-
// columns after the first pass and avoid excessive looping
|
|
1383
|
-
var accessRow = function accessRow(originalRow, rowIndex, depth, parent, parentRows) {
|
|
1384
|
-
if (depth === void 0) {
|
|
1385
|
-
depth = 0;
|
|
1386
|
-
}
|
|
1387
|
-
|
|
1388
|
-
// Keep the original reference around
|
|
1389
|
-
var original = originalRow;
|
|
1390
|
-
var id = getRowId(originalRow, rowIndex, parent);
|
|
1391
|
-
var row = rowsById[id]; // If the row hasn't been created, let's make it
|
|
1392
|
-
|
|
1393
|
-
if (!row) {
|
|
1394
|
-
row = {
|
|
1395
|
-
id: id,
|
|
1396
|
-
original: original,
|
|
1397
|
-
index: rowIndex,
|
|
1398
|
-
depth: depth,
|
|
1399
|
-
cells: [{}] // This is a dummy cell
|
|
1400
|
-
|
|
1401
|
-
}; // Override common array functions (and the dummy cell's getCellProps function)
|
|
1402
|
-
// to show an error if it is accessed without calling prepareRow
|
|
1403
|
-
|
|
1404
|
-
row.cells.map = unpreparedAccessWarning;
|
|
1405
|
-
row.cells.filter = unpreparedAccessWarning;
|
|
1406
|
-
row.cells.forEach = unpreparedAccessWarning;
|
|
1407
|
-
row.cells[0].getCellProps = unpreparedAccessWarning; // Create the cells and values
|
|
1408
|
-
|
|
1409
|
-
row.values = {}; // Push this row into the parentRows array
|
|
1410
|
-
|
|
1411
|
-
parentRows.push(row); // Keep track of every row in a flat array
|
|
1412
|
-
|
|
1413
|
-
flatRows.push(row); // Also keep track of every row by its ID
|
|
1414
|
-
|
|
1415
|
-
rowsById[id] = row; // Get the original subrows
|
|
1416
|
-
|
|
1417
|
-
row.originalSubRows = getSubRows(originalRow, rowIndex); // Then recursively access them
|
|
1418
|
-
|
|
1419
|
-
if (row.originalSubRows) {
|
|
1420
|
-
var subRows = [];
|
|
1421
|
-
row.originalSubRows.forEach(function (d, i) {
|
|
1422
|
-
return accessRow(d, i, depth + 1, row, subRows);
|
|
1423
|
-
}); // Keep the new subRows array on the row
|
|
1424
|
-
|
|
1425
|
-
row.subRows = subRows;
|
|
1426
|
-
}
|
|
1427
|
-
} else if (row.subRows) {
|
|
1428
|
-
// If the row exists, then it's already been accessed
|
|
1429
|
-
// Keep recursing, but don't worry about passing the
|
|
1430
|
-
// accumlator array (those rows already exist)
|
|
1431
|
-
row.originalSubRows.forEach(function (d, i) {
|
|
1432
|
-
return accessRow(d, i, depth + 1, row);
|
|
1433
|
-
});
|
|
1434
|
-
} // If the column has an accessor, use it to get a value
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
if (column.accessor) {
|
|
1438
|
-
row.values[column.id] = column.accessor(originalRow, rowIndex, row, parentRows, data);
|
|
1439
|
-
} // Allow plugins to manipulate the column value
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
row.values[column.id] = reduceHooks(accessValueHooks, row.values[column.id], {
|
|
1443
|
-
row: row,
|
|
1444
|
-
column: column,
|
|
1445
|
-
instance: getInstance()
|
|
1446
|
-
}, true);
|
|
1447
|
-
};
|
|
1448
|
-
|
|
1449
|
-
data.forEach(function (originalRow, rowIndex) {
|
|
1450
|
-
return accessRow(originalRow, rowIndex, 0, undefined, rows);
|
|
1451
|
-
});
|
|
1452
|
-
}
|
|
1453
|
-
|
|
1454
|
-
actions.resetExpanded = 'resetExpanded';
|
|
1455
|
-
actions.toggleRowExpanded = 'toggleRowExpanded';
|
|
1456
|
-
actions.toggleAllRowsExpanded = 'toggleAllRowsExpanded';
|
|
1457
|
-
var useExpanded = function useExpanded(hooks) {
|
|
1458
|
-
hooks.getToggleAllRowsExpandedProps = [defaultGetToggleAllRowsExpandedProps];
|
|
1459
|
-
hooks.getToggleRowExpandedProps = [defaultGetToggleRowExpandedProps];
|
|
1460
|
-
hooks.stateReducers.push(reducer$1);
|
|
1461
|
-
hooks.useInstance.push(useInstance$1);
|
|
1462
|
-
hooks.prepareRow.push(prepareRow);
|
|
1463
|
-
};
|
|
1464
|
-
useExpanded.pluginName = 'useExpanded';
|
|
1465
|
-
|
|
1466
|
-
var defaultGetToggleAllRowsExpandedProps = function defaultGetToggleAllRowsExpandedProps(props, _ref) {
|
|
1467
|
-
var instance = _ref.instance;
|
|
1468
|
-
return [props, {
|
|
1469
|
-
onClick: function onClick(e) {
|
|
1470
|
-
instance.toggleAllRowsExpanded();
|
|
1471
|
-
},
|
|
1472
|
-
style: {
|
|
1473
|
-
cursor: 'pointer'
|
|
1474
|
-
},
|
|
1475
|
-
title: 'Toggle All Rows Expanded'
|
|
1476
|
-
}];
|
|
1477
|
-
};
|
|
1478
|
-
|
|
1479
|
-
var defaultGetToggleRowExpandedProps = function defaultGetToggleRowExpandedProps(props, _ref2) {
|
|
1480
|
-
var row = _ref2.row;
|
|
1481
|
-
return [props, {
|
|
1482
|
-
onClick: function onClick() {
|
|
1483
|
-
row.toggleRowExpanded();
|
|
1484
|
-
},
|
|
1485
|
-
style: {
|
|
1486
|
-
cursor: 'pointer'
|
|
1487
|
-
},
|
|
1488
|
-
title: 'Toggle Row Expanded'
|
|
1489
|
-
}];
|
|
1490
|
-
}; // Reducer
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
function reducer$1(state, action, previousState, instance) {
|
|
1494
|
-
if (action.type === actions.init) {
|
|
1495
|
-
return _extends({
|
|
1496
|
-
expanded: {}
|
|
1497
|
-
}, state);
|
|
1498
|
-
}
|
|
1499
|
-
|
|
1500
|
-
if (action.type === actions.resetExpanded) {
|
|
1501
|
-
return _extends({}, state, {
|
|
1502
|
-
expanded: instance.initialState.expanded || {}
|
|
1503
|
-
});
|
|
1504
|
-
}
|
|
1505
|
-
|
|
1506
|
-
if (action.type === actions.toggleAllRowsExpanded) {
|
|
1507
|
-
var value = action.value;
|
|
1508
|
-
var isAllRowsExpanded = instance.isAllRowsExpanded,
|
|
1509
|
-
rowsById = instance.rowsById;
|
|
1510
|
-
var expandAll = typeof value !== 'undefined' ? value : !isAllRowsExpanded;
|
|
1511
|
-
|
|
1512
|
-
if (expandAll) {
|
|
1513
|
-
var expanded = {};
|
|
1514
|
-
Object.keys(rowsById).forEach(function (rowId) {
|
|
1515
|
-
expanded[rowId] = true;
|
|
1516
|
-
});
|
|
1517
|
-
return _extends({}, state, {
|
|
1518
|
-
expanded: expanded
|
|
1519
|
-
});
|
|
1520
|
-
}
|
|
1521
|
-
|
|
1522
|
-
return _extends({}, state, {
|
|
1523
|
-
expanded: {}
|
|
1524
|
-
});
|
|
1525
|
-
}
|
|
1526
|
-
|
|
1527
|
-
if (action.type === actions.toggleRowExpanded) {
|
|
1528
|
-
var id = action.id,
|
|
1529
|
-
setExpanded = action.value;
|
|
1530
|
-
var exists = state.expanded[id];
|
|
1531
|
-
var shouldExist = typeof setExpanded !== 'undefined' ? setExpanded : !exists;
|
|
1532
|
-
|
|
1533
|
-
if (!exists && shouldExist) {
|
|
1534
|
-
var _extends2;
|
|
1535
|
-
|
|
1536
|
-
return _extends({}, state, {
|
|
1537
|
-
expanded: _extends({}, state.expanded, (_extends2 = {}, _extends2[id] = true, _extends2))
|
|
1538
|
-
});
|
|
1539
|
-
} else if (exists && !shouldExist) {
|
|
1540
|
-
var _state$expanded = state.expanded;
|
|
1541
|
-
_state$expanded[id];
|
|
1542
|
-
var rest = _objectWithoutPropertiesLoose(_state$expanded, [id].map(_toPropertyKey));
|
|
1543
|
-
|
|
1544
|
-
return _extends({}, state, {
|
|
1545
|
-
expanded: rest
|
|
1546
|
-
});
|
|
1547
|
-
} else {
|
|
1548
|
-
return state;
|
|
1549
|
-
}
|
|
1550
|
-
}
|
|
1551
|
-
}
|
|
1552
|
-
|
|
1553
|
-
function useInstance$1(instance) {
|
|
1554
|
-
var data = instance.data,
|
|
1555
|
-
rows = instance.rows,
|
|
1556
|
-
rowsById = instance.rowsById,
|
|
1557
|
-
_instance$manualExpan = instance.manualExpandedKey,
|
|
1558
|
-
manualExpandedKey = _instance$manualExpan === void 0 ? 'expanded' : _instance$manualExpan,
|
|
1559
|
-
_instance$paginateExp = instance.paginateExpandedRows,
|
|
1560
|
-
paginateExpandedRows = _instance$paginateExp === void 0 ? true : _instance$paginateExp,
|
|
1561
|
-
_instance$expandSubRo = instance.expandSubRows,
|
|
1562
|
-
expandSubRows = _instance$expandSubRo === void 0 ? true : _instance$expandSubRo,
|
|
1563
|
-
_instance$autoResetEx = instance.autoResetExpanded,
|
|
1564
|
-
autoResetExpanded = _instance$autoResetEx === void 0 ? true : _instance$autoResetEx,
|
|
1565
|
-
getHooks = instance.getHooks,
|
|
1566
|
-
plugins = instance.plugins,
|
|
1567
|
-
expanded = instance.state.expanded,
|
|
1568
|
-
dispatch = instance.dispatch;
|
|
1569
|
-
ensurePluginOrder(plugins, ['useSortBy', 'useGroupBy', 'usePivotColumns', 'useGlobalFilter'], 'useExpanded');
|
|
1570
|
-
var getAutoResetExpanded = useGetLatest(autoResetExpanded);
|
|
1571
|
-
var isAllRowsExpanded = Boolean(Object.keys(rowsById).length && Object.keys(expanded).length);
|
|
1572
|
-
|
|
1573
|
-
if (isAllRowsExpanded) {
|
|
1574
|
-
if (Object.keys(rowsById).some(function (id) {
|
|
1575
|
-
return !expanded[id];
|
|
1576
|
-
})) {
|
|
1577
|
-
isAllRowsExpanded = false;
|
|
1578
|
-
}
|
|
1579
|
-
} // Bypass any effects from firing when this changes
|
|
1580
|
-
|
|
1581
|
-
|
|
1582
|
-
useMountedLayoutEffect(function () {
|
|
1583
|
-
if (getAutoResetExpanded()) {
|
|
1584
|
-
dispatch({
|
|
1585
|
-
type: actions.resetExpanded
|
|
1586
|
-
});
|
|
1587
|
-
}
|
|
1588
|
-
}, [dispatch, data]);
|
|
1589
|
-
var toggleRowExpanded = React.useCallback(function (id, value) {
|
|
1590
|
-
dispatch({
|
|
1591
|
-
type: actions.toggleRowExpanded,
|
|
1592
|
-
id: id,
|
|
1593
|
-
value: value
|
|
1594
|
-
});
|
|
1595
|
-
}, [dispatch]);
|
|
1596
|
-
var toggleAllRowsExpanded = React.useCallback(function (value) {
|
|
1597
|
-
return dispatch({
|
|
1598
|
-
type: actions.toggleAllRowsExpanded,
|
|
1599
|
-
value: value
|
|
1600
|
-
});
|
|
1601
|
-
}, [dispatch]);
|
|
1602
|
-
var expandedRows = React.useMemo(function () {
|
|
1603
|
-
if (paginateExpandedRows) {
|
|
1604
|
-
return expandRows(rows, {
|
|
1605
|
-
manualExpandedKey: manualExpandedKey,
|
|
1606
|
-
expanded: expanded,
|
|
1607
|
-
expandSubRows: expandSubRows
|
|
1608
|
-
});
|
|
1609
|
-
}
|
|
1610
|
-
|
|
1611
|
-
return rows;
|
|
1612
|
-
}, [paginateExpandedRows, rows, manualExpandedKey, expanded, expandSubRows]);
|
|
1613
|
-
var expandedDepth = React.useMemo(function () {
|
|
1614
|
-
return findExpandedDepth(expanded);
|
|
1615
|
-
}, [expanded]);
|
|
1616
|
-
var getInstance = useGetLatest(instance);
|
|
1617
|
-
var getToggleAllRowsExpandedProps = makePropGetter(getHooks().getToggleAllRowsExpandedProps, {
|
|
1618
|
-
instance: getInstance()
|
|
1619
|
-
});
|
|
1620
|
-
Object.assign(instance, {
|
|
1621
|
-
preExpandedRows: rows,
|
|
1622
|
-
expandedRows: expandedRows,
|
|
1623
|
-
rows: expandedRows,
|
|
1624
|
-
expandedDepth: expandedDepth,
|
|
1625
|
-
isAllRowsExpanded: isAllRowsExpanded,
|
|
1626
|
-
toggleRowExpanded: toggleRowExpanded,
|
|
1627
|
-
toggleAllRowsExpanded: toggleAllRowsExpanded,
|
|
1628
|
-
getToggleAllRowsExpandedProps: getToggleAllRowsExpandedProps
|
|
1629
|
-
});
|
|
1630
|
-
}
|
|
1631
|
-
|
|
1632
|
-
function prepareRow(row, _ref3) {
|
|
1633
|
-
var getHooks = _ref3.instance.getHooks,
|
|
1634
|
-
instance = _ref3.instance;
|
|
1635
|
-
|
|
1636
|
-
row.toggleRowExpanded = function (set) {
|
|
1637
|
-
return instance.toggleRowExpanded(row.id, set);
|
|
1638
|
-
};
|
|
1639
|
-
|
|
1640
|
-
row.getToggleRowExpandedProps = makePropGetter(getHooks().getToggleRowExpandedProps, {
|
|
1641
|
-
instance: instance,
|
|
1642
|
-
row: row
|
|
1643
|
-
});
|
|
1644
|
-
}
|
|
1645
|
-
|
|
1646
|
-
function findExpandedDepth(expanded) {
|
|
1647
|
-
var maxDepth = 0;
|
|
1648
|
-
Object.keys(expanded).forEach(function (id) {
|
|
1649
|
-
var splitId = id.split('.');
|
|
1650
|
-
maxDepth = Math.max(maxDepth, splitId.length);
|
|
1651
|
-
});
|
|
1652
|
-
return maxDepth;
|
|
1653
|
-
}
|
|
1654
|
-
|
|
1655
|
-
var text = function text(rows, ids, filterValue) {
|
|
1656
|
-
rows = rows.filter(function (row) {
|
|
1657
|
-
return ids.some(function (id) {
|
|
1658
|
-
var rowValue = row.values[id];
|
|
1659
|
-
return String(rowValue).toLowerCase().includes(String(filterValue).toLowerCase());
|
|
1660
|
-
});
|
|
1661
|
-
});
|
|
1662
|
-
return rows;
|
|
1663
|
-
};
|
|
1664
|
-
|
|
1665
|
-
text.autoRemove = function (val) {
|
|
1666
|
-
return !val;
|
|
1667
|
-
};
|
|
1668
|
-
|
|
1669
|
-
var exactText = function exactText(rows, ids, filterValue) {
|
|
1670
|
-
return rows.filter(function (row) {
|
|
1671
|
-
return ids.some(function (id) {
|
|
1672
|
-
var rowValue = row.values[id];
|
|
1673
|
-
return rowValue !== undefined ? String(rowValue).toLowerCase() === String(filterValue).toLowerCase() : true;
|
|
1674
|
-
});
|
|
1675
|
-
});
|
|
1676
|
-
};
|
|
1677
|
-
|
|
1678
|
-
exactText.autoRemove = function (val) {
|
|
1679
|
-
return !val;
|
|
1680
|
-
};
|
|
1681
|
-
|
|
1682
|
-
var exactTextCase = function exactTextCase(rows, ids, filterValue) {
|
|
1683
|
-
return rows.filter(function (row) {
|
|
1684
|
-
return ids.some(function (id) {
|
|
1685
|
-
var rowValue = row.values[id];
|
|
1686
|
-
return rowValue !== undefined ? String(rowValue) === String(filterValue) : true;
|
|
1687
|
-
});
|
|
1688
|
-
});
|
|
1689
|
-
};
|
|
1690
|
-
|
|
1691
|
-
exactTextCase.autoRemove = function (val) {
|
|
1692
|
-
return !val;
|
|
1693
|
-
};
|
|
1694
|
-
|
|
1695
|
-
var includes = function includes(rows, ids, filterValue) {
|
|
1696
|
-
return rows.filter(function (row) {
|
|
1697
|
-
return ids.some(function (id) {
|
|
1698
|
-
var rowValue = row.values[id];
|
|
1699
|
-
return rowValue.includes(filterValue);
|
|
1700
|
-
});
|
|
1701
|
-
});
|
|
1702
|
-
};
|
|
1703
|
-
|
|
1704
|
-
includes.autoRemove = function (val) {
|
|
1705
|
-
return !val || !val.length;
|
|
1706
|
-
};
|
|
1707
|
-
|
|
1708
|
-
var includesAll = function includesAll(rows, ids, filterValue) {
|
|
1709
|
-
return rows.filter(function (row) {
|
|
1710
|
-
return ids.some(function (id) {
|
|
1711
|
-
var rowValue = row.values[id];
|
|
1712
|
-
return rowValue && rowValue.length && filterValue.every(function (val) {
|
|
1713
|
-
return rowValue.includes(val);
|
|
1714
|
-
});
|
|
1715
|
-
});
|
|
1716
|
-
});
|
|
1717
|
-
};
|
|
1718
|
-
|
|
1719
|
-
includesAll.autoRemove = function (val) {
|
|
1720
|
-
return !val || !val.length;
|
|
1721
|
-
};
|
|
1722
|
-
|
|
1723
|
-
var includesSome = function includesSome(rows, ids, filterValue) {
|
|
1724
|
-
return rows.filter(function (row) {
|
|
1725
|
-
return ids.some(function (id) {
|
|
1726
|
-
var rowValue = row.values[id];
|
|
1727
|
-
return rowValue && rowValue.length && filterValue.some(function (val) {
|
|
1728
|
-
return rowValue.includes(val);
|
|
1729
|
-
});
|
|
1730
|
-
});
|
|
1731
|
-
});
|
|
1732
|
-
};
|
|
1733
|
-
|
|
1734
|
-
includesSome.autoRemove = function (val) {
|
|
1735
|
-
return !val || !val.length;
|
|
1736
|
-
};
|
|
1737
|
-
|
|
1738
|
-
var includesValue = function includesValue(rows, ids, filterValue) {
|
|
1739
|
-
return rows.filter(function (row) {
|
|
1740
|
-
return ids.some(function (id) {
|
|
1741
|
-
var rowValue = row.values[id];
|
|
1742
|
-
return filterValue.includes(rowValue);
|
|
1743
|
-
});
|
|
1744
|
-
});
|
|
1745
|
-
};
|
|
1746
|
-
|
|
1747
|
-
includesValue.autoRemove = function (val) {
|
|
1748
|
-
return !val || !val.length;
|
|
1749
|
-
};
|
|
1750
|
-
|
|
1751
|
-
var exact = function exact(rows, ids, filterValue) {
|
|
1752
|
-
return rows.filter(function (row) {
|
|
1753
|
-
return ids.some(function (id) {
|
|
1754
|
-
var rowValue = row.values[id];
|
|
1755
|
-
return rowValue === filterValue;
|
|
1756
|
-
});
|
|
1757
|
-
});
|
|
1758
|
-
};
|
|
1759
|
-
|
|
1760
|
-
exact.autoRemove = function (val) {
|
|
1761
|
-
return typeof val === 'undefined';
|
|
1762
|
-
};
|
|
1763
|
-
|
|
1764
|
-
var equals = function equals(rows, ids, filterValue) {
|
|
1765
|
-
return rows.filter(function (row) {
|
|
1766
|
-
return ids.some(function (id) {
|
|
1767
|
-
var rowValue = row.values[id]; // eslint-disable-next-line eqeqeq
|
|
1768
|
-
|
|
1769
|
-
return rowValue == filterValue;
|
|
1770
|
-
});
|
|
1771
|
-
});
|
|
1772
|
-
};
|
|
1773
|
-
|
|
1774
|
-
equals.autoRemove = function (val) {
|
|
1775
|
-
return val == null;
|
|
1776
|
-
};
|
|
1777
|
-
|
|
1778
|
-
var between = function between(rows, ids, filterValue) {
|
|
1779
|
-
var _ref = filterValue || [],
|
|
1780
|
-
min = _ref[0],
|
|
1781
|
-
max = _ref[1];
|
|
1782
|
-
|
|
1783
|
-
min = typeof min === 'number' ? min : -Infinity;
|
|
1784
|
-
max = typeof max === 'number' ? max : Infinity;
|
|
1785
|
-
|
|
1786
|
-
if (min > max) {
|
|
1787
|
-
var temp = min;
|
|
1788
|
-
min = max;
|
|
1789
|
-
max = temp;
|
|
1790
|
-
}
|
|
1791
|
-
|
|
1792
|
-
return rows.filter(function (row) {
|
|
1793
|
-
return ids.some(function (id) {
|
|
1794
|
-
var rowValue = row.values[id];
|
|
1795
|
-
return rowValue >= min && rowValue <= max;
|
|
1796
|
-
});
|
|
1797
|
-
});
|
|
1798
|
-
};
|
|
1799
|
-
|
|
1800
|
-
between.autoRemove = function (val) {
|
|
1801
|
-
return !val || typeof val[0] !== 'number' && typeof val[1] !== 'number';
|
|
1802
|
-
};
|
|
1803
|
-
|
|
1804
|
-
var filterTypes = /*#__PURE__*/Object.freeze({
|
|
1805
|
-
__proto__: null,
|
|
1806
|
-
text: text,
|
|
1807
|
-
exactText: exactText,
|
|
1808
|
-
exactTextCase: exactTextCase,
|
|
1809
|
-
includes: includes,
|
|
1810
|
-
includesAll: includesAll,
|
|
1811
|
-
includesSome: includesSome,
|
|
1812
|
-
includesValue: includesValue,
|
|
1813
|
-
exact: exact,
|
|
1814
|
-
equals: equals,
|
|
1815
|
-
between: between
|
|
1816
|
-
});
|
|
1817
|
-
|
|
1818
|
-
actions.resetFilters = 'resetFilters';
|
|
1819
|
-
actions.setFilter = 'setFilter';
|
|
1820
|
-
actions.setAllFilters = 'setAllFilters';
|
|
1821
|
-
var useFilters = function useFilters(hooks) {
|
|
1822
|
-
hooks.stateReducers.push(reducer$2);
|
|
1823
|
-
hooks.useInstance.push(useInstance$2);
|
|
1824
|
-
};
|
|
1825
|
-
useFilters.pluginName = 'useFilters';
|
|
1826
|
-
|
|
1827
|
-
function reducer$2(state, action, previousState, instance) {
|
|
1828
|
-
if (action.type === actions.init) {
|
|
1829
|
-
return _extends({
|
|
1830
|
-
filters: []
|
|
1831
|
-
}, state);
|
|
1832
|
-
}
|
|
1833
|
-
|
|
1834
|
-
if (action.type === actions.resetFilters) {
|
|
1835
|
-
return _extends({}, state, {
|
|
1836
|
-
filters: instance.initialState.filters || []
|
|
1837
|
-
});
|
|
1838
|
-
}
|
|
1839
|
-
|
|
1840
|
-
if (action.type === actions.setFilter) {
|
|
1841
|
-
var columnId = action.columnId,
|
|
1842
|
-
filterValue = action.filterValue;
|
|
1843
|
-
var allColumns = instance.allColumns,
|
|
1844
|
-
userFilterTypes = instance.filterTypes;
|
|
1845
|
-
var column = allColumns.find(function (d) {
|
|
1846
|
-
return d.id === columnId;
|
|
1847
|
-
});
|
|
1848
|
-
|
|
1849
|
-
if (!column) {
|
|
1850
|
-
throw new Error("React-Table: Could not find a column with id: " + columnId);
|
|
1851
|
-
}
|
|
1852
|
-
|
|
1853
|
-
var filterMethod = getFilterMethod(column.filter, userFilterTypes || {}, filterTypes);
|
|
1854
|
-
var previousfilter = state.filters.find(function (d) {
|
|
1855
|
-
return d.id === columnId;
|
|
1856
|
-
});
|
|
1857
|
-
var newFilter = functionalUpdate(filterValue, previousfilter && previousfilter.value); //
|
|
1858
|
-
|
|
1859
|
-
if (shouldAutoRemoveFilter(filterMethod.autoRemove, newFilter, column)) {
|
|
1860
|
-
return _extends({}, state, {
|
|
1861
|
-
filters: state.filters.filter(function (d) {
|
|
1862
|
-
return d.id !== columnId;
|
|
1863
|
-
})
|
|
1864
|
-
});
|
|
1865
|
-
}
|
|
1866
|
-
|
|
1867
|
-
if (previousfilter) {
|
|
1868
|
-
return _extends({}, state, {
|
|
1869
|
-
filters: state.filters.map(function (d) {
|
|
1870
|
-
if (d.id === columnId) {
|
|
1871
|
-
return {
|
|
1872
|
-
id: columnId,
|
|
1873
|
-
value: newFilter
|
|
1874
|
-
};
|
|
1875
|
-
}
|
|
1876
|
-
|
|
1877
|
-
return d;
|
|
1878
|
-
})
|
|
1879
|
-
});
|
|
1880
|
-
}
|
|
1881
|
-
|
|
1882
|
-
return _extends({}, state, {
|
|
1883
|
-
filters: [].concat(state.filters, [{
|
|
1884
|
-
id: columnId,
|
|
1885
|
-
value: newFilter
|
|
1886
|
-
}])
|
|
1887
|
-
});
|
|
1888
|
-
}
|
|
1889
|
-
|
|
1890
|
-
if (action.type === actions.setAllFilters) {
|
|
1891
|
-
var filters = action.filters;
|
|
1892
|
-
var _allColumns = instance.allColumns,
|
|
1893
|
-
_userFilterTypes = instance.filterTypes;
|
|
1894
|
-
return _extends({}, state, {
|
|
1895
|
-
// Filter out undefined values
|
|
1896
|
-
filters: functionalUpdate(filters, state.filters).filter(function (filter) {
|
|
1897
|
-
var column = _allColumns.find(function (d) {
|
|
1898
|
-
return d.id === filter.id;
|
|
1899
|
-
});
|
|
1900
|
-
|
|
1901
|
-
var filterMethod = getFilterMethod(column.filter, _userFilterTypes || {}, filterTypes);
|
|
1902
|
-
|
|
1903
|
-
if (shouldAutoRemoveFilter(filterMethod.autoRemove, filter.value, column)) {
|
|
1904
|
-
return false;
|
|
1905
|
-
}
|
|
1906
|
-
|
|
1907
|
-
return true;
|
|
1908
|
-
})
|
|
1909
|
-
});
|
|
1910
|
-
}
|
|
1911
|
-
}
|
|
1912
|
-
|
|
1913
|
-
function useInstance$2(instance) {
|
|
1914
|
-
var data = instance.data,
|
|
1915
|
-
rows = instance.rows,
|
|
1916
|
-
flatRows = instance.flatRows,
|
|
1917
|
-
rowsById = instance.rowsById,
|
|
1918
|
-
allColumns = instance.allColumns,
|
|
1919
|
-
userFilterTypes = instance.filterTypes,
|
|
1920
|
-
manualFilters = instance.manualFilters,
|
|
1921
|
-
_instance$defaultCanF = instance.defaultCanFilter,
|
|
1922
|
-
defaultCanFilter = _instance$defaultCanF === void 0 ? false : _instance$defaultCanF,
|
|
1923
|
-
disableFilters = instance.disableFilters,
|
|
1924
|
-
filters = instance.state.filters,
|
|
1925
|
-
dispatch = instance.dispatch,
|
|
1926
|
-
_instance$autoResetFi = instance.autoResetFilters,
|
|
1927
|
-
autoResetFilters = _instance$autoResetFi === void 0 ? true : _instance$autoResetFi;
|
|
1928
|
-
var setFilter = React.useCallback(function (columnId, filterValue) {
|
|
1929
|
-
dispatch({
|
|
1930
|
-
type: actions.setFilter,
|
|
1931
|
-
columnId: columnId,
|
|
1932
|
-
filterValue: filterValue
|
|
1933
|
-
});
|
|
1934
|
-
}, [dispatch]);
|
|
1935
|
-
var setAllFilters = React.useCallback(function (filters) {
|
|
1936
|
-
dispatch({
|
|
1937
|
-
type: actions.setAllFilters,
|
|
1938
|
-
filters: filters
|
|
1939
|
-
});
|
|
1940
|
-
}, [dispatch]);
|
|
1941
|
-
allColumns.forEach(function (column) {
|
|
1942
|
-
var id = column.id,
|
|
1943
|
-
accessor = column.accessor,
|
|
1944
|
-
columnDefaultCanFilter = column.defaultCanFilter,
|
|
1945
|
-
columnDisableFilters = column.disableFilters; // Determine if a column is filterable
|
|
1946
|
-
|
|
1947
|
-
column.canFilter = accessor ? getFirstDefined(columnDisableFilters === true ? false : undefined, disableFilters === true ? false : undefined, true) : getFirstDefined(columnDefaultCanFilter, defaultCanFilter, false); // Provide the column a way of updating the filter value
|
|
1948
|
-
|
|
1949
|
-
column.setFilter = function (val) {
|
|
1950
|
-
return setFilter(column.id, val);
|
|
1951
|
-
}; // Provide the current filter value to the column for
|
|
1952
|
-
// convenience
|
|
1953
|
-
|
|
1954
|
-
|
|
1955
|
-
var found = filters.find(function (d) {
|
|
1956
|
-
return d.id === id;
|
|
1957
|
-
});
|
|
1958
|
-
column.filterValue = found && found.value;
|
|
1959
|
-
});
|
|
1960
|
-
|
|
1961
|
-
var _React$useMemo = React.useMemo(function () {
|
|
1962
|
-
if (manualFilters || !filters.length) {
|
|
1963
|
-
return [rows, flatRows, rowsById];
|
|
1964
|
-
}
|
|
1965
|
-
|
|
1966
|
-
var filteredFlatRows = [];
|
|
1967
|
-
var filteredRowsById = {}; // Filters top level and nested rows
|
|
1968
|
-
|
|
1969
|
-
var filterRows = function filterRows(rows, depth) {
|
|
1970
|
-
if (depth === void 0) {
|
|
1971
|
-
depth = 0;
|
|
1972
|
-
}
|
|
1973
|
-
|
|
1974
|
-
var filteredRows = rows;
|
|
1975
|
-
filteredRows = filters.reduce(function (filteredSoFar, _ref) {
|
|
1976
|
-
var columnId = _ref.id,
|
|
1977
|
-
filterValue = _ref.value;
|
|
1978
|
-
// Find the filters column
|
|
1979
|
-
var column = allColumns.find(function (d) {
|
|
1980
|
-
return d.id === columnId;
|
|
1981
|
-
});
|
|
1982
|
-
|
|
1983
|
-
if (!column) {
|
|
1984
|
-
return filteredSoFar;
|
|
1985
|
-
}
|
|
1986
|
-
|
|
1987
|
-
if (depth === 0) {
|
|
1988
|
-
column.preFilteredRows = filteredSoFar;
|
|
1989
|
-
}
|
|
1990
|
-
|
|
1991
|
-
var filterMethod = getFilterMethod(column.filter, userFilterTypes || {}, filterTypes);
|
|
1992
|
-
|
|
1993
|
-
if (!filterMethod) {
|
|
1994
|
-
console.warn("Could not find a valid 'column.filter' for column with the ID: " + column.id + ".");
|
|
1995
|
-
return filteredSoFar;
|
|
1996
|
-
} // Pass the rows, id, filterValue and column to the filterMethod
|
|
1997
|
-
// to get the filtered rows back
|
|
1998
|
-
|
|
1999
|
-
|
|
2000
|
-
column.filteredRows = filterMethod(filteredSoFar, [columnId], filterValue);
|
|
2001
|
-
return column.filteredRows;
|
|
2002
|
-
}, rows); // Apply the filter to any subRows
|
|
2003
|
-
// We technically could do this recursively in the above loop,
|
|
2004
|
-
// but that would severely hinder the API for the user, since they
|
|
2005
|
-
// would be required to do that recursion in some scenarios
|
|
2006
|
-
|
|
2007
|
-
filteredRows.forEach(function (row) {
|
|
2008
|
-
filteredFlatRows.push(row);
|
|
2009
|
-
filteredRowsById[row.id] = row;
|
|
2010
|
-
|
|
2011
|
-
if (!row.subRows) {
|
|
2012
|
-
return;
|
|
2013
|
-
}
|
|
2014
|
-
|
|
2015
|
-
row.subRows = row.subRows && row.subRows.length > 0 ? filterRows(row.subRows, depth + 1) : row.subRows;
|
|
2016
|
-
});
|
|
2017
|
-
return filteredRows;
|
|
2018
|
-
};
|
|
2019
|
-
|
|
2020
|
-
return [filterRows(rows), filteredFlatRows, filteredRowsById];
|
|
2021
|
-
}, [manualFilters, filters, rows, flatRows, rowsById, allColumns, userFilterTypes]),
|
|
2022
|
-
filteredRows = _React$useMemo[0],
|
|
2023
|
-
filteredFlatRows = _React$useMemo[1],
|
|
2024
|
-
filteredRowsById = _React$useMemo[2];
|
|
2025
|
-
|
|
2026
|
-
React.useMemo(function () {
|
|
2027
|
-
// Now that each filtered column has it's partially filtered rows,
|
|
2028
|
-
// lets assign the final filtered rows to all of the other columns
|
|
2029
|
-
var nonFilteredColumns = allColumns.filter(function (column) {
|
|
2030
|
-
return !filters.find(function (d) {
|
|
2031
|
-
return d.id === column.id;
|
|
2032
|
-
});
|
|
2033
|
-
}); // This essentially enables faceted filter options to be built easily
|
|
2034
|
-
// using every column's preFilteredRows value
|
|
2035
|
-
|
|
2036
|
-
nonFilteredColumns.forEach(function (column) {
|
|
2037
|
-
column.preFilteredRows = filteredRows;
|
|
2038
|
-
column.filteredRows = filteredRows;
|
|
2039
|
-
});
|
|
2040
|
-
}, [filteredRows, filters, allColumns]);
|
|
2041
|
-
var getAutoResetFilters = useGetLatest(autoResetFilters);
|
|
2042
|
-
useMountedLayoutEffect(function () {
|
|
2043
|
-
if (getAutoResetFilters()) {
|
|
2044
|
-
dispatch({
|
|
2045
|
-
type: actions.resetFilters
|
|
2046
|
-
});
|
|
2047
|
-
}
|
|
2048
|
-
}, [dispatch, manualFilters ? null : data]);
|
|
2049
|
-
Object.assign(instance, {
|
|
2050
|
-
preFilteredRows: rows,
|
|
2051
|
-
preFilteredFlatRows: flatRows,
|
|
2052
|
-
preFilteredRowsById: rowsById,
|
|
2053
|
-
filteredRows: filteredRows,
|
|
2054
|
-
filteredFlatRows: filteredFlatRows,
|
|
2055
|
-
filteredRowsById: filteredRowsById,
|
|
2056
|
-
rows: filteredRows,
|
|
2057
|
-
flatRows: filteredFlatRows,
|
|
2058
|
-
rowsById: filteredRowsById,
|
|
2059
|
-
setFilter: setFilter,
|
|
2060
|
-
setAllFilters: setAllFilters
|
|
2061
|
-
});
|
|
2062
|
-
}
|
|
2063
|
-
|
|
2064
|
-
actions.resetGlobalFilter = 'resetGlobalFilter';
|
|
2065
|
-
actions.setGlobalFilter = 'setGlobalFilter';
|
|
2066
|
-
var useGlobalFilter = function useGlobalFilter(hooks) {
|
|
2067
|
-
hooks.stateReducers.push(reducer$3);
|
|
2068
|
-
hooks.useInstance.push(useInstance$3);
|
|
2069
|
-
};
|
|
2070
|
-
useGlobalFilter.pluginName = 'useGlobalFilter';
|
|
2071
|
-
|
|
2072
|
-
function reducer$3(state, action, previousState, instance) {
|
|
2073
|
-
if (action.type === actions.resetGlobalFilter) {
|
|
2074
|
-
return _extends({}, state, {
|
|
2075
|
-
globalFilter: instance.initialState.globalFilter || undefined
|
|
2076
|
-
});
|
|
2077
|
-
}
|
|
2078
|
-
|
|
2079
|
-
if (action.type === actions.setGlobalFilter) {
|
|
2080
|
-
var filterValue = action.filterValue;
|
|
2081
|
-
var userFilterTypes = instance.userFilterTypes;
|
|
2082
|
-
var filterMethod = getFilterMethod(instance.globalFilter, userFilterTypes || {}, filterTypes);
|
|
2083
|
-
var newFilter = functionalUpdate(filterValue, state.globalFilter); //
|
|
2084
|
-
|
|
2085
|
-
if (shouldAutoRemoveFilter(filterMethod.autoRemove, newFilter)) {
|
|
2086
|
-
state.globalFilter;
|
|
2087
|
-
var stateWithoutGlobalFilter = _objectWithoutPropertiesLoose(state, ["globalFilter"]);
|
|
2088
|
-
|
|
2089
|
-
return stateWithoutGlobalFilter;
|
|
2090
|
-
}
|
|
2091
|
-
|
|
2092
|
-
return _extends({}, state, {
|
|
2093
|
-
globalFilter: newFilter
|
|
2094
|
-
});
|
|
2095
|
-
}
|
|
2096
|
-
}
|
|
2097
|
-
|
|
2098
|
-
function useInstance$3(instance) {
|
|
2099
|
-
var data = instance.data,
|
|
2100
|
-
rows = instance.rows,
|
|
2101
|
-
flatRows = instance.flatRows,
|
|
2102
|
-
rowsById = instance.rowsById,
|
|
2103
|
-
allColumns = instance.allColumns,
|
|
2104
|
-
userFilterTypes = instance.filterTypes,
|
|
2105
|
-
globalFilter = instance.globalFilter,
|
|
2106
|
-
manualGlobalFilter = instance.manualGlobalFilter,
|
|
2107
|
-
globalFilterValue = instance.state.globalFilter,
|
|
2108
|
-
dispatch = instance.dispatch,
|
|
2109
|
-
_instance$autoResetGl = instance.autoResetGlobalFilter,
|
|
2110
|
-
autoResetGlobalFilter = _instance$autoResetGl === void 0 ? true : _instance$autoResetGl,
|
|
2111
|
-
disableGlobalFilter = instance.disableGlobalFilter;
|
|
2112
|
-
var setGlobalFilter = React.useCallback(function (filterValue) {
|
|
2113
|
-
dispatch({
|
|
2114
|
-
type: actions.setGlobalFilter,
|
|
2115
|
-
filterValue: filterValue
|
|
2116
|
-
});
|
|
2117
|
-
}, [dispatch]); // TODO: Create a filter cache for incremental high speed multi-filtering
|
|
2118
|
-
// This gets pretty complicated pretty fast, since you have to maintain a
|
|
2119
|
-
// cache for each row group (top-level rows, and each row's recursive subrows)
|
|
2120
|
-
// This would make multi-filtering a lot faster though. Too far?
|
|
2121
|
-
|
|
2122
|
-
var _React$useMemo = React.useMemo(function () {
|
|
2123
|
-
if (manualGlobalFilter || typeof globalFilterValue === 'undefined') {
|
|
2124
|
-
return [rows, flatRows, rowsById];
|
|
2125
|
-
}
|
|
2126
|
-
|
|
2127
|
-
var filteredFlatRows = [];
|
|
2128
|
-
var filteredRowsById = {};
|
|
2129
|
-
var filterMethod = getFilterMethod(globalFilter, userFilterTypes || {}, filterTypes);
|
|
2130
|
-
|
|
2131
|
-
if (!filterMethod) {
|
|
2132
|
-
console.warn("Could not find a valid 'globalFilter' option.");
|
|
2133
|
-
return rows;
|
|
2134
|
-
}
|
|
2135
|
-
|
|
2136
|
-
allColumns.forEach(function (column) {
|
|
2137
|
-
var columnDisableGlobalFilter = column.disableGlobalFilter;
|
|
2138
|
-
column.canFilter = getFirstDefined(columnDisableGlobalFilter === true ? false : undefined, disableGlobalFilter === true ? false : undefined, true);
|
|
2139
|
-
});
|
|
2140
|
-
var filterableColumns = allColumns.filter(function (c) {
|
|
2141
|
-
return c.canFilter === true;
|
|
2142
|
-
}); // Filters top level and nested rows
|
|
2143
|
-
|
|
2144
|
-
var filterRows = function filterRows(filteredRows) {
|
|
2145
|
-
filteredRows = filterMethod(filteredRows, filterableColumns.map(function (d) {
|
|
2146
|
-
return d.id;
|
|
2147
|
-
}), globalFilterValue);
|
|
2148
|
-
filteredRows.forEach(function (row) {
|
|
2149
|
-
filteredFlatRows.push(row);
|
|
2150
|
-
filteredRowsById[row.id] = row;
|
|
2151
|
-
row.subRows = row.subRows && row.subRows.length ? filterRows(row.subRows) : row.subRows;
|
|
2152
|
-
});
|
|
2153
|
-
return filteredRows;
|
|
2154
|
-
};
|
|
2155
|
-
|
|
2156
|
-
return [filterRows(rows), filteredFlatRows, filteredRowsById];
|
|
2157
|
-
}, [manualGlobalFilter, globalFilterValue, globalFilter, userFilterTypes, allColumns, rows, flatRows, rowsById, disableGlobalFilter]),
|
|
2158
|
-
globalFilteredRows = _React$useMemo[0],
|
|
2159
|
-
globalFilteredFlatRows = _React$useMemo[1],
|
|
2160
|
-
globalFilteredRowsById = _React$useMemo[2];
|
|
2161
|
-
|
|
2162
|
-
var getAutoResetGlobalFilter = useGetLatest(autoResetGlobalFilter);
|
|
2163
|
-
useMountedLayoutEffect(function () {
|
|
2164
|
-
if (getAutoResetGlobalFilter()) {
|
|
2165
|
-
dispatch({
|
|
2166
|
-
type: actions.resetGlobalFilter
|
|
2167
|
-
});
|
|
2168
|
-
}
|
|
2169
|
-
}, [dispatch, manualGlobalFilter ? null : data]);
|
|
2170
|
-
Object.assign(instance, {
|
|
2171
|
-
preGlobalFilteredRows: rows,
|
|
2172
|
-
preGlobalFilteredFlatRows: flatRows,
|
|
2173
|
-
preGlobalFilteredRowsById: rowsById,
|
|
2174
|
-
globalFilteredRows: globalFilteredRows,
|
|
2175
|
-
globalFilteredFlatRows: globalFilteredFlatRows,
|
|
2176
|
-
globalFilteredRowsById: globalFilteredRowsById,
|
|
2177
|
-
rows: globalFilteredRows,
|
|
2178
|
-
flatRows: globalFilteredFlatRows,
|
|
2179
|
-
rowsById: globalFilteredRowsById,
|
|
2180
|
-
setGlobalFilter: setGlobalFilter,
|
|
2181
|
-
disableGlobalFilter: disableGlobalFilter
|
|
2182
|
-
});
|
|
2183
|
-
}
|
|
2184
|
-
|
|
2185
|
-
function sum(values, aggregatedValues) {
|
|
2186
|
-
// It's faster to just add the aggregations together instead of
|
|
2187
|
-
// process leaf nodes individually
|
|
2188
|
-
return aggregatedValues.reduce(function (sum, next) {
|
|
2189
|
-
return sum + (typeof next === 'number' ? next : 0);
|
|
2190
|
-
}, 0);
|
|
2191
|
-
}
|
|
2192
|
-
function min(values) {
|
|
2193
|
-
var min = values[0] || 0;
|
|
2194
|
-
values.forEach(function (value) {
|
|
2195
|
-
if (typeof value === 'number') {
|
|
2196
|
-
min = Math.min(min, value);
|
|
2197
|
-
}
|
|
2198
|
-
});
|
|
2199
|
-
return min;
|
|
2200
|
-
}
|
|
2201
|
-
function max(values) {
|
|
2202
|
-
var max = values[0] || 0;
|
|
2203
|
-
values.forEach(function (value) {
|
|
2204
|
-
if (typeof value === 'number') {
|
|
2205
|
-
max = Math.max(max, value);
|
|
2206
|
-
}
|
|
2207
|
-
});
|
|
2208
|
-
return max;
|
|
2209
|
-
}
|
|
2210
|
-
function minMax(values) {
|
|
2211
|
-
var min = values[0] || 0;
|
|
2212
|
-
var max = values[0] || 0;
|
|
2213
|
-
values.forEach(function (value) {
|
|
2214
|
-
if (typeof value === 'number') {
|
|
2215
|
-
min = Math.min(min, value);
|
|
2216
|
-
max = Math.max(max, value);
|
|
2217
|
-
}
|
|
2218
|
-
});
|
|
2219
|
-
return min + ".." + max;
|
|
2220
|
-
}
|
|
2221
|
-
function average(values) {
|
|
2222
|
-
return sum(null, values) / values.length;
|
|
2223
|
-
}
|
|
2224
|
-
function median(values) {
|
|
2225
|
-
if (!values.length) {
|
|
2226
|
-
return null;
|
|
2227
|
-
}
|
|
2228
|
-
|
|
2229
|
-
var mid = Math.floor(values.length / 2);
|
|
2230
|
-
var nums = [].concat(values).sort(function (a, b) {
|
|
2231
|
-
return a - b;
|
|
2232
|
-
});
|
|
2233
|
-
return values.length % 2 !== 0 ? nums[mid] : (nums[mid - 1] + nums[mid]) / 2;
|
|
2234
|
-
}
|
|
2235
|
-
function unique(values) {
|
|
2236
|
-
return Array.from(new Set(values).values());
|
|
2237
|
-
}
|
|
2238
|
-
function uniqueCount(values) {
|
|
2239
|
-
return new Set(values).size;
|
|
2240
|
-
}
|
|
2241
|
-
function count(values) {
|
|
2242
|
-
return values.length;
|
|
2243
|
-
}
|
|
2244
|
-
|
|
2245
|
-
var aggregations = /*#__PURE__*/Object.freeze({
|
|
2246
|
-
__proto__: null,
|
|
2247
|
-
sum: sum,
|
|
2248
|
-
min: min,
|
|
2249
|
-
max: max,
|
|
2250
|
-
minMax: minMax,
|
|
2251
|
-
average: average,
|
|
2252
|
-
median: median,
|
|
2253
|
-
unique: unique,
|
|
2254
|
-
uniqueCount: uniqueCount,
|
|
2255
|
-
count: count
|
|
2256
|
-
});
|
|
2257
|
-
|
|
2258
|
-
var emptyArray = [];
|
|
2259
|
-
var emptyObject = {}; // Actions
|
|
2260
|
-
|
|
2261
|
-
actions.resetGroupBy = 'resetGroupBy';
|
|
2262
|
-
actions.setGroupBy = 'setGroupBy';
|
|
2263
|
-
actions.toggleGroupBy = 'toggleGroupBy';
|
|
2264
|
-
var useGroupBy = function useGroupBy(hooks) {
|
|
2265
|
-
hooks.getGroupByToggleProps = [defaultGetGroupByToggleProps];
|
|
2266
|
-
hooks.stateReducers.push(reducer$4);
|
|
2267
|
-
hooks.visibleColumnsDeps.push(function (deps, _ref) {
|
|
2268
|
-
var instance = _ref.instance;
|
|
2269
|
-
return [].concat(deps, [instance.state.groupBy]);
|
|
2270
|
-
});
|
|
2271
|
-
hooks.visibleColumns.push(visibleColumns);
|
|
2272
|
-
hooks.useInstance.push(useInstance$4);
|
|
2273
|
-
hooks.prepareRow.push(prepareRow$1);
|
|
2274
|
-
};
|
|
2275
|
-
useGroupBy.pluginName = 'useGroupBy';
|
|
2276
|
-
|
|
2277
|
-
var defaultGetGroupByToggleProps = function defaultGetGroupByToggleProps(props, _ref2) {
|
|
2278
|
-
var header = _ref2.header;
|
|
2279
|
-
return [props, {
|
|
2280
|
-
onClick: header.canGroupBy ? function (e) {
|
|
2281
|
-
e.persist();
|
|
2282
|
-
header.toggleGroupBy();
|
|
2283
|
-
} : undefined,
|
|
2284
|
-
style: {
|
|
2285
|
-
cursor: header.canGroupBy ? 'pointer' : undefined
|
|
2286
|
-
},
|
|
2287
|
-
title: 'Toggle GroupBy'
|
|
2288
|
-
}];
|
|
2289
|
-
}; // Reducer
|
|
2290
|
-
|
|
2291
|
-
|
|
2292
|
-
function reducer$4(state, action, previousState, instance) {
|
|
2293
|
-
if (action.type === actions.init) {
|
|
2294
|
-
return _extends({
|
|
2295
|
-
groupBy: []
|
|
2296
|
-
}, state);
|
|
2297
|
-
}
|
|
2298
|
-
|
|
2299
|
-
if (action.type === actions.resetGroupBy) {
|
|
2300
|
-
return _extends({}, state, {
|
|
2301
|
-
groupBy: instance.initialState.groupBy || []
|
|
2302
|
-
});
|
|
2303
|
-
}
|
|
2304
|
-
|
|
2305
|
-
if (action.type === actions.setGroupBy) {
|
|
2306
|
-
var value = action.value;
|
|
2307
|
-
return _extends({}, state, {
|
|
2308
|
-
groupBy: value
|
|
2309
|
-
});
|
|
2310
|
-
}
|
|
2311
|
-
|
|
2312
|
-
if (action.type === actions.toggleGroupBy) {
|
|
2313
|
-
var columnId = action.columnId,
|
|
2314
|
-
setGroupBy = action.value;
|
|
2315
|
-
var resolvedGroupBy = typeof setGroupBy !== 'undefined' ? setGroupBy : !state.groupBy.includes(columnId);
|
|
2316
|
-
|
|
2317
|
-
if (resolvedGroupBy) {
|
|
2318
|
-
return _extends({}, state, {
|
|
2319
|
-
groupBy: [].concat(state.groupBy, [columnId])
|
|
2320
|
-
});
|
|
2321
|
-
}
|
|
2322
|
-
|
|
2323
|
-
return _extends({}, state, {
|
|
2324
|
-
groupBy: state.groupBy.filter(function (d) {
|
|
2325
|
-
return d !== columnId;
|
|
2326
|
-
})
|
|
2327
|
-
});
|
|
2328
|
-
}
|
|
2329
|
-
}
|
|
2330
|
-
|
|
2331
|
-
function visibleColumns(columns, _ref3) {
|
|
2332
|
-
var groupBy = _ref3.instance.state.groupBy;
|
|
2333
|
-
// Sort grouped columns to the start of the column list
|
|
2334
|
-
// before the headers are built
|
|
2335
|
-
var groupByColumns = groupBy.map(function (g) {
|
|
2336
|
-
return columns.find(function (col) {
|
|
2337
|
-
return col.id === g;
|
|
2338
|
-
});
|
|
2339
|
-
}).filter(Boolean);
|
|
2340
|
-
var nonGroupByColumns = columns.filter(function (col) {
|
|
2341
|
-
return !groupBy.includes(col.id);
|
|
2342
|
-
});
|
|
2343
|
-
columns = [].concat(groupByColumns, nonGroupByColumns);
|
|
2344
|
-
columns.forEach(function (column) {
|
|
2345
|
-
column.isGrouped = groupBy.includes(column.id);
|
|
2346
|
-
column.groupedIndex = groupBy.indexOf(column.id);
|
|
2347
|
-
});
|
|
2348
|
-
return columns;
|
|
2349
|
-
}
|
|
2350
|
-
|
|
2351
|
-
var defaultUserAggregations = {};
|
|
2352
|
-
|
|
2353
|
-
function useInstance$4(instance) {
|
|
2354
|
-
var data = instance.data,
|
|
2355
|
-
rows = instance.rows,
|
|
2356
|
-
flatRows = instance.flatRows,
|
|
2357
|
-
rowsById = instance.rowsById,
|
|
2358
|
-
allColumns = instance.allColumns,
|
|
2359
|
-
flatHeaders = instance.flatHeaders,
|
|
2360
|
-
_instance$groupByFn = instance.groupByFn,
|
|
2361
|
-
groupByFn = _instance$groupByFn === void 0 ? defaultGroupByFn : _instance$groupByFn,
|
|
2362
|
-
manualGroupBy = instance.manualGroupBy,
|
|
2363
|
-
_instance$aggregation = instance.aggregations,
|
|
2364
|
-
userAggregations = _instance$aggregation === void 0 ? defaultUserAggregations : _instance$aggregation,
|
|
2365
|
-
plugins = instance.plugins,
|
|
2366
|
-
groupBy = instance.state.groupBy,
|
|
2367
|
-
dispatch = instance.dispatch,
|
|
2368
|
-
_instance$autoResetGr = instance.autoResetGroupBy,
|
|
2369
|
-
autoResetGroupBy = _instance$autoResetGr === void 0 ? true : _instance$autoResetGr,
|
|
2370
|
-
disableGroupBy = instance.disableGroupBy,
|
|
2371
|
-
defaultCanGroupBy = instance.defaultCanGroupBy,
|
|
2372
|
-
getHooks = instance.getHooks;
|
|
2373
|
-
ensurePluginOrder(plugins, ['useColumnOrder', 'useFilters'], 'useGroupBy');
|
|
2374
|
-
var getInstance = useGetLatest(instance);
|
|
2375
|
-
allColumns.forEach(function (column) {
|
|
2376
|
-
var accessor = column.accessor,
|
|
2377
|
-
defaultColumnGroupBy = column.defaultGroupBy,
|
|
2378
|
-
columnDisableGroupBy = column.disableGroupBy;
|
|
2379
|
-
column.canGroupBy = accessor ? getFirstDefined(column.canGroupBy, columnDisableGroupBy === true ? false : undefined, disableGroupBy === true ? false : undefined, true) : getFirstDefined(column.canGroupBy, defaultColumnGroupBy, defaultCanGroupBy, false);
|
|
2380
|
-
|
|
2381
|
-
if (column.canGroupBy) {
|
|
2382
|
-
column.toggleGroupBy = function () {
|
|
2383
|
-
return instance.toggleGroupBy(column.id);
|
|
2384
|
-
};
|
|
2385
|
-
}
|
|
2386
|
-
|
|
2387
|
-
column.Aggregated = column.Aggregated || column.Cell;
|
|
2388
|
-
});
|
|
2389
|
-
var toggleGroupBy = React.useCallback(function (columnId, value) {
|
|
2390
|
-
dispatch({
|
|
2391
|
-
type: actions.toggleGroupBy,
|
|
2392
|
-
columnId: columnId,
|
|
2393
|
-
value: value
|
|
2394
|
-
});
|
|
2395
|
-
}, [dispatch]);
|
|
2396
|
-
var setGroupBy = React.useCallback(function (value) {
|
|
2397
|
-
dispatch({
|
|
2398
|
-
type: actions.setGroupBy,
|
|
2399
|
-
value: value
|
|
2400
|
-
});
|
|
2401
|
-
}, [dispatch]);
|
|
2402
|
-
flatHeaders.forEach(function (header) {
|
|
2403
|
-
header.getGroupByToggleProps = makePropGetter(getHooks().getGroupByToggleProps, {
|
|
2404
|
-
instance: getInstance(),
|
|
2405
|
-
header: header
|
|
2406
|
-
});
|
|
2407
|
-
});
|
|
2408
|
-
|
|
2409
|
-
var _React$useMemo = React.useMemo(function () {
|
|
2410
|
-
if (manualGroupBy || !groupBy.length) {
|
|
2411
|
-
return [rows, flatRows, rowsById, emptyArray, emptyObject, flatRows, rowsById];
|
|
2412
|
-
} // Ensure that the list of filtered columns exist
|
|
2413
|
-
|
|
2414
|
-
|
|
2415
|
-
var existingGroupBy = groupBy.filter(function (g) {
|
|
2416
|
-
return allColumns.find(function (col) {
|
|
2417
|
-
return col.id === g;
|
|
2418
|
-
});
|
|
2419
|
-
}); // Find the columns that can or are aggregating
|
|
2420
|
-
// Uses each column to aggregate rows into a single value
|
|
2421
|
-
|
|
2422
|
-
var aggregateRowsToValues = function aggregateRowsToValues(leafRows, groupedRows, depth) {
|
|
2423
|
-
var values = {};
|
|
2424
|
-
allColumns.forEach(function (column) {
|
|
2425
|
-
// Don't aggregate columns that are in the groupBy
|
|
2426
|
-
if (existingGroupBy.includes(column.id)) {
|
|
2427
|
-
values[column.id] = groupedRows[0] ? groupedRows[0].values[column.id] : null;
|
|
2428
|
-
return;
|
|
2429
|
-
} // Aggregate the values
|
|
2430
|
-
|
|
2431
|
-
|
|
2432
|
-
var aggregateFn = typeof column.aggregate === 'function' ? column.aggregate : userAggregations[column.aggregate] || aggregations[column.aggregate];
|
|
2433
|
-
|
|
2434
|
-
if (aggregateFn) {
|
|
2435
|
-
// Get the columnValues to aggregate
|
|
2436
|
-
var groupedValues = groupedRows.map(function (row) {
|
|
2437
|
-
return row.values[column.id];
|
|
2438
|
-
}); // Get the columnValues to aggregate
|
|
2439
|
-
|
|
2440
|
-
var leafValues = leafRows.map(function (row) {
|
|
2441
|
-
var columnValue = row.values[column.id];
|
|
2442
|
-
|
|
2443
|
-
if (!depth && column.aggregateValue) {
|
|
2444
|
-
var aggregateValueFn = typeof column.aggregateValue === 'function' ? column.aggregateValue : userAggregations[column.aggregateValue] || aggregations[column.aggregateValue];
|
|
2445
|
-
|
|
2446
|
-
if (!aggregateValueFn) {
|
|
2447
|
-
console.info({
|
|
2448
|
-
column: column
|
|
2449
|
-
});
|
|
2450
|
-
throw new Error("React Table: Invalid column.aggregateValue option for column listed above");
|
|
2451
|
-
}
|
|
2452
|
-
|
|
2453
|
-
columnValue = aggregateValueFn(columnValue, row, column);
|
|
2454
|
-
}
|
|
2455
|
-
|
|
2456
|
-
return columnValue;
|
|
2457
|
-
});
|
|
2458
|
-
values[column.id] = aggregateFn(leafValues, groupedValues);
|
|
2459
|
-
} else if (column.aggregate) {
|
|
2460
|
-
console.info({
|
|
2461
|
-
column: column
|
|
2462
|
-
});
|
|
2463
|
-
throw new Error("React Table: Invalid column.aggregate option for column listed above");
|
|
2464
|
-
} else {
|
|
2465
|
-
values[column.id] = null;
|
|
2466
|
-
}
|
|
2467
|
-
});
|
|
2468
|
-
return values;
|
|
2469
|
-
};
|
|
2470
|
-
|
|
2471
|
-
var groupedFlatRows = [];
|
|
2472
|
-
var groupedRowsById = {};
|
|
2473
|
-
var onlyGroupedFlatRows = [];
|
|
2474
|
-
var onlyGroupedRowsById = {};
|
|
2475
|
-
var nonGroupedFlatRows = [];
|
|
2476
|
-
var nonGroupedRowsById = {}; // Recursively group the data
|
|
2477
|
-
|
|
2478
|
-
var groupUpRecursively = function groupUpRecursively(rows, depth, parentId) {
|
|
2479
|
-
if (depth === void 0) {
|
|
2480
|
-
depth = 0;
|
|
2481
|
-
}
|
|
2482
|
-
|
|
2483
|
-
// This is the last level, just return the rows
|
|
2484
|
-
if (depth === existingGroupBy.length) {
|
|
2485
|
-
return rows;
|
|
2486
|
-
}
|
|
2487
|
-
|
|
2488
|
-
var columnId = existingGroupBy[depth]; // Group the rows together for this level
|
|
2489
|
-
|
|
2490
|
-
var rowGroupsMap = groupByFn(rows, columnId); // Peform aggregations for each group
|
|
2491
|
-
|
|
2492
|
-
var aggregatedGroupedRows = Object.entries(rowGroupsMap).map(function (_ref4, index) {
|
|
2493
|
-
var groupByVal = _ref4[0],
|
|
2494
|
-
groupedRows = _ref4[1];
|
|
2495
|
-
var id = columnId + ":" + groupByVal;
|
|
2496
|
-
id = parentId ? parentId + ">" + id : id; // First, Recurse to group sub rows before aggregation
|
|
2497
|
-
|
|
2498
|
-
var subRows = groupUpRecursively(groupedRows, depth + 1, id); // Flatten the leaf rows of the rows in this group
|
|
2499
|
-
|
|
2500
|
-
var leafRows = depth ? flattenBy(groupedRows, 'leafRows') : groupedRows;
|
|
2501
|
-
var values = aggregateRowsToValues(leafRows, groupedRows, depth);
|
|
2502
|
-
var row = {
|
|
2503
|
-
id: id,
|
|
2504
|
-
isGrouped: true,
|
|
2505
|
-
groupByID: columnId,
|
|
2506
|
-
groupByVal: groupByVal,
|
|
2507
|
-
values: values,
|
|
2508
|
-
subRows: subRows,
|
|
2509
|
-
leafRows: leafRows,
|
|
2510
|
-
depth: depth,
|
|
2511
|
-
index: index
|
|
2512
|
-
};
|
|
2513
|
-
subRows.forEach(function (subRow) {
|
|
2514
|
-
groupedFlatRows.push(subRow);
|
|
2515
|
-
groupedRowsById[subRow.id] = subRow;
|
|
2516
|
-
|
|
2517
|
-
if (subRow.isGrouped) {
|
|
2518
|
-
onlyGroupedFlatRows.push(subRow);
|
|
2519
|
-
onlyGroupedRowsById[subRow.id] = subRow;
|
|
2520
|
-
} else {
|
|
2521
|
-
nonGroupedFlatRows.push(subRow);
|
|
2522
|
-
nonGroupedRowsById[subRow.id] = subRow;
|
|
2523
|
-
}
|
|
2524
|
-
});
|
|
2525
|
-
return row;
|
|
2526
|
-
});
|
|
2527
|
-
return aggregatedGroupedRows;
|
|
2528
|
-
};
|
|
2529
|
-
|
|
2530
|
-
var groupedRows = groupUpRecursively(rows);
|
|
2531
|
-
groupedRows.forEach(function (subRow) {
|
|
2532
|
-
groupedFlatRows.push(subRow);
|
|
2533
|
-
groupedRowsById[subRow.id] = subRow;
|
|
2534
|
-
|
|
2535
|
-
if (subRow.isGrouped) {
|
|
2536
|
-
onlyGroupedFlatRows.push(subRow);
|
|
2537
|
-
onlyGroupedRowsById[subRow.id] = subRow;
|
|
2538
|
-
} else {
|
|
2539
|
-
nonGroupedFlatRows.push(subRow);
|
|
2540
|
-
nonGroupedRowsById[subRow.id] = subRow;
|
|
2541
|
-
}
|
|
2542
|
-
}); // Assign the new data
|
|
2543
|
-
|
|
2544
|
-
return [groupedRows, groupedFlatRows, groupedRowsById, onlyGroupedFlatRows, onlyGroupedRowsById, nonGroupedFlatRows, nonGroupedRowsById];
|
|
2545
|
-
}, [manualGroupBy, groupBy, rows, flatRows, rowsById, allColumns, userAggregations, groupByFn]),
|
|
2546
|
-
groupedRows = _React$useMemo[0],
|
|
2547
|
-
groupedFlatRows = _React$useMemo[1],
|
|
2548
|
-
groupedRowsById = _React$useMemo[2],
|
|
2549
|
-
onlyGroupedFlatRows = _React$useMemo[3],
|
|
2550
|
-
onlyGroupedRowsById = _React$useMemo[4],
|
|
2551
|
-
nonGroupedFlatRows = _React$useMemo[5],
|
|
2552
|
-
nonGroupedRowsById = _React$useMemo[6];
|
|
2553
|
-
|
|
2554
|
-
var getAutoResetGroupBy = useGetLatest(autoResetGroupBy);
|
|
2555
|
-
useMountedLayoutEffect(function () {
|
|
2556
|
-
if (getAutoResetGroupBy()) {
|
|
2557
|
-
dispatch({
|
|
2558
|
-
type: actions.resetGroupBy
|
|
2559
|
-
});
|
|
2560
|
-
}
|
|
2561
|
-
}, [dispatch, manualGroupBy ? null : data]);
|
|
2562
|
-
Object.assign(instance, {
|
|
2563
|
-
preGroupedRows: rows,
|
|
2564
|
-
preGroupedFlatRow: flatRows,
|
|
2565
|
-
preGroupedRowsById: rowsById,
|
|
2566
|
-
groupedRows: groupedRows,
|
|
2567
|
-
groupedFlatRows: groupedFlatRows,
|
|
2568
|
-
groupedRowsById: groupedRowsById,
|
|
2569
|
-
onlyGroupedFlatRows: onlyGroupedFlatRows,
|
|
2570
|
-
onlyGroupedRowsById: onlyGroupedRowsById,
|
|
2571
|
-
nonGroupedFlatRows: nonGroupedFlatRows,
|
|
2572
|
-
nonGroupedRowsById: nonGroupedRowsById,
|
|
2573
|
-
rows: groupedRows,
|
|
2574
|
-
flatRows: groupedFlatRows,
|
|
2575
|
-
rowsById: groupedRowsById,
|
|
2576
|
-
toggleGroupBy: toggleGroupBy,
|
|
2577
|
-
setGroupBy: setGroupBy
|
|
2578
|
-
});
|
|
2579
|
-
}
|
|
2580
|
-
|
|
2581
|
-
function prepareRow$1(row) {
|
|
2582
|
-
row.allCells.forEach(function (cell) {
|
|
2583
|
-
var _row$subRows;
|
|
2584
|
-
|
|
2585
|
-
// Grouped cells are in the groupBy and the pivot cell for the row
|
|
2586
|
-
cell.isGrouped = cell.column.isGrouped && cell.column.id === row.groupByID; // Placeholder cells are any columns in the groupBy that are not grouped
|
|
2587
|
-
|
|
2588
|
-
cell.isPlaceholder = !cell.isGrouped && cell.column.isGrouped; // Aggregated cells are not grouped, not repeated, but still have subRows
|
|
2589
|
-
|
|
2590
|
-
cell.isAggregated = !cell.isGrouped && !cell.isPlaceholder && ((_row$subRows = row.subRows) == null ? void 0 : _row$subRows.length);
|
|
2591
|
-
});
|
|
2592
|
-
}
|
|
2593
|
-
|
|
2594
|
-
function defaultGroupByFn(rows, columnId) {
|
|
2595
|
-
return rows.reduce(function (prev, row, i) {
|
|
2596
|
-
// TODO: Might want to implement a key serializer here so
|
|
2597
|
-
// irregular column values can still be grouped if needed?
|
|
2598
|
-
var resKey = "" + row.values[columnId];
|
|
2599
|
-
prev[resKey] = Array.isArray(prev[resKey]) ? prev[resKey] : [];
|
|
2600
|
-
prev[resKey].push(row);
|
|
2601
|
-
return prev;
|
|
2602
|
-
}, {});
|
|
2603
|
-
}
|
|
2604
|
-
|
|
2605
|
-
var reSplitAlphaNumeric = /([0-9]+)/gm; // Mixed sorting is slow, but very inclusive of many edge cases.
|
|
2606
|
-
// It handles numbers, mixed alphanumeric combinations, and even
|
|
2607
|
-
// null, undefined, and Infinity
|
|
2608
|
-
|
|
2609
|
-
var alphanumeric = function alphanumeric(rowA, rowB, columnId) {
|
|
2610
|
-
var _getRowValuesByColumn = getRowValuesByColumnID(rowA, rowB, columnId),
|
|
2611
|
-
a = _getRowValuesByColumn[0],
|
|
2612
|
-
b = _getRowValuesByColumn[1]; // Force to strings (or "" for unsupported types)
|
|
2613
|
-
|
|
2614
|
-
|
|
2615
|
-
a = toString(a);
|
|
2616
|
-
b = toString(b); // Split on number groups, but keep the delimiter
|
|
2617
|
-
// Then remove falsey split values
|
|
2618
|
-
|
|
2619
|
-
a = a.split(reSplitAlphaNumeric).filter(Boolean);
|
|
2620
|
-
b = b.split(reSplitAlphaNumeric).filter(Boolean); // While
|
|
2621
|
-
|
|
2622
|
-
while (a.length && b.length) {
|
|
2623
|
-
var aa = a.shift();
|
|
2624
|
-
var bb = b.shift();
|
|
2625
|
-
var an = parseInt(aa, 10);
|
|
2626
|
-
var bn = parseInt(bb, 10);
|
|
2627
|
-
var combo = [an, bn].sort(); // Both are string
|
|
2628
|
-
|
|
2629
|
-
if (isNaN(combo[0])) {
|
|
2630
|
-
if (aa > bb) {
|
|
2631
|
-
return 1;
|
|
2632
|
-
}
|
|
2633
|
-
|
|
2634
|
-
if (bb > aa) {
|
|
2635
|
-
return -1;
|
|
2636
|
-
}
|
|
2637
|
-
|
|
2638
|
-
continue;
|
|
2639
|
-
} // One is a string, one is a number
|
|
2640
|
-
|
|
2641
|
-
|
|
2642
|
-
if (isNaN(combo[1])) {
|
|
2643
|
-
return isNaN(an) ? -1 : 1;
|
|
2644
|
-
} // Both are numbers
|
|
2645
|
-
|
|
2646
|
-
|
|
2647
|
-
if (an > bn) {
|
|
2648
|
-
return 1;
|
|
2649
|
-
}
|
|
2650
|
-
|
|
2651
|
-
if (bn > an) {
|
|
2652
|
-
return -1;
|
|
2653
|
-
}
|
|
2654
|
-
}
|
|
2655
|
-
|
|
2656
|
-
return a.length - b.length;
|
|
2657
|
-
};
|
|
2658
|
-
function datetime(rowA, rowB, columnId) {
|
|
2659
|
-
var _getRowValuesByColumn2 = getRowValuesByColumnID(rowA, rowB, columnId),
|
|
2660
|
-
a = _getRowValuesByColumn2[0],
|
|
2661
|
-
b = _getRowValuesByColumn2[1];
|
|
2662
|
-
|
|
2663
|
-
a = a.getTime();
|
|
2664
|
-
b = b.getTime();
|
|
2665
|
-
return compareBasic(a, b);
|
|
2666
|
-
}
|
|
2667
|
-
function basic(rowA, rowB, columnId) {
|
|
2668
|
-
var _getRowValuesByColumn3 = getRowValuesByColumnID(rowA, rowB, columnId),
|
|
2669
|
-
a = _getRowValuesByColumn3[0],
|
|
2670
|
-
b = _getRowValuesByColumn3[1];
|
|
2671
|
-
|
|
2672
|
-
return compareBasic(a, b);
|
|
2673
|
-
}
|
|
2674
|
-
function string(rowA, rowB, columnId) {
|
|
2675
|
-
var _getRowValuesByColumn4 = getRowValuesByColumnID(rowA, rowB, columnId),
|
|
2676
|
-
a = _getRowValuesByColumn4[0],
|
|
2677
|
-
b = _getRowValuesByColumn4[1];
|
|
2678
|
-
|
|
2679
|
-
a = a.split('').filter(Boolean);
|
|
2680
|
-
b = b.split('').filter(Boolean);
|
|
2681
|
-
|
|
2682
|
-
while (a.length && b.length) {
|
|
2683
|
-
var aa = a.shift();
|
|
2684
|
-
var bb = b.shift();
|
|
2685
|
-
var alower = aa.toLowerCase();
|
|
2686
|
-
var blower = bb.toLowerCase(); // Case insensitive comparison until characters match
|
|
2687
|
-
|
|
2688
|
-
if (alower > blower) {
|
|
2689
|
-
return 1;
|
|
2690
|
-
}
|
|
2691
|
-
|
|
2692
|
-
if (blower > alower) {
|
|
2693
|
-
return -1;
|
|
2694
|
-
} // If lowercase characters are identical
|
|
2695
|
-
|
|
2696
|
-
|
|
2697
|
-
if (aa > bb) {
|
|
2698
|
-
return 1;
|
|
2699
|
-
}
|
|
2700
|
-
|
|
2701
|
-
if (bb > aa) {
|
|
2702
|
-
return -1;
|
|
2703
|
-
}
|
|
2704
|
-
|
|
2705
|
-
continue;
|
|
2706
|
-
}
|
|
2707
|
-
|
|
2708
|
-
return a.length - b.length;
|
|
2709
|
-
}
|
|
2710
|
-
function number(rowA, rowB, columnId) {
|
|
2711
|
-
var _getRowValuesByColumn5 = getRowValuesByColumnID(rowA, rowB, columnId),
|
|
2712
|
-
a = _getRowValuesByColumn5[0],
|
|
2713
|
-
b = _getRowValuesByColumn5[1];
|
|
2714
|
-
|
|
2715
|
-
var replaceNonNumeric = /[^0-9.]/gi;
|
|
2716
|
-
a = Number(String(a).replace(replaceNonNumeric, ''));
|
|
2717
|
-
b = Number(String(b).replace(replaceNonNumeric, ''));
|
|
2718
|
-
return compareBasic(a, b);
|
|
2719
|
-
} // Utils
|
|
2720
|
-
|
|
2721
|
-
function compareBasic(a, b) {
|
|
2722
|
-
return a === b ? 0 : a > b ? 1 : -1;
|
|
2723
|
-
}
|
|
2724
|
-
|
|
2725
|
-
function getRowValuesByColumnID(row1, row2, columnId) {
|
|
2726
|
-
return [row1.values[columnId], row2.values[columnId]];
|
|
2727
|
-
}
|
|
2728
|
-
|
|
2729
|
-
function toString(a) {
|
|
2730
|
-
if (typeof a === 'number') {
|
|
2731
|
-
if (isNaN(a) || a === Infinity || a === -Infinity) {
|
|
2732
|
-
return '';
|
|
2733
|
-
}
|
|
2734
|
-
|
|
2735
|
-
return String(a);
|
|
2736
|
-
}
|
|
2737
|
-
|
|
2738
|
-
if (typeof a === 'string') {
|
|
2739
|
-
return a;
|
|
2740
|
-
}
|
|
2741
|
-
|
|
2742
|
-
return '';
|
|
2743
|
-
}
|
|
2744
|
-
|
|
2745
|
-
var sortTypes = /*#__PURE__*/Object.freeze({
|
|
2746
|
-
__proto__: null,
|
|
2747
|
-
alphanumeric: alphanumeric,
|
|
2748
|
-
datetime: datetime,
|
|
2749
|
-
basic: basic,
|
|
2750
|
-
string: string,
|
|
2751
|
-
number: number
|
|
2752
|
-
});
|
|
2753
|
-
|
|
2754
|
-
actions.resetSortBy = 'resetSortBy';
|
|
2755
|
-
actions.setSortBy = 'setSortBy';
|
|
2756
|
-
actions.toggleSortBy = 'toggleSortBy';
|
|
2757
|
-
actions.clearSortBy = 'clearSortBy';
|
|
2758
|
-
defaultColumn.sortType = 'alphanumeric';
|
|
2759
|
-
defaultColumn.sortDescFirst = false;
|
|
2760
|
-
var useSortBy = function useSortBy(hooks) {
|
|
2761
|
-
hooks.getSortByToggleProps = [defaultGetSortByToggleProps];
|
|
2762
|
-
hooks.stateReducers.push(reducer$5);
|
|
2763
|
-
hooks.useInstance.push(useInstance$5);
|
|
2764
|
-
};
|
|
2765
|
-
useSortBy.pluginName = 'useSortBy';
|
|
2766
|
-
|
|
2767
|
-
var defaultGetSortByToggleProps = function defaultGetSortByToggleProps(props, _ref) {
|
|
2768
|
-
var instance = _ref.instance,
|
|
2769
|
-
column = _ref.column;
|
|
2770
|
-
var _instance$isMultiSort = instance.isMultiSortEvent,
|
|
2771
|
-
isMultiSortEvent = _instance$isMultiSort === void 0 ? function (e) {
|
|
2772
|
-
return e.shiftKey;
|
|
2773
|
-
} : _instance$isMultiSort;
|
|
2774
|
-
return [props, {
|
|
2775
|
-
onClick: column.canSort ? function (e) {
|
|
2776
|
-
e.persist();
|
|
2777
|
-
column.toggleSortBy(undefined, !instance.disableMultiSort && isMultiSortEvent(e));
|
|
2778
|
-
} : undefined,
|
|
2779
|
-
style: {
|
|
2780
|
-
cursor: column.canSort ? 'pointer' : undefined
|
|
2781
|
-
},
|
|
2782
|
-
title: column.canSort ? 'Toggle SortBy' : undefined
|
|
2783
|
-
}];
|
|
2784
|
-
}; // Reducer
|
|
2785
|
-
|
|
2786
|
-
|
|
2787
|
-
function reducer$5(state, action, previousState, instance) {
|
|
2788
|
-
if (action.type === actions.init) {
|
|
2789
|
-
return _extends({
|
|
2790
|
-
sortBy: []
|
|
2791
|
-
}, state);
|
|
2792
|
-
}
|
|
2793
|
-
|
|
2794
|
-
if (action.type === actions.resetSortBy) {
|
|
2795
|
-
return _extends({}, state, {
|
|
2796
|
-
sortBy: instance.initialState.sortBy || []
|
|
2797
|
-
});
|
|
2798
|
-
}
|
|
2799
|
-
|
|
2800
|
-
if (action.type === actions.clearSortBy) {
|
|
2801
|
-
var sortBy = state.sortBy;
|
|
2802
|
-
var newSortBy = sortBy.filter(function (d) {
|
|
2803
|
-
return d.id !== action.columnId;
|
|
2804
|
-
});
|
|
2805
|
-
return _extends({}, state, {
|
|
2806
|
-
sortBy: newSortBy
|
|
2807
|
-
});
|
|
2808
|
-
}
|
|
2809
|
-
|
|
2810
|
-
if (action.type === actions.setSortBy) {
|
|
2811
|
-
var _sortBy = action.sortBy;
|
|
2812
|
-
return _extends({}, state, {
|
|
2813
|
-
sortBy: _sortBy
|
|
2814
|
-
});
|
|
2815
|
-
}
|
|
2816
|
-
|
|
2817
|
-
if (action.type === actions.toggleSortBy) {
|
|
2818
|
-
var columnId = action.columnId,
|
|
2819
|
-
desc = action.desc,
|
|
2820
|
-
multi = action.multi;
|
|
2821
|
-
var allColumns = instance.allColumns,
|
|
2822
|
-
disableMultiSort = instance.disableMultiSort,
|
|
2823
|
-
disableSortRemove = instance.disableSortRemove,
|
|
2824
|
-
disableMultiRemove = instance.disableMultiRemove,
|
|
2825
|
-
_instance$maxMultiSor = instance.maxMultiSortColCount,
|
|
2826
|
-
maxMultiSortColCount = _instance$maxMultiSor === void 0 ? Number.MAX_SAFE_INTEGER : _instance$maxMultiSor;
|
|
2827
|
-
var _sortBy2 = state.sortBy; // Find the column for this columnId
|
|
2828
|
-
|
|
2829
|
-
var column = allColumns.find(function (d) {
|
|
2830
|
-
return d.id === columnId;
|
|
2831
|
-
});
|
|
2832
|
-
var sortDescFirst = column.sortDescFirst; // Find any existing sortBy for this column
|
|
2833
|
-
|
|
2834
|
-
var existingSortBy = _sortBy2.find(function (d) {
|
|
2835
|
-
return d.id === columnId;
|
|
2836
|
-
});
|
|
2837
|
-
|
|
2838
|
-
var existingIndex = _sortBy2.findIndex(function (d) {
|
|
2839
|
-
return d.id === columnId;
|
|
2840
|
-
});
|
|
2841
|
-
|
|
2842
|
-
var hasDescDefined = typeof desc !== 'undefined' && desc !== null;
|
|
2843
|
-
var _newSortBy = []; // What should we do with this sort action?
|
|
2844
|
-
|
|
2845
|
-
var sortAction;
|
|
2846
|
-
|
|
2847
|
-
if (!disableMultiSort && multi) {
|
|
2848
|
-
if (existingSortBy) {
|
|
2849
|
-
sortAction = 'toggle';
|
|
2850
|
-
} else {
|
|
2851
|
-
sortAction = 'add';
|
|
2852
|
-
}
|
|
2853
|
-
} else {
|
|
2854
|
-
// Normal mode
|
|
2855
|
-
if (existingIndex !== _sortBy2.length - 1 || _sortBy2.length !== 1) {
|
|
2856
|
-
sortAction = 'replace';
|
|
2857
|
-
} else if (existingSortBy) {
|
|
2858
|
-
sortAction = 'toggle';
|
|
2859
|
-
} else {
|
|
2860
|
-
sortAction = 'replace';
|
|
2861
|
-
}
|
|
2862
|
-
} // Handle toggle states that will remove the sortBy
|
|
2863
|
-
|
|
2864
|
-
|
|
2865
|
-
if (sortAction === 'toggle' && // Must be toggling
|
|
2866
|
-
!disableSortRemove && // If disableSortRemove, disable in general
|
|
2867
|
-
!hasDescDefined && ( // Must not be setting desc
|
|
2868
|
-
multi ? !disableMultiRemove : true) && ( // If multi, don't allow if disableMultiRemove
|
|
2869
|
-
existingSortBy && // Finally, detect if it should indeed be removed
|
|
2870
|
-
existingSortBy.desc && !sortDescFirst || !existingSortBy.desc && sortDescFirst)) {
|
|
2871
|
-
sortAction = 'remove';
|
|
2872
|
-
}
|
|
2873
|
-
|
|
2874
|
-
if (sortAction === 'replace') {
|
|
2875
|
-
_newSortBy = [{
|
|
2876
|
-
id: columnId,
|
|
2877
|
-
desc: hasDescDefined ? desc : sortDescFirst
|
|
2878
|
-
}];
|
|
2879
|
-
} else if (sortAction === 'add') {
|
|
2880
|
-
_newSortBy = [].concat(_sortBy2, [{
|
|
2881
|
-
id: columnId,
|
|
2882
|
-
desc: hasDescDefined ? desc : sortDescFirst
|
|
2883
|
-
}]); // Take latest n columns
|
|
2884
|
-
|
|
2885
|
-
_newSortBy.splice(0, _newSortBy.length - maxMultiSortColCount);
|
|
2886
|
-
} else if (sortAction === 'toggle') {
|
|
2887
|
-
// This flips (or sets) the
|
|
2888
|
-
_newSortBy = _sortBy2.map(function (d) {
|
|
2889
|
-
if (d.id === columnId) {
|
|
2890
|
-
return _extends({}, d, {
|
|
2891
|
-
desc: hasDescDefined ? desc : !existingSortBy.desc
|
|
2892
|
-
});
|
|
2893
|
-
}
|
|
2894
|
-
|
|
2895
|
-
return d;
|
|
2896
|
-
});
|
|
2897
|
-
} else if (sortAction === 'remove') {
|
|
2898
|
-
_newSortBy = _sortBy2.filter(function (d) {
|
|
2899
|
-
return d.id !== columnId;
|
|
2900
|
-
});
|
|
2901
|
-
}
|
|
2902
|
-
|
|
2903
|
-
return _extends({}, state, {
|
|
2904
|
-
sortBy: _newSortBy
|
|
2905
|
-
});
|
|
2906
|
-
}
|
|
2907
|
-
}
|
|
2908
|
-
|
|
2909
|
-
function useInstance$5(instance) {
|
|
2910
|
-
var data = instance.data,
|
|
2911
|
-
rows = instance.rows,
|
|
2912
|
-
flatRows = instance.flatRows,
|
|
2913
|
-
allColumns = instance.allColumns,
|
|
2914
|
-
_instance$orderByFn = instance.orderByFn,
|
|
2915
|
-
orderByFn = _instance$orderByFn === void 0 ? defaultOrderByFn : _instance$orderByFn,
|
|
2916
|
-
userSortTypes = instance.sortTypes,
|
|
2917
|
-
manualSortBy = instance.manualSortBy,
|
|
2918
|
-
defaultCanSort = instance.defaultCanSort,
|
|
2919
|
-
disableSortBy = instance.disableSortBy,
|
|
2920
|
-
flatHeaders = instance.flatHeaders,
|
|
2921
|
-
sortBy = instance.state.sortBy,
|
|
2922
|
-
dispatch = instance.dispatch,
|
|
2923
|
-
plugins = instance.plugins,
|
|
2924
|
-
getHooks = instance.getHooks,
|
|
2925
|
-
_instance$autoResetSo = instance.autoResetSortBy,
|
|
2926
|
-
autoResetSortBy = _instance$autoResetSo === void 0 ? true : _instance$autoResetSo;
|
|
2927
|
-
ensurePluginOrder(plugins, ['useFilters', 'useGlobalFilter', 'useGroupBy', 'usePivotColumns'], 'useSortBy');
|
|
2928
|
-
var setSortBy = React.useCallback(function (sortBy) {
|
|
2929
|
-
dispatch({
|
|
2930
|
-
type: actions.setSortBy,
|
|
2931
|
-
sortBy: sortBy
|
|
2932
|
-
});
|
|
2933
|
-
}, [dispatch]); // Updates sorting based on a columnId, desc flag and multi flag
|
|
2934
|
-
|
|
2935
|
-
var toggleSortBy = React.useCallback(function (columnId, desc, multi) {
|
|
2936
|
-
dispatch({
|
|
2937
|
-
type: actions.toggleSortBy,
|
|
2938
|
-
columnId: columnId,
|
|
2939
|
-
desc: desc,
|
|
2940
|
-
multi: multi
|
|
2941
|
-
});
|
|
2942
|
-
}, [dispatch]); // use reference to avoid memory leak in #1608
|
|
2943
|
-
|
|
2944
|
-
var getInstance = useGetLatest(instance); // Add the getSortByToggleProps method to columns and headers
|
|
2945
|
-
|
|
2946
|
-
flatHeaders.forEach(function (column) {
|
|
2947
|
-
var accessor = column.accessor,
|
|
2948
|
-
defaultColumnCanSort = column.canSort,
|
|
2949
|
-
columnDisableSortBy = column.disableSortBy,
|
|
2950
|
-
id = column.id;
|
|
2951
|
-
var canSort = accessor ? getFirstDefined(columnDisableSortBy === true ? false : undefined, disableSortBy === true ? false : undefined, true) : getFirstDefined(defaultCanSort, defaultColumnCanSort, false);
|
|
2952
|
-
column.canSort = canSort;
|
|
2953
|
-
|
|
2954
|
-
if (column.canSort) {
|
|
2955
|
-
column.toggleSortBy = function (desc, multi) {
|
|
2956
|
-
return toggleSortBy(column.id, desc, multi);
|
|
2957
|
-
};
|
|
2958
|
-
|
|
2959
|
-
column.clearSortBy = function () {
|
|
2960
|
-
dispatch({
|
|
2961
|
-
type: actions.clearSortBy,
|
|
2962
|
-
columnId: column.id
|
|
2963
|
-
});
|
|
2964
|
-
};
|
|
2965
|
-
}
|
|
2966
|
-
|
|
2967
|
-
column.getSortByToggleProps = makePropGetter(getHooks().getSortByToggleProps, {
|
|
2968
|
-
instance: getInstance(),
|
|
2969
|
-
column: column
|
|
2970
|
-
});
|
|
2971
|
-
var columnSort = sortBy.find(function (d) {
|
|
2972
|
-
return d.id === id;
|
|
2973
|
-
});
|
|
2974
|
-
column.isSorted = !!columnSort;
|
|
2975
|
-
column.sortedIndex = sortBy.findIndex(function (d) {
|
|
2976
|
-
return d.id === id;
|
|
2977
|
-
});
|
|
2978
|
-
column.isSortedDesc = column.isSorted ? columnSort.desc : undefined;
|
|
2979
|
-
});
|
|
2980
|
-
|
|
2981
|
-
var _React$useMemo = React.useMemo(function () {
|
|
2982
|
-
if (manualSortBy || !sortBy.length) {
|
|
2983
|
-
return [rows, flatRows];
|
|
2984
|
-
}
|
|
2985
|
-
|
|
2986
|
-
var sortedFlatRows = []; // Filter out sortBys that correspond to non existing columns
|
|
2987
|
-
|
|
2988
|
-
var availableSortBy = sortBy.filter(function (sort) {
|
|
2989
|
-
return allColumns.find(function (col) {
|
|
2990
|
-
return col.id === sort.id;
|
|
2991
|
-
});
|
|
2992
|
-
});
|
|
2993
|
-
|
|
2994
|
-
var sortData = function sortData(rows) {
|
|
2995
|
-
// Use the orderByFn to compose multiple sortBy's together.
|
|
2996
|
-
// This will also perform a stable sorting using the row index
|
|
2997
|
-
// if needed.
|
|
2998
|
-
var sortedData = orderByFn(rows, availableSortBy.map(function (sort) {
|
|
2999
|
-
// Support custom sorting methods for each column
|
|
3000
|
-
var column = allColumns.find(function (d) {
|
|
3001
|
-
return d.id === sort.id;
|
|
3002
|
-
});
|
|
3003
|
-
|
|
3004
|
-
if (!column) {
|
|
3005
|
-
throw new Error("React-Table: Could not find a column with id: " + sort.id + " while sorting");
|
|
3006
|
-
}
|
|
3007
|
-
|
|
3008
|
-
var sortType = column.sortType; // Look up sortBy functions in this order:
|
|
3009
|
-
// column function
|
|
3010
|
-
// column string lookup on user sortType
|
|
3011
|
-
// column string lookup on built-in sortType
|
|
3012
|
-
// default function
|
|
3013
|
-
// default string lookup on user sortType
|
|
3014
|
-
// default string lookup on built-in sortType
|
|
3015
|
-
|
|
3016
|
-
var sortMethod = isFunction(sortType) || (userSortTypes || {})[sortType] || sortTypes[sortType];
|
|
3017
|
-
|
|
3018
|
-
if (!sortMethod) {
|
|
3019
|
-
throw new Error("React-Table: Could not find a valid sortType of '" + sortType + "' for column '" + sort.id + "'.");
|
|
3020
|
-
} // Return the correct sortFn.
|
|
3021
|
-
// This function should always return in ascending order
|
|
3022
|
-
|
|
3023
|
-
|
|
3024
|
-
return function (a, b) {
|
|
3025
|
-
return sortMethod(a, b, sort.id, sort.desc);
|
|
3026
|
-
};
|
|
3027
|
-
}), // Map the directions
|
|
3028
|
-
availableSortBy.map(function (sort) {
|
|
3029
|
-
// Detect and use the sortInverted option
|
|
3030
|
-
var column = allColumns.find(function (d) {
|
|
3031
|
-
return d.id === sort.id;
|
|
3032
|
-
});
|
|
3033
|
-
|
|
3034
|
-
if (column && column.sortInverted) {
|
|
3035
|
-
return sort.desc;
|
|
3036
|
-
}
|
|
3037
|
-
|
|
3038
|
-
return !sort.desc;
|
|
3039
|
-
})); // If there are sub-rows, sort them
|
|
3040
|
-
|
|
3041
|
-
sortedData.forEach(function (row) {
|
|
3042
|
-
sortedFlatRows.push(row);
|
|
3043
|
-
|
|
3044
|
-
if (!row.subRows || row.subRows.length === 0) {
|
|
3045
|
-
return;
|
|
3046
|
-
}
|
|
3047
|
-
|
|
3048
|
-
row.subRows = sortData(row.subRows);
|
|
3049
|
-
});
|
|
3050
|
-
return sortedData;
|
|
3051
|
-
};
|
|
3052
|
-
|
|
3053
|
-
return [sortData(rows), sortedFlatRows];
|
|
3054
|
-
}, [manualSortBy, sortBy, rows, flatRows, allColumns, orderByFn, userSortTypes]),
|
|
3055
|
-
sortedRows = _React$useMemo[0],
|
|
3056
|
-
sortedFlatRows = _React$useMemo[1];
|
|
3057
|
-
|
|
3058
|
-
var getAutoResetSortBy = useGetLatest(autoResetSortBy);
|
|
3059
|
-
useMountedLayoutEffect(function () {
|
|
3060
|
-
if (getAutoResetSortBy()) {
|
|
3061
|
-
dispatch({
|
|
3062
|
-
type: actions.resetSortBy
|
|
3063
|
-
});
|
|
3064
|
-
}
|
|
3065
|
-
}, [manualSortBy ? null : data]);
|
|
3066
|
-
Object.assign(instance, {
|
|
3067
|
-
preSortedRows: rows,
|
|
3068
|
-
preSortedFlatRows: flatRows,
|
|
3069
|
-
sortedRows: sortedRows,
|
|
3070
|
-
sortedFlatRows: sortedFlatRows,
|
|
3071
|
-
rows: sortedRows,
|
|
3072
|
-
flatRows: sortedFlatRows,
|
|
3073
|
-
setSortBy: setSortBy,
|
|
3074
|
-
toggleSortBy: toggleSortBy
|
|
3075
|
-
});
|
|
3076
|
-
}
|
|
3077
|
-
|
|
3078
|
-
function defaultOrderByFn(arr, funcs, dirs) {
|
|
3079
|
-
return [].concat(arr).sort(function (rowA, rowB) {
|
|
3080
|
-
for (var i = 0; i < funcs.length; i += 1) {
|
|
3081
|
-
var sortFn = funcs[i];
|
|
3082
|
-
var desc = dirs[i] === false || dirs[i] === 'desc';
|
|
3083
|
-
var sortInt = sortFn(rowA, rowB);
|
|
3084
|
-
|
|
3085
|
-
if (sortInt !== 0) {
|
|
3086
|
-
return desc ? -sortInt : sortInt;
|
|
3087
|
-
}
|
|
3088
|
-
}
|
|
3089
|
-
|
|
3090
|
-
return dirs[0] ? rowA.index - rowB.index : rowB.index - rowA.index;
|
|
3091
|
-
});
|
|
3092
|
-
}
|
|
3093
|
-
|
|
3094
|
-
var pluginName = 'usePagination'; // Actions
|
|
3095
|
-
|
|
3096
|
-
actions.resetPage = 'resetPage';
|
|
3097
|
-
actions.gotoPage = 'gotoPage';
|
|
3098
|
-
actions.setPageSize = 'setPageSize';
|
|
3099
|
-
var usePagination = function usePagination(hooks) {
|
|
3100
|
-
hooks.stateReducers.push(reducer$6);
|
|
3101
|
-
hooks.useInstance.push(useInstance$6);
|
|
3102
|
-
};
|
|
3103
|
-
usePagination.pluginName = pluginName;
|
|
3104
|
-
|
|
3105
|
-
function reducer$6(state, action, previousState, instance) {
|
|
3106
|
-
if (action.type === actions.init) {
|
|
3107
|
-
return _extends({
|
|
3108
|
-
pageSize: 10,
|
|
3109
|
-
pageIndex: 0
|
|
3110
|
-
}, state);
|
|
3111
|
-
}
|
|
3112
|
-
|
|
3113
|
-
if (action.type === actions.resetPage) {
|
|
3114
|
-
return _extends({}, state, {
|
|
3115
|
-
pageIndex: instance.initialState.pageIndex || 0
|
|
3116
|
-
});
|
|
3117
|
-
}
|
|
3118
|
-
|
|
3119
|
-
if (action.type === actions.gotoPage) {
|
|
3120
|
-
var pageCount = instance.pageCount,
|
|
3121
|
-
page = instance.page;
|
|
3122
|
-
var newPageIndex = functionalUpdate(action.pageIndex, state.pageIndex);
|
|
3123
|
-
var canNavigate = false;
|
|
3124
|
-
|
|
3125
|
-
if (newPageIndex > state.pageIndex) {
|
|
3126
|
-
// next page
|
|
3127
|
-
canNavigate = pageCount === -1 ? page.length >= state.pageSize : newPageIndex < pageCount;
|
|
3128
|
-
} else if (newPageIndex < state.pageIndex) {
|
|
3129
|
-
// prev page
|
|
3130
|
-
canNavigate = newPageIndex > -1;
|
|
3131
|
-
}
|
|
3132
|
-
|
|
3133
|
-
if (!canNavigate) {
|
|
3134
|
-
return state;
|
|
3135
|
-
}
|
|
3136
|
-
|
|
3137
|
-
return _extends({}, state, {
|
|
3138
|
-
pageIndex: newPageIndex
|
|
3139
|
-
});
|
|
3140
|
-
}
|
|
3141
|
-
|
|
3142
|
-
if (action.type === actions.setPageSize) {
|
|
3143
|
-
var pageSize = action.pageSize;
|
|
3144
|
-
var topRowIndex = state.pageSize * state.pageIndex;
|
|
3145
|
-
var pageIndex = Math.floor(topRowIndex / pageSize);
|
|
3146
|
-
return _extends({}, state, {
|
|
3147
|
-
pageIndex: pageIndex,
|
|
3148
|
-
pageSize: pageSize
|
|
3149
|
-
});
|
|
3150
|
-
}
|
|
3151
|
-
}
|
|
3152
|
-
|
|
3153
|
-
function useInstance$6(instance) {
|
|
3154
|
-
var rows = instance.rows,
|
|
3155
|
-
_instance$autoResetPa = instance.autoResetPage,
|
|
3156
|
-
autoResetPage = _instance$autoResetPa === void 0 ? true : _instance$autoResetPa,
|
|
3157
|
-
_instance$manualExpan = instance.manualExpandedKey,
|
|
3158
|
-
manualExpandedKey = _instance$manualExpan === void 0 ? 'expanded' : _instance$manualExpan,
|
|
3159
|
-
plugins = instance.plugins,
|
|
3160
|
-
userPageCount = instance.pageCount,
|
|
3161
|
-
_instance$paginateExp = instance.paginateExpandedRows,
|
|
3162
|
-
paginateExpandedRows = _instance$paginateExp === void 0 ? true : _instance$paginateExp,
|
|
3163
|
-
_instance$expandSubRo = instance.expandSubRows,
|
|
3164
|
-
expandSubRows = _instance$expandSubRo === void 0 ? true : _instance$expandSubRo,
|
|
3165
|
-
_instance$state = instance.state,
|
|
3166
|
-
pageSize = _instance$state.pageSize,
|
|
3167
|
-
pageIndex = _instance$state.pageIndex,
|
|
3168
|
-
expanded = _instance$state.expanded,
|
|
3169
|
-
globalFilter = _instance$state.globalFilter,
|
|
3170
|
-
filters = _instance$state.filters,
|
|
3171
|
-
groupBy = _instance$state.groupBy,
|
|
3172
|
-
sortBy = _instance$state.sortBy,
|
|
3173
|
-
dispatch = instance.dispatch,
|
|
3174
|
-
data = instance.data,
|
|
3175
|
-
manualPagination = instance.manualPagination;
|
|
3176
|
-
ensurePluginOrder(plugins, ['useGlobalFilter', 'useFilters', 'useGroupBy', 'useSortBy', 'useExpanded'], 'usePagination');
|
|
3177
|
-
var getAutoResetPage = useGetLatest(autoResetPage);
|
|
3178
|
-
useMountedLayoutEffect(function () {
|
|
3179
|
-
if (getAutoResetPage()) {
|
|
3180
|
-
dispatch({
|
|
3181
|
-
type: actions.resetPage
|
|
3182
|
-
});
|
|
3183
|
-
}
|
|
3184
|
-
}, [dispatch, manualPagination ? null : data, globalFilter, filters, groupBy, sortBy]);
|
|
3185
|
-
var pageCount = manualPagination ? userPageCount : Math.ceil(rows.length / pageSize);
|
|
3186
|
-
var pageOptions = React.useMemo(function () {
|
|
3187
|
-
return pageCount > 0 ? [].concat(new Array(pageCount)).fill(null).map(function (d, i) {
|
|
3188
|
-
return i;
|
|
3189
|
-
}) : [];
|
|
3190
|
-
}, [pageCount]);
|
|
3191
|
-
var page = React.useMemo(function () {
|
|
3192
|
-
var page;
|
|
3193
|
-
|
|
3194
|
-
if (manualPagination) {
|
|
3195
|
-
page = rows;
|
|
3196
|
-
} else {
|
|
3197
|
-
var pageStart = pageSize * pageIndex;
|
|
3198
|
-
var pageEnd = pageStart + pageSize;
|
|
3199
|
-
page = rows.slice(pageStart, pageEnd);
|
|
3200
|
-
}
|
|
3201
|
-
|
|
3202
|
-
if (paginateExpandedRows) {
|
|
3203
|
-
return page;
|
|
3204
|
-
}
|
|
3205
|
-
|
|
3206
|
-
return expandRows(page, {
|
|
3207
|
-
manualExpandedKey: manualExpandedKey,
|
|
3208
|
-
expanded: expanded,
|
|
3209
|
-
expandSubRows: expandSubRows
|
|
3210
|
-
});
|
|
3211
|
-
}, [expandSubRows, expanded, manualExpandedKey, manualPagination, pageIndex, pageSize, paginateExpandedRows, rows]);
|
|
3212
|
-
var canPreviousPage = pageIndex > 0;
|
|
3213
|
-
var canNextPage = pageCount === -1 ? page.length >= pageSize : pageIndex < pageCount - 1;
|
|
3214
|
-
var gotoPage = React.useCallback(function (pageIndex) {
|
|
3215
|
-
dispatch({
|
|
3216
|
-
type: actions.gotoPage,
|
|
3217
|
-
pageIndex: pageIndex
|
|
3218
|
-
});
|
|
3219
|
-
}, [dispatch]);
|
|
3220
|
-
var previousPage = React.useCallback(function () {
|
|
3221
|
-
return gotoPage(function (old) {
|
|
3222
|
-
return old - 1;
|
|
3223
|
-
});
|
|
3224
|
-
}, [gotoPage]);
|
|
3225
|
-
var nextPage = React.useCallback(function () {
|
|
3226
|
-
return gotoPage(function (old) {
|
|
3227
|
-
return old + 1;
|
|
3228
|
-
});
|
|
3229
|
-
}, [gotoPage]);
|
|
3230
|
-
var setPageSize = React.useCallback(function (pageSize) {
|
|
3231
|
-
dispatch({
|
|
3232
|
-
type: actions.setPageSize,
|
|
3233
|
-
pageSize: pageSize
|
|
3234
|
-
});
|
|
3235
|
-
}, [dispatch]);
|
|
3236
|
-
Object.assign(instance, {
|
|
3237
|
-
pageOptions: pageOptions,
|
|
3238
|
-
pageCount: pageCount,
|
|
3239
|
-
page: page,
|
|
3240
|
-
canPreviousPage: canPreviousPage,
|
|
3241
|
-
canNextPage: canNextPage,
|
|
3242
|
-
gotoPage: gotoPage,
|
|
3243
|
-
previousPage: previousPage,
|
|
3244
|
-
nextPage: nextPage,
|
|
3245
|
-
setPageSize: setPageSize
|
|
3246
|
-
});
|
|
3247
|
-
}
|
|
3248
|
-
|
|
3249
|
-
actions.resetPivot = 'resetPivot';
|
|
3250
|
-
actions.togglePivot = 'togglePivot';
|
|
3251
|
-
var _UNSTABLE_usePivotColumns = function _UNSTABLE_usePivotColumns(hooks) {
|
|
3252
|
-
hooks.getPivotToggleProps = [defaultGetPivotToggleProps];
|
|
3253
|
-
hooks.stateReducers.push(reducer$7);
|
|
3254
|
-
hooks.useInstanceAfterData.push(useInstanceAfterData);
|
|
3255
|
-
hooks.allColumns.push(allColumns);
|
|
3256
|
-
hooks.accessValue.push(accessValue);
|
|
3257
|
-
hooks.materializedColumns.push(materializedColumns);
|
|
3258
|
-
hooks.materializedColumnsDeps.push(materializedColumnsDeps);
|
|
3259
|
-
hooks.visibleColumns.push(visibleColumns$1);
|
|
3260
|
-
hooks.visibleColumnsDeps.push(visibleColumnsDeps);
|
|
3261
|
-
hooks.useInstance.push(useInstance$7);
|
|
3262
|
-
hooks.prepareRow.push(prepareRow$2);
|
|
3263
|
-
};
|
|
3264
|
-
_UNSTABLE_usePivotColumns.pluginName = 'usePivotColumns';
|
|
3265
|
-
var defaultPivotColumns = [];
|
|
3266
|
-
|
|
3267
|
-
var defaultGetPivotToggleProps = function defaultGetPivotToggleProps(props, _ref) {
|
|
3268
|
-
var header = _ref.header;
|
|
3269
|
-
return [props, {
|
|
3270
|
-
onClick: header.canPivot ? function (e) {
|
|
3271
|
-
e.persist();
|
|
3272
|
-
header.togglePivot();
|
|
3273
|
-
} : undefined,
|
|
3274
|
-
style: {
|
|
3275
|
-
cursor: header.canPivot ? 'pointer' : undefined
|
|
3276
|
-
},
|
|
3277
|
-
title: 'Toggle Pivot'
|
|
3278
|
-
}];
|
|
3279
|
-
}; // Reducer
|
|
3280
|
-
|
|
3281
|
-
|
|
3282
|
-
function reducer$7(state, action, previousState, instance) {
|
|
3283
|
-
if (action.type === actions.init) {
|
|
3284
|
-
return _extends({
|
|
3285
|
-
pivotColumns: defaultPivotColumns
|
|
3286
|
-
}, state);
|
|
3287
|
-
}
|
|
3288
|
-
|
|
3289
|
-
if (action.type === actions.resetPivot) {
|
|
3290
|
-
return _extends({}, state, {
|
|
3291
|
-
pivotColumns: instance.initialState.pivotColumns || defaultPivotColumns
|
|
3292
|
-
});
|
|
3293
|
-
}
|
|
3294
|
-
|
|
3295
|
-
if (action.type === actions.togglePivot) {
|
|
3296
|
-
var columnId = action.columnId,
|
|
3297
|
-
setPivot = action.value;
|
|
3298
|
-
var resolvedPivot = typeof setPivot !== 'undefined' ? setPivot : !state.pivotColumns.includes(columnId);
|
|
3299
|
-
|
|
3300
|
-
if (resolvedPivot) {
|
|
3301
|
-
return _extends({}, state, {
|
|
3302
|
-
pivotColumns: [].concat(state.pivotColumns, [columnId])
|
|
3303
|
-
});
|
|
3304
|
-
}
|
|
3305
|
-
|
|
3306
|
-
return _extends({}, state, {
|
|
3307
|
-
pivotColumns: state.pivotColumns.filter(function (d) {
|
|
3308
|
-
return d !== columnId;
|
|
3309
|
-
})
|
|
3310
|
-
});
|
|
3311
|
-
}
|
|
3312
|
-
}
|
|
3313
|
-
|
|
3314
|
-
function useInstanceAfterData(instance) {
|
|
3315
|
-
instance.allColumns.forEach(function (column) {
|
|
3316
|
-
column.isPivotSource = instance.state.pivotColumns.includes(column.id);
|
|
3317
|
-
});
|
|
3318
|
-
}
|
|
3319
|
-
|
|
3320
|
-
function allColumns(columns, _ref2) {
|
|
3321
|
-
var instance = _ref2.instance;
|
|
3322
|
-
columns.forEach(function (column) {
|
|
3323
|
-
column.isPivotSource = instance.state.pivotColumns.includes(column.id);
|
|
3324
|
-
column.uniqueValues = new Set();
|
|
3325
|
-
});
|
|
3326
|
-
return columns;
|
|
3327
|
-
}
|
|
3328
|
-
|
|
3329
|
-
function accessValue(value, _ref3) {
|
|
3330
|
-
var column = _ref3.column;
|
|
3331
|
-
|
|
3332
|
-
if (column.uniqueValues && typeof value !== 'undefined') {
|
|
3333
|
-
column.uniqueValues.add(value);
|
|
3334
|
-
}
|
|
3335
|
-
|
|
3336
|
-
return value;
|
|
3337
|
-
}
|
|
3338
|
-
|
|
3339
|
-
function materializedColumns(materialized, _ref4) {
|
|
3340
|
-
var instance = _ref4.instance;
|
|
3341
|
-
var allColumns = instance.allColumns,
|
|
3342
|
-
state = instance.state;
|
|
3343
|
-
|
|
3344
|
-
if (!state.pivotColumns.length || !state.groupBy || !state.groupBy.length) {
|
|
3345
|
-
return materialized;
|
|
3346
|
-
}
|
|
3347
|
-
|
|
3348
|
-
var pivotColumns = state.pivotColumns.map(function (id) {
|
|
3349
|
-
return allColumns.find(function (d) {
|
|
3350
|
-
return d.id === id;
|
|
3351
|
-
});
|
|
3352
|
-
}).filter(Boolean);
|
|
3353
|
-
var sourceColumns = allColumns.filter(function (d) {
|
|
3354
|
-
return !d.isPivotSource && !state.groupBy.includes(d.id) && !state.pivotColumns.includes(d.id);
|
|
3355
|
-
});
|
|
3356
|
-
|
|
3357
|
-
var buildPivotColumns = function buildPivotColumns(depth, parent, pivotFilters) {
|
|
3358
|
-
if (depth === void 0) {
|
|
3359
|
-
depth = 0;
|
|
3360
|
-
}
|
|
3361
|
-
|
|
3362
|
-
if (pivotFilters === void 0) {
|
|
3363
|
-
pivotFilters = [];
|
|
3364
|
-
}
|
|
3365
|
-
|
|
3366
|
-
var pivotColumn = pivotColumns[depth];
|
|
3367
|
-
|
|
3368
|
-
if (!pivotColumn) {
|
|
3369
|
-
return sourceColumns.map(function (sourceColumn) {
|
|
3370
|
-
// TODO: We could offer support here for renesting pivoted
|
|
3371
|
-
// columns inside copies of their header groups. For now,
|
|
3372
|
-
// that seems like it would be (1) overkill on nesting, considering
|
|
3373
|
-
// you already get nesting for every pivot level and (2)
|
|
3374
|
-
// really hard. :)
|
|
3375
|
-
return _extends({}, sourceColumn, {
|
|
3376
|
-
canPivot: false,
|
|
3377
|
-
isPivoted: true,
|
|
3378
|
-
parent: parent,
|
|
3379
|
-
depth: depth,
|
|
3380
|
-
id: "" + (parent ? parent.id + "." + sourceColumn.id : sourceColumn.id),
|
|
3381
|
-
accessor: function accessor(originalRow, i, row) {
|
|
3382
|
-
if (pivotFilters.every(function (filter) {
|
|
3383
|
-
return filter(row);
|
|
3384
|
-
})) {
|
|
3385
|
-
return row.values[sourceColumn.id];
|
|
3386
|
-
}
|
|
3387
|
-
}
|
|
3388
|
-
});
|
|
3389
|
-
});
|
|
3390
|
-
}
|
|
3391
|
-
|
|
3392
|
-
var uniqueValues = Array.from(pivotColumn.uniqueValues).sort();
|
|
3393
|
-
return uniqueValues.map(function (uniqueValue) {
|
|
3394
|
-
var columnGroup = _extends({}, pivotColumn, {
|
|
3395
|
-
Header: pivotColumn.PivotHeader || typeof pivotColumn.header === 'string' ? pivotColumn.Header + ": " + uniqueValue : uniqueValue,
|
|
3396
|
-
isPivotGroup: true,
|
|
3397
|
-
parent: parent,
|
|
3398
|
-
depth: depth,
|
|
3399
|
-
id: parent ? parent.id + "." + pivotColumn.id + "." + uniqueValue : pivotColumn.id + "." + uniqueValue,
|
|
3400
|
-
pivotValue: uniqueValue
|
|
3401
|
-
});
|
|
3402
|
-
|
|
3403
|
-
columnGroup.columns = buildPivotColumns(depth + 1, columnGroup, [].concat(pivotFilters, [function (row) {
|
|
3404
|
-
return row.values[pivotColumn.id] === uniqueValue;
|
|
3405
|
-
}]));
|
|
3406
|
-
return columnGroup;
|
|
3407
|
-
});
|
|
3408
|
-
};
|
|
3409
|
-
|
|
3410
|
-
var newMaterialized = flattenColumns(buildPivotColumns());
|
|
3411
|
-
return [].concat(materialized, newMaterialized);
|
|
3412
|
-
}
|
|
3413
|
-
|
|
3414
|
-
function materializedColumnsDeps(deps, _ref5) {
|
|
3415
|
-
var _ref5$instance$state = _ref5.instance.state,
|
|
3416
|
-
pivotColumns = _ref5$instance$state.pivotColumns,
|
|
3417
|
-
groupBy = _ref5$instance$state.groupBy;
|
|
3418
|
-
return [].concat(deps, [pivotColumns, groupBy]);
|
|
3419
|
-
}
|
|
3420
|
-
|
|
3421
|
-
function visibleColumns$1(visibleColumns, _ref6) {
|
|
3422
|
-
var state = _ref6.instance.state;
|
|
3423
|
-
visibleColumns = visibleColumns.filter(function (d) {
|
|
3424
|
-
return !d.isPivotSource;
|
|
3425
|
-
});
|
|
3426
|
-
|
|
3427
|
-
if (state.pivotColumns.length && state.groupBy && state.groupBy.length) {
|
|
3428
|
-
visibleColumns = visibleColumns.filter(function (column) {
|
|
3429
|
-
return column.isGrouped || column.isPivoted;
|
|
3430
|
-
});
|
|
3431
|
-
}
|
|
3432
|
-
|
|
3433
|
-
return visibleColumns;
|
|
3434
|
-
}
|
|
3435
|
-
|
|
3436
|
-
function visibleColumnsDeps(deps, _ref7) {
|
|
3437
|
-
var instance = _ref7.instance;
|
|
3438
|
-
return [].concat(deps, [instance.state.pivotColumns, instance.state.groupBy]);
|
|
3439
|
-
}
|
|
3440
|
-
|
|
3441
|
-
function useInstance$7(instance) {
|
|
3442
|
-
var columns = instance.columns,
|
|
3443
|
-
allColumns = instance.allColumns,
|
|
3444
|
-
flatHeaders = instance.flatHeaders,
|
|
3445
|
-
getHooks = instance.getHooks,
|
|
3446
|
-
plugins = instance.plugins,
|
|
3447
|
-
dispatch = instance.dispatch,
|
|
3448
|
-
_instance$autoResetPi = instance.autoResetPivot,
|
|
3449
|
-
autoResetPivot = _instance$autoResetPi === void 0 ? true : _instance$autoResetPi,
|
|
3450
|
-
manaulPivot = instance.manaulPivot,
|
|
3451
|
-
disablePivot = instance.disablePivot,
|
|
3452
|
-
defaultCanPivot = instance.defaultCanPivot;
|
|
3453
|
-
ensurePluginOrder(plugins, ['useGroupBy'], 'usePivotColumns');
|
|
3454
|
-
var getInstance = useGetLatest(instance);
|
|
3455
|
-
allColumns.forEach(function (column) {
|
|
3456
|
-
var accessor = column.accessor,
|
|
3457
|
-
defaultColumnPivot = column.defaultPivot,
|
|
3458
|
-
columnDisablePivot = column.disablePivot;
|
|
3459
|
-
column.canPivot = accessor ? getFirstDefined(column.canPivot, columnDisablePivot === true ? false : undefined, disablePivot === true ? false : undefined, true) : getFirstDefined(column.canPivot, defaultColumnPivot, defaultCanPivot, false);
|
|
3460
|
-
|
|
3461
|
-
if (column.canPivot) {
|
|
3462
|
-
column.togglePivot = function () {
|
|
3463
|
-
return instance.togglePivot(column.id);
|
|
3464
|
-
};
|
|
3465
|
-
}
|
|
3466
|
-
|
|
3467
|
-
column.Aggregated = column.Aggregated || column.Cell;
|
|
3468
|
-
});
|
|
3469
|
-
|
|
3470
|
-
var togglePivot = function togglePivot(columnId, value) {
|
|
3471
|
-
dispatch({
|
|
3472
|
-
type: actions.togglePivot,
|
|
3473
|
-
columnId: columnId,
|
|
3474
|
-
value: value
|
|
3475
|
-
});
|
|
3476
|
-
};
|
|
3477
|
-
|
|
3478
|
-
flatHeaders.forEach(function (header) {
|
|
3479
|
-
header.getPivotToggleProps = makePropGetter(getHooks().getPivotToggleProps, {
|
|
3480
|
-
instance: getInstance(),
|
|
3481
|
-
header: header
|
|
3482
|
-
});
|
|
3483
|
-
});
|
|
3484
|
-
var getAutoResetPivot = useGetLatest(autoResetPivot);
|
|
3485
|
-
useMountedLayoutEffect(function () {
|
|
3486
|
-
if (getAutoResetPivot()) {
|
|
3487
|
-
dispatch({
|
|
3488
|
-
type: actions.resetPivot
|
|
3489
|
-
});
|
|
3490
|
-
}
|
|
3491
|
-
}, [dispatch, manaulPivot ? null : columns]);
|
|
3492
|
-
Object.assign(instance, {
|
|
3493
|
-
togglePivot: togglePivot
|
|
3494
|
-
});
|
|
3495
|
-
}
|
|
3496
|
-
|
|
3497
|
-
function prepareRow$2(row) {
|
|
3498
|
-
row.allCells.forEach(function (cell) {
|
|
3499
|
-
// Grouped cells are in the pivotColumns and the pivot cell for the row
|
|
3500
|
-
cell.isPivoted = cell.column.isPivoted;
|
|
3501
|
-
});
|
|
3502
|
-
}
|
|
3503
|
-
|
|
3504
|
-
var pluginName$1 = 'useRowSelect'; // Actions
|
|
3505
|
-
|
|
3506
|
-
actions.resetSelectedRows = 'resetSelectedRows';
|
|
3507
|
-
actions.toggleAllRowsSelected = 'toggleAllRowsSelected';
|
|
3508
|
-
actions.toggleRowSelected = 'toggleRowSelected';
|
|
3509
|
-
actions.toggleAllPageRowsSelected = 'toggleAllPageRowsSelected';
|
|
3510
|
-
var useRowSelect = function useRowSelect(hooks) {
|
|
3511
|
-
hooks.getToggleRowSelectedProps = [defaultGetToggleRowSelectedProps];
|
|
3512
|
-
hooks.getToggleAllRowsSelectedProps = [defaultGetToggleAllRowsSelectedProps];
|
|
3513
|
-
hooks.getToggleAllPageRowsSelectedProps = [defaultGetToggleAllPageRowsSelectedProps];
|
|
3514
|
-
hooks.stateReducers.push(reducer$8);
|
|
3515
|
-
hooks.useInstance.push(useInstance$8);
|
|
3516
|
-
hooks.prepareRow.push(prepareRow$3);
|
|
3517
|
-
};
|
|
3518
|
-
useRowSelect.pluginName = pluginName$1;
|
|
3519
|
-
|
|
3520
|
-
var defaultGetToggleRowSelectedProps = function defaultGetToggleRowSelectedProps(props, _ref) {
|
|
3521
|
-
var instance = _ref.instance,
|
|
3522
|
-
row = _ref.row;
|
|
3523
|
-
var _instance$manualRowSe = instance.manualRowSelectedKey,
|
|
3524
|
-
manualRowSelectedKey = _instance$manualRowSe === void 0 ? 'isSelected' : _instance$manualRowSe;
|
|
3525
|
-
var checked = false;
|
|
3526
|
-
|
|
3527
|
-
if (row.original && row.original[manualRowSelectedKey]) {
|
|
3528
|
-
checked = true;
|
|
3529
|
-
} else {
|
|
3530
|
-
checked = row.isSelected;
|
|
3531
|
-
}
|
|
3532
|
-
|
|
3533
|
-
return [props, {
|
|
3534
|
-
onChange: function onChange(e) {
|
|
3535
|
-
row.toggleRowSelected(e.target.checked);
|
|
3536
|
-
},
|
|
3537
|
-
style: {
|
|
3538
|
-
cursor: 'pointer'
|
|
3539
|
-
},
|
|
3540
|
-
checked: checked,
|
|
3541
|
-
title: 'Toggle Row Selected',
|
|
3542
|
-
indeterminate: row.isSomeSelected
|
|
3543
|
-
}];
|
|
3544
|
-
};
|
|
3545
|
-
|
|
3546
|
-
var defaultGetToggleAllRowsSelectedProps = function defaultGetToggleAllRowsSelectedProps(props, _ref2) {
|
|
3547
|
-
var instance = _ref2.instance;
|
|
3548
|
-
return [props, {
|
|
3549
|
-
onChange: function onChange(e) {
|
|
3550
|
-
instance.toggleAllRowsSelected(e.target.checked);
|
|
3551
|
-
},
|
|
3552
|
-
style: {
|
|
3553
|
-
cursor: 'pointer'
|
|
3554
|
-
},
|
|
3555
|
-
checked: instance.isAllRowsSelected,
|
|
3556
|
-
title: 'Toggle All Rows Selected',
|
|
3557
|
-
indeterminate: Boolean(!instance.isAllRowsSelected && Object.keys(instance.state.selectedRowIds).length)
|
|
3558
|
-
}];
|
|
3559
|
-
};
|
|
3560
|
-
|
|
3561
|
-
var defaultGetToggleAllPageRowsSelectedProps = function defaultGetToggleAllPageRowsSelectedProps(props, _ref3) {
|
|
3562
|
-
var instance = _ref3.instance;
|
|
3563
|
-
return [props, {
|
|
3564
|
-
onChange: function onChange(e) {
|
|
3565
|
-
instance.toggleAllPageRowsSelected(e.target.checked);
|
|
3566
|
-
},
|
|
3567
|
-
style: {
|
|
3568
|
-
cursor: 'pointer'
|
|
3569
|
-
},
|
|
3570
|
-
checked: instance.isAllPageRowsSelected,
|
|
3571
|
-
title: 'Toggle All Current Page Rows Selected',
|
|
3572
|
-
indeterminate: Boolean(!instance.isAllPageRowsSelected && instance.page.some(function (_ref4) {
|
|
3573
|
-
var id = _ref4.id;
|
|
3574
|
-
return instance.state.selectedRowIds[id];
|
|
3575
|
-
}))
|
|
3576
|
-
}];
|
|
3577
|
-
}; // eslint-disable-next-line max-params
|
|
3578
|
-
|
|
3579
|
-
|
|
3580
|
-
function reducer$8(state, action, previousState, instance) {
|
|
3581
|
-
if (action.type === actions.init) {
|
|
3582
|
-
return _extends({
|
|
3583
|
-
selectedRowIds: {}
|
|
3584
|
-
}, state);
|
|
3585
|
-
}
|
|
3586
|
-
|
|
3587
|
-
if (action.type === actions.resetSelectedRows) {
|
|
3588
|
-
return _extends({}, state, {
|
|
3589
|
-
selectedRowIds: instance.initialState.selectedRowIds || {}
|
|
3590
|
-
});
|
|
3591
|
-
}
|
|
3592
|
-
|
|
3593
|
-
if (action.type === actions.toggleAllRowsSelected) {
|
|
3594
|
-
var setSelected = action.value;
|
|
3595
|
-
var isAllRowsSelected = instance.isAllRowsSelected,
|
|
3596
|
-
rowsById = instance.rowsById,
|
|
3597
|
-
_instance$nonGroupedR = instance.nonGroupedRowsById,
|
|
3598
|
-
nonGroupedRowsById = _instance$nonGroupedR === void 0 ? rowsById : _instance$nonGroupedR;
|
|
3599
|
-
var selectAll = typeof setSelected !== 'undefined' ? setSelected : !isAllRowsSelected; // Only remove/add the rows that are visible on the screen
|
|
3600
|
-
// Leave all the other rows that are selected alone.
|
|
3601
|
-
|
|
3602
|
-
var selectedRowIds = Object.assign({}, state.selectedRowIds);
|
|
3603
|
-
|
|
3604
|
-
if (selectAll) {
|
|
3605
|
-
Object.keys(nonGroupedRowsById).forEach(function (rowId) {
|
|
3606
|
-
selectedRowIds[rowId] = true;
|
|
3607
|
-
});
|
|
3608
|
-
} else {
|
|
3609
|
-
Object.keys(nonGroupedRowsById).forEach(function (rowId) {
|
|
3610
|
-
delete selectedRowIds[rowId];
|
|
3611
|
-
});
|
|
3612
|
-
}
|
|
3613
|
-
|
|
3614
|
-
return _extends({}, state, {
|
|
3615
|
-
selectedRowIds: selectedRowIds
|
|
3616
|
-
});
|
|
3617
|
-
}
|
|
3618
|
-
|
|
3619
|
-
if (action.type === actions.toggleRowSelected) {
|
|
3620
|
-
var id = action.id,
|
|
3621
|
-
_setSelected = action.value;
|
|
3622
|
-
var _rowsById = instance.rowsById,
|
|
3623
|
-
_instance$selectSubRo = instance.selectSubRows,
|
|
3624
|
-
selectSubRows = _instance$selectSubRo === void 0 ? true : _instance$selectSubRo,
|
|
3625
|
-
getSubRows = instance.getSubRows;
|
|
3626
|
-
var isSelected = state.selectedRowIds[id];
|
|
3627
|
-
var shouldExist = typeof _setSelected !== 'undefined' ? _setSelected : !isSelected;
|
|
3628
|
-
|
|
3629
|
-
if (isSelected === shouldExist) {
|
|
3630
|
-
return state;
|
|
3631
|
-
}
|
|
3632
|
-
|
|
3633
|
-
var newSelectedRowIds = _extends({}, state.selectedRowIds);
|
|
3634
|
-
|
|
3635
|
-
var handleRowById = function handleRowById(id) {
|
|
3636
|
-
var row = _rowsById[id];
|
|
3637
|
-
|
|
3638
|
-
if (!row.isGrouped) {
|
|
3639
|
-
if (shouldExist) {
|
|
3640
|
-
newSelectedRowIds[id] = true;
|
|
3641
|
-
} else {
|
|
3642
|
-
delete newSelectedRowIds[id];
|
|
3643
|
-
}
|
|
3644
|
-
}
|
|
3645
|
-
|
|
3646
|
-
if (selectSubRows && getSubRows(row)) {
|
|
3647
|
-
return getSubRows(row).forEach(function (row) {
|
|
3648
|
-
return handleRowById(row.id);
|
|
3649
|
-
});
|
|
3650
|
-
}
|
|
3651
|
-
};
|
|
3652
|
-
|
|
3653
|
-
handleRowById(id);
|
|
3654
|
-
return _extends({}, state, {
|
|
3655
|
-
selectedRowIds: newSelectedRowIds
|
|
3656
|
-
});
|
|
3657
|
-
}
|
|
3658
|
-
|
|
3659
|
-
if (action.type === actions.toggleAllPageRowsSelected) {
|
|
3660
|
-
var _setSelected2 = action.value;
|
|
3661
|
-
|
|
3662
|
-
var page = instance.page,
|
|
3663
|
-
_rowsById2 = instance.rowsById,
|
|
3664
|
-
_instance$selectSubRo2 = instance.selectSubRows,
|
|
3665
|
-
_selectSubRows = _instance$selectSubRo2 === void 0 ? true : _instance$selectSubRo2,
|
|
3666
|
-
isAllPageRowsSelected = instance.isAllPageRowsSelected,
|
|
3667
|
-
_getSubRows = instance.getSubRows;
|
|
3668
|
-
|
|
3669
|
-
var _selectAll = typeof _setSelected2 !== 'undefined' ? _setSelected2 : !isAllPageRowsSelected;
|
|
3670
|
-
|
|
3671
|
-
var _newSelectedRowIds = _extends({}, state.selectedRowIds);
|
|
3672
|
-
|
|
3673
|
-
var _handleRowById = function _handleRowById(id) {
|
|
3674
|
-
var row = _rowsById2[id];
|
|
3675
|
-
|
|
3676
|
-
if (!row.isGrouped) {
|
|
3677
|
-
if (_selectAll) {
|
|
3678
|
-
_newSelectedRowIds[id] = true;
|
|
3679
|
-
} else {
|
|
3680
|
-
delete _newSelectedRowIds[id];
|
|
3681
|
-
}
|
|
3682
|
-
}
|
|
3683
|
-
|
|
3684
|
-
if (_selectSubRows && _getSubRows(row)) {
|
|
3685
|
-
return _getSubRows(row).forEach(function (row) {
|
|
3686
|
-
return _handleRowById(row.id);
|
|
3687
|
-
});
|
|
3688
|
-
}
|
|
3689
|
-
};
|
|
3690
|
-
|
|
3691
|
-
page.forEach(function (row) {
|
|
3692
|
-
return _handleRowById(row.id);
|
|
3693
|
-
});
|
|
3694
|
-
return _extends({}, state, {
|
|
3695
|
-
selectedRowIds: _newSelectedRowIds
|
|
3696
|
-
});
|
|
3697
|
-
}
|
|
3698
|
-
|
|
3699
|
-
return state;
|
|
3700
|
-
}
|
|
3701
|
-
|
|
3702
|
-
function useInstance$8(instance) {
|
|
3703
|
-
var data = instance.data,
|
|
3704
|
-
rows = instance.rows,
|
|
3705
|
-
getHooks = instance.getHooks,
|
|
3706
|
-
plugins = instance.plugins,
|
|
3707
|
-
rowsById = instance.rowsById,
|
|
3708
|
-
_instance$nonGroupedR2 = instance.nonGroupedRowsById,
|
|
3709
|
-
nonGroupedRowsById = _instance$nonGroupedR2 === void 0 ? rowsById : _instance$nonGroupedR2,
|
|
3710
|
-
_instance$autoResetSe = instance.autoResetSelectedRows,
|
|
3711
|
-
autoResetSelectedRows = _instance$autoResetSe === void 0 ? true : _instance$autoResetSe,
|
|
3712
|
-
selectedRowIds = instance.state.selectedRowIds,
|
|
3713
|
-
_instance$selectSubRo3 = instance.selectSubRows,
|
|
3714
|
-
selectSubRows = _instance$selectSubRo3 === void 0 ? true : _instance$selectSubRo3,
|
|
3715
|
-
dispatch = instance.dispatch,
|
|
3716
|
-
page = instance.page,
|
|
3717
|
-
getSubRows = instance.getSubRows;
|
|
3718
|
-
ensurePluginOrder(plugins, ['useFilters', 'useGroupBy', 'useSortBy', 'useExpanded', 'usePagination'], 'useRowSelect');
|
|
3719
|
-
var selectedFlatRows = React.useMemo(function () {
|
|
3720
|
-
var selectedFlatRows = [];
|
|
3721
|
-
rows.forEach(function (row) {
|
|
3722
|
-
var isSelected = selectSubRows ? getRowIsSelected(row, selectedRowIds, getSubRows) : !!selectedRowIds[row.id];
|
|
3723
|
-
row.isSelected = !!isSelected;
|
|
3724
|
-
row.isSomeSelected = isSelected === null;
|
|
3725
|
-
|
|
3726
|
-
if (isSelected) {
|
|
3727
|
-
selectedFlatRows.push(row);
|
|
3728
|
-
}
|
|
3729
|
-
});
|
|
3730
|
-
return selectedFlatRows;
|
|
3731
|
-
}, [rows, selectSubRows, selectedRowIds, getSubRows]);
|
|
3732
|
-
var isAllRowsSelected = Boolean(Object.keys(nonGroupedRowsById).length && Object.keys(selectedRowIds).length);
|
|
3733
|
-
var isAllPageRowsSelected = isAllRowsSelected;
|
|
3734
|
-
|
|
3735
|
-
if (isAllRowsSelected) {
|
|
3736
|
-
if (Object.keys(nonGroupedRowsById).some(function (id) {
|
|
3737
|
-
return !selectedRowIds[id];
|
|
3738
|
-
})) {
|
|
3739
|
-
isAllRowsSelected = false;
|
|
3740
|
-
}
|
|
3741
|
-
}
|
|
3742
|
-
|
|
3743
|
-
if (!isAllRowsSelected) {
|
|
3744
|
-
if (page && page.length && page.some(function (_ref5) {
|
|
3745
|
-
var id = _ref5.id;
|
|
3746
|
-
return !selectedRowIds[id];
|
|
3747
|
-
})) {
|
|
3748
|
-
isAllPageRowsSelected = false;
|
|
3749
|
-
}
|
|
3750
|
-
}
|
|
3751
|
-
|
|
3752
|
-
var getAutoResetSelectedRows = useGetLatest(autoResetSelectedRows);
|
|
3753
|
-
useMountedLayoutEffect(function () {
|
|
3754
|
-
if (getAutoResetSelectedRows()) {
|
|
3755
|
-
dispatch({
|
|
3756
|
-
type: actions.resetSelectedRows
|
|
3757
|
-
});
|
|
3758
|
-
}
|
|
3759
|
-
}, [dispatch, data]);
|
|
3760
|
-
var toggleAllRowsSelected = React.useCallback(function (value) {
|
|
3761
|
-
return dispatch({
|
|
3762
|
-
type: actions.toggleAllRowsSelected,
|
|
3763
|
-
value: value
|
|
3764
|
-
});
|
|
3765
|
-
}, [dispatch]);
|
|
3766
|
-
var toggleAllPageRowsSelected = React.useCallback(function (value) {
|
|
3767
|
-
return dispatch({
|
|
3768
|
-
type: actions.toggleAllPageRowsSelected,
|
|
3769
|
-
value: value
|
|
3770
|
-
});
|
|
3771
|
-
}, [dispatch]);
|
|
3772
|
-
var toggleRowSelected = React.useCallback(function (id, value) {
|
|
3773
|
-
return dispatch({
|
|
3774
|
-
type: actions.toggleRowSelected,
|
|
3775
|
-
id: id,
|
|
3776
|
-
value: value
|
|
3777
|
-
});
|
|
3778
|
-
}, [dispatch]);
|
|
3779
|
-
var getInstance = useGetLatest(instance);
|
|
3780
|
-
var getToggleAllRowsSelectedProps = makePropGetter(getHooks().getToggleAllRowsSelectedProps, {
|
|
3781
|
-
instance: getInstance()
|
|
3782
|
-
});
|
|
3783
|
-
var getToggleAllPageRowsSelectedProps = makePropGetter(getHooks().getToggleAllPageRowsSelectedProps, {
|
|
3784
|
-
instance: getInstance()
|
|
3785
|
-
});
|
|
3786
|
-
Object.assign(instance, {
|
|
3787
|
-
selectedFlatRows: selectedFlatRows,
|
|
3788
|
-
isAllRowsSelected: isAllRowsSelected,
|
|
3789
|
-
isAllPageRowsSelected: isAllPageRowsSelected,
|
|
3790
|
-
toggleRowSelected: toggleRowSelected,
|
|
3791
|
-
toggleAllRowsSelected: toggleAllRowsSelected,
|
|
3792
|
-
getToggleAllRowsSelectedProps: getToggleAllRowsSelectedProps,
|
|
3793
|
-
getToggleAllPageRowsSelectedProps: getToggleAllPageRowsSelectedProps,
|
|
3794
|
-
toggleAllPageRowsSelected: toggleAllPageRowsSelected
|
|
3795
|
-
});
|
|
3796
|
-
}
|
|
3797
|
-
|
|
3798
|
-
function prepareRow$3(row, _ref6) {
|
|
3799
|
-
var instance = _ref6.instance;
|
|
3800
|
-
|
|
3801
|
-
row.toggleRowSelected = function (set) {
|
|
3802
|
-
return instance.toggleRowSelected(row.id, set);
|
|
3803
|
-
};
|
|
3804
|
-
|
|
3805
|
-
row.getToggleRowSelectedProps = makePropGetter(instance.getHooks().getToggleRowSelectedProps, {
|
|
3806
|
-
instance: instance,
|
|
3807
|
-
row: row
|
|
3808
|
-
});
|
|
3809
|
-
}
|
|
3810
|
-
|
|
3811
|
-
function getRowIsSelected(row, selectedRowIds, getSubRows) {
|
|
3812
|
-
if (selectedRowIds[row.id]) {
|
|
3813
|
-
return true;
|
|
3814
|
-
}
|
|
3815
|
-
|
|
3816
|
-
var subRows = getSubRows(row);
|
|
3817
|
-
|
|
3818
|
-
if (subRows && subRows.length) {
|
|
3819
|
-
var allChildrenSelected = true;
|
|
3820
|
-
var someSelected = false;
|
|
3821
|
-
subRows.forEach(function (subRow) {
|
|
3822
|
-
// Bail out early if we know both of these
|
|
3823
|
-
if (someSelected && !allChildrenSelected) {
|
|
3824
|
-
return;
|
|
3825
|
-
}
|
|
3826
|
-
|
|
3827
|
-
if (getRowIsSelected(subRow, selectedRowIds, getSubRows)) {
|
|
3828
|
-
someSelected = true;
|
|
3829
|
-
} else {
|
|
3830
|
-
allChildrenSelected = false;
|
|
3831
|
-
}
|
|
3832
|
-
});
|
|
3833
|
-
return allChildrenSelected ? true : someSelected ? null : false;
|
|
3834
|
-
}
|
|
3835
|
-
|
|
3836
|
-
return false;
|
|
3837
|
-
}
|
|
3838
|
-
|
|
3839
|
-
var defaultInitialRowStateAccessor = function defaultInitialRowStateAccessor(row) {
|
|
3840
|
-
return {};
|
|
3841
|
-
};
|
|
3842
|
-
|
|
3843
|
-
var defaultInitialCellStateAccessor = function defaultInitialCellStateAccessor(cell) {
|
|
3844
|
-
return {};
|
|
3845
|
-
}; // Actions
|
|
3846
|
-
|
|
3847
|
-
|
|
3848
|
-
actions.setRowState = 'setRowState';
|
|
3849
|
-
actions.setCellState = 'setCellState';
|
|
3850
|
-
actions.resetRowState = 'resetRowState';
|
|
3851
|
-
var useRowState = function useRowState(hooks) {
|
|
3852
|
-
hooks.stateReducers.push(reducer$9);
|
|
3853
|
-
hooks.useInstance.push(useInstance$9);
|
|
3854
|
-
hooks.prepareRow.push(prepareRow$4);
|
|
3855
|
-
};
|
|
3856
|
-
useRowState.pluginName = 'useRowState';
|
|
3857
|
-
|
|
3858
|
-
function reducer$9(state, action, previousState, instance) {
|
|
3859
|
-
var _instance$initialRowS = instance.initialRowStateAccessor,
|
|
3860
|
-
initialRowStateAccessor = _instance$initialRowS === void 0 ? defaultInitialRowStateAccessor : _instance$initialRowS,
|
|
3861
|
-
_instance$initialCell = instance.initialCellStateAccessor,
|
|
3862
|
-
initialCellStateAccessor = _instance$initialCell === void 0 ? defaultInitialCellStateAccessor : _instance$initialCell,
|
|
3863
|
-
rowsById = instance.rowsById;
|
|
3864
|
-
|
|
3865
|
-
if (action.type === actions.init) {
|
|
3866
|
-
return _extends({
|
|
3867
|
-
rowState: {}
|
|
3868
|
-
}, state);
|
|
3869
|
-
}
|
|
3870
|
-
|
|
3871
|
-
if (action.type === actions.resetRowState) {
|
|
3872
|
-
return _extends({}, state, {
|
|
3873
|
-
rowState: instance.initialState.rowState || {}
|
|
3874
|
-
});
|
|
3875
|
-
}
|
|
3876
|
-
|
|
3877
|
-
if (action.type === actions.setRowState) {
|
|
3878
|
-
var _extends2;
|
|
3879
|
-
|
|
3880
|
-
var rowId = action.rowId,
|
|
3881
|
-
value = action.value;
|
|
3882
|
-
var oldRowState = typeof state.rowState[rowId] !== 'undefined' ? state.rowState[rowId] : initialRowStateAccessor(rowsById[rowId]);
|
|
3883
|
-
return _extends({}, state, {
|
|
3884
|
-
rowState: _extends({}, state.rowState, (_extends2 = {}, _extends2[rowId] = functionalUpdate(value, oldRowState), _extends2))
|
|
3885
|
-
});
|
|
3886
|
-
}
|
|
3887
|
-
|
|
3888
|
-
if (action.type === actions.setCellState) {
|
|
3889
|
-
var _oldRowState$cellStat, _rowsById$_rowId, _rowsById$_rowId$cell, _extends3, _extends4;
|
|
3890
|
-
|
|
3891
|
-
var _rowId = action.rowId,
|
|
3892
|
-
columnId = action.columnId,
|
|
3893
|
-
_value = action.value;
|
|
3894
|
-
|
|
3895
|
-
var _oldRowState = typeof state.rowState[_rowId] !== 'undefined' ? state.rowState[_rowId] : initialRowStateAccessor(rowsById[_rowId]);
|
|
3896
|
-
|
|
3897
|
-
var oldCellState = typeof (_oldRowState == null ? void 0 : (_oldRowState$cellStat = _oldRowState.cellState) == null ? void 0 : _oldRowState$cellStat[columnId]) !== 'undefined' ? _oldRowState.cellState[columnId] : initialCellStateAccessor((_rowsById$_rowId = rowsById[_rowId]) == null ? void 0 : (_rowsById$_rowId$cell = _rowsById$_rowId.cells) == null ? void 0 : _rowsById$_rowId$cell.find(function (cell) {
|
|
3898
|
-
return cell.column.id === columnId;
|
|
3899
|
-
}));
|
|
3900
|
-
return _extends({}, state, {
|
|
3901
|
-
rowState: _extends({}, state.rowState, (_extends4 = {}, _extends4[_rowId] = _extends({}, _oldRowState, {
|
|
3902
|
-
cellState: _extends({}, _oldRowState.cellState || {}, (_extends3 = {}, _extends3[columnId] = functionalUpdate(_value, oldCellState), _extends3))
|
|
3903
|
-
}), _extends4))
|
|
3904
|
-
});
|
|
3905
|
-
}
|
|
3906
|
-
}
|
|
3907
|
-
|
|
3908
|
-
function useInstance$9(instance) {
|
|
3909
|
-
var _instance$autoResetRo = instance.autoResetRowState,
|
|
3910
|
-
autoResetRowState = _instance$autoResetRo === void 0 ? true : _instance$autoResetRo,
|
|
3911
|
-
data = instance.data,
|
|
3912
|
-
dispatch = instance.dispatch;
|
|
3913
|
-
var setRowState = React.useCallback(function (rowId, value) {
|
|
3914
|
-
return dispatch({
|
|
3915
|
-
type: actions.setRowState,
|
|
3916
|
-
rowId: rowId,
|
|
3917
|
-
value: value
|
|
3918
|
-
});
|
|
3919
|
-
}, [dispatch]);
|
|
3920
|
-
var setCellState = React.useCallback(function (rowId, columnId, value) {
|
|
3921
|
-
return dispatch({
|
|
3922
|
-
type: actions.setCellState,
|
|
3923
|
-
rowId: rowId,
|
|
3924
|
-
columnId: columnId,
|
|
3925
|
-
value: value
|
|
3926
|
-
});
|
|
3927
|
-
}, [dispatch]);
|
|
3928
|
-
var getAutoResetRowState = useGetLatest(autoResetRowState);
|
|
3929
|
-
useMountedLayoutEffect(function () {
|
|
3930
|
-
if (getAutoResetRowState()) {
|
|
3931
|
-
dispatch({
|
|
3932
|
-
type: actions.resetRowState
|
|
3933
|
-
});
|
|
3934
|
-
}
|
|
3935
|
-
}, [data]);
|
|
3936
|
-
Object.assign(instance, {
|
|
3937
|
-
setRowState: setRowState,
|
|
3938
|
-
setCellState: setCellState
|
|
3939
|
-
});
|
|
3940
|
-
}
|
|
3941
|
-
|
|
3942
|
-
function prepareRow$4(row, _ref) {
|
|
3943
|
-
var instance = _ref.instance;
|
|
3944
|
-
var _instance$initialRowS2 = instance.initialRowStateAccessor,
|
|
3945
|
-
initialRowStateAccessor = _instance$initialRowS2 === void 0 ? defaultInitialRowStateAccessor : _instance$initialRowS2,
|
|
3946
|
-
_instance$initialCell2 = instance.initialCellStateAccessor,
|
|
3947
|
-
initialCellStateAccessor = _instance$initialCell2 === void 0 ? defaultInitialCellStateAccessor : _instance$initialCell2,
|
|
3948
|
-
rowState = instance.state.rowState;
|
|
3949
|
-
|
|
3950
|
-
if (row) {
|
|
3951
|
-
row.state = typeof rowState[row.id] !== 'undefined' ? rowState[row.id] : initialRowStateAccessor(row);
|
|
3952
|
-
|
|
3953
|
-
row.setState = function (updater) {
|
|
3954
|
-
return instance.setRowState(row.id, updater);
|
|
3955
|
-
};
|
|
3956
|
-
|
|
3957
|
-
row.cells.forEach(function (cell) {
|
|
3958
|
-
if (!row.state.cellState) {
|
|
3959
|
-
row.state.cellState = {};
|
|
3960
|
-
}
|
|
3961
|
-
|
|
3962
|
-
cell.state = typeof row.state.cellState[cell.column.id] !== 'undefined' ? row.state.cellState[cell.column.id] : initialCellStateAccessor(cell);
|
|
3963
|
-
|
|
3964
|
-
cell.setState = function (updater) {
|
|
3965
|
-
return instance.setCellState(row.id, cell.column.id, updater);
|
|
3966
|
-
};
|
|
3967
|
-
});
|
|
3968
|
-
}
|
|
3969
|
-
}
|
|
3970
|
-
|
|
3971
|
-
actions.resetColumnOrder = 'resetColumnOrder';
|
|
3972
|
-
actions.setColumnOrder = 'setColumnOrder';
|
|
3973
|
-
var useColumnOrder = function useColumnOrder(hooks) {
|
|
3974
|
-
hooks.stateReducers.push(reducer$a);
|
|
3975
|
-
hooks.visibleColumnsDeps.push(function (deps, _ref) {
|
|
3976
|
-
var instance = _ref.instance;
|
|
3977
|
-
return [].concat(deps, [instance.state.columnOrder]);
|
|
3978
|
-
});
|
|
3979
|
-
hooks.visibleColumns.push(visibleColumns$2);
|
|
3980
|
-
hooks.useInstance.push(useInstance$a);
|
|
3981
|
-
};
|
|
3982
|
-
useColumnOrder.pluginName = 'useColumnOrder';
|
|
3983
|
-
|
|
3984
|
-
function reducer$a(state, action, previousState, instance) {
|
|
3985
|
-
if (action.type === actions.init) {
|
|
3986
|
-
return _extends({
|
|
3987
|
-
columnOrder: []
|
|
3988
|
-
}, state);
|
|
3989
|
-
}
|
|
3990
|
-
|
|
3991
|
-
if (action.type === actions.resetColumnOrder) {
|
|
3992
|
-
return _extends({}, state, {
|
|
3993
|
-
columnOrder: instance.initialState.columnOrder || []
|
|
3994
|
-
});
|
|
3995
|
-
}
|
|
3996
|
-
|
|
3997
|
-
if (action.type === actions.setColumnOrder) {
|
|
3998
|
-
return _extends({}, state, {
|
|
3999
|
-
columnOrder: functionalUpdate(action.columnOrder, state.columnOrder)
|
|
4000
|
-
});
|
|
4001
|
-
}
|
|
4002
|
-
}
|
|
4003
|
-
|
|
4004
|
-
function visibleColumns$2(columns, _ref2) {
|
|
4005
|
-
var columnOrder = _ref2.instance.state.columnOrder;
|
|
4006
|
-
|
|
4007
|
-
// If there is no order, return the normal columns
|
|
4008
|
-
if (!columnOrder || !columnOrder.length) {
|
|
4009
|
-
return columns;
|
|
4010
|
-
}
|
|
4011
|
-
|
|
4012
|
-
var columnOrderCopy = [].concat(columnOrder); // If there is an order, make a copy of the columns
|
|
4013
|
-
|
|
4014
|
-
var columnsCopy = [].concat(columns); // And make a new ordered array of the columns
|
|
4015
|
-
|
|
4016
|
-
var columnsInOrder = []; // Loop over the columns and place them in order into the new array
|
|
4017
|
-
|
|
4018
|
-
var _loop = function _loop() {
|
|
4019
|
-
var targetColumnId = columnOrderCopy.shift();
|
|
4020
|
-
var foundIndex = columnsCopy.findIndex(function (d) {
|
|
4021
|
-
return d.id === targetColumnId;
|
|
4022
|
-
});
|
|
4023
|
-
|
|
4024
|
-
if (foundIndex > -1) {
|
|
4025
|
-
columnsInOrder.push(columnsCopy.splice(foundIndex, 1)[0]);
|
|
4026
|
-
}
|
|
4027
|
-
};
|
|
4028
|
-
|
|
4029
|
-
while (columnsCopy.length && columnOrderCopy.length) {
|
|
4030
|
-
_loop();
|
|
4031
|
-
} // If there are any columns left, add them to the end
|
|
4032
|
-
|
|
4033
|
-
|
|
4034
|
-
return [].concat(columnsInOrder, columnsCopy);
|
|
4035
|
-
}
|
|
4036
|
-
|
|
4037
|
-
function useInstance$a(instance) {
|
|
4038
|
-
var dispatch = instance.dispatch;
|
|
4039
|
-
instance.setColumnOrder = React.useCallback(function (columnOrder) {
|
|
4040
|
-
return dispatch({
|
|
4041
|
-
type: actions.setColumnOrder,
|
|
4042
|
-
columnOrder: columnOrder
|
|
4043
|
-
});
|
|
4044
|
-
}, [dispatch]);
|
|
4045
|
-
}
|
|
4046
|
-
|
|
4047
|
-
defaultColumn.canResize = true; // Actions
|
|
4048
|
-
|
|
4049
|
-
actions.columnStartResizing = 'columnStartResizing';
|
|
4050
|
-
actions.columnResizing = 'columnResizing';
|
|
4051
|
-
actions.columnDoneResizing = 'columnDoneResizing';
|
|
4052
|
-
actions.resetResize = 'resetResize';
|
|
4053
|
-
var useResizeColumns = function useResizeColumns(hooks) {
|
|
4054
|
-
hooks.getResizerProps = [defaultGetResizerProps];
|
|
4055
|
-
hooks.getHeaderProps.push({
|
|
4056
|
-
style: {
|
|
4057
|
-
position: 'relative'
|
|
4058
|
-
}
|
|
4059
|
-
});
|
|
4060
|
-
hooks.stateReducers.push(reducer$b);
|
|
4061
|
-
hooks.useInstance.push(useInstance$b);
|
|
4062
|
-
hooks.useInstanceBeforeDimensions.push(useInstanceBeforeDimensions$1);
|
|
4063
|
-
};
|
|
4064
|
-
|
|
4065
|
-
var defaultGetResizerProps = function defaultGetResizerProps(props, _ref) {
|
|
4066
|
-
var instance = _ref.instance,
|
|
4067
|
-
header = _ref.header;
|
|
4068
|
-
var dispatch = instance.dispatch;
|
|
4069
|
-
|
|
4070
|
-
var onResizeStart = function onResizeStart(e, header) {
|
|
4071
|
-
var isTouchEvent = false;
|
|
4072
|
-
|
|
4073
|
-
if (e.type === 'touchstart') {
|
|
4074
|
-
// lets not respond to multiple touches (e.g. 2 or 3 fingers)
|
|
4075
|
-
if (e.touches && e.touches.length > 1) {
|
|
4076
|
-
return;
|
|
4077
|
-
}
|
|
4078
|
-
|
|
4079
|
-
isTouchEvent = true;
|
|
4080
|
-
}
|
|
4081
|
-
|
|
4082
|
-
var headersToResize = getLeafHeaders(header);
|
|
4083
|
-
var headerIdWidths = headersToResize.map(function (d) {
|
|
4084
|
-
return [d.id, d.totalWidth];
|
|
4085
|
-
});
|
|
4086
|
-
var clientX = isTouchEvent ? Math.round(e.touches[0].clientX) : e.clientX;
|
|
4087
|
-
|
|
4088
|
-
var dispatchMove = function dispatchMove(clientXPos) {
|
|
4089
|
-
dispatch({
|
|
4090
|
-
type: actions.columnResizing,
|
|
4091
|
-
clientX: clientXPos
|
|
4092
|
-
});
|
|
4093
|
-
};
|
|
4094
|
-
|
|
4095
|
-
var dispatchEnd = function dispatchEnd() {
|
|
4096
|
-
return dispatch({
|
|
4097
|
-
type: actions.columnDoneResizing
|
|
4098
|
-
});
|
|
4099
|
-
};
|
|
4100
|
-
|
|
4101
|
-
var handlersAndEvents = {
|
|
4102
|
-
mouse: {
|
|
4103
|
-
moveEvent: 'mousemove',
|
|
4104
|
-
moveHandler: function moveHandler(e) {
|
|
4105
|
-
return dispatchMove(e.clientX);
|
|
4106
|
-
},
|
|
4107
|
-
upEvent: 'mouseup',
|
|
4108
|
-
upHandler: function upHandler(e) {
|
|
4109
|
-
document.removeEventListener('mousemove', handlersAndEvents.mouse.moveHandler);
|
|
4110
|
-
document.removeEventListener('mouseup', handlersAndEvents.mouse.upHandler);
|
|
4111
|
-
dispatchEnd();
|
|
4112
|
-
}
|
|
4113
|
-
},
|
|
4114
|
-
touch: {
|
|
4115
|
-
moveEvent: 'touchmove',
|
|
4116
|
-
moveHandler: function moveHandler(e) {
|
|
4117
|
-
if (e.cancelable) {
|
|
4118
|
-
e.preventDefault();
|
|
4119
|
-
e.stopPropagation();
|
|
4120
|
-
}
|
|
4121
|
-
|
|
4122
|
-
dispatchMove(e.touches[0].clientX);
|
|
4123
|
-
return false;
|
|
4124
|
-
},
|
|
4125
|
-
upEvent: 'touchend',
|
|
4126
|
-
upHandler: function upHandler(e) {
|
|
4127
|
-
document.removeEventListener(handlersAndEvents.touch.moveEvent, handlersAndEvents.touch.moveHandler);
|
|
4128
|
-
document.removeEventListener(handlersAndEvents.touch.upEvent, handlersAndEvents.touch.moveHandler);
|
|
4129
|
-
dispatchEnd();
|
|
4130
|
-
}
|
|
4131
|
-
}
|
|
4132
|
-
};
|
|
4133
|
-
var events = isTouchEvent ? handlersAndEvents.touch : handlersAndEvents.mouse;
|
|
4134
|
-
var passiveIfSupported = passiveEventSupported() ? {
|
|
4135
|
-
passive: false
|
|
4136
|
-
} : false;
|
|
4137
|
-
document.addEventListener(events.moveEvent, events.moveHandler, passiveIfSupported);
|
|
4138
|
-
document.addEventListener(events.upEvent, events.upHandler, passiveIfSupported);
|
|
4139
|
-
dispatch({
|
|
4140
|
-
type: actions.columnStartResizing,
|
|
4141
|
-
columnId: header.id,
|
|
4142
|
-
columnWidth: header.totalWidth,
|
|
4143
|
-
headerIdWidths: headerIdWidths,
|
|
4144
|
-
clientX: clientX
|
|
4145
|
-
});
|
|
4146
|
-
};
|
|
4147
|
-
|
|
4148
|
-
return [props, {
|
|
4149
|
-
onMouseDown: function onMouseDown(e) {
|
|
4150
|
-
return e.persist() || onResizeStart(e, header);
|
|
4151
|
-
},
|
|
4152
|
-
onTouchStart: function onTouchStart(e) {
|
|
4153
|
-
return e.persist() || onResizeStart(e, header);
|
|
4154
|
-
},
|
|
4155
|
-
style: {
|
|
4156
|
-
cursor: 'col-resize'
|
|
4157
|
-
},
|
|
4158
|
-
draggable: false,
|
|
4159
|
-
role: 'separator'
|
|
4160
|
-
}];
|
|
4161
|
-
};
|
|
4162
|
-
|
|
4163
|
-
useResizeColumns.pluginName = 'useResizeColumns';
|
|
4164
|
-
|
|
4165
|
-
function reducer$b(state, action) {
|
|
4166
|
-
if (action.type === actions.init) {
|
|
4167
|
-
return _extends({
|
|
4168
|
-
columnResizing: {
|
|
4169
|
-
columnWidths: {}
|
|
4170
|
-
}
|
|
4171
|
-
}, state);
|
|
4172
|
-
}
|
|
4173
|
-
|
|
4174
|
-
if (action.type === actions.resetResize) {
|
|
4175
|
-
return _extends({}, state, {
|
|
4176
|
-
columnResizing: {
|
|
4177
|
-
columnWidths: {}
|
|
4178
|
-
}
|
|
4179
|
-
});
|
|
4180
|
-
}
|
|
4181
|
-
|
|
4182
|
-
if (action.type === actions.columnStartResizing) {
|
|
4183
|
-
var clientX = action.clientX,
|
|
4184
|
-
columnId = action.columnId,
|
|
4185
|
-
columnWidth = action.columnWidth,
|
|
4186
|
-
headerIdWidths = action.headerIdWidths;
|
|
4187
|
-
return _extends({}, state, {
|
|
4188
|
-
columnResizing: _extends({}, state.columnResizing, {
|
|
4189
|
-
startX: clientX,
|
|
4190
|
-
headerIdWidths: headerIdWidths,
|
|
4191
|
-
columnWidth: columnWidth,
|
|
4192
|
-
isResizingColumn: columnId
|
|
4193
|
-
})
|
|
4194
|
-
});
|
|
4195
|
-
}
|
|
4196
|
-
|
|
4197
|
-
if (action.type === actions.columnResizing) {
|
|
4198
|
-
var _clientX = action.clientX;
|
|
4199
|
-
|
|
4200
|
-
var _state$columnResizing = state.columnResizing,
|
|
4201
|
-
startX = _state$columnResizing.startX,
|
|
4202
|
-
_columnWidth = _state$columnResizing.columnWidth,
|
|
4203
|
-
_state$columnResizing2 = _state$columnResizing.headerIdWidths,
|
|
4204
|
-
_headerIdWidths = _state$columnResizing2 === void 0 ? [] : _state$columnResizing2;
|
|
4205
|
-
|
|
4206
|
-
var deltaX = _clientX - startX;
|
|
4207
|
-
var percentageDeltaX = deltaX / _columnWidth;
|
|
4208
|
-
var newColumnWidths = {};
|
|
4209
|
-
|
|
4210
|
-
_headerIdWidths.forEach(function (_ref2) {
|
|
4211
|
-
var headerId = _ref2[0],
|
|
4212
|
-
headerWidth = _ref2[1];
|
|
4213
|
-
newColumnWidths[headerId] = Math.max(headerWidth + headerWidth * percentageDeltaX, 0);
|
|
4214
|
-
});
|
|
4215
|
-
|
|
4216
|
-
return _extends({}, state, {
|
|
4217
|
-
columnResizing: _extends({}, state.columnResizing, {
|
|
4218
|
-
columnWidths: _extends({}, state.columnResizing.columnWidths, {}, newColumnWidths)
|
|
4219
|
-
})
|
|
4220
|
-
});
|
|
4221
|
-
}
|
|
4222
|
-
|
|
4223
|
-
if (action.type === actions.columnDoneResizing) {
|
|
4224
|
-
return _extends({}, state, {
|
|
4225
|
-
columnResizing: _extends({}, state.columnResizing, {
|
|
4226
|
-
startX: null,
|
|
4227
|
-
isResizingColumn: null
|
|
4228
|
-
})
|
|
4229
|
-
});
|
|
4230
|
-
}
|
|
4231
|
-
}
|
|
4232
|
-
|
|
4233
|
-
var useInstanceBeforeDimensions$1 = function useInstanceBeforeDimensions(instance) {
|
|
4234
|
-
var flatHeaders = instance.flatHeaders,
|
|
4235
|
-
disableResizing = instance.disableResizing,
|
|
4236
|
-
getHooks = instance.getHooks,
|
|
4237
|
-
columnResizing = instance.state.columnResizing;
|
|
4238
|
-
var getInstance = useGetLatest(instance);
|
|
4239
|
-
flatHeaders.forEach(function (header) {
|
|
4240
|
-
var canResize = getFirstDefined(header.disableResizing === true ? false : undefined, disableResizing === true ? false : undefined, true);
|
|
4241
|
-
header.canResize = canResize;
|
|
4242
|
-
header.width = columnResizing.columnWidths[header.id] || header.originalWidth || header.width;
|
|
4243
|
-
header.isResizing = columnResizing.isResizingColumn === header.id;
|
|
4244
|
-
|
|
4245
|
-
if (canResize) {
|
|
4246
|
-
header.getResizerProps = makePropGetter(getHooks().getResizerProps, {
|
|
4247
|
-
instance: getInstance(),
|
|
4248
|
-
header: header
|
|
4249
|
-
});
|
|
4250
|
-
}
|
|
4251
|
-
});
|
|
4252
|
-
};
|
|
4253
|
-
|
|
4254
|
-
function useInstance$b(instance) {
|
|
4255
|
-
var plugins = instance.plugins,
|
|
4256
|
-
dispatch = instance.dispatch,
|
|
4257
|
-
_instance$autoResetRe = instance.autoResetResize,
|
|
4258
|
-
autoResetResize = _instance$autoResetRe === void 0 ? true : _instance$autoResetRe,
|
|
4259
|
-
columns = instance.columns;
|
|
4260
|
-
ensurePluginOrder(plugins, ['useAbsoluteLayout'], 'useResizeColumns');
|
|
4261
|
-
var getAutoResetResize = useGetLatest(autoResetResize);
|
|
4262
|
-
useMountedLayoutEffect(function () {
|
|
4263
|
-
if (getAutoResetResize()) {
|
|
4264
|
-
dispatch({
|
|
4265
|
-
type: actions.resetResize
|
|
4266
|
-
});
|
|
4267
|
-
}
|
|
4268
|
-
}, [columns]);
|
|
4269
|
-
var resetResizing = React.useCallback(function () {
|
|
4270
|
-
return dispatch({
|
|
4271
|
-
type: actions.resetResize
|
|
4272
|
-
});
|
|
4273
|
-
}, [dispatch]);
|
|
4274
|
-
Object.assign(instance, {
|
|
4275
|
-
resetResizing: resetResizing
|
|
4276
|
-
});
|
|
4277
|
-
}
|
|
4278
|
-
|
|
4279
|
-
function getLeafHeaders(header) {
|
|
4280
|
-
var leafHeaders = [];
|
|
4281
|
-
|
|
4282
|
-
var recurseHeader = function recurseHeader(header) {
|
|
4283
|
-
if (header.columns && header.columns.length) {
|
|
4284
|
-
header.columns.map(recurseHeader);
|
|
4285
|
-
}
|
|
4286
|
-
|
|
4287
|
-
leafHeaders.push(header);
|
|
4288
|
-
};
|
|
4289
|
-
|
|
4290
|
-
recurseHeader(header);
|
|
4291
|
-
return leafHeaders;
|
|
4292
|
-
}
|
|
4293
|
-
|
|
4294
|
-
var cellStyles = {
|
|
4295
|
-
position: 'absolute',
|
|
4296
|
-
top: 0
|
|
4297
|
-
};
|
|
4298
|
-
var useAbsoluteLayout = function useAbsoluteLayout(hooks) {
|
|
4299
|
-
hooks.getTableBodyProps.push(getRowStyles);
|
|
4300
|
-
hooks.getRowProps.push(getRowStyles);
|
|
4301
|
-
hooks.getHeaderGroupProps.push(getRowStyles);
|
|
4302
|
-
hooks.getFooterGroupProps.push(getRowStyles);
|
|
4303
|
-
hooks.getHeaderProps.push(function (props, _ref) {
|
|
4304
|
-
var column = _ref.column;
|
|
4305
|
-
return [props, {
|
|
4306
|
-
style: _extends({}, cellStyles, {
|
|
4307
|
-
left: column.totalLeft + "px",
|
|
4308
|
-
width: column.totalWidth + "px"
|
|
4309
|
-
})
|
|
4310
|
-
}];
|
|
4311
|
-
});
|
|
4312
|
-
hooks.getCellProps.push(function (props, _ref2) {
|
|
4313
|
-
var cell = _ref2.cell;
|
|
4314
|
-
return [props, {
|
|
4315
|
-
style: _extends({}, cellStyles, {
|
|
4316
|
-
left: cell.column.totalLeft + "px",
|
|
4317
|
-
width: cell.column.totalWidth + "px"
|
|
4318
|
-
})
|
|
4319
|
-
}];
|
|
4320
|
-
});
|
|
4321
|
-
hooks.getFooterProps.push(function (props, _ref3) {
|
|
4322
|
-
var column = _ref3.column;
|
|
4323
|
-
return [props, {
|
|
4324
|
-
style: _extends({}, cellStyles, {
|
|
4325
|
-
left: column.totalLeft + "px",
|
|
4326
|
-
width: column.totalWidth + "px"
|
|
4327
|
-
})
|
|
4328
|
-
}];
|
|
4329
|
-
});
|
|
4330
|
-
};
|
|
4331
|
-
useAbsoluteLayout.pluginName = 'useAbsoluteLayout';
|
|
4332
|
-
|
|
4333
|
-
var getRowStyles = function getRowStyles(props, _ref4) {
|
|
4334
|
-
var instance = _ref4.instance;
|
|
4335
|
-
return [props, {
|
|
4336
|
-
style: {
|
|
4337
|
-
position: 'relative',
|
|
4338
|
-
width: instance.totalColumnsWidth + "px"
|
|
4339
|
-
}
|
|
4340
|
-
}];
|
|
4341
|
-
};
|
|
4342
|
-
|
|
4343
|
-
var cellStyles$1 = {
|
|
4344
|
-
display: 'inline-block',
|
|
4345
|
-
boxSizing: 'border-box'
|
|
4346
|
-
};
|
|
4347
|
-
|
|
4348
|
-
var getRowStyles$1 = function getRowStyles(props, _ref) {
|
|
4349
|
-
var instance = _ref.instance;
|
|
4350
|
-
return [props, {
|
|
4351
|
-
style: {
|
|
4352
|
-
display: 'flex',
|
|
4353
|
-
width: instance.totalColumnsWidth + "px"
|
|
4354
|
-
}
|
|
4355
|
-
}];
|
|
4356
|
-
};
|
|
4357
|
-
|
|
4358
|
-
var useBlockLayout = function useBlockLayout(hooks) {
|
|
4359
|
-
hooks.getRowProps.push(getRowStyles$1);
|
|
4360
|
-
hooks.getHeaderGroupProps.push(getRowStyles$1);
|
|
4361
|
-
hooks.getFooterGroupProps.push(getRowStyles$1);
|
|
4362
|
-
hooks.getHeaderProps.push(function (props, _ref2) {
|
|
4363
|
-
var column = _ref2.column;
|
|
4364
|
-
return [props, {
|
|
4365
|
-
style: _extends({}, cellStyles$1, {
|
|
4366
|
-
width: column.totalWidth + "px"
|
|
4367
|
-
})
|
|
4368
|
-
}];
|
|
4369
|
-
});
|
|
4370
|
-
hooks.getCellProps.push(function (props, _ref3) {
|
|
4371
|
-
var cell = _ref3.cell;
|
|
4372
|
-
return [props, {
|
|
4373
|
-
style: _extends({}, cellStyles$1, {
|
|
4374
|
-
width: cell.column.totalWidth + "px"
|
|
4375
|
-
})
|
|
4376
|
-
}];
|
|
4377
|
-
});
|
|
4378
|
-
hooks.getFooterProps.push(function (props, _ref4) {
|
|
4379
|
-
var column = _ref4.column;
|
|
4380
|
-
return [props, {
|
|
4381
|
-
style: _extends({}, cellStyles$1, {
|
|
4382
|
-
width: column.totalWidth + "px"
|
|
4383
|
-
})
|
|
4384
|
-
}];
|
|
4385
|
-
});
|
|
4386
|
-
};
|
|
4387
|
-
useBlockLayout.pluginName = 'useBlockLayout';
|
|
4388
|
-
|
|
4389
|
-
function useFlexLayout(hooks) {
|
|
4390
|
-
hooks.getTableProps.push(getTableProps);
|
|
4391
|
-
hooks.getRowProps.push(getRowStyles$2);
|
|
4392
|
-
hooks.getHeaderGroupProps.push(getRowStyles$2);
|
|
4393
|
-
hooks.getFooterGroupProps.push(getRowStyles$2);
|
|
4394
|
-
hooks.getHeaderProps.push(getHeaderProps);
|
|
4395
|
-
hooks.getCellProps.push(getCellProps);
|
|
4396
|
-
hooks.getFooterProps.push(getFooterProps);
|
|
4397
|
-
}
|
|
4398
|
-
useFlexLayout.pluginName = 'useFlexLayout';
|
|
4399
|
-
|
|
4400
|
-
var getTableProps = function getTableProps(props, _ref) {
|
|
4401
|
-
var instance = _ref.instance;
|
|
4402
|
-
return [props, {
|
|
4403
|
-
style: {
|
|
4404
|
-
minWidth: instance.totalColumnsMinWidth + "px"
|
|
4405
|
-
}
|
|
4406
|
-
}];
|
|
4407
|
-
};
|
|
4408
|
-
|
|
4409
|
-
var getRowStyles$2 = function getRowStyles(props, _ref2) {
|
|
4410
|
-
var instance = _ref2.instance;
|
|
4411
|
-
return [props, {
|
|
4412
|
-
style: {
|
|
4413
|
-
display: 'flex',
|
|
4414
|
-
flex: '1 0 auto',
|
|
4415
|
-
minWidth: instance.totalColumnsMinWidth + "px"
|
|
4416
|
-
}
|
|
4417
|
-
}];
|
|
4418
|
-
};
|
|
4419
|
-
|
|
4420
|
-
var getHeaderProps = function getHeaderProps(props, _ref3) {
|
|
4421
|
-
var column = _ref3.column;
|
|
4422
|
-
return [props, {
|
|
4423
|
-
style: {
|
|
4424
|
-
boxSizing: 'border-box',
|
|
4425
|
-
flex: column.totalFlexWidth ? column.totalFlexWidth + " 0 auto" : undefined,
|
|
4426
|
-
minWidth: column.totalMinWidth + "px",
|
|
4427
|
-
width: column.totalWidth + "px"
|
|
4428
|
-
}
|
|
4429
|
-
}];
|
|
4430
|
-
};
|
|
4431
|
-
|
|
4432
|
-
var getCellProps = function getCellProps(props, _ref4) {
|
|
4433
|
-
var cell = _ref4.cell;
|
|
4434
|
-
return [props, {
|
|
4435
|
-
style: {
|
|
4436
|
-
boxSizing: 'border-box',
|
|
4437
|
-
flex: cell.column.totalFlexWidth + " 0 auto",
|
|
4438
|
-
minWidth: cell.column.totalMinWidth + "px",
|
|
4439
|
-
width: cell.column.totalWidth + "px"
|
|
4440
|
-
}
|
|
4441
|
-
}];
|
|
4442
|
-
};
|
|
4443
|
-
|
|
4444
|
-
var getFooterProps = function getFooterProps(props, _ref5) {
|
|
4445
|
-
var column = _ref5.column;
|
|
4446
|
-
return [props, {
|
|
4447
|
-
style: {
|
|
4448
|
-
boxSizing: 'border-box',
|
|
4449
|
-
flex: column.totalFlexWidth ? column.totalFlexWidth + " 0 auto" : undefined,
|
|
4450
|
-
minWidth: column.totalMinWidth + "px",
|
|
4451
|
-
width: column.totalWidth + "px"
|
|
4452
|
-
}
|
|
4453
|
-
}];
|
|
4454
|
-
};
|
|
4455
|
-
|
|
4456
|
-
function useGridLayout(hooks) {
|
|
4457
|
-
hooks.stateReducers.push(reducer$c);
|
|
4458
|
-
hooks.getTableProps.push(getTableProps$1);
|
|
4459
|
-
hooks.getHeaderProps.push(getHeaderProps$1);
|
|
4460
|
-
}
|
|
4461
|
-
useGridLayout.pluginName = 'useGridLayout';
|
|
4462
|
-
|
|
4463
|
-
var getTableProps$1 = function getTableProps(props, _ref) {
|
|
4464
|
-
var instance = _ref.instance;
|
|
4465
|
-
return [props, {
|
|
4466
|
-
style: {
|
|
4467
|
-
display: "grid",
|
|
4468
|
-
gridTemplateColumns: instance.state.gridLayout.columnWidths.map(function (w) {
|
|
4469
|
-
return w;
|
|
4470
|
-
}).join(" ")
|
|
4471
|
-
}
|
|
4472
|
-
}];
|
|
4473
|
-
};
|
|
4474
|
-
|
|
4475
|
-
var getHeaderProps$1 = function getHeaderProps(props, _ref2) {
|
|
4476
|
-
var column = _ref2.column;
|
|
4477
|
-
return [props, {
|
|
4478
|
-
id: "header-cell-" + column.id,
|
|
4479
|
-
style: {
|
|
4480
|
-
position: "sticky" //enables a scroll wrapper to be placed around the table and have sticky headers
|
|
4481
|
-
|
|
4482
|
-
}
|
|
4483
|
-
}];
|
|
4484
|
-
};
|
|
4485
|
-
|
|
4486
|
-
function reducer$c(state, action, previousState, instance) {
|
|
4487
|
-
if (action.type === "init") {
|
|
4488
|
-
return _extends({
|
|
4489
|
-
gridLayout: {
|
|
4490
|
-
columnWidths: instance.columns.map(function () {
|
|
4491
|
-
return "auto";
|
|
4492
|
-
})
|
|
4493
|
-
}
|
|
4494
|
-
}, state);
|
|
4495
|
-
}
|
|
4496
|
-
|
|
4497
|
-
if (action.type === "columnStartResizing") {
|
|
4498
|
-
var columnId = action.columnId;
|
|
4499
|
-
var columnIndex = instance.visibleColumns.findIndex(function (col) {
|
|
4500
|
-
return col.id === columnId;
|
|
4501
|
-
});
|
|
4502
|
-
var elWidth = getElementWidth(columnId);
|
|
4503
|
-
|
|
4504
|
-
if (elWidth !== undefined) {
|
|
4505
|
-
return _extends({}, state, {
|
|
4506
|
-
gridLayout: _extends({}, state.gridLayout, {
|
|
4507
|
-
columnId: columnId,
|
|
4508
|
-
columnIndex: columnIndex,
|
|
4509
|
-
startingWidth: elWidth
|
|
4510
|
-
})
|
|
4511
|
-
});
|
|
4512
|
-
} else {
|
|
4513
|
-
return state;
|
|
4514
|
-
}
|
|
4515
|
-
}
|
|
4516
|
-
|
|
4517
|
-
if (action.type === "columnResizing") {
|
|
4518
|
-
var _state$gridLayout = state.gridLayout,
|
|
4519
|
-
_columnIndex = _state$gridLayout.columnIndex,
|
|
4520
|
-
startingWidth = _state$gridLayout.startingWidth,
|
|
4521
|
-
columnWidths = _state$gridLayout.columnWidths;
|
|
4522
|
-
var change = state.columnResizing.startX - action.clientX;
|
|
4523
|
-
var newWidth = startingWidth - change;
|
|
4524
|
-
var columnWidthsCopy = [].concat(columnWidths);
|
|
4525
|
-
columnWidthsCopy[_columnIndex] = newWidth + "px";
|
|
4526
|
-
return _extends({}, state, {
|
|
4527
|
-
gridLayout: _extends({}, state.gridLayout, {
|
|
4528
|
-
columnWidths: columnWidthsCopy
|
|
4529
|
-
})
|
|
4530
|
-
});
|
|
4531
|
-
}
|
|
4532
|
-
}
|
|
4533
|
-
|
|
4534
|
-
function getElementWidth(columnId) {
|
|
4535
|
-
var _document$getElementB;
|
|
4536
|
-
|
|
4537
|
-
var width = (_document$getElementB = document.getElementById("header-cell-" + columnId)) == null ? void 0 : _document$getElementB.offsetWidth;
|
|
4538
|
-
|
|
4539
|
-
if (width !== undefined) {
|
|
4540
|
-
return width;
|
|
4541
|
-
}
|
|
4542
|
-
}
|
|
4543
|
-
|
|
4544
|
-
exports._UNSTABLE_usePivotColumns = _UNSTABLE_usePivotColumns;
|
|
4545
|
-
exports.actions = actions;
|
|
4546
|
-
exports.defaultColumn = defaultColumn;
|
|
4547
|
-
exports.defaultGroupByFn = defaultGroupByFn;
|
|
4548
|
-
exports.defaultOrderByFn = defaultOrderByFn;
|
|
4549
|
-
exports.defaultRenderer = defaultRenderer;
|
|
4550
|
-
exports.emptyRenderer = emptyRenderer;
|
|
4551
|
-
exports.ensurePluginOrder = ensurePluginOrder;
|
|
4552
|
-
exports.flexRender = flexRender;
|
|
4553
|
-
exports.functionalUpdate = functionalUpdate;
|
|
4554
|
-
exports.loopHooks = loopHooks;
|
|
4555
|
-
exports.makePropGetter = makePropGetter;
|
|
4556
|
-
exports.makeRenderer = makeRenderer;
|
|
4557
|
-
exports.reduceHooks = reduceHooks;
|
|
4558
|
-
exports.safeUseLayoutEffect = safeUseLayoutEffect;
|
|
4559
|
-
exports.useAbsoluteLayout = useAbsoluteLayout;
|
|
4560
|
-
exports.useAsyncDebounce = useAsyncDebounce;
|
|
4561
|
-
exports.useBlockLayout = useBlockLayout;
|
|
4562
|
-
exports.useColumnOrder = useColumnOrder;
|
|
4563
|
-
exports.useExpanded = useExpanded;
|
|
4564
|
-
exports.useFilters = useFilters;
|
|
4565
|
-
exports.useFlexLayout = useFlexLayout;
|
|
4566
|
-
exports.useGetLatest = useGetLatest;
|
|
4567
|
-
exports.useGlobalFilter = useGlobalFilter;
|
|
4568
|
-
exports.useGridLayout = useGridLayout;
|
|
4569
|
-
exports.useGroupBy = useGroupBy;
|
|
4570
|
-
exports.useMountedLayoutEffect = useMountedLayoutEffect;
|
|
4571
|
-
exports.usePagination = usePagination;
|
|
4572
|
-
exports.useResizeColumns = useResizeColumns;
|
|
4573
|
-
exports.useRowSelect = useRowSelect;
|
|
4574
|
-
exports.useRowState = useRowState;
|
|
4575
|
-
exports.useSortBy = useSortBy;
|
|
4576
|
-
exports.useTable = useTable;
|
|
4577
|
-
|
|
4578
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4579
|
-
|
|
4580
|
-
})));
|
|
4581
|
-
|
|
4582
|
-
}(reactTable_development, reactTable_development.exports));
|
|
4583
|
-
|
|
4584
|
-
if (process.env.NODE_ENV === 'production') {
|
|
4585
|
-
reactTable.exports = reactTable_production_min.exports;
|
|
4586
|
-
} else {
|
|
4587
|
-
reactTable.exports = reactTable_development.exports;
|
|
4588
|
-
}
|
|
4589
|
-
|
|
4590
|
-
export { reactTable as r };
|
|
4591
|
-
//# sourceMappingURL=react-table-de7bf68c.js.map
|