Hi, all,
I am trying to trigger a webhook after moving around custom sortable entries in a collection. collections.updatecollection and collections.save.after don’t trigger on reordering. Is there any event that does?
Thanks!
Hi, all,
I am trying to trigger a webhook after moving around custom sortable entries in a collection. collections.updatecollection and collections.save.after don’t trigger on reordering. Is there any event that does?
Thanks!
Sorry, there is no event, yet.
Have a look here:
You could change it and send a pull request.
I’m not sure about the best logic and naming convention here… I would suggest to use the same logic like the core save function
or to create a new event, e. g.:
if (is_array($entries) && count($entries)) {
$this->app->trigger('collections.admin.updateorder.before', [$collection['name'], &$entries]);
foreach($entries as $entry) {
$this->app->storage->save("collections/{$_collectionId}", $entry);
}
$this->app->trigger('collections.admin.updateorder.after', [$collection['name'], $entries]);
}
I tried your suggestion and it works and does trigger, however unfortunately it also triggers when all I do is open the collection before doing any more with it. That does seem to me like I might have uncovered a possible bug. I can’t imagine that it’s intentional that update_order
gets called simply by displaying the sortable list, right?
I’m sorry, I have to correct myself. My webhook didn’t save correctly and it was still listening for collections.find.before
instead of collections.admin.updateorder.before
. My bad. The solution actually works beautifully.
I spent some time trying to decipher the code above. I got it working perfectly now!! Thank you. But renamed to collections.customsort…
I really think this should be pushed into the repo. Can I help.
I barely have any use cases where its not needed. If you use web hooks on collections at all than most likely you have to catch the custom sort function.