@artibet/react-mui-components 2.7.6 → 2.7.8
Sign up to get free protection for your applications and to get access to all the features.
- package/core/index.js +1 -1
- package/package.json +1 -1
- package/tables/index.js +1 -1
package/core/index.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
import e from"react";import{Typography as t,Alert as n,Box as r,Button as o,Stack as l,Popover as i,Divider as a,MenuItem as c,ListItemIcon as u,Tooltip as s,IconButton as m,Menu as d}from"@mui/material";import{Done as f,Close as p}from"@mui/icons-material";import"date-fns";import"date-fns/locale";import{ImArrowLeft as v}from"react-icons/im";import g from"@mui/icons-material/Menu";var h=function(n){var r=n.label,o=void 0===r?"":r,l=n.color,i=void 0===l?"white":l,a=n.backgroundColor,c=void 0===a?"#888888":a,u=n.paddingX,s=void 0===u?"10px":u,m=n.paddingY,d=void 0===m?"5px":m,f=n.borderRadius,p=void 0===f?"10px":f,v=n.fontSize,g=void 0===v?"14px":v,h=n.width,E={text:{display:"inline-block",textAlign:"center",backgroundColor:c,paddingX:s,paddingY:d,borderRadius:p,width:void 0===h?"auto":h,color:i,fontSize:g}};return e.createElement(t,{sx:E.text},o)},E=function(t){var r=t.errors,o=t.marginBottom,l=void 0===o?3:o;return 0===Object.keys(r).length?null:e.createElement(e.Fragment,null,Object.keys(r).map((function(t,o){return e.createElement(n,{sx:{marginBottom:l},key:o,severity:"error"},r[t])})))},b=function(t){var n=t.on,r=t.showOn,o=void 0===r||r,l=t.showOff,i=void 0===l||l,a=t.size,c=void 0===a?24:a;return Boolean(n)?o?e.createElement(f,{color:"success",sx:{fontSize:c}}):null:i?e.createElement(p,{color:"error",sx:{fontSize:c}}):null},y=function(t){var n=t.status,r=t.showYes,o=void 0===r||r,l=t.showNo,i=void 0===l||l,a=t.width,c=void 0===a?80:a;return Boolean(n)?o&&e.createElement(h,{label:"ΝΑΙ",backgroundColor:"green",fontSize:"12px",paddingX:"5px",width:c}):i&&e.createElement(h,{label:"ΟΧΙ",backgroundColor:"red",fontSize:"12px",paddingX:"5px",width:c})},x=function(t){var n,o,l=t.amount,i=t.align,a=void 0===i?"left":i;return e.createElement(r,{sx:{textAlign:a}},null==(o=n=l)||""===o?"":new Intl.NumberFormat("el-GR",{style:"currency",currency:"EUR"}).format(n))},w=function(n){var i=n.position,a=void 0===i?"top":i,c=n.label,u=void 0===c?"ΕΠΙΣΤΡΟΦΗ":c;return e.createElement(r,{sx:{marginBottom:1}},"bottom"===a&&e.createElement("hr",null),e.createElement(r,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center"}},e.createElement(o,{color:"warning",onClick:function(){return history.back()}},e.createElement(l,{direction:"row",spacing:1,sx:{alignItems:"center"}},e.createElement(v,null),e.createElement(t,null,u)))),"top"===a&&e.createElement("hr",null))};function C(){return C=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},C.apply(this,arguments)}function k(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,l,i,a=[],c=!0,u=!1;try{if(l=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=l.call(n)).done)&&(a.push(r.value),a.length!==t);c=!0);}catch(e){u=!0,o=e}finally{try{if(!c&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(u)throw o}}return a}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return O(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return O(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function O(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var z=function(n){var i=n.title,a=n.titlePosition,c=void 0===a?"right":a,u=n.showReturnButton,s=void 0===u||u,m=n.returnButtonLabel,d=void 0===m?"ΕΠΙΣΤΡΟΦΗ":m,f=n.onReturn,p=void 0===f?null:f,g=n.titleProps,h=void 0===g?{}:g,E=n.returnButtonProps,b=void 0===E?{}:E,y=e.createElement(o,C({color:"warning",onClick:p?p():function(){return history.back()}},b),e.createElement(l,{direction:"row",spacing:1,sx:{alignItems:"center"}},e.createElement(v,null),e.createElement(t,null,d))),x=e.createElement(t,C({variant:"h6"},h),i),w="space-between";return s||(w="left"===c?"flex-start":"flex-end"),e.createElement(e.Fragment,null,e.createElement(r,{sx:{display:"flex",justifyContent:{justifyContent:w},alignItems:"center"}},"left"===c&&x,s&&y,"right"===c&&x),e.createElement("hr",null))},j=function(t){var n=t.popup,r=t.children,o=t.verticalAnchor,l=void 0===o?"bottom":o,a=t.horizontalAnchor,c=void 0===a?"left":a,u=t.verticalTransform,s=void 0===u?"top":u,m=t.horizontalTransform,d=void 0===m?"left":m,f=k(e.useState(null),2),p=f[0],v=f[1],g=Boolean(p),h=function(){v(null)},E=r?e.cloneElement(r,{onMouseEnter:function(e){v(e.currentTarget)},onMouseLeave:h}):null;return e.createElement(e.Fragment,null,E,e.createElement(i,{id:"mouse-over-popup",sx:{pointerEvents:"none"},open:g,anchorEl:p,anchorOrigin:{vertical:l,horizontal:c},transformOrigin:{vertical:s,horizontal:d},onClose:h,disableRestoreFocus:!0},n))},S=function(t){var n=t.option,r=t.onClose;return n.divider?e.createElement(a,null):e.createElement(c,{onClick:function(e){e.stopPropagation(),n.onClick&&(r(e),n.onClick())}},n.icon&&e.createElement(u,null,n.icon),n.label)},A=function(t){var n=t.tooltip,o=void 0===n?"Επιλογές":n,l=t.menuIcon,i=void 0===l?e.createElement(g,null):l,a=t.options,c=void 0===a?[]:a,u=k(e.useState(null),2),f=u[0],p=u[1],v=Boolean(f),h=function(e){e.stopPropagation(),p(null)};return e.createElement(e.Fragment,null,e.createElement(r,{sx:{display:"flex",alignItems:"center",textAlign:"center"}},e.createElement(s,{title:o},e.createElement(m,{onClick:function(e){e.stopPropagation(),p(e.currentTarget)},size:"small"},i))),e.createElement(d,{anchorEl:f,open:v,onClose:h,onClick:h,transformOrigin:{horizontal:"right",vertical:"top"},anchorOrigin:{horizontal:"right",vertical:"bottom"}},c.map((function(t,n){return e.createElement(S,{key:n,option:t,onClose:h})}))))};export{x as Currency,w as GoBack,j as MouseOverPopup,h as MyChip,z as PageTitle,A as PopupMenu,E as ShowErrors,b as StatusIcon,y as YesNoChip};
|
1
|
+
import e from"react";import{Typography as t,Alert as n,Box as r,Button as o,Stack as l,Popover as i,Divider as a,MenuItem as c,ListItemIcon as u,Tooltip as s,IconButton as m,Menu as d}from"@mui/material";import{Done as f,Close as p}from"@mui/icons-material";import"date-fns";import"date-fns/locale";import{ImArrowLeft as v}from"react-icons/im";import g from"@mui/icons-material/Menu";var h=function(n){var r=n.label,o=void 0===r?"":r,l=n.color,i=void 0===l?"white":l,a=n.backgroundColor,c=void 0===a?"#888888":a,u=n.paddingX,s=void 0===u?"10px":u,m=n.paddingY,d=void 0===m?"5px":m,f=n.borderRadius,p=void 0===f?"10px":f,v=n.fontSize,g=void 0===v?"14px":v,h=n.width,E={text:{display:"inline-block",textAlign:"center",backgroundColor:c,paddingX:s,paddingY:d,borderRadius:p,width:void 0===h?"auto":h,color:i,fontSize:g}};return e.createElement(t,{sx:E.text},o)},E=function(t){var r=t.errors,o=t.marginBottom,l=void 0===o?3:o;return 0===Object.keys(r).length?null:e.createElement(e.Fragment,null,Object.keys(r).map((function(t,o){return e.createElement(n,{sx:{marginBottom:l},key:o,severity:"error"},r[t])})))},b=function(t){var n=t.on,r=t.showOn,o=void 0===r||r,l=t.showOff,i=void 0===l||l,a=t.size,c=void 0===a?24:a;return Boolean(n)?o?e.createElement(f,{color:"success",sx:{fontSize:c}}):null:i?e.createElement(p,{color:"error",sx:{fontSize:c}}):null},y=function(t){var n=t.status,r=t.showYes,o=void 0===r||r,l=t.showNo,i=void 0===l||l,a=t.width,c=void 0===a?80:a;return Boolean(n)?o&&e.createElement(h,{label:"ΝΑΙ",backgroundColor:"green",fontSize:"12px",paddingX:"5px",width:c}):i&&e.createElement(h,{label:"ΟΧΙ",backgroundColor:"red",fontSize:"12px",paddingX:"5px",width:c})},x=function(t){var n,o,l=t.amount,i=t.align,a=void 0===i?"left":i;return e.createElement(r,{sx:{textAlign:a}},null==(o=n=l)||""===o?"":new Intl.NumberFormat("el-GR",{style:"currency",currency:"EUR"}).format(n))},w=function(n){var i=n.position,a=void 0===i?"top":i,c=n.label,u=void 0===c?"ΕΠΙΣΤΡΟΦΗ":c;return e.createElement(r,{sx:{marginBottom:1}},"bottom"===a&&e.createElement("hr",null),e.createElement(r,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center"}},e.createElement(o,{color:"warning",onClick:function(){return history.back()}},e.createElement(l,{direction:"row",spacing:1,sx:{alignItems:"center"}},e.createElement(v,null),e.createElement(t,null,u)))),"top"===a&&e.createElement("hr",null))};function C(){return C=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},C.apply(this,arguments)}function k(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,l,i,a=[],c=!0,u=!1;try{if(l=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=l.call(n)).done)&&(a.push(r.value),a.length!==t);c=!0);}catch(e){u=!0,o=e}finally{try{if(!c&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(u)throw o}}return a}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return O(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return O(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function O(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var z=function(n){var i=n.title,a=n.titlePosition,c=void 0===a?"right":a,u=n.showReturnButton,s=void 0===u||u,m=n.returnButtonLabel,d=void 0===m?"ΕΠΙΣΤΡΟΦΗ":m,f=n.onReturn,p=void 0===f?null:f,g=n.titleProps,h=void 0===g?{}:g,E=n.returnButtonProps,b=void 0===E?{}:E,y=e.createElement(o,C({color:"warning",onClick:p?p():function(){return history.back()}},b),e.createElement(l,{direction:"row",spacing:1,sx:{alignItems:"center"}},e.createElement(v,null),e.createElement(t,null,d))),x=e.createElement(t,C({variant:"h6"},h),i),w="space-between";return s||(w="left"===c?"flex-start":"flex-end"),e.createElement(e.Fragment,null,e.createElement(r,{sx:{display:"flex",justifyContent:{justifyContent:w},alignItems:"center"}},"left"===c&&x,s&&y,"right"===c&&x),e.createElement("hr",null))},j=function(t){var n=t.popup,r=t.children,o=t.verticalAnchor,l=void 0===o?"bottom":o,a=t.horizontalAnchor,c=void 0===a?"left":a,u=t.verticalTransform,s=void 0===u?"top":u,m=t.horizontalTransform,d=void 0===m?"left":m,f=k(e.useState(null),2),p=f[0],v=f[1],g=Boolean(p),h=function(){v(null)},E=r?e.cloneElement(r,{onMouseEnter:function(e){v(e.currentTarget)},onMouseLeave:h}):null;return e.createElement(e.Fragment,null,E,e.createElement(i,{id:"mouse-over-popup",sx:{pointerEvents:"none"},open:g,anchorEl:p,anchorOrigin:{vertical:l,horizontal:c},transformOrigin:{vertical:s,horizontal:d},onClose:h,disableRestoreFocus:!0},n))},S=function(t){var n=t.option,r=t.onClose;return n.hidden?null:n.divider?e.createElement(a,null):e.createElement(c,{onClick:function(e){e.stopPropagation(),n.onClick&&(r(e),n.onClick())}},n.icon&&e.createElement(u,null,n.icon),n.label)},A=function(t){var n=t.tooltip,o=void 0===n?"Επιλογές":n,l=t.menuIcon,i=void 0===l?e.createElement(g,null):l,a=t.options,c=void 0===a?[]:a,u=k(e.useState(null),2),f=u[0],p=u[1],v=Boolean(f),h=function(e){e.stopPropagation(),p(null)};return e.createElement(e.Fragment,null,e.createElement(r,{sx:{display:"flex",alignItems:"center",textAlign:"center"}},e.createElement(s,{title:o},e.createElement(m,{onClick:function(e){e.stopPropagation(),p(e.currentTarget)},size:"small"},i))),e.createElement(d,{anchorEl:f,open:v,onClose:h,onClick:h,transformOrigin:{horizontal:"right",vertical:"top"},anchorOrigin:{horizontal:"right",vertical:"bottom"}},c.map((function(t,n){return e.createElement(S,{key:n,option:t,onClose:h})}))))};export{x as Currency,w as GoBack,j as MouseOverPopup,h as MyChip,z as PageTitle,A as PopupMenu,E as ShowErrors,b as StatusIcon,y as YesNoChip};
|
package/package.json
CHANGED
package/tables/index.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
import{TextField as e,InputAdornment as t,IconButton as n,Typography as r,Tooltip as o,Button as l,Box as i,Select as a,MenuItem as c,Autocomplete as u,TableRow as s,TableCell as f,TableContainer as d,Table as p,TableHead as m,TableBody as g,TablePagination as v}from"@mui/material";import b from"react";import{MdClear as y,MdOutlineAdd as h}from"react-icons/md";import"date-fns";import"date-fns/locale";import C from"nprogress";import{TiArrowSortedUp as E,TiArrowSortedDown as w,TiArrowUnsorted as S}from"react-icons/ti";import x from"react-input-mask";import k from"axios";function F(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function O(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?F(Object(n),!0).forEach((function(t){I(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):F(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function I(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;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))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function P(){return P=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},P.apply(this,arguments)}function j(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},l=Object.keys(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function A(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,l,i,a=[],c=!0,u=!1;try{if(l=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=l.call(n)).done)&&(a.push(r.value),a.length!==t);c=!0);}catch(e){u=!0,o=e}finally{try{if(!c&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(u)throw o}}return a}}(e,t)||T(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function z(e){return function(e){if(Array.isArray(e))return K(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||T(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function T(e,t){if(e){if("string"==typeof e)return K(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?K(e,t):void 0}}function K(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var R=function(r){var o=r.initialValue,l=r.onChange,i=r.placeholder,a=void 0===i?"":i,c=r.activeColor,u=void 0===c?"#D4F7F4":c,s=r.inactiveColor,f=void 0===s?"white":s,d=r.clearIcon,p=void 0===d||d,m=A(b.useState(o),2),g=m[0],v=m[1];b.useEffect((function(){v(o)}),[o]);return b.createElement(e,{sx:{backgroundColor:g?u:f},placeholder:a,value:g||"",fullWidth:!0,onChange:function(e){v(e.target.value),l(e.target.value)},size:"small",InputProps:{endAdornment:p&&b.createElement(t,{position:"end",disablePointerEvents:!g},b.createElement(n,{onClick:function(){return l("")}},g?b.createElement(y,null):b.createElement(y,{color:"#cccccc"})))}})},D=b.createContext(),B=function(e,t){var n;return function(){for(var r=arguments.length,o=new Array(r),l=0;l<r;l++)o[l]=arguments[l];n&&clearTimeout(n),n=setTimeout((function(){e.apply(void 0,o)}),t)}},V=function(){var e=b.useContext(D),t=e.state,n=e.props,r=e.api;return n.enableGlobalFilter?b.createElement(R,{initialValue:t.globalFilter,onChange:B(r.handleGlobalFilterChange,300),placeholder:n.globalFilterPlaceholder}):null};!function(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var r=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===n&&r.firstChild?r.insertBefore(o,r.firstChild):r.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}("#nprogress {\r\n pointer-events: none;\r\n}\r\n\r\n#nprogress .bar {\r\n background: #29d;\r\n position: fixed;\r\n z-index: 99999;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 4px;\r\n}\r\n\r\n/* Fancy blur effect */\r\n#nprogress .peg {\r\n display: block;\r\n position: absolute;\r\n right: 0px;\r\n width: 100px;\r\n height: 100%;\r\n box-shadow: 0 0 10px #29d, 0 0 5px #29d;\r\n opacity: 1.0;\r\n -webkit-transform: rotate(3deg) translate(0px, -4px);\r\n -ms-transform: rotate(3deg) translate(0px, -4px);\r\n transform: rotate(3deg) translate(0px, -4px);\r\n}\r\n\r\n/* Remove these to get rid of the spinner */\r\n#nprogress .spinner {\r\n display: block;\r\n position: fixed;\r\n z-index: 1031;\r\n top: 15px;\r\n right: 15px;\r\n}\r\n\r\n#nprogress .spinner-icon {\r\n width: 18px;\r\n height: 18px;\r\n box-sizing: border-box;\r\n border: solid 2px transparent;\r\n border-top-color: #29d;\r\n border-left-color: #29d;\r\n border-radius: 50%;\r\n -webkit-animation: nprogress-spinner 400ms linear infinite;\r\n animation: nprogress-spinner 400ms linear infinite;\r\n}\r\n\r\n.nprogress-custom-parent {\r\n overflow: hidden;\r\n position: relative;\r\n}\r\n\r\n.nprogress-custom-parent #nprogress .spinner,\r\n.nprogress-custom-parent #nprogress .bar {\r\n position: absolute;\r\n}\r\n\r\n@-webkit-keyframes nprogress-spinner {\r\n 0% {\r\n -webkit-transform: rotate(0deg);\r\n }\r\n\r\n 100% {\r\n -webkit-transform: rotate(360deg);\r\n }\r\n}\r\n\r\n@keyframes nprogress-spinner {\r\n 0% {\r\n transform: rotate(0deg);\r\n }\r\n\r\n 100% {\r\n transform: rotate(360deg);\r\n }\r\n}");var M=function(){var e=b.useContext(D).props;return b.createElement(r,{variant:"h5",sx:e.titleStyle},e.title)},N=function(){var e=b.useContext(D).props;return e.enableCreateRow?b.createElement(o,{title:e.createButtonTooltip,arrow:!0,placement:"top"},b.createElement(l,{variant:e.createButtonVariant,onClick:function(){return e.onCreateRow()}},b.createElement(h,{size:24}))):null},L=function(){var e=b.useContext(D).props;return e.globalActions?b.createElement(b.Fragment,null,e.globalActions.map((function(e,t){return b.createElement(i,{key:t},e)}))):null},G=function(e){var t,n=e.column;b.useContext(D).props;var r=b.useContext(D).api;return b.createElement(b.Fragment,null,b.createElement(i,{sx:{dispaly:"flex",flexDirection:"column",justifyContent:"start",alignItems:"start"}},b.createElement(i,{sx:{display:"flex",flexDirection:"row",gap:.5,aligntItems:"center",cursor:n.enableSorting?"pointer":"default"},onClick:n.enableSorting?function(e){return r.toggleSorting(e,n)}:null},b.createElement(i,null,n.label),b.createElement(i,null,n.enableSorting?null!==(t={asc:b.createElement(E,{size:20}),desc:b.createElement(w,{size:20})}[r.getSortingStatus(n)])&&void 0!==t?t:b.createElement(S,{size:20,color:"#cccccc"}):null))))},J=function(r){var o=r.initialValue,l=r.mask,i=void 0===l?"999999":l,a=r.onChange,c=r.placeholder,u=void 0===c?"":c,s=r.activeColor,f=void 0===s?"#D4F7F4":s,d=r.inactiveColor,p=void 0===d?"white":d,m=r.clearIcon,g=void 0===m||m,v=A(b.useState(o),2),h=v[0],C=v[1];b.useEffect((function(){C(o)}),[o]);return b.createElement(x,{mask:i,value:h,onChange:function(e){C((function(t){return t===e.target.value?t:(a(e.target.value),e.target.value)}))},maskChar:""},(function(){return b.createElement(e,{sx:{backgroundColor:h?f:p},placeholder:u,fullWidth:!0,size:"small",InputProps:{endAdornment:g&&b.createElement(t,{position:"end",disablePointerEvents:!h},b.createElement(n,{onClick:function(){return a("")}},h?b.createElement(y,null):b.createElement(y,{color:"#cccccc"})))}})}))},W=function(e){var r=e.value,o=e.options,l=e.onChange,i=e.valueKey,u=void 0===i?"id":i,s=e.labelKey,f=void 0===s?"label":s,d=e.placeholder,p=void 0===d?"":d,m=e.activeColor,g=void 0===m?"#D4F7F4":m,v=e.inactiveColor,h=void 0===v?"white":v,C=e.clearIcon,E=void 0===C||C,w=A(b.useState(-1),2),S=w[0],x=w[1];b.useEffect((function(){x(null===r||""===r?-1:r)}),[r]);return b.createElement(a,{sx:{backgroundColor:-1!==S?g:h,color:-1==S?"#cccccc":""},value:S,fullWidth:!0,onChange:function(e){var t=e.target.value;l(-1!==t?t:"")},size:"small",endAdornment:E&&b.createElement(t,{position:"end",disablePointerEvents:null===r},b.createElement(n,{onClick:function(){return l("")}},-1!==S?b.createElement(y,null):b.createElement(y,{color:"#cccccc"})))},b.createElement(c,{value:-1},p),o.map((function(e){return b.createElement(c,{key:e[u],value:e[u]},e[f])})))},U=["value","options","valueKey","labelKey","onChange","placeholder","activeColor","inactiveColor"],Q=function(t){var n=t.value,r=t.options,o=void 0===r?[]:r,l=t.valueKey,i=void 0===l?"id":l;t.labelKey;var a=t.onChange,c=t.placeholder,s=void 0===c?"":c,f=t.activeColor,d=void 0===f?"#D4F7F4":f,p=t.inactiveColor,m=void 0===p?"white":p,g=j(t,U),v=A(b.useState(null),2),y=v[0],h=v[1];return b.useEffect((function(){h(o.find((function(e){return e[i]===n}))||null)}),[n]),b.createElement(u,{value:y,onChange:function(e,t){return a(t?t[i]:null)},options:o,isOptionEqualToValue:function(e,t){return e[i]===t[i]},noOptionsText:"Δεν υπάρχουν επιλογές",size:"small",renderInput:function(t){return b.createElement(e,P({variant:"outlined",fullWidth:!0,placeholder:s,sx:{backgroundColor:null!==y?d:m,color:-1==y?"#cccccc":""},size:"small"},t,g))}})},_=function(e){var t=e.column,n=b.useContext(D),r=n.api,o=n.props,l=r.getColumnFilter(t);return"text"===t.filterType?b.createElement(R,{activeColor:o.filterActiveColor,inactiveColor:o.filterInactiveColor,initialValue:l,onChange:B((function(e){return r.handleColumnFilterChange(t,e)}),300),placeholder:t.filterPlaceholder}):"integer"===t.filterType?b.createElement(J,{activeColor:o.filterActiveColor,inactiveColor:o.filterInactiveColor,initialValue:l,mask:t.filterMask,onChange:B((function(e){return r.handleColumnFilterChange(t,e)}),300),placeholder:t.filterPlaceholder}):"autocomplete"===t.filterType?b.createElement(Q,{activeColor:o.filterActiveColor,inactiveColor:o.filterInactiveColor,value:l,valueKey:t.filterValueKey,labelKey:t.filterLabelKey,onChange:function(e){return r.handleColumnFilterChange(t,e)},placeholder:t.filterPlaceholder,options:t.filterOptions}):"select"===t.filterType?b.createElement(W,{activeColor:o.filterActiveColor,inactiveColor:o.filterInactiveColor,value:l,onChange:function(e){return r.handleColumnFilterChange(t,e)},placeholder:t.filterPlaceholder,options:t.filterOptions}):null},q=function(){var e=b.useContext(D),t=e.props,n=e.state;return b.createElement(b.Fragment,null,b.createElement(s,null,n.columns.map((function(e){return b.createElement(f,{key:e.id,width:e.width},b.createElement(G,{column:e}))})),t.rowActions.length>0&&b.createElement(f,null)),t.enableColumnFilters&&b.createElement(s,null,n.columns.map((function(e){return b.createElement(f,{key:e.id},e.enableFilter?b.createElement(_,{column:e}):null)})),t.rowActions.length>0&&b.createElement(f,null)))},H=function(e){var t=e.row,n=b.useContext(D).props;return n.rowActions?b.createElement(f,null,b.createElement(i,{sx:{display:"flex",justifyContent:"flex-end",alignItems:"center"}},n.rowActions.map((function(e,n){return b.createElement(i,{key:n},e(t))})))):null},$=function(e){var t=e.row,n=b.useContext(D),r=n.props,o=n.state,l=A(b.useState({}),2),i=l[0],a=l[1],c=A(b.useState({}),2),u=c[0],d=c[1];return b.useEffect((function(){r.rowStyle&&a(r.rowStyle(t)),r.cellStyle&&d(r.cellStyle(t))}),[t]),b.createElement(s,{hover:r.rowsClickable,sx:O({cursor:r.rowsClickable?"pointer":"default"},i),onClick:function(){return r.onRowClick&&r.onRowClick(t)}},o.columns.map((function(e){return b.createElement(f,{key:e.id,sx:O({},u)},e.render?e.render(t):t[e.id])})),r.rowActions.length>0&&b.createElement(H,{row:t}))},X={id:"",label:"",enableSorting:!0,enableFilter:!0,filterType:"text",filterValueKey:"id",filterLabelKey:"label",filterMark:"999999",filterPlaceholder:"Αναζήτηση",filterOptions:[],style:null,width:"",render:null},Y={data:[],page:0,page_size:10,total:0},Z=b.forwardRef((function(e,t){var n=e.title,r=e.titleStyle,o=void 0===r?{}:r,l=e.rowStyle,a=void 0===l?null:l,c=e.cellStyle,u=void 0===c?null:c,s=e.tableSize,f=void 0===s?"medium":s,y=e.columns,h=e.dataUrl,E=e.hasQueryParams,w=void 0!==E&&E,S=e.enableGlobalFilter,x=void 0!==S&&S,F=e.enableColumnFilters,I=void 0!==F&&F,P=e.globalFilterPlaceholder,j=void 0===P?"Καθολική Αναζήτηση":P,T=e.enableCreateRow,K=void 0!==T&&T,R=e.createButtonVariant,B=void 0===R?"contained":R,G=e.createButtonTooltip,J=void 0===G?"Νέα Εγγραφή":G,W=e.onCreateRow,U=void 0===W?null:W,Q=e.rowsClickable,_=void 0!==Q&&Q,H=e.onRowClick,Z=void 0===H?null:H,ee=e.globalActions,te=void 0===ee?[]:ee,ne=e.rowActions,re=void 0===ne?[]:ne,oe=e.keepState,le=void 0===oe||oe,ie=e.stateKey,ae=void 0===ie?null:ie,ce=e.filterActiveColor,ue=void 0===ce?"#D4F7F4":ce,se=e.filterInactiveColor,fe=void 0===se?"white":se,de=e.defaultSorting,pe=void 0===de?[]:de,me=b.useMemo((function(){return!(!le||!ae)&&"".concat(ae,".pageIndex")}),[]),ge=b.useMemo((function(){return!(!le||!ae)&&"".concat(ae,".pageSize")}),[]),ve=b.useMemo((function(){return!(!le||!ae)&&"".concat(ae,".sorting")}),[]),be=b.useMemo((function(){return!(!le||!ae)&&"".concat(ae,".globalFilter")}),[]),ye=b.useMemo((function(){return!(!le||!ae)&&"".concat(ae,".columnFilters")}),[]),he=b.useMemo((function(){return y.map((function(e){return O(O({},X),e)}))})),Ce=A(b.useState(Y),2),Ee=Ce[0],we=Ce[1],Se=A(b.useState(ve&&JSON.parse(sessionStorage.getItem(ve))||pe),2),xe=Se[0],ke=Se[1],Fe=A(b.useState(be&&sessionStorage.getItem(be)||""),2),Oe=Fe[0],Ie=Fe[1],Pe=A(b.useState(ye&&JSON.parse(sessionStorage.getItem(ye))||[]),2),je=Pe[0],Ae=Pe[1],ze=A(b.useState(me&&parseInt(sessionStorage.getItem(me))||0),2),Te=ze[0],Ke=ze[1],Re=A(b.useState(ge&&parseInt(sessionStorage.getItem(ge))||10),2),De=Re[0],Be=Re[1],Ve=function(){var e=A(b.useState(!1),2),t=e[0],n=e[1];return{loader:t,startLoader:function(){n(!0),C.start()},stopLoader:function(){n(!1),C.done()}}}(),Me=Ve.startLoader,Ne=Ve.stopLoader,Le=function(e,t,n,r,o){Me();var l=w?"&":"?";k.get("".concat(h).concat(l,"page=").concat(e+1,"&pageSize=").concat(t,"&sorting=").concat(JSON.stringify(n),"&globalFilter=").concat(r,"&columnFilters=").concat(JSON.stringify(o))).then((function(e){we(e.data),Ne()})).catch((function(e){console.log(e.message),Ne()}))};b.useImperativeHandle(t,(function(){return{updateRow:function(e){we((function(t){var n=t.data.map((function(t){return t.id===e.id?e:t}));return O(O({},t),{},{data:n})}))}}}));var Ge={props:{title:n,titleStyle:o,rowStyle:a,cellStyle:u,tableSize:f,columns:y,dataUrl:h,hasQueryParams:w,enableGlobalFilter:x,enableColumnFilters:I,globalFilterPlaceholder:j,enableCreateRow:K,createButtonVariant:B,createButtonTooltip:J,onCreateRow:U,rowsClickable:_,onRowClick:Z,globalActions:te,rowActions:re,keepState:le,stateKey:ae,filterActiveColor:ue,filterInactiveColor:fe,defaultSorting:pe},state:{data:Ee,columns:he,setData:we,sorting:xe,setSorting:ke,globalFilter:Oe,setGlobalFilter:Ie,columnFilters:je,setColumnFilters:Ae,pageIndex:Te,setPageIndex:Ke,pageSize:De,setPageSize:Be},api:{toggleSorting:function(e,t){ke((function(n){var r=n.find((function(e){return e.id===t.id})),o=[];r?o=!r.desc?e.altKey?[].concat(z(n.filter((function(e){return e.id!==t.id}))),[{id:t.id,desc:!0}]):[{id:t.id,desc:!0}]:e.altKey?z(n.filter((function(e){return e.id!==t.id}))):[]:o=e.altKey?[].concat(z(n),[{id:t.id,desc:!1}]):[{id:t.id,desc:!1}];return Ke(0),Le(0,De,o,Oe,je),o}))},getSortingStatus:function(e){var t=xe.find((function(t){return t.id===e.id}));return t?t.desc?"desc":"asc":null},handleGlobalFilterChange:function(e){Ie(e),Ke(0),Le(0,De,xe,e,je)},getColumnFilter:function(e){var t=je.find((function(t){return t.id===e.id}));return t?t.value:""},handleColumnFilterChange:function(e,t){Ae((function(n){var r=[];return r=n.find((function(t){return t.id===e.id}))?t?[].concat(z(n.filter((function(t){return t.id!==e.id}))),[{id:e.id,value:t}]):z(n.filter((function(t){return t.id!==e.id}))):[].concat(z(n),[{id:e.id,value:t}]),Ke(0),Le(0,De,xe,Oe,r),r}))}}};return b.useEffect((function(){Le(Te,De,xe,Oe,je)}),[]),b.useEffect((function(){me&&sessionStorage.setItem(me,Te)}),[Te]),b.useEffect((function(){ge&&sessionStorage.setItem(ge,De)}),[De]),b.useEffect((function(){ve&&sessionStorage.setItem(ve,JSON.stringify(xe))}),[xe]),b.useEffect((function(){be&&sessionStorage.setItem(be,Oe)}),[Oe]),b.useEffect((function(){ye&&sessionStorage.setItem(ye,JSON.stringify(je))}),[je]),b.createElement(b.Fragment,null,b.createElement(D.Provider,{value:Ge},b.createElement(i,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:1}},b.createElement(M,null),b.createElement(i,{sx:{display:"flex",gap:2,justifyContent:"end",alignItems:"center"}},b.createElement(V,null),b.createElement(N,null),b.createElement(L,null))),b.createElement(d,null,b.createElement(p,{size:f},b.createElement(m,null,b.createElement(q,null)),b.createElement(g,null,Ee.data.map((function(e){return b.createElement($,{key:e.id,row:e})})))))),b.createElement(v,{sx:{marginTop:1,overflow:"hidden"},component:"div",showFirstButton:!0,showLastButton:!0,count:parseInt(Ee.total),page:0!=Ee.page?Ee.page-1:0,rowsPerPage:Ee.page_size,onPageChange:function(e,t){return Ke(n=t),void Le(n,De,xe,Oe,je);var n},onRowsPerPageChange:function(e){return t=e.target.value,Be(t),Ke(0),void Le(0,t,xe,Oe,je);var t},labelDisplayedRows:function(e){return"".concat(e.from," έως ").concat(e.to," από ").concat(e.count)},labelRowsPerPage:"Εγγραφές ανά σελίδα"}))}));export{Z as ServerSideTable};
|
1
|
+
import{TextField as e,InputAdornment as t,IconButton as n,Typography as r,Tooltip as o,Button as l,Box as i,Select as a,MenuItem as c,Autocomplete as u,TableRow as s,TableCell as f,TableContainer as d,Table as p,TableHead as m,TableBody as g,TablePagination as v}from"@mui/material";import b from"react";import{MdClear as y,MdOutlineAdd as h}from"react-icons/md";import"date-fns";import"date-fns/locale";import C from"nprogress";import{TiArrowSortedUp as E,TiArrowSortedDown as w,TiArrowUnsorted as S}from"react-icons/ti";import x from"react-input-mask";import k from"axios";function F(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function O(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?F(Object(n),!0).forEach((function(t){I(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):F(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function I(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;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))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function P(){return P=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},P.apply(this,arguments)}function j(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},l=Object.keys(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function A(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,l,i,a=[],c=!0,u=!1;try{if(l=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=l.call(n)).done)&&(a.push(r.value),a.length!==t);c=!0);}catch(e){u=!0,o=e}finally{try{if(!c&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(u)throw o}}return a}}(e,t)||T(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function z(e){return function(e){if(Array.isArray(e))return K(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||T(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function T(e,t){if(e){if("string"==typeof e)return K(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?K(e,t):void 0}}function K(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var R=function(r){var o=r.initialValue,l=r.onChange,i=r.placeholder,a=void 0===i?"":i,c=r.activeColor,u=void 0===c?"#D4F7F4":c,s=r.inactiveColor,f=void 0===s?"white":s,d=r.clearIcon,p=void 0===d||d,m=A(b.useState(o),2),g=m[0],v=m[1];b.useEffect((function(){v(o)}),[o]);return b.createElement(e,{sx:{backgroundColor:g?u:f},placeholder:a,value:g||"",fullWidth:!0,onChange:function(e){v(e.target.value),l(e.target.value)},size:"small",InputProps:{endAdornment:p&&b.createElement(t,{position:"end",disablePointerEvents:!g},b.createElement(n,{onClick:function(){return l("")}},g?b.createElement(y,null):b.createElement(y,{color:"#cccccc"})))}})},D=b.createContext(),B=function(e,t){var n;return function(){for(var r=arguments.length,o=new Array(r),l=0;l<r;l++)o[l]=arguments[l];n&&clearTimeout(n),n=setTimeout((function(){e.apply(void 0,o)}),t)}},V=function(){var e=b.useContext(D),t=e.state,n=e.props,r=e.api;return n.enableGlobalFilter?b.createElement(R,{initialValue:t.globalFilter,onChange:B(r.handleGlobalFilterChange,300),placeholder:n.globalFilterPlaceholder}):null};!function(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var r=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===n&&r.firstChild?r.insertBefore(o,r.firstChild):r.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}("#nprogress {\r\n pointer-events: none;\r\n}\r\n\r\n#nprogress .bar {\r\n background: #29d;\r\n position: fixed;\r\n z-index: 99999;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 4px;\r\n}\r\n\r\n/* Fancy blur effect */\r\n#nprogress .peg {\r\n display: block;\r\n position: absolute;\r\n right: 0px;\r\n width: 100px;\r\n height: 100%;\r\n box-shadow: 0 0 10px #29d, 0 0 5px #29d;\r\n opacity: 1.0;\r\n -webkit-transform: rotate(3deg) translate(0px, -4px);\r\n -ms-transform: rotate(3deg) translate(0px, -4px);\r\n transform: rotate(3deg) translate(0px, -4px);\r\n}\r\n\r\n/* Remove these to get rid of the spinner */\r\n#nprogress .spinner {\r\n display: block;\r\n position: fixed;\r\n z-index: 1031;\r\n top: 15px;\r\n right: 15px;\r\n}\r\n\r\n#nprogress .spinner-icon {\r\n width: 18px;\r\n height: 18px;\r\n box-sizing: border-box;\r\n border: solid 2px transparent;\r\n border-top-color: #29d;\r\n border-left-color: #29d;\r\n border-radius: 50%;\r\n -webkit-animation: nprogress-spinner 400ms linear infinite;\r\n animation: nprogress-spinner 400ms linear infinite;\r\n}\r\n\r\n.nprogress-custom-parent {\r\n overflow: hidden;\r\n position: relative;\r\n}\r\n\r\n.nprogress-custom-parent #nprogress .spinner,\r\n.nprogress-custom-parent #nprogress .bar {\r\n position: absolute;\r\n}\r\n\r\n@-webkit-keyframes nprogress-spinner {\r\n 0% {\r\n -webkit-transform: rotate(0deg);\r\n }\r\n\r\n 100% {\r\n -webkit-transform: rotate(360deg);\r\n }\r\n}\r\n\r\n@keyframes nprogress-spinner {\r\n 0% {\r\n transform: rotate(0deg);\r\n }\r\n\r\n 100% {\r\n transform: rotate(360deg);\r\n }\r\n}");var M=function(){var e=b.useContext(D).props;return b.createElement(r,{variant:"h5",sx:e.titleStyle},e.title)},N=function(){var e=b.useContext(D).props;return e.enableCreateRow?b.createElement(o,{title:e.createButtonTooltip,arrow:!0,placement:"top"},b.createElement(l,{variant:e.createButtonVariant,onClick:function(){return e.onCreateRow()}},b.createElement(h,{size:24}))):null},L=function(){var e=b.useContext(D).props;return e.globalActions?b.createElement(b.Fragment,null,e.globalActions.map((function(e,t){return b.createElement(i,{key:t},e)}))):null},G=function(e){var t,n=e.column;b.useContext(D).props;var r=b.useContext(D).api;return b.createElement(b.Fragment,null,b.createElement(i,{sx:{dispaly:"flex",flexDirection:"column",justifyContent:"start",alignItems:"start"}},b.createElement(i,{sx:{display:"flex",flexDirection:"row",gap:.5,aligntItems:"center",cursor:n.enableSorting?"pointer":"default"},onClick:n.enableSorting?function(e){return r.toggleSorting(e,n)}:null},b.createElement(i,null,n.label),b.createElement(i,null,n.enableSorting?null!==(t={asc:b.createElement(E,{size:20}),desc:b.createElement(w,{size:20})}[r.getSortingStatus(n)])&&void 0!==t?t:b.createElement(S,{size:20,color:"#cccccc"}):null))))},J=function(r){var o=r.initialValue,l=r.mask,i=void 0===l?"999999":l,a=r.onChange,c=r.placeholder,u=void 0===c?"":c,s=r.activeColor,f=void 0===s?"#D4F7F4":s,d=r.inactiveColor,p=void 0===d?"white":d,m=r.clearIcon,g=void 0===m||m,v=A(b.useState(o),2),h=v[0],C=v[1];b.useEffect((function(){C(o)}),[o]);return b.createElement(x,{mask:i,value:h,onChange:function(e){C((function(t){return t===e.target.value?t:(a(e.target.value),e.target.value)}))},maskChar:""},(function(){return b.createElement(e,{sx:{backgroundColor:h?f:p},placeholder:u,fullWidth:!0,size:"small",InputProps:{endAdornment:g&&b.createElement(t,{position:"end",disablePointerEvents:!h},b.createElement(n,{onClick:function(){return a("")}},h?b.createElement(y,null):b.createElement(y,{color:"#cccccc"})))}})}))},W=function(e){var r=e.value,o=e.options,l=e.onChange,i=e.valueKey,u=void 0===i?"id":i,s=e.labelKey,f=void 0===s?"label":s,d=e.placeholder,p=void 0===d?"":d,m=e.activeColor,g=void 0===m?"#D4F7F4":m,v=e.inactiveColor,h=void 0===v?"white":v,C=e.clearIcon,E=void 0===C||C,w=A(b.useState(-1),2),S=w[0],x=w[1];b.useEffect((function(){x(null===r||""===r?-1:r)}),[r]);return b.createElement(a,{sx:{backgroundColor:-1!==S?g:h,color:-1==S?"#cccccc":""},value:S,fullWidth:!0,onChange:function(e){var t=e.target.value;l(-1!==t?t:"")},size:"small",endAdornment:E&&b.createElement(t,{position:"end",disablePointerEvents:null===r},b.createElement(n,{onClick:function(){return l("")}},-1!==S?b.createElement(y,null):b.createElement(y,{color:"#cccccc"})))},b.createElement(c,{value:-1},p),o.map((function(e){return b.createElement(c,{key:e[u],value:e[u]},e[f])})))},U=["value","options","valueKey","labelKey","onChange","placeholder","activeColor","inactiveColor"],Q=function(t){var n=t.value,r=t.options,o=void 0===r?[]:r,l=t.valueKey,i=void 0===l?"id":l;t.labelKey;var a=t.onChange,c=t.placeholder,s=void 0===c?"":c,f=t.activeColor,d=void 0===f?"#D4F7F4":f,p=t.inactiveColor,m=void 0===p?"white":p,g=j(t,U),v=A(b.useState(null),2),y=v[0],h=v[1];return b.useEffect((function(){h(o.find((function(e){return e[i]===n}))||null)}),[n]),b.createElement(u,{value:y,onChange:function(e,t){return a(t?t[i]:null)},options:o,isOptionEqualToValue:function(e,t){return e[i]===t[i]},noOptionsText:"Δεν υπάρχουν επιλογές",size:"small",renderInput:function(t){return b.createElement(e,P({variant:"outlined",fullWidth:!0,placeholder:s,sx:{backgroundColor:null!==y?d:m,color:-1==y?"#cccccc":""},size:"small"},t,g))}})},_=function(e){var t=e.column,n=b.useContext(D),r=n.api,o=n.props,l=r.getColumnFilter(t);return"text"===t.filterType?b.createElement(R,{activeColor:o.filterActiveColor,inactiveColor:o.filterInactiveColor,initialValue:l,onChange:B((function(e){return r.handleColumnFilterChange(t,e)}),300),placeholder:t.filterPlaceholder}):"integer"===t.filterType?b.createElement(J,{activeColor:o.filterActiveColor,inactiveColor:o.filterInactiveColor,initialValue:l,mask:t.filterMask,onChange:B((function(e){return r.handleColumnFilterChange(t,e)}),300),placeholder:t.filterPlaceholder}):"autocomplete"===t.filterType?b.createElement(Q,{activeColor:o.filterActiveColor,inactiveColor:o.filterInactiveColor,value:l,valueKey:t.filterValueKey,labelKey:t.filterLabelKey,onChange:function(e){return r.handleColumnFilterChange(t,e)},placeholder:t.filterPlaceholder,options:t.filterOptions}):"select"===t.filterType?b.createElement(W,{activeColor:o.filterActiveColor,inactiveColor:o.filterInactiveColor,value:l,onChange:function(e){return r.handleColumnFilterChange(t,e)},placeholder:t.filterPlaceholder,options:t.filterOptions}):null},q=function(){var e=b.useContext(D),t=e.props,n=e.state;return b.createElement(b.Fragment,null,b.createElement(s,null,n.columns.map((function(e){return b.createElement(f,{key:e.id,width:e.width},b.createElement(G,{column:e}))})),t.rowActions.length>0&&b.createElement(f,null)),t.enableColumnFilters&&b.createElement(s,null,n.columns.map((function(e){return b.createElement(f,{key:e.id},e.enableFilter?b.createElement(_,{column:e}):null)})),t.rowActions.length>0&&b.createElement(f,null)))},H=function(e){var t=e.row,n=b.useContext(D).props;return n.rowActions?b.createElement(f,null,b.createElement(i,{sx:{display:"flex",justifyContent:"flex-end",alignItems:"center"}},n.rowActions.map((function(e,n){return b.createElement(i,{key:n},e(t))})))):null},$=function(e){var t=e.row,n=b.useContext(D),r=n.props,o=n.state,l=A(b.useState({}),2),i=l[0],a=l[1],c=A(b.useState({}),2),u=c[0],d=c[1];return b.useEffect((function(){r.rowStyle&&a(r.rowStyle(t)),r.cellStyle&&d(r.cellStyle(t))}),[t]),b.createElement(s,{hover:r.rowsClickable,sx:O({cursor:r.rowsClickable?"pointer":"default"},i),onClick:function(){return r.onRowClick&&r.onRowClick(t)}},o.columns.map((function(e){return b.createElement(f,{key:e.id,sx:O({},u)},e.render?e.render(t):t[e.id])})),r.rowActions.length>0&&b.createElement(H,{row:t}))},X={id:"",label:"",enableSorting:!0,enableFilter:!0,filterType:"text",filterValueKey:"id",filterLabelKey:"label",filterMark:"999999",filterPlaceholder:"Αναζήτηση",filterOptions:[],style:null,width:"",render:null},Y={data:[],page:0,page_size:10,total:0},Z=b.forwardRef((function(e,t){var n=e.title,r=e.titleStyle,o=void 0===r?{}:r,l=e.rowStyle,a=void 0===l?null:l,c=e.cellStyle,u=void 0===c?null:c,s=e.tableSize,f=void 0===s?"medium":s,y=e.columns,h=e.dataUrl,E=e.hasQueryParams,w=void 0!==E&&E,S=e.enableGlobalFilter,x=void 0!==S&&S,F=e.enableColumnFilters,I=void 0!==F&&F,P=e.globalFilterPlaceholder,j=void 0===P?"Καθολική Αναζήτηση":P,T=e.enableCreateRow,K=void 0!==T&&T,R=e.createButtonVariant,B=void 0===R?"contained":R,G=e.createButtonTooltip,J=void 0===G?"Νέα Εγγραφή":G,W=e.onCreateRow,U=void 0===W?null:W,Q=e.rowsClickable,_=void 0!==Q&&Q,H=e.onRowClick,Z=void 0===H?null:H,ee=e.globalActions,te=void 0===ee?[]:ee,ne=e.rowActions,re=void 0===ne?[]:ne,oe=e.keepState,le=void 0===oe||oe,ie=e.stateKey,ae=void 0===ie?null:ie,ce=e.filterActiveColor,ue=void 0===ce?"#D4F7F4":ce,se=e.filterInactiveColor,fe=void 0===se?"white":se,de=e.defaultSorting,pe=void 0===de?[]:de,me=b.useMemo((function(){return!(!le||!ae)&&"".concat(ae,".pageIndex")}),[]),ge=b.useMemo((function(){return!(!le||!ae)&&"".concat(ae,".pageSize")}),[]),ve=b.useMemo((function(){return!(!le||!ae)&&"".concat(ae,".sorting")}),[]),be=b.useMemo((function(){return!(!le||!ae)&&"".concat(ae,".globalFilter")}),[]),ye=b.useMemo((function(){return!(!le||!ae)&&"".concat(ae,".columnFilters")}),[]),he=b.useMemo((function(){return y.map((function(e){return O(O({},X),e)}))})),Ce=A(b.useState(Y),2),Ee=Ce[0],we=Ce[1],Se=A(b.useState(ve&&JSON.parse(sessionStorage.getItem(ve))||pe),2),xe=Se[0],ke=Se[1],Fe=A(b.useState(be&&sessionStorage.getItem(be)||""),2),Oe=Fe[0],Ie=Fe[1],Pe=A(b.useState(ye&&JSON.parse(sessionStorage.getItem(ye))||[]),2),je=Pe[0],Ae=Pe[1],ze=A(b.useState(me&&parseInt(sessionStorage.getItem(me))||0),2),Te=ze[0],Ke=ze[1],Re=A(b.useState(ge&&parseInt(sessionStorage.getItem(ge))||10),2),De=Re[0],Be=Re[1],Ve=function(){var e=A(b.useState(!1),2),t=e[0],n=e[1];return{loader:t,startLoader:function(){n(!0),C.start()},stopLoader:function(){n(!1),C.done()}}}(),Me=Ve.startLoader,Ne=Ve.stopLoader,Le=function(e,t,n,r,o){Me();var l=w?"&":"?";k.get("".concat(h).concat(l,"page=").concat(e+1,"&pageSize=").concat(t,"&sorting=").concat(JSON.stringify(n),"&globalFilter=").concat(r,"&columnFilters=").concat(JSON.stringify(o))).then((function(e){we(e.data),Ne()})).catch((function(e){console.log(e.message),Ne()}))};b.useImperativeHandle(t,(function(){return{updateRow:function(e){we((function(t){var n=t.data.map((function(t){return t.id===e.id?e:t}));return O(O({},t),{},{data:n})}))},refresh:function(){return Le(Te,De,xe,Oe,je)}}}));var Ge={props:{title:n,titleStyle:o,rowStyle:a,cellStyle:u,tableSize:f,columns:y,dataUrl:h,hasQueryParams:w,enableGlobalFilter:x,enableColumnFilters:I,globalFilterPlaceholder:j,enableCreateRow:K,createButtonVariant:B,createButtonTooltip:J,onCreateRow:U,rowsClickable:_,onRowClick:Z,globalActions:te,rowActions:re,keepState:le,stateKey:ae,filterActiveColor:ue,filterInactiveColor:fe,defaultSorting:pe},state:{data:Ee,columns:he,setData:we,sorting:xe,setSorting:ke,globalFilter:Oe,setGlobalFilter:Ie,columnFilters:je,setColumnFilters:Ae,pageIndex:Te,setPageIndex:Ke,pageSize:De,setPageSize:Be},api:{toggleSorting:function(e,t){ke((function(n){var r=n.find((function(e){return e.id===t.id})),o=[];r?o=!r.desc?e.altKey?[].concat(z(n.filter((function(e){return e.id!==t.id}))),[{id:t.id,desc:!0}]):[{id:t.id,desc:!0}]:e.altKey?z(n.filter((function(e){return e.id!==t.id}))):[]:o=e.altKey?[].concat(z(n),[{id:t.id,desc:!1}]):[{id:t.id,desc:!1}];return Ke(0),Le(0,De,o,Oe,je),o}))},getSortingStatus:function(e){var t=xe.find((function(t){return t.id===e.id}));return t?t.desc?"desc":"asc":null},handleGlobalFilterChange:function(e){Ie(e),Ke(0),Le(0,De,xe,e,je)},getColumnFilter:function(e){var t=je.find((function(t){return t.id===e.id}));return t?t.value:""},handleColumnFilterChange:function(e,t){Ae((function(n){var r=[];return r=n.find((function(t){return t.id===e.id}))?t?[].concat(z(n.filter((function(t){return t.id!==e.id}))),[{id:e.id,value:t}]):z(n.filter((function(t){return t.id!==e.id}))):[].concat(z(n),[{id:e.id,value:t}]),Ke(0),Le(0,De,xe,Oe,r),r}))}}};return b.useEffect((function(){Le(Te,De,xe,Oe,je)}),[]),b.useEffect((function(){me&&sessionStorage.setItem(me,Te)}),[Te]),b.useEffect((function(){ge&&sessionStorage.setItem(ge,De)}),[De]),b.useEffect((function(){ve&&sessionStorage.setItem(ve,JSON.stringify(xe))}),[xe]),b.useEffect((function(){be&&sessionStorage.setItem(be,Oe)}),[Oe]),b.useEffect((function(){ye&&sessionStorage.setItem(ye,JSON.stringify(je))}),[je]),b.createElement(b.Fragment,null,b.createElement(D.Provider,{value:Ge},b.createElement(i,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:1}},b.createElement(M,null),b.createElement(i,{sx:{display:"flex",gap:2,justifyContent:"end",alignItems:"center"}},b.createElement(V,null),b.createElement(N,null),b.createElement(L,null))),b.createElement(d,null,b.createElement(p,{size:f},b.createElement(m,null,b.createElement(q,null)),b.createElement(g,null,Ee.data.map((function(e){return b.createElement($,{key:e.id,row:e})})))))),b.createElement(v,{sx:{marginTop:1,overflow:"hidden"},component:"div",showFirstButton:!0,showLastButton:!0,count:parseInt(Ee.total),page:0!=Ee.page?Ee.page-1:0,rowsPerPage:Ee.page_size,onPageChange:function(e,t){return Ke(n=t),void Le(n,De,xe,Oe,je);var n},onRowsPerPageChange:function(e){return t=e.target.value,Be(t),Ke(0),void Le(0,t,xe,Oe,je);var t},labelDisplayedRows:function(e){return"".concat(e.from," έως ").concat(e.to," από ").concat(e.count)},labelRowsPerPage:"Εγγραφές ανά σελίδα"}))}));export{Z as ServerSideTable};
|