@artibet/react-mui-components 2.2.1 → 2.4.0
Sign up to get free protection for your applications and to get access to all the features.
- package/form-fields/index.js +1 -0
- package/package.json +72 -65
- package/tables/index.js +1 -0
@@ -0,0 +1 @@
|
|
1
|
+
import{TextField as e,FormGroup as r,FormControlLabel as n,Switch as o,Typography as t,Stack as l,Box as a,Popover as i,Autocomplete as u}from"@mui/material";import d from"react";import{Controller as c}from"react-hook-form";import{ChromePicker as s}from"react-color";function f(){return f=Object.assign?Object.assign.bind():function(e){for(var r=1;r<arguments.length;r++){var n=arguments[r];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},f.apply(this,arguments)}function v(e,r){if(null==e)return{};var n,o,t=function(e,r){if(null==e)return{};var n,o,t={},l=Object.keys(e);for(o=0;o<l.length;o++)n=l[o],r.indexOf(n)>=0||(t[n]=e[n]);return t}(e,r);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(o=0;o<l.length;o++)n=l[o],r.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(t[n]=e[n])}return t}function m(e,r){return function(e){if(Array.isArray(e))return e}(e)||function(e,r){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var o,t,l,a,i=[],u=!0,d=!1;try{if(l=(n=n.call(e)).next,0===r){if(Object(n)!==n)return;u=!1}else for(;!(u=(o=l.call(n)).done)&&(i.push(o.value),i.length!==r);u=!0);}catch(e){d=!0,t=e}finally{try{if(!u&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(d)throw t}}return i}}(e,r)||function(e,r){if(!e)return;if("string"==typeof e)return b(e,r);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 b(e,r)}(e,r)||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 b(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,o=new Array(r);n<r;n++)o[n]=e[n];return o}var p=["form","name","label","maxLength","required","disabled","autofocus"],g=function(r){var n=r.form,o=r.name,t=r.label,l=r.maxLength,a=void 0===l?255:l,i=r.required,u=void 0!==i&&i,s=r.disabled,m=void 0!==s&&s,b=r.autofocus,g=void 0!==b&&b,h=v(r,p),x=n.control,y=n.formState.errors;return d.createElement(c,{name:o,control:x,rules:{required:u,disabled:m},render:function(r){var n,l,i=r.field,c=i.onChange,s=i.onBlur,v=i.value;return d.createElement(e,f({required:u,label:t,value:v,onChange:c,onBlur:s,error:Boolean(null===(n=y[o])||void 0===n?void 0:n.message),fullWidth:!0,helperText:null===(l=y[o])||void 0===l?void 0:l.message,variant:"outlined",disabled:m,autoFocus:g,inputProps:{maxLength:a}},h))}})},h=["form","name","label","required","disabled","autofocus"],x=function(r){var n=r.form,o=r.name,t=void 0===o?"password":o,l=r.label,a=void 0===l?"Κωδικός Πρόσβασης":l,i=r.required,u=void 0===i||i,s=r.disabled,m=void 0!==s&&s,b=r.autofocus,p=void 0!==b&&b,g=v(r,h),x=n.control,y=n.formState.errors;return d.createElement(c,{name:t,control:x,rules:{required:u,disabled:m},render:function(r){var n,o,l=r.field,i=l.onChange,c=l.onBlur,s=l.value;return d.createElement(e,f({required:u,label:a,value:s,onChange:i,onBlur:c,error:Boolean(null===(n=y[t])||void 0===n?void 0:n.message),fullWidth:!0,helperText:null===(o=y[t])||void 0===o?void 0:o.message,variant:"outlined",disabled:m,autoFocus:p,type:"password"},g))}})},y=["form","name","label","required","disabled","autofocus"],E=function(r){var n=r.form,o=r.name,t=void 0===o?"email":o,l=r.label,a=void 0===l?"E-mail":l,i=r.required,u=void 0===i||i,s=r.disabled,m=void 0!==s&&s,b=r.autofocus,p=void 0!==b&&b,g=v(r,y),h=n.control,x=n.formState.errors;return d.createElement(c,{name:t,control:h,rules:{required:u,disabled:m},render:function(r){var n,o,l=r.field,i=l.onChange,c=l.onBlur,s=l.value;return d.createElement(e,f({required:u,label:a,value:s,onChange:i,onBlur:c,error:Boolean(null===(n=x[t])||void 0===n?void 0:n.message),fullWidth:!0,helperText:null===(o=x[t])||void 0===o?void 0:o.message,variant:"outlined",disabled:m,autoFocus:p},g))}})},O=["form","name","label","disabled"],q=function(e){var t=e.form,l=e.name,a=e.label,i=e.disabled,u=void 0!==i&&i,s=v(e,O),f=t.control;return d.createElement(c,{name:l,control:f,rules:{disabled:u},render:function(e){var i=e.field;i.onChange,i.onBlur;var u=i.value;return d.createElement(r,s,d.createElement(n,{control:d.createElement(o,{checked:Boolean(u),onChange:function(e){return t.setValue(l,e.target.checked)},inputProps:{"aria-label":a}}),label:a}))}})},C=function(e){var r=e.label,n=void 0===r?"":r,o=e.color,l=void 0===o?"white":o,a=e.backgroundColor,i=void 0===a?"#888888":a,u=e.paddingX,c=void 0===u?"10px":u,s=e.paddingY,f=void 0===s?"5px":s,v=e.borderRadius,m=void 0===v?"10px":v,b=e.fontSize,p=void 0===b?"14px":b,g=e.width,h={text:{display:"inline-block",textAlign:"center",backgroundColor:i,paddingX:c,paddingY:f,borderRadius:m,width:void 0===g?"auto":g,color:l,fontSize:p}};return d.createElement(t,{sx:h.text},n)},w=["form","name","label","selectionWidth","pickerWidth","selectionTextColor","paddingY","paddingX","required","disabled"],B=function(e){var r=e.form,n=e.name,o=void 0===n?"color":n,u=e.label,b=void 0===u?"Επιλογή Χρώματος":u,p=e.selectionWidth,g=void 0===p?70:p,h=e.pickerWidth,x=void 0===h?350:h,y=e.selectionTextColor,E=void 0===y?"white":y,O=e.paddingY,q=void 0===O?"10px":O,B=e.paddingX,S=void 0===B?"10px":B,T=e.required,j=void 0!==T&&T,k=e.disabled,W=void 0!==k&&k,A=v(e,w),L=m(d.useState(null),2),P=L[0],I=L[1],X=Boolean(P),Y=X?"color-picker":void 0,F=r.control;return d.createElement(c,{name:o,control:F,rules:{disabled:W},render:function(e){var r=e.field,n=r.onChange;r.onBlur;var o=r.value;return d.createElement(l,f({gap:1},A),d.createElement(t,null,"".concat(b," ").concat(j?"*":"")),d.createElement(a,{sx:{display:"flex"}},d.createElement(a,{"aria-describedby":Y,sx:{cursor:"pointer"},onClick:function(e){return I(e.currentTarget)}},d.createElement(C,{color:E,backgroundColor:o,paddingY:q,paddingX:S,width:g,label:o}))),d.createElement(i,{sx:{marginTop:"10px"},id:Y,open:X,anchorEl:P,onClose:function(){return I(null)},anchorOrigin:{vertical:"bottom",horizontal:"left"}},d.createElement(a,null,d.createElement(s,{width:x,color:o,onChange:function(e){return n(e.hex)}}))))}})},S=["form","name","label","required","disabled","options","valueKey","labelKey","maxLength","autofocus","noOptionsText"],T=function(r){var n=r.form,o=r.name,t=r.label,l=r.required,a=void 0!==l&&l,i=r.disabled,s=void 0!==i&&i,b=r.options,p=void 0===b?[]:b,g=r.valueKey,h=void 0===g?"id":g;r.labelKey;var x=r.maxLength,y=void 0===x?255:x,E=r.autofocus,O=void 0!==E&&E,q=r.noOptionsText,C=void 0===q?"Δεν υπάρχουν επιλογές":q,w=v(r,S),B=m(d.useState(null),2),T=B[0],j=B[1],k=n.watch(o);d.useEffect((function(){j(p.find((function(e){return e[h]===k}))||null)}),[k]);var W=n.control,A=n.formState.errors;return d.createElement(c,{name:o,control:W,rules:{required:a,disabled:s},render:function(r){var n=r.field,l=n.onChange,i=n.onBlur;return n.value,d.createElement(u,{value:T,required:a,onChange:function(e,r){return l(r?r[h]:null)},options:p,isOptionEqualToValue:function(e,r){return e[h]===r[h]},noOptionsText:C,renderInput:function(r){var n,l;return d.createElement(e,f({label:t,required:a,disabled:s,autoFocus:O,inputProps:{maxLength:y},error:Boolean(null===(n=A[o])||void 0===n?void 0:n.message),onBlur:i,variant:"outlined",fullWidth:!0,helperText:null===(l=A[o])||void 0===l?void 0:l.message},r,w))}})}})};export{T as MyAutocompleteField,B as MyColorPickerField,E as MyEmailField,x as MyPasswordField,q as MySwitchField,g as MyTextField};
|
package/package.json
CHANGED
@@ -1,67 +1,74 @@
|
|
1
1
|
{
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
"
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
"
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
"
|
2
|
+
"name": "@artibet/react-mui-components",
|
3
|
+
"version": "2.4.0",
|
4
|
+
"description": "Various react components build with mui library",
|
5
|
+
"main": "./core/index.js",
|
6
|
+
"scripts": {
|
7
|
+
"rollup": "rollup -c"
|
8
|
+
},
|
9
|
+
"repository": {
|
10
|
+
"type": "git",
|
11
|
+
"url": "git+https://github.com/artibet/react-mui-components.git"
|
12
|
+
},
|
13
|
+
"keywords": [
|
14
|
+
"react",
|
15
|
+
"mui",
|
16
|
+
"components"
|
17
|
+
],
|
18
|
+
"author": "Tsakiridis Sotiris",
|
19
|
+
"license": "ISC",
|
20
|
+
"bugs": {
|
21
|
+
"url": "https://github.com/artibet/react-mui-components/issues"
|
22
|
+
},
|
23
|
+
"homepage": "https://github.com/artibet/react-mui-components#readme",
|
24
|
+
"peerDependencies": {
|
25
|
+
"@emotion/react": "^11.11.1",
|
26
|
+
"@emotion/styled": "^11.11.0",
|
27
|
+
"@fontsource/roboto": "^5.0.8",
|
28
|
+
"@hookform/resolvers": "^3.2.0",
|
29
|
+
"@mui/icons-material": "^5.14.7",
|
30
|
+
"@mui/material": "^5.14.7",
|
31
|
+
"date-fns": "^2.30.0",
|
32
|
+
"nprogress": "^0.2.0",
|
33
|
+
"react": "^18.2.0",
|
34
|
+
"react-color": "^2.19.3",
|
35
|
+
"react-dom": "^18.2.0",
|
36
|
+
"react-hook-form": "^7.45.4",
|
37
|
+
"react-icons": "^4.10.1",
|
38
|
+
"react-input-mask": "^2.0.4",
|
39
|
+
"yup": "^1.2.0",
|
40
|
+
"axios": "^1.5.0"
|
41
|
+
},
|
42
|
+
"files": [
|
43
|
+
"core",
|
44
|
+
"hooks",
|
45
|
+
"utils",
|
46
|
+
"modals",
|
47
|
+
"form-fields",
|
48
|
+
"tables"
|
49
|
+
],
|
50
|
+
"devDependencies": {
|
51
|
+
"@babel/core": "^7.22.11",
|
52
|
+
"@babel/plugin-transform-runtime": "^7.22.10",
|
53
|
+
"@babel/preset-env": "^7.22.14",
|
54
|
+
"@babel/preset-react": "^7.22.5",
|
55
|
+
"@babel/preset-typescript": "^7.22.11",
|
56
|
+
"@hookform/resolvers": "^3.2.0",
|
57
|
+
"@rollup/plugin-babel": "^6.0.3",
|
58
|
+
"@rollup/plugin-commonjs": "^25.0.4",
|
59
|
+
"@rollup/plugin-node-resolve": "^15.2.1",
|
60
|
+
"@rollup/plugin-terser": "^0.4.3",
|
61
|
+
"@rollup/plugin-typescript": "^11.1.3",
|
62
|
+
"axios": "^1.5.0",
|
63
|
+
"date-fns": "^2.30.0",
|
64
|
+
"nprogress": "^0.2.0",
|
65
|
+
"react-color": "^2.19.3",
|
66
|
+
"react-hook-form": "^7.45.4",
|
67
|
+
"react-icons": "^4.10.1",
|
68
|
+
"react-input-mask": "^2.0.4",
|
69
|
+
"rollup-plugin-peer-deps-external": "^2.2.4",
|
70
|
+
"rollup-plugin-postcss": "^4.0.2",
|
71
|
+
"typescript": "^5.2.2",
|
72
|
+
"yup": "^1.2.0"
|
73
|
+
}
|
67
74
|
}
|
package/tables/index.js
ADDED
@@ -0,0 +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 S,TiArrowUnsorted as w}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,color:"success",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(S,{size:20})}[r.getSortingStatus(n)])&&void 0!==t?t:b.createElement(w,{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,S=A(b.useState(-1),2),w=S[0],x=S[1];b.useEffect((function(){x(null===r||""===r?-1:r)}),[r]);return b.createElement(a,{sx:{backgroundColor:-1!==w?g:h,color:-1==w?"#cccccc":""},value:w,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!==w?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"],_=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))}})},q=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(_,{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},$=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(q,{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},Q=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=function(e){var t=e.title,n=e.titleStyle,r=void 0===n?{}:n,o=e.rowStyle,l=void 0===o?null:o,a=e.cellStyle,c=void 0===a?null:a,u=e.tableSize,s=void 0===u?"medium":u,f=e.columns,y=e.dataUrl,h=e.enableGlobalFilter,E=void 0!==h&&h,S=e.enableColumnFilters,w=void 0!==S&&S,x=e.globalFilterPlaceholder,F=void 0===x?"Καθολική Αναζήτηση":x,I=e.enableCreateRow,P=void 0!==I&&I,j=e.createButtonVariant,T=void 0===j?"contained":j,K=e.createButtonTooltip,R=void 0===K?"Νέα Εγγραφή":K,B=e.onCreateRow,G=void 0===B?null:B,J=e.rowsClickable,W=void 0!==J&&J,U=e.onRowClick,_=void 0===U?null:U,q=e.globalActions,H=void 0===q?[]:q,Z=e.rowActions,ee=void 0===Z?[]:Z,te=e.keepState,ne=void 0===te||te,re=e.stateKey,oe=void 0===re?null:re,le=e.filterActiveColor,ie=void 0===le?"#D4F7F4":le,ae=e.filterInactiveColor,ce=void 0===ae?"white":ae,ue=e.defaultSorting,se=void 0===ue?[]:ue,fe=b.useMemo((function(){return!(!ne||!oe)&&"".concat(oe,".pageIndex")}),[]),de=b.useMemo((function(){return!(!ne||!oe)&&"".concat(oe,".pageSize")}),[]),pe=b.useMemo((function(){return!(!ne||!oe)&&"".concat(oe,".sorting")}),[]),me=b.useMemo((function(){return!(!ne||!oe)&&"".concat(oe,".globalFilter")}),[]),ge=b.useMemo((function(){return!(!ne||!oe)&&"".concat(oe,".columnFilters")}),[]),ve=b.useMemo((function(){return f.map((function(e){return O(O({},X),e)}))})),be=A(b.useState(Y),2),ye=be[0],he=be[1],Ce=A(b.useState(pe&&JSON.parse(sessionStorage.getItem(pe))||se),2),Ee=Ce[0],Se=Ce[1],we=A(b.useState(me&&sessionStorage.getItem(me)||""),2),xe=we[0],ke=we[1],Fe=A(b.useState(ge&&JSON.parse(sessionStorage.getItem(ge))||[]),2),Oe=Fe[0],Ie=Fe[1],Pe=A(b.useState(fe&&parseInt(sessionStorage.getItem(fe))||0),2),je=Pe[0],Ae=Pe[1],ze=A(b.useState(de&&parseInt(sessionStorage.getItem(de))||10),2),Te=ze[0],Ke=ze[1],Re=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()}}}(),De=Re.startLoader,Be=Re.stopLoader,Ve=function(e,t,n,r,o){De(),k.get("".concat(y,"?page=").concat(e+1,"&pageSize=").concat(t,"&sorting=").concat(JSON.stringify(n),"&globalFilter=").concat(r,"&columnFilters=").concat(JSON.stringify(o))).then((function(e){he(e.data),Be()})).catch((function(e){console.log(e.message),Be()}))},Me={props:{title:t,titleStyle:r,rowStyle:l,cellStyle:c,tableSize:s,columns:f,dataUrl:y,enableGlobalFilter:E,enableColumnFilters:w,globalFilterPlaceholder:F,enableCreateRow:P,createButtonVariant:T,createButtonTooltip:R,onCreateRow:G,rowsClickable:W,onRowClick:_,globalActions:H,rowActions:ee,keepState:ne,stateKey:oe,filterActiveColor:ie,filterInactiveColor:ce,defaultSorting:se},state:{data:ye,columns:ve,setData:he,sorting:Ee,setSorting:Se,globalFilter:xe,setGlobalFilter:ke,columnFilters:Oe,setColumnFilters:Ie,pageIndex:je,setPageIndex:Ae,pageSize:Te,setPageSize:Ke},api:{toggleSorting:function(e,t){Se((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 Ae(0),Ve(0,Te,o,xe,Oe),o}))},getSortingStatus:function(e){var t=Ee.find((function(t){return t.id===e.id}));return t?t.desc?"desc":"asc":null},handleGlobalFilterChange:function(e){ke(e),Ae(0),Ve(0,Te,Ee,e,Oe)},getColumnFilter:function(e){var t=Oe.find((function(t){return t.id===e.id}));return t?t.value:""},handleColumnFilterChange:function(e,t){Ie((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}]),Ae(0),Ve(0,Te,Ee,xe,r),r}))}}};return b.useEffect((function(){Ve(je,Te,Ee,xe,Oe)}),[]),b.useEffect((function(){fe&&sessionStorage.setItem(fe,je)}),[je]),b.useEffect((function(){de&&sessionStorage.setItem(de,Te)}),[Te]),b.useEffect((function(){pe&&sessionStorage.setItem(pe,JSON.stringify(Ee))}),[Ee]),b.useEffect((function(){me&&sessionStorage.setItem(me,xe)}),[xe]),b.useEffect((function(){ge&&sessionStorage.setItem(ge,JSON.stringify(Oe))}),[Oe]),b.createElement(b.Fragment,null,b.createElement(D.Provider,{value:Me},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:s},b.createElement(m,null,b.createElement($,null)),b.createElement(g,null,ye.data.map((function(e){return b.createElement(Q,{key:e.id,row:e})})))))),b.createElement(v,{sx:{marginTop:1,overflow:"hidden"},component:"div",showFirstButton:!0,showLastButton:!0,count:parseInt(ye.total),page:0!=ye.page?ye.page-1:0,rowsPerPage:ye.page_size,onPageChange:function(e,t){return Ae(n=t),void Ve(n,Te,Ee,xe,Oe);var n},onRowsPerPageChange:function(e){return t=e.target.value,Ke(t),Ae(0),void Ve(0,t,Ee,xe,Oe);var t},labelDisplayedRows:function(e){return"".concat(e.from," έως ").concat(e.to," από ").concat(e.count)},labelRowsPerPage:"Εγγραφές ανά σελίδα"}))};export{Z as ServerSideTable};
|