From b98455a726d2df61df4d4a980320416e05132ac6 Mon Sep 17 00:00:00 2001 From: KavyaDalmia Date: Thu, 28 Sep 2023 13:49:32 -0700 Subject: [PATCH 1/3] registration stat updated to participants only --- package-lock.json | 60 +++++++++++++------ .../admin/Event/EventStats/EventStatsTable.js | 11 ++++ 2 files changed, 52 insertions(+), 19 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9fcbe02d..c5ac6681 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9335,9 +9335,9 @@ "optional": true }, "node_modules/@types/react": { - "version": "18.2.9", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.9.tgz", - "integrity": "sha512-pL3JAesUkF7PEQGxh5XOwdXGV907te6m1/Qe1ERJLgomojS6Ne790QiA7GUl434JEkFA2aAaB6qJ5z4e1zJn/w==", + "version": "17.0.65", + "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.65.tgz", + "integrity": "sha512-oxur785xZYHvnI7TRS61dXbkIhDPnGfsXKv0cNXR/0ml4SipRIFpSMzA7HMEfOywFwJ5AOnPrXYTEiTRUQeGlQ==", "dependencies": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -10103,6 +10103,17 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/ansi-fragments": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/ansi-fragments/-/ansi-fragments-0.2.1.tgz", @@ -29522,9 +29533,11 @@ } }, "node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", + "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", + "optional": true, + "peer": true, "engines": { "node": ">=10" }, @@ -29571,16 +29584,16 @@ } }, "node_modules/typescript": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.3.tgz", - "integrity": "sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw==", + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" }, "engines": { - "node": ">=14.17" + "node": ">=4.2.0" } }, "node_modules/uglify-es": { @@ -38930,9 +38943,9 @@ "optional": true }, "@types/react": { - "version": "18.2.9", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.9.tgz", - "integrity": "sha512-pL3JAesUkF7PEQGxh5XOwdXGV907te6m1/Qe1ERJLgomojS6Ne790QiA7GUl434JEkFA2aAaB6qJ5z4e1zJn/w==", + "version": "17.0.65", + "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.65.tgz", + "integrity": "sha512-oxur785xZYHvnI7TRS61dXbkIhDPnGfsXKv0cNXR/0ml4SipRIFpSMzA7HMEfOywFwJ5AOnPrXYTEiTRUQeGlQ==", "requires": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -39543,6 +39556,13 @@ "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "requires": { "type-fest": "^0.21.3" + }, + "dependencies": { + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" + } } }, "ansi-fragments": { @@ -54664,9 +54684,11 @@ "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" }, "type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", + "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", + "optional": true, + "peer": true }, "type-is": { "version": "1.6.18", @@ -54701,9 +54723,9 @@ } }, "typescript": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.3.tgz", - "integrity": "sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw==", + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", "peer": true }, "uglify-es": { diff --git a/src/pages/admin/Event/EventStats/EventStatsTable.js b/src/pages/admin/Event/EventStats/EventStatsTable.js index cc611b0c..97836b9d 100644 --- a/src/pages/admin/Event/EventStats/EventStatsTable.js +++ b/src/pages/admin/Event/EventStats/EventStatsTable.js @@ -269,9 +269,13 @@ export class EventStatsTable extends Component { return heardFrom; } + // registration status stat registrationNumbers(users) { const registrationNumbers = { }; + for (let i = 0; i < users.length; i++) { + users = users.filter(user => user.isPartner === false); + } users.forEach((user) => { if (user.registrationStatus) { registrationNumbers[user.registrationStatus] = registrationNumbers[ @@ -308,11 +312,18 @@ export class EventStatsTable extends Component { ? faculties[user.basicInformation?.faculty] + 1 : 1; } + // the above code checks if the faculty that user entred is in the database, if + // yes the it increments faculties by 1 + // else, it sets it to 1. + if (user.basicInformation?.year) { const yearInt = parseInt(user.basicInformation?.year); if (yearInt) { years[yearInt] = years[yearInt] ? years[yearInt] + 1 : 1; } + // to calcutate how many people for each year, + // we check if the year entred exist, if yes then increment it by 1 + // else set it to 1 } if (user.basicInformation?.diet) { dietary[user.basicInformation?.diet] = dietary[ From 085de38a4065d2282d64e37a4088299cd116bc67 Mon Sep 17 00:00:00 2001 From: KavyaDalmia Date: Thu, 28 Sep 2023 14:02:56 -0700 Subject: [PATCH 2/3] cleaned up comments and changes --- src/pages/admin/Event/EventStats/EventStatsTable.js | 7 ------- 1 file changed, 7 deletions(-) diff --git a/src/pages/admin/Event/EventStats/EventStatsTable.js b/src/pages/admin/Event/EventStats/EventStatsTable.js index 97836b9d..b98669fa 100644 --- a/src/pages/admin/Event/EventStats/EventStatsTable.js +++ b/src/pages/admin/Event/EventStats/EventStatsTable.js @@ -269,7 +269,6 @@ export class EventStatsTable extends Component { return heardFrom; } - // registration status stat registrationNumbers(users) { const registrationNumbers = { }; @@ -312,18 +311,12 @@ export class EventStatsTable extends Component { ? faculties[user.basicInformation?.faculty] + 1 : 1; } - // the above code checks if the faculty that user entred is in the database, if - // yes the it increments faculties by 1 - // else, it sets it to 1. if (user.basicInformation?.year) { const yearInt = parseInt(user.basicInformation?.year); if (yearInt) { years[yearInt] = years[yearInt] ? years[yearInt] + 1 : 1; } - // to calcutate how many people for each year, - // we check if the year entred exist, if yes then increment it by 1 - // else set it to 1 } if (user.basicInformation?.diet) { dietary[user.basicInformation?.diet] = dietary[ From e28301692a05c4fdedb7f7abc7bf7a6ceb99bfc9 Mon Sep 17 00:00:00 2001 From: KavyaDalmia Date: Wed, 11 Oct 2023 18:56:27 -0700 Subject: [PATCH 3/3] git --- .../admin/Event/EventStats/EventStatsTable.js | 28 +++++++++++++++++-- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/src/pages/admin/Event/EventStats/EventStatsTable.js b/src/pages/admin/Event/EventStats/EventStatsTable.js index b98669fa..90853962 100644 --- a/src/pages/admin/Event/EventStats/EventStatsTable.js +++ b/src/pages/admin/Event/EventStats/EventStatsTable.js @@ -51,6 +51,7 @@ import { import { Field, Form, Formik } from "formik"; +import { array } from "yup"; const styles = { stats: { @@ -123,6 +124,8 @@ export class EventStatsTable extends Component { partnerColumns: { }, presentedPartnerColumns: [], + registrationNumbersWithPartners: { + }, registrationNumbers: { }, faculties: { @@ -269,12 +272,26 @@ export class EventStatsTable extends Component { return heardFrom; } + registrationNumbersWithPartners(users) { + // const partners = []; + + // for (let i = 0; i < users.length; i++) { + // if (users[i].isPartner) { + // partners.push(users[i]); + // } + // } + + // let numberOfPartners = partners.length; + + // will add implementation to calculate the ratio of number of participants and partners + // add a new stay showing this ratio + } + registrationNumbers(users) { + // console.log(users); const registrationNumbers = { }; - for (let i = 0; i < users.length; i++) { - users = users.filter(user => user.isPartner === false); - } + users = users.filter(user => user.isPartner === false); users.forEach((user) => { if (user.registrationStatus) { registrationNumbers[user.registrationStatus] = registrationNumbers[ @@ -659,6 +676,11 @@ export class EventStatsTable extends Component { padding: "10px" }} /> + +