diff --git a/package-lock.json b/package-lock.json index c78564a..4fc1174 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,6 +4,12 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "@aduh95/viz.js": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/@aduh95/viz.js/-/viz.js-3.3.3.tgz", + "integrity": "sha512-LC9QtXVpZAsWp58ifJepMRDmCpXyi5hc6mClodSuFfUCPyU2h42Up+la9hFC+j0Waaz/htahM+Z5cavWDS72Tg==", + "dev": true + }, "@angular-devkit/architect": { "version": "0.1101.4", "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1101.4.tgz", @@ -2768,12 +2774,6 @@ "uuid": "^3.3.3" }, "dependencies": { - "colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", - "dev": true - }, "commander": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz", @@ -2800,45 +2800,58 @@ } }, "@compodoc/ngd-core": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@compodoc/ngd-core/-/ngd-core-2.0.0.tgz", - "integrity": "sha512-6HpYvXRZBdIYFojWxW5EVNkhYPmblytCve62CNoYBSWfy++vTGH7Ypg2Bhjg2CsqeV8JOVxrPO7JM9M3MgWKEA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@compodoc/ngd-core/-/ngd-core-2.1.0.tgz", + "integrity": "sha512-nyBH7J7SJJ2AV6OeZhJ02kRtVB7ALnZJKgShjoL9CNmOFEj8AkdhP9qTBIgjaDrbsW5pF4nx32KQL2fT7RFnqw==", "dev": true, "requires": { - "ansi-colors": "^1.0.1", - "fancy-log": "^1.3.2", - "typescript": "^2.4.2" + "ansi-colors": "^4.1.1", + "fancy-log": "^1.3.3", + "typescript": "^4.0.3" + } + }, + "@compodoc/ngd-transformer": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@compodoc/ngd-transformer/-/ngd-transformer-2.1.0.tgz", + "integrity": "sha512-Jo4VCMzIUtgIAdRmhHhOoRRE01gCjc5CyrUERRx0VgEzkkCm1Wmu/XHSsQP6tSpCYHBjERghqaDqH5DabkR2oQ==", + "dev": true, + "requires": { + "@aduh95/viz.js": "^3.1.0", + "@compodoc/ngd-core": "~2.1.0", + "dot": "^1.1.3", + "fs-extra": "^9.0.1" }, "dependencies": { - "ansi-colors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", - "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "dev": true, "requires": { - "ansi-wrap": "^0.1.0" + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" } }, - "typescript": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.9.2.tgz", - "integrity": "sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w==", + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "dev": true } } }, - "@compodoc/ngd-transformer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@compodoc/ngd-transformer/-/ngd-transformer-2.0.0.tgz", - "integrity": "sha512-9J0KkmuuuvDHxH0oREgrgbqdEFqcltQXIBofeYdIyMKzI3A+pN1Ji4zfi7x1ql0Ax7qQKemp8XWP+cCpP0qY+w==", - "dev": true, - "requires": { - "@compodoc/ngd-core": "~2.0.0", - "dot": "^1.1.1", - "fs-extra": "^4.0.1", - "viz.js": "^1.8.0" - } - }, "@dsherret/to-absolute-glob": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/@dsherret/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz", @@ -3430,9 +3443,9 @@ }, "dependencies": { "acorn": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.3.1.tgz", - "integrity": "sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA==", + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "dev": true } } @@ -3892,6 +3905,12 @@ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", "dev": true }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true + }, "atob": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", @@ -4002,9 +4021,9 @@ }, "dependencies": { "core-js": { - "version": "2.6.11", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", - "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==", + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", "dev": true }, "regenerator-runtime": { @@ -4654,70 +4673,112 @@ "dev": true }, "cheerio": { - "version": "1.0.0-rc.3", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.3.tgz", - "integrity": "sha512-0td5ijfUPuubwLUu0OBoe98gZj8C/AA+RW3v67GPlGOrvxWjZmBXiBCRU+I8VEiNyJzjth40POfHiz2RB3gImA==", + "version": "1.0.0-rc.5", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.5.tgz", + "integrity": "sha512-yoqps/VCaZgN4pfXtenwHROTp8NG6/Hlt4Jpz2FEP0ZJQ+ZUkVDd0hAPDNKhj3nakpfPt/CNs57yEtxD1bXQiw==", + "dev": true, + "requires": { + "cheerio-select-tmp": "^0.1.0", + "dom-serializer": "~1.2.0", + "domhandler": "^4.0.0", + "entities": "~2.1.0", + "htmlparser2": "^6.0.0", + "parse5": "^6.0.0", + "parse5-htmlparser2-tree-adapter": "^6.0.0" + }, + "dependencies": { + "dom-serializer": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.2.0.tgz", + "integrity": "sha512-n6kZFH/KlCrqs/1GHMOd5i2fd/beQHuehKdWvNNffbGHTr/almdhuVvTVFb3V7fglz+nC50fFusu3lY33h12pA==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "entities": "^2.0.0" + } + }, + "domelementtype": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz", + "integrity": "sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==", + "dev": true + }, + "entities": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", + "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", + "dev": true + } + } + }, + "cheerio-select-tmp": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/cheerio-select-tmp/-/cheerio-select-tmp-0.1.1.tgz", + "integrity": "sha512-YYs5JvbpU19VYJyj+F7oYrIE2BOll1/hRU7rEy/5+v9BzkSo3bK81iAeeQEMI92vRIxz677m72UmJUiVwwgjfQ==", "dev": true, "requires": { - "css-select": "~1.2.0", - "dom-serializer": "~0.1.1", - "entities": "~1.1.1", - "htmlparser2": "^3.9.1", - "lodash": "^4.15.0", - "parse5": "^3.0.1" + "css-select": "^3.1.2", + "css-what": "^4.0.0", + "domelementtype": "^2.1.0", + "domhandler": "^4.0.0", + "domutils": "^2.4.4" }, "dependencies": { "css-select": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", - "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-3.1.2.tgz", + "integrity": "sha512-qmss1EihSuBNWNNhHjxzxSfJoFBM/lERB/Q4EnsJQQC62R2evJDW481091oAdOr9uh46/0n4nrg0It5cAnj1RA==", "dev": true, "requires": { - "boolbase": "~1.0.0", - "css-what": "2.1", - "domutils": "1.5.1", - "nth-check": "~1.0.1" + "boolbase": "^1.0.0", + "css-what": "^4.0.0", + "domhandler": "^4.0.0", + "domutils": "^2.4.3", + "nth-check": "^2.0.0" } }, "css-what": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", - "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-4.0.0.tgz", + "integrity": "sha512-teijzG7kwYfNVsUh2H/YN62xW3KK9YhXEgSlbxMlcyjPNvdKJqFx5lrwlJgoFP1ZHlB89iGDlo/JyshKeRhv5A==", "dev": true }, "dom-serializer": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz", - "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.2.0.tgz", + "integrity": "sha512-n6kZFH/KlCrqs/1GHMOd5i2fd/beQHuehKdWvNNffbGHTr/almdhuVvTVFb3V7fglz+nC50fFusu3lY33h12pA==", "dev": true, "requires": { - "domelementtype": "^1.3.0", - "entities": "^1.1.1" + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "entities": "^2.0.0" } }, + "domelementtype": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz", + "integrity": "sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==", + "dev": true + }, "domutils": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.4.4.tgz", + "integrity": "sha512-jBC0vOsECI4OMdD0GC9mGn7NXPLb+Qt6KW1YDQzeQYRUFKmNG8lh7mO5HiELfr+lLQE7loDVI4QcAxV80HS+RA==", "dev": true, "requires": { - "dom-serializer": "0", - "domelementtype": "1" + "dom-serializer": "^1.0.1", + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0" } }, - "entities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", - "dev": true - }, - "parse5": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.3.tgz", - "integrity": "sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==", + "nth-check": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.0.tgz", + "integrity": "sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==", "dev": true, "requires": { - "@types/node": "*" + "boolbase": "^1.0.0" } } } @@ -6416,12 +6477,20 @@ "dev": true }, "domhandler": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", - "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.0.0.tgz", + "integrity": "sha512-KPTbnGQ1JeEMQyO1iYXoagsI6so/C96HZiFyByU3T6iAzpXn8EGEvct6unm1ZGoed8ByO2oirxgwxBmqKF9haA==", "dev": true, "requires": { - "domelementtype": "1" + "domelementtype": "^2.1.0" + }, + "dependencies": { + "domelementtype": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz", + "integrity": "sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==", + "dev": true + } } }, "domutils": { @@ -6450,9 +6519,9 @@ } }, "duplexer": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", - "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", "dev": true }, "duplexer2": { @@ -7453,12 +7522,6 @@ "unicode-trie": "^0.3.0" }, "dependencies": { - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", - "dev": true - }, "pako": { "version": "0.2.9", "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", @@ -7818,9 +7881,9 @@ "dev": true }, "handlebars": { - "version": "4.7.6", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.6.tgz", - "integrity": "sha512-1f2BACcBfiwAfStCKZNrUCgqNZkGsAT7UM3kkYtXuLo0KnaVfjKOyf7PRzB6++aK9STyT1Pd2ZCPe3EGOXleXA==", + "version": "4.7.7", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", + "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", "dev": true, "requires": { "minimist": "^1.2.5", @@ -8051,34 +8114,43 @@ "dev": true }, "htmlparser2": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", - "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.0.0.tgz", + "integrity": "sha512-numTQtDZMoh78zJpaNdJ9MXb2cv5G3jwUoe3dMQODubZvLoGvTE/Ofp6sHvH8OGKcN/8A47pGLi/k58xHP/Tfw==", "dev": true, "requires": { - "domelementtype": "^1.3.1", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.4.4", + "entities": "^2.0.0" }, "dependencies": { - "entities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "dom-serializer": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.2.0.tgz", + "integrity": "sha512-n6kZFH/KlCrqs/1GHMOd5i2fd/beQHuehKdWvNNffbGHTr/almdhuVvTVFb3V7fglz+nC50fFusu3lY33h12pA==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "entities": "^2.0.0" + } + }, + "domelementtype": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz", + "integrity": "sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==", "dev": true }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "domutils": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.4.4.tgz", + "integrity": "sha512-jBC0vOsECI4OMdD0GC9mGn7NXPLb+Qt6KW1YDQzeQYRUFKmNG8lh7mO5HiELfr+lLQE7loDVI4QcAxV80HS+RA==", "dev": true, "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "dom-serializer": "^1.0.1", + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0" } } } @@ -9687,6 +9759,16 @@ "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", "dev": true }, + "cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dev": true, + "requires": { + "object-assign": "^4", + "vary": "^1" + } + }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -9713,15 +9795,6 @@ "is-extendable": "^0.1.0" } }, - "faye-websocket": { - "version": "0.11.3", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", - "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", - "dev": true, - "requires": { - "websocket-driver": ">=0.5.1" - } - }, "fill-range": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", @@ -9982,15 +10055,15 @@ } }, "lunr": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.8.tgz", - "integrity": "sha512-oxMeX/Y35PNFuZoHp+jUj5OSEmLCaIH4KTFJh7a93cHBoFmpw2IoPs22VIz7vyO2YUnx2Tn9dzIwO2P/4quIRg==", + "version": "2.3.9", + "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", + "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==", "dev": true }, "macos-release": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.4.0.tgz", - "integrity": "sha512-ko6deozZYiAkqa/0gmcsz+p4jSy3gY7/ZsCEokPaYd8k+6/aXGkiTgr61+Owup7Sf+xjqW8u2ElhoM9SEcEfuA==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.4.1.tgz", + "integrity": "sha512-H/QHeBIN1fIGJX517pvK8IEK53yQOW7YcEI55oYtgjDdoCQQz7eJS94qt5kNrscReEyuD/JcdFCm2XBEcGOITg==", "dev": true }, "magic-string": { @@ -11699,15 +11772,16 @@ } }, "pdfmake": { - "version": "0.1.66", - "resolved": "https://registry.npmjs.org/pdfmake/-/pdfmake-0.1.66.tgz", - "integrity": "sha512-NFR1hn5d4NDPOGFY2/jCt6eRLO2x2BFtr/vdl321DjlPYX9DxGwDAgCnNfTfh96lhewHDuAD8YU4X2l0kjnB2Q==", + "version": "0.1.70", + "resolved": "https://registry.npmjs.org/pdfmake/-/pdfmake-0.1.70.tgz", + "integrity": "sha512-xPhkblaQ71U97qhRTPj/1HknAHHFZ3cPRmRdrqEWD2xXBcEjEM3Yw0MIjML8DRy9Dt9n6QRjHVf662f0eLtd7Q==", "dev": true, "requires": { - "iconv-lite": "^0.6.0", + "iconv-lite": "^0.6.2", "linebreak": "^1.0.2", "pdfkit": "^0.11.0", - "svg-to-pdfkit": "^0.1.8" + "svg-to-pdfkit": "^0.1.8", + "xmldoc": "^1.1.2" }, "dependencies": { "iconv-lite": { @@ -16181,9 +16255,9 @@ "dev": true }, "uglify-js": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.10.0.tgz", - "integrity": "sha512-Esj5HG5WAyrLIdYU74Z3JdG2PxdIusvj6IWHMtlyESxc7kcDz7zYlYjpnSokn1UbpV0d/QX9fan7gkCNd/9BQA==", + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.0.tgz", + "integrity": "sha512-TWYSWa9T2pPN4DIJYbU9oAjQx+5qdV5RUDxwARg8fmJZrD/V27Zj0JngW5xg1DFz42G0uDYl2XhzF6alSzD62w==", "dev": true, "optional": true }, @@ -16518,12 +16592,6 @@ "extsprintf": "^1.2.0" } }, - "viz.js": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/viz.js/-/viz.js-1.8.2.tgz", - "integrity": "sha512-W+1+N/hdzLpQZEcvz79n2IgUE9pfx6JLdHh3Kh8RGvLL8P1LdJVQmi2OsDcLdY4QVID4OUy+FPelyerX0nJxIQ==", - "dev": true - }, "vm-browserify": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", @@ -17458,9 +17526,9 @@ "dev": true }, "windows-release": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-3.3.1.tgz", - "integrity": "sha512-Pngk/RDCaI/DkuHPlGTdIkDiTAnAkyMjoQMZqRsxydNl1qGXNIoZrB7RK8g53F2tEgQBMqQJHQdYZuQEEAu54A==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-3.3.3.tgz", + "integrity": "sha512-OSOGH1QYiW5yVor9TtmXKQvt2vjQqbYS+DqmsZw+r7xDwLXEeT3JGW0ZppFmHx4diyXmxt238KFR3N9jzevBRg==", "dev": true, "requires": { "execa": "^1.0.0" @@ -17600,6 +17668,15 @@ "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", "dev": true }, + "xmldoc": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/xmldoc/-/xmldoc-1.1.2.tgz", + "integrity": "sha512-ruPC/fyPNck2BD1dpz0AZZyrEwMOrWTO5lDdIXS91rs3wtm4j+T8Rp2o+zoOYkkAxJTZRPOSnOGei1egoRmKMQ==", + "dev": true, + "requires": { + "sax": "^1.2.1" + } + }, "xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", diff --git a/package.json b/package.json index b970199..e350064 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "test": "ng test", "lint": "ng lint", "e2e": "ng e2e", - "compodoc": "./node_modules/.bin/compodoc -p tsconfig.json" + "compodoc": "npx compodoc -p tsconfig.compodoc.json src" }, "private": true, "dependencies": { diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 1dc53f8..f9a4b5f 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -5,31 +5,17 @@ import { Routes } from '@angular/router'; import { HomeComponent } from './home/'; -import { AuthGuard } from '@shared/auth/auth.guard'; +import { AuthGuard } from './shared/auth/auth.guard'; import { paths_collaborateurs, paths_demandes_delegation, paths_demandes_formation, - paths_ep, paths_saisie_ep, paths_formation, paths_home, paths_referents, paths_engagements, paths_notes } from '@shared/utils/paths'; + paths_ep, paths_saisie_ep, paths_formation, paths_home, paths_referents, paths_engagements, paths_notes } from './shared/utils/paths'; -import { Role } from '@shared/utils/roles'; +import { Role } from './shared/utils/roles'; /** * L'ensemble des routes du client Angular */ const routes: Routes = [ - //Redirection vers le home pour "/" - { - path: '', - redirectTo: paths_home.path, - pathMatch: 'full' - }, - //Chemin du home - { - path: paths_home.path, - component: HomeComponent, - canActivate: [AuthGuard], - data: { roles: [Role.assistante, Role.commercial, Role.rh, Role.collaborateur] }, - pathMatch: 'full' - }, //chargement des chemins du module collaborateur à partir du routing de ce module { path: paths_collaborateurs.path, @@ -73,6 +59,20 @@ const routes: Routes = [ { path: paths_notes.path, loadChildren: () => import('./notes/notes.module').then( m => m.NotesModule) + }, + //Chemin du home + { + path: paths_home.path, + component: HomeComponent, + canActivate: [AuthGuard], + data: { roles: [Role.assistante, Role.commercial, Role.rh, Role.collaborateur] }, + pathMatch: 'full' + }, + //Redirection vers le home pour "/" + { + path: '', + redirectTo: paths_home.path, + pathMatch: 'full' } ]; diff --git a/src/app/collaborateurs/collaborateurs.component.ts b/src/app/collaborateurs/collaborateurs.component.ts index c9fddfd..a1ea1ef 100644 --- a/src/app/collaborateurs/collaborateurs.component.ts +++ b/src/app/collaborateurs/collaborateurs.component.ts @@ -6,8 +6,6 @@ import { Router } from '@angular/router'; /** * Composant qui sert à l'affichage de la liste des collaborateurs en fonction de l'agence de son utilitateur. - * Seuls les commerciaux, RH et assistantes pourront accéder à la liste des collaborateurs. - * Les données affichées : Agence-Nom Prénom-Date Embauche-Responsable Commercial-Date Prochain EP. */ @Component({ selector: 'app-collaborateurs', @@ -37,6 +35,11 @@ export class CollaborateursComponent { constructor(private router: Router) {} + /** + * Fonction permettant d'ouvrir les détails d'un référent ou d'un collaborateur en fonction de la case cliquée + * + * @param event Evènement reçu par le composant enfant, contient le type du collaborateur reçu (référent, collaborateur) et les données collaborateur + */ event(event : any) { switch(event.type) { case "collaborateur": diff --git a/src/app/collaborateurs/collaborateurs.module.ts b/src/app/collaborateurs/collaborateurs.module.ts index 6ebb1a0..c0d69bd 100644 --- a/src/app/collaborateurs/collaborateurs.module.ts +++ b/src/app/collaborateurs/collaborateurs.module.ts @@ -17,9 +17,7 @@ import { MatTablesModule } from "@shared/mat-tables/mat-tables.module"; import { CollaborateursRoutingModule } from "./collaborateurs.routing.module"; import { AffichageDetailsCollaborateurModule } from "@shared/affichage-details-collaboarteur/affichage-details-collaborateur.module"; -/** - * Module collaborateur. - */ + @NgModule({ declarations: [ CollaborateursComponent, DetailsCollaborateurComponent, diff --git a/src/app/collaborateurs/collaborateurs.routing.module.ts b/src/app/collaborateurs/collaborateurs.routing.module.ts index 8c2eda0..48955fe 100644 --- a/src/app/collaborateurs/collaborateurs.routing.module.ts +++ b/src/app/collaborateurs/collaborateurs.routing.module.ts @@ -7,27 +7,24 @@ import { FormationsCollaboateurComponent } from "./formations-collaborateur/form import { EvaluationComponent } from './formations-collaborateur/details-evaluation/evaluation.component'; import { EditEvaluationComponent } from './formations-collaborateur/edit-evaluation/edit-evaluation.component'; -import { paths_collaborateurs } from '@shared/utils/paths'; +import { paths_collaborateurs } from '../shared/utils/paths'; -import { AuthGuard } from '@shared/auth/auth.guard'; -import { Role } from '@shared/utils/roles'; +import { AuthGuard } from '../shared/auth/auth.guard'; +import { Role } from '../shared/utils/roles'; -/** - * Routes du module collaborateur - */ const routes: Routes = [ + { path:paths_collaborateurs.formations, component: FormationsCollaboateurComponent, canActivate: [AuthGuard] }, + { path:paths_collaborateurs.evaluation, component: EvaluationComponent, canActivate: [AuthGuard] }, + { path:paths_collaborateurs.edit, component: EditEvaluationComponent, canActivate: [AuthGuard] }, + { path:paths_collaborateurs.get, component: DetailsCollaborateurComponent, canActivate: [AuthGuard] }, { path:'', component: CollaborateursComponent, canActivate: [AuthGuard], data: { roles: [Role.assistante, Role.commercial, Role.rh] }, pathMatch: 'full' - }, - { path:paths_collaborateurs.formations, component: FormationsCollaboateurComponent, canActivate: [AuthGuard] }, - { path:paths_collaborateurs.evaluation, component: EvaluationComponent, canActivate: [AuthGuard] }, - { path:paths_collaborateurs.edit, component: EditEvaluationComponent, canActivate: [AuthGuard] }, - { path:paths_collaborateurs.get, component: DetailsCollaborateurComponent, canActivate: [AuthGuard] } + } ]; diff --git a/src/app/collaborateurs/details-collaborateur/details-collaborateur.component.html b/src/app/collaborateurs/details-collaborateur/details-collaborateur.component.html index ae6883f..1058056 100644 --- a/src/app/collaborateurs/details-collaborateur/details-collaborateur.component.html +++ b/src/app/collaborateurs/details-collaborateur/details-collaborateur.component.html @@ -1,39 +1,3 @@ - - \ No newline at end of file + \ No newline at end of file diff --git a/src/app/collaborateurs/details-collaborateur/details-collaborateur.component.ts b/src/app/collaborateurs/details-collaborateur/details-collaborateur.component.ts index 5a40066..e26fe7d 100644 --- a/src/app/collaborateurs/details-collaborateur/details-collaborateur.component.ts +++ b/src/app/collaborateurs/details-collaborateur/details-collaborateur.component.ts @@ -4,7 +4,7 @@ import {ActivatedRoute} from '@angular/router'; /** - * Composant pour gérer l'affichage des détails d'un collaborateur et de ses EP + * Composant pour gérer l'affichage des détails d'un collaborateur avec ses formations et ses EP */ @Component({ selector: 'app-details-collaborateur', @@ -13,6 +13,7 @@ import {ActivatedRoute} from '@angular/router'; export class DetailsCollaborateurComponent { idCollaborateur: string; + constructor(private route: ActivatedRoute) { this.idCollaborateur = this.route.snapshot.paramMap.get('id'); } diff --git a/src/app/demandes-delegation/demandes-delegation.component.ts b/src/app/demandes-delegation/demandes-delegation.component.ts index 3b4b25c..6e5fb21 100644 --- a/src/app/demandes-delegation/demandes-delegation.component.ts +++ b/src/app/demandes-delegation/demandes-delegation.component.ts @@ -5,7 +5,8 @@ import { cles } from '@shared/utils/cles'; import { Subscription } from 'rxjs'; /** - */ + * Composant pour faire afficher la liste des demandes de délégation reçues + */ @Component({ selector: 'app-demandes-delegation', templateUrl: './demandes-delegation.component.html' @@ -25,12 +26,12 @@ export class DemandesDelegationComponent implements OnInit { ngOnInit() { - this.recupererIdCollaborateurConencte(); + this.setIdCollaborateurConnecte(); } - recupererIdCollaborateurConencte() { + setIdCollaborateurConnecte() { if(sessionStorage.getItem(cles.sessionKeyConnectee) == undefined) { - setTimeout( () => this.recupererIdCollaborateurConencte(), 1000); + setTimeout( () => this.setIdCollaborateurConnecte(), 1000); } else { const collaborateurConnecte: CollaborateurDTO = JSON.parse(sessionStorage.getItem(cles.sessionKeyConnectee)); @@ -39,6 +40,9 @@ export class DemandesDelegationComponent implements OnInit { } } + /** + * Cette fonction permet de mettre à jour l'affichage de la liste des demande de délégation + */ updateListeDemandesDelegation() { this.chargement = false; this.demandeDelegationSubscription = this.demandeDelegationService.getDemandesDelegationReferent(this.idCollaborateurConnecte).subscribe( diff --git a/src/app/demandes-delegation/details-demande-delegation/demande-delegation.component.ts b/src/app/demandes-delegation/details-demande-delegation/demande-delegation.component.ts index 2a6aea0..4dd74a8 100644 --- a/src/app/demandes-delegation/details-demande-delegation/demande-delegation.component.ts +++ b/src/app/demandes-delegation/details-demande-delegation/demande-delegation.component.ts @@ -7,7 +7,8 @@ import { Subscription } from 'rxjs'; /** - */ + * Composant pour faire afficher les détails d'une demande de délégation + */ @Component({ selector: 'app-demande-delegation', templateUrl: './demande-delegation.component.html' @@ -62,9 +63,21 @@ export class DemandeDelegationComponent implements OnInit { }) export class DialogReponseDemandeDelegation { + /** + * Texte à afficher lors de la réponse à une demande de délégation. Le texte dépend de si la demande va être acceptée ou bien refusée. + */ texte: string =""; + + /** + * Indique si la réponse est un refus. + */ estRefus: boolean = false; + raisonRefus: string; + + /** + * Contient l'information indiquant si la réponse a été validé et doit être enregistré ou non et la demande de délégation cible. + */ reponse: any = { engistree: false } @@ -81,18 +94,18 @@ export class DialogReponseDemandeDelegation { } } -enregistrer() { - if(this.estRefus && this.raisonRefus == "") - return; - let demandeDelegation: DemandeDelegationDTO = this.data.demandeDelegation; - demandeDelegation.etatDemande = this.data.etatDemande; - demandeDelegation.raisonRefus = this.raisonRefus; - this.reponse = { - engistree: true, - demandeDelegation: demandeDelegation + enregistrer() { + if(this.estRefus && this.raisonRefus == "") + return; + let demandeDelegation: DemandeDelegationDTO = this.data.demandeDelegation; + demandeDelegation.etatDemande = this.data.etatDemande; + demandeDelegation.raisonRefus = this.raisonRefus; + this.reponse = { + engistree: true, + demandeDelegation: demandeDelegation + } + this.fermer(); } - this.fermer(); -} diff --git a/src/app/demandes-formation/demandes-formation.component.html b/src/app/demandes-formation/demandes-formation.component.html index 59510c3..ed2dec7 100644 --- a/src/app/demandes-formation/demandes-formation.component.html +++ b/src/app/demandes-formation/demandes-formation.component.html @@ -1,2 +1,3 @@

Liste des demandes de formation

+ diff --git a/src/app/demandes-formation/demandes-formation.component.ts b/src/app/demandes-formation/demandes-formation.component.ts index 336d248..9dea266 100644 --- a/src/app/demandes-formation/demandes-formation.component.ts +++ b/src/app/demandes-formation/demandes-formation.component.ts @@ -1,4 +1,7 @@ import { Component, OnInit } from '@angular/core'; +import { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; +import { DemandeFormationDTO } from '@shared/api-swagger'; +import { DialogDemandeFormationComponent } from './mat-dialog/dialog-demande-formation.component'; /** * Composant pour faire afficher la liste des demandes de formations @@ -10,8 +13,16 @@ import { Component, OnInit } from '@angular/core'; }) export class DemandesFormationComponent implements OnInit { - constructor() {} + displayedColumns : string[] = ["businessunit", "collaborateur", "datedemande", "demanderh", "ep", "etat", "datereponse"]; + + constructor(private dialog: MatDialog) {} + ngOnInit() { } + + afficherDetailDemandeFormation(demandeFormation: DemandeFormationDTO) { + const datas = { data: demandeFormation, width: "80%", height: '80%'}; + this.dialog.open(DialogDemandeFormationComponent, datas); + } } diff --git a/src/app/demandes-formation/demandes-formation.module.ts b/src/app/demandes-formation/demandes-formation.module.ts index 838506f..031f2a4 100644 --- a/src/app/demandes-formation/demandes-formation.module.ts +++ b/src/app/demandes-formation/demandes-formation.module.ts @@ -1,35 +1,40 @@ import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; -import { FormsModule } from '@angular/forms'; import { RouterModule } from '@angular/router'; +import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { NgModule } from "@angular/core"; import { CommonModule } from "@angular/common"; - import { MaterialModule } from "@shared/angular-material/angular-material.module"; import {NavMenuModule} from '@shared/nav-menu/nav-menu.module'; import { DemandesFormationComponent } from './demandes-formation.component'; +import { DialogDemandeFormationComponent } from './mat-dialog/dialog-demande-formation.component'; import { DemandeFormationComponent } from './details-demande-formation/demande-formation.component' import { NewDemandeFormationComponent } from './new-demande-formation/new-demande-formation.component' import { DemandesFormationsRoutingModule } from './demandes-formation.routing.module'; +import { MatTablesModule } from "@shared/mat-tables/mat-tables.module"; /** * Module demandes formation */ @NgModule({ - declarations: [ DemandesFormationComponent, DemandeFormationComponent, + declarations: [ DemandesFormationComponent, DialogDemandeFormationComponent, DemandeFormationComponent, NewDemandeFormationComponent ], exports: [ DemandesFormationComponent ], imports: [ + CommonModule, MaterialModule, NavMenuModule, DemandesFormationsRoutingModule, - RouterModule + MatTablesModule, + RouterModule, + FormsModule, + ReactiveFormsModule ], }) export class DemandesFormationModule {} diff --git a/src/app/demandes-formation/demandes-formation.routing.module.ts b/src/app/demandes-formation/demandes-formation.routing.module.ts index d422b58..0a341f4 100644 --- a/src/app/demandes-formation/demandes-formation.routing.module.ts +++ b/src/app/demandes-formation/demandes-formation.routing.module.ts @@ -6,18 +6,18 @@ import { DemandesFormationComponent } from "./demandes-formation.component"; import { DemandeFormationComponent } from "./details-demande-formation/demande-formation.component"; import { NewDemandeFormationComponent } from "./new-demande-formation/new-demande-formation.component"; -import { AuthGuard } from '@shared/auth/auth.guard'; +import { AuthGuard } from '../shared/auth/auth.guard'; -import { paths_demandes_formation } from "@shared/utils/paths"; +import { paths_demandes_formation } from "../shared/utils/paths"; /** * Routes du module demandes formation */ const routes: Routes = [ - { path:'', component: DemandesFormationComponent, pathMatch: 'full', canActivate: [AuthGuard] }, { path:paths_demandes_formation.new, component: NewDemandeFormationComponent, canActivate: [AuthGuard] }, - { path:paths_demandes_formation.get, component: DemandeFormationComponent, canActivate: [AuthGuard] } - + { path:paths_demandes_formation.get, component: DemandeFormationComponent, canActivate: [AuthGuard] }, + { path:'', component: DemandesFormationComponent, pathMatch: 'full', canActivate: [AuthGuard] } + ]; @NgModule({ diff --git a/src/app/demandes-formation/mat-dialog/dialog-demande-formation.component.html b/src/app/demandes-formation/mat-dialog/dialog-demande-formation.component.html new file mode 100644 index 0000000..38e722a --- /dev/null +++ b/src/app/demandes-formation/mat-dialog/dialog-demande-formation.component.html @@ -0,0 +1,31 @@ +

Détails de la demande

+

+

+

+

Libellé : {{ data.libelle}}

+

Description: {{ data.description }}

+

Demande RH: {{ afficherDemandeRH(data.demandeRH) }}

+

Date demande: {{ data.dateDemande | date: 'dd/MM/yyyy' }}

+

Etat : {{ afficherEtat(data.etatDemande) }}

+

Raison du refus : {{data.commentaireRefus}}

+ + + + + Demande validée + + +
+ + Raison du refus + + + +
+ +
+ +
+ + + diff --git a/src/app/demandes-formation/mat-dialog/dialog-demande-formation.component.ts b/src/app/demandes-formation/mat-dialog/dialog-demande-formation.component.ts new file mode 100644 index 0000000..e33e012 --- /dev/null +++ b/src/app/demandes-formation/mat-dialog/dialog-demande-formation.component.ts @@ -0,0 +1,79 @@ +import { Component, Inject } from "@angular/core"; +import { MatDialogRef, MAT_DIALOG_DATA } from "@angular/material/dialog"; +import { MatSnackBar } from "@angular/material/snack-bar"; +import { CollaborateurDTO, EpInformationDTO, DemandesFormationService, DemandeFormationDTO, EtatDemande, afficherEtatDemande } from "@shared/api-swagger"; +import { Subscription } from "rxjs"; + + +@Component( { + selector: "dialog-demande-formation", + templateUrl: "dialog-demande-formation.component.html" +}) +export class DialogDemandeFormationComponent { + ep: EpInformationDTO; + collaborateur: CollaborateurDTO; + referent: CollaborateurDTO; + etatDemande: any = EtatDemande; + engagementsSubscription: Subscription; + + donnerReponse: boolean = false; + commentaireRefus : string = ""; + demandeValidee: boolean = true; + + + constructor(private dialogRef : MatDialogRef, @Inject(MAT_DIALOG_DATA) public data : DemandeFormationDTO, private demandesFormationService: DemandesFormationService, + private snackBar: MatSnackBar){ + this.ep = data.ep; + this.collaborateur = data.ep.collaborateur; + this.referent = data.ep.referent; + } + + updateDemandeFormation() { + let demandeFormation : DemandeFormationDTO = this.data; + if(this.demandeValidee) { + demandeFormation.etatDemande = EtatDemande.Validee; + } + else { + if(this.commentaireRefus.length == 0) { + this.snackBar.open("Vous devez justifier le refus de la demande de formation.", "Attention", { + duration: 5000, + horizontalPosition: "center", + verticalPosition: "top", + }); + return; + } + + demandeFormation.commentaireRefus = this.commentaireRefus; + demandeFormation.etatDemande = EtatDemande.Rejetee; + } + this.engagementsSubscription = this.demandesFormationService.updateDemandeFormation(demandeFormation, demandeFormation.id).subscribe( + () => location.reload(), + err => console.log(err) + ); + } + + afficherDemandeRH(demandeRH: boolean) { + if (demandeRH) + return 'Oui'; + else + return 'Non' + } + + afficherEtat(etat: EtatDemande) { + return afficherEtatDemande(etat); + } + + fermer() { + this.dialogRef.close(); + } + + repondre() { + this.donnerReponse = true; + } + + ngOnDestroy() { + if(this.engagementsSubscription != null) { + this.engagementsSubscription.unsubscribe(); + } + } +} \ No newline at end of file diff --git a/src/app/demandes-formation/new-demande-formation/new-demande-formation.component.css b/src/app/demandes-formation/new-demande-formation/new-demande-formation.component.css new file mode 100644 index 0000000..d42a102 --- /dev/null +++ b/src/app/demandes-formation/new-demande-formation/new-demande-formation.component.css @@ -0,0 +1,16 @@ +div { + margin-left: 5%; + margin-bottom: 1%; +} + +.input{ + width: 30%; +} + +.input2 { + width: 14%; +} + +.moveright { + margin-left: 2%; +} diff --git a/src/app/demandes-formation/new-demande-formation/new-demande-formation.component.html b/src/app/demandes-formation/new-demande-formation/new-demande-formation.component.html index 84467ba..6185302 100644 --- a/src/app/demandes-formation/new-demande-formation/new-demande-formation.component.html +++ b/src/app/demandes-formation/new-demande-formation/new-demande-formation.component.html @@ -1,2 +1,35 @@

Nouvelle demande de formation

+ + + +
+
+ + + + +
+ +
+ + + + +
+ +
+ + + Origine de la demande + + {{o.libelle}} + + +
+ + +
+ +
+
\ No newline at end of file diff --git a/src/app/demandes-formation/new-demande-formation/new-demande-formation.component.ts b/src/app/demandes-formation/new-demande-formation/new-demande-formation.component.ts index ad4488c..4cc4292 100644 --- a/src/app/demandes-formation/new-demande-formation/new-demande-formation.component.ts +++ b/src/app/demandes-formation/new-demande-formation/new-demande-formation.component.ts @@ -1,16 +1,80 @@ import { Component, OnInit } from '@angular/core'; +import { Observable, Subscription } from 'rxjs'; +import { Router } from '@angular/router'; +import { FormBuilder, FormGroup, FormControl, } from '@angular/forms'; + +import { OrigineDemandeFormationDTO, EtatDemande } from "@shared/api-swagger/model/models"; + +import { DemandesFormationService } from "@shared/api-swagger/api/api"; /** * Composant qui sert à créer une demande de formation pour un collaborateur. */ @Component({ selector: 'app-new-demande-formation', - templateUrl: './new-demande-formation.component.html' + templateUrl: './new-demande-formation.component.html', + styleUrls: ['./new-demande-formation.component.css'] }) export class NewDemandeFormationComponent implements OnInit { - constructor() {} + /** + * Observable pour enregistrer la nouvelle formation + */ + demandeFormationSubscription: Subscription; + /** + * Observable pour récupérer la liste des origines formation + */ + origineDemandeSubscription: Subscription; + + + /** + * Liste des origines de demande de formation à faire afficher dans une liste déroulante. + */ + originesDemandeFormation: OrigineDemandeFormationDTO[]; + + /** + * FormBuilder qui sera lié au formulaire du template avec les attributs d'une formation + * C'est dans cet objet qu'est stockée la nouvelle formation + */ + demandeFormationForm = this.fb.group( + { + id:[0], + libelle: [""], + description: [], + demandeRH: [true], + dateDemande: [new Date()], + etatDemande: [EtatDemande.EnAttente], + origine: [""], + collaborateur: [""], + } + ); + + constructor(private fb: FormBuilder, private demandesFormationService: DemandesFormationService, private router: Router) { } + + ngOnInit() { + + this.origineDemandeSubscription = this.demandesFormationService.getOriginesDemandeFormation().subscribe( + originesDemandeFormation => this.originesDemandeFormation = originesDemandeFormation, + err => console.log(err) + ); + } + + ajouterDemandeFormation() { + this.demandeFormationSubscription = this.demandesFormationService.addDemandeFormation(this.demandeFormationForm.getRawValue()).subscribe( + response => { + console.log(response); + this.router.navigate(['/demandesformation',response["id"]]); + } + ); + } + + ngOnDestroy() { + if(this.demandeFormationSubscription != undefined) { + this.demandeFormationSubscription.unsubscribe(); + } - ngOnInit() { - } + if(this.origineDemandeSubscription != undefined) { + this.origineDemandeSubscription.unsubscribe(); + } + } } diff --git a/src/app/engagements/engagements.component.ts b/src/app/engagements/engagements.component.ts index d139521..ccb2a55 100644 --- a/src/app/engagements/engagements.component.ts +++ b/src/app/engagements/engagements.component.ts @@ -4,7 +4,9 @@ import { MatSnackBar } from "@angular/material/snack-bar"; import { CollaborateurDTO, EngagementDTO, EngagementsService, EpInformationDTO, EtatEngagement, afficherEtatEngagement } from "@shared/api-swagger"; import { Subscription } from "rxjs"; - +/** + * Composant pour afficher la liste des engagements EP + */ @Component({ selector: "app-engagements", templateUrl: "./engagements.html" @@ -20,6 +22,9 @@ export class EngagementsComponent { } } +/** + * Dialog pour afficher les détails d'un engagement et y donner une réponse si possible + */ @Component( { selector: "dialog-engagements", templateUrl: "dialog-engagements.html" @@ -31,6 +36,9 @@ export class DialogEngagementsComponent { etatEngagement: any = EtatEngagement; engagementsSubscription: Subscription; + /** + * Indique si l'on souhaite donner une réponse à l'engagement encore en cours ou non + */ donnerReponse: boolean = false; raisonRefus : string = ""; engagementRespecte: boolean = true; diff --git a/src/app/ep-saisie/ep-saisie.routing.module.ts b/src/app/ep-saisie/ep-saisie.routing.module.ts index c8bd5c3..cb617eb 100644 --- a/src/app/ep-saisie/ep-saisie.routing.module.ts +++ b/src/app/ep-saisie/ep-saisie.routing.module.ts @@ -7,9 +7,9 @@ import { EpsSaisieComponent } from "./eps-saisie/eps-saisie.component"; import { EpaSaisieComponent } from "./epa-saisie/epa-saisie.component"; import { EpaSixAnsSaisieComponent } from "./epa-six-ans-saisie/epa-six-ans-saisie.component"; -import { AuthGuard } from '@shared/auth/auth.guard'; +import { AuthGuard } from '../shared/auth/auth.guard'; -import { paths_saisie_ep } from "@shared/utils/paths"; +import { paths_saisie_ep } from "../shared/utils/paths"; /** * Routes du module saisie ep diff --git a/src/app/ep/details-ep/details-ep.component.ts b/src/app/ep/details-ep/details-ep.component.ts index 91cafa1..a3a0b0d 100644 --- a/src/app/ep/details-ep/details-ep.component.ts +++ b/src/app/ep/details-ep/details-ep.component.ts @@ -5,6 +5,9 @@ import { AuthService } from "@shared/auth/auth.service"; import { Role } from "@shared/utils/roles"; import { Subscription } from "rxjs"; +/** + * Composant pour afficher les détails d'un EP + */ @Component({ selector : "details-ep", templateUrl: "./details-ep.component.html", diff --git a/src/app/ep/ep-signes/ep-signes.component.ts b/src/app/ep/ep-signes/ep-signes.component.ts index 1cc84ca..0e197b4 100644 --- a/src/app/ep/ep-signes/ep-signes.component.ts +++ b/src/app/ep/ep-signes/ep-signes.component.ts @@ -3,7 +3,7 @@ import { Router } from '@angular/router'; import { epTypeRecherche } from '@shared/utils/cles'; /** - * Composant qui permet la consultation de la liste des EP signés collaborateur + * Composant qui permet la consultation de la liste des EP signés */ @Component({ selector: 'app-ep-signes', @@ -17,6 +17,11 @@ export class EpSignesComponent { constructor(private router: Router){} + /** + * Evènement permettant de choisir si l'on souhaite ouvrir les détails du collaborateur, du référent ou bien de l'EP + * + * @param event Evènement reçu par le composant enfant, contient le type de l'évènement (référent, ep, collaborateur) et les données ep + */ eventEmitter(event: any) { switch(event.type) { case "collaborateur": diff --git a/src/app/ep/ep.component.ts b/src/app/ep/ep.component.ts index f6baab8..f0ad9aa 100644 --- a/src/app/ep/ep.component.ts +++ b/src/app/ep/ep.component.ts @@ -6,7 +6,9 @@ import { cles, epTypeRecherche } from '@shared/utils/cles'; import { Role } from '@shared/utils/roles'; - +/** + * Composant pour faire afficher les EP signés, référent et participants du connecté + */ @Component({ selector: 'app-ep', templateUrl: './ep.component.html' @@ -36,6 +38,7 @@ export class EpComponent implements OnInit { this.setIdCollaborateur(); } + setIdCollaborateur() { if(sessionStorage.getItem(cles.sessionKeyConnectee) == undefined) { setTimeout( () => this.setIdCollaborateur(), 1000); @@ -47,7 +50,7 @@ export class EpComponent implements OnInit { } - ouvrirEP(event) { + ouvrirEP(event : any) { if(event.type == "ep") this.router.navigate(["/ep", event.ep.id]); } diff --git a/src/app/ep/ep.routing.module.ts b/src/app/ep/ep.routing.module.ts index 99e512a..f976bb9 100644 --- a/src/app/ep/ep.routing.module.ts +++ b/src/app/ep/ep.routing.module.ts @@ -4,8 +4,8 @@ import { Routes, RouterModule } from '@angular/router'; import { EpComponent } from "./ep.component"; -import { AuthGuard } from '@shared/auth/auth.guard'; -import { paths_ep } from "@shared/utils/paths"; +import { AuthGuard } from '../shared/auth/auth.guard'; +import { paths_ep } from "../shared/utils/paths"; import { EpSignesComponent } from './ep-signes/ep-signes.component'; import { DetailsEPComponent } from './details-ep/details-ep.component'; diff --git a/src/app/formations/edit-formation/edit-formation.component.ts b/src/app/formations/edit-formation/edit-formation.component.ts index 3a7fb34..8a3dbbb 100644 --- a/src/app/formations/edit-formation/edit-formation.component.ts +++ b/src/app/formations/edit-formation/edit-formation.component.ts @@ -14,7 +14,8 @@ import { FormationDTO, ModeFormationDTO, TypeFormationDTO, StatutFormationDTO, O import { FormationsService } from '@shared/api-swagger/api/api'; /** - */ + * Composant pour modifier une formation + */ @Component({ selector: 'app-edit-formation', templateUrl: './edit-formation.component.html', diff --git a/src/app/formations/formations.component.ts b/src/app/formations/formations.component.ts index bf31dcd..ac34711 100644 --- a/src/app/formations/formations.component.ts +++ b/src/app/formations/formations.component.ts @@ -1,7 +1,8 @@ import { Component } from '@angular/core'; /** - */ + * Composant pour faire afficher la liste des formations liées à l'agence du connecté + */ @Component({ selector: 'app-formations', templateUrl: './formations.component.html' diff --git a/src/app/formations/formations.routing.module.ts b/src/app/formations/formations.routing.module.ts index 9ba3e8e..5550e06 100644 --- a/src/app/formations/formations.routing.module.ts +++ b/src/app/formations/formations.routing.module.ts @@ -7,17 +7,17 @@ import { FormationComponent } from "./details-formation/formation.component"; import { NewFormationComponent } from "./new-formation/new-formation.component"; import { EditFormationComponent } from "./edit-formation/edit-formation.component"; -import { AuthGuard } from '@shared/auth/auth.guard'; +import { AuthGuard } from '../shared/auth/auth.guard'; -import { paths_formation } from "@shared/utils/paths"; +import { paths_formation } from "../shared/utils/paths"; /** * Routes du module formation */ const routes: Routes = [ - { path:'', component: FormationsComponent, pathMatch: 'full', canActivate: [AuthGuard] }, { path:paths_formation.edit, component: EditFormationComponent, canActivate: [AuthGuard] }, { path:paths_formation.new, component: NewFormationComponent, canActivate: [AuthGuard] }, - { path:paths_formation.get, component: FormationComponent, canActivate: [AuthGuard] } + { path:paths_formation.get, component: FormationComponent, canActivate: [AuthGuard] }, + { path:'', component: FormationsComponent, pathMatch: 'full', canActivate: [AuthGuard] } ]; diff --git a/src/app/formations/new-formation/new-formation.component.ts b/src/app/formations/new-formation/new-formation.component.ts index 2a6393d..3ec98a9 100644 --- a/src/app/formations/new-formation/new-formation.component.ts +++ b/src/app/formations/new-formation/new-formation.component.ts @@ -8,7 +8,7 @@ import { FormationDTO, ModeFormationDTO, TypeFormationDTO, StatutFormationDTO, O import { FormationsService } from "@shared/api-swagger/api/api"; /** - * Composant pour l'ajout d'une nouvelle formation + * Composant pour ajotuer une nouvelle formation */ @Component({ selector: 'app-new-formation', diff --git a/src/app/notes/details-note/details-note.component.ts b/src/app/notes/details-note/details-note.component.ts index af5d92f..38efc9d 100644 --- a/src/app/notes/details-note/details-note.component.ts +++ b/src/app/notes/details-note/details-note.component.ts @@ -4,7 +4,9 @@ import { ActivatedRoute, Router } from "@angular/router"; import { DetailsNoteDTO, NotesService } from "@shared/api-swagger"; import { Subscription } from "rxjs"; - +/** + * Composant pour faire afficher les détails d'une note d'un manager ou d'un RA + */ @Component({ selector: "app-details-note", templateUrl: "./details-note.component.html" @@ -27,6 +29,9 @@ export class DetailsNoteComponent implements OnInit{ } } + /** + * Permet d'ouvrir un popup pour effectuer la validation de la suppresion d'une note + */ supprimerNote() { this.dialog.open(DialogSuppressionNoteComponent, { data: this.note}) } diff --git a/src/app/notes/modifier-note/modifier-note.component.ts b/src/app/notes/modifier-note/modifier-note.component.ts index 0aae99f..a72dfe0 100644 --- a/src/app/notes/modifier-note/modifier-note.component.ts +++ b/src/app/notes/modifier-note/modifier-note.component.ts @@ -6,6 +6,10 @@ import { ActivatedRoute, Router } from "@angular/router"; import { CollaborateurDTO, DetailsNoteDTO, NotesService } from "@shared/api-swagger"; import { Subscription } from "rxjs"; + +/** + * Composant pour modifier une note + */ @Component({ selector: "modifier-note", templateUrl: "./modifier-note.component.html" @@ -14,6 +18,7 @@ export class ModifierNoteComponent implements OnInit{ chercherNoteSubscription: Subscription; + modifierNoteSubscription: Subscription; dialogSubscription: Subscription; @@ -22,6 +27,9 @@ export class ModifierNoteComponent implements OnInit{ id: any; + /** + * Form lié à la note qui devra être mise à jour + */ noteForm: FormGroup; constructor(private noteService: NotesService, private fb: FormBuilder, private router: Router, diff --git a/src/app/notes/notes.component.html b/src/app/notes/notes.component.html index 8fb8563..4d3610f 100644 --- a/src/app/notes/notes.component.html +++ b/src/app/notes/notes.component.html @@ -21,7 +21,7 @@ - + Collaborateur @@ -49,7 +49,7 @@ [pageIndex]="numPage-1" [pageSize]="parPage" [pageSizeOptions]="pageOption" - (page)="updatePageInfo($event)"> + (page)="updatePaginationTableau($event)"> diff --git a/src/app/notes/notes.component.ts b/src/app/notes/notes.component.ts index d7d459c..adc4d91 100644 --- a/src/app/notes/notes.component.ts +++ b/src/app/notes/notes.component.ts @@ -28,7 +28,7 @@ export class NotesComponent implements OnInit { notesSubscriber: Subscription; notesCountSubscriber: Subscription; - id: string; + idCollaborateur: string; dataSource: MatTableDataSource; @@ -40,7 +40,7 @@ export class NotesComponent implements OnInit { setSearch() { this.numPage = 1; - this.updateDataSource(); + this.updateDonneesTableau(); } resetSearch() { @@ -49,40 +49,42 @@ export class NotesComponent implements OnInit { } ngOnInit() { - this.recupererId(); + this.setIdCollaborateur(); } - recupererId() { + setIdCollaborateur() { if(sessionStorage.getItem(cles.sessionKeyConnectee) == undefined){ - setTimeout( () => this.recupererId(), 1000); + setTimeout( () => this.setIdCollaborateur(), 1000); } else { const collaborateurConnecte : CollaborateurDTO = JSON.parse(sessionStorage.getItem(cles.sessionKeyConnectee)); - this.id = collaborateurConnecte.id; + this.idCollaborateur = collaborateurConnecte.id; this.chargement = false; - this.updateDataSource(); + this.updateDonneesTableau(); } } - updateDataSource() { - this.notesSubscriber = this.notesService.getNotesAuteur(this.id, this.asc, this.numPage, this.parPage, this.search, this.tri).subscribe( + updateDonneesTableau() { + this.notesSubscriber = this.notesService.getNotesAuteur(this.idCollaborateur, this.asc, this.numPage, this.parPage, this.search, this.tri).subscribe( notes => { console.log(notes); this.dataSource = new MatTableDataSource(notes);}, err => console.log(err) ); - this.notesCountSubscriber = this.notesService.getNotesAuteurCount(this.id, this.asc, this.numPage, this.parPage, this.search, this.tri).subscribe( + this.notesCountSubscriber = this.notesService.getNotesAuteurCount(this.idCollaborateur, this.search).subscribe( count => this.taille = count, err => console.log(err) ); } - updatePageInfo(event){ + + updatePaginationTableau(event :any){ this.parPage = event.pageSize; this.numPage = event.pageIndex+1; - this.updateDataSource(); + this.updateDonneesTableau(); } - triTableau(e) { + + trierTableau(e :any) { this.tri = e.active; switch(e.direction) { case "asc": @@ -92,7 +94,7 @@ export class NotesComponent implements OnInit { this.asc = false; break; } - this.updateDataSource(); + this.updateDonneesTableau(); } diff --git a/src/app/notes/notes.routing.module.ts b/src/app/notes/notes.routing.module.ts index 2cee918..d98fa76 100644 --- a/src/app/notes/notes.routing.module.ts +++ b/src/app/notes/notes.routing.module.ts @@ -3,10 +3,10 @@ import { Routes, RouterModule } from '@angular/router'; import { NotesComponent } from "./notes.component"; -import { AuthGuard } from "@shared/auth/auth.guard"; +import { AuthGuard } from "../shared/auth/auth.guard"; -import { paths_notes } from "@shared/utils/paths"; +import { paths_notes } from "../shared/utils/paths"; import { NouvelleNoteComponent } from './nouvelle-note/nouvelle-note.component'; import { DetailsNoteComponent } from './details-note/details-note.component'; import { ModifierNoteComponent } from './modifier-note/modifier-note.component'; diff --git a/src/app/notes/nouvelle-note/nouvelle-note.component.ts b/src/app/notes/nouvelle-note/nouvelle-note.component.ts index a9eacf4..bea0856 100644 --- a/src/app/notes/nouvelle-note/nouvelle-note.component.ts +++ b/src/app/notes/nouvelle-note/nouvelle-note.component.ts @@ -6,6 +6,8 @@ import { CollaborateurDTO, DetailsNoteDTO, NotesService } from "@shared/api-swag import { cles, collaborateurTypeRecherche } from "@shared/utils/cles"; import { Subscription } from "rxjs"; + + @Component({ selector: "nouvelle-note", templateUrl: "./nouvelle-note.component.html" @@ -18,6 +20,9 @@ export class NouvelleNoteComponent { collaborateurChoisi: CollaborateurDTO; + /** + * Form lié à la note à ajouter + */ noteForm = this.fb.group( { titre: [""], @@ -48,6 +53,9 @@ export class NouvelleNoteComponent { ); } + /** + * Permet d'ouvrir un popup qui va permettre de choisir le collaborateur lié à la note + */ choixCollaborateur() { const datas = { data: this.collaborateurChoisi, width: "80%", height: '80%'}; const dialogRef = this.dialog.open(DialogChoixCollaborateurNoteComponent, datas); @@ -89,12 +97,20 @@ export class DialogChoixCollaborateurNoteComponent { this.dialogRef.close(); } + + /** + * Enregister le choix du collaborateur de la note + */ enregistrerChoix() { if(this.collaborateurChoisi != undefined) { this.dialogRef.close(this.collaborateurChoisi); } } - + + /** + * Evènement permettant de mettre à jour le collaborateur de la note avec le collaborateur reçu par le composant enfant + * @param event Evènement reçu du composant enfant + */ choisirCollaborateur(event : any) { this.collaborateurChoisi = event.collaborateur; diff --git a/src/app/referents/assignation-referent/assignation-referent.component.html b/src/app/referents/assignation-referent/assignation-referent.component.html index 645b1e0..3527038 100644 --- a/src/app/referents/assignation-referent/assignation-referent.component.html +++ b/src/app/referents/assignation-referent/assignation-referent.component.html @@ -6,7 +6,7 @@

Veuillez sélectionner un référent

Référent sélectionné : {{referentChoisi.nom}} {{referentChoisi.prenom}}

- +
@@ -26,7 +26,7 @@
- + diff --git a/src/app/referents/assignation-referent/assignation-referent.component.ts b/src/app/referents/assignation-referent/assignation-referent.component.ts index 2d57ad3..329e64f 100644 --- a/src/app/referents/assignation-referent/assignation-referent.component.ts +++ b/src/app/referents/assignation-referent/assignation-referent.component.ts @@ -23,7 +23,6 @@ export class AssignationReferentComponent { referentChoisi : CollaborateurDTO = undefined; rolesReferents : string[] = ["Manager", "RA", "CP", "TL"]; - typeRechercheReferent: string = collaborateurTypeRecherche.referents; @@ -36,13 +35,13 @@ export class AssignationReferentComponent { collaborateursSelectionnes: CollaborateurDTO[] = []; /** - * Liste des colonnes du tableau à afficher pour les référents. - */ + * Liste des colonnes à afficher lors du choix du référent + */ displayedColumnsReferent : string[] = ["businessunit", "collaborateur"]; /** - * Liste des colonnes du tableau à afficher. - */ + * Liste des colonnes à afficher lors du choix des collaborateurs + */ displayedColumnsCollaborateurs : string[] = ["businessunit", "collaborateur", "datearrivee", "referent"]; collaborateurSubscription: Subscription; @@ -53,13 +52,17 @@ export class AssignationReferentComponent { private snackBar: MatSnackBar) { } - choixReferent(event: any) { + + selectionnerReferent(event: any) { console.log(event); this.referentChoisi = event.collaborateur; - this.setCollaborateurEP(); + this.setCollaborateursEP(); } - setCollaborateurEP() { + /** + * Récupérer la liste des collaborateurs EP du référent sélectionné + */ + setCollaborateursEP() { this.collaborateurSubscription = this.collaborateurService.getCollaborateursByReferent(this.referentChoisi.id).subscribe( collaborateurs => { this.collaborateursEP = collaborateurs; @@ -69,7 +72,12 @@ export class AssignationReferentComponent { ); } - ajoutCollaborateur(event:any) { + + /** + * Permet de sélectionner un collaborateur et de l'ajouter ou l'enlever de la liste des collaborateurs à ajouter si il n'est pas déjà un collaborateur EP du référent + * @param event contient le collaborateur qui a été récupéré + */ + selectionnerCollaborateur(event:any) { if(event.type != "collaborateur") return; if(event.collaborateur.id == this.referentChoisi.id) { @@ -95,6 +103,7 @@ export class AssignationReferentComponent { this.collaborateursSelectionnes = this.collaborateursSelectionnes.filter(c => c.id != collaborateur.id); } + mettreAJourReferentEP() { const referentEP :ReferentEPDTO = { idReferent: this.referentChoisi.id, diff --git a/src/app/referents/referents.routing.module.ts b/src/app/referents/referents.routing.module.ts index 135d8d8..f47e826 100644 --- a/src/app/referents/referents.routing.module.ts +++ b/src/app/referents/referents.routing.module.ts @@ -5,20 +5,15 @@ import { Routes, RouterModule } from '@angular/router'; import { ReferentsComponent } from "./referents.component"; import { DetailsReferentComponent } from "./details-referent/details-referent.component"; -import { paths_referents } from "@shared/utils/paths"; +import { paths_referents } from "../shared/utils/paths"; -import { AuthGuard } from '@shared/auth/auth.guard'; +import { AuthGuard } from '../shared/auth/auth.guard'; import { AssignationReferentComponent } from './assignation-referent/assignation-referent.component'; /** * Routes du module référents */ const routes: Routes = [ - { path:'', - component: ReferentsComponent, - pathMatch: 'full', - canActivate: [AuthGuard] - }, { path:paths_referents.assignation, component: AssignationReferentComponent, @@ -28,6 +23,11 @@ const routes: Routes = [ path:paths_referents.get, component: DetailsReferentComponent, canActivate: [AuthGuard] + }, + { path:'', + component: ReferentsComponent, + pathMatch: 'full', + canActivate: [AuthGuard] } ]; diff --git a/src/app/shared/affichage-details-collaboarteur/affichage-details-collaborateur.ts b/src/app/shared/affichage-details-collaboarteur/affichage-details-collaborateur.ts index 00d7745..a370ab0 100644 --- a/src/app/shared/affichage-details-collaboarteur/affichage-details-collaborateur.ts +++ b/src/app/shared/affichage-details-collaboarteur/affichage-details-collaborateur.ts @@ -46,7 +46,7 @@ export class AffichageDetailsCollaborateurComponent implements OnInit{ err => console.log(err) ); - this.participationFormationSubscription = this.participationFormationService.getParticipationByCollaborateur(this.idCollaborateur).subscribe( + this.participationFormationSubscription = this.participationFormationService.getParticipationsByCollaborateur(this.idCollaborateur).subscribe( participationsFormation => this.participationsFormation = participationsFormation, err => console.log(err) ); @@ -62,7 +62,7 @@ export class AffichageDetailsCollaborateurComponent implements OnInit{ } } - ouvrirEP(event) { + ouvrirEP(event :any) { if(event.type == "ep") this.router.navigate(["/ep", event.ep.id]); } diff --git a/src/app/shared/affichage-details-collaboarteur/dialog-assignation-rapide/dialog-assignation-rapide-collaborateurs.html b/src/app/shared/affichage-details-collaboarteur/dialog-assignation-rapide/dialog-assignation-rapide-collaborateurs.html index 17b30c6..62b2fac 100644 --- a/src/app/shared/affichage-details-collaboarteur/dialog-assignation-rapide/dialog-assignation-rapide-collaborateurs.html +++ b/src/app/shared/affichage-details-collaboarteur/dialog-assignation-rapide/dialog-assignation-rapide-collaborateurs.html @@ -14,4 +14,4 @@

Veuillez sélectionner au moins un collaborateur

- + diff --git a/src/app/shared/affichage-details-collaboarteur/dialog-assignation-rapide/dialog-assignation-rapide.component.ts b/src/app/shared/affichage-details-collaboarteur/dialog-assignation-rapide/dialog-assignation-rapide.component.ts index d319898..3212dba 100644 --- a/src/app/shared/affichage-details-collaboarteur/dialog-assignation-rapide/dialog-assignation-rapide.component.ts +++ b/src/app/shared/affichage-details-collaboarteur/dialog-assignation-rapide/dialog-assignation-rapide.component.ts @@ -31,7 +31,7 @@ export class DialogAssignationRapideReferentComponent { this.referentChoisi = data.referent; } - selectionnerReferent(event) { + selectionnerReferent(event :any) { this.referentChoisi = event.collaborateur; } @@ -100,8 +100,11 @@ export class DialogAssignationRapideCollaborateursComponent implements OnInit{ ); } - - ajoutCollaborateur(event:any) { + /** + * Permet de sélectionner un collaborateur et de l'ajouter ou l'enlever de la liste des collaborateurs à ajouter si il n'est pas déjà un collaborateur EP du référent + * @param event contient le collaborateur qui a été récupéré + */ + selectionnerCollaborateur(event:any) { if(event.type != "collaborateur") return; if(event.collaborateur.id == this.data.id) { @@ -126,12 +129,7 @@ export class DialogAssignationRapideCollaborateursComponent implements OnInit{ enleverCollaborateur(collaborateur: CollaborateurDTO) { this.collaborateursSelectionnes = this.collaborateursSelectionnes.filter(c => c.id != collaborateur.id); } - - ajouterCollaborateur(event) { - if(event.type == "collaborateur") { - - } - } + mettreAJourReferentEP() { const referentEP : ReferentEPDTO = { diff --git a/src/app/shared/affichage-details-collaboarteur/prochain-ep/prochain-ep.component.html b/src/app/shared/affichage-details-collaboarteur/prochain-ep/prochain-ep.component.html index aca3d0c..22529d9 100644 --- a/src/app/shared/affichage-details-collaboarteur/prochain-ep/prochain-ep.component.html +++ b/src/app/shared/affichage-details-collaboarteur/prochain-ep/prochain-ep.component.html @@ -2,29 +2,29 @@ - +

Aucun prochain EP n'a été trouvé

- - -

Prochain {{ep.type}} disponible pour saisie le {{ ep.dateDisponibilite | date: "dd/MM/yyyy" }}

+ + +

Prochain {{prochainEP.type}} disponible pour saisie le {{ prochainEP.dateDisponibilite | date: "dd/MM/yyyy" }}

- -

{{ep.type}} : {{ afficherStatutEP(ep.statut) }}

-

Disponible depuis le {{ ep.dateDisponibilite | date : "dd/MM/yyyy" }}

-

Date d'entretien le {{ ep.datePrevisionnelle | date : "dd/MM/yyyy" }}

- -

Référent EP : {{ep.referent.nom}} {{ep.referent.prenom}}

+ +

{{prochainEP.type}} : {{ afficherStatutEP(prochainEP.statut) }}

+

Disponible depuis le {{ prochainEP.dateDisponibilite | date : "dd/MM/yyyy" }}

+

Date d'entretien le {{ prochainEP.datePrevisionnelle | date : "dd/MM/yyyy" }}

+ +

Référent EP : {{prochainEP.referent.nom}} {{prochainEP.referent.prenom}}

- +

Il n'y a actuellement aucun référent pour cet EP

- +
diff --git a/src/app/shared/affichage-details-collaboarteur/prochain-ep/prochain-ep.component.ts b/src/app/shared/affichage-details-collaboarteur/prochain-ep/prochain-ep.component.ts index 379deb4..f9d586e 100644 --- a/src/app/shared/affichage-details-collaboarteur/prochain-ep/prochain-ep.component.ts +++ b/src/app/shared/affichage-details-collaboarteur/prochain-ep/prochain-ep.component.ts @@ -16,7 +16,7 @@ export class ProchainEpComponent implements OnInit { chargement: boolean = true; - ep : EpInformationDTO; + prochainEP : EpInformationDTO; epSubscription: Subscription; @@ -28,7 +28,7 @@ export class ProchainEpComponent implements OnInit { this.epSubscription = this.epService.getProchainEPCollaborateur(this.idCollaborateur).subscribe( ep => { console.log(ep); - this.ep = ep; + this.prochainEP = ep; this.chargement = false; }, err => { diff --git a/src/app/shared/api-swagger/api/collaborateurs.service.ts b/src/app/shared/api-swagger/api/collaborateurs.service.ts index 6446a53..ebc35aa 100644 --- a/src/app/shared/api-swagger/api/collaborateurs.service.ts +++ b/src/app/shared/api-swagger/api/collaborateurs.service.ts @@ -3,7 +3,7 @@ * API qui sra utilisée afin de faire communiquer le client et le serveur ainsi que le serveur et la boîte noire. * * OpenAPI spec version: 1.3.6 - * + * * * NOTE: This class is auto generated by the swagger code generator program. * https://github.com/swagger-api/swagger-codegen.git @@ -57,7 +57,7 @@ export class CollaborateursService { /** - * + * * Récupérer un collaborateur par son id. * @param idCollaborateur Id du collaborateur * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. @@ -105,7 +105,7 @@ export class CollaborateursService { } /** - * + * * Récupérer un collaborateur par son mail. * @param mail Mail de l'utilisateur connecté (mail obtenu via le token Keycloak) * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. @@ -153,13 +153,13 @@ export class CollaborateursService { } /** - * + * * Récupérer une liste de collaborateurs. * @param roles Liste des rôles auquels appartiennent les collaborateurs (e.g [”CP”, ”Commerciaux”,”RA”]) * @param idBUs liste des ids des BU auxquelles les données sont rattachées * @param asc Indique si les données sont récupérées dans l'ordre croissant ou non * @param numPage Numéro de la page du tableau à afficher - * @param parPAge Nombre d’élément maximum à afficher dans le tableau + * @param parPage Nombre d’élément maximum à afficher dans le tableau * @param texte Texte permettant de filtrer les données * @param tri Colonne du tableau sur lequel le tri devra être effectué * @param dateDebut Date à partir de laquelle les données son récupérées @@ -167,10 +167,10 @@ export class CollaborateursService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public getCollaborateurs(roles?: Array, idBUs?: Array, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, dateDebut?: Date, dateFin?: Date, observe?: 'body', reportProgress?: boolean): Observable>; - public getCollaborateurs(roles?: Array, idBUs?: Array, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, dateDebut?: Date, dateFin?: Date, observe?: 'response', reportProgress?: boolean): Observable>>; - public getCollaborateurs(roles?: Array, idBUs?: Array, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, dateDebut?: Date, dateFin?: Date, observe?: 'events', reportProgress?: boolean): Observable>>; - public getCollaborateurs(roles?: Array, idBUs?: Array, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, dateDebut?: Date, dateFin?: Date, observe: any = 'body', reportProgress: boolean = false ): Observable { + public getCollaborateurs(roles?: Array, idBUs?: Array, asc?: boolean, numPage?: number, parPage?: number, texte?: string, tri?: string, dateDebut?: Date, dateFin?: Date, observe?: 'body', reportProgress?: boolean): Observable>; + public getCollaborateurs(roles?: Array, idBUs?: Array, asc?: boolean, numPage?: number, parPage?: number, texte?: string, tri?: string, dateDebut?: Date, dateFin?: Date, observe?: 'response', reportProgress?: boolean): Observable>>; + public getCollaborateurs(roles?: Array, idBUs?: Array, asc?: boolean, numPage?: number, parPage?: number, texte?: string, tri?: string, dateDebut?: Date, dateFin?: Date, observe?: 'events', reportProgress?: boolean): Observable>>; + public getCollaborateurs(roles?: Array, idBUs?: Array, asc?: boolean, numPage?: number, parPage?: number, texte?: string, tri?: string, dateDebut?: Date, dateFin?: Date, observe: any = 'body', reportProgress: boolean = false ): Observable { @@ -198,8 +198,8 @@ export class CollaborateursService { if (numPage !== undefined && numPage !== null) { queryParameters = queryParameters.set('numPage', numPage); } - if (parPAge !== undefined && parPAge !== null) { - queryParameters = queryParameters.set('parPAge', parPAge); + if (parPage !== undefined && parPage !== null) { + queryParameters = queryParameters.set('parPage', parPage); } if (texte !== undefined && texte !== null) { queryParameters = queryParameters.set('texte', texte); @@ -248,21 +248,21 @@ export class CollaborateursService { } /** - * + * * Récupérer la liste des collaborateurs d’un référent. * @param idReferent Id d'un référent * @param asc Indique si les données sont récupérées dans l'ordre croissant ou non * @param numPage Numéro de la page du tableau à afficher - * @param parPAge Nombre d’élément maximum à afficher dans le tableau + * @param parPage Nombre d’élément maximum à afficher dans le tableau * @param texte Texte permettant de filtrer les données * @param tri Colonne du tableau sur lequel le tri devra être effectué * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public getCollaborateursByReferent(idReferent: string, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, observe?: 'body', reportProgress?: boolean): Observable>; - public getCollaborateursByReferent(idReferent: string, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, observe?: 'response', reportProgress?: boolean): Observable>>; - public getCollaborateursByReferent(idReferent: string, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, observe?: 'events', reportProgress?: boolean): Observable>>; - public getCollaborateursByReferent(idReferent: string, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, observe: any = 'body', reportProgress: boolean = false ): Observable { + public getCollaborateursByReferent(idReferent: string, asc?: boolean, numPage?: number, parPage?: number, texte?: string, tri?: string, observe?: 'body', reportProgress?: boolean): Observable>; + public getCollaborateursByReferent(idReferent: string, asc?: boolean, numPage?: number, parPage?: number, texte?: string, tri?: string, observe?: 'response', reportProgress?: boolean): Observable>>; + public getCollaborateursByReferent(idReferent: string, asc?: boolean, numPage?: number, parPage?: number, texte?: string, tri?: string, observe?: 'events', reportProgress?: boolean): Observable>>; + public getCollaborateursByReferent(idReferent: string, asc?: boolean, numPage?: number, parPage?: number, texte?: string, tri?: string, observe: any = 'body', reportProgress: boolean = false ): Observable { if (idReferent === null || idReferent === undefined) { throw new Error('Required parameter idReferent was null or undefined when calling getCollaborateursByReferent.'); @@ -280,8 +280,8 @@ export class CollaborateursService { if (numPage !== undefined && numPage !== null) { queryParameters = queryParameters.set('numPage', numPage); } - if (parPAge !== undefined && parPAge !== null) { - queryParameters = queryParameters.set('parPAge', parPAge); + if (parPage !== undefined && parPage !== null) { + queryParameters = queryParameters.set('parPage', parPage); } if (texte !== undefined && texte !== null) { queryParameters = queryParameters.set('texte', texte); @@ -324,47 +324,27 @@ export class CollaborateursService { } /** - * + * * Récupérer le nombre total de collaborateurs d’un référent. * @param idReferent Id d'un référent - * @param asc Indique si les données sont récupérées dans l'ordre croissant ou non - * @param numPage Numéro de la page du tableau à afficher - * @param parPAge Nombre d’élément maximum à afficher dans le tableau * @param texte Texte permettant de filtrer les données - * @param tri Colonne du tableau sur lequel le tri devra être effectué * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public getCollaborateursByReferentCount(idReferent: string, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, observe?: 'body', reportProgress?: boolean): Observable; - public getCollaborateursByReferentCount(idReferent: string, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, observe?: 'response', reportProgress?: boolean): Observable>; - public getCollaborateursByReferentCount(idReferent: string, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, observe?: 'events', reportProgress?: boolean): Observable>; - public getCollaborateursByReferentCount(idReferent: string, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, observe: any = 'body', reportProgress: boolean = false ): Observable { + public getCollaborateursByReferentCount(idReferent: string, texte?: string, observe?: 'body', reportProgress?: boolean): Observable; + public getCollaborateursByReferentCount(idReferent: string, texte?: string, observe?: 'response', reportProgress?: boolean): Observable>; + public getCollaborateursByReferentCount(idReferent: string, texte?: string, observe?: 'events', reportProgress?: boolean): Observable>; + public getCollaborateursByReferentCount(idReferent: string, texte?: string, observe: any = 'body', reportProgress: boolean = false ): Observable { if (idReferent === null || idReferent === undefined) { throw new Error('Required parameter idReferent was null or undefined when calling getCollaborateursByReferentCount.'); } - - - - let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()}); - if (asc !== undefined && asc !== null) { - queryParameters = queryParameters.set('asc', asc); - } - if (numPage !== undefined && numPage !== null) { - queryParameters = queryParameters.set('numPage', numPage); - } - if (parPAge !== undefined && parPAge !== null) { - queryParameters = queryParameters.set('parPAge', parPAge); - } if (texte !== undefined && texte !== null) { queryParameters = queryParameters.set('texte', texte); } - if (tri !== undefined && tri !== null) { - queryParameters = queryParameters.set('tri', tri); - } let headers = this.defaultHeaders; @@ -400,28 +380,20 @@ export class CollaborateursService { } /** - * + * * Récupérer le nombre total de collaborateurs. * @param roles Liste des rôles auquels appartiennent les collaborateurs (e.g [”CP”, ”Commerciaux”,”RA”]) * @param idBUs liste des ids des BU auxquelles les données sont rattachées - * @param asc Indique si les données sont récupérées dans l'ordre croissant ou non - * @param numPage Numéro de la page du tableau à afficher - * @param parPAge Nombre d’élément maximum à afficher dans le tableau * @param texte Texte permettant de filtrer les données - * @param tri Colonne du tableau sur lequel le tri devra être effectué * @param dateDebut Date à partir de laquelle les données son récupérées * @param dateFin Date jusqu'à laquelle les données sont récupérées * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public getCollaborateursCount(roles?: Array, idBUs?: Array, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, dateDebut?: Date, dateFin?: Date, observe?: 'body', reportProgress?: boolean): Observable; - public getCollaborateursCount(roles?: Array, idBUs?: Array, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, dateDebut?: Date, dateFin?: Date, observe?: 'response', reportProgress?: boolean): Observable>; - public getCollaborateursCount(roles?: Array, idBUs?: Array, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, dateDebut?: Date, dateFin?: Date, observe?: 'events', reportProgress?: boolean): Observable>; - public getCollaborateursCount(roles?: Array, idBUs?: Array, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, dateDebut?: Date, dateFin?: Date, observe: any = 'body', reportProgress: boolean = false ): Observable { - - - - + public getCollaborateursCount(roles?: Array, idBUs?: Array, texte?: string, dateDebut?: Date, dateFin?: Date, observe?: 'body', reportProgress?: boolean): Observable; + public getCollaborateursCount(roles?: Array, idBUs?: Array, texte?: string, dateDebut?: Date, dateFin?: Date, observe?: 'response', reportProgress?: boolean): Observable>; + public getCollaborateursCount(roles?: Array, idBUs?: Array, texte?: string, dateDebut?: Date, dateFin?: Date, observe?: 'events', reportProgress?: boolean): Observable>; + public getCollaborateursCount(roles?: Array, idBUs?: Array, texte?: string, dateDebut?: Date, dateFin?: Date, observe: any = 'body', reportProgress: boolean = false ): Observable { @@ -439,21 +411,9 @@ export class CollaborateursService { queryParameters = queryParameters.append('idBUs', element); }) } - if (asc !== undefined && asc !== null) { - queryParameters = queryParameters.set('asc', asc); - } - if (numPage !== undefined && numPage !== null) { - queryParameters = queryParameters.set('numPage', numPage); - } - if (parPAge !== undefined && parPAge !== null) { - queryParameters = queryParameters.set('parPAge', parPAge); - } if (texte !== undefined && texte !== null) { queryParameters = queryParameters.set('texte', texte); } - if (tri !== undefined && tri !== null) { - queryParameters = queryParameters.set('tri', tri); - } if (dateDebut !== undefined && dateDebut !== null) { queryParameters = queryParameters.set('dateDebut', dateDebut.toISOString()); } @@ -495,7 +455,7 @@ export class CollaborateursService { } /** - * + * * Récupérer la liste des référents des précédents EP du collaborateur. * @param idCollaborateur Id du collaborateur * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. diff --git a/src/app/shared/api-swagger/api/demandesformation.service.ts b/src/app/shared/api-swagger/api/demandesformation.service.ts index c45f8ef..ae7d703 100644 --- a/src/app/shared/api-swagger/api/demandesformation.service.ts +++ b/src/app/shared/api-swagger/api/demandesformation.service.ts @@ -24,6 +24,7 @@ import { OrigineDemandeFormationDTO } from '../model/origineDemandeFormationDTO' import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; import { Configuration } from '../configuration'; +import { StatutEp } from '../model/statutEp'; @Injectable() @@ -165,9 +166,10 @@ export class DemandesFormationService { * Récupérer la liste des demandes de formation. * @param etatsDemande Liste des états des demandes à afficher * @param idBUs liste des ids des BU auxquelles les données sont rattachées + * @param statutsEp Liste des statuts d'EP auxquelles les données sont rattachées * @param asc Indique si les données sont récupérées dans l'ordre croissant ou non * @param numPage Numéro de la page du tableau à afficher - * @param parPAge Nombre d’élément maximum à afficher dans le tableau + * @param parPage Nombre d’élément maximum à afficher dans le tableau * @param texte Texte permettant de filtrer les données * @param tri Colonne du tableau sur lequel le tri devra être effectué * @param dateDebut Date à partir de laquelle les données son récupérées @@ -175,10 +177,10 @@ export class DemandesFormationService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public getDemandesFormation(etatsDemande?: Array, idBUs?: Array, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, dateDebut?: Date, dateFin?: Date, observe?: 'body', reportProgress?: boolean): Observable>; - public getDemandesFormation(etatsDemande?: Array, idBUs?: Array, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, dateDebut?: Date, dateFin?: Date, observe?: 'response', reportProgress?: boolean): Observable>>; - public getDemandesFormation(etatsDemande?: Array, idBUs?: Array, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, dateDebut?: Date, dateFin?: Date, observe?: 'events', reportProgress?: boolean): Observable>>; - public getDemandesFormation(etatsDemande?: Array, idBUs?: Array, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, dateDebut?: Date, dateFin?: Date, observe: any = 'body', reportProgress: boolean = false ): Observable { + public getDemandesFormation(etatsDemande?: Array, idBUs?: Array, statutsEp?: Array, asc?: boolean, numPage?: number, parPage?: number, texte?: string, tri?: string, dateDebut?: Date, dateFin?: Date, observe?: 'body', reportProgress?: boolean): Observable>; + public getDemandesFormation(etatsDemande?: Array, idBUs?: Array, statutsEp?: Array, asc?: boolean, numPage?: number, parPage?: number, texte?: string, tri?: string, dateDebut?: Date, dateFin?: Date, observe?: 'response', reportProgress?: boolean): Observable>>; + public getDemandesFormation(etatsDemande?: Array, idBUs?: Array, statutsEp?: Array, asc?: boolean, numPage?: number, parPage?: number, texte?: string, tri?: string, dateDebut?: Date, dateFin?: Date, observe?: 'events', reportProgress?: boolean): Observable>>; + public getDemandesFormation(etatsDemande?: Array, idBUs?: Array, statutsEp?: Array, asc?: boolean, numPage?: number, parPage?: number, texte?: string, tri?: string, dateDebut?: Date, dateFin?: Date, observe: any = 'body', reportProgress: boolean = false ): Observable { @@ -200,14 +202,19 @@ export class DemandesFormationService { queryParameters = queryParameters.append('idBUs', element); }) } + if (statutsEp) { + statutsEp.forEach((element) => { + queryParameters = queryParameters.append('statutsEp', element); + }) + } if (asc !== undefined && asc !== null) { queryParameters = queryParameters.set('asc', asc); } if (numPage !== undefined && numPage !== null) { queryParameters = queryParameters.set('numPage', numPage); } - if (parPAge !== undefined && parPAge !== null) { - queryParameters = queryParameters.set('parPAge', parPAge); + if (parPage !== undefined && parPage !== null) { + queryParameters = queryParameters.set('parPage', parPage); } if (texte !== undefined && texte !== null) { queryParameters = queryParameters.set('texte', texte); @@ -260,20 +267,20 @@ export class DemandesFormationService { * Récupérer le nombre total de demandes de formation. * @param etatsDemande Liste des états des demandes à afficher * @param idBUs liste des ids des BU auxquelles les données sont rattachées + * @param statutsEp Liste des statuts d'EP auxquelles les données sont rattachées * @param asc Indique si les données sont récupérées dans l'ordre croissant ou non * @param numPage Numéro de la page du tableau à afficher - * @param parPAge Nombre d’élément maximum à afficher dans le tableau + * @param parPage Nombre d’élément maximum à afficher dans le tableau * @param texte Texte permettant de filtrer les données - * @param tri Colonne du tableau sur lequel le tri devra être effectué * @param dateDebut Date à partir de laquelle les données son récupérées * @param dateFin Date jusqu'à laquelle les données sont récupérées * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public getDemandesFormationCount(etatsDemande?: Array, idBUs?: Array, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, dateDebut?: Date, dateFin?: Date, observe?: 'body', reportProgress?: boolean): Observable; - public getDemandesFormationCount(etatsDemande?: Array, idBUs?: Array, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, dateDebut?: Date, dateFin?: Date, observe?: 'response', reportProgress?: boolean): Observable>; - public getDemandesFormationCount(etatsDemande?: Array, idBUs?: Array, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, dateDebut?: Date, dateFin?: Date, observe?: 'events', reportProgress?: boolean): Observable>; - public getDemandesFormationCount(etatsDemande?: Array, idBUs?: Array, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, dateDebut?: Date, dateFin?: Date, observe: any = 'body', reportProgress: boolean = false ): Observable { + public getDemandesFormationCount(etatsDemande?: Array, idBUs?: Array, statutsEp?: Array, asc?: boolean, numPage?: number, parPage?: number, texte?: string, tri?: string, dateDebut?: Date, dateFin?: Date, observe?: 'body', reportProgress?: boolean): Observable; + public getDemandesFormationCount(etatsDemande?: Array, idBUs?: Array, statutsEp?: Array, asc?: boolean, numPage?: number, parPage?: number, texte?: string, tri?: string, dateDebut?: Date, dateFin?: Date, observe?: 'response', reportProgress?: boolean): Observable>; + public getDemandesFormationCount(etatsDemande?: Array, idBUs?: Array, statutsEp?: Array, asc?: boolean, numPage?: number, parPage?: number, texte?: string, tri?: string, dateDebut?: Date, dateFin?: Date, observe?: 'events', reportProgress?: boolean): Observable>; + public getDemandesFormationCount(etatsDemande?: Array, idBUs?: Array, statutsEp?: Array, asc?: boolean, numPage?: number, parPage?: number, texte?: string, tri?: string, dateDebut?: Date, dateFin?: Date, observe: any = 'body', reportProgress: boolean = false ): Observable { @@ -295,21 +302,23 @@ export class DemandesFormationService { queryParameters = queryParameters.append('idBUs', element); }) } + if (statutsEp) { + statutsEp.forEach((element) => { + queryParameters = queryParameters.append('statutsEp', element); + }) + } if (asc !== undefined && asc !== null) { queryParameters = queryParameters.set('asc', asc); } if (numPage !== undefined && numPage !== null) { queryParameters = queryParameters.set('numPage', numPage); } - if (parPAge !== undefined && parPAge !== null) { - queryParameters = queryParameters.set('parPAge', parPAge); + if (parPage !== undefined && parPage !== null) { + queryParameters = queryParameters.set('parPAge', parPage); } if (texte !== undefined && texte !== null) { queryParameters = queryParameters.set('texte', texte); } - if (tri !== undefined && tri !== null) { - queryParameters = queryParameters.set('tri', tri); - } if (dateDebut !== undefined && dateDebut !== null) { queryParameters = queryParameters.set('dateDebut', dateDebut.toISOString()); } diff --git a/src/app/shared/api-swagger/api/engagements.service.ts b/src/app/shared/api-swagger/api/engagements.service.ts index 7f1eee1..dc08a51 100644 --- a/src/app/shared/api-swagger/api/engagements.service.ts +++ b/src/app/shared/api-swagger/api/engagements.service.ts @@ -60,20 +60,20 @@ export class EngagementsService { /** * * Récupérer la liste des engagements. - * @param etatsEngagement Etats de l'engagement * @param idBUs liste des ids des BU auxquelles les données sont rattachées + * @param etatsEngagement Etats de l'engagement * @param asc Indique si les données sont récupérées dans l'ordre croissant ou non * @param numPage Numéro de la page du tableau à afficher - * @param parPAge Nombre d’élément maximum à afficher dans le tableau + * @param parPage Nombre d’élément maximum à afficher dans le tableau * @param texte Texte permettant de filtrer les données * @param tri Colonne du tableau sur lequel le tri devra être effectué * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public getEngagements(etatsEngagement?: Array, idBUs?: Array, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, observe?: 'body', reportProgress?: boolean): Observable>; - public getEngagements(etatsEngagement?: Array, idBUs?: Array, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, observe?: 'response', reportProgress?: boolean): Observable>>; - public getEngagements(etatsEngagement?: Array, idBUs?: Array, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, observe?: 'events', reportProgress?: boolean): Observable>>; - public getEngagements(etatsEngagement?: Array, idBUs?: Array, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, observe: any = 'body', reportProgress: boolean = false ): Observable { + public getEngagements(idBUs?: Array, etatsEngagement?: Array, asc?: boolean, numPage?: number, parPage?: number, texte?: string, tri?: string, observe?: 'body', reportProgress?: boolean): Observable>; + public getEngagements(idBUs?: Array, etatsEngagement?: Array, asc?: boolean, numPage?: number, parPage?: number, texte?: string, tri?: string, observe?: 'response', reportProgress?: boolean): Observable>>; + public getEngagements(idBUs?: Array, etatsEngagement?: Array, asc?: boolean, numPage?: number, parPage?: number, texte?: string, tri?: string, observe?: 'events', reportProgress?: boolean): Observable>>; + public getEngagements(idBUs?: Array, etatsEngagement?: Array, asc?: boolean, numPage?: number, parPage?: number, texte?: string, tri?: string, observe: any = 'body', reportProgress: boolean = false ): Observable { @@ -83,24 +83,24 @@ export class EngagementsService { let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()}); - if (etatsEngagement) { - etatsEngagement.forEach((element) => { - queryParameters = queryParameters.append('etatsEngagement', element); - }) - } if (idBUs) { idBUs.forEach((element) => { queryParameters = queryParameters.append('idBUs', element); }) } + if (etatsEngagement) { + etatsEngagement.forEach((element) => { + queryParameters = queryParameters.append('etatsEngagement', element); + }) + } if (asc !== undefined && asc !== null) { queryParameters = queryParameters.set('asc', asc); } if (numPage !== undefined && numPage !== null) { queryParameters = queryParameters.set('numPage', numPage); } - if (parPAge !== undefined && parPAge !== null) { - queryParameters = queryParameters.set('parPAge', parPAge); + if (parPage !== undefined && parPage !== null) { + queryParameters = queryParameters.set('parPage', parPage); } if (texte !== undefined && texte !== null) { queryParameters = queryParameters.set('texte', texte); @@ -145,54 +145,34 @@ export class EngagementsService { /** * * Récupérer le nombre total d’engagements. - * @param etatsEngagement Etats de l'engagement * @param idBUs liste des ids des BU auxquelles les données sont rattachées - * @param asc Indique si les données sont récupérées dans l'ordre croissant ou non - * @param numPage Numéro de la page du tableau à afficher - * @param parPAge Nombre d’élément maximum à afficher dans le tableau + * @param etatsEngagement Etats de l'engagement * @param texte Texte permettant de filtrer les données - * @param tri Colonne du tableau sur lequel le tri devra être effectué * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public getEngagementsCount(etatsEngagement?: Array, idBUs?: Array, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, observe?: 'body', reportProgress?: boolean): Observable; - public getEngagementsCount(etatsEngagement?: Array, idBUs?: Array, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, observe?: 'response', reportProgress?: boolean): Observable>; - public getEngagementsCount(etatsEngagement?: Array, idBUs?: Array, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, observe?: 'events', reportProgress?: boolean): Observable>; - public getEngagementsCount(etatsEngagement?: Array, idBUs?: Array, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, observe: any = 'body', reportProgress: boolean = false ): Observable { - - - - + public getEngagementsCount(idBUs?: Array, etatsEngagement?: Array, texte?: string, observe?: 'body', reportProgress?: boolean): Observable; + public getEngagementsCount(idBUs?: Array, etatsEngagement?: Array, texte?: string, observe?: 'response', reportProgress?: boolean): Observable>; + public getEngagementsCount(idBUs?: Array, etatsEngagement?: Array, texte?: string, observe?: 'events', reportProgress?: boolean): Observable>; + public getEngagementsCount(idBUs?: Array, etatsEngagement?: Array, texte?: string, observe: any = 'body', reportProgress: boolean = false ): Observable { let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()}); - if (etatsEngagement) { - etatsEngagement.forEach((element) => { - queryParameters = queryParameters.append('etatsEngagement', element); - }) - } if (idBUs) { idBUs.forEach((element) => { queryParameters = queryParameters.append('idBUs', element); }) } - if (asc !== undefined && asc !== null) { - queryParameters = queryParameters.set('asc', asc); - } - if (numPage !== undefined && numPage !== null) { - queryParameters = queryParameters.set('numPage', numPage); - } - if (parPAge !== undefined && parPAge !== null) { - queryParameters = queryParameters.set('parPAge', parPAge); + if (etatsEngagement) { + etatsEngagement.forEach((element) => { + queryParameters = queryParameters.append('etatsEngagement', element); + }) } if (texte !== undefined && texte !== null) { queryParameters = queryParameters.set('texte', texte); } - if (tri !== undefined && tri !== null) { - queryParameters = queryParameters.set('tri', tri); - } let headers = this.defaultHeaders; diff --git a/src/app/shared/api-swagger/api/ep.service.ts b/src/app/shared/api-swagger/api/ep.service.ts index c2b9e8d..9ea253d 100644 --- a/src/app/shared/api-swagger/api/ep.service.ts +++ b/src/app/shared/api-swagger/api/ep.service.ts @@ -1327,4 +1327,4 @@ } } - \ No newline at end of file + diff --git a/src/app/shared/api-swagger/api/formations.service.ts b/src/app/shared/api-swagger/api/formations.service.ts index 7d7e32d..d25a2f9 100644 --- a/src/app/shared/api-swagger/api/formations.service.ts +++ b/src/app/shared/api-swagger/api/formations.service.ts @@ -218,7 +218,7 @@ export class FormationsService { * @param idStatuts liste des ids des statuts des formations à récupérer * @param asc Indique si les données sont récupérées dans l'ordre croissant ou non * @param numPage Numéro de la page du tableau à afficher - * @param parPAge Nombre d’élément maximum à afficher dans le tableau + * @param parPage Nombre d’élément maximum à afficher dans le tableau * @param texte Texte permettant de filtrer les données * @param tri Colonne du tableau sur lequel le tri devra être effectué * @param dateDebut Date à partir de laquelle les données son récupérées @@ -226,10 +226,10 @@ export class FormationsService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public getFormations(idAgence?: number, idStatuts?: Array, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, dateDebut?: Date, dateFin?: Date, observe?: 'body', reportProgress?: boolean): Observable>; - public getFormations(idAgence?: number, idStatuts?: Array, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, dateDebut?: Date, dateFin?: Date, observe?: 'response', reportProgress?: boolean): Observable>>; - public getFormations(idAgence?: number, idStatuts?: Array, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, dateDebut?: Date, dateFin?: Date, observe?: 'events', reportProgress?: boolean): Observable>>; - public getFormations(idAgence?: number, idStatuts?: Array, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, dateDebut?: Date, dateFin?: Date, observe: any = 'body', reportProgress: boolean = false ): Observable { + public getFormations(idAgence?: number, idStatuts?: Array, asc?: boolean, numPage?: number, parPage?: number, texte?: string, tri?: string, dateDebut?: Date, dateFin?: Date, observe?: 'body', reportProgress?: boolean): Observable>; + public getFormations(idAgence?: number, idStatuts?: Array, asc?: boolean, numPage?: number, parPage?: number, texte?: string, tri?: string, dateDebut?: Date, dateFin?: Date, observe?: 'response', reportProgress?: boolean): Observable>>; + public getFormations(idAgence?: number, idStatuts?: Array, asc?: boolean, numPage?: number, parPage?: number, texte?: string, tri?: string, dateDebut?: Date, dateFin?: Date, observe?: 'events', reportProgress?: boolean): Observable>>; + public getFormations(idAgence?: number, idStatuts?: Array, asc?: boolean, numPage?: number, parPage?: number, texte?: string, tri?: string, dateDebut?: Date, dateFin?: Date, observe: any = 'body', reportProgress: boolean = false ): Observable { @@ -255,8 +255,8 @@ export class FormationsService { if (numPage !== undefined && numPage !== null) { queryParameters = queryParameters.set('numPage', numPage); } - if (parPAge !== undefined && parPAge !== null) { - queryParameters = queryParameters.set('parPAge', parPAge); + if (parPage !== undefined && parPage !== null) { + queryParameters = queryParameters.set('parPage', parPage); } if (texte !== undefined && texte !== null) { queryParameters = queryParameters.set('texte', texte); @@ -309,24 +309,16 @@ export class FormationsService { * Récupérer le nombre total de formations. * @param idAgence id de l'agence à laquelle sont rattachées les données à récupérer * @param idStatuts liste des ids des statuts des formations à récupérer - * @param asc Indique si les données sont récupérées dans l'ordre croissant ou non - * @param numPage Numéro de la page du tableau à afficher - * @param parPAge Nombre d’élément maximum à afficher dans le tableau * @param texte Texte permettant de filtrer les données - * @param tri Colonne du tableau sur lequel le tri devra être effectué * @param dateDebut Date à partir de laquelle les données son récupérées * @param dateFin Date jusqu'à laquelle les données sont récupérées * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public getFormationsCount(idAgence?: number, idStatuts?: Array, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, dateDebut?: Date, dateFin?: Date, observe?: 'body', reportProgress?: boolean): Observable; - public getFormationsCount(idAgence?: number, idStatuts?: Array, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, dateDebut?: Date, dateFin?: Date, observe?: 'response', reportProgress?: boolean): Observable>; - public getFormationsCount(idAgence?: number, idStatuts?: Array, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, dateDebut?: Date, dateFin?: Date, observe?: 'events', reportProgress?: boolean): Observable>; - public getFormationsCount(idAgence?: number, idStatuts?: Array, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, dateDebut?: Date, dateFin?: Date, observe: any = 'body', reportProgress: boolean = false ): Observable { - - - - + public getFormationsCount(idAgence?: number, idStatuts?: Array, texte?: string, dateDebut?: Date, dateFin?: Date, observe?: 'body', reportProgress?: boolean): Observable; + public getFormationsCount(idAgence?: number, idStatuts?: Array, texte?: string, dateDebut?: Date, dateFin?: Date, observe?: 'response', reportProgress?: boolean): Observable>; + public getFormationsCount(idAgence?: number, idStatuts?: Array, texte?: string, dateDebut?: Date, dateFin?: Date, observe?: 'events', reportProgress?: boolean): Observable>; + public getFormationsCount(idAgence?: number, idStatuts?: Array, texte?: string, dateDebut?: Date, dateFin?: Date, observe: any = 'body', reportProgress: boolean = false ): Observable { @@ -342,21 +334,9 @@ export class FormationsService { queryParameters = queryParameters.append('idStatuts', element); }) } - if (asc !== undefined && asc !== null) { - queryParameters = queryParameters.set('asc', asc); - } - if (numPage !== undefined && numPage !== null) { - queryParameters = queryParameters.set('numPage', numPage); - } - if (parPAge !== undefined && parPAge !== null) { - queryParameters = queryParameters.set('parPAge', parPAge); - } if (texte !== undefined && texte !== null) { queryParameters = queryParameters.set('texte', texte); } - if (tri !== undefined && tri !== null) { - queryParameters = queryParameters.set('tri', tri); - } if (dateDebut !== undefined && dateDebut !== null) { queryParameters = queryParameters.set('dateDebut', dateDebut.toISOString()); } diff --git a/src/app/shared/api-swagger/api/notes.service.ts b/src/app/shared/api-swagger/api/notes.service.ts index 911e58a..db34a2b 100644 --- a/src/app/shared/api-swagger/api/notes.service.ts +++ b/src/app/shared/api-swagger/api/notes.service.ts @@ -213,16 +213,16 @@ export class NotesService { * @param idAuteur Id de l'auteur * @param asc Indique si les données sont récupérées dans l'ordre croissant ou non * @param numPage Numéro de la page du tableau à afficher - * @param parPAge Nombre d’élément maximum à afficher dans le tableau + * @param parPage Nombre d’élément maximum à afficher dans le tableau * @param texte Texte permettant de filtrer les données * @param tri Colonne du tableau sur lequel le tri devra être effectué * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public getNotesAuteur(idAuteur: string, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, observe?: 'body', reportProgress?: boolean): Observable>; - public getNotesAuteur(idAuteur: string, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, observe?: 'response', reportProgress?: boolean): Observable>>; - public getNotesAuteur(idAuteur: string, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, observe?: 'events', reportProgress?: boolean): Observable>>; - public getNotesAuteur(idAuteur: string, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, observe: any = 'body', reportProgress: boolean = false ): Observable { + public getNotesAuteur(idAuteur: string, asc?: boolean, numPage?: number, parPage?: number, texte?: string, tri?: string, observe?: 'body', reportProgress?: boolean): Observable>; + public getNotesAuteur(idAuteur: string, asc?: boolean, numPage?: number, parPage?: number, texte?: string, tri?: string, observe?: 'response', reportProgress?: boolean): Observable>>; + public getNotesAuteur(idAuteur: string, asc?: boolean, numPage?: number, parPage?: number, texte?: string, tri?: string, observe?: 'events', reportProgress?: boolean): Observable>>; + public getNotesAuteur(idAuteur: string, asc?: boolean, numPage?: number, parPage?: number, texte?: string, tri?: string, observe: any = 'body', reportProgress: boolean = false ): Observable { if (idAuteur === null || idAuteur === undefined) { throw new Error('Required parameter idAuteur was null or undefined when calling getNotesAuteur.'); @@ -240,8 +240,8 @@ export class NotesService { if (numPage !== undefined && numPage !== null) { queryParameters = queryParameters.set('numPage', numPage); } - if (parPAge !== undefined && parPAge !== null) { - queryParameters = queryParameters.set('parPAge', parPAge); + if (parPage !== undefined && parPage !== null) { + queryParameters = queryParameters.set('parPage', parPage); } if (texte !== undefined && texte !== null) { queryParameters = queryParameters.set('texte', texte); @@ -287,44 +287,24 @@ export class NotesService { * * Récupérer le nombre total de notes d’un auteur. * @param idAuteur Id de l'auteur - * @param asc Indique si les données sont récupérées dans l'ordre croissant ou non - * @param numPage Numéro de la page du tableau à afficher - * @param parPAge Nombre d’élément maximum à afficher dans le tableau * @param texte Texte permettant de filtrer les données - * @param tri Colonne du tableau sur lequel le tri devra être effectué * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public getNotesAuteurCount(idAuteur: string, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, observe?: 'body', reportProgress?: boolean): Observable; - public getNotesAuteurCount(idAuteur: string, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, observe?: 'response', reportProgress?: boolean): Observable>; - public getNotesAuteurCount(idAuteur: string, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, observe?: 'events', reportProgress?: boolean): Observable>; - public getNotesAuteurCount(idAuteur: string, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, observe: any = 'body', reportProgress: boolean = false ): Observable { + public getNotesAuteurCount(idAuteur: string, texte?: string, observe?: 'body', reportProgress?: boolean): Observable; + public getNotesAuteurCount(idAuteur: string, texte?: string, observe?: 'response', reportProgress?: boolean): Observable>; + public getNotesAuteurCount(idAuteur: string, texte?: string, observe?: 'events', reportProgress?: boolean): Observable>; + public getNotesAuteurCount(idAuteur: string, texte?: string, observe: any = 'body', reportProgress: boolean = false ): Observable { if (idAuteur === null || idAuteur === undefined) { throw new Error('Required parameter idAuteur was null or undefined when calling getNotesAuteurCount.'); } - - - - let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()}); - if (asc !== undefined && asc !== null) { - queryParameters = queryParameters.set('asc', asc); - } - if (numPage !== undefined && numPage !== null) { - queryParameters = queryParameters.set('numPage', numPage); - } - if (parPAge !== undefined && parPAge !== null) { - queryParameters = queryParameters.set('parPAge', parPAge); - } if (texte !== undefined && texte !== null) { queryParameters = queryParameters.set('texte', texte); } - if (tri !== undefined && tri !== null) { - queryParameters = queryParameters.set('tri', tri); - } let headers = this.defaultHeaders; diff --git a/src/app/shared/api-swagger/api/participationsFormations.service.ts b/src/app/shared/api-swagger/api/participationsFormations.service.ts index 2a985f4..819ac13 100644 --- a/src/app/shared/api-swagger/api/participationsFormations.service.ts +++ b/src/app/shared/api-swagger/api/participationsFormations.service.ts @@ -168,43 +168,16 @@ export class ParticipationsFormationsService { * * Récupérer la liste des participations de formation d’un collaborateur. * @param idCollaborateur Id du collaborateur - * @param asc Indique si les données sont récupérées dans l'ordre croissant ou non - * @param numPage Numéro de la page du tableau à afficher - * @param parPAge Nombre d’élément maximum à afficher dans le tableau - * @param texte Texte permettant de filtrer les données - * @param tri Colonne du tableau sur lequel le tri devra être effectué * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public getParticipationByCollaborateur(idCollaborateur: string, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, observe?: 'body', reportProgress?: boolean): Observable>; - public getParticipationByCollaborateur(idCollaborateur: string, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, observe?: 'response', reportProgress?: boolean): Observable>>; - public getParticipationByCollaborateur(idCollaborateur: string, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, observe?: 'events', reportProgress?: boolean): Observable>>; - public getParticipationByCollaborateur(idCollaborateur: string, asc?: boolean, numPage?: number, parPAge?: number, texte?: string, tri?: string, observe: any = 'body', reportProgress: boolean = false ): Observable { + public getParticipationsByCollaborateur(idCollaborateur: string, observe?: 'body', reportProgress?: boolean): Observable>; + public getParticipationsByCollaborateur(idCollaborateur: string, observe?: 'response', reportProgress?: boolean): Observable>>; + public getParticipationsByCollaborateur(idCollaborateur: string, observe?: 'events', reportProgress?: boolean): Observable>>; + public getParticipationsByCollaborateur(idCollaborateur: string, observe: any = 'body', reportProgress: boolean = false ): Observable { if (idCollaborateur === null || idCollaborateur === undefined) { - throw new Error('Required parameter idCollaborateur was null or undefined when calling getParticipationByCollaborateur.'); - } - - - - - - - let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()}); - if (asc !== undefined && asc !== null) { - queryParameters = queryParameters.set('asc', asc); - } - if (numPage !== undefined && numPage !== null) { - queryParameters = queryParameters.set('numPage', numPage); - } - if (parPAge !== undefined && parPAge !== null) { - queryParameters = queryParameters.set('parPAge', parPAge); - } - if (texte !== undefined && texte !== null) { - queryParameters = queryParameters.set('texte', texte); - } - if (tri !== undefined && tri !== null) { - queryParameters = queryParameters.set('tri', tri); + throw new Error('Required parameter idCollaborateur was null or undefined when calling getParticipationsByCollaborateur.'); } let headers = this.defaultHeaders; @@ -231,7 +204,6 @@ export class ParticipationsFormationsService { return this.httpClient.request>('get',`${this.basePath}/participationsformation/${encodeURIComponent(String(idCollaborateur))}`, { - params: queryParameters, withCredentials: this.configuration.withCredentials, headers: headers, observe: observe, diff --git a/src/app/shared/api-swagger/model/demandeFormationDTO.ts b/src/app/shared/api-swagger/model/demandeFormationDTO.ts index cd61148..8c09751 100644 --- a/src/app/shared/api-swagger/model/demandeFormationDTO.ts +++ b/src/app/shared/api-swagger/model/demandeFormationDTO.ts @@ -12,7 +12,7 @@ import { CollaborateurDTO } from './collaborateurDTO'; import { EpInformationDTO } from './epInformationDTO'; import { EtatDemande } from './etatDemande'; -import { FormationDTO } from './formationDTO'; +import { FormationDetailsDTO } from './formationDetailsDTO'; import { OrigineDemandeFormationDTO } from './origineDemandeFormationDTO'; /** @@ -51,5 +51,5 @@ export interface DemandeFormationDTO { origine?: OrigineDemandeFormationDTO; collaborateur?: CollaborateurDTO; ep?: EpInformationDTO; - formation?: FormationDTO; + formation?: FormationDetailsDTO; } \ No newline at end of file diff --git a/src/app/shared/api-swagger/model/etatDemande.ts b/src/app/shared/api-swagger/model/etatDemande.ts index 3bb523a..c8abfd7 100644 --- a/src/app/shared/api-swagger/model/etatDemande.ts +++ b/src/app/shared/api-swagger/model/etatDemande.ts @@ -30,4 +30,15 @@ export function AfficherEtatDemandeDelegation(etat: EtatDemande) { case EtatDemande.EnAttente: return "Demande en attente"; } +} + +export function afficherEtatDemande(etatDemande: EtatDemande) { + switch(etatDemande) { + case EtatDemande.Validee: + return "Validée"; + case EtatDemande.Rejetee: + return "Rejetée"; + case EtatDemande.EnAttente: + return "En attente"; + } } \ No newline at end of file diff --git a/src/app/shared/api-swagger/model/saisieDTO.ts b/src/app/shared/api-swagger/model/saisieDTO.ts index e46a006..7e68639 100644 --- a/src/app/shared/api-swagger/model/saisieDTO.ts +++ b/src/app/shared/api-swagger/model/saisieDTO.ts @@ -19,7 +19,7 @@ export interface SaisieDTO { /** * Id de la saisie */ - id: string; + id: number; /** * Note saisie */ diff --git a/src/app/shared/api-swagger/model/statutEp.ts b/src/app/shared/api-swagger/model/statutEp.ts index f4def08..e490643 100644 --- a/src/app/shared/api-swagger/model/statutEp.ts +++ b/src/app/shared/api-swagger/model/statutEp.ts @@ -11,7 +11,7 @@ */ /** - * Statut ou état dans lequel se trouve l’EP au cours du processus EP: * `Cree` - L'EP a été créé en base de données mais n'est pas encore disponible * `Disponible` - L'EP est disponible pour être saisi par le collaborateur * `Saisi` - L'EP a été saisi par le collaborateur * `DatesProposees` - Des dates d'entretiens ont été proposées par le référent * `AttenteEntretien` - Indique qu’il s’agit d’un EPS * `Effectue` - Le référent a marqué l'EP comme étant effectué et peut accéder à sa saisie * `SignatureReferent` - Le référent a complété en signé l'EP * `Signe` - Le collaborateur a signé l'EP * `Rejete` - Le collaborateur n'a pas effectué la saisie dans les temps ou a refusé l'EP * `Annule` - Une assistante ou le référent a annulé l'EP du collaborateur + * Statut ou état dans lequel se trouve l’EP au cours du processus EP: * `Cree` - L'EP a été créé en base de données mais n'est pas encore disponible * `Disponible` - L'EP est disponible pour être saisi par le collaborateur * `Saisi` - L'EP a été saisi par le collaborateur * `DatesProposees` - Des dates d'entretiens ont été proposées par le référent * `AttenteEntretien` - Le collaborateur a choisi une date, il ne reste plus qu'à attendre l'entretien * `Effectue` - Le référent a marqué l'EP comme étant effectué et peut accéder à sa saisie * `SignatureReferent` - Le référent a complété en signé l'EP * `Signe` - Le collaborateur a signé l'EP * `Rejete` - Le collaborateur n'a pas effectué la saisie dans les temps ou a refusé l'EP * `Annule` - Une assistante ou le référent a annulé l'EP du collaborateur */ export type StatutEp = 'Cree' | 'Disponible' | 'Saisi' | 'DatesProposees' | 'AttenteEntretien' | 'Effectue' | 'SignatureReferent' | 'Signe' | 'Rejete' | 'Annule'; @@ -36,6 +36,10 @@ export function estEPDisponible (statut:StatutEp) { return statut != StatutEp.Cree && statut != StatutEp.Disponible } +export function estEPEnCours (statut:StatutEp) { + return statut != StatutEp.Annule && statut != StatutEp.Cree && statut != StatutEp.Rejete && statut != StatutEp.Signe +} + export function affichageStatut(statut: StatutEp) { switch(statut) { case StatutEp.Cree: diff --git a/src/app/shared/mat-tables/collaborateurs-table/collaborateurs.table.html b/src/app/shared/mat-tables/collaborateurs-table/collaborateurs.table.html index f2543a0..1d86bfe 100644 --- a/src/app/shared/mat-tables/collaborateurs-table/collaborateurs.table.html +++ b/src/app/shared/mat-tables/collaborateurs-table/collaborateurs.table.html @@ -22,7 +22,7 @@ Date de début - + clear @@ -31,7 +31,7 @@ Date de fin - + clear @@ -46,7 +46,7 @@ - + Agence {{ row.businessUnit.nom }} @@ -79,7 +79,7 @@ [pageIndex]="numPage-1" [pageSize]="parPage" [pageSizeOptions]="pageOption" - (page)="updatePageInfo($event)"> + (page)="updatePaginationTableau($event)">
\ No newline at end of file diff --git a/src/app/shared/mat-tables/collaborateurs-table/collaborateurs.table.ts b/src/app/shared/mat-tables/collaborateurs-table/collaborateurs.table.ts index ee38876..90eb719 100644 --- a/src/app/shared/mat-tables/collaborateurs-table/collaborateurs.table.ts +++ b/src/app/shared/mat-tables/collaborateurs-table/collaborateurs.table.ts @@ -160,7 +160,7 @@ export class CollaborateursTableComponent implements OnInit { * Mettre à jour les informations à afficher dans la tableau. * Devra se faire à l'ouverture de la page, au changement de page ou du nombre d'éléments à afficher, au moment d'un tri ou encore lors de l'utilisation de la barre de recherche. */ - updateDataSource() { + updateDonneesTableau() { switch(this.typeRecherche) { case collaborateurTypeRecherche.collaborateurs: case collaborateurTypeRecherche.referents: @@ -186,7 +186,7 @@ export class CollaborateursTableComponent implements OnInit { collaborateurs => { console.log(collaborateurs); this.dataSource = new MatTableDataSource(collaborateurs);}, err => console.log(err) ); - this.collaborateursDisponiblesCountSubscription = this.service.getCollaborateursCount(this.roles, this.busIds,this.asc, this.numPage, this.parPage, this.search, this.tri, this.dateDebut, this.dateFin).subscribe( + this.collaborateursDisponiblesCountSubscription = this.service.getCollaborateursCount(this.roles, this.busIds,this.search, this.dateDebut, this.dateFin).subscribe( count => { console.log(count); this.taille=count;}, err => console.log(err) ); @@ -200,7 +200,7 @@ export class CollaborateursTableComponent implements OnInit { collaborateurs => { console.log(collaborateurs); this.dataSource = new MatTableDataSource(collaborateurs);}, err => console.log(err) ); - this.collaborateursDisponiblesCountSubscription = this.service.getCollaborateursByReferentCount(this.idReferent, this.asc, this.numPage, this.parPage, this.search, this.tri).subscribe( + this.collaborateursDisponiblesCountSubscription = this.service.getCollaborateursByReferentCount(this.idReferent, this.search).subscribe( count => { console.log(count); this.taille=count;}, err => console.log(err) ); @@ -215,17 +215,17 @@ export class CollaborateursTableComponent implements OnInit { this.dateDebut = undefined; if(val == 2) this.dateFin = undefined; - this.updateDataSource(); + this.updateDonneesTableau(); } /** * Mettre à jour le nomre d'élément à afficher par page et le numéro de la page * @param event évènement de la pagination */ - updatePageInfo(event){ + updatePaginationTableau(event){ this.parPage = event.pageSize; this.numPage = event.pageIndex+1; - this.updateDataSource(); + this.updateDonneesTableau(); } /** @@ -233,7 +233,7 @@ export class CollaborateursTableComponent implements OnInit { */ setSearch() { this.numPage = 1; - this.updateDataSource(); + this.updateDonneesTableau(); } @@ -250,7 +250,7 @@ export class CollaborateursTableComponent implements OnInit { * Trier le tableau en fonction de l'évènement de la colonne * @param e évènement du tri */ - triTableau(e) { + trierTableau(e) { this.tri = e.active; switch(e.direction) { case "asc": @@ -260,7 +260,7 @@ export class CollaborateursTableComponent implements OnInit { this.asc = false; break; } - this.updateDataSource(); + this.updateDonneesTableau(); } /** @@ -276,12 +276,17 @@ export class CollaborateursTableComponent implements OnInit { for(let bu of this.bus) { this.busIds.push(bu.id); } - this.updateDataSource(); + this.updateDonneesTableau(); this.chargement = false; } } - - setClassCouleurLigne(collaborateur: CollaborateurDTO) { + + /** + * Permettre d'ajouter une classe à la ligne afin de choisir la couleur de cette même ligne + * + * @param collaborateur le collaborateur de la ligne du tableau + */ + setClassCouleurLigne(collaborateur: CollaborateurDTO) { if(this.contientCollaborateur(this.collaborateursAjouts,collaborateur)) { return "collaborateurAjoute"; } @@ -308,7 +313,7 @@ export class CollaborateursTableComponent implements OnInit { this.busIds = this.busIds.filter( (id) => id != bu.id); } this.numPage = 1; - this.updateDataSource(); + this.updateDonneesTableau(); } /** diff --git a/src/app/collaborateurs/collaborateur-routing.module.ts b/src/app/shared/mat-tables/demandes-formation-table/demandes-formation.table.css similarity index 100% rename from src/app/collaborateurs/collaborateur-routing.module.ts rename to src/app/shared/mat-tables/demandes-formation-table/demandes-formation.table.css diff --git a/src/app/shared/mat-tables/demandes-formation-table/demandes-formation.table.html b/src/app/shared/mat-tables/demandes-formation-table/demandes-formation.table.html new file mode 100644 index 0000000..690a6a6 --- /dev/null +++ b/src/app/shared/mat-tables/demandes-formation-table/demandes-formation.table.html @@ -0,0 +1,133 @@ + + + + + + + + + Rechercher un collaborateur + + + + + + + + + + + + + + + + + + + + + + + + Date de début + + clear + + + + + + + Date de fin + + clear + + + + + + + +

Aucune demande de formation à afficher

+
+ + + + + Agence + {{row.ep.collaborateur.businessUnit.nom}} + + + + Collabotareur + + + {{row.collaborateur.nom}} {{row.collaborateur.prenom}} + + + + + Date demande + {{row.dateDemande | date :'dd/MM/yyyy'}} + + + + Demande RH + {{afficherDemandeRH(row.demandeRH)}} + + + + EP + + + +

Consulter EP

+
+
+
+ + + Réponse + {{afficherEtat(row.etatDemande)}} + + + + Date réponse + + {{row.dateDerniereReponse | date :'dd/MM/yyyy'}} + {{row.dateDerniereReponse}} + + + + + +
+ + +
+ +
\ No newline at end of file diff --git a/src/app/shared/mat-tables/demandes-formation-table/demandes-formation.table.ts b/src/app/shared/mat-tables/demandes-formation-table/demandes-formation.table.ts new file mode 100644 index 0000000..11d9a94 --- /dev/null +++ b/src/app/shared/mat-tables/demandes-formation-table/demandes-formation.table.ts @@ -0,0 +1,372 @@ +import { Component, EventEmitter, Input, OnInit, Output } from "@angular/core"; +import { MatTableDataSource } from "@angular/material/table"; +import { BusinessUnitDTO, CollaborateurDTO, DemandesFormationService, EtatDemande, afficherEtatDemande, DemandeFormationDTO, StatutEp, estEPEnCours } from "@shared/api-swagger"; +import { cles } from "@shared/utils/cles"; +import { DemandesFormationsRoutingModule } from "app/demandes-formation/demandes-formation.routing.module"; + +import { Subscription } from "rxjs"; + + +@Component({ + selector: "demandes-formation-table", + templateUrl: "./demandes-formation.table.html" +}) +export class DemandesFormationTableComponent implements OnInit { + + + chargement : boolean = true; + + /** + * * Ordre de tri à envoyer au serveur (true : croissant, false : décroissantà). + */ + asc : boolean = true; + + /** + * Numéro de la page à afficher dans le tableau. + */ + numPage: number = 1; + + /** + * Nombre d'élément du tableau à affiche en une page. + */ + parPage: number = 15; + + /** + * Nombre total d'élément du tableau + */ + taille: number = 0; + + /** + * Liste des business units du collaborateur connecté + */ + bus: Array = []; + + /** + * contenu de la recherche pour trouver un collaborateur. + */ + search: string = ""; + + /** + * Options pour choisir le nombre de page à affiche + */ + pageOption = [ 5, 15, 20, 30, 50]; + + /** + * Permet de savoir sur quelle attribut d'un CollaborateurDTO doit être trié le tableau. + */ + tri: string = "collaborateur"; + + /** + * Liste des id des business units des collaborateurs à afficher + */ + private busIds: Array = []; + + /** + * Liste des tous les états demandes + */ + etatsDemandes: Array = [ + EtatDemande.EnAttente, EtatDemande.Validee, + EtatDemande.Rejetee + ]; + etatsDemandesAffiches: Array = [ + EtatDemande.EnAttente, EtatDemande.Validee, + EtatDemande.Rejetee + ]; + + /** + * Liste des tous les statuts d'EP + */ + allStatutsEp: Array = [ + StatutEp.Cree, StatutEp.Disponible, + StatutEp.Saisi, StatutEp.DatesProposees, + StatutEp.AttenteEntretien, StatutEp.Effectue, + StatutEp.SignatureReferent, StatutEp.Signe, + StatutEp.Rejete, StatutEp.Annule + ]; + + statutsEp: Array = [ + StatutEp.Cree, StatutEp.Disponible, + StatutEp.Saisi, StatutEp.DatesProposees, + StatutEp.AttenteEntretien, StatutEp.Effectue, + StatutEp.SignatureReferent, StatutEp.Signe, + StatutEp.Rejete, StatutEp.Annule + ]; + + statutsEpAffiches: Array = [ + 'Annulé','En cours', 'Rejeté', 'Signé' + ]; + + /** + * Date à partir de laquelle les demandes de formation doivent être récupérées en fonction de leur date de demande + */ + dateDebut: Date = undefined; + + /** + * Date jusqu'à laquelle les demandes de formation doivent être récupérées en fonction de leur date de demande + */ + dateFin: Date = undefined; + + + /** + * Liste des colonnes du tableau à afficher. + */ + @Input() displayedColumns : string[] = []; + @Input() estAffichageEP: boolean = false; + @Input() demandesFormation: DemandeFormationDTO[] = []; + + @Output() eventEmitter: EventEmitter = new EventEmitter(); + + dataSource: MatTableDataSource; + demandesFormationSubscription: Subscription; + demandesFormationCountSubscription: Subscription; + etatsDemandesSubscription: Subscription; + + constructor(private demandeFormationService: DemandesFormationService) {} + + ngOnInit() { + if(this.estAffichageEP) { + this.taille = this.demandesFormation.length; + this.dataSource = new MatTableDataSource(this.demandesFormation); + } + else + this.setBUsId(); + } + + emitEvent(demande: DemandesFormationsRoutingModule) { + if(this.eventEmitter != null) + this.eventEmitter.emit(demande); + } + + updateDataSource() { + if(this.busIds.length == 0 || this.etatsDemandes.length == 0 || this.statutsEp.length == 0) { + this.taille = 0; + this.dataSource = new MatTableDataSource(undefined); + return; + } + this.demandesFormationSubscription = this.demandeFormationService.getDemandesFormation(this.etatsDemandes, this.busIds, this.statutsEp, this.asc, this.numPage, this.parPage, this.search, this.tri, this.dateDebut, this.dateFin).subscribe( + demandesFormation => this.dataSource = new MatTableDataSource(demandesFormation), + err => console.log(err) + ); + + this.demandesFormationCountSubscription = this.demandeFormationService.getDemandesFormationCount(this.etatsDemandes, this.busIds, this.statutsEp, this.asc, this.numPage, this.parPage, this.search, this.tri, this.dateDebut, this.dateFin).subscribe( + count => this.taille = count, + err => console.log(err) + ); + } + + afficherDemandeRH(demandeRH: boolean) { + if (demandeRH) + return 'Oui'; + else + return 'Non' + } + + afficherEtat(etat: EtatDemande) { + return afficherEtatDemande(etat); + } + + /** + * création de la liste des business unit du collaborateur connecté pour afficher les checkboxes + */ + setBUsId() { + if(sessionStorage.getItem(cles.sessionKeyConnectee) == undefined){ + setTimeout( () => this.setBUsId(), 1000); + } + else { + const collaborateurConnecte : CollaborateurDTO = JSON.parse(sessionStorage.getItem(cles.sessionKeyConnectee)); + this.bus = collaborateurConnecte.businessUnit.agence.bu; + for(let bu of this.bus) { + this.busIds.push(bu.id); + } + this.updateDataSource(); + this.chargement = false; + } + } + + setSearch() { + this.numPage = 1; + this.updateDataSource(); + } + + resetSearch() { + this.search = ""; + this.setSearch(); + } + + /** + * Trier le tableau en fonction de l'évènement de la colonne + * @param e évènement du tri + */ + triTableau(e) { + this.tri = e.active; + switch(e.direction) { + case "asc": + this.asc = true; + break; + case "desc": + this.asc = false; + break; + } + this.updateDataSource(); + } + + /** + * Mettre à jour le nombre d'élément à afficher par page et le numéro de la page + * @param event évènement de la pagination + */ + updatePageInfo(event){ + this.parPage = event.pageSize; + this.numPage = event.pageIndex+1; + this.updateDataSource(); + } + + /** + * Mettre à jour toutes les checkbox des états d'engagement + * @param event case cochée ou décochée + */ + updateAllEtatsDemande(event) { + this.etatsDemandes = []; + // si la checkbox a été cochée + if(event) + this.etatsDemandes = this.etatsDemandesAffiches.map(e => e); + else + this.etatsDemandes = []; + + this.setSearch(); + } + + /** + * Mettre à jour la liste des etats de demande + * @param event + * @param etat + */ + updateEtatsDemande(event:boolean, etat:EtatDemande) { + if(event) { + this.etatsDemandes.push(etat); + } + else + this.etatsDemandes = this.etatsDemandes.filter( e => etat != e); + this.setSearch(); + } + + getStatutsEpEnCours() { + return [ StatutEp.AttenteEntretien, StatutEp.DatesProposees, + StatutEp.Disponible, StatutEp.Effectue, + StatutEp.Saisi, StatutEp.SignatureReferent ]; + } + + /** + * Mettre à jour toutes les checkbox des statuts d'EP + * @param event case cochée ou décochée + */ + updateAllStatutsEp(event) { + this.statutsEp = []; + // si la checkbox a été cochée + if(event) + this.statutsEp = this.allStatutsEp; + else + this.statutsEp = []; + + this.setSearch(); + } + + /** + * Mettre à jour la liste des statuts d'EP + * @param event + * @param statutEpAffiche + */ + updateEt + updateStatutsEp(event:boolean, statutEpAffiche:string) { + if(event) { + this.addStatutsEp(statutEpAffiche); + } + else { + this.removeStatutsEp(statutEpAffiche); + } + this.setSearch(); + } + + addStatutsEp(statutEpAffiche:string) { + switch(statutEpAffiche) { + case "Annulé": + this.statutsEp.push(StatutEp.Annule); + break; + case "En cours": + const statutsEpEnCoursOuCree = this.allStatutsEp.filter(s => estEPEnCours(s) || s == StatutEp.Cree); + this.statutsEp = this.statutsEp.concat(statutsEpEnCoursOuCree); + break; + case "Rejeté": + this.statutsEp.push(StatutEp.Rejete); + break; + case "Signé": + this.statutsEp.push(StatutEp.Signe); + break; + } + } + + removeStatutsEp(statutEpAffiche:string) { + switch(statutEpAffiche) { + case "Annulé": + this.statutsEp = this.statutsEp.filter(s => s != StatutEp.Annule) + break; + case "En cours": + this.statutsEp = this.statutsEp.filter(s => !estEPEnCours(s) && s != StatutEp.Cree) + break; + case "Rejeté": + this.statutsEp = this.statutsEp.filter(s => s != StatutEp.Rejete) + break; + case "Signé": + this.statutsEp = this.statutsEp.filter(s => s != StatutEp.Signe) + break; + } + } + + + /** + * Mettre à jour toutes les checkbox des BU + * @param event case cochée ou décochée + */ + updateAllBUs(event) { + this.busIds = []; + // si la checkbox a été cochée + if(event) + this.bus.map(bu => this.busIds.push(bu.id)); + else + this.busIds = []; + + this.setSearch(); + } + + updateBUs(event, bu) { + // si la checkbox a été cochée + if(event) { + this.busIds.push(bu.id) + } + else{ + this.busIds = this.busIds.filter( (id) => id != bu.id); + } + this.setSearch(); + } + + /** + * Mettre à undefined la date de début ou la date de fin + * @param val Valeur pour indiquer quel variable doit être mis à undefined + */ + updateDateToUndefined(val : number) { + if(val == 1) + this.dateDebut = undefined; + if(val == 2) + this.dateFin = undefined; + this.updateDataSource(); + } + + + ngOnDestroy() { + if(this.demandesFormationSubscription != undefined) { + this.demandesFormationSubscription.unsubscribe(); + } + if(this.demandesFormationCountSubscription != undefined) { + this.demandesFormationCountSubscription.unsubscribe(); + } + } +} diff --git a/src/app/shared/mat-tables/engagements-table/engagements-table.html b/src/app/shared/mat-tables/engagements-table/engagements-table.html index e4b8bbd..81c5855 100644 --- a/src/app/shared/mat-tables/engagements-table/engagements-table.html +++ b/src/app/shared/mat-tables/engagements-table/engagements-table.html @@ -73,7 +73,7 @@ [pageIndex]="numPage-1" [pageSize]="parPage" [pageSizeOptions]="pageOption" - (page)="updatePageInfo($event)"> + (page)="updatePaginationTableau($event)">
diff --git a/src/app/shared/mat-tables/engagements-table/engagements-table.ts b/src/app/shared/mat-tables/engagements-table/engagements-table.ts index 764fdae..3aeb821 100644 --- a/src/app/shared/mat-tables/engagements-table/engagements-table.ts +++ b/src/app/shared/mat-tables/engagements-table/engagements-table.ts @@ -109,18 +109,18 @@ export class EngagementTableComponent implements OnInit { } - updateDataSource() { + updateDonneesTableau() { if(this.busIds.length == 0 || this.etatsEngagements.length == 0) { this.taille = 0; this.dataSource = new MatTableDataSource(undefined); return; } - this.engagementSubscription = this.engagementService.getEngagements(this.etatsEngagements, this.busIds, this.asc, this.numPage, this.parPage, this.search, this.tri).subscribe( + this.engagementSubscription = this.engagementService.getEngagements(this.busIds, this.etatsEngagements,this.asc, this.numPage, this.parPage, this.search, this.tri).subscribe( engagements => { console.log(engagements); this.dataSource = new MatTableDataSource(engagements); }, err => console.log(err) ); - this.engagementCountSubscripton = this.engagementService.getEngagementsCount(this.etatsEngagements, this.busIds, this.asc, this.numPage, this.parPage, this.search, this.tri).subscribe( + this.engagementCountSubscripton = this.engagementService.getEngagementsCount(this.busIds, this.etatsEngagements, this.search).subscribe( count => this.taille = count, err => console.log(err) ); @@ -143,14 +143,14 @@ export class EngagementTableComponent implements OnInit { for(let bu of this.bus) { this.busIds.push(bu.id); } - this.updateDataSource(); + this.updateDonneesTableau(); this.chargement = false; } } setSearch() { this.numPage = 1; - this.updateDataSource(); + this.updateDonneesTableau(); } resetSearch() { @@ -162,10 +162,10 @@ export class EngagementTableComponent implements OnInit { * Mettre à jour le nomre d'élément à afficher par page et le numéro de la page * @param event évènement de la pagination */ - updatePageInfo(event){ + updatePaginationTableau(event){ this.parPage = event.pageSize; this.numPage = event.pageIndex+1; - this.updateDataSource(); + this.updateDonneesTableau(); } updateEtatsEngagement(event:boolean, etat:EtatEngagement) { diff --git a/src/app/shared/mat-tables/ep-table/ep-table.html b/src/app/shared/mat-tables/ep-table/ep-table.html index c315838..483ff2a 100644 --- a/src/app/shared/mat-tables/ep-table/ep-table.html +++ b/src/app/shared/mat-tables/ep-table/ep-table.html @@ -35,20 +35,20 @@ - Date de début - - clear - - + Date de début + + clear + + - Date de fin - - clear - - + Date de fin + + clear + + @@ -60,7 +60,7 @@ - + Business Unit @@ -128,7 +128,7 @@ [pageIndex]="numPage-1" [pageSize]="parPage" [pageSizeOptions]="pageOption" - (page)="updatePageInfo($event)" + (page)="updatePaginationTableau($event)" > diff --git a/src/app/shared/mat-tables/ep-table/ep-table.ts b/src/app/shared/mat-tables/ep-table/ep-table.ts index fe0ab6c..757cf4b 100644 --- a/src/app/shared/mat-tables/ep-table/ep-table.ts +++ b/src/app/shared/mat-tables/ep-table/ep-table.ts @@ -101,7 +101,7 @@ export class EpTableComponent implements OnInit{ }); } - updateDataSource() { + updateDonneesTableau() { switch(this.typeRechercheEP) { case epTypeRecherche.EPEnCours: this.getEPEnCours(); @@ -196,7 +196,7 @@ export class EpTableComponent implements OnInit{ updateToggle(event :MatSlideToggleChange) { this.epObligatoires = event.checked; - this.updateDataSource(); + this.updateDonneesTableau(); } /** @@ -212,7 +212,7 @@ export class EpTableComponent implements OnInit{ /*for(let bu of this.bus) { this.busIds.push(bu.id); }*/ - this.updateDataSource(); + this.updateDonneesTableau(); this.chargement = false; } } @@ -226,17 +226,17 @@ export class EpTableComponent implements OnInit{ this.dateDebut = undefined; if(val == 2) this.dateFin = undefined; - this.updateDataSource(); + this.updateDonneesTableau(); } /** * Mettre à jour le nomre d'élément à afficher par page et le numéro de la page * @param event évènement de la pagination */ - updatePageInfo(event){ + updatePaginationTableau(event){ this.parPage = event.pageSize; this.numPage = event.pageIndex+1; - this.updateDataSource(); + this.updateDonneesTableau(); } /** @@ -244,7 +244,7 @@ export class EpTableComponent implements OnInit{ */ setSearch() { this.numPage = 1; - this.updateDataSource(); + this.updateDonneesTableau(); } /** @@ -268,7 +268,7 @@ export class EpTableComponent implements OnInit{ this.busIds = []; this.numPage = 1; - this.updateDataSource(); + this.updateDonneesTableau(); } /** @@ -285,14 +285,14 @@ export class EpTableComponent implements OnInit{ this.busIds = this.busIds.filter( (id) => id != bu.id); } this.numPage = 1; - this.updateDataSource(); + this.updateDonneesTableau(); } /** * Trier le tableau en fonction de l'évènement de la colonne * @param e évènement du tri */ - triTableau(e) { + trierTableau(e) { this.tri = e.active; switch(e.direction) { case "asc": @@ -302,7 +302,7 @@ export class EpTableComponent implements OnInit{ this.asc = false; break; } - this.updateDataSource(); + this.updateDonneesTableau(); } diff --git a/src/app/shared/mat-tables/formations-table/formations.table.html b/src/app/shared/mat-tables/formations-table/formations.table.html index ce58390..d9438e0 100644 --- a/src/app/shared/mat-tables/formations-table/formations.table.html +++ b/src/app/shared/mat-tables/formations-table/formations.table.html @@ -26,7 +26,7 @@ - + Intitulé {{ row.intitule }} @@ -76,7 +76,7 @@ [pageIndex]="numPage-1" [pageSize]="parPage" [pageSizeOptions]="pageOption" - (page)="updatePageInfo($event)" + (page)="updatePaginationTableau($event)" > diff --git a/src/app/shared/mat-tables/formations-table/formations.table.ts b/src/app/shared/mat-tables/formations-table/formations.table.ts index 17ddf19..bf46cd8 100644 --- a/src/app/shared/mat-tables/formations-table/formations.table.ts +++ b/src/app/shared/mat-tables/formations-table/formations.table.ts @@ -111,7 +111,7 @@ export class FormationsTableComponent implements OnInit { * Mettre à jour les informations à afficher dans la tableau. * Devra se faire à l'ouverture de la page, au changement de page ou du nombre d'éléments à afficher, au moment d'un tri ou encore lors de l'utilisation de la barre de recherche. */ - updateDataSource() { + updateDonneesTableau() { this.updateFormations(); } @@ -136,7 +136,7 @@ export class FormationsTableComponent implements OnInit { err => console.log(err) ) - this.formationsDisponiblesCountSubscription = this.formationsService.getFormationsCount(this.idAgence,this.idStatuts,this.asc, this.numPage, this.parPage, this.search, this.tri).subscribe( + this.formationsDisponiblesCountSubscription = this.formationsService.getFormationsCount(this.idAgence,this.idStatuts, this.search).subscribe( count => this.taille=count, err => console.log(err) ); @@ -156,7 +156,7 @@ export class FormationsTableComponent implements OnInit { else { this.collaborateurConnecte = JSON.parse(sessionStorage.getItem(cles.sessionKeyConnectee)); this.idAgence = this.collaborateurConnecte.businessUnit.agence.id; - this.updateDataSource(); + this.updateDonneesTableau(); this.chargement = false; } } @@ -165,10 +165,10 @@ export class FormationsTableComponent implements OnInit { * Mettre à jour le nomre d'élément à afficher par page et le numéro de la page * @param event évènement de la pagination */ - updatePageInfo(event){ + updatePaginationTableau(event){ this.parPage = event.pageSize; this.numPage = event.pageIndex+1; - this.updateDataSource(); + this.updateDonneesTableau(); } @@ -177,7 +177,7 @@ export class FormationsTableComponent implements OnInit { */ setSearch() { this.numPage = 1; - this.updateDataSource(); + this.updateDonneesTableau(); } @@ -194,7 +194,7 @@ export class FormationsTableComponent implements OnInit { * Trier le tableau en fonction de l'évènement de la colonne * @param e évènement du tri */ - triTableau(e) { + trierTableau(e) { this.tri = e.active; switch(e.direction) { case "asc": @@ -204,7 +204,7 @@ export class FormationsTableComponent implements OnInit { this.asc = false; break; } - this.updateDataSource(); + this.updateDonneesTableau(); } /** @@ -220,7 +220,7 @@ export class FormationsTableComponent implements OnInit { this.idStatuts = []; this.numPage = 1; - this.updateDataSource(); + this.updateDonneesTableau(); } @@ -238,7 +238,7 @@ export class FormationsTableComponent implements OnInit { this.idStatuts = this.idStatuts.filter(id => id != statut.id); } this.numPage = 1; - this.updateDataSource(); + this.updateDonneesTableau(); } /** diff --git a/src/app/shared/mat-tables/mat-tables.module.ts b/src/app/shared/mat-tables/mat-tables.module.ts index 7a204d8..bed0477 100644 --- a/src/app/shared/mat-tables/mat-tables.module.ts +++ b/src/app/shared/mat-tables/mat-tables.module.ts @@ -10,6 +10,7 @@ import { FormationsTableComponent } from "@shared/mat-tables/formations-table/fo import { ParticipationsFormationTableComponent } from "@shared/mat-tables/participations-formation-table/participations-formation.table"; import { FilterModule } from "@shared/filter/filter.module"; import { EpTableComponent } from "./ep-table/ep-table"; +import { DemandesFormationTableComponent } from "@shared/mat-tables/demandes-formation-table/demandes-formation.table"; @NgModule({ @@ -18,7 +19,8 @@ import { EpTableComponent } from "./ep-table/ep-table"; EngagementTableComponent, FormationsTableComponent , EpTableComponent, - ParticipationsFormationTableComponent + ParticipationsFormationTableComponent, + DemandesFormationTableComponent ], imports: [ MaterialModule, @@ -32,7 +34,8 @@ import { EpTableComponent } from "./ep-table/ep-table"; EngagementTableComponent, FormationsTableComponent, EpTableComponent, - ParticipationsFormationTableComponent + ParticipationsFormationTableComponent, + DemandesFormationTableComponent ] }) export class MatTablesModule {} diff --git a/tsconfig.compodoc.json b/tsconfig.compodoc.json new file mode 100644 index 0000000..23ae120 --- /dev/null +++ b/tsconfig.compodoc.json @@ -0,0 +1,13 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/app", + "types": [] + }, + "exclude": [ + "src/test.ts", + "src/**/*.spec.ts", + "src/app/file-to-exclude.ts" + ] + + } \ No newline at end of file