-
Notifications
You must be signed in to change notification settings - Fork 13
#4398 - Replace PrimeVue tables - Part One #5427
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
#4398 - Replace PrimeVue tables - Part One #5427
Conversation
Minor refactoring and formatting updates.
Added mobile support Overawards and Search Students.
Updated type on studentFileUploads to fix TS error.
Updated DestinationAgreementSummary and Restrictions (Institution).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This pull request migrates 11 Vue components from PrimeVue DataTable to Vuetify v-data-table, modernizing the table implementations across student, institution, and ministry views.
Key changes:
- Replaced PrimeVue
<DataTable>and<Column>components with Vuetify<v-data-table>and slot-based templates - Converted prop names from camelCase to kebab-case (e.g.,
subTitle→sub-title,recordsCount→records-count) - Added data table header definitions to
DataTableContract.tsfor all migrated tables - Updated DTOs to include missing fields (
updatedAtinRestrictionSummaryAPIOutDTO,createdAtinOverawardAPIOutDTO) - Added explicit messages to
toggle-contentcomponents for better UX - Improved performance by converting array filtering to Set-based lookups in OverawardDetails
Reviewed changes
Copilot reviewed 14 out of 14 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| OfferingsUpload.vue | Migrated offerings upload validation table to Vuetify with proper headers and template slots |
| SINManagement.vue | Converted SIN validations table with all columns properly mapped |
| Restrictions.vue (institution) | Migrated institution restrictions table with consistent logic |
| PendingDesignation.vue | Updated pending designations table with proper headers |
| SearchInstitutions.vue | Converted institution search results table |
| DataTableContract.ts | Added header definitions for all new Vuetify tables with JSDoc comments |
| Restriction.dto.ts | Added missing updatedAt field to support resolved date display |
| Overaward.dto.ts | Added missing createdAt field for date-added fallback logic |
| DesignationAgreementSummary.vue | Migrated designation requests table with improved imports organization |
| StudentRestrictions.vue | Converted student restrictions table (logic inconsistency found) |
| StudentFileUploads.vue | Migrated file uploads table with conditional column (header mismatch found) |
| SearchStudents.vue | Updated student search results table |
| OverawardDetails.vue | Migrated overawards and deductions tables (missing column found) |
| StudentLoanBalancePartTime.vue | Converted part-time loan balance table |
You can also share your feedback on Copilot code review for a chance to win a $100 gift card. Take the survey.
sources/packages/web/src/components/common/students/StudentFileUploads.vue
Show resolved
Hide resolved
sources/packages/web/src/components/common/students/StudentRestrictions.vue
Outdated
Show resolved
Hide resolved
TS type fix.
| <template #[`item.overawardOrigin`]="{ item }"> | ||
| {{ item.overawardOrigin }} | ||
| </template> | ||
| <template v-if="showAddedBy" #[`item.addedByUser`]="{ item }"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The v-if is not technically required with conditional headers but I left in for clarity.
sources/packages/web/src/components/aest/students/StudentLoanBalancePartTime.vue
Outdated
Show resolved
Hide resolved
sources/packages/web/src/components/common/students/StudentFileUploads.vue
Outdated
Show resolved
Hide resolved
sources/packages/web/src/components/common/students/StudentRestrictions.vue
Outdated
Show resolved
Hide resolved
...ackages/web/src/components/partial-view/DesignationAgreement/DesignationAgreementSummary.vue
Outdated
Show resolved
Hide resolved
sources/packages/web/src/views/aest/institution/PendingDesignation.vue
Outdated
Show resolved
Hide resolved
|
dheepak-aot
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for making the changes. Looks good 👍



Overview
The following components were updated from Primevue to Vuetify:
Some supporting changes that were also made:
Existing issues with prop validation (String in place of Number) were not addressed since this PR already impacts a large number of files. Suggest handling in a separate PR.
Screenshots
Ministry
Search Students
Student Details - File Uploads
Student Details - Social Insurance Number
Student Details - Balances
Search Institutions
Institution Details - Designations
Institution Details - Restrictions
Designation Requests
Institution
Offerings Upload
Students - File Uploads
See Ministry/Students - File Uploads
Students - Balances
See Ministry/Students - Balances
Students
Overawards Balance
See Ministry/Students - Balances