Laravel-Backpack / CRUD

Build custom admin panels. Fast!
https://backpackforlaravel.com
MIT License
3k stars 880 forks source link

Register field events on UpdateOperation edit form #5521

Closed pxpm closed 1 month ago

pxpm commented 1 month ago

WHY

BEFORE - What was wrong? What was happening before this PR?

It was not possible to register a retrieved model event in fields to run when the entry is retrieved from the database to display on the edit form.

Eg:

CRUD::field('something')->on('retrieved', fn($entry) => $entry->something = json_decode($entry->something))

One would expect that the value of the field would be the json_decoded() version, but this event was never triggered, because the field events were not registered on the update form.

AFTER - What is happening after this PR?

It's now possible to customize model values before the fields attempt to get their respective values by registering a retrieved model event on the field.

HOW

How did you achieve that, in technical terms?

Called the setup of the model events on the edit form endpoint too.

Is it a breaking change?

It shouldn't, as the retrieved events were not working (and that's the only event that happen when the entry is retrieved from the database), I don't think it's possible to break anything.