diff --git a/src/Form/JsonField.php b/src/Form/JsonField.php index 6a2e5ef3..13e7cc92 100644 --- a/src/Form/JsonField.php +++ b/src/Form/JsonField.php @@ -48,9 +48,11 @@ public function saveInto(DataObjectInterface $record) if ($jsonDataObjectID && $jsonDataObject = $record->$fieldname) { if ($value) { $jsonDataObject = $jsonDataObject->setData($value); + $this->extend('onBeforeLinkEdit', $jsonDataObject, $record); $jsonDataObject->write(); $this->extend('onAfterLinkEdit', $jsonDataObject, $record); } else { + $this->extend('onBeforeLinkDelete', $jsonDataObject, $record); $jsonDataObject->delete(); $record->{"{$fieldname}ID"} = 0; $this->extend('onAfterLinkDelete', $jsonDataObject, $record); @@ -58,6 +60,7 @@ public function saveInto(DataObjectInterface $record) } elseif ($value) { $jsonDataObject = new $class(); $jsonDataObject = $jsonDataObject->setData($value); + $this->extend('onBeforeLinkCreate', $jsonDataObject, $record); $jsonDataObject->write(); $record->{"{$fieldname}ID"} = $jsonDataObject->ID; $this->extend('onAfterLinkCreate', $jsonDataObject, $record);