diff --git a/src/components/Dashboard/common/ObjectProperty.jsx b/src/components/Dashboard/common/ObjectProperty.jsx index d531581..7d5cc5e 100644 --- a/src/components/Dashboard/common/ObjectProperty.jsx +++ b/src/components/Dashboard/common/ObjectProperty.jsx @@ -148,6 +148,10 @@ const ObjectProperty = ({ readOnly = readOnly(objectData, parentData) } + if (type && typeof type == 'function' && objectData) { + type = type(objectData, parentData) + } + if (!value) { value = getPropertyValue(objectData, name) } diff --git a/src/components/Dashboard/common/OperationDisplay.jsx b/src/components/Dashboard/common/OperationDisplay.jsx index 02aa6fb..85a02bf 100644 --- a/src/components/Dashboard/common/OperationDisplay.jsx +++ b/src/components/Dashboard/common/OperationDisplay.jsx @@ -4,6 +4,7 @@ import QuestionCircleIcon from '../../Icons/QuestionCircleIcon' import PlusIcon from '../../Icons/PlusIcon' import BinIcon from '../../Icons/BinIcon' import EditIcon from '../../Icons/EditIcon' +import BellIcon from '../../Icons/BellIcon' const OperationDisplay = ({ operation, @@ -30,6 +31,16 @@ const OperationDisplay = ({ tagIcon = tagColor = 'blue' break + case 'subscribe': + tagText = 'Subscribe' + tagIcon = + tagColor = 'orange' + break + case 'unsubscribe': + tagText = 'Unsubscribe' + tagIcon = + tagColor = 'orange' + break default: break } diff --git a/src/database/models/AuditLog.js b/src/database/models/AuditLog.js index 639c99b..11b2bac 100644 --- a/src/database/models/AuditLog.js +++ b/src/database/models/AuditLog.js @@ -90,10 +90,25 @@ export const AuditLog = { name: 'changes', label: 'Changes', columnWidth: 500, - type: 'propertyChanges', + type: (objectData) => { + return objectData.operation === 'subscribe' || + objectData.operation === 'unsubscribe' + ? 'text' + : 'propertyChanges' + }, objectType: (objectData) => { return objectData.parentType }, + value: (objectData) => { + if (objectData.operation === 'subscribe') { + return 'User subscribed to object.' + } + if (objectData.operation === 'unsubscribe') { + return 'User unsubscribed from object.' + } + + return objectData.changes + }, showCopy: true } ]