08/08/23 - 22h

recette2
cherif 2023-08-08 22:16:06 +02:00
parent 4a2d431d2b
commit 22cb8c5b21
4 changed files with 549 additions and 343 deletions

365
package-lock.json generated
View File

@ -25,7 +25,8 @@
"@material/tooltip": "^14.0.0",
"@mui/icons-material": "^5.4.2",
"@mui/lab": "^5.0.0-alpha.137",
"@mui/material": "^5.14.2",
"@mui/material": "^5.14.4",
"@mui/styles": "^5.14.4",
"@mui/x-data-grid": "^5.17.26",
"@mui/x-date-pickers": "^5.0.0",
"@mui/x-date-pickers-pro": "^5.0.0",
@ -5281,9 +5282,9 @@
}
},
"node_modules/@mui/core-downloads-tracker": {
"version": "5.14.2",
"resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.14.2.tgz",
"integrity": "sha512-x+c/MgDL1t/IIy5lDbMlrDouFG5DYZbl3DP4dbbuhlpPFBnE9glYwmJEee/orVHQpOPwLxCAIWQs+2DKSaBVWQ==",
"version": "5.14.4",
"resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.14.4.tgz",
"integrity": "sha512-pW2XghSi3hpYKX57Wu0SCWMTSpzvXZmmucj3TcOJWaCiFt4xr05w2gcwBZi36dAp9uvd9//9N51qbblmnD+GPg==",
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/mui"
@ -5356,18 +5357,18 @@
}
},
"node_modules/@mui/material": {
"version": "5.14.2",
"resolved": "https://registry.npmjs.org/@mui/material/-/material-5.14.2.tgz",
"integrity": "sha512-TgNR4/YRL11RifsnMWNhITNCkGJYVz20SCvVJBBoU5Y/KhUNSSJxjDpEB8VrnY+sUsV0NigLCkHZJglfsiS3Pw==",
"version": "5.14.4",
"resolved": "https://registry.npmjs.org/@mui/material/-/material-5.14.4.tgz",
"integrity": "sha512-2XUV3KyRC07BQPPzEgd+ss3x/ezXtHeKtOGCMCNmx3MauZojPYUpSwFkE0fYgYCD9dMQMVG4DY/VF38P0KShsg==",
"dependencies": {
"@babel/runtime": "^7.22.6",
"@mui/base": "5.0.0-beta.8",
"@mui/core-downloads-tracker": "^5.14.2",
"@mui/system": "^5.14.1",
"@mui/base": "5.0.0-beta.10",
"@mui/core-downloads-tracker": "^5.14.4",
"@mui/system": "^5.14.4",
"@mui/types": "^7.2.4",
"@mui/utils": "^5.14.1",
"@mui/utils": "^5.14.4",
"@types/react-transition-group": "^4.4.6",
"clsx": "^1.2.1",
"clsx": "^2.0.0",
"csstype": "^3.1.2",
"prop-types": "^15.8.1",
"react-is": "^18.2.0",
@ -5399,13 +5400,53 @@
}
}
},
"node_modules/@mui/private-theming": {
"version": "5.13.7",
"resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.13.7.tgz",
"integrity": "sha512-qbSr+udcij5F9dKhGX7fEdx2drXchq7htLNr2Qg2Ma+WJ6q0ERlEqGSBiPiVDJkptcjeVL4DGmcf1wl5+vD4EA==",
"node_modules/@mui/material/node_modules/@mui/base": {
"version": "5.0.0-beta.10",
"resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-beta.10.tgz",
"integrity": "sha512-moTAhGwFfQffj7hsu61FnqcGqVcd53A1CrOhnskM9TF0Uh2rnLDMCuar4JRUWWpaJofAfQEbQBBFPadFQLI4PA==",
"dependencies": {
"@babel/runtime": "^7.22.5",
"@mui/utils": "^5.13.7",
"@babel/runtime": "^7.22.6",
"@emotion/is-prop-valid": "^1.2.1",
"@mui/types": "^7.2.4",
"@mui/utils": "^5.14.4",
"@popperjs/core": "^2.11.8",
"clsx": "^2.0.0",
"prop-types": "^15.8.1",
"react-is": "^18.2.0"
},
"engines": {
"node": ">=12.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/mui"
},
"peerDependencies": {
"@types/react": "^17.0.0 || ^18.0.0",
"react": "^17.0.0 || ^18.0.0",
"react-dom": "^17.0.0 || ^18.0.0"
},
"peerDependenciesMeta": {
"@types/react": {
"optional": true
}
}
},
"node_modules/@mui/material/node_modules/clsx": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/clsx/-/clsx-2.0.0.tgz",
"integrity": "sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==",
"engines": {
"node": ">=6"
}
},
"node_modules/@mui/private-theming": {
"version": "5.14.4",
"resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.14.4.tgz",
"integrity": "sha512-ISXsHDiQ3z1XA4IuKn+iXDWvDjcz/UcQBiFZqtdoIsEBt8CB7wgdQf3LwcwqO81dl5ofg/vNQBEnXuKfZHrnYA==",
"dependencies": {
"@babel/runtime": "^7.22.6",
"@mui/utils": "^5.14.4",
"prop-types": "^15.8.1"
},
"engines": {
@ -5456,17 +5497,65 @@
}
}
},
"node_modules/@mui/system": {
"version": "5.14.1",
"resolved": "https://registry.npmjs.org/@mui/system/-/system-5.14.1.tgz",
"integrity": "sha512-u+xlsU34Jdkgx1CxmBnIC4Y08uPdVX5iEd3S/1dggDFtOGp+Lj8xmKRJAQ8PJOOJLOh8pDwaZx4AwXikL4l1QA==",
"node_modules/@mui/styles": {
"version": "5.14.4",
"resolved": "https://registry.npmjs.org/@mui/styles/-/styles-5.14.4.tgz",
"integrity": "sha512-I4C7q/s17h8AA9FA63oLPdEHnEQlAPNX3zGngxsOYfSLZJB/VhR2SsrkIZFzUazd6a2o2nC997lbAACn3CstKw==",
"dependencies": {
"@babel/runtime": "^7.22.6",
"@mui/private-theming": "^5.13.7",
"@emotion/hash": "^0.9.1",
"@mui/private-theming": "^5.14.4",
"@mui/types": "^7.2.4",
"@mui/utils": "^5.14.4",
"clsx": "^2.0.0",
"csstype": "^3.1.2",
"hoist-non-react-statics": "^3.3.2",
"jss": "^10.10.0",
"jss-plugin-camel-case": "^10.10.0",
"jss-plugin-default-unit": "^10.10.0",
"jss-plugin-global": "^10.10.0",
"jss-plugin-nested": "^10.10.0",
"jss-plugin-props-sort": "^10.10.0",
"jss-plugin-rule-value-function": "^10.10.0",
"jss-plugin-vendor-prefixer": "^10.10.0",
"prop-types": "^15.8.1"
},
"engines": {
"node": ">=12.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/mui"
},
"peerDependencies": {
"@types/react": "^17.0.0 || ^18.0.0",
"react": "^17.0.0"
},
"peerDependenciesMeta": {
"@types/react": {
"optional": true
}
}
},
"node_modules/@mui/styles/node_modules/clsx": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/clsx/-/clsx-2.0.0.tgz",
"integrity": "sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==",
"engines": {
"node": ">=6"
}
},
"node_modules/@mui/system": {
"version": "5.14.4",
"resolved": "https://registry.npmjs.org/@mui/system/-/system-5.14.4.tgz",
"integrity": "sha512-oPgfWS97QNfHcDBapdkZIs4G5i85BJt69Hp6wbXF6s7vi3Evcmhdk8AbCRW6n0sX4vTj8oe0mh0RIm1G2A1KDA==",
"dependencies": {
"@babel/runtime": "^7.22.6",
"@mui/private-theming": "^5.14.4",
"@mui/styled-engine": "^5.13.2",
"@mui/types": "^7.2.4",
"@mui/utils": "^5.14.1",
"clsx": "^1.2.1",
"@mui/utils": "^5.14.4",
"clsx": "^2.0.0",
"csstype": "^3.1.2",
"prop-types": "^15.8.1"
},
@ -5495,6 +5584,14 @@
}
}
},
"node_modules/@mui/system/node_modules/clsx": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/clsx/-/clsx-2.0.0.tgz",
"integrity": "sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==",
"engines": {
"node": ">=6"
}
},
"node_modules/@mui/types": {
"version": "7.2.4",
"resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.4.tgz",
@ -5509,9 +5606,9 @@
}
},
"node_modules/@mui/utils": {
"version": "5.14.1",
"resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.14.1.tgz",
"integrity": "sha512-39KHKK2JeqRmuUcLDLwM+c2XfVC136C5/yUyQXmO2PVbOb2Bol4KxtkssEqCbTwg87PSCG3f1Tb0keRsK7cVGw==",
"version": "5.14.4",
"resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.14.4.tgz",
"integrity": "sha512-4ANV0txPD3x0IcTCSEHKDWnsutg1K3m6Vz5IckkbLXVYu17oOZCVUdOKsb/txUmaCd0v0PmSRe5PW+Mlvns5dQ==",
"dependencies": {
"@babel/runtime": "^7.22.6",
"@types/prop-types": "^15.7.5",
@ -24015,8 +24112,9 @@
}
},
"node_modules/jss": {
"version": "10.9.2",
"license": "MIT",
"version": "10.10.0",
"resolved": "https://registry.npmjs.org/jss/-/jss-10.10.0.tgz",
"integrity": "sha512-cqsOTS7jqPsPMjtKYDUpdFC0AbhYFLTcuGRqymgmdJIeQ8cH7+AgX7YSgQy79wXloZq2VvATYxUOUQEvS1V/Zw==",
"dependencies": {
"@babel/runtime": "^7.3.1",
"csstype": "^3.0.2",
@ -24029,63 +24127,70 @@
}
},
"node_modules/jss-plugin-camel-case": {
"version": "10.9.2",
"license": "MIT",
"version": "10.10.0",
"resolved": "https://registry.npmjs.org/jss-plugin-camel-case/-/jss-plugin-camel-case-10.10.0.tgz",
"integrity": "sha512-z+HETfj5IYgFxh1wJnUAU8jByI48ED+v0fuTuhKrPR+pRBYS2EDwbusU8aFOpCdYhtRc9zhN+PJ7iNE8pAWyPw==",
"dependencies": {
"@babel/runtime": "^7.3.1",
"hyphenate-style-name": "^1.0.3",
"jss": "10.9.2"
"jss": "10.10.0"
}
},
"node_modules/jss-plugin-default-unit": {
"version": "10.9.2",
"license": "MIT",
"version": "10.10.0",
"resolved": "https://registry.npmjs.org/jss-plugin-default-unit/-/jss-plugin-default-unit-10.10.0.tgz",
"integrity": "sha512-SvpajxIECi4JDUbGLefvNckmI+c2VWmP43qnEy/0eiwzRUsafg5DVSIWSzZe4d2vFX1u9nRDP46WCFV/PXVBGQ==",
"dependencies": {
"@babel/runtime": "^7.3.1",
"jss": "10.9.2"
"jss": "10.10.0"
}
},
"node_modules/jss-plugin-global": {
"version": "10.9.2",
"license": "MIT",
"version": "10.10.0",
"resolved": "https://registry.npmjs.org/jss-plugin-global/-/jss-plugin-global-10.10.0.tgz",
"integrity": "sha512-icXEYbMufiNuWfuazLeN+BNJO16Ge88OcXU5ZDC2vLqElmMybA31Wi7lZ3lf+vgufRocvPj8443irhYRgWxP+A==",
"dependencies": {
"@babel/runtime": "^7.3.1",
"jss": "10.9.2"
"jss": "10.10.0"
}
},
"node_modules/jss-plugin-nested": {
"version": "10.9.2",
"license": "MIT",
"version": "10.10.0",
"resolved": "https://registry.npmjs.org/jss-plugin-nested/-/jss-plugin-nested-10.10.0.tgz",
"integrity": "sha512-9R4JHxxGgiZhurDo3q7LdIiDEgtA1bTGzAbhSPyIOWb7ZubrjQe8acwhEQ6OEKydzpl8XHMtTnEwHXCARLYqYA==",
"dependencies": {
"@babel/runtime": "^7.3.1",
"jss": "10.9.2",
"jss": "10.10.0",
"tiny-warning": "^1.0.2"
}
},
"node_modules/jss-plugin-props-sort": {
"version": "10.9.2",
"license": "MIT",
"version": "10.10.0",
"resolved": "https://registry.npmjs.org/jss-plugin-props-sort/-/jss-plugin-props-sort-10.10.0.tgz",
"integrity": "sha512-5VNJvQJbnq/vRfje6uZLe/FyaOpzP/IH1LP+0fr88QamVrGJa0hpRRyAa0ea4U/3LcorJfBFVyC4yN2QC73lJg==",
"dependencies": {
"@babel/runtime": "^7.3.1",
"jss": "10.9.2"
"jss": "10.10.0"
}
},
"node_modules/jss-plugin-rule-value-function": {
"version": "10.9.2",
"license": "MIT",
"version": "10.10.0",
"resolved": "https://registry.npmjs.org/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.10.0.tgz",
"integrity": "sha512-uEFJFgaCtkXeIPgki8ICw3Y7VMkL9GEan6SqmT9tqpwM+/t+hxfMUdU4wQ0MtOiMNWhwnckBV0IebrKcZM9C0g==",
"dependencies": {
"@babel/runtime": "^7.3.1",
"jss": "10.9.2",
"jss": "10.10.0",
"tiny-warning": "^1.0.2"
}
},
"node_modules/jss-plugin-vendor-prefixer": {
"version": "10.9.2",
"license": "MIT",
"version": "10.10.0",
"resolved": "https://registry.npmjs.org/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.10.0.tgz",
"integrity": "sha512-UY/41WumgjW8r1qMCO8l1ARg7NHnfRVWRhZ2E2m0DMYsr2DD91qIXLyNhiX83hHswR7Wm4D+oDYNC1zWCJWtqg==",
"dependencies": {
"@babel/runtime": "^7.3.1",
"css-vendor": "^2.0.8",
"jss": "10.9.2"
"jss": "10.10.0"
}
},
"node_modules/jsx-ast-utils": {
@ -49554,9 +49659,9 @@
}
},
"@mui/core-downloads-tracker": {
"version": "5.14.2",
"resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.14.2.tgz",
"integrity": "sha512-x+c/MgDL1t/IIy5lDbMlrDouFG5DYZbl3DP4dbbuhlpPFBnE9glYwmJEee/orVHQpOPwLxCAIWQs+2DKSaBVWQ=="
"version": "5.14.4",
"resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.14.4.tgz",
"integrity": "sha512-pW2XghSi3hpYKX57Wu0SCWMTSpzvXZmmucj3TcOJWaCiFt4xr05w2gcwBZi36dAp9uvd9//9N51qbblmnD+GPg=="
},
"@mui/icons-material": {
"version": "5.14.1",
@ -49582,31 +49687,53 @@
}
},
"@mui/material": {
"version": "5.14.2",
"resolved": "https://registry.npmjs.org/@mui/material/-/material-5.14.2.tgz",
"integrity": "sha512-TgNR4/YRL11RifsnMWNhITNCkGJYVz20SCvVJBBoU5Y/KhUNSSJxjDpEB8VrnY+sUsV0NigLCkHZJglfsiS3Pw==",
"version": "5.14.4",
"resolved": "https://registry.npmjs.org/@mui/material/-/material-5.14.4.tgz",
"integrity": "sha512-2XUV3KyRC07BQPPzEgd+ss3x/ezXtHeKtOGCMCNmx3MauZojPYUpSwFkE0fYgYCD9dMQMVG4DY/VF38P0KShsg==",
"requires": {
"@babel/runtime": "^7.22.6",
"@mui/base": "5.0.0-beta.8",
"@mui/core-downloads-tracker": "^5.14.2",
"@mui/system": "^5.14.1",
"@mui/base": "5.0.0-beta.10",
"@mui/core-downloads-tracker": "^5.14.4",
"@mui/system": "^5.14.4",
"@mui/types": "^7.2.4",
"@mui/utils": "^5.14.1",
"@mui/utils": "^5.14.4",
"@types/react-transition-group": "^4.4.6",
"clsx": "^1.2.1",
"clsx": "^2.0.0",
"csstype": "^3.1.2",
"prop-types": "^15.8.1",
"react-is": "^18.2.0",
"react-transition-group": "^4.4.5"
},
"dependencies": {
"@mui/base": {
"version": "5.0.0-beta.10",
"resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-beta.10.tgz",
"integrity": "sha512-moTAhGwFfQffj7hsu61FnqcGqVcd53A1CrOhnskM9TF0Uh2rnLDMCuar4JRUWWpaJofAfQEbQBBFPadFQLI4PA==",
"requires": {
"@babel/runtime": "^7.22.6",
"@emotion/is-prop-valid": "^1.2.1",
"@mui/types": "^7.2.4",
"@mui/utils": "^5.14.4",
"@popperjs/core": "^2.11.8",
"clsx": "^2.0.0",
"prop-types": "^15.8.1",
"react-is": "^18.2.0"
}
},
"clsx": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/clsx/-/clsx-2.0.0.tgz",
"integrity": "sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q=="
}
}
},
"@mui/private-theming": {
"version": "5.13.7",
"resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.13.7.tgz",
"integrity": "sha512-qbSr+udcij5F9dKhGX7fEdx2drXchq7htLNr2Qg2Ma+WJ6q0ERlEqGSBiPiVDJkptcjeVL4DGmcf1wl5+vD4EA==",
"version": "5.14.4",
"resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.14.4.tgz",
"integrity": "sha512-ISXsHDiQ3z1XA4IuKn+iXDWvDjcz/UcQBiFZqtdoIsEBt8CB7wgdQf3LwcwqO81dl5ofg/vNQBEnXuKfZHrnYA==",
"requires": {
"@babel/runtime": "^7.22.5",
"@mui/utils": "^5.13.7",
"@babel/runtime": "^7.22.6",
"@mui/utils": "^5.14.4",
"prop-types": "^15.8.1"
}
},
@ -49621,19 +49748,57 @@
"prop-types": "^15.8.1"
}
},
"@mui/system": {
"version": "5.14.1",
"resolved": "https://registry.npmjs.org/@mui/system/-/system-5.14.1.tgz",
"integrity": "sha512-u+xlsU34Jdkgx1CxmBnIC4Y08uPdVX5iEd3S/1dggDFtOGp+Lj8xmKRJAQ8PJOOJLOh8pDwaZx4AwXikL4l1QA==",
"@mui/styles": {
"version": "5.14.4",
"resolved": "https://registry.npmjs.org/@mui/styles/-/styles-5.14.4.tgz",
"integrity": "sha512-I4C7q/s17h8AA9FA63oLPdEHnEQlAPNX3zGngxsOYfSLZJB/VhR2SsrkIZFzUazd6a2o2nC997lbAACn3CstKw==",
"requires": {
"@babel/runtime": "^7.22.6",
"@mui/private-theming": "^5.13.7",
"@emotion/hash": "^0.9.1",
"@mui/private-theming": "^5.14.4",
"@mui/types": "^7.2.4",
"@mui/utils": "^5.14.4",
"clsx": "^2.0.0",
"csstype": "^3.1.2",
"hoist-non-react-statics": "^3.3.2",
"jss": "^10.10.0",
"jss-plugin-camel-case": "^10.10.0",
"jss-plugin-default-unit": "^10.10.0",
"jss-plugin-global": "^10.10.0",
"jss-plugin-nested": "^10.10.0",
"jss-plugin-props-sort": "^10.10.0",
"jss-plugin-rule-value-function": "^10.10.0",
"jss-plugin-vendor-prefixer": "^10.10.0",
"prop-types": "^15.8.1"
},
"dependencies": {
"clsx": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/clsx/-/clsx-2.0.0.tgz",
"integrity": "sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q=="
}
}
},
"@mui/system": {
"version": "5.14.4",
"resolved": "https://registry.npmjs.org/@mui/system/-/system-5.14.4.tgz",
"integrity": "sha512-oPgfWS97QNfHcDBapdkZIs4G5i85BJt69Hp6wbXF6s7vi3Evcmhdk8AbCRW6n0sX4vTj8oe0mh0RIm1G2A1KDA==",
"requires": {
"@babel/runtime": "^7.22.6",
"@mui/private-theming": "^5.14.4",
"@mui/styled-engine": "^5.13.2",
"@mui/types": "^7.2.4",
"@mui/utils": "^5.14.1",
"clsx": "^1.2.1",
"@mui/utils": "^5.14.4",
"clsx": "^2.0.0",
"csstype": "^3.1.2",
"prop-types": "^15.8.1"
},
"dependencies": {
"clsx": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/clsx/-/clsx-2.0.0.tgz",
"integrity": "sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q=="
}
}
},
"@mui/types": {
@ -49643,9 +49808,9 @@
"requires": {}
},
"@mui/utils": {
"version": "5.14.1",
"resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.14.1.tgz",
"integrity": "sha512-39KHKK2JeqRmuUcLDLwM+c2XfVC136C5/yUyQXmO2PVbOb2Bol4KxtkssEqCbTwg87PSCG3f1Tb0keRsK7cVGw==",
"version": "5.14.4",
"resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.14.4.tgz",
"integrity": "sha512-4ANV0txPD3x0IcTCSEHKDWnsutg1K3m6Vz5IckkbLXVYu17oOZCVUdOKsb/txUmaCd0v0PmSRe5PW+Mlvns5dQ==",
"requires": {
"@babel/runtime": "^7.22.6",
"@types/prop-types": "^15.7.5",
@ -61689,7 +61854,9 @@
"version": "5.0.1"
},
"jss": {
"version": "10.9.2",
"version": "10.10.0",
"resolved": "https://registry.npmjs.org/jss/-/jss-10.10.0.tgz",
"integrity": "sha512-cqsOTS7jqPsPMjtKYDUpdFC0AbhYFLTcuGRqymgmdJIeQ8cH7+AgX7YSgQy79wXloZq2VvATYxUOUQEvS1V/Zw==",
"requires": {
"@babel/runtime": "^7.3.1",
"csstype": "^3.0.2",
@ -61698,56 +61865,70 @@
}
},
"jss-plugin-camel-case": {
"version": "10.9.2",
"version": "10.10.0",
"resolved": "https://registry.npmjs.org/jss-plugin-camel-case/-/jss-plugin-camel-case-10.10.0.tgz",
"integrity": "sha512-z+HETfj5IYgFxh1wJnUAU8jByI48ED+v0fuTuhKrPR+pRBYS2EDwbusU8aFOpCdYhtRc9zhN+PJ7iNE8pAWyPw==",
"requires": {
"@babel/runtime": "^7.3.1",
"hyphenate-style-name": "^1.0.3",
"jss": "10.9.2"
"jss": "10.10.0"
}
},
"jss-plugin-default-unit": {
"version": "10.9.2",
"version": "10.10.0",
"resolved": "https://registry.npmjs.org/jss-plugin-default-unit/-/jss-plugin-default-unit-10.10.0.tgz",
"integrity": "sha512-SvpajxIECi4JDUbGLefvNckmI+c2VWmP43qnEy/0eiwzRUsafg5DVSIWSzZe4d2vFX1u9nRDP46WCFV/PXVBGQ==",
"requires": {
"@babel/runtime": "^7.3.1",
"jss": "10.9.2"
"jss": "10.10.0"
}
},
"jss-plugin-global": {
"version": "10.9.2",
"version": "10.10.0",
"resolved": "https://registry.npmjs.org/jss-plugin-global/-/jss-plugin-global-10.10.0.tgz",
"integrity": "sha512-icXEYbMufiNuWfuazLeN+BNJO16Ge88OcXU5ZDC2vLqElmMybA31Wi7lZ3lf+vgufRocvPj8443irhYRgWxP+A==",
"requires": {
"@babel/runtime": "^7.3.1",
"jss": "10.9.2"
"jss": "10.10.0"
}
},
"jss-plugin-nested": {
"version": "10.9.2",
"version": "10.10.0",
"resolved": "https://registry.npmjs.org/jss-plugin-nested/-/jss-plugin-nested-10.10.0.tgz",
"integrity": "sha512-9R4JHxxGgiZhurDo3q7LdIiDEgtA1bTGzAbhSPyIOWb7ZubrjQe8acwhEQ6OEKydzpl8XHMtTnEwHXCARLYqYA==",
"requires": {
"@babel/runtime": "^7.3.1",
"jss": "10.9.2",
"jss": "10.10.0",
"tiny-warning": "^1.0.2"
}
},
"jss-plugin-props-sort": {
"version": "10.9.2",
"version": "10.10.0",
"resolved": "https://registry.npmjs.org/jss-plugin-props-sort/-/jss-plugin-props-sort-10.10.0.tgz",
"integrity": "sha512-5VNJvQJbnq/vRfje6uZLe/FyaOpzP/IH1LP+0fr88QamVrGJa0hpRRyAa0ea4U/3LcorJfBFVyC4yN2QC73lJg==",
"requires": {
"@babel/runtime": "^7.3.1",
"jss": "10.9.2"
"jss": "10.10.0"
}
},
"jss-plugin-rule-value-function": {
"version": "10.9.2",
"version": "10.10.0",
"resolved": "https://registry.npmjs.org/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.10.0.tgz",
"integrity": "sha512-uEFJFgaCtkXeIPgki8ICw3Y7VMkL9GEan6SqmT9tqpwM+/t+hxfMUdU4wQ0MtOiMNWhwnckBV0IebrKcZM9C0g==",
"requires": {
"@babel/runtime": "^7.3.1",
"jss": "10.9.2",
"jss": "10.10.0",
"tiny-warning": "^1.0.2"
}
},
"jss-plugin-vendor-prefixer": {
"version": "10.9.2",
"version": "10.10.0",
"resolved": "https://registry.npmjs.org/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.10.0.tgz",
"integrity": "sha512-UY/41WumgjW8r1qMCO8l1ARg7NHnfRVWRhZ2E2m0DMYsr2DD91qIXLyNhiX83hHswR7Wm4D+oDYNC1zWCJWtqg==",
"requires": {
"@babel/runtime": "^7.3.1",
"css-vendor": "^2.0.8",
"jss": "10.9.2"
"jss": "10.10.0"
}
},
"jsx-ast-utils": {

View File

@ -20,7 +20,8 @@
"@material/tooltip": "^14.0.0",
"@mui/icons-material": "^5.4.2",
"@mui/lab": "^5.0.0-alpha.137",
"@mui/material": "^5.14.2",
"@mui/material": "^5.14.4",
"@mui/styles": "^5.14.4",
"@mui/x-data-grid": "^5.17.26",
"@mui/x-date-pickers": "^5.0.0",
"@mui/x-date-pickers-pro": "^5.0.0",

View File

@ -1228,7 +1228,32 @@ const DisplayPartnerSession = (props) => {
})
}
const datagridSx = {
borderRadius: 2,
"& .MuiDataGrid-main": { borderRadius: 2 },
/*'& div[data-rowIndex][role="row"]:nth-of-type(5n-4)': {
color: "blue",
fontSize: 18,
//risky
minHeight: "60px !important",
height: 60,
"& div": {
minHeight: "60px !important",
height: 60,
lineHeight: "59px !important"
}
},*/
"& .MuiDataGrid-virtualScrollerRenderZone": {
"& .MuiDataGrid-row": {
"&:nth-child(2n)": { backgroundColor: "rgba(235, 235, 235, .7)" }
}
},
"& .MuiDataGrid-columnHeaders": {
backgroundColor: "rgba(0,0,255,0.6)",
color: "rgba(255,0,0,0.7)",
fontSize: 16
}
};
return (
<div className="displaypartnersession">
@ -1275,11 +1300,11 @@ const DisplayPartnerSession = (props) => {
<div className="session_data">
<div className="detail_class_submenu_data" style={{ "border": "None" }}>
<div style={{ "border": "None" }}>
<div style={{ height: 500, width: '100%' }}>
<DataGrid
checkboxSelection
//checkboxSelection
onSelectionModelChange={(newSelectionModel) => {
setSelectionModel(newSelectionModel);
//console.log("ch selected--" + newSelectionModel);
@ -1316,7 +1341,7 @@ const DisplayPartnerSession = (props) => {
components={{
Toolbar: GridToolbar,
}}
sx={datagridSx}
/>
<br />
@ -1738,7 +1763,6 @@ const DisplayPartnerSession = (props) => {
opco: JSON.parse(item).opco,
modefinancement: JSON.parse(item).modefinancement,
}
))}

View File

@ -61,6 +61,8 @@ import HotelIcon from '@mui/icons-material/Hotel';
import RepeatIcon from '@mui/icons-material/Repeat';
import Typography from '@mui/material/Typography';
import { Toolbar } from "@mui/material/Toolbar";
import {
CardElement,
@ -74,12 +76,132 @@ import { Tooltip } from 'react-tooltip'
import MUIDataTable from "mui-datatables";
import { createTheme, ThemeProvider } from '@mui/material/styles';
import Dialog from '@mui/material/Dialog';
import DialogActions from '@mui/material/DialogActions';
import DialogContent from '@mui/material/DialogContent';
import DialogContentText from '@mui/material/DialogContentText';
import DialogTitle from '@mui/material/DialogTitle';
import TextField from '@mui/material/TextField';
import { DataGrid, GridRowsProp, GridColDef, GridToolbar, frFR } from '@mui/x-data-grid';
import { darken, lighten, styled } from '@mui/material/styles';
import Box from '@mui/material/Box';
import { makeStyles } from '@mui/styles';
// pour le payement stripe : https://stripe.com/docs/payments/quickstart?client=react&lang=python
const stripePromise = loadStripe('pk_test_51LUUfAAbmaEugrFTI25uZBD3IFjbtaL6jUfRV83diDf7nco8worna4NGKhMHbPP71WCwT5EHFRdDNatxPrJWwgZ300kgH5EO4p');
const datagridSx = {
borderRadius: 2,
"& .MuiDataGrid-main": { borderRadius: 2 },
/*'& div[data-rowIndex][role="row"]:nth-of-type(5n-4)': {
color: "blue",
fontSize: 18,
//risky
minHeight: "60px !important",
height: 60,
"& div": {
minHeight: "60px !important",
height: 60,
lineHeight: "59px !important"
}
},*/
"& .MuiDataGrid-virtualScrollerRenderZone": {
"& .MuiDataGrid-row": {
"&:nth-child(2n)": { backgroundColor: "rgba(235, 235, 235, .7)" }
}
},
"& .MuiDataGrid-columnHeaders": {
backgroundColor: "rgba(0,0,255,0.6)",
color: "rgba(255,0,0,0.7)",
fontSize: 16
}
};
const handleCellClick = (param, event) => {
console.log(param);
console.log(event);
if (param.colIndex === 2) {
event.stopPropagation();
}
};
const handleRowClick = (param, event) => {
console.log("Row:");
console.log(param);
console.log(event);
};
const columns21 = [
{
field: "id",
headerName: "ID",
width: 70
},
{
field: "firstName",
headerName: "First Name",
width: 130,
renderCell: (cellValues) => {
return (
<div
style={{
color: "blue",
fontSize: 18,
width: "100%",
textAlign: "right"
}}
>
{cellValues.value}
</div>
);
}
},
{ field: "lastName", headerName: "Last Name", width: 130 },
{
field: "age",
headerName: "Age",
headerAlign: "left",
type: "number",
//width: 90,
minWidth: 90,
flex: 1,
align: "left"
},
{
field: "fullName",
headerName: "Full name",
description: "This column has a value getter and is not sortable.",
sortable: false,
minWidth: 160,
flex: 2,
//width: 160,
valueGetter: (params) => {
return `${params.getValue(params.id, "firstName") || ""} ${params.getValue(params.id, "lastName") || ""
}`;
}
}
];
const rows21 = [
{ id: 1, lastName: "Snow", firstName: "Jon", age: 35 },
{ id: 2, lastName: "Lannister", firstName: "Amy", age: 42 },
{
id: 3,
lastName: "IGOTAREALLyLONGNAME!!!!!!!",
firstName: "Jaime",
age: 45
},
{ id: 4, lastName: "Stark", firstName: "Arya", age: 16 },
{ id: 5, lastName: "Targaryen", firstName: "Daenerys", age: 12 },
{ id: 6, lastName: "Melisandre", firstName: "Jane", age: 15 },
{ id: 7, lastName: "Clifford", firstName: "Ferrara", age: 44 },
{ id: 8, lastName: "Frances", firstName: "Rossini", age: 36 },
{ id: 9, lastName: "Roxie", firstName: "Harvey", age: 65 }
];
const TestUrl = (props) => {
@ -120,136 +242,11 @@ const TestUrl = (props) => {
const [suggestion2, setsuggestion2] = useState([]);
function changech(e) {
var val = e.target.value;
let matches = [];
if (String(val).length > 0) {
matches = suggestedwords.filter(usr => {
//alert(JSON.parse(usr).name );
const regex = new RegExp(`${val}`, "gi");
return JSON.parse(usr).name.match(regex);
}
)
}
//console.log("matches = " + matches);
setsuggestion2(matches);
settext(e.target.value);
}
function OnSuggestionHandler(text) {
var val = text;
settext(val);
}
function OnblurHandle(e) {
setTimeout(() => {
setsuggestion2([])
}, 100)
}
function GetInvoice() {
//alert(" recup facture ");
var form = new FormData();
form.append("invoice_id", "num_facture");
var url = process.env.REACT_APP_API_URL + "myclass/api/GetCustomerInvoice/token11111/facture122";
var nom_facture = "cheifff.pdf";
axios.get(url, { responseType: 'blob', },)
.then((res) => {
fileDownload(res.data, nom_facture)
})
}
const [data_global, setdata_global] = useState([]);
const stored_part = getCookie('tokenmysypart');
function getStatData() {
var form = new FormData();
const ch_array = [];
const ch_categories = [];
var ch_data2 = "";
var date_start = ""
var date_end = ""
if (state[0].startDate) {
//console.log("Start = " + state[0].startDate);
//console.log("Start = " + moment(state[0].startDate).format('YYYY-MM-DD'));
date_start = moment(state[0].startDate).format('YYYY-MM-DD');
}
if (state[0].endDate) {
//console.log("endDate = " + state[0].endDate);
//console.log("END = " + moment(state[0].endDate).format('YYYY-MM-DD'));
date_end = moment(state[0].endDate).format('YYYY-MM-DD');
}
var myurl = process.env.REACT_APP_API_URL + "myclass/api/GetStat_class_view/";
form.append("date_start", date_start);
form.append("date_end", date_end);
form.append('token', 'cherif');
//alert("myurl = "+myurl);
axios.post(myurl, form).then(res => {
if (String(res.data.status) != String("false")) {
//console.log(" In test res.data.status = " + res.data.status);
//console.log(" In test res.data.message = " + res.data.message);
res.data.message.map(obj => {
if (JSON.parse(obj).Date_view) {
//console.log("Date_view " + JSON.parse(obj).Date_view + " nb_view = " + JSON.parse(obj).nb_view);
ch_array.push(parseInt(JSON.parse(obj).nb_view));
ch_categories.push(JSON.parse(obj).Date_view);
} else if (JSON.parse(obj).data) {
//ch_data2 = String(obj.data);
//console.log("data ok " + JSON.parse(obj).data)
ch_data2 = JSON.parse(obj).data;
}
});
//console.log(" ch_array = " + ch_array);
//console.log(" ch_data2 = " + ch_data2);
var new_data2 = ch_data2.split(',').map(Number);
new_data2.push(123);
//console.log(" new_data2 = " + new_data2);
setglobal_view_data(ch_array);
//console.log(global_view_data);
setglobal_view_categories(ch_categories);
setglobal_view_data_v2(new_data2);
}
else {
//console.log(" In test res.data.status = " + res.data.status);
//console.log(" In test res.data.message = " + res.data.message);
}
}).catch((error) => {
console.warn('Not good man :( mysearchtext = ');
//setmyApimyApiMessage("")
})
}
/*
Cette fonction recuperer les stats des TOP 5 formations sur la periode saisie par l'utilisateur
*/
@ -257,120 +254,6 @@ Cette fonction recuperer les stats des TOP 5 formations sur la periode saisie pa
const [detail_view_categories, setdetail_view_categories] = useState();
const detail_series = detail_view_categories;
function Get_Top5_Stat() {
var form = new FormData();
var date_start = ""
var date_end = ""
if (state[0].startDate) {
//console.log("Start = " + state[0].startDate);
//console.log("Start = " + moment(state[0].startDate).format('YYYY-MM-DD'));
date_start = moment(state[0].startDate).format('YYYY-MM-DD');
}
if (state[0].endDate) {
//console.log("endDate = " + state[0].endDate);
//console.log("END = " + moment(state[0].endDate).format('YYYY-MM-DD'));
date_end = moment(state[0].endDate).format('YYYY-MM-DD');
}
var myurl = process.env.REACT_APP_API_URL + "myclass/api/GetStat_class_view_topX/";
form.append("date_start", date_start);
form.append("date_end", date_end);
form.append('token', 'cherif');
form.append('topX', '5');
//alert("myurl = "+myurl);
var top5training = [];
axios.post(myurl, form).then(res => {
if (String(res.data.status) != String("false")) {
//console.log(" In test res.data.status = " + res.data.status);
//console.log(" In test res.data.message = " + res.data.message);
res.data.message.map(obj => {
if (JSON.parse(obj).name1) {
//console.log(" ---name_serie = " + JSON.parse(obj).name1 + " data_series = " + JSON.parse(obj).data1);
top5training.push(JSON.parse(obj).name1);
var ch_data2 = JSON.parse(obj).data1;
let new_data2 = ch_data2.map(i => Number(i));
setdetail_view_data1(new_data2);
var nom = JSON.parse(obj).name1;
setdetail_view_data1_name(nom);
//console.log("new_data2 = ", ch_data2);
//console.log("result = ", new_data2);
}
if (JSON.parse(obj).name2) {
//console.log(" ---name_serie = " + JSON.parse(obj).name2 + " data_series = " + JSON.parse(obj).data2);
top5training.push(JSON.parse(obj).name2);
var ch_data2 = JSON.parse(obj).data2;
let new_data2 = ch_data2.map(i => Number(i));
setdetail_view_data2(new_data2);
var nom = JSON.parse(obj).name2;
setdetail_view_data2_name(nom);
}
if (JSON.parse(obj).name3) {
//console.log(" ---name_serie = " + JSON.parse(obj).name3 + " data_series = " + JSON.parse(obj).data3);
top5training.push(JSON.parse(obj).name3);
var ch_data2 = JSON.parse(obj).data3;
let new_data2 = ch_data2.map(i => Number(i));
setdetail_view_data3(new_data2);
var nom = JSON.parse(obj).name3;
setdetail_view_data3_name(nom);
}
if (JSON.parse(obj).name4) {
//console.log(" ---name_serie = " + JSON.parse(obj).name4 + " data_series = " + JSON.parse(obj).data4);
top5training.push(JSON.parse(obj).name4);
var ch_data2 = JSON.parse(obj).data4;
let new_data2 = ch_data2.map(i => Number(i));
setdetail_view_data4(new_data2);
var nom = JSON.parse(obj).name4;
setdetail_view_data4_name(nom);
}
if (JSON.parse(obj).categories) {
//console.log(" ---categories = " + JSON.parse(obj).categories);
var ch_data2 = JSON.parse(obj).categories;
var new_data2 = ch_data2.split(',');
setdetail_view_categorie(new_data2);
}
});
settopX_formation(top5training);
}
else {
//console.log(" In test res.data.status = " + res.data.status);
//console.log(" In test res.data.message = " + res.data.message);
}
}).catch((error) => {
console.warn('Not good man :( mysearchtext = ');
//setmyApimyApiMessage("")
})
}
const [my_tabb, setmy_tabb] = useState([]);
@ -716,10 +599,48 @@ Cette fonction recuperer les stats des TOP 5 formations sur la periode saisie pa
});
const [open, setOpen] = React.useState(false);
const handleClickOpen = () => {
setOpen(true);
};
const handleClose = () => {
alert(" Utiliser le bouton 'fermer' ");
//setOpen(false);
};
const handleClose_buton = () => {
setOpen(false);
};
const rowss = [
{ id: 1, col1: 'Hello', col2: 'World' },
{ id: 2, col1: 'DataGridPro', col2: 'is Awesome' },
{ id: 3, col1: 'MUI', col2: 'is Amazing' },
{ id: 4, col1: 'MUI2', col2: 'is Amazing2' },
{ id: 5, col1: 'DataGridPro 5', col2: 'is Awesome 5' },
];
const columnss = [
{ field: 'col1', headerName: 'Column 1', width: 150 },
{ field: 'col2', headerName: 'Column 2', width: 150 },
];
const useStyles = makeStyles((theme) =>
({
root: {
'& .MuiDataGrid-row:nth-child(odd)': {
backgroundColor: theme.palette.mode === 'light' ? theme.palette.secondary[300] : theme.palette.secondary[900]
},
},
}),
);
return (
<div className="test_page2">
<Helmet>
@ -732,7 +653,70 @@ Cette fonction recuperer les stats des TOP 5 formations sur la periode saisie pa
<div className="div_mobile">
<div style={{ height: 500, width: "100%" }}>
<DataGrid
//toolBar={<Toolbar sx={{ backgroundColor: "blue" }} />}
headerHeight={60}
rowHeight={120}
sx={datagridSx}
rows={rows21}
columns={columns21}
pageSize={5}
checkboxSelection
onCellClick={handleCellClick}
onRowClick={handleRowClick}
/>
<div style={{ margin: "40px", textAlign: "center" }}>
<a
target="_blank"
href="https://smartdevpreneur.com/the-ultimate-guide-to-customizing-material-ui-datagrid/"
>
How do you customize the DataGrid styling?
</a>
</div>
</div>
<div style={{ height: 500, width: '100%' }}>
<DataGrid
rows={rowss}
columns={columnss}
pageSizeOptions={[5, 10]}
//checkboxSelection
sx={datagridSx}
/>
</div>
<div>
<Button variant="outlined" onClick={handleClickOpen}>
Open form dialog
</Button>
<Dialog
open={open}
onClose={handleClose}>
<DialogTitle>Subscribe</DialogTitle>
<DialogContent>
<DialogContentText>
To subscribe to this website, please enter your email address here. We
will send updates occasionally.
</DialogContentText>
<TextField
autoFocus
margin="dense"
id="name"
label="Email Address"
type="email"
fullWidth
variant="standard"
/>
</DialogContent>
<DialogActions>
<Button onClick={handleClose_buton}>Cancel</Button>
<Button onClick={handleClose_buton}>Subscribe</Button>
</DialogActions>
</Dialog>
</div>
<Timeline position="right">
<TimelineItem>
@ -826,6 +810,22 @@ Cette fonction recuperer les stats des TOP 5 formations sur la periode saisie pa
<button onClick={fermer}> Commande validé, fermer </button>
<br />
<h4>Popup - Scaler Academy</h4>
<br />
<Popup
trigger={<button className="button"> Open Modal simplifié </button>}
modal
nested
position="center center"
>
modall simple
</Popup>
<br />
<br />
<Popup
trigger={<button className="button"> Open Modal 2 1</button>}
@ -834,9 +834,9 @@ Cette fonction recuperer les stats des TOP 5 formations sur la periode saisie pa
position="center center"
>
{close => (
{(close) => (
<div>
<button className="ch_close" onClick={close}>
<button className="ch_close" onClick={close}> aaaa
&times;
</button>
<div className="ch_header"> MySy Info </div>