From d34009c6b3c9a72a556a97565ac0309abeb34e26 Mon Sep 17 00:00:00 2001 From: "use-tusk[bot]" <144006087+use-tusk[bot]@users.noreply.github.com> Date: Wed, 9 Oct 2024 15:12:15 +0000 Subject: [PATCH] fix(merge-dialog): display '-' for unknown joined date --- .../suggestions/member-merge-suggestions-details.vue | 9 ++++++++- frontend/src/modules/member/member-model.js | 10 +++++++++- frontend/src/shared/fields/date-time-field.js | 7 +++++++ 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/frontend/src/modules/member/components/suggestions/member-merge-suggestions-details.vue b/frontend/src/modules/member/components/suggestions/member-merge-suggestions-details.vue index 257f92ccbf..b1c0985561 100644 --- a/frontend/src/modules/member/components/suggestions/member-merge-suggestions-details.vue +++ b/frontend/src/modules/member/components/suggestions/member-merge-suggestions-details.vue @@ -224,7 +224,7 @@ Joined date

- {{ moment(member.joinedAt).format('YYYY-MM-DD') }} + {{ formatJoinedDate(member.joinedAt) }}

{ }, 0); }); +const formatJoinedDate = (date) => { + if (!date || new Date(date).getFullYear() <= 1970) { + return '-'; + } + return moment(date).format('YYYY-MM-DD'); +}; + defineExpose({ more, }); diff --git a/frontend/src/modules/member/member-model.js b/frontend/src/modules/member/member-model.js index 061a8614c6..d4f61dbc93 100644 --- a/frontend/src/modules/member/member-model.js +++ b/frontend/src/modules/member/member-model.js @@ -48,7 +48,15 @@ const fields = { 'organizations', 'Organizations', ), - joinedAt: new DateTimeField('joinedAt', 'Joined date'), + joinedAt: new DateTimeField('joinedAt', 'Joined date', { + filterable: true, + formatter: (value) => { + if (!value || new Date(value).getFullYear() <= 1970) { + return '-'; + } + return moment(value).format('YYYY-MM-DD'); + }, + }), bio: new StringField('bio', label('bio')), location: new StringField( 'location', diff --git a/frontend/src/shared/fields/date-time-field.js b/frontend/src/shared/fields/date-time-field.js index deb8a0561a..fb662e6e9d 100644 --- a/frontend/src/shared/fields/date-time-field.js +++ b/frontend/src/shared/fields/date-time-field.js @@ -11,15 +11,22 @@ export default class DateTimeField extends GenericField { this.placeholder = config.placeholder; this.hint = config.hint; this.filterable = config.filterable || false; + this.formatter = config.formatter || null; } forPresenter(value) { + if (this.formatter) { + return this.formatter(value); + } return value ? moment(value).format('YYYY-MM-DD HH:mm') : null; } forFilterPreview(value) { + if (this.formatter) { + return this.formatter(value); + } return value ? moment(value).format('YYYY-MM-DD HH:mm') : null;