From 04f5bcc810bc98ca1f9659cf8816043b3b1a532f Mon Sep 17 00:00:00 2001 From: Pierre Ecarlat <pecarlat@grandlyon.com> Date: Tue, 11 Mar 2025 15:12:27 +0100 Subject: [PATCH 1/7] wip --- package-lock.json | 14 +++++++++----- package.json | 6 +++--- .../manage-employers/manage-employers.component.ts | 2 +- .../manage-jobs/manage-jobs.component.ts | 2 +- 4 files changed, 14 insertions(+), 10 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0ed5f96e6..08496c09a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,7 +8,7 @@ "name": "pamn", "version": "3.4.1", "dependencies": { - "@ag-grid-community/csv-export": "^29.0.0", + "@ag-grid-community/csv-export": "^29.3.0", "@angular/animations": "^17.3.8", "@angular/cdk": "^17.3.6", "@angular/common": "^17.3.8", @@ -22,8 +22,8 @@ "@asymmetrik/ngx-leaflet": "^17.0.0", "@ngx-translate/core": "^14.0.0", "@storybook/addon-a11y": "^8.5.3", - "ag-grid-angular": "^29.0.0", - "ag-grid-community": "^29.0.0", + "ag-grid-angular": "^29.3.0", + "ag-grid-community": "^29.3.0", "jwt-decode": "^3.1.2", "leaflet": "^1.9.4", "leaflet.locatecontrol": "^0.83.1", @@ -92,12 +92,14 @@ "node_modules/@ag-grid-community/core": { "version": "29.3.5", "resolved": "https://registry.npmjs.org/@ag-grid-community/core/-/core-29.3.5.tgz", - "integrity": "sha512-r86bOCscnKVtaYyKqlN2UCtfbjf4UcmxHfVuXzJ94iN8Jy3iiQVrbQnbNArnjR589Bt/1VR/m+SdAMsOLcdpag==" + "integrity": "sha512-r86bOCscnKVtaYyKqlN2UCtfbjf4UcmxHfVuXzJ94iN8Jy3iiQVrbQnbNArnjR589Bt/1VR/m+SdAMsOLcdpag==", + "license": "MIT" }, "node_modules/@ag-grid-community/csv-export": { "version": "29.3.5", "resolved": "https://registry.npmjs.org/@ag-grid-community/csv-export/-/csv-export-29.3.5.tgz", "integrity": "sha512-8NOAmioHhapqvYdu1QjAzwQH5jihuOlaKk6FpF/8ECvLQePhoIK6rOyhcktOot4ZWo5f8q/4Ph5LGK3oFzdU9g==", + "license": "MIT", "dependencies": { "@ag-grid-community/core": "~29.3.5" } @@ -7613,6 +7615,7 @@ "version": "29.3.5", "resolved": "https://registry.npmjs.org/ag-grid-angular/-/ag-grid-angular-29.3.5.tgz", "integrity": "sha512-UWDZvDSrS9Z+LFZ1G0HFOeamITD8kEHgO9eooJV4DxSmYoBGMGruLZV1QIPhjQwBVe8ib5TWw3Q1erSf/bcVSw==", + "license": "MIT", "dependencies": { "tslib": "^2.3.0" }, @@ -7625,7 +7628,8 @@ "node_modules/ag-grid-community": { "version": "29.3.5", "resolved": "https://registry.npmjs.org/ag-grid-community/-/ag-grid-community-29.3.5.tgz", - "integrity": "sha512-LxUo21f2/CH31ACEs1C7Q/ggGGI1fQPSTB4aY5OThmM+lBkygZ7QszBE8jpfgWOIjvjdtcdIeQbmbjkHeMsA7A==" + "integrity": "sha512-LxUo21f2/CH31ACEs1C7Q/ggGGI1fQPSTB4aY5OThmM+lBkygZ7QszBE8jpfgWOIjvjdtcdIeQbmbjkHeMsA7A==", + "license": "MIT" }, "node_modules/agent-base": { "version": "7.1.1", diff --git a/package.json b/package.json index 47d84a58a..e8040b181 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "npm": "^10.2.0" }, "dependencies": { - "@ag-grid-community/csv-export": "^29.0.0", + "@ag-grid-community/csv-export": "^29.3.0", "@angular/animations": "^17.3.8", "@angular/cdk": "^17.3.6", "@angular/common": "^17.3.8", @@ -36,8 +36,8 @@ "@asymmetrik/ngx-leaflet": "^17.0.0", "@ngx-translate/core": "^14.0.0", "@storybook/addon-a11y": "^8.5.3", - "ag-grid-angular": "^29.0.0", - "ag-grid-community": "^29.0.0", + "ag-grid-angular": "^29.3.0", + "ag-grid-community": "^29.3.0", "jwt-decode": "^3.1.2", "leaflet": "^1.9.4", "leaflet.locatecontrol": "^0.83.1", diff --git a/src/app/admin/components/manage-employers/manage-employers.component.ts b/src/app/admin/components/manage-employers/manage-employers.component.ts index afdd9b5d7..c89075dac 100644 --- a/src/app/admin/components/manage-employers/manage-employers.component.ts +++ b/src/app/admin/components/manage-employers/manage-employers.component.ts @@ -73,7 +73,7 @@ export class ManageEmployersComponent { }, { headerName: 'Fusionner', - field: '_toMergeWith', + // field: '_toMergeWith', singleClickEdit: true, cellEditor: 'agSelectCellEditor', cellEditorParams: (): { values: string[] } => { diff --git a/src/app/admin/components/manage-jobs/manage-jobs.component.ts b/src/app/admin/components/manage-jobs/manage-jobs.component.ts index 7cad15234..5ca686adc 100644 --- a/src/app/admin/components/manage-jobs/manage-jobs.component.ts +++ b/src/app/admin/components/manage-jobs/manage-jobs.component.ts @@ -103,7 +103,7 @@ export class ManageJobsComponent { }, { headerName: 'Fusionner', - field: '_toMergeWith', + // field: '_toMergeWith', cellEditor: 'agSelectCellEditor', singleClickEdit: true, cellEditorParams: (): { values: string[] } => { -- GitLab From 954b5d6c82993152a3ba7bd86a063ac364d38372 Mon Sep 17 00:00:00 2001 From: Pierre Ecarlat <pecarlat@grandlyon.com> Date: Tue, 11 Mar 2025 17:33:05 +0100 Subject: [PATCH 2/7] update to 32 --- package-lock.json | 56 ++++++++++++------- package.json | 6 +- .../manage-employers.component.ts | 2 +- .../manage-jobs/manage-jobs.component.ts | 2 +- .../manage-users/manage-users.component.ts | 6 +- .../admin-structures-list.component.ts | 10 ++-- 6 files changed, 49 insertions(+), 33 deletions(-) diff --git a/package-lock.json b/package-lock.json index 08496c09a..ec93a8c9a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,7 +8,7 @@ "name": "pamn", "version": "3.4.1", "dependencies": { - "@ag-grid-community/csv-export": "^29.3.0", + "@ag-grid-community/csv-export": "^32.2.0", "@angular/animations": "^17.3.8", "@angular/cdk": "^17.3.6", "@angular/common": "^17.3.8", @@ -22,8 +22,8 @@ "@asymmetrik/ngx-leaflet": "^17.0.0", "@ngx-translate/core": "^14.0.0", "@storybook/addon-a11y": "^8.5.3", - "ag-grid-angular": "^29.3.0", - "ag-grid-community": "^29.3.0", + "ag-grid-angular": "^32.2.0", + "ag-grid-community": "^32.2.0", "jwt-decode": "^3.1.2", "leaflet": "^1.9.4", "leaflet.locatecontrol": "^0.83.1", @@ -90,18 +90,23 @@ "dev": true }, "node_modules/@ag-grid-community/core": { - "version": "29.3.5", - "resolved": "https://registry.npmjs.org/@ag-grid-community/core/-/core-29.3.5.tgz", - "integrity": "sha512-r86bOCscnKVtaYyKqlN2UCtfbjf4UcmxHfVuXzJ94iN8Jy3iiQVrbQnbNArnjR589Bt/1VR/m+SdAMsOLcdpag==", - "license": "MIT" + "version": "32.3.4", + "resolved": "https://registry.npmjs.org/@ag-grid-community/core/-/core-32.3.4.tgz", + "integrity": "sha512-g1CJOQuA4uRx1U3VP9SZLnTJBYdMwCTM348FsubdI6anaqxnHv3X0kridq9v1v26qXbl7yytm5X3v1hPcV8wVA==", + "license": "MIT", + "dependencies": { + "ag-charts-types": "10.3.4", + "tslib": "^2.3.0" + } }, "node_modules/@ag-grid-community/csv-export": { - "version": "29.3.5", - "resolved": "https://registry.npmjs.org/@ag-grid-community/csv-export/-/csv-export-29.3.5.tgz", - "integrity": "sha512-8NOAmioHhapqvYdu1QjAzwQH5jihuOlaKk6FpF/8ECvLQePhoIK6rOyhcktOot4ZWo5f8q/4Ph5LGK3oFzdU9g==", + "version": "32.3.4", + "resolved": "https://registry.npmjs.org/@ag-grid-community/csv-export/-/csv-export-32.3.4.tgz", + "integrity": "sha512-LNVes/iz7y6F3Rbo1kcv/1WbvGTOp5QABPqvkqVEkQd6Fmj7gCkLYjfZ8HVRdcS+IssQq8v0ZLAi/qStC1zAaw==", "license": "MIT", "dependencies": { - "@ag-grid-community/core": "~29.3.5" + "@ag-grid-community/core": "32.3.4", + "tslib": "^2.3.0" } }, "node_modules/@ampproject/remapping": { @@ -7611,25 +7616,34 @@ "node": ">=8.9.0" } }, + "node_modules/ag-charts-types": { + "version": "10.3.4", + "resolved": "https://registry.npmjs.org/ag-charts-types/-/ag-charts-types-10.3.4.tgz", + "integrity": "sha512-MU+3gvKn1jEyLlMHS0Vu0nHmIQxiVJAnA6ftUatLZvV0c7hOWap4VWghqZ0cVZUJsCdMI59Iuq1u3xquKv4LOQ==", + "license": "MIT" + }, "node_modules/ag-grid-angular": { - "version": "29.3.5", - "resolved": "https://registry.npmjs.org/ag-grid-angular/-/ag-grid-angular-29.3.5.tgz", - "integrity": "sha512-UWDZvDSrS9Z+LFZ1G0HFOeamITD8kEHgO9eooJV4DxSmYoBGMGruLZV1QIPhjQwBVe8ib5TWw3Q1erSf/bcVSw==", + "version": "32.3.4", + "resolved": "https://registry.npmjs.org/ag-grid-angular/-/ag-grid-angular-32.3.4.tgz", + "integrity": "sha512-47dzr7UEmZ+PTQOY2gYgO/IvcF9CN0EWrA0Uii834/oLRz7B1ubS6jvAA10KOuTk/botwf///KqKnmi848Wgbw==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" }, "peerDependencies": { - "@angular/common": ">= 12.0.0", - "@angular/core": ">= 12.0.0", - "ag-grid-community": "~29.3.5" + "@angular/common": ">= 16.0.0", + "@angular/core": ">= 16.0.0", + "ag-grid-community": "32.3.4" } }, "node_modules/ag-grid-community": { - "version": "29.3.5", - "resolved": "https://registry.npmjs.org/ag-grid-community/-/ag-grid-community-29.3.5.tgz", - "integrity": "sha512-LxUo21f2/CH31ACEs1C7Q/ggGGI1fQPSTB4aY5OThmM+lBkygZ7QszBE8jpfgWOIjvjdtcdIeQbmbjkHeMsA7A==", - "license": "MIT" + "version": "32.3.4", + "resolved": "https://registry.npmjs.org/ag-grid-community/-/ag-grid-community-32.3.4.tgz", + "integrity": "sha512-iYQYFapKkqtCml1BvIX/nyNO6SvZYe/Z/1hLa7/7Dpzj2uqABJZIPGgW/ZTOc+/YiM9JYJWMkD7c+5E23GzkAw==", + "license": "MIT", + "dependencies": { + "ag-charts-types": "10.3.4" + } }, "node_modules/agent-base": { "version": "7.1.1", diff --git a/package.json b/package.json index e8040b181..cd43b4744 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "npm": "^10.2.0" }, "dependencies": { - "@ag-grid-community/csv-export": "^29.3.0", + "@ag-grid-community/csv-export": "^32.2.0", "@angular/animations": "^17.3.8", "@angular/cdk": "^17.3.6", "@angular/common": "^17.3.8", @@ -36,8 +36,8 @@ "@asymmetrik/ngx-leaflet": "^17.0.0", "@ngx-translate/core": "^14.0.0", "@storybook/addon-a11y": "^8.5.3", - "ag-grid-angular": "^29.3.0", - "ag-grid-community": "^29.3.0", + "ag-grid-angular": "^32.2.0", + "ag-grid-community": "^32.2.0", "jwt-decode": "^3.1.2", "leaflet": "^1.9.4", "leaflet.locatecontrol": "^0.83.1", diff --git a/src/app/admin/components/manage-employers/manage-employers.component.ts b/src/app/admin/components/manage-employers/manage-employers.component.ts index c89075dac..e646a82d6 100644 --- a/src/app/admin/components/manage-employers/manage-employers.component.ts +++ b/src/app/admin/components/manage-employers/manage-employers.component.ts @@ -73,7 +73,7 @@ export class ManageEmployersComponent { }, { headerName: 'Fusionner', - // field: '_toMergeWith', + field: '_toMergeWith' as any, singleClickEdit: true, cellEditor: 'agSelectCellEditor', cellEditorParams: (): { values: string[] } => { diff --git a/src/app/admin/components/manage-jobs/manage-jobs.component.ts b/src/app/admin/components/manage-jobs/manage-jobs.component.ts index 5ca686adc..32dff02b5 100644 --- a/src/app/admin/components/manage-jobs/manage-jobs.component.ts +++ b/src/app/admin/components/manage-jobs/manage-jobs.component.ts @@ -103,7 +103,7 @@ export class ManageJobsComponent { }, { headerName: 'Fusionner', - // field: '_toMergeWith', + field: '_toMergeWith' as any, cellEditor: 'agSelectCellEditor', singleClickEdit: true, cellEditorParams: (): { values: string[] } => { diff --git a/src/app/admin/components/manage-users/manage-users.component.ts b/src/app/admin/components/manage-users/manage-users.component.ts index cd3b2f7b1..de2b9d022 100644 --- a/src/app/admin/components/manage-users/manage-users.component.ts +++ b/src/app/admin/components/manage-users/manage-users.component.ts @@ -121,7 +121,7 @@ export class ManageUsersComponent { structures: 'structures', }, minWidth: 350, - field: 'structures', + field: 'structures' as any, }, { headerName: 'Fonction', @@ -210,7 +210,7 @@ export class ManageUsersComponent { { minWidth: 200, headerName: 'Structure(s)', - field: 'structures', + field: 'structures' as any, valueGetter: this.getStructureNames.bind(this), cellRenderer: 'agGroupCellRenderer', autoHeight: true, @@ -240,7 +240,7 @@ export class ManageUsersComponent { this.columnDefsUnattached.splice(this.columnDefsUnattached.length - 1, 0, { headerName: 'Non rattaché depuis', - field: 'unattachedSince', + field: 'unattachedSince' as any, minWidth: 180, valueGetter: this.dateValueGetter, valueFormatter: this.dateValueFormatter, diff --git a/src/app/admin/components/structures-list/admin-structures-list.component.ts b/src/app/admin/components/structures-list/admin-structures-list.component.ts index 52ff04234..a25a5c340 100644 --- a/src/app/admin/components/structures-list/admin-structures-list.component.ts +++ b/src/app/admin/components/structures-list/admin-structures-list.component.ts @@ -88,7 +88,7 @@ export class AdminStructuresListComponent implements OnInit { }, { headerName: 'Mettre à jour la date', - field: 'updateDateButton', + field: 'updateDateButton' as any, cellRenderer: ButtonCellRendererComponent, cellRendererParams: { label: 'Update', type: 'default' } as ButtonCellRendererParams, flex: 1, @@ -97,7 +97,7 @@ export class AdminStructuresListComponent implements OnInit { }, { headerName: 'Commentaire', - field: 'comment', + field: 'comment' as any, flex: 1, editable: true, cellEditor: 'agLargeTextCellEditor', @@ -187,7 +187,8 @@ export class AdminStructuresListComponent implements OnInit { private handleReminder(params: ICellRendererParams): void { this.adminService.updateLastUpdateMail(params.data.structureId).subscribe({ next: () => { - params.api.getRowNode(String(params.rowIndex)).setDataValue('lastUpdateMail', new Date()); + // params.api.getRowNode(String(params.rowIndex)).setDataValue('lastUpdateMail', new Date()); + params.node.setDataValue('lastUpdateMail', new Date()); this.notificationService.showSuccess('Relance effectuée'); }, error: (error) => { @@ -200,7 +201,8 @@ export class AdminStructuresListComponent implements OnInit { private handleUpdatedAt(params: ICellRendererParams): void { this.adminService.touchStructure(params.data.structureId).subscribe({ next: () => { - const rowNode = params.api.getRowNode(String(params.rowIndex)); + // const rowNode = params.api.getRowNode(String(params.rowIndex)); + const rowNode = params.node; rowNode.setDataValue('updatedAt', new Date()); params.data.isOutdated = false; params.api.redrawRows({ -- GitLab From ee173c4e04c83ac0d0da5a536b03fb64f89dcc5f Mon Sep 17 00:00:00 2001 From: Pierre Ecarlat <pecarlat@grandlyon.com> Date: Wed, 12 Mar 2025 14:55:21 +0100 Subject: [PATCH 3/7] fixed update to 32 --- .../manage-users/manage-users.component.ts | 21 +++++++------------ .../admin-structures-list.component.ts | 10 ++++----- src/app/models/user.model.ts | 1 + 3 files changed, 13 insertions(+), 19 deletions(-) diff --git a/src/app/admin/components/manage-users/manage-users.component.ts b/src/app/admin/components/manage-users/manage-users.component.ts index de2b9d022..a8fbae0d6 100644 --- a/src/app/admin/components/manage-users/manage-users.component.ts +++ b/src/app/admin/components/manage-users/manage-users.component.ts @@ -121,7 +121,7 @@ export class ManageUsersComponent { structures: 'structures', }, minWidth: 350, - field: 'structures' as any, + editable: false, }, { headerName: 'Fonction', @@ -208,12 +208,12 @@ export class ManageUsersComponent { field: 'email', }, { - minWidth: 200, headerName: 'Structure(s)', - field: 'structures' as any, - valueGetter: this.getStructureNames.bind(this), cellRenderer: 'agGroupCellRenderer', + minWidth: 200, autoHeight: true, + valueGetter: (params) => params.data.structuresLink, + editable: false, }, { minWidth: 50, @@ -240,11 +240,12 @@ export class ManageUsersComponent { this.columnDefsUnattached.splice(this.columnDefsUnattached.length - 1, 0, { headerName: 'Non rattaché depuis', - field: 'unattachedSince' as any, + field: 'unattachedSince', minWidth: 180, valueGetter: this.dateValueGetter, valueFormatter: this.dateValueFormatter, comparator: this.dateComparator, + editable: false, }); this.components = { deleteUserComponent: DeleteUserComponent, @@ -257,15 +258,6 @@ export class ManageUsersComponent { this.findTempUsers(); } - private getStructureNames(params): string { - const structuresLink = params.data?.structuresLink; - if (!structuresLink || structuresLink.length === 0) { - return ''; - } - const structureNames = structuresLink.map((structure) => (structure as Structure)?.structureName); - return structureNames.join('\n'); - } - public onDeleteButtonClick(arg): void { this.deleteUser(arg.data, false); } @@ -447,6 +439,7 @@ export class ManageUsersComponent { } public findTempUsers(): void { + // TODO: Change server side so it returns structureNames instead of ids this.tempUserService.getAllTempUsers().subscribe((data) => { this.tempUsers = data; }); diff --git a/src/app/admin/components/structures-list/admin-structures-list.component.ts b/src/app/admin/components/structures-list/admin-structures-list.component.ts index a25a5c340..850b60e1e 100644 --- a/src/app/admin/components/structures-list/admin-structures-list.component.ts +++ b/src/app/admin/components/structures-list/admin-structures-list.component.ts @@ -187,8 +187,9 @@ export class AdminStructuresListComponent implements OnInit { private handleReminder(params: ICellRendererParams): void { this.adminService.updateLastUpdateMail(params.data.structureId).subscribe({ next: () => { - // params.api.getRowNode(String(params.rowIndex)).setDataValue('lastUpdateMail', new Date()); - params.node.setDataValue('lastUpdateMail', new Date()); + const rowNode = params.node; + const updatedData = { ...params.data, lastUpdateMail: new Date() }; + rowNode.setData(updatedData); this.notificationService.showSuccess('Relance effectuée'); }, error: (error) => { @@ -201,10 +202,9 @@ export class AdminStructuresListComponent implements OnInit { private handleUpdatedAt(params: ICellRendererParams): void { this.adminService.touchStructure(params.data.structureId).subscribe({ next: () => { - // const rowNode = params.api.getRowNode(String(params.rowIndex)); const rowNode = params.node; - rowNode.setDataValue('updatedAt', new Date()); - params.data.isOutdated = false; + const updatedData = { ...params.data, updatedAt: new Date(), isOutdated: false }; + rowNode.setData(updatedData); params.api.redrawRows({ rowNodes: [rowNode], }); diff --git a/src/app/models/user.model.ts b/src/app/models/user.model.ts index 3f7b18292..546cf6cee 100644 --- a/src/app/models/user.model.ts +++ b/src/app/models/user.model.ts @@ -28,6 +28,7 @@ export class User { avatar?: string; withAppointment?: boolean; lastLoginDate?: Date; + unattachedSince?: Date; constructor(obj?: any) { Object.assign(this, obj); this.surname = this.surname.toUpperCase(); -- GitLab From 6ffb94e1cc80c4c755a2e6df15a24a96ec40177c Mon Sep 17 00:00:00 2001 From: Pierre Ecarlat <pecarlat@grandlyon.com> Date: Wed, 12 Mar 2025 15:44:28 +0100 Subject: [PATCH 4/7] wip --- package-lock.json | 32 +++++++++++-------- package.json | 6 ++-- .../espace-coop-cnfs.component.html | 4 +-- .../espace-coop-cnfs.component.ts | 3 ++ 4 files changed, 27 insertions(+), 18 deletions(-) diff --git a/package-lock.json b/package-lock.json index ec93a8c9a..6e428b9d3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,7 +8,7 @@ "name": "pamn", "version": "3.4.1", "dependencies": { - "@ag-grid-community/csv-export": "^32.2.0", + "@ag-grid-community/csv-export": "^32.3.4", "@angular/animations": "^17.3.8", "@angular/cdk": "^17.3.6", "@angular/common": "^17.3.8", @@ -22,8 +22,8 @@ "@asymmetrik/ngx-leaflet": "^17.0.0", "@ngx-translate/core": "^14.0.0", "@storybook/addon-a11y": "^8.5.3", - "ag-grid-angular": "^32.2.0", - "ag-grid-community": "^32.2.0", + "ag-grid-angular": "^33.1.1", + "ag-grid-community": "^33.1.1", "jwt-decode": "^3.1.2", "leaflet": "^1.9.4", "leaflet.locatecontrol": "^0.83.1", @@ -7623,28 +7623,34 @@ "license": "MIT" }, "node_modules/ag-grid-angular": { - "version": "32.3.4", - "resolved": "https://registry.npmjs.org/ag-grid-angular/-/ag-grid-angular-32.3.4.tgz", - "integrity": "sha512-47dzr7UEmZ+PTQOY2gYgO/IvcF9CN0EWrA0Uii834/oLRz7B1ubS6jvAA10KOuTk/botwf///KqKnmi848Wgbw==", + "version": "33.1.1", + "resolved": "https://registry.npmjs.org/ag-grid-angular/-/ag-grid-angular-33.1.1.tgz", + "integrity": "sha512-6U0oM4ofcXB1q318dYkWnsFuz6Ne2aKZ9E8A+6IPsx5/9UaF9VlBaA2hIlKXDf2O1JPdoO6gnkm81OAyVu81wQ==", "license": "MIT", "dependencies": { + "ag-grid-community": "33.1.1", "tslib": "^2.3.0" }, "peerDependencies": { - "@angular/common": ">= 16.0.0", - "@angular/core": ">= 16.0.0", - "ag-grid-community": "32.3.4" + "@angular/common": ">= 17.0.0", + "@angular/core": ">= 17.0.0" } }, "node_modules/ag-grid-community": { - "version": "32.3.4", - "resolved": "https://registry.npmjs.org/ag-grid-community/-/ag-grid-community-32.3.4.tgz", - "integrity": "sha512-iYQYFapKkqtCml1BvIX/nyNO6SvZYe/Z/1hLa7/7Dpzj2uqABJZIPGgW/ZTOc+/YiM9JYJWMkD7c+5E23GzkAw==", + "version": "33.1.1", + "resolved": "https://registry.npmjs.org/ag-grid-community/-/ag-grid-community-33.1.1.tgz", + "integrity": "sha512-CNubIro0ipj4nfQ5WJPG9Isp7UI6MMDvNzrPdHNf3W+IoM8Uv3RUhjEn7xQqpQHuu6o/tMjrqpacipMUkhzqnw==", "license": "MIT", "dependencies": { - "ag-charts-types": "10.3.4" + "ag-charts-types": "11.1.1" } }, + "node_modules/ag-grid-community/node_modules/ag-charts-types": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/ag-charts-types/-/ag-charts-types-11.1.1.tgz", + "integrity": "sha512-bRmUcf5VVhEEekhX8Vk0NSwa8Te8YM/zchjyYKR2CX4vDYiwoohM1Jg9RFvbIhVbLC1S6QrPEbx5v2C6RDfpSA==", + "license": "MIT" + }, "node_modules/agent-base": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", diff --git a/package.json b/package.json index cd43b4744..0acfff6e4 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "npm": "^10.2.0" }, "dependencies": { - "@ag-grid-community/csv-export": "^32.2.0", + "@ag-grid-community/csv-export": "^32.3.4", "@angular/animations": "^17.3.8", "@angular/cdk": "^17.3.6", "@angular/common": "^17.3.8", @@ -36,8 +36,8 @@ "@asymmetrik/ngx-leaflet": "^17.0.0", "@ngx-translate/core": "^14.0.0", "@storybook/addon-a11y": "^8.5.3", - "ag-grid-angular": "^32.2.0", - "ag-grid-community": "^32.2.0", + "ag-grid-angular": "^33.1.1", + "ag-grid-community": "^33.1.1", "jwt-decode": "^3.1.2", "leaflet": "^1.9.4", "leaflet.locatecontrol": "^0.83.1", diff --git a/src/app/admin/components/espace-coop-cnfs/espace-coop-cnfs.component.html b/src/app/admin/components/espace-coop-cnfs/espace-coop-cnfs.component.html index 0a41926ad..a99877f58 100644 --- a/src/app/admin/components/espace-coop-cnfs/espace-coop-cnfs.component.html +++ b/src/app/admin/components/espace-coop-cnfs/espace-coop-cnfs.component.html @@ -4,12 +4,12 @@ <ag-grid-angular *ngIf="unregisteredCNFS.length" class="ag-theme-alpine user-table" - rowSelection="multiple" domLayout="autoHeight" style="width: 100%" [rowData]="unregisteredCNFS" [columnDefs]="unregisteredColumnDefs" [getRowHeight]="getRowHeight" + [gridOptions]="gridOptions" /> <p *ngIf="!unregisteredCNFS.length">Tous les CNFS dans Espace Coop ont un compte Rés'in</p> @@ -17,11 +17,11 @@ <ag-grid-angular *ngIf="cnfsNotInEspaceCoop.length" class="ag-theme-alpine user-table" - rowSelection="multiple" domLayout="autoHeight" style="width: 100%" [rowData]="cnfsNotInEspaceCoop" [columnDefs]="notInEspaceCoopColumnDefs" + [gridOptions]="gridOptions" /> <p *ngIf="!cnfsNotInEspaceCoop.length">Tous les CNFS dans Rés'in sont présents dans Espace Coop</p> </div> diff --git a/src/app/admin/components/espace-coop-cnfs/espace-coop-cnfs.component.ts b/src/app/admin/components/espace-coop-cnfs/espace-coop-cnfs.component.ts index 33000db2b..d4ab9b4c1 100644 --- a/src/app/admin/components/espace-coop-cnfs/espace-coop-cnfs.component.ts +++ b/src/app/admin/components/espace-coop-cnfs/espace-coop-cnfs.component.ts @@ -69,6 +69,9 @@ export class EspaceCoopCNFSComponent implements OnInit { field: 'phone', }, ]; + public gridOptions = { + rowSelection: 'multiple', + }; public getRowHeight(params: { data: EspaceCoopCNFS }): number { const structures = params.data.structures || []; -- GitLab From a723ce0a1ebc102a0b14daffb68570150efa3b3d Mon Sep 17 00:00:00 2001 From: Pierre Ecarlat <pecarlat@grandlyon.com> Date: Wed, 12 Mar 2025 15:45:24 +0100 Subject: [PATCH 5/7] wip --- .../components/espace-coop-cnfs/espace-coop-cnfs.component.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/admin/components/espace-coop-cnfs/espace-coop-cnfs.component.ts b/src/app/admin/components/espace-coop-cnfs/espace-coop-cnfs.component.ts index d4ab9b4c1..ec9ca2266 100644 --- a/src/app/admin/components/espace-coop-cnfs/espace-coop-cnfs.component.ts +++ b/src/app/admin/components/espace-coop-cnfs/espace-coop-cnfs.component.ts @@ -70,7 +70,7 @@ export class EspaceCoopCNFSComponent implements OnInit { }, ]; public gridOptions = { - rowSelection: 'multiple', + rowSelection: { type: 'multiple' }, }; public getRowHeight(params: { data: EspaceCoopCNFS }): number { -- GitLab From 6d5e4ef74f47101b93e9a5b1344672c75237f661 Mon Sep 17 00:00:00 2001 From: Pierre Ecarlat <pecarlat@grandlyon.com> Date: Wed, 12 Mar 2025 16:12:45 +0100 Subject: [PATCH 6/7] register all modules --- src/app/admin/admin.module.ts | 5 +++++ .../espace-coop-cnfs/espace-coop-cnfs.component.html | 4 ++-- .../espace-coop-cnfs/espace-coop-cnfs.component.ts | 3 --- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/app/admin/admin.module.ts b/src/app/admin/admin.module.ts index e7a208a54..5a470702f 100644 --- a/src/app/admin/admin.module.ts +++ b/src/app/admin/admin.module.ts @@ -1,6 +1,7 @@ import { CommonModule } from '@angular/common'; import { NgModule } from '@angular/core'; import { AgGridModule } from 'ag-grid-angular'; +import { AllCommunityModule, ModuleRegistry, provideGlobalGridOptions } from 'ag-grid-community'; import { SharedModule } from '../shared/shared.module'; import { AdminRoutingModule } from './admin-routing.module'; import { AdminHeaderComponent } from './components/admin-header/admin-header.component'; @@ -24,6 +25,10 @@ import { DeleteUserComponent } from './components/manage-users/delete-user/delet import { ManageUsersComponent } from './components/manage-users/manage-users.component'; import { AdminStructuresListComponent } from './components/structures-list/admin-structures-list.component'; +// Since version 33.0 of ag-grid, the modules need to be registered in order to keep the legacy behavior +ModuleRegistry.registerModules([AllCommunityModule]); +provideGlobalGridOptions({ theme: 'legacy' }); + @NgModule({ declarations: [ ClaimStructureComponent, diff --git a/src/app/admin/components/espace-coop-cnfs/espace-coop-cnfs.component.html b/src/app/admin/components/espace-coop-cnfs/espace-coop-cnfs.component.html index a99877f58..0a41926ad 100644 --- a/src/app/admin/components/espace-coop-cnfs/espace-coop-cnfs.component.html +++ b/src/app/admin/components/espace-coop-cnfs/espace-coop-cnfs.component.html @@ -4,12 +4,12 @@ <ag-grid-angular *ngIf="unregisteredCNFS.length" class="ag-theme-alpine user-table" + rowSelection="multiple" domLayout="autoHeight" style="width: 100%" [rowData]="unregisteredCNFS" [columnDefs]="unregisteredColumnDefs" [getRowHeight]="getRowHeight" - [gridOptions]="gridOptions" /> <p *ngIf="!unregisteredCNFS.length">Tous les CNFS dans Espace Coop ont un compte Rés'in</p> @@ -17,11 +17,11 @@ <ag-grid-angular *ngIf="cnfsNotInEspaceCoop.length" class="ag-theme-alpine user-table" + rowSelection="multiple" domLayout="autoHeight" style="width: 100%" [rowData]="cnfsNotInEspaceCoop" [columnDefs]="notInEspaceCoopColumnDefs" - [gridOptions]="gridOptions" /> <p *ngIf="!cnfsNotInEspaceCoop.length">Tous les CNFS dans Rés'in sont présents dans Espace Coop</p> </div> diff --git a/src/app/admin/components/espace-coop-cnfs/espace-coop-cnfs.component.ts b/src/app/admin/components/espace-coop-cnfs/espace-coop-cnfs.component.ts index ec9ca2266..33000db2b 100644 --- a/src/app/admin/components/espace-coop-cnfs/espace-coop-cnfs.component.ts +++ b/src/app/admin/components/espace-coop-cnfs/espace-coop-cnfs.component.ts @@ -69,9 +69,6 @@ export class EspaceCoopCNFSComponent implements OnInit { field: 'phone', }, ]; - public gridOptions = { - rowSelection: { type: 'multiple' }, - }; public getRowHeight(params: { data: EspaceCoopCNFS }): number { const structures = params.data.structures || []; -- GitLab From 75ebd561dce988a89ebd9588a44e05a979472fd7 Mon Sep 17 00:00:00 2001 From: Pierre Ecarlat <pecarlat@grandlyon.com> Date: Wed, 12 Mar 2025 16:35:42 +0100 Subject: [PATCH 7/7] removed incorrect cellRenderer --- .../admin/components/manage-users/manage-users.component.ts | 3 +-- src/app/models/user.model.ts | 1 - 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/src/app/admin/components/manage-users/manage-users.component.ts b/src/app/admin/components/manage-users/manage-users.component.ts index a8fbae0d6..3992db61c 100644 --- a/src/app/admin/components/manage-users/manage-users.component.ts +++ b/src/app/admin/components/manage-users/manage-users.component.ts @@ -209,7 +209,6 @@ export class ManageUsersComponent { }, { headerName: 'Structure(s)', - cellRenderer: 'agGroupCellRenderer', minWidth: 200, autoHeight: true, valueGetter: (params) => params.data.structuresLink, @@ -240,7 +239,7 @@ export class ManageUsersComponent { this.columnDefsUnattached.splice(this.columnDefsUnattached.length - 1, 0, { headerName: 'Non rattaché depuis', - field: 'unattachedSince', + field: 'unattachedSince' as any, minWidth: 180, valueGetter: this.dateValueGetter, valueFormatter: this.dateValueFormatter, diff --git a/src/app/models/user.model.ts b/src/app/models/user.model.ts index 546cf6cee..3f7b18292 100644 --- a/src/app/models/user.model.ts +++ b/src/app/models/user.model.ts @@ -28,7 +28,6 @@ export class User { avatar?: string; withAppointment?: boolean; lastLoginDate?: Date; - unattachedSince?: Date; constructor(obj?: any) { Object.assign(this, obj); this.surname = this.surname.toUpperCase(); -- GitLab