From 764965305a94c821f6ce2bdc7406293f43f87314 Mon Sep 17 00:00:00 2001 From: Marco Hamann Date: Wed, 10 Dec 2025 10:29:10 +0100 Subject: [PATCH 1/3] add custom formatter to use for objects in auditlog --- .../ItemVersionHistory/ItemVersionHistory.js | 11 ++++++++++- src/edit/items/ItemForm.test.js | 6 +++--- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/Item/ViewItem/components/ItemVersionHistory/ItemVersionHistory.js b/src/Item/ViewItem/components/ItemVersionHistory/ItemVersionHistory.js index f77209f80..33d2aa6d5 100644 --- a/src/Item/ViewItem/components/ItemVersionHistory/ItemVersionHistory.js +++ b/src/Item/ViewItem/components/ItemVersionHistory/ItemVersionHistory.js @@ -137,10 +137,18 @@ const ItemVersionHistory = ({ typeId: formatMessage({ id: 'ui-inventory.callNumberType' }), volume: formatMessage({ id: 'ui-inventory.volume' }), yearCaption: formatMessage({ id: 'ui-inventory.yearCaption' }), + additionalCallNumbers: formatMessage({ id: 'ui-inventory.additionalItemCallNumbers' }), }; const fieldFormatter = createFieldFormatter(referenceData, circulationHistory); - + const itemFormatter = (field, i) => { + return ( +
  • + {field.label && {field.label}:} + {fieldFormatter?.[field.name]?.(field.value) || field.value} +
  • + ); + }; return ( diff --git a/src/edit/items/ItemForm.test.js b/src/edit/items/ItemForm.test.js index f821c680e..5967a0716 100644 --- a/src/edit/items/ItemForm.test.js +++ b/src/edit/items/ItemForm.test.js @@ -291,9 +291,9 @@ describe('ItemForm', () => { 'itemLevelCallNumberTypeId': { value: '2' }, 'additionalCallNumbers': { value: [{ - callNumber: 'cn1', - prefix: 'prefix1', - suffix: 'suffix1', + additionalCallNumber: 'cn1', + additionalCallNumberPrefix: 'prefix1', + additionalCallNumberSuffix: 'suffix1', typeId: '1' }] } From d900e649537468ece2906d4a1fa65dffe8293279 Mon Sep 17 00:00:00 2001 From: Marco Hamann Date: Thu, 11 Dec 2025 15:52:30 +0100 Subject: [PATCH 2/3] adjust itemFormatter, add translation strings --- .../ItemVersionHistory/ItemVersionHistory.js | 43 ++++++++++++++++--- translations/ui-inventory/en.json | 9 +++- 2 files changed, 44 insertions(+), 8 deletions(-) diff --git a/src/Item/ViewItem/components/ItemVersionHistory/ItemVersionHistory.js b/src/Item/ViewItem/components/ItemVersionHistory/ItemVersionHistory.js index 33d2aa6d5..afbd2f361 100644 --- a/src/Item/ViewItem/components/ItemVersionHistory/ItemVersionHistory.js +++ b/src/Item/ViewItem/components/ItemVersionHistory/ItemVersionHistory.js @@ -127,28 +127,57 @@ const ItemVersionHistory = ({ numberOfPieces: formatMessage({ id: 'ui-inventory.numberOfPieces' }), permanentLoanTypeId: formatMessage({ id: 'ui-inventory.permanentLoantype' }), permanentLocationId: formatMessage({ id: 'ui-inventory.permanentLocation' }), - prefix: formatMessage({ id: 'ui-inventory.callNumberPrefix' }), + prefix: formatMessage({ id: 'ui-inventory.effectiveCallNumberPrefix' }), servicePointId: formatMessage({ id: 'ui-inventory.servicePoint' }), staffMemberId: formatMessage({ id: 'ui-inventory.source' }), statisticalCodeIds: formatMessage({ id: 'ui-inventory.statisticalCodes' }), - suffix: formatMessage({ id: 'ui-inventory.callNumberSuffix' }), + suffix: formatMessage({ id: 'ui-inventory.effectiveCallNumberSuffix' }), temporaryLoanTypeId: formatMessage({ id: 'ui-inventory.temporaryLoantype' }), temporaryLocationId: formatMessage({ id: 'ui-inventory.temporaryLocation' }), - typeId: formatMessage({ id: 'ui-inventory.callNumberType' }), + typeId: formatMessage({ id: 'ui-inventory.effectiveCallNumberType' }), volume: formatMessage({ id: 'ui-inventory.volume' }), yearCaption: formatMessage({ id: 'ui-inventory.yearCaption' }), - additionalCallNumbers: formatMessage({ id: 'ui-inventory.additionalItemCallNumbers' }), + additionalCallNumbers: formatMessage({ id: 'ui-inventory.additionalCallNumbers' }), + 'additionalCallNumbers.prefix': formatMessage({ id: 'ui-inventory.additionalCallNumberPrefix' }), + 'additionalCallNumbers.suffix': formatMessage({ id: 'ui-inventory.additionalCallNumberSuffix' }), + 'additionalCallNumbers.typeId': formatMessage({ id: 'ui-inventory.additionalCallNumberType' }), + 'additionalCallNumbers.callNumber': formatMessage({ id: 'ui-inventory.additionalCallNumber' }), + 'circulationNotes.noteType': formatMessage({ id: 'ui-inventory.noteType' }), + 'circulationNotes.note': formatMessage({ id: 'ui-inventory.note' }), + 'circulationNotes.id': formatMessage({ id: 'ui-inventory.identifier' }), + 'circulationNotes.date': formatMessage({ id: 'ui-inventory.date' }), + 'circulationNotes.staffOnly': formatMessage({ id: 'ui-inventory.staffOnly' }), + 'circulationNotes.source': formatMessage({ id: 'ui-inventory.source' }), }; const fieldFormatter = createFieldFormatter(referenceData, circulationHistory); - const itemFormatter = (field, i) => { + + const itemFormatter = (item, i) => { + if (!item) return null; + + const { name: fieldName, value, collectionName } = item; + console.log('itemFormatter item:', item); + const compositeKey = collectionName && fieldName + ? `${collectionName}.${fieldName}` + : null; + + const label = (compositeKey && fieldLabelsMap?.[compositeKey]) + || fieldLabelsMap?.[fieldName] + || fieldLabelsMap?.[collectionName]; + + const formattedValue = (compositeKey && fieldFormatter?.[compositeKey]?.(value)) + || fieldFormatter?.[fieldName]?.(value) + || fieldFormatter?.[collectionName]?.(value) + || value; + return (
  • - {field.label && {field.label}:} - {fieldFormatter?.[field.name]?.(field.value) || field.value} + {fieldName && {label}: } + {formattedValue}
  • ); }; + return ( Date: Thu, 11 Dec 2025 17:06:49 +0100 Subject: [PATCH 3/3] remove changes to effectiveCallNumber --- .../components/ItemVersionHistory/ItemVersionHistory.js | 7 +++---- translations/ui-inventory/en.json | 3 --- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/src/Item/ViewItem/components/ItemVersionHistory/ItemVersionHistory.js b/src/Item/ViewItem/components/ItemVersionHistory/ItemVersionHistory.js index afbd2f361..40a100d66 100644 --- a/src/Item/ViewItem/components/ItemVersionHistory/ItemVersionHistory.js +++ b/src/Item/ViewItem/components/ItemVersionHistory/ItemVersionHistory.js @@ -127,14 +127,14 @@ const ItemVersionHistory = ({ numberOfPieces: formatMessage({ id: 'ui-inventory.numberOfPieces' }), permanentLoanTypeId: formatMessage({ id: 'ui-inventory.permanentLoantype' }), permanentLocationId: formatMessage({ id: 'ui-inventory.permanentLocation' }), - prefix: formatMessage({ id: 'ui-inventory.effectiveCallNumberPrefix' }), + prefix: formatMessage({ id: 'ui-inventory.callNumberPrefix' }), servicePointId: formatMessage({ id: 'ui-inventory.servicePoint' }), staffMemberId: formatMessage({ id: 'ui-inventory.source' }), statisticalCodeIds: formatMessage({ id: 'ui-inventory.statisticalCodes' }), - suffix: formatMessage({ id: 'ui-inventory.effectiveCallNumberSuffix' }), + suffix: formatMessage({ id: 'ui-inventory.callNumberSuffix' }), temporaryLoanTypeId: formatMessage({ id: 'ui-inventory.temporaryLoantype' }), temporaryLocationId: formatMessage({ id: 'ui-inventory.temporaryLocation' }), - typeId: formatMessage({ id: 'ui-inventory.effectiveCallNumberType' }), + typeId: formatMessage({ id: 'ui-inventory.callNumberType' }), volume: formatMessage({ id: 'ui-inventory.volume' }), yearCaption: formatMessage({ id: 'ui-inventory.yearCaption' }), additionalCallNumbers: formatMessage({ id: 'ui-inventory.additionalCallNumbers' }), @@ -156,7 +156,6 @@ const ItemVersionHistory = ({ if (!item) return null; const { name: fieldName, value, collectionName } = item; - console.log('itemFormatter item:', item); const compositeKey = collectionName && fieldName ? `${collectionName}.${fieldName}` : null; diff --git a/translations/ui-inventory/en.json b/translations/ui-inventory/en.json index 8bd9c675b..374287ba0 100644 --- a/translations/ui-inventory/en.json +++ b/translations/ui-inventory/en.json @@ -165,9 +165,6 @@ "effectiveLocationHoldings": "Effective location for holdings", "effectiveLocationShort": "Effective location", "effectiveCallNumber": "Effective call number", - "effectiveCallNumberPrefix": "Effective call number prefix", - "effectiveCallNumberSuffix": "Effective call number suffix", - "effectiveCallNumberType": "Effective call number type", "permanent": "Permanent", "temporary": "Temporary", "inactive": "Inactive",