react-material-ui-datatable
Version:
Material UI Datatable in React way
2 lines (1 loc) • 28.4 kB
JavaScript
function _interopDefault(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),React__default=_interopDefault(React),effectorReact=require("effector-react"),PropTypes=_interopDefault(require("prop-types")),core=require("@material-ui/core"),DeleteIcon=_interopDefault(require("@material-ui/icons/Delete")),effector=require("effector"),get=_interopDefault(require("lodash.get")),orderBy=_interopDefault(require("lodash.orderby")),Paper=_interopDefault(require("@material-ui/core/Paper")),Table=_interopDefault(require("@material-ui/core/Table")),Checkbox=_interopDefault(require("@material-ui/core/Checkbox")),withStyles=_interopDefault(require("@material-ui/core/styles/withStyles")),TableBody=_interopDefault(require("@material-ui/core/TableBody")),TableCell=_interopDefault(require("@material-ui/core/TableCell")),TableRow=_interopDefault(require("@material-ui/core/TableRow")),TablePagination=_interopDefault(require("@material-ui/core/TablePagination")),TableHead=_interopDefault(require("@material-ui/core/TableHead")),TableSortLabel=_interopDefault(require("@material-ui/core/TableSortLabel")),Grid=_interopDefault(require("@material-ui/core/Grid")),Toolbar=_interopDefault(require("@material-ui/core/Toolbar")),IconButton=_interopDefault(require("@material-ui/core/IconButton")),Tooltip=_interopDefault(require("@material-ui/core/Tooltip")),SearchIcon=_interopDefault(require("@material-ui/icons/Search")),FilterListIcon=_interopDefault(require("@material-ui/icons/FilterList")),Button=_interopDefault(require("@material-ui/core/Button")),Popover=_interopDefault(require("@material-ui/core/Popover")),Typography=_interopDefault(require("@material-ui/core/Typography")),styles$3=require("@material-ui/core/styles"),CloseIcon=_interopDefault(require("@material-ui/icons/Close")),Downshift=_interopDefault(require("downshift")),reactWindow=require("react-window"),ReactDOM=_interopDefault(require("react-dom")),TextField=_interopDefault(require("@material-ui/core/TextField")),Chip=_interopDefault(require("@material-ui/core/Chip")),colorManipulator=require("@material-ui/core/styles/colorManipulator");function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _defineProperty(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function _extends(){return(_extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)Object.prototype.hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e}).apply(this,arguments)}function _objectSpread(t){for(var e=1;e<arguments.length;e++){var a=null!=arguments[e]?arguments[e]:{},r=Object.keys(a);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(a).filter(function(e){return Object.getOwnPropertyDescriptor(a,e).enumerable}))),r.forEach(function(e){_defineProperty(t,e,a[e])})}return t}function _slicedToArray(e,t){return _arrayWithHoles(e)||_iterableToArrayLimit(e,t)||_nonIterableRest()}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_nonIterableSpread()}function _arrayWithoutHoles(e){if(Array.isArray(e)){for(var t=0,a=new Array(e.length);t<e.length;t++)a[t]=e[t];return a}}function _arrayWithHoles(e){if(Array.isArray(e))return e}function _iterableToArray(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}function _iterableToArrayLimit(e,t){var a=[],r=!0,n=!1,l=void 0;try{for(var o,c=e[Symbol.iterator]();!(r=(o=c.next()).done)&&(a.push(o.value),!t||a.length!==t);r=!0);}catch(e){n=!0,l=e}finally{try{r||null==c.return||c.return()}finally{if(n)throw l}}return a}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}var defaultToolbarSelectActions=function(e){var t=e.selectedData,a=e.handleDelete;return React__default.createElement(core.IconButton,{onClick:function(){a(t)}},React__default.createElement(DeleteIcon,null))},createColumns=function(e){return{$columns:effector.createStore(e)}},cache=new Map,hasCachedResult=function(e,t,r){return e.every(function(e,t){var a=r.has(e);return a&&(r=r.get(e)),a})},getCachedResult=function(e,t,a){return e.reduce(function(e,t){return e.get(t)},a)},setCachedResult=function(e,t,a){var l=t.apply(null,e);return e.reduce(function(e,t,a,r){return e.has(t)?e.get(t):(n=a===r.length-1?l:new Map,e.set(t,n),n);var n},a),l},fillArgsByFnLength=function(a,e){return new Array(e).fill(void 0).map(function(e,t){return a[t]})},cachedResult=function(e,t,a){return hasCachedResult(e,t,a)?getCachedResult(e,t,a):setCachedResult(e,t,a)},memoizeByArgs=function(n){var l=cache.get(n)||cache.set(n,new Map)&&cache.get(n);return function(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];var r=fillArgsByFnLength(t,n.length);return cachedResult(r,n,l)}},pipe=function(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];return function(e){return t.reduce(function(e,t){return t(e)},e)}},sort=memoizeByArgs(function(t){return memoizeByArgs(function(e){return orderBy(e,t.map(function(e){return e.columnName}),t.map(function(e){return e.direction.toLowerCase()}))})}),search=memoizeByArgs(function(a,r){return memoizeByArgs(function(e){return e.filter(function(t){return r.some(function(e){return!!e.searchable&&(get(t,e.name)?get(t,e.name).toString().includes(a):!a)})})})}),filter=memoizeByArgs(function(a,r){return memoizeByArgs(function(e){return e.filter(function(t){return r.every(function(e){return!e.filterable||(!a[e.name]||get(t,e.name)===a[e.name])})})})}),paginate=memoizeByArgs(function(t,a){return memoizeByArgs(function(e){return e.slice(t*a,t*a+a)})}),convertDataToFilterLists=memoizeByArgs(function(e,t){return t.reduce(function(n,l){return l.filterable&&(n[l.name]={list:[],label:l.label},e.forEach(function(e){var t=get(e,l.name),a=["string","number"].includes(_typeof(t)),r=n[l.name].list.includes(t);return a&&!r&&n[l.name].list.push(t)}),n[l.name].list.sort()),n},{})}),completeColumnsWithOptions=function(e){return e.map(function(e){return _objectSpread({sortable:!0,filterable:!0,searchable:!0},e)})},createComputedData=function(e,t,a,r,n){return{$computedData:effector.combine(e,t,a,r,n,function(e,t,a,r,n){return pipe(sort(a),search(r,t),filter(n,t))(e)})}},createData=function(e){var t=effector.createStore(e),a=effector.createEvent();return t.on(a,function(e,t){return e.filter(function(e){return!t.includes(e)})}),{$data:t,handleDelete:a}},createDisplayData=function(e,t,a){return{$displayData:effector.combine(e,t,a,function(e,t,a){return paginate(t,a)(e)})}},createFilterLists=function(e,t){return{$filterLists:effector.combine(e,t,convertDataToFilterLists)}},createFilterValues=function(e){var t=effector.createStore(e),a=effector.createEvent(),r=effector.createEvent(),n=effector.createEvent();return t.on(a,function(e,t){return _objectSpread({},e,_defineProperty({},t.columnName,t.value))}).on(r,function(a,e){var r=e.columnName;return Object.keys(a).reduce(function(e,t){return t!==r&&(e[t]=a[t]),e},{})}).on(n,function(e){return{}}),{$filterValues:t,addFilter:a,removeFilter:r,resetFilter:n}},createPage=function(e){var t=effector.createStore(e),a=effector.createEvent();return t.on(a,function(e,t){return t}),{$page:t,changePage:a}},createPerPage=function(e){var t=effector.createStore(e),a=effector.createEvent();return t.on(a,function(e,t){return t}),{$perPage:t,changePerPage:a}},createSearchValue=function(e,t){var a=effector.createStore(e),r=effector.createEvent();return a.on(r,function(e,t){return t}).on(t,function(){return""}),{$searchValue:a,handleSearchValue:r}},createSelectedData=function(e,t,a){var r=effector.createStore(e),n=effector.createEvent(),l=effector.createEvent(),o=effector.createEvent();return r.on(o,function(e,t){return t}).on(n,function(e,t){var a=_toConsumableArray(e),r=a.findIndex(function(e){return e===t});return-1!==r?a.splice(r,1):a.push(t),a}).on(effector.sample(t,l),function(e,t){return e.length?[]:_toConsumableArray(t)}).on(a,function(e,t){return e.filter(function(e){return!t.includes(e)})}),{$selectedData:r,toggleSelectRow:n,toggleSelectAll:l,handleSelect:o}},createShowSearchBar=function(e){var t=effector.createStore(e),a=effector.createEvent();return t.on(a,function(e){return!e}),{$showSearchBar:t,toggleSearchBar:a}},createSort=function(e){var t=effector.createStore(e),a=effector.createEvent();return t.on(a,function(e,t){var a=t.columnName,r=t.direction,n=void 0===r?"ASC":r,l=t.withMultiSorting,o=void 0!==l&&l,c=e.find(function(e){return e.columnName===a}),i={columnName:a,direction:c?"ASC"===c.direction?"DESC":"ASC":n};if(o){var u=e.filter(function(e){return e.columnName!==a});return u.push(i),u}return[i]}),{$sort:t,handleSort:a}},createModel=function(e){var t=e.data,a=void 0===t?[]:t,r=e.columns,n=void 0===r?[]:r,l=e.showSearchBar,o=void 0!==l&&l,c=e.searchValue,i=void 0===c?"":c,u=e.sort,s=void 0===u?[]:u,f=e.page,p=void 0===f?0:f,d=e.perPage,m=void 0===d?5:d,h=e.selectedData,g=void 0===h?[]:h,b=e.filterValues,_=void 0===b?{}:b,y=createData(a),R=y.$data,S=y.handleDelete,D=createColumns(n).$columns,T=createSort(s),P=T.$sort,v=T.handleSort,I=createShowSearchBar(o),E=I.$showSearchBar,M=I.toggleSearchBar,w=createSearchValue(i,M),C=w.$searchValue,A=w.handleSearchValue,x=createFilterValues(_),U=x.$filterValues,B=x.addFilter,V=x.removeFilter,F=x.resetFilter,N=createPage(p),q=N.$page,O=N.changePage,$=createPerPage(m),L=$.$perPage,j=$.changePerPage,k=createComputedData(R,D,P,C,U).$computedData,z=createFilterLists(R,D).$filterLists,W=createDisplayData(k,q,L).$displayData,G=createSelectedData(g,k,S),H=G.$selectedData,Z=G.toggleSelectRow,X=G.toggleSelectAll,K=G.handleSelect,J=effector.createStoreObject({data:R,columns:D,sort:P,filterValues:U,searchValue:C,showSearchBar:E,selectedData:H,page:q,perPage:L,computedData:k,filterLists:z,displayData:W});return{$store:J,actions:{toggleSelectRow:Z,toggleSelectAll:X,toggleSearchBar:M,handleSearchValue:A,handleSort:v,addFilter:B,removeFilter:V,resetFilter:F,changePage:O,changePerPage:j,handleSelect:K,handleDelete:S},subscribe:function(e){var s,f,t=(s=e,f=J,function(u){return function(e){var t=f.getState(),a=t.searchValue,r=t.showSearchBar,n=t.sort,l=t.filterValues,o=t.page,c=t.perPage,i=t.selectedData;s({name:u,value:e,state:{searchValue:a,showSearchBar:r,sort:n,filterValues:l,page:o,perPage:c,selectedData:i}})}}),a=E.watch(t("showSearchBar")),r=q.watch(t("page")),n=L.watch(t("perPage")),l=H.watch(t("selectedData")),o=C.watch(t("searchValue")),c=P.watch(t("sort")),i=U.watch(t("filterValues"));return function(){a(),r(),n(),l(),o(),c(),i()}}}},mapDatatableProps=function(e){return{title:e.title,columns:e.columns,customCell:e.customCell,showSearchBar:e.showSearchBar,searchValue:e.searchValue,sort:e.sort,filterValues:e.filterValues,selectedData:e.selectedData,toolbarSelectActions:e.toolbarSelectActions,toolbarActions:e.toolbarActions,rowActions:e.rowActions,page:e.page,perPage:e.perPage,perPageOption:e.perPageOption,selectable:e.selectable,filterable:e.filterable,searchable:e.searchable,localization:e.localization,customNoMatches:e.customNoMatches}},mapDatatableCalculatedProps=function(e){return{computedData:e.computedData,filterLists:e.filterLists,displayData:e.displayData}},mapDatatableHandlers=function(e){return{toggleSelectRow:e.toggleSelectRow,toggleSelectAll:e.toggleSelectAll,toggleSearchBar:e.toggleSearchBar,handleSearchValue:e.handleSearchValue,handleSort:e.handleSort,addFilter:e.addFilter,removeFilter:e.removeFilter,resetFilter:e.resetFilter,changePage:e.changePage,changePerPage:e.changePerPage,handleSelect:e.handleSelect,handleDelete:e.handleDelete}},ReactMUIDatatableContext=React.createContext(),ReactMUIDatatableProvider=function(e){var t=React.useMemo(function(){return createModel({data:e.data,columns:completeColumnsWithOptions(e.columns),sort:e.sort,showSearchBar:e.showSearchBar,filterValues:e.filterValues,searchValue:e.searchValue,selectedData:e.selectedData,page:e.page,perPage:e.perPage})},[]),a=t.$store,r=t.actions,n=t.subscribe,l=effectorReact.useStore(a);return React.useEffect(function(){return n(e.onStateChanged)},[]),React__default.createElement(ReactMUIDatatableContext.Provider,{value:_objectSpread({},mapDatatableProps(_objectSpread({},e,l)),mapDatatableCalculatedProps(_objectSpread({},l)),mapDatatableHandlers(_objectSpread({},r)))},e.children)};ReactMUIDatatableProvider.propTypes={data:PropTypes.array.isRequired,columns:PropTypes.array.isRequired,customCell:PropTypes.func,title:PropTypes.string.isRequired,showSearchBar:PropTypes.bool,searchValue:PropTypes.string,sort:PropTypes.arrayOf(PropTypes.shape({columnName:PropTypes.string,direction:PropTypes.oneOf.DESC})),toolbarSelectActions:PropTypes.func,toolbarActions:PropTypes.func,rowActions:PropTypes.func,page:PropTypes.number,perPage:PropTypes.number,perPageOption:PropTypes.arrayOf(PropTypes.number),selectedData:PropTypes.arrayOf(PropTypes.object),filterValues:PropTypes.object,selectable:PropTypes.bool,filterable:PropTypes.bool,searchable:PropTypes.bool,localization:PropTypes.shape({toolbar:PropTypes.shape({searchAction:PropTypes.string,filterAction:PropTypes.string,closeSearch:PropTypes.string}),filterLists:PropTypes.shape({title:PropTypes.string,allOption:PropTypes.string,reset:PropTypes.string}),toolbarSelect:PropTypes.shape({selectedData:PropTypes.func}),pagination:PropTypes.shape({rowsPerPage:PropTypes.string,displayedRows:PropTypes.func})}),onStateChanged:PropTypes.func},ReactMUIDatatableProvider.defaultProps={data:[],columns:[],title:"",showSearchBar:!1,searchValue:"",sort:[],toolbarSelectActions:defaultToolbarSelectActions,page:0,perPage:5,perPageOption:[5,10,15],selectedData:[],filterValues:{},selectable:!0,filterable:!0,searchable:!0,localization:{toolbar:{searchAction:"Search",filterAction:"Filters",closeSearch:"Close search"},filterLists:{title:"Filter",allOption:"All",reset:"Reset",noMatchesText:"No matches"},toolbarSelect:{selectedData:function(e){return"".concat(e," row(s) selected")}},pagination:{rowsPerPage:"Rows per page",displayedRows:function(e){var t=e.from,a=e.to,r=e.count;return"".concat(t,"-").concat(a," of ").concat(r)}},body:{noMatchesText:"No matches"}},onStateChanged:function(){}};var ReactDatatableBody=function(e){var t=React.useContext(ReactMUIDatatableContext),n=t.displayData,l=t.columns,o=t.customCell,c=t.selectable,i=t.toggleSelectRow,u=t.selectedData,s=t.rowActions,a=t.localization,r=t.customNoMatches,f=Number(Boolean(c))+Number(Boolean(s));return React__default.createElement(TableBody,null,0<n.length?n.map(function(a,r){return React__default.createElement(TableRow,{key:r},c&&React__default.createElement(TableCell,{padding:"checkbox"},React__default.createElement(Checkbox,{checked:u.includes(a),onChange:function(){return i(a)}})),l.map(function(e,t){return React__default.createElement(TableCell,{key:t},o?o({value:get(n[r],e.name),column:e,row:a}):get(n[r],e.name))}),Boolean(s)&&React__default.createElement(TableCell,null,s({row:a,rowIndex:r})))}):React__default.createElement(TableCell,{colSpan:l.length+f,className:e.classes.cellNoMatches},r?r(a.body.noMatchesText):React__default.createElement(core.Typography,{variant:"h6",className:e.classes.textNoMatches},a.body.noMatchesText)))},ReactMUIDatatableBody=withStyles(function(e){return{cellNoMatches:{padding:e.spacing.unit},textNoMatches:{textAlign:"center"}}})(ReactDatatableBody),ReactMUIDatatableFooter=function(e){var t=React.useContext(ReactMUIDatatableContext),a=t.page,r=t.perPage,n=t.perPageOption,l=t.computedData,o=t.changePage,c=t.changePerPage,i=t.columns,u=t.selectable,s=t.localization,f=t.rowActions,p=Number(Boolean(u))+Number(Boolean(f));return React__default.createElement(TablePagination,{rowsPerPageOptions:n,colSpan:i.length+p,count:l.length,rowsPerPage:r,page:a,onChangePage:function(e,t){return o(t)},onChangeRowsPerPage:function(e){return c(Number(e.target.value))},labelDisplayedRows:s.pagination.displayedRows,labelRowsPerPage:s.pagination.rowsPerPage,component:"div"})},ReactMUIDatatableHeader=function(r){var e=React.useContext(ReactMUIDatatableContext),t=e.columns,n=e.sort,l=e.handleSort,a=e.selectable,o=e.selectedData,c=e.computedData,i=e.toggleSelectAll,u=e.rowActions;return React__default.createElement(TableHead,null,React__default.createElement(TableRow,null,a&&React__default.createElement(TableCell,{padding:"checkbox"},React__default.createElement(Checkbox,{indeterminate:0!==o.length&&o.length<c.length,checked:o.length===c.length,onChange:i})),t.map(function(t,e){var a=n.find(function(e){return e.columnName===t.name})||{};return React__default.createElement(TableCell,{key:e,className:r.classes.head,onClick:function(e){return t.sortable&&l({columnName:t.name,withMultiSorting:e.shiftKey})}},t.sortable&&t.name===a.columnName&&React__default.createElement(TableSortLabel,{active:t.name===a.columnName,direction:a.direction.toLowerCase()}),t.label)}),Boolean(u)&&React__default.createElement(TableCell,{className:r.classes.head})))},ReactMUIDatatableHeader$1=withStyles(function(){return{head:{cursor:"pointer"}}})(ReactMUIDatatableHeader);function getSuggestions(e,t){var a=e.toString().trim().toLowerCase(),r=a.length,n=0;return 0===r?t:t.filter(function(e){e=e.toString();var t=n<5&&e.toString().slice(0,r).toLowerCase()===a;return t&&(n+=1),t})}var NoMatches=function(e){return React__default.createElement("div",{className:e.classes.noMatchesContainer},React__default.createElement(core.Typography,{variant:"body1"},e.text))};NoMatches.propTypes={classes:PropTypes.object.isRequired,inputValue:PropTypes.string.isRequired,text:PropTypes.string.isRequired};var NoMatches$1=core.withStyles(function(e){return{noMatchesContainer:{padding:15}}})(NoMatches),Suggestion=function(e){var t=e.suggestion,a=e.index,r=e.itemProps,n=e.highlightedIndex,l=e.selectedItem,o=e.style,c=n===a,i=(l=l&&l.toString()||"").includes(t),u=React__default.createRef();return React__default.useLayoutEffect(function(){for(var e=1,t=ReactDOM.findDOMNode(u.current).querySelector("span");48<t.clientHeight&&0<e;)e-=.1,t.style.fontSize="".concat(e,"rem")},[]),React__default.createElement(core.ListItem,_extends({},r,{style:o,selected:c,component:"div"}),React__default.createElement(core.ListItemText,{primaryTypographyProps:{style:{fontWeight:i?600:400}},primary:t,ref:u}))};Suggestion.propTypes={style:PropTypes.object,highlightedIndex:PropTypes.number,index:PropTypes.number,itemProps:PropTypes.object,selectedItem:PropTypes.oneOfType([PropTypes.number,PropTypes.string]),suggestion:PropTypes.oneOfType([PropTypes.number,PropTypes.string]).isRequired};var ROW_SIZE=46,MAX_MENU_SIZE=460,MUIAutocomplete=React__default.memo(function(e){var f=e.classes,p=e.listItems,d=e.label,m=e.placeholder,h=e.noMatchesText,g=React.useMemo(function(){return React__default.createRef()},[]),t=React.useMemo(function(){return pipe(function(e){return e||""},e.onChange)},[]);return React__default.createElement(Downshift,{key:"".concat(e.initialInputValue,"-").concat(e.initialSelectedItem),initialInputValue:e.initialInputValue.toString(),initialSelectedItem:e.initialSelectedItem.toString(),onChange:t,scrollIntoView:function(){}},function(e){var t=e.openMenu,a=e.getInputProps,r=e.getItemProps,n=e.isOpen,l=e.inputValue,o=e.selectedItem,c=e.highlightedIndex,i=e.clearSelection,u=(e.closeMenu,getSuggestions(l,p)),s=u.map(function(e){return r({item:e})});return React__default.createElement("div",{className:f.container},React__default.createElement(core.TextField,{InputProps:_objectSpread({},a({placeholder:m}),{endAdornment:React__default.createElement(core.InputAdornment,{position:"end"},React__default.createElement(core.IconButton,{onClick:i},React__default.createElement(CloseIcon,null))),classes:{input:f.inputInput},inputRef:g}),InputLabelProps:{shrink:!0},label:d,onClick:t,fullWidth:!0}),React__default.createElement(core.Popper,{open:n,anchorEl:g.current,modifiers:{flip:{enabled:!1}},style:{zIndex:1400}},React__default.createElement(core.Paper,{square:!0,style:{zIndex:9999,marginTop:8,width:g.current?g.current.clientWidth:null,maxHeight:MAX_MENU_SIZE,minWidth:150,overflow:"auto"}},u.length?React__default.createElement(reactWindow.FixedSizeList,{height:u.length*ROW_SIZE>=MAX_MENU_SIZE?MAX_MENU_SIZE:u.length*ROW_SIZE,itemSize:ROW_SIZE,itemCount:u.length},function(e){var t=e.index,a=e.style,r=u[t];return React__default.createElement(Suggestion,{key:r,suggestion:r,index:t,itemProps:s[t],highlightedIndex:c,selectedItem:o,style:a})}):React__default.createElement(NoMatches$1,{inputValue:l,text:h}))))})});MUIAutocomplete.defaultProps={initialInputValue:"",initialSelectedItem:"",placeholder:"All",noMatchesText:"No matches"},MUIAutocomplete.propTypes={classes:PropTypes.object.isRequired,listItems:PropTypes.array.isRequired,onChange:PropTypes.func.isRequired,initialInputValue:PropTypes.oneOfType([PropTypes.number,PropTypes.string]),initialSelectedItem:PropTypes.oneOfType([PropTypes.number,PropTypes.string]),label:PropTypes.string};var styles=function(e){return{container:{flexGrow:1,position:"relative"},paper:{marginTop:e.spacing.unit,maxHeight:MAX_MENU_SIZE,overflow:"auto"},inputInput:{width:"100%",flexGrow:1,"&::-ms-clear":{display:"none"}}}},MUIAutocomplete$1=styles$3.withStyles(styles)(MUIAutocomplete),styles$1=function(e){return{container:{padding:2*e.spacing.unit,maxWidth:600,minWidth:400}}},ReactMUIDatatableToolbarFilterPopover=function(e){var t=React.useContext(ReactMUIDatatableContext),l=t.filterLists,o=t.filterValues,c=t.addFilter,a=t.resetFilter,i=(t.columns,t.localization),u=Object.keys(l);return React__default.createElement(Popover,{open:Boolean(e.anchorEl),anchorEl:e.anchorEl,onClose:function(){e.updateAnchorEl(null)},anchorOrigin:{vertical:"bottom",horizontal:"center"},transformOrigin:{vertical:"top",horizontal:"center"}},React__default.createElement("div",{className:e.classes.container},React__default.createElement(Grid,{container:!0,spacing:24},React__default.createElement(Grid,{item:!0,xs:12},React__default.createElement(Typography,{variant:"h6"},i.filterLists.title)),u.map(function(t,e){var a=u.length-1===e,r=u.length%2!=0,n=a&&r;return React__default.createElement(Grid,{item:!0,xs:n?12:6,key:e},React__default.createElement(MUIAutocomplete$1,{listItems:l[t].list,label:l[t].label,initialInputValue:o[t],initialSelectedItem:o[t],onChange:function(e){return c({columnName:t,value:e})},placeholder:i.filterLists.allOption,noMatchesText:i.filterLists.noMatchesText}))}),React__default.createElement(Grid,{item:!0,xs:12},React__default.createElement(Button,{color:"primary",onClick:a,fullWidth:!0},React__default.createElement(Typography,{variant:"subtitle1"},i.filterLists.reset))))))},ReactMUIDatatableToolbarFilterPopover$1=withStyles(styles$1)(ReactMUIDatatableToolbarFilterPopover),ReactMUIDatatableToolbarActionsFilterAction=function(e){var t=React.useContext(ReactMUIDatatableContext).localization,a=_slicedToArray(React.useState(null),2),r=a[0],n=a[1];return React__default.createElement(React__default.Fragment,null,React__default.createElement(Tooltip,{title:t.toolbar.filterAction},React__default.createElement(IconButton,{"aria-label":t.toolbar.filterAction,onClick:function(e){return n(e.currentTarget)}},React__default.createElement(FilterListIcon,null))),React__default.createElement(ReactMUIDatatableToolbarFilterPopover$1,{updateAnchorEl:n,anchorEl:r}))},ReactMUIDatatableToolbarActions=function(e){var t=React.useContext(ReactMUIDatatableContext),a=t.toggleSearchBar,r=t.localization,n=t.searchable,l=t.filterable,o=t.toolbarActions,c=t.data,i=t.computedData,u=t.displayData;return React__default.createElement(Grid,{item:!0},n&&React__default.createElement(Tooltip,{title:r.toolbar.searchAction},React__default.createElement(IconButton,{"aria-label":r.toolbar.searchAction,onClick:a},React__default.createElement(SearchIcon,null))),l&&React__default.createElement(ReactMUIDatatableToolbarActionsFilterAction,null),Boolean(o)&&o({data:c,computedData:i,displayData:u}))},ReactMUIDatatableToolbarSearchBar=function(e){var t=React.useContext(ReactMUIDatatableContext),a=t.searchValue,r=t.handleSearchValue,n=t.toggleSearchBar,l=t.localization;return React__default.createElement(React__default.Fragment,null,React__default.createElement(Grid,{item:!0,xs:!0},React__default.createElement(TextField,{value:a,onChange:function(e){return r(e.target.value)},fullWidth:!0})),React__default.createElement(Grid,{item:!0},React__default.createElement(Tooltip,{title:l.toolbar.closeSearch},React__default.createElement(IconButton,{"aria-label":l.toolbar.closeSearch,onClick:n},React__default.createElement(CloseIcon,null)))))},ReactMUIDatatableToolbarTitle=function(){var e=React.useContext(ReactMUIDatatableContext).title;return React__default.createElement(React__default.Fragment,null,React__default.createElement(Grid,{item:!0,style:{alignSelf:"center"}},React__default.createElement(Typography,{variant:"h6"},e)),React__default.createElement(Grid,{item:!0,xs:!0}))},ReactMUIDatatableToolbar=function(e){var t=React.useContext(ReactMUIDatatableContext).showSearchBar;return React__default.createElement(Toolbar,null,React__default.createElement(Grid,{container:!0},t?React__default.createElement(ReactMUIDatatableToolbarSearchBar,null):React__default.createElement(ReactMUIDatatableToolbarTitle,null),React__default.createElement(ReactMUIDatatableToolbarActions,null)))},ReactMUIDatatableToolbarFilterValues=function(e){var t=React.useContext(ReactMUIDatatableContext),a=t.filterValues,r=t.removeFilter;return React__default.createElement(Grid,{container:!0,className:e.classes.root,spacing:8},Object.keys(a).map(function(e,t){return a[e]&&React__default.createElement(Grid,{item:!0,key:t},React__default.createElement(Chip,{label:a[e],onDelete:function(){return r({columnName:e})}}))}))},ReactMUIDatatableToolbarFilterValues$1=withStyles(function(e){return{root:{paddingLeft:2*e.spacing.unit,paddingTop:2*e.spacing.unit}}})(ReactMUIDatatableToolbarFilterValues),ReactMUIDatatableToolbarSelect=function(e){var t=React.useContext(ReactMUIDatatableContext),a=t.handleSelect,r=t.handleDelete,n=t.selectedData,l=t.toolbarSelectActions,o=t.computedData,c=t.localization;return React__default.createElement(Toolbar,{className:"".concat(e.classes.root," ").concat(e.classes.highlight)},React__default.createElement(Grid,{container:!0,justify:"space-between"},React__default.createElement(Grid,{item:!0,className:e.classes.selected},React__default.createElement(Typography,{color:"inherit",variant:"subtitle1"},c.toolbarSelect.selectedData(n.length))),React__default.createElement(Grid,{item:!0},l({data:o,selectedData:n,updateSelectedData:a,handleDelete:r}))))},ReactMUIDatatableToolbarSelect$1=withStyles(function(e){return{root:{borderRadius:"".concat(e.shape.borderRadius,"px ").concat(e.shape.borderRadius,"px 0 0")},highlight:{backgroundColor:colorManipulator.lighten(e.palette.secondary.light,.85),color:e.palette.secondary.main},selected:{alignSelf:"center"}}})(ReactMUIDatatableToolbarSelect),styles$2={tableWrapper:{overflowX:"auto"}},ReactMUIDatatableRoot=function(e){var t=React.useContext(ReactMUIDatatableContext).selectedData;return React__default.createElement(Paper,null,t.length?React__default.createElement(ReactMUIDatatableToolbarSelect$1,null):React__default.createElement(ReactMUIDatatableToolbar,null),React__default.createElement(ReactMUIDatatableToolbarFilterValues$1,null),React__default.createElement("div",{className:e.classes.tableWrapper},React__default.createElement(Table,null,React__default.createElement(ReactMUIDatatableHeader$1,null),React__default.createElement(ReactMUIDatatableBody,null))),React__default.createElement(ReactMUIDatatableFooter,null))},ReactMUIDatatableRoot$1=core.withStyles(styles$2)(ReactMUIDatatableRoot),ReactMUIDatatable=function(e){return React__default.createElement(ReactMUIDatatableProvider,e,React__default.createElement(ReactMUIDatatableRoot$1,null))};exports.ReactMUIDatatable=ReactMUIDatatable,exports.ReactMUIDatatableProvider=ReactMUIDatatableProvider,exports.ReactMUIDatatableRoot=ReactMUIDatatableRoot$1;
;