diff --git a/package-lock.json b/package-lock.json index 9454140e8330bd5e3eb814e7ee9ab913540ab3fa..3bc5cd433457d4d50a93d633d3d0669c5be06605 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1298,11 +1298,6 @@ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==" }, - "@sindresorhus/is": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", - "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==" - }, "@svgr/babel-plugin-add-jsx-attribute": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-4.2.0.tgz", @@ -1622,19 +1617,6 @@ "hoist-non-react-statics": "^3.3.0" } }, - "@szmarczak/http-timer": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", - "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", - "requires": { - "defer-to-connect": "^1.0.1" - } - }, - "@types/node": { - "version": "14.14.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.6.tgz", - "integrity": "sha512-6QlRuqsQ/Ox/aJEQWBEJG7A9+u7oSYl3mem/K8IzxXG/kAGbV1YPD9Bg9Zw3vyxC/YP+zONKwy8hGkSt1jxFMw==" - }, "@types/parse-json": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", @@ -1848,11 +1830,6 @@ "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.3.tgz", "integrity": "sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg==" }, - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" - }, "accepts": { "version": "1.3.7", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", @@ -1941,39 +1918,6 @@ "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=" }, - "ansi-align": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz", - "integrity": "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==", - "requires": { - "string-width": "^3.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, "ansi-colors": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", @@ -2539,11 +2483,6 @@ "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" }, - "autobind-decorator": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/autobind-decorator/-/autobind-decorator-2.4.0.tgz", - "integrity": "sha512-OGYhWUO72V6DafbF8PM8rm3EPbfuyMZcJhtm5/n26IDwO18pohE4eNazLoCGhPiXOCD0gEGmrbU3849QvM8bbw==" - }, "autoprefixer": { "version": "9.8.0", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.0.tgz", @@ -3391,99 +3330,6 @@ "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" }, - "boxen": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz", - "integrity": "sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==", - "requires": { - "ansi-align": "^3.0.0", - "camelcase": "^5.3.1", - "chalk": "^3.0.0", - "cli-boxes": "^2.2.0", - "string-width": "^4.1.0", - "term-size": "^2.1.0", - "type-fest": "^0.8.1", - "widest-line": "^3.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -4022,11 +3868,6 @@ } } }, - "cli-boxes": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", - "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==" - }, "cli-cursor": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", @@ -4077,14 +3918,6 @@ "shallow-clone": "^0.1.2" } }, - "clone-response": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", - "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", - "requires": { - "mimic-response": "^1.0.0" - } - }, "clsx": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.1.1.tgz", @@ -4279,45 +4112,6 @@ } } }, - "configstore": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", - "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", - "requires": { - "dot-prop": "^5.2.0", - "graceful-fs": "^4.1.2", - "make-dir": "^3.0.0", - "unique-string": "^2.0.0", - "write-file-atomic": "^3.0.0", - "xdg-basedir": "^4.0.0" - }, - "dependencies": { - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "requires": { - "semver": "^6.0.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - }, - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - } - } - }, "confusing-browser-globals": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.9.tgz", @@ -4515,11 +4309,6 @@ "randomfill": "^1.0.3" } }, - "crypto-random-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", - "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==" - }, "css-blank-pseudo": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz", @@ -5073,14 +4862,6 @@ "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" }, - "decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", - "requires": { - "mimic-response": "^1.0.0" - } - }, "deep-equal": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", @@ -5094,11 +4875,6 @@ "regexp.prototype.flags": "^1.2.0" } }, - "deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" - }, "deep-is": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", @@ -5142,11 +4918,6 @@ "strip-bom": "^2.0.0" } }, - "defer-to-connect": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", - "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==" - }, "define-properties": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", @@ -5481,11 +5252,6 @@ "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=" }, - "duplexer3": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" - }, "duplexify": { "version": "3.7.1", "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", @@ -5706,11 +5472,6 @@ "is-symbol": "^1.0.2" } }, - "escape-goat": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", - "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==" - }, "escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", @@ -7899,14 +7660,6 @@ "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=" }, - "global-dirs": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-2.0.1.tgz", - "integrity": "sha512-5HqUqdhkEovj2Of/ms3IeS/EekcO54ytHRLV4PEY2rhRwrHXLQjeVEES0Lhka0xwNDtGYn58wyC4s5+MHsOO6A==", - "requires": { - "ini": "^1.3.5" - } - }, "global-modules": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", @@ -7963,24 +7716,6 @@ } } }, - "got": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", - "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", - "requires": { - "@sindresorhus/is": "^0.14.0", - "@szmarczak/http-timer": "^1.1.2", - "cacheable-request": "^6.0.0", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^4.1.0", - "lowercase-keys": "^1.0.1", - "mimic-response": "^1.0.1", - "p-cancelable": "^1.0.0", - "to-readable-stream": "^1.0.0", - "url-parse-lax": "^3.0.0" - } - }, "graceful-fs": { "version": "4.2.4", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", @@ -8132,11 +7867,6 @@ } } }, - "has-yarn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", - "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==" - }, "hash-base": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", @@ -8376,11 +8106,6 @@ } } }, - "http-cache-semantics": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", - "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" - }, "http-deceiver": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", @@ -8761,11 +8486,6 @@ "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" }, - "ignore-by-default": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", - "integrity": "sha1-SMptcvbGo68Aqa1K5odr44ieKwk=" - }, "image-to-base64": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/image-to-base64/-/image-to-base64-2.1.1.tgz", @@ -8811,11 +8531,6 @@ } } }, - "import-lazy": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", - "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=" - }, "import-local": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/import-local/-/import-local-1.0.0.tgz", @@ -9256,11 +8971,6 @@ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" }, - "is-yarn-global": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", - "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==" - }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -9906,22 +9616,6 @@ "merge-stream": "^1.0.1" } }, - "jodit": { - "version": "3.4.29", - "resolved": "https://registry.npmjs.org/jodit/-/jodit-3.4.29.tgz", - "integrity": "sha512-1rW4aBeG5hgdTjNxYOWN2hc51M5O4U3BNdwxaxwLR8pIlrjmeDVxZu2YZ6L4TI1MfFRCpczL0vPzj6hlTFyvng==", - "requires": { - "autobind-decorator": "^2.4.0" - } - }, - "jodit-react": { - "version": "1.0.66", - "resolved": "https://registry.npmjs.org/jodit-react/-/jodit-react-1.0.66.tgz", - "integrity": "sha512-qGuQituwzJU9DP9bbo9ACYrRAKQPHbCfCw0xelEeLRkLX7Z2eJn+qs+BmmA+sq2BCzam1MPl853DuClkfIIedw==", - "requires": { - "jodit": "^3.4.29" - } - }, "joi": { "version": "11.4.0", "resolved": "https://registry.npmjs.org/joi/-/joi-11.4.0.tgz", @@ -10002,11 +9696,6 @@ "resolved": "https://registry.npmjs.org/jsmin/-/jsmin-1.0.1.tgz", "integrity": "sha1-570NzWSWw79IYyNb9GGj2YqjuYw=" }, - "json-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", - "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=" - }, "json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", @@ -10188,14 +9877,6 @@ "resolved": "https://registry.npmjs.org/keycode/-/keycode-2.2.0.tgz", "integrity": "sha1-PQr1bce4uOXLqNCpfxByBO7CKwQ=" }, - "keyv": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", - "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", - "requires": { - "json-buffer": "3.0.0" - } - }, "killable": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", @@ -10231,14 +9912,6 @@ "webpack-sources": "^1.1.0" } }, - "latest-version": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", - "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", - "requires": { - "package-json": "^6.3.0" - } - }, "lazy-cache": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", @@ -10475,11 +10148,6 @@ "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=" }, - "lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" - }, "lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", @@ -10757,11 +10425,6 @@ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" }, - "mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" - }, "mini-create-react-context": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/mini-create-react-context/-/mini-create-react-context-0.4.0.tgz", @@ -11073,152 +10736,6 @@ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.58.tgz", "integrity": "sha512-NxBudgVKiRh/2aPWMgPR7bPTX0VPmGx5QBwCtdHitnqFE5/O8DeBXuIMH1nwNnw/aMo6AjOrpsHzfY3UbUJ7yg==" }, - "nodemailer": { - "version": "6.4.14", - "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.4.14.tgz", - "integrity": "sha512-0AQHOOT+nRAOK6QnksNaK7+5vjviVvEBzmZytKU7XSA+Vze2NLykTx/05ti1uJgXFTWrMq08u3j3x4r4OE6PAA==" - }, - "nodemon": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.6.tgz", - "integrity": "sha512-4I3YDSKXg6ltYpcnZeHompqac4E6JeAMpGm8tJnB9Y3T0ehasLa4139dJOcCrB93HHrUMsCrKtoAlXTqT5n4AQ==", - "requires": { - "chokidar": "^3.2.2", - "debug": "^3.2.6", - "ignore-by-default": "^1.0.1", - "minimatch": "^3.0.4", - "pstree.remy": "^1.1.7", - "semver": "^5.7.1", - "supports-color": "^5.5.0", - "touch": "^3.1.0", - "undefsafe": "^2.0.3", - "update-notifier": "^4.1.0" - }, - "dependencies": { - "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" - } - }, - "chokidar": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz", - "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==", - "requires": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "fsevents": "~2.1.2", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.5.0" - } - }, - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "requires": { - "ms": "^2.1.1" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "optional": true - }, - "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", - "requires": { - "is-glob": "^4.0.1" - } - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" - }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - }, - "readdirp": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", - "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", - "requires": { - "picomatch": "^2.2.1" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "requires": { - "is-number": "^7.0.0" - } - } - } - }, - "nopt": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", - "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", - "requires": { - "abbrev": "1" - } - }, "normalize-package-data": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", @@ -11569,11 +11086,6 @@ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" }, - "p-cancelable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", - "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==" - }, "p-defer": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", @@ -11615,24 +11127,6 @@ "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" }, - "package-json": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", - "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", - "requires": { - "got": "^9.6.0", - "registry-auth-token": "^4.0.0", - "registry-url": "^5.0.0", - "semver": "^6.2.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, "pako": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", @@ -11818,7 +11312,8 @@ "picomatch": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==" + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "optional": true }, "pify": { "version": "2.3.0", @@ -14251,11 +13746,6 @@ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" }, - "prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" - }, "preserve": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", @@ -14382,11 +13872,6 @@ "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" }, - "pstree.remy": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", - "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==" - }, "public-encrypt": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", @@ -14442,14 +13927,6 @@ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" }, - "pupa": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz", - "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==", - "requires": { - "escape-goat": "^2.0.0" - } - }, "q": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", @@ -14545,17 +14022,6 @@ } } }, - "rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - } - }, "react": { "version": "16.14.0", "resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz", @@ -15590,22 +15056,6 @@ "unicode-match-property-value-ecmascript": "^1.2.0" } }, - "registry-auth-token": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.0.tgz", - "integrity": "sha512-P+lWzPrsgfN+UEpDS3U8AQKg/UjZX6mQSJueZj3EK+vNESoqBSpBUD3gmu4sF9lOsjXWjF11dQKUqemf3veq1w==", - "requires": { - "rc": "^1.2.8" - } - }, - "registry-url": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", - "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", - "requires": { - "rc": "^1.2.8" - } - }, "regjsgen": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", @@ -15791,14 +15241,6 @@ "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" }, - "responselike": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", - "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", - "requires": { - "lowercase-keys": "^1.0.0" - } - }, "restore-cursor": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", @@ -16263,21 +15705,6 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" }, - "semver-diff": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", - "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", - "requires": { - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, "send": { "version": "0.17.1", "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", @@ -17403,11 +16830,6 @@ "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" }, - "term-size": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz", - "integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==" - }, "terser": { "version": "3.17.0", "resolved": "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz", @@ -17645,11 +17067,6 @@ "kind-of": "^3.0.2" } }, - "to-readable-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", - "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==" - }, "to-regex": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", @@ -17693,14 +17110,6 @@ "hoek": "4.x.x" } }, - "touch": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz", - "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==", - "requires": { - "nopt": "~1.0.10" - } - }, "tough-cookie": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", @@ -17769,11 +17178,6 @@ "prelude-ls": "~1.1.2" } }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" - }, "type-is": { "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", @@ -17788,14 +17192,6 @@ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "requires": { - "is-typedarray": "^1.0.0" - } - }, "typescript": { "version": "3.9.7", "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.7.tgz", @@ -17806,24 +17202,6 @@ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-1.3.5.tgz", "integrity": "sha1-S1v/+Rhu/7qoiOTJ6UvZ/EyUkp0=" }, - "undefsafe": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.3.tgz", - "integrity": "sha512-nrXZwwXrD/T/JXeygJqdCO6NZZ1L66HrxM/Z7mIq2oPanoN0F1nLx3lwJMu6AwJY69hdixaFQOuoYsMjE5/C2A==", - "requires": { - "debug": "^2.2.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - } - } - }, "unicode-canonical-property-names-ecmascript": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", @@ -17950,84 +17328,6 @@ "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" }, - "update-notifier": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-4.1.3.tgz", - "integrity": "sha512-Yld6Z0RyCYGB6ckIjffGOSOmHXj1gMeE7aROz4MG+XMkmixBX4jUngrGXNYz7wPKBmtoD4MnBa2Anu7RSKht/A==", - "requires": { - "boxen": "^4.2.0", - "chalk": "^3.0.0", - "configstore": "^5.0.1", - "has-yarn": "^2.1.0", - "import-lazy": "^2.1.0", - "is-ci": "^2.0.0", - "is-installed-globally": "^0.3.1", - "is-npm": "^4.0.0", - "is-yarn-global": "^0.3.0", - "latest-version": "^5.0.0", - "pupa": "^2.0.1", - "semver-diff": "^3.1.1", - "xdg-basedir": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "requires": { - "ci-info": "^2.0.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, "upper-case": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", @@ -18081,14 +17381,6 @@ "requires-port": "^1.0.0" } }, - "url-parse-lax": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", - "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", - "requires": { - "prepend-http": "^2.0.0" - } - }, "use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", @@ -18905,49 +18197,6 @@ "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" }, - "widest-line": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", - "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", - "requires": { - "string-width": "^4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "requires": { - "ansi-regex": "^5.0.0" - } - } - } - }, "winston": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/winston/-/winston-3.2.1.tgz", @@ -19237,11 +18486,6 @@ "async-limiter": "~1.0.0" } }, - "xdg-basedir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", - "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==" - }, "xml-name-validator": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", diff --git a/src/Admin/Components/Components/DataCards/ActivityCard.js b/src/Admin/Components/Components/DataCards/ActivityCard.js index 7b5eba7d6284b5d407c068fcead648600d7caf46..b3661ed8ae8caa6b02131fb36749a3171d218b0a 100644 --- a/src/Admin/Components/Components/DataCards/ActivityCard.js +++ b/src/Admin/Components/Components/DataCards/ActivityCard.js @@ -30,11 +30,11 @@ import Grid from "@material-ui/core/Grid"; //imports from local files import { GetAData } from "../../../Filters"; import { GetSpecificData } from '../../../Services'; +import { getRequest } from '../../../../Components/HelperFunctions/getAxiosConfig'; import { Link } from 'react-router-dom' import LoadingSpinner from '../../../../Components/LoadingSpinner'; const ActivityCard = ({ match }) => { - console.log(match); const classes = useStyles(); const [error, setError] = useState(null); //Necessary to consult the API, catch errors @@ -47,35 +47,26 @@ const ActivityCard = ({ match }) => { .format("LLL") .toString(); }; - - //getting data from server - useEffect(() => { - const headers = { - Accept: "application/json", - "Content-Type": "application/json; charset=utf-8", - "access-token": sessionStorage.getItem("@portalmec/accessToken"), - client: sessionStorage.getItem("@portalmec/clientToken"), - uid: sessionStorage.getItem("@portalmec/uid"), - }; - GetSpecificData(GetAData("activities", match.params.id), headers).then( - (res) => { - if (res.state) { - setItem(res.data); - setIsLoaded(true); - setError(false); - } else { - setIsLoaded(true); - setError(true); - } + //getting data from server + useEffect(() => { + getRequest(GetAData("activities", match.params.id), + (data, header) => { + setItem(data); + setIsLoaded(true); + setError(false); + }, + (error) => { + setIsLoaded(true); + setError(true); } - ); + ) }, []); if (error) { return <div>Houve um erro</div>; } else if (!isLoaded) { - return <LoadingSpinner text="Carregando..."/> + return <LoadingSpinner text="Carregando..." /> } else { console.log(item) const DATA = [ @@ -107,7 +98,7 @@ const ActivityCard = ({ match }) => { subTitle: "Recipient type", prop: item["recipient_type"], }, - + ]; return ( @@ -124,7 +115,7 @@ const ActivityCard = ({ match }) => { color="primary" aria-label="outlined primary button group" > - <Link style={{textDecoration: 'none'}} to={`/admin/activities`}> + <Link style={{ textDecoration: 'none' }} to={`/admin/activities`}> <Button startIcon={<ListRoundedIcon />} color="primary" diff --git a/src/Admin/Components/Components/DataCards/CollectionCard.js b/src/Admin/Components/Components/DataCards/CollectionCard.js index 2657bc5c95c7aa40c2d64c200195f14fd8875401..54e3d3cbf0fa488200bffcc8a64ca25e5d587702 100644 --- a/src/Admin/Components/Components/DataCards/CollectionCard.js +++ b/src/Admin/Components/Components/DataCards/CollectionCard.js @@ -34,6 +34,7 @@ import { GetAData } from "../../../Filters"; import { GetSpecificData } from '../../../Services'; import { Link } from 'react-router-dom' import LoadingSpinner from '../../../../Components/LoadingSpinner'; +import { getRequest } from '../../../../Components/HelperFunctions/getAxiosConfig'; const CollectionCard = ({ match }) => { console.log(match); @@ -51,32 +52,24 @@ const CollectionCard = ({ match }) => { }; useEffect(() => { - const headers = { - Accept: "application/json", - "Content-Type": "application/json; charset=utf-8", - "access-token": sessionStorage.getItem("@portalmec/accessToken"), - client: sessionStorage.getItem("@portalmec/clientToken"), - uid: sessionStorage.getItem("@portalmec/uid"), - }; - - GetSpecificData(GetAData("collections", match.params.id), headers).then( - (res) => { - if (res.state) { - setItem(res.data); - setIsLoaded(true); - setError(false); - } else { - setIsLoaded(true); - setError(true); - } + getRequest( + GetAData("collections", match.params.id), + (data, header) => { + setItem(data); + setIsLoaded(true); + setError(false); + }, + (error) => { + setIsLoaded(true); + setError(true); } - ); + ) }, []); if (error) { return <div>Houve um erro</div>; } else if (!isLoaded) { - return <LoadingSpinner text="Carregando..."/> + return <LoadingSpinner text="Carregando..." /> } else { const DATA = [ { diff --git a/src/Admin/Components/Components/DataCards/CommunityQuestionCard.js b/src/Admin/Components/Components/DataCards/CommunityQuestionCard.js index 4e7bafaf512da4e52990d85b2675f26a0029b8c2..83d7e6d9142969eee4addddbca84bae8da0c1867 100644 --- a/src/Admin/Components/Components/DataCards/CommunityQuestionCard.js +++ b/src/Admin/Components/Components/DataCards/CommunityQuestionCard.js @@ -35,6 +35,7 @@ import { Store } from '../../../../Store'; import { Link } from 'react-router-dom' import { GetSpecificData } from "../../../Services"; import Unauthorized from "../Unauthorized"; +import { getRequest } from '../../../../Components/HelperFunctions/getAxiosConfig' import LoadingSpinner from '../../../../Components/LoadingSpinner'; const CommunityQuestions = ({ match }) => { @@ -53,49 +54,41 @@ const CommunityQuestions = ({ match }) => { }; const CheckUserPermission = () => { - let canUserEdit = false; + let canUserEdit = false; if (state.userIsLoggedIn) { const roles = [...state.currentUser.roles]; for (let i = 0; i < roles.length; i++) if (roles[i].name === 'admin' || roles[i].name === 'editor') - canUserEdit = true; + canUserEdit = true; } else { canUserEdit = false; - } + } - return canUserEdit; + return canUserEdit; } useEffect(() => { - const headers = { - Accept: "application/json", - "Content-Type": "application/json; charset=utf-8", - "access-token": sessionStorage.getItem("@portalmec/accessToken"), - client: sessionStorage.getItem("@portalmec/clientToken"), - uid: sessionStorage.getItem("@portalmec/uid"), - }; - - GetSpecificData(GetAData("contacts", match.params.id), headers).then( - (res) => { - if (res.state) { - setItem(res.data); - setIsLoaded(true); - setError(false); - } else { - setIsLoaded(true); - setError(true); - } + getRequest( + GetAData("contacts", match.params.id), + (data, header) => { + setItem(data); + setIsLoaded(true); + setError(false); + }, + (error) => { + setIsLoaded(true); + setError(true); } - ); + ) }, []); if (error) { return <div>Houve um erro</div>; } else if (!isLoaded) { - return <LoadingSpinner text="Carregando..."/> - } else if(CheckUserPermission()){ + return <LoadingSpinner text="Carregando..." /> + } else if (CheckUserPermission()) { const DATA = [ { subTitle: "ID", @@ -107,9 +100,9 @@ const CommunityQuestions = ({ match }) => { }, { subTitle: "Email", - prop: + prop: item.email ? - <Link to={`/admin/sendEmail/${item.email}`} style={{textDecoration : 'none'}}> + <Link to={`/admin/sendEmail/${item.email}`} style={{ textDecoration: 'none' }}> <Button variant='text' color='primary' @@ -143,7 +136,7 @@ const CommunityQuestions = ({ match }) => { color="primary" aria-label="outlined primary button group" > - <Link style={{textDecoration: 'none'}} to={`/admin/CommunityQuestions`}> + <Link style={{ textDecoration: 'none' }} to={`/admin/CommunityQuestions`}> <Button startIcon={<ListRoundedIcon />} color="primary" @@ -168,7 +161,7 @@ const CommunityQuestions = ({ match }) => { </CardContent> </Card> ); - } else return <Unauthorized/> + } else return <Unauthorized /> }; export default CommunityQuestions; diff --git a/src/Admin/Components/Components/DataCards/InstitutionsCard.js b/src/Admin/Components/Components/DataCards/InstitutionsCard.js index a918cb9d8e4f4d3b139201c433c525256b10a3d1..58eb2da9bf116188f38eb3581af11b2bf9d21d51 100644 --- a/src/Admin/Components/Components/DataCards/InstitutionsCard.js +++ b/src/Admin/Components/Components/DataCards/InstitutionsCard.js @@ -31,6 +31,7 @@ import Grid from '@material-ui/core/Grid'; import EditRoundedIcon from "@material-ui/icons/EditRounded"; //imports from local files import { GetAData } from "../../../Filters"; +import { getRequest } from '../../../../Components/HelperFunctions/getAxiosConfig' import { Store } from '../../../../Store'; import { Link } from 'react-router-dom'; import LoadingSpinner from '../../../../Components/LoadingSpinner'; @@ -54,24 +55,23 @@ const InstitutionCard = ({ match }) => { }; useEffect(() => { - fetch(GetAData('institutions', match.params.id)) - .then((res) => res.json()) - .then( - (result) => { - setIsLoaded(true); - setItem(result); - }, - (error) => { - setIsLoaded(true); - setError(error); - } - ); + getRequest( + GetAData('institutions', match.params.id), + (data, header) => { + setIsLoaded(true); + setItem(data); + }, + (error) => { + setIsLoaded(true); + setError(error); + } + ) }, []); if (error) { return <div>Houve um erro</div>; } else if (!isLoaded) { - return <LoadingSpinner text="Carregando..."/> + return <LoadingSpinner text="Carregando..." /> } else { const DATA = [ { @@ -122,7 +122,7 @@ const InstitutionCard = ({ match }) => { color="primary" aria-label="outlined primary button group" > - <Link style={{textDecoration: 'none'}} to={`/admin/intitutions`}> + <Link style={{ textDecoration: 'none' }} to={`/admin/intitutions`}> <Button startIcon={<ListRoundedIcon />} color="primary" @@ -132,9 +132,9 @@ const InstitutionCard = ({ match }) => { </Button> </Link> - <Link style={{textDecoration: 'none'}} to={`/admin/institutionEdit/${item.id}`}> + <Link style={{ textDecoration: 'none' }} to={`/admin/institutionEdit/${item.id}`}> <Button - startIcon={<EditRoundedIcon/>} + startIcon={<EditRoundedIcon />} color="primary" variant="outlined" > diff --git a/src/Admin/Components/Components/DataCards/NoteVarCard.js b/src/Admin/Components/Components/DataCards/NoteVarCard.js index 546a270d4d9fb9de3f85706510590675f1445785..7afaac4aa867072eddb49a8e766fde158dc2d1a4 100644 --- a/src/Admin/Components/Components/DataCards/NoteVarCard.js +++ b/src/Admin/Components/Components/DataCards/NoteVarCard.js @@ -31,6 +31,7 @@ import { useStyles } from "../../Styles/DataCard"; import EditRoundedIcon from "@material-ui/icons/EditRounded"; //imports from local files import { GetAData } from "../../../Filters"; +import { getRequest } from '../../../../Components/HelperFunctions/getAxiosConfig' import { Link } from 'react-router-dom'; import LoadingSpinner from '../../../../Components/LoadingSpinner'; @@ -51,18 +52,17 @@ const NoteCard = ({ match }) => { useEffect(() => { - fetch(GetAData('scores', match.params.id)) - .then((res) => res.json()) - .then( - (result) => { - setIsLoaded(true); - setItem(result); - }, - (error) => { - setIsLoaded(true); - setError(error); - } - ); + getRequest( + GetAData('scores', match.params.id), + (data, header) => { + setIsLoaded(true); + setItem(data); + }, + (error) => { + setIsLoaded(true); + setError(true); + } + ) }, []); if (error) { diff --git a/src/Admin/Components/Components/DataCards/RatingCard.js b/src/Admin/Components/Components/DataCards/RatingCard.js index b610182b04a5f9ad8724587cd886f484f27aed53..ee1f89645bee26cb2852cba9b413be365940eaf0 100644 --- a/src/Admin/Components/Components/DataCards/RatingCard.js +++ b/src/Admin/Components/Components/DataCards/RatingCard.js @@ -31,11 +31,11 @@ import { useStyles } from "../../Styles/DataCard"; import EditRoundedIcon from "@material-ui/icons/EditRounded"; //imports from local files import { GetAData } from "../../../Filters"; +import { getRequest } from '../../../../Components/HelperFunctions/getAxiosConfig' import { Link } from 'react-router-dom'; import LoadingSpinner from '../../../../Components/LoadingSpinner';; const RatingCard = ({ match }) => { - console.log(match); const classes = useStyles(); const [error, setError] = useState(null); //Necessary to consult the API, catch errors @@ -50,24 +50,23 @@ const RatingCard = ({ match }) => { }; useEffect(() => { - fetch(GetAData('ratings', match.params.id)) - .then((res) => res.json()) - .then( - (result) => { - setIsLoaded(true); - setItem(result); - }, - (error) => { - setIsLoaded(true); - setError(error); - } - ); + getRequest( + GetAData('ratings', match.params.id), + (data, header) => { + setIsLoaded(true); + setItem(data); + }, + (error) => { + setIsLoaded(true); + setError(true); + } + ) }, []); if (error) { return <div>Houve um erro</div>; } else if (!isLoaded) { - return <LoadingSpinner text="Carregando..."/> + return <LoadingSpinner text="Carregando..." /> } else { const DATA = [ { @@ -101,12 +100,12 @@ const RatingCard = ({ match }) => { {item.name} </Typography> </Grid> - <Grid item> + <Grid item> <ButtonGroup color="primary" aria-label="outlined primary button group" > - <Link style={{textDecoration: 'none'}} to={`/admin/Ratings`}> + <Link style={{ textDecoration: 'none' }} to={`/admin/Ratings`}> <Button startIcon={<ListRoundedIcon />} color="primary" @@ -116,9 +115,9 @@ const RatingCard = ({ match }) => { </Button> </Link> - <Link style={{textDecoration: 'none'}} to={`/admin/EditRating/${item.id}`}> + <Link style={{ textDecoration: 'none' }} to={`/admin/EditRating/${item.id}`}> <Button - startIcon={<EditRoundedIcon/>} + startIcon={<EditRoundedIcon />} color="primary" variant="outlined" > diff --git a/src/Admin/Components/Components/Inputs/CreateInstitution.js b/src/Admin/Components/Components/Inputs/CreateInstitution.js index 20ad3c141fc670d50c268f390bcc0f13e5f9170e..1e01b54e3cb4aecff5f7847adde010855e018fb5 100644 --- a/src/Admin/Components/Components/Inputs/CreateInstitution.js +++ b/src/Admin/Components/Components/Inputs/CreateInstitution.js @@ -29,11 +29,12 @@ import ListRoundedIcon from '@material-ui/icons/ListRounded'; import { apiUrl } from '../../../../env'; import SnackBar from '../../../../Components/SnackbarComponent'; import { Store } from '../../../../Store'; +import { postRequest } from '../../../../Components/HelperFunctions/getAxiosConfig' import Unauthorized from '../Unauthorized'; //imports services import { Create } from '../../../Services'; //router -import {Link} from 'react-router-dom'; +import { Link } from 'react-router-dom'; const CreateInstitution = (props) => { const { state, dispatch } = useContext(Store); @@ -109,19 +110,19 @@ const CreateInstitution = (props) => { } const CheckUserPermission = () => { - let canUserEdit = false; + let canUserEdit = false; if (state.userIsLoggedIn) { const roles = [...state.currentUser.roles]; for (let i = 0; i < roles.length; i++) if (roles[i].name === 'admin' || roles[i].name === 'editor') - canUserEdit = true; + canUserEdit = true; } else { canUserEdit = false; - } + } - return canUserEdit; + return canUserEdit; } @@ -129,7 +130,7 @@ const CreateInstitution = (props) => { async function onSubmit() { setIsLoading(true) if (!isEmpty(name) && !isEmpty(country)) { - const api = apiUrl + '/institutions' + const api = '/institutions' const body = { "institution": { 'name': name, @@ -139,14 +140,18 @@ const CreateInstitution = (props) => { 'country': country, } } - Create(api, body).then(res => { - if (res) { + postRequest( + api, + body, + (data) => { HandleSnack('A instituição foi criada com sucesso', true, 'success', '#228B22') - } else { + setIsLoading(false) + }, + (error) => { HandleSnack('Ocorreu algum erro', true, 'warning', '#FA8072') + setIsLoading(false) } - setIsLoading(false) - }) + ) } else { HandleSnack('Você precisa preencher algumas informações obrigatórias', true, 'warning', '#FFC125') if (isEmpty(name)) { @@ -206,7 +211,7 @@ const CreateInstitution = (props) => { } ] - if(CheckUserPermission()){ + if (CheckUserPermission()) { return ( <Card> <SnackBar @@ -229,7 +234,7 @@ const CreateInstitution = (props) => { </Typography> </Grid> <Grid item> - <Link style={{textDecoration: 'none'}} to={'/admin/intitutions'}> + <Link style={{ textDecoration: 'none' }} to={'/admin/intitutions'}> <Button onClick={props.BackToList} startIcon={<ListRoundedIcon />} @@ -241,9 +246,9 @@ const CreateInstitution = (props) => { </Link> </Grid> </Grid> - + <div style={{ height: '1em' }}></div> - + <form style={{ display: 'flex', flexDirection: 'column' }}> {fields.map((field, index) => ( <TextField @@ -278,7 +283,7 @@ const CreateInstitution = (props) => { </CardAction> </Card> ); - } else return <Unauthorized/> + } else return <Unauthorized /> } export default CreateInstitution; \ No newline at end of file diff --git a/src/Admin/Components/Components/Inputs/CreateLanguage.js b/src/Admin/Components/Components/Inputs/CreateLanguage.js index 8b72fffd47555868109fac25cc852b83576f183c..9ccbf4cdd4959656547c76f4ad53c34bbd4d1729 100644 --- a/src/Admin/Components/Components/Inputs/CreateLanguage.js +++ b/src/Admin/Components/Components/Inputs/CreateLanguage.js @@ -26,9 +26,9 @@ import CircularProgress from '@material-ui/core/CircularProgress'; import AddRoundedIcon from '@material-ui/icons/AddRounded'; import ListRoundedIcon from '@material-ui/icons/ListRounded'; //imports local files -import { apiUrl } from '../../../../env'; import SnackBar from '../../../../Components/SnackbarComponent'; import { Store } from '../../../../Store'; +import { postRequest } from '../../../../Components/HelperFunctions/getAxiosConfig' //imports services import { Create } from '../../../Services'; //router @@ -118,21 +118,25 @@ const CreateLanguage = (props) => { async function onSubmit() { setIsLoading(true) if (!isEmpty(name) && !isEmpty(code)) { - const api = apiUrl + '/languages' + const api = '/languages' const body = { "language": { 'name': name, 'code': code, } } - Create(api, body).then(res => { - if (res) { + postRequest( + api, + body, + (data) => { HandleSnack('A linguagem foi criada com sucesso', true, 'success', '#228B22') - } else { + setIsLoading(false) + }, + (error) => { HandleSnack('Ocorreu algum erro', true, 'warning', '#FA8072') + setIsLoading(false) } - setIsLoading(false) - }) + ) } else { HandleSnack('Você precisa preencher algumas informações obrigatórias', true, 'warning', '#FFC125') if (isEmpty(name)) { @@ -243,7 +247,7 @@ const CreateLanguage = (props) => { </CardAction> </Card> ) - } else return <Unauthorized/> + } else return <Unauthorized /> } export default CreateLanguage; \ No newline at end of file diff --git a/src/Admin/Components/Components/Inputs/CreateRating.js b/src/Admin/Components/Components/Inputs/CreateRating.js index 290bea818d6309c2b887dfab06fbfd3bf71ad006..857f32ec7dee3c80b0f57e93494e99dc8ed3f55c 100644 --- a/src/Admin/Components/Components/Inputs/CreateRating.js +++ b/src/Admin/Components/Components/Inputs/CreateRating.js @@ -30,7 +30,7 @@ import { apiUrl } from '../../../../env'; import { Store } from '../../../../Store'; import SnackBar from '../../../../Components/SnackbarComponent'; //imports services -import { Create } from '../../../Services'; +import { postRequest } from '../../../../Components/HelperFunctions/getAxiosConfig' //router import {Link} from 'react-router-dom'; import Unauthorized from '../Unauthorized'; @@ -117,21 +117,25 @@ const CreateRating = (props) => { async function onSubmit() { setIsLoading(true) if (!isEmpty(name) && !isEmpty(description)) { - const api = apiUrl + '/ratings' + const api = '/ratings' const body = { "rating": { 'name': name, 'description': description, } } - Create(api, body).then(res => { - if (res) { + postRequest( + api, + body, + (data) => { HandleSnack('O rating foi criada com sucesso', true, 'success', '#228B22') - } else { + setIsLoading(false) + }, + (error) => { HandleSnack('Ocorreu algum erro', true, 'warning', '#FA8072') + setIsLoading(false) } - setIsLoading(false) - }) + ) } else { HandleSnack('Você precisa preencher algumas informações obrigatórias', true, 'warning', '#FFC125') if (isEmpty(name)) { diff --git a/src/Admin/Components/Components/Inputs/EditCollection.js b/src/Admin/Components/Components/Inputs/EditCollection.js index 6065d23ef6aef739a30968456514ee911ca54644..ca2e54b2155571e2ea4c2d109f79c8c3725ac1b0 100644 --- a/src/Admin/Components/Components/Inputs/EditCollection.js +++ b/src/Admin/Components/Components/Inputs/EditCollection.js @@ -29,15 +29,15 @@ import MenuItem from "@material-ui/core/MenuItem"; //imports local files import SnackBar from '../../../../Components/SnackbarComponent'; import Unauthorized from '../Unauthorized'; +import { getRequest, postRequest } from '../../../../Components/HelperFunctions/getAxiosConfig' import { Store } from '../../../../Store'; import LoadingSpinner from '../../../../Components/LoadingSpinner'; //imports services -import { Edit, GetSpecificData } from '../../../Services'; import { EditFilter, GetAData } from '../../../Filters'; //routers import { Link } from 'react-router-dom'; //joadit -import JoditEditor from 'jodit-react'; +// import JoditEditor from 'jodit-react'; const EditCollection = ({ match }) => { const { state, dispatch } = useContext(Store); @@ -158,40 +158,44 @@ const EditCollection = ({ match }) => { } const CheckUserPermission = () => { - let canUserEdit = false; + let canUserEdit = false; if (state.userIsLoggedIn) { const roles = [...state.currentUser.roles]; for (let i = 0; i < roles.length; i++) if (roles[i].name === 'admin' || roles[i].name === 'editor') - canUserEdit = true; + canUserEdit = true; } else { canUserEdit = false; - } + } - return canUserEdit; + return canUserEdit; } const onSubmit = async () => { setIsLoading(true) if (!isEmpty(name) && !isEmpty(privacy)) { const api = EditFilter('collections', id) - const body = { - "collection": { - 'name': name, - 'privacy': privacy, - 'description': description + let body = { + collection: { + name: name, + privacy: privacy, + description : description ? description : "" } } - Edit(api, body).then(res => { - if (res) { + postRequest( + api, + body, + (data) => { HandleSnack('A Coleção foi alterada com sucesso', true, 'success', '#228B22') - } else { + setIsLoading(false) + }, + (error) => { HandleSnack('Ocorreu algum erro', true, 'warning', '#FA8072') + setIsLoading(false) } - setIsLoading(false) - }) + ) } else { HandleSnack('Você precisa preencher algumas informações obrigatórias', true, 'warning', '#FFC125') @@ -212,35 +216,27 @@ const EditCollection = ({ match }) => { } useEffect(() => { - const headers = { - Accept: "application/json", - "Content-Type": "application/json; charset=utf-8", - "access-token": sessionStorage.getItem("@portalmec/accessToken"), - client: sessionStorage.getItem("@portalmec/clientToken"), - uid: sessionStorage.getItem("@portalmec/uid"), - }; - - GetSpecificData(GetAData("collections", match.params.id), headers).then( - (res) => { - if (res.state) { - setIsLoaded(true); - setError(false); - setName(res.data.name) - setPrivacy(res.data.privacy) - setDescription(res.data.description) - } else { - setIsLoaded(true); - setError(true); - } + getRequest( + GetAData("collections", match.params.id), + (data, header) => { + setIsLoaded(true); + setError(false); + setName(data.name) + setPrivacy(data.privacy) + setDescription(data.description) + }, + (error) => { + setIsLoaded(true); + setError(true); } - ); + ) }, []); if (error) { return <div> Houve um erro... </div> } else if (!isLoaded) { - return <LoadingSpinner text="Carregando..."/> - } else if(CheckUserPermission()){ + return <LoadingSpinner text="Carregando..." /> + } else if (CheckUserPermission()) { return ( <Card> <SnackBar @@ -285,7 +281,7 @@ const EditCollection = ({ match }) => { disabled={field.default} error={field.error} helperText={field.error ? field.errorMessage : ''} - style={{marginBottom : '1em'}} + style={{ marginBottom: '1em' }} label={field.label} value={field.value} onChange={field.onChange} @@ -306,7 +302,7 @@ const EditCollection = ({ match }) => { <MenuItem key={option.value} value={option.value} - style={option.value === privacy ? {color : 'blue'} : {color : 'black'}} + style={option.value === privacy ? { color: 'blue' } : { color: 'black' }} > { option.value @@ -314,17 +310,17 @@ const EditCollection = ({ match }) => { </MenuItem> ))} </TextField> - <JoditEditor + {/* <JoditEditor ref={editor} value={description} config={config} tabIndex={1} // tabIndex of textarea onBlur={(newContent) => setDescription(newContent.target.innerHTML)} // preferred to use only this option to update the content for performance reasons onChange={(newContent) => { }} - /> + /> */} </form> </CardContent> - + <CardAction> <Button onClick={() => { @@ -342,7 +338,7 @@ const EditCollection = ({ match }) => { </CardAction> </Card> ) - } else return <Unauthorized/> + } else return <Unauthorized /> } export default EditCollection; \ No newline at end of file diff --git a/src/Admin/Components/Components/Inputs/EditEducationalObect.js b/src/Admin/Components/Components/Inputs/EditEducationalObect.js index 0ebb0b71b1926b27907fdc7635b059560b102623..28d3ae4fd0a96f0814383de86c2932a0eaac05e1 100644 --- a/src/Admin/Components/Components/Inputs/EditEducationalObect.js +++ b/src/Admin/Components/Components/Inputs/EditEducationalObect.js @@ -47,7 +47,7 @@ import { EditFilter, GetAData, Url } from "../../../Filters"; //routers import { Link } from "react-router-dom"; //jodit -import JoditEditor from "jodit-react"; +// import JoditEditor from "jodit-react"; let currLanPage = 0; let currLanFilter = ""; @@ -686,7 +686,7 @@ const EditEducationalObject = ({ match }) => { </TabPanel> <TabPanel value={value} index={1} dir={theme.direction}> - <JoditEditor + {/* <JoditEditor ref={editor} value={description} config={JODIT_CONFIG} @@ -695,7 +695,7 @@ const EditEducationalObject = ({ match }) => { setDescription(newContent.target.innerHTML) } // preferred to use only this option to update the content for performance reasons onChange={(newContent) => { }} - /> + /> */} </TabPanel> <TabPanel value={value} index={2} dir={theme.direction}> diff --git a/src/Admin/Components/Components/Inputs/EditLanguage.js b/src/Admin/Components/Components/Inputs/EditLanguage.js index f3e778b2f0f69278ece1a505c217d1114dfad33b..5162858f0fa07ca95328f77306bd87af4e1d38d8 100644 --- a/src/Admin/Components/Components/Inputs/EditLanguage.js +++ b/src/Admin/Components/Components/Inputs/EditLanguage.js @@ -30,10 +30,10 @@ import SnackBar from '../../../../Components/SnackbarComponent'; import { Store } from '../../../../Store'; import LoadingSpinner from '../../../../Components/LoadingSpinner'; //imports services -import { Edit } from '../../../Services'; +import { getRequest, putRequest } from '../../../../Components/HelperFunctions/getAxiosConfig' import { EditFilter, GetAData } from '../../../Filters'; //routers -import {Link} from 'react-router-dom'; +import { Link } from 'react-router-dom'; import Unauthorized from '../Unauthorized'; const EditLanguage = ({ match }) => { @@ -155,14 +155,18 @@ const EditLanguage = ({ match }) => { 'code': code, } } - Edit(api, body).then(res => { - if (res) { + putRequest( + api, + body, + (data) => { HandleSnack('A linguagem foi alterada com sucesso', true, 'success', '#228B22') - } else { + setIsLoading(false) + }, + (error) => { HandleSnack('Ocorreu algum erro', true, 'warning', '#FA8072') + setIsLoading(false) } - setIsLoading(false) - }) + ) } else { HandleSnack('Você precisa preencher algumas informações obrigatórias', true, 'warning', '#FFC125') @@ -183,26 +187,25 @@ const EditLanguage = ({ match }) => { } useEffect(() => { - fetch(GetAData("languages", match.params.id)) - .then((res) => res.json()) - .then( - (result) => { - setIsLoaded(true); - setName(result.name) - setCode(result.code) - }, - (error) => { - setIsLoaded(true); - setError(error); - } - ); + getRequest( + GetAData("languages", match.params.id), + (data, header) => { + setIsLoaded(true); + setName(data.name) + setCode(data.code) + }, + (error) => { + setIsLoaded(true); + setError(error); + } + ) }, []); if (error) { return <div> Houve um erro... </div> } else if (!isLoaded) { - return <LoadingSpinner text="Carregando..."/> - } else if(CheckUserPermission()){ + return <LoadingSpinner text="Carregando..." /> + } else if (CheckUserPermission()) { return ( <Card> <SnackBar @@ -222,7 +225,7 @@ const EditLanguage = ({ match }) => { <Typography variant='h4'> {name} </Typography> - <Link style={{textDecoration: 'none'}} to={'/admin/languages'}> + <Link style={{ textDecoration: 'none' }} to={'/admin/languages'}> <Button startIcon={<ListRoundedIcon />} variant='outlined' @@ -270,7 +273,7 @@ const EditLanguage = ({ match }) => { </CardAction> </Card> ) - } else return <Unauthorized/> + } else return <Unauthorized /> } export default EditLanguage; \ No newline at end of file diff --git a/src/Admin/Components/Components/Inputs/EditRating.js b/src/Admin/Components/Components/Inputs/EditRating.js index 066ecaf6ada10c3d0e6a1626276499ede69d4a3a..de22687e4c466ca2708019c991f39eb09ef08bfa 100644 --- a/src/Admin/Components/Components/Inputs/EditRating.js +++ b/src/Admin/Components/Components/Inputs/EditRating.js @@ -31,6 +31,7 @@ import { Store } from '../../../../Store'; import LoadingSpinner from '../../../../Components/LoadingSpinner'; //imports services import { Edit } from '../../../Services'; +import { getRequest, putRequest } from '../../../../Components/HelperFunctions/getAxiosConfig' import { EditFilter, GetAData } from '../../../Filters'; //routers import {Link} from 'react-router-dom'; @@ -157,14 +158,18 @@ const EditRating = ({ match }) => { 'description': description, } } - Edit(api, body).then(res => { - if (res) { + putRequest( + api, + body, + (data, header) => { HandleSnack('O rating foi alterada com sucesso', true, 'success', '#228B22') - } else { + setIsLoading(false) + }, + (error) => { HandleSnack('Ocorreu algum erro', true, 'warning', '#FA8072') + setIsLoading(false) } - setIsLoading(false) - }) + ) } else { HandleSnack('Você precisa preencher algumas informações obrigatórias', true, 'warning', '#FFC125') @@ -185,19 +190,18 @@ const EditRating = ({ match }) => { } useEffect(() => { - fetch(GetAData("ratings", match.params.id)) - .then((res) => res.json()) - .then( - (result) => { - setIsLoaded(true); - setName(result.name) - setDescription(result.description) - }, - (error) => { - setIsLoaded(true); - setError(error); - } - ); + getRequest( + GetAData("ratings", match.params.id), + (data, header) => { + setIsLoaded(true); + setName(data.name) + setDescription(data.description) + }, + (error) => { + setIsLoaded(true); + setError(true); + } + ) }, []); if (error) { diff --git a/src/Admin/Components/Components/Inputs/EmailInputs.js b/src/Admin/Components/Components/Inputs/EmailInputs.js index 8faecf8d668d735b06ca2d1e1e58319b9a661704..f31057436c3304b7564f7d6b11dc8994d89d8bc0 100644 --- a/src/Admin/Components/Components/Inputs/EmailInputs.js +++ b/src/Admin/Components/Components/Inputs/EmailInputs.js @@ -34,7 +34,7 @@ import SnackBar from "../../../../Components/SnackbarComponent"; import { SendEmail } from "../../../Services"; import { apiUrl } from "../../../../env"; //Jodit -import JoditEditor from "jodit-react"; +// import JoditEditor from "jodit-react"; let sendToAll = false; let rolesArr = []; @@ -487,14 +487,14 @@ const EmailInputs = (props) => { <div style={{ height: "1em" }} /> <div style={{ flex: 1 }}> - <JoditEditor + {/* <JoditEditor ref={editor} value={message} config={config} tabIndex={1} // tabIndex of textarea onBlur={(newContent) => setMessage(newContent.target.innerHTML)} // preferred to use only this option to update the content for performance reasons onChange={(newContent) => { }} - /> + /> */} </div> <div style={{fontSize : 14}}> diff --git a/src/Admin/Components/Components/Inputs/IntitutionsInputs.js b/src/Admin/Components/Components/Inputs/IntitutionsInputs.js index 11c2194e711f36d29d8516fccc8a7bfc9b5afb36..0c3c96187ffe50cef36401938e8d403627d8a18f 100644 --- a/src/Admin/Components/Components/Inputs/IntitutionsInputs.js +++ b/src/Admin/Components/Components/Inputs/IntitutionsInputs.js @@ -33,10 +33,10 @@ import { Store } from '../../../../Store'; import LoadingSpinner from '../../../../Components/LoadingSpinner'; //imports services import { Edit } from '../../../Services'; +import { putRequest, getRequest } from '../../../../Components/HelperFunctions/getAxiosConfig' import { EditFilter, GetAData } from '../../../Filters'; //Routers import { Link } from 'react-router-dom'; -import { stat } from 'fs'; let id; @@ -103,7 +103,7 @@ const EditInstitution = ({ match }) => { // verify if the given text is empty const isEmpty = (text) => { - return text.length === 0 ? true : false; + return text ? false : true; } // Handle snack infos @@ -117,19 +117,19 @@ const EditInstitution = ({ match }) => { } const CheckUserPermission = () => { - let canUserEdit = false; + let canUserEdit = false; if (state.userIsLoggedIn) { const roles = [...state.currentUser.roles]; for (let i = 0; i < roles.length; i++) if (roles[i].name === 'admin' || roles[i].name === 'editor') - canUserEdit = true; + canUserEdit = true; } else { canUserEdit = false; - } + } - return canUserEdit; + return canUserEdit; } //Handle submit @@ -146,16 +146,18 @@ const EditInstitution = ({ match }) => { 'country': country, } } - console.log(api) - Edit(api, body).then(res => { - if (res) { + putRequest( + api, + body, + (data) => { HandleSnack('A instituição foi alterada com sucesso', true, 'success', '#228B22') - } else { + setIsLoading(false) + }, + (error) => { HandleSnack('Ocorreu algum erro', true, 'warning', '#FA8072') + setIsLoading(false) } - setIsLoading(false) - }) - + ) } else { HandleSnack('Você precisa preencher algumas informações obrigatórias', true, 'warning', '#FFC125') if (isEmpty(name)) { @@ -215,29 +217,28 @@ const EditInstitution = ({ match }) => { ] useEffect(() => { - fetch(GetAData("institutions", match.params.id)) - .then((res) => res.json()) - .then( - (result) => { - setIsLoaded(true); - setName(result.name) - setDescription(result.description) - setAdress(result.adress) - setCity(result.city) - setCountry(result.country) - id = result.id - }, - (error) => { - setIsLoaded(true); - setError(error); - } - ); + getRequest( + GetAData("institutions", match.params.id), + (data, header) => { + setIsLoaded(true); + setName(data.name) + setDescription(data.description) + setAdress(data.adress) + setCity(data.city) + setCountry(data.country) + id = data.id + }, + (error) => { + setIsLoaded(true); + setError(error); + } + ) }, []); if (error) { return <div> Erro... </div> } else if (!isLoaded) { - return <LoadingSpinner text="Carregando..."/> + return <LoadingSpinner text="Carregando..." /> } else if (CheckUserPermission()) { return ( <Card> diff --git a/src/Admin/Components/Components/Inputs/NoteVarInputs.js b/src/Admin/Components/Components/Inputs/NoteVarInputs.js index 3692e546a9c3192d11fd2b59057f327506a91ee1..f3c3c10dea51f9d694993634157ab6bc8841e795 100644 --- a/src/Admin/Components/Components/Inputs/NoteVarInputs.js +++ b/src/Admin/Components/Components/Inputs/NoteVarInputs.js @@ -31,7 +31,7 @@ import SnackBar from '../../../../Components/SnackbarComponent'; import { Store } from '../../../../Store'; import LoadingSpinner from '../../../../Components/LoadingSpinner'; //imports services -import { Edit } from '../../../Services'; +import { getRequest, putRequest } from '../../../../Components/HelperFunctions/getAxiosConfig' import { EditFilter, GetAData } from '../../../Filters'; //Routers import { Link } from 'react-router-dom'; @@ -164,14 +164,18 @@ const NoteVarInputs = ({ match }) => { 'weight': weight } } - Edit(api, body).then(res => { - if (res) { + putRequest( + api, + body, + (data) => { HandleSnack('A variável de nota foi alterada com sucesso', true, 'success', '#228B22') - } else { + setIsLoading(false) + }, + (error) => { HandleSnack('Ocorreu algum erro', true, 'warning', '#FA8072') + setIsLoading(false) } - setIsLoading(false) - }) + ) } else { HandleSnack('Você precisa preencher algumas informações obrigatórias', true, 'warning', '#FFC125') @@ -215,20 +219,19 @@ const NoteVarInputs = ({ match }) => { useEffect(() => { - fetch(GetAData("scores", match.params.id)) - .then((res) => res.json()) - .then( - (result) => { - setIsLoaded(true); - setName(result.name) - setCode(result.code) - setWeight(result.weight) - }, - (error) => { - setIsLoaded(true); - setError(error); - } - ); + getRequest( + GetAData("scores", match.params.id), + (data, header) => { + setIsLoaded(true); + setName(data.name) + setCode(data.code) + setWeight(data.weight) + }, + (error) => { + setIsLoaded(true); + setError(true); + } + ) }, []); if (error) { diff --git a/src/Admin/Filters.js b/src/Admin/Filters.js index f519d245fbe74d09c1a2ba3e928c9d507763bea8..72adb6b8657426596f5fdbb781871b6db92a82cd 100644 --- a/src/Admin/Filters.js +++ b/src/Admin/Filters.js @@ -19,38 +19,38 @@ along with Plataforma Integrada MEC. If not, see <http://www.gnu.org/licenses/> import { apiUrl } from '../env'; export function Url(type, filter, page , sort) { - const api = `${apiUrl}/${type}?filter={${filter}}&page=${page}&range=[0,9]&results_per_page=10&sort=["id","${sort}"]` + const api = `/${type}?filter={${filter}}&page=${page}&range=[0,9]&results_per_page=10&sort=["id","${sort}"]` return (api) } export function GetOneOfAllUrl(type , filter){ - const api = `${apiUrl}/${type}?filter={${filter}}` + const api = `/${type}?filter={${filter}}` return (api) } export function MethodsToComplain(type , id, meth){ - const api = `${apiUrl}/${type}/${id}/${meth}`; + const api = `/${type}/${id}/${meth}`; return (api) } export function GetAll(type){ - const api = `${apiUrl}/${type}` + const api = `/${type}` return (api) } export function GetAData(type , id){ - const api = `${apiUrl}/${type}/${id}` + const api = `/${type}/${id}` return (api) } export function EditFilter(type , id){ - const api = `${apiUrl}/${type}/${id}` + const api = `/${type}/${id}` return (api) } export function DeleteFilter(type , id){ - const api = `${apiUrl}/${type}/${id}` + const api = `/${type}/${id}` return (api) } \ No newline at end of file diff --git a/src/Admin/Pages/Pages/SubPages/Activity.js b/src/Admin/Pages/Pages/SubPages/Activity.js index 9f5b6581a36ac42d0a2ed6f4a2b6f917f888b8b1..d049d228e873b1741e7a8d5a037b34ba7ced4774 100644 --- a/src/Admin/Pages/Pages/SubPages/Activity.js +++ b/src/Admin/Pages/Pages/SubPages/Activity.js @@ -22,7 +22,7 @@ import moment from 'moment'; import TableData from "../../../Components/Components/Table"; import SnackBar from "../../../../Components/SnackbarComponent"; import { Url } from "../../../Filters"; -import { GetFullList } from "../../../Services"; +import { getRequest } from '../../../../Components/HelperFunctions/getAxiosConfig'; import LoadingSpinner from '../../../../Components/LoadingSpinner'; //imports from material ui import { withStyles } from "@material-ui/core/styles"; @@ -74,6 +74,7 @@ const Activity = () => { const [error, setError] = useState(null); //Necessary to consult the API, catch errors const [isLoaded, setIsLoaded] = useState(false); //Necessary to consult the API, wait until complete const [items, setItems] = useState([]); //Necessary to consult the API, data + const [totalResults, setTotalResults] = useState(0); const [isLoadingMoreItems, setIsLoadingMoreItems] = useState(false); //controlls the state of loadind more data const [isUpdating, setIsUpdating] = useState(false); //controlls the state of updating data @@ -113,18 +114,9 @@ const Activity = () => { //handle load more items const LoadMoreItens = async (api) => { setIsLoadingMoreItems(true); - const headers = { - Accept: "application/json", - "Content-Type": "application/json; charset=utf-8", - "access-token": sessionStorage.getItem("@portalmec/accessToken"), - client: sessionStorage.getItem("@portalmec/clientToken"), - uid: sessionStorage.getItem("@portalmec/uid"), - 'If-None-Match': null - }; - - GetFullList(api, headers).then((res) => { - if (res.state) { - const arrData = [...res.data]; + getRequest(api, + (data, header) => { + const arrData = [...data]; if (arrData.length === 0) { HandleSnack( "Não há mais dados para serem carregados", @@ -138,71 +130,55 @@ const Activity = () => { const arrResult = arrItems.concat(arrData); setItems(arrResult.concat(ADD_ONE_LENGHT)); } - } else { + setIsLoadingMoreItems(false); + }, + (error) => { HandleSnack("Erro ao carregar os dados", true, "warning", "#FA8072"); + setIsLoadingMoreItems(false); } - setIsLoadingMoreItems(false); - }); + ) }; // handle update list data const UpdateHandler = async (api) => { setIsUpdating(true); - const headers = { - Accept: "application/json", - "Content-Type": "application/json; charset=utf-8", - "access-token": sessionStorage.getItem("@portalmec/accessToken"), - client: sessionStorage.getItem("@portalmec/clientToken"), - uid: sessionStorage.getItem("@portalmec/uid"), - 'If-None-Match': null - }; - - GetFullList(api, headers).then((res) => { - console.log(res); - if (res.state) { + getRequest(api, + (data, header) => { HandleSnack( "A lista de dados foi atualizada", true, "success", "#228B22" ); - const arrData = [...res.data]; - setItems(arrData.concat(ADD_ONE_LENGHT)); - } else { + const arrData = [...data]; + setItems(arrData.concat(ADD_ONE_LENGHT)) + setIsUpdating(false); + }, + (error) => { HandleSnack("Erro ao carregar os dados", true, "warning", "#FA8072"); + setIsUpdating(false); } - setIsUpdating(false); - }); + ) }; const handleChange = (e) => { + setIsLoaded(false) const value = e.target.value; - console.log(value); currPage = 0; setOption(value); - const headers = { - Accept: "application/json", - "Content-Type": "application/json; charset=utf-8", - "access-token": sessionStorage.getItem("@portalmec/accessToken"), - client: sessionStorage.getItem("@portalmec/clientToken"), - uid: sessionStorage.getItem("@portalmec/uid"), - }; - - GetFullList( - Url("activities", `"privacy" : "${value}"`, `${currPage}`, "DESC"), - headers - ).then((res) => { - if (res.state) { - const arrData = [...res.data]; + getRequest(Url("activities", `"privacy" : "${value}"`, `${currPage}`, "DESC"), + (data, header) => { + const arrData = [...data]; setItems(arrData.concat(ADD_ONE_LENGHT)); HandleSnack("Filtro aplicado com sucesso", true, "success", "#228B22"); setIsLoaded(true); - } else { + }, + (error) => { HandleSnack("Erro ao carregar os dados", true, "warning", "#FA8072"); setIsLoaded(true); } - }); + ) }; const DisplayDate = (date) => { @@ -214,20 +190,23 @@ const Activity = () => { //getting data from server useEffect(() => { - GetFullList(Url("activities", "", `${currPage}`, "DESC")).then( - (res) => { - if (res.state) { - const arrData = [...res.data]; - setItems(arrData.concat(ADD_ONE_LENGHT)); - setIsLoaded(true); - setError(false); - } else { - HandleSnack("Erro ao carregar os dados", true, "warning", "#FA8072"); - setIsLoaded(true); - setError(true); + getRequest( + Url("activities", "", `${currPage}`, "DESC"), + (data, header) => { + if (header.has('X-Total-Count')) { + setTotalResults(header.get('X-Total-Count')); } + const arrData = [...data]; + setItems(arrData.concat(ADD_ONE_LENGHT)); + setIsLoaded(true); + setError(false); + }, + (error) => { + HandleSnack("Erro ao carregar os dados", true, "warning", "#FA8072"); + setIsLoaded(true); + setError(true); } - ); + ) }, []); if (error) { diff --git a/src/Admin/Pages/Pages/SubPages/Collections.js b/src/Admin/Pages/Pages/SubPages/Collections.js index a55b4d491f5c6192e34ebe6c178fd3fc5be0a2d8..4288091f31cc4b6e7d830db1493e08e02bf90b6f 100644 --- a/src/Admin/Pages/Pages/SubPages/Collections.js +++ b/src/Admin/Pages/Pages/SubPages/Collections.js @@ -21,7 +21,7 @@ import moment from 'moment'; //imports from local files import TableData from "../../../Components/Components/Table"; import SnackBar from "../../../../Components/SnackbarComponent"; -import { Url, EditFilter } from "../../../Filters"; +import { Url, EditFilter, DeleteFilter } from "../../../Filters"; import { GetFullList, Delete } from "../../../Services"; import AlertDialog from "../../../Components/Components/AlertDialog"; import LoadingSpinner from '../../../../Components/LoadingSpinner'; @@ -40,6 +40,7 @@ import UpdateRoundedIcon from "@material-ui/icons/UpdateRounded"; import FilterListRoundedIcon from "@material-ui/icons/FilterListRounded"; import VisibilityIcon from "@material-ui/icons/Visibility"; import DeleteIcon from "@material-ui/icons/Delete"; +import { deleteRequest, getRequest } from '../../../../Components/HelperFunctions/getAxiosConfig'; //routers import { Link } from 'react-router-dom'; @@ -123,18 +124,9 @@ const Collections = () => { //handle load more items const LoadMoreItens = async (api) => { setIsLoadingMoreItems(true); - const headers = { - Accept: "application/json", - "Content-Type": "application/json; charset=utf-8", - "access-token": sessionStorage.getItem("@portalmec/accessToken"), - client: sessionStorage.getItem("@portalmec/clientToken"), - uid: sessionStorage.getItem("@portalmec/uid"), - 'If-None-Match': null - }; - - GetFullList(api, headers).then((res) => { - if (res.state) { - const arrData = [...res.data]; + getRequest(api, + (data, header) => { + const arrData = [...data]; if (arrData.length === 0) { HandleSnack( "Não há mais dados para serem carregados", @@ -148,11 +140,13 @@ const Collections = () => { const arrResult = arrItems.concat(arrData); setItems(arrResult.concat(ADD_ONE_LENGHT)); } - } else { + setIsLoadingMoreItems(false); + }, + (error) => { HandleSnack("Erro ao carregar os dados", true, "warning", "#FA8072"); + setIsLoadingMoreItems(false); } - setIsLoadingMoreItems(false); - }); + ) }; //Defines which row must show the circular progress @@ -163,52 +157,46 @@ const Collections = () => { // handle update list data const UpdateHandler = async (api) => { setIsUpdating(true); - const headers = { - Accept: "application/json", - "Content-Type": "application/json; charset=utf-8", - "access-token": sessionStorage.getItem("@portalmec/accessToken"), - client: sessionStorage.getItem("@portalmec/clientToken"), - uid: sessionStorage.getItem("@portalmec/uid"), - 'If-None-Match': null - }; - - GetFullList(api, headers).then((res) => { - console.log(res); - if (res.state) { + getRequest(api, + (data, header) => { HandleSnack( "A lista de dados foi atualizada", true, "success", "#228B22" ); - const arrData = [...res.data]; + const arrData = [...data]; setItems(arrData.concat(ADD_ONE_LENGHT)); - } else { + setIsUpdating(false); + }, + (error) => { HandleSnack("Erro ao carregar os dados", true, "warning", "#FA8072"); + setIsUpdating(false); } - setIsUpdating(false); - }); + ) }; //Called when user want to delete one institution async function DeleteHandler() { const id = deleteItem.id; HandleStateAlertDialog(null); - Delete(EditFilter("collections", id)).then((res) => { - if (res) { + deleteRequest(DeleteFilter("collections", id), + (data) => { HandleSnack( - "A instituição foi deletada com sucesso", + "A Coleção foi deletada com sucesso", true, "success", "#228B22" ); currPage = 0; + HandleStateCircularProgress(null); UpdateHandler(Url("collections", "", `${currPage}`, "DESC")); - } else { + }, + (error) => { HandleSnack("Ocorreu algum erro", true, "warning", "#FA8072"); + HandleStateCircularProgress(null); } - HandleStateCircularProgress(null); - }); + ) } //Controlls the state of the Alert Dialog @@ -224,57 +212,37 @@ const Collections = () => { const value = e.target.value; console.log(value); currPage = 0; + setIsLoaded(false) setOption(value); - - const headers = { - Accept: "application/json", - "Content-Type": "application/json; charset=utf-8", - "access-token": sessionStorage.getItem("@portalmec/accessToken"), - client: sessionStorage.getItem("@portalmec/clientToken"), - uid: sessionStorage.getItem("@portalmec/uid"), - }; - - GetFullList( - Url("collections", `"privacy" : "${value}"`, `${currPage}`, "DESC"), - headers - ).then((res) => { - if (res.state) { - const arrData = [...res.data]; + getRequest(Url("collections", `"privacy" : "${value}"`, `${currPage}`, "DESC"), + (data, header) => { + const arrData = [...data]; setItems(arrData.concat(ADD_ONE_LENGHT)); HandleSnack("Filtro aplicado com sucesso", true, "success", "#228B22"); setIsLoaded(true); - } else { + }, + (error) => { HandleSnack("Erro ao carregar os dados", true, "warning", "#FA8072"); setIsLoaded(true); } - }); + ) }; //Handle the search filter const HandleSearch = (event) => { setSearch(event.target.value) - - const headers = { - Accept: "application/json", - "Content-Type": "application/json; charset=utf-8", - "access-token": sessionStorage.getItem("@portalmec/accessToken"), - client: sessionStorage.getItem("@portalmec/clientToken"), - uid: sessionStorage.getItem("@portalmec/uid"), - }; - - GetFullList( + getRequest( Url("collections", `"name" : "${search}"`, `${currPage}`, "DESC"), - headers - ).then((res) => { - if (res.state) { - const arrData = [...res.data]; + (data, header) => { + const arrData = [...data]; setItems(arrData.concat(ADD_ONE_LENGHT)); setIsLoaded(true); - } else { + }, + (error) => { HandleSnack("Erro ao carregar os dados", true, "warning", "#FA8072"); setIsLoaded(true); } - }); + ) } const DisplayDate = (date) => { @@ -286,20 +254,20 @@ const Collections = () => { //getting data from server useEffect(() => { - GetFullList(Url("collections", "", `${currPage}`, "DESC")).then( - (res) => { - if (res.state) { - const arrData = [...res.data]; - setItems(arrData.concat(ADD_ONE_LENGHT)); - setIsLoaded(true); - setError(false); - } else { - HandleSnack("Erro ao carregar os dados", true, "warning", "#FA8072"); - setIsLoaded(false); - setError(true); - } + getRequest( + Url("collections", "", `${currPage}`, "DESC"), + (data, header) => { + const arrData = [...data]; + setItems(arrData.concat(ADD_ONE_LENGHT)); + setIsLoaded(true); + setError(false); + }, + (error) => { + HandleSnack("Erro ao carregar os dados", true, "warning", "#FA8072"); + setIsLoaded(false); + setError(true); } - ); + ) }, []); if (error) { diff --git a/src/Admin/Pages/Pages/SubPages/CommunityQuestions.js b/src/Admin/Pages/Pages/SubPages/CommunityQuestions.js index a0d161cf600e95a9c138fa131aa3acdd5e41dc74..3b5731d8c896537e458259c58e1c6311f4046dc2 100644 --- a/src/Admin/Pages/Pages/SubPages/CommunityQuestions.js +++ b/src/Admin/Pages/Pages/SubPages/CommunityQuestions.js @@ -23,9 +23,9 @@ import TableData from "../../../Components/Components/Table"; import SnackBar from "../../../../Components/SnackbarComponent"; import Unauthorized from '../../../Components/Components/Unauthorized'; import { Url } from "../../../Filters"; -import { GetFullList } from "../../../Services"; import { Store } from '../../../../Store'; import LoadingSpinner from '../../../../Components/LoadingSpinner'; +import { getRequest } from '../../../../Components/HelperFunctions/getAxiosConfig'; //imports from material ui import { withStyles } from "@material-ui/core/styles"; import TableBody from "@material-ui/core/TableBody"; @@ -105,70 +105,46 @@ const CommunityQuestion = () => { //handle with the message filter const MessageFilterHandler = async (e) => { setMessage(e.target.value) - const headers = { - Accept: "application/json", - "Content-Type": "application/json; charset=utf-8", - "access-token": sessionStorage.getItem("@portalmec/accessToken"), - client: sessionStorage.getItem("@portalmec/clientToken"), - uid: sessionStorage.getItem("@portalmec/uid"), - 'If-None-Match': null - }; - - GetFullList(Url("contacts", `"message" : "${message}"`, currPage, 'DESC'), headers).then((res) => { - console.log(res); - if (res.state) { - const arrData = [...res.data]; + getRequest( + Url("contacts", `"message" : "${message}"`, currPage, 'DESC'), + (data, header) => { + const arrData = [...data]; setItems(arrData.concat(ADD_ONE_LENGHT)); - } else { + }, + (error) => { HandleSnack("Não achamos nada na nossa base de dados!", true, "warning", "#FA8072"); } - }); + ) } //handle with the email filter const EmailFilterHandler = (e) => { setEmail(e.target.value) - const headers = { - Accept: "application/json", - "Content-Type": "application/json; charset=utf-8", - "access-token": sessionStorage.getItem("@portalmec/accessToken"), - client: sessionStorage.getItem("@portalmec/clientToken"), - uid: sessionStorage.getItem("@portalmec/uid"), - 'If-None-Match': null - }; - - GetFullList(Url("contacts", `"email" : "${email}"`, currPage, 'DESC'), headers).then((res) => { - console.log(res); - if (res.state) { - const arrData = [...res.data]; + getRequest( + Url("contacts", `"email" : "${email}"`, currPage, 'DESC'), + (data, header) => { + const arrData = [...data]; setItems(arrData.concat(ADD_ONE_LENGHT)); - } else { + }, + (error) => { HandleSnack("Não achamos nada na nossa base de dados!", true, "warning", "#FA8072"); } - }); + ) } //handle with the name filter const NameFilterHandler = (e) => { setName(e.target.value) - const headers = { - Accept: "application/json", - "Content-Type": "application/json; charset=utf-8", - "access-token": sessionStorage.getItem("@portalmec/accessToken"), - client: sessionStorage.getItem("@portalmec/clientToken"), - uid: sessionStorage.getItem("@portalmec/uid"), - 'If-None-Match': null - }; - - GetFullList(Url("contacts", `"name" : "${name}"`, currPage, 'DESC'), headers).then((res) => { - console.log(res); - if (res.state) { - const arrData = [...res.data]; + getRequest( + Url("contacts", `"name" : "${name}"`, currPage, 'DESC'), + (data, header) => { + const arrData = [...data]; setItems(arrData.concat(ADD_ONE_LENGHT)); - } else { + }, + (error) => { HandleSnack("Não achamos nada na nossa base de dados!", true, "warning", "#FA8072"); } - }); + ) } //handle snack info @@ -194,19 +170,11 @@ const CommunityQuestion = () => { //handle load more items const LoadMoreItens = async (api) => { - setIsLoadingMoreItems(true); - const headers = { - Accept: "application/json", - "Content-Type": "application/json; charset=utf-8", - "access-token": sessionStorage.getItem("@portalmec/accessToken"), - client: sessionStorage.getItem("@portalmec/clientToken"), - uid: sessionStorage.getItem("@portalmec/uid"), - 'If-None-Match': null - }; - - GetFullList(api, headers).then((res) => { - if (res.state) { - const arrData = [...res.data]; + setIsLoadingMoreItems(true) + getRequest( + api, + (data, header) => { + const arrData = [...data]; if (arrData.length === 0) { HandleSnack( "Não há mais dados para serem carregados", @@ -220,41 +188,36 @@ const CommunityQuestion = () => { const arrResult = arrItems.concat(arrData); setItems(arrResult.concat(ADD_ONE_LENGHT)); } - } else { + setIsLoadingMoreItems(false); + }, + (error) => { HandleSnack("Erro ao carregar os dados", true, "warning", "#FA8072"); + setIsLoadingMoreItems(false); } - setIsLoadingMoreItems(false); - }); + ) }; // handle update list data const UpdateHandler = async (api) => { setIsUpdating(true); - const headers = { - Accept: "application/json", - "Content-Type": "application/json; charset=utf-8", - "access-token": sessionStorage.getItem("@portalmec/accessToken"), - client: sessionStorage.getItem("@portalmec/clientToken"), - uid: sessionStorage.getItem("@portalmec/uid"), - 'If-None-Match': null - }; - - GetFullList(api, headers).then((res) => { - console.log(res); - if (res.state) { + getRequest( + api, + (data, header) => { HandleSnack( "A lista de dados foi atualizada", true, "success", "#228B22" ); - const arrData = [...res.data]; + const arrData = [...data]; setItems(arrData.concat(ADD_ONE_LENGHT)); - } else { + setIsUpdating(false); + }, + (error) => { HandleSnack("Erro ao carregar os dados", true, "warning", "#FA8072"); + setIsUpdating(false); } - setIsUpdating(false); - }); + ) }; const DisplayDate = (date) => { @@ -282,20 +245,20 @@ const CommunityQuestion = () => { //getting data from server useEffect(() => { - GetFullList(Url("contacts", "", `${currPage}`, "DESC")).then( - (res) => { - if (res.state) { - const arrData = [...res.data]; - setItems(arrData.concat(ADD_ONE_LENGHT)); - setIsLoaded(true); - setError(false); - } else { - HandleSnack("Erro ao carregar os dados", true, "warning", "#FA8072"); - setIsLoaded(true); - setError(true); - } + getRequest( + Url("contacts", "", `${currPage}`, "DESC"), + (data, header) => { + const arrData = [...data]; + setItems(arrData.concat(ADD_ONE_LENGHT)); + setIsLoaded(true); + setError(false); + }, + (error) => { + HandleSnack("Erro ao carregar os dados", true, "warning", "#FA8072"); + setIsLoaded(true); + setError(true); } - ); + ) }, []); if (error) { @@ -548,7 +511,7 @@ const CommunityQuestion = () => { </Link> : null } </StyledTableCell> - <StyledTableCell align="right"> + <StyledTableCell align="right"> {row.message} </StyledTableCell> <StyledTableCell align="right"> diff --git a/src/Admin/Pages/Pages/SubPages/EducationalObjects.js b/src/Admin/Pages/Pages/SubPages/EducationalObjects.js index 67eeecd2dde969b5b7928e9e10cc3c9582b7fdd5..2b7f577bce019ec629dc208fe762100446833fbb 100644 --- a/src/Admin/Pages/Pages/SubPages/EducationalObjects.js +++ b/src/Admin/Pages/Pages/SubPages/EducationalObjects.js @@ -43,9 +43,9 @@ import { Typography, CircularProgress } from "@material-ui/core"; import Popover from "@material-ui/core/Popover"; import TextField from "@material-ui/core/TextField"; // services -import { Delete, GetFullList } from "../../../Services"; +import { getRequest, putRequest, deleteRequest } from '../../../../Components/HelperFunctions/getAxiosConfig' //Filters -import { Url, EditFilter } from "../../../Filters"; +import { Url, EditFilter, DeleteFilter } from "../../../Filters"; //router import { Link } from 'react-router-dom'; @@ -179,41 +179,46 @@ const EducationalObjects = () => { //Filters the search const Filter = (api) => { - GetFullList(api).then((res) => { - if (res.state) { - const arrData = [...res.data]; + getRequest( + api, + (data, header) => { + const arrData = [...data]; setItems(arrData.concat(addOndeLenght)); - } else { + }, + (error) => { setError(true); } - }); + ) }; //This function updates List every time the content of the api changes const UpdtateListData = (api) => { - GetFullList(api).then((res) => { - const arrData = [...res.data]; - if (res.state) { - setItems(arrData.concat(addOndeLenght)); + getRequest( + api, + (data, header) => { + setItems([...data.concat(addOndeLenght)]); HandleSnack( "A lista de dados foi atualizada", true, "success", "#228B22" ); - } else { + setIsUpdating(false); + }, + (error) => { HandleSnack("Ocorreu algum erro", true, "warning", "#FA8072"); + setIsUpdating(false); } - setIsUpdating(false); - }); + ) }; //Called when user want to delete one institution async function DeleteHandler() { const id = deleteItem.id; HandleStateAlertDialog(null); - Delete(EditFilter("institutions", id)).then((res) => { - if (res) { + deleteRequest( + DeleteFilter("institutions", id), + (data) => { HandleSnack( "A instituição foi deletada com sucesso", true, @@ -222,19 +227,21 @@ const EducationalObjects = () => { ); currPage = 0; UpdtateListData(Url("institutions", "", `${currPage}`, "DESC")); - } else { + HandleStateCircularProgress(null); + }, + (error) => { HandleSnack("Ocorreu algum erro", true, "warning", "#FA8072"); + HandleStateCircularProgress(null); } - HandleStateCircularProgress(null); - }); + ) } const LoadMoreItens = async (api) => { setIsLoadingMoreItems(true); - GetFullList(api).then((res) => { - if (res.state) { - const arrData = [...res.data]; - console.log(arrData); + getRequest( + api, + (data, header) => { + const arrData = [...data]; if (arrData.length === 0) { HandleSnack( "Não há mais dados para serem carregados", @@ -248,11 +255,13 @@ const EducationalObjects = () => { const arrResult = arrItems.concat(arrData); setItems(arrResult.concat(addOndeLenght)); } - } else { + setIsLoadingMoreItems(false); + }, + (error) => { HandleSnack("Erro ao carregar os dados", true, "warning", "#FA8072"); + setIsLoadingMoreItems(false); } - setIsLoadingMoreItems(false); - }); + ) }; const DisplayDate = (date) => { @@ -263,26 +272,24 @@ const EducationalObjects = () => { }; useEffect(() => { - GetFullList(Url("learning_objects", "", `${currPage}`, "DESC")) - .then( - (result) => { - if(result.state){ - setIsLoaded(true); - setItems(result.data.concat(addOndeLenght)); - } else{ - setError(true); - } - + getRequest( + Url("learning_objects", "", `${currPage}`, "DESC"), + (data, header) => { + setIsLoaded(true); + setItems(data.concat(addOndeLenght)); }, - ); - + (error) => { + setError(true); + + } + ) }, []); if (error) { return <div>Error: {error.message}</div>; } if (!isLoaded) { - return <LoadingSpinner text="Carregando..."/> + return <LoadingSpinner text="Carregando..." /> } else { //Words that defines that column const topTable = [ @@ -476,10 +483,10 @@ const EducationalObjects = () => { } onClick={() => { currPage++ - if(showAuthorField) LoadMoreItens(Url("learning_objects", `"author" : "${author}"`, currPage, "DESC")) - else if(showDescriptionField) LoadMoreItens(Url("learning_objects", `"description" : "${description}"`, currPage, "DESC")) - else if(showStandadSearch) LoadMoreItens(Url("learning_objects", `"name" : "${search}"`, currPage, "DESC")) - else LoadMoreItens(Url('learning_objects', '', `${currPage}`, 'DESC')) + if (showAuthorField) LoadMoreItens(Url("learning_objects", `"author" : "${author}"`, currPage, "DESC")) + else if (showDescriptionField) LoadMoreItens(Url("learning_objects", `"description" : "${description}"`, currPage, "DESC")) + else if (showStandadSearch) LoadMoreItens(Url("learning_objects", `"name" : "${search}"`, currPage, "DESC")) + else LoadMoreItens(Url('learning_objects', '', `${currPage}`, 'DESC')) }} > {isLoadingMoreItems ? ( diff --git a/src/Admin/Pages/Pages/SubPages/Institutions.js b/src/Admin/Pages/Pages/SubPages/Institutions.js index 8f73792d6cc5dbe283a2fdf4bace69e4c2e97c44..516c9e62353348d28ebb2f55f5508adc8b584f1e 100644 --- a/src/Admin/Pages/Pages/SubPages/Institutions.js +++ b/src/Admin/Pages/Pages/SubPages/Institutions.js @@ -42,9 +42,9 @@ import { Typography, CircularProgress } from "@material-ui/core"; import Popover from "@material-ui/core/Popover"; import TextField from "@material-ui/core/TextField"; // services -import { Delete, GetFullList } from "../../../Services"; +import { getRequest, deleteRequest } from '../../../../Components/HelperFunctions/getAxiosConfig' //Filters -import { Url, GetOneOfAllUrl, EditFilter } from "../../../Filters"; +import { Url, GetOneOfAllUrl, EditFilter, DeleteFilter } from "../../../Filters"; //router import { Link } from 'react-router-dom'; @@ -211,22 +211,25 @@ const Institutions = () => { //Filters the search const Filter = (api) => { - GetFullList(api).then((res) => { - const arrData = [...res.data]; - if (res.state) { + getRequest( + api, + (data, header) => { + const arrData = [...data]; transformListToAsc = false setItems(arrData.concat(addOndeLenght)); - } else { + }, + (error) => { setError(true); } - }); + ) }; //This function updates List every time the content of the api changes const UpdtateListData = (api) => { - GetFullList(api).then((res) => { - const arrData = [...res.data]; - if (res.state) { + getRequest( + api, + (data, header) => { + const arrData = [...data]; setItems(arrData.concat(addOndeLenght)); HandleSnack( "A lista de dados foi atualizada", @@ -234,19 +237,22 @@ const Institutions = () => { "success", "#228B22" ); - } else { + setIsUpdating(false); + }, + (error) => { HandleSnack("Ocorreu algum erro", true, "warning", "#FA8072"); + setIsUpdating(false); } - setIsUpdating(false); - }); + ) }; //Called when user want to delete one institution async function DeleteHandler() { const id = deleteItem.id; HandleStateAlertDialog(null); - Delete(EditFilter("institutions", id)).then((res) => { - if (res) { + deleteRequest( + DeleteFilter("institutions", id), + (data) => { HandleSnack( "A instituição foi deletada com sucesso", true, @@ -256,18 +262,21 @@ const Institutions = () => { currPage = 0; transformListToAsc = false UpdtateListData(Url("institutions", "", `${currPage}`, "DESC")); - } else { + HandleStateCircularProgress(null); + }, + (error) => { HandleSnack("Ocorreu algum erro", true, "warning", "#FA8072"); + HandleStateCircularProgress(null); } - HandleStateCircularProgress(null); - }); + ) } const LoadMoreItens = async (api) => { setIsLoadingMoreItems(true); - GetFullList(api).then((res) => { - if (res.state) { - const arrData = [...res.data]; + getRequest( + api, + (data, header) => { + const arrData = [...data]; console.log(arrData); if (arrData.length === 0) { HandleSnack( @@ -282,48 +291,54 @@ const Institutions = () => { const arrResult = arrItems.concat(arrData); setItems(arrResult.concat(addOndeLenght)); } - } else { + setIsLoadingMoreItems(false); + }, + (error) => { HandleSnack("Erro ao carregar os dados", true, "warning", "#FA8072"); + setIsLoadingMoreItems(false); } - setIsLoadingMoreItems(false); - }); + ) }; const InvertList = async () => { transformListToAsc = !transformListToAsc currPage = 0 if (transformListToAsc) { - GetFullList(Url('institutions', '', `${currPage}`, 'ASC')).then(res => { - if (res.state) { - const arrData = [...res.data] + getRequest( + Url('institutions', '', `${currPage}`, 'ASC'), + (data, header) => { + const arrData = [...data] setItems(arrData.concat(addOndeLenght)) - } else { + }, + (error) => { HandleSnack('Erro ao carregar os dados', true, 'warning', '#FA8072') } - }) + ) } else { - GetFullList(Url('institutions', '', `${currPage}`, 'DESC')).then(res => { - if (res.state) { - const arrData = [...res.data] + getRequest( + Url('institutions', '', `${currPage}`, 'DESC'), + (data, header) => { + const arrData = [...data] setItems(arrData.concat(addOndeLenght)) - } else { + }, + (error) => { HandleSnack('institutions ao carregar os dados', true, 'warning', '#FA8072') } - }) + ) } } useEffect(() => { - GetFullList(Url("institutions", "", `${currPage}`, "DESC")) - .then( - (result) => { - if (result.state) { - setIsLoaded(true); - setItems(result.data.concat(addOndeLenght)); - } else setError(true); - }, - ); - + getRequest( + Url("institutions", "", `${currPage}`, "DESC"), + (data, header) => { + setIsLoaded(true); + setItems(data.concat(addOndeLenght)); + }, + (error) => { + setError(true); + } + ) }, []); if (error) { diff --git a/src/Admin/Pages/Pages/SubPages/Languages.js b/src/Admin/Pages/Pages/SubPages/Languages.js index 2d0dd3910aa24a1751a0c98269c257ffeb9a9608..b333e39d2e41a403742afefb1303962a6948af33 100644 --- a/src/Admin/Pages/Pages/SubPages/Languages.js +++ b/src/Admin/Pages/Pages/SubPages/Languages.js @@ -22,9 +22,9 @@ import TableData from '../../../Components/Components/Table'; import SnackBar from '../../../../Components/SnackbarComponent'; import AlertDialog from "../../../Components/Components/AlertDialog"; import { Url } from '../../../Filters'; -import { GetFullList, Delete } from '../../../Services'; import LoadingSpinner from '../../../../Components/LoadingSpinner'; import { DeleteFilter } from '../../../Filters'; +import { getRequest, deleteRequest } from '../../../../Components/HelperFunctions/getAxiosConfig' //imports from material ui import { withStyles } from '@material-ui/core/styles'; import TableBody from '@material-ui/core/TableBody'; @@ -96,9 +96,10 @@ const Languages = () => { //handle load more items const LoadMoreItens = async (api) => { setIsLoadingMoreItems(true) - GetFullList(api).then(res => { - if (res.state) { - const arrData = [...res.data] + getRequest( + api, + (data, header) => { + const arrData = [...data] if (arrData.length === 0) { HandleSnack('Não há mais dados para serem carregados', true, 'warning', '#FFC125') } else { @@ -107,35 +108,40 @@ const Languages = () => { const arrResult = arrItems.concat(arrData) setItems(arrResult.concat(ADD_ONE_LENGHT)) } - - } else { + setIsLoadingMoreItems(false) + }, + (error) => { HandleSnack('Erro ao carregar os dados', true, 'warning', '#FA8072') + setIsLoadingMoreItems(false) } - setIsLoadingMoreItems(false) - }) + ) } // handle update list data const UpdateHandler = async (api) => { setIsUpdating(true) - GetFullList(api).then(res => { - if (res.state) { + getRequest( + api, + (data, header) => { HandleSnack('A lista de dados foi atualizada', true, 'success', '#228B22') - const arrData = [...res.data] + const arrData = [...data] setItems(arrData.concat(ADD_ONE_LENGHT)) - } else { + setIsUpdating(false) + }, + (error) => { HandleSnack('Erro ao carregar os dados', true, 'warning', '#FA8072') + setIsUpdating(false) } - setIsUpdating(false) - }) + ) } //handle Delete async function DeleteHandler() { const id = deleteItem.id; HandleStateAlertDialog(null); - Delete(DeleteFilter("languages", id)).then((res) => { - if (res) { + deleteRequest( + DeleteFilter("languages", id), + (data) => { HandleSnack( "A lÃngua foi deletada com sucesso", true, @@ -145,11 +151,13 @@ const Languages = () => { currPage = 0; transformListToAsc = false UpdateHandler(Url("languages", "", `${currPage}`, "DESC")); - } else { + HandleStateCircularProgress(null); + }, + (error) => { HandleSnack("Ocorreu algum erro", true, "warning", "#FA8072"); + HandleStateCircularProgress(null); } - HandleStateCircularProgress(null); - }); + ) } const HandleStateCircularProgress = (i) => { @@ -166,39 +174,42 @@ const Languages = () => { transformListToAsc = !transformListToAsc currPage = 0 if (transformListToAsc) { - GetFullList(Url('languages', '', `${currPage}`, 'ASC')).then(res => { - if (res.state) { - const arrData = [...res.data] + getRequest( + Url('languages', '', `${currPage}`, 'ASC'), + (data, header) => { + const arrData = [...data] setItems(arrData.concat(ADD_ONE_LENGHT)) - } else { + }, + (error) => { HandleSnack('Erro ao carregar os dados', true, 'warning', '#FA8072') } - }) + ) } else { - GetFullList(Url('languages', '', `${currPage}`, 'DESC')).then(res => { - if (res.state) { - const arrData = [...res.data] + getRequest( + Url('languages', '', `${currPage}`, 'DESC'), + (data, header) => { + const arrData = [...data] setItems(arrData.concat(ADD_ONE_LENGHT)) - } else { + }, + (error) => { HandleSnack('Erro ao carregar os dados', true, 'warning', '#FA8072') } - }) + ) } } //getting data from server useEffect(() => { - GetFullList(Url('languages', '', `${currPage}`, 'DESC')) - .then( - (result) => { - if (result.state) { - setIsLoaded(true); - setItems(result.data.concat(ADD_ONE_LENGHT)); - } else { - setError(true); - } - }, - ) + getRequest( + Url('languages', '', `${currPage}`, 'DESC'), + (data, header) => { + setIsLoaded(true); + setItems(data.concat(ADD_ONE_LENGHT)); + }, + (error) => { + setError(true); + } + ) }, []); diff --git a/src/Admin/Pages/Pages/SubPages/NoteVariables.js b/src/Admin/Pages/Pages/SubPages/NoteVariables.js index 3d242bb22794370daa2d86b81a56dd1d88c27627..0958d95d52711562fd280e5ed661f22e9dafa1cf 100644 --- a/src/Admin/Pages/Pages/SubPages/NoteVariables.js +++ b/src/Admin/Pages/Pages/SubPages/NoteVariables.js @@ -36,8 +36,8 @@ import TableData from '../../../Components/Components/Table'; import SnackBar from '../../../../Components/SnackbarComponent'; import LoadingSpinner from '../../../../Components/LoadingSpinner'; //Services +import { getRequest } from '../../../../Components/HelperFunctions/getAxiosConfig' import { Url } from '../../../Filters'; -import { GetFullList } from '../../../Services'; //routers import { Link } from 'react-router-dom'; @@ -89,9 +89,10 @@ const NoteVariables = () => { const LoadMoreItens = async (api) => { setIsLoadingMoreItems(true) - GetFullList(api).then(res => { - if (res.state) { - const arrData = [...res.data] + getRequest( + api, + (data, header) => { + const arrData = [...data] if (arrData.length === 0) { HandleSnack('Não há mais dados para serem carregados', true, 'warning', '#FFC125') } else { @@ -100,63 +101,71 @@ const NoteVariables = () => { const arrResult = arrItems.concat(arrData) setItems(arrResult.concat(AddOneLenght)) } - - } else { + setIsLoadingMoreItems(false) + }, + (error) => { HandleSnack('Erro ao carregar os dados', true, 'warning', '#FA8072') + setIsLoadingMoreItems(false) } - setIsLoadingMoreItems(false) - }) + ) } const InvertList = async () => { transformListToAsc = !transformListToAsc currPage = 0 if (transformListToAsc) { - GetFullList(Url('scores', '', `${currPage}`, 'ASC')).then(res => { - if (res.state) { - const arrData = [...res.data] + getRequest( + Url('scores', '', `${currPage}`, 'ASC'), + (data, header) => { + const arrData = [...data] setItems(arrData.concat(AddOneLenght)) - } else { + }, + (error) => { HandleSnack('Erro ao carregar os dados', true, 'warning', '#FA8072') } - }) + ) } else { - GetFullList(Url('scores', '', `${currPage}`, 'DESC')).then(res => { - if (res.state) { - const arrData = [...res.data] + getRequest( + Url('scores', '', `${currPage}`, 'DESC'), + (data, header) => { + const arrData = [...data] setItems(arrData.concat(AddOneLenght)) - } else { + }, + (error) => { HandleSnack('Erro ao carregar os dados', true, 'warning', '#FA8072') } - }) + ) } } const UpdateHandler = async (api) => { setIsUpdating(true) - GetFullList(api).then(res => { - if (res.state) { + getRequest( + api, + (data, header) => { HandleSnack('A lista de dados foi atualizada', true, 'success', '#228B22') - const arrData = [...res.data] + const arrData = [...data] setItems(arrData.concat(AddOneLenght)) - } else { + setIsUpdating(false) + }, + (error) => { HandleSnack('Erro ao carregar os dados', true, 'warning', '#FA8072') + setIsUpdating(false) } - setIsUpdating(false) - }) + ) } useEffect(() => { - GetFullList(Url('scores', '', '0', 'DESC')) - .then( - (result) => { - if (result.state) { - setIsLoaded(true); - setItems(result.data.concat(AddOneLenght)); - } else setError(true); - - }, - ) + getRequest( + Url('scores', '', '0', 'DESC'), + (data, header) => { + setIsLoaded(true); + setItems(data.concat(AddOneLenght)); + }, + (error) => { + setError(true); + } + ) }, []); diff --git a/src/Admin/Pages/Pages/SubPages/Rating.js b/src/Admin/Pages/Pages/SubPages/Rating.js index e102e928040d14510b81a978fcaf79359e49e0cc..921d85256be499effffc1755c7877ee1abb5cfca 100644 --- a/src/Admin/Pages/Pages/SubPages/Rating.js +++ b/src/Admin/Pages/Pages/SubPages/Rating.js @@ -38,8 +38,8 @@ import LoadingSpinner from '../../../../Components/LoadingSpinner'; //Services import AlertDialog from "../../../Components/Components/AlertDialog"; import { Url } from '../../../Filters'; -import { GetFullList, Delete } from '../../../Services'; import { DeleteFilter } from '../../../Filters'; +import { getRequest, deleteRequest } from '../../../../Components/HelperFunctions/getAxiosConfig' //routers import { Link } from 'react-router-dom'; @@ -95,9 +95,10 @@ const Ratings = () => { const LoadMoreItens = async (api) => { setIsLoadingMoreItems(true) - GetFullList(api).then(res => { - if (res.state) { - const arrData = [...res.data] + getRequest( + api, + (data, header) => { + const arrData = [...data] if (arrData.length === 0) { HandleSnack('Não há mais dados para serem carregados', true, 'warning', '#FFC125') } else { @@ -106,58 +107,67 @@ const Ratings = () => { const arrResult = arrItems.concat(arrData) setItems(arrResult.concat(AddOneLenght)) } - - } else { + setIsLoadingMoreItems(false) + }, + (error) => { HandleSnack('Erro ao carregar os dados', true, 'warning', '#FA8072') + setIsLoadingMoreItems(false) } - setIsLoadingMoreItems(false) - }) + ) } const InvertList = async () => { transformListToAsc = !transformListToAsc currPage = 0 if (transformListToAsc) { - GetFullList(Url('ratings', '', `${currPage}`, 'ASC')).then(res => { - if (res.state) { - const arrData = [...res.data] + getRequest( + Url('ratings', '', `${currPage}`, 'ASC'), + (data, header) => { + const arrData = [...data] setItems(arrData.concat(AddOneLenght)) - } else { + }, + (error) => { HandleSnack('Erro ao carregar os dados', true, 'warning', '#FA8072') } - }) + ) } else { - GetFullList(Url('ratings', '', `${currPage}`, 'DESC')).then(res => { - if (res.state) { - const arrData = [...res.data] + getRequest( + Url('ratings', '', `${currPage}`, 'DESC'), + (data, header) => { + const arrData = [...data] setItems(arrData.concat(AddOneLenght)) - } else { + }, + (error) => { HandleSnack('Erro ao carregar os dados', true, 'warning', '#FA8072') } - }) + ) } } const UpdateHandler = async (api) => { setIsUpdating(true) - GetFullList(api).then(res => { - if (res.state) { + getRequest( + api, + (data, header) => { HandleSnack('A lista de dados foi atualizada', true, 'success', '#228B22') - const arrData = [...res.data] + const arrData = [...data] setItems(arrData.concat(AddOneLenght)) - } else { + setIsUpdating(false) + }, + (error) => { HandleSnack('Erro ao carregar os dados', true, 'warning', '#FA8072') + setIsUpdating(false) } - setIsUpdating(false) - }) + ) } //handle Delete async function DeleteHandler() { const id = deleteItem.id; HandleStateAlertDialog(null); - Delete(DeleteFilter("ratings", id)).then((res) => { - if (res) { + deleteRequest( + DeleteFilter("ratings", id), + (data) => { HandleSnack( "O rating foi deletada com sucesso", true, @@ -167,11 +177,13 @@ const Ratings = () => { currPage = 0; transformListToAsc = false UpdateHandler(Url("ratings", "", `${currPage}`, "DESC")); - } else { + HandleStateCircularProgress(null); + }, + (error) => { HandleSnack("Ocorreu algum erro", true, "warning", "#FA8072"); + HandleStateCircularProgress(null); } - HandleStateCircularProgress(null); - }); + ) } const HandleStateCircularProgress = (i) => { @@ -186,15 +198,16 @@ const Ratings = () => { useEffect(() => { - GetFullList(Url('ratings', '', currPage, 'DESC')) - .then( - (result) => { - if (result.state) { - setIsLoaded(true); - setItems(result.data.concat(AddOneLenght)); - } else setError(true) - }, - ) + getRequest( + Url('ratings', '', currPage, 'DESC'), + (data, header) => { + setIsLoaded(true); + setItems(data.concat(AddOneLenght)); + }, + (error) => { + setError(true) + } + ) }, []); diff --git a/src/App.js b/src/App.js index 0f4b3a9c863f9c4c522c8fc8fa47cc3ed08174f5..5a391948be50ebbe522eec1efa91c2fb9b4d64d3 100644 --- a/src/App.js +++ b/src/App.js @@ -94,6 +94,7 @@ export default function App(){ <link href="https://fonts.googleapis.com/css?family=Kalam|Pompiere|Roboto&display=swap" rel="stylesheet"/> <Switch> <Route path="/" exact={true} component={Home}/> + <Route path="/admin" component={Admin}/> <Route path="/busca" component={Search} /> <Route path="/perfil" component={UserPage} /> <Route path="/editarperfil" component={EditProfilePage} /> @@ -134,5 +135,3 @@ export default function App(){ ) } - -export default App; \ No newline at end of file