Callbacks
Introduction
There are a number of callbacks available in the Streams Platform designed to help you extend core functionality.
Addon Callbacks
Registered
The registered
callback fires immediately after the addon is registered but before the addon boot
process which follows the register
process.
$module->on('registered', function() {
// Do something after registering.
});
Addon Management
Module Installing
The installing
callback is fired after a module is installing. The installing module
is passed to the callback.
$module->on('installing', function() {
// Do something before installing.
});
Module Installed
The installed
callback is fired after a module is installed. The installed module
is passed to the callback.
$module->on('installed', function() {
// Do something after installing.
});
Module Uninstalling
The uninstalling
callback is fired after a module is uninstalling. The uninstalling module
is passed to the callback.
$module->on('uninstalling', function() {
// Do something before uninstalling.
});
Module Uninstalled
The uninstalled
callback is fired after a module is uninstalled. The uninstalled module
is passed to the callback.
$module->on('uninstalled', function() {
// Do something after uninstalling.
});
Module Migrating
The migrating
callback is fired after a module is migrating. The migrating module
is passed to the callback.
$module->on('migrating', function() {
// Do something before migrating.
});
Module Migrated
The migrated
callback is fired after a module is migrated. The migrated module
is passed to the callback.
$module->on('migrated', function() {
// Do something after migrating.
});
Extension Installing
The installing
callback is fired after a extension is installing. The installing extension
is passed to the callback.
$extension->on('installing', function() {
// Do something before installing.
});
Extension Installed
The installed
callback is fired after a extension is installed. The installed extension
is passed to the callback.
$extension->on('installed', function() {
// Do something after installing.
});
Extension Uninstalling
The uninstalling
callback is fired after a extension is uninstalling. The uninstalling extension
is passed to the callback.
$extension->on('uninstalling', function() {
// Do something before uninstalling.
});
Extension Uninstalled
The uninstalled
callback is fired after a extension is uninstalled. The uninstalled extension
is passed to the callback.
$extension->on('uninstalled', function() {
// Do something after uninstalling.
});
Extension Migrating
The migrating
callback is fired after a extension is migrating. The migrating extension
is passed to the callback.
$extension->on('migrating', function() {
// Do something before migrating.
});
Extension Migrated
The migrated
callback is fired after a extension is migrated. The migrated extension
is passed to the callback.
$extension->on('migrated', function() {
// Do something after migrating.
});
Form Builders
Ready
The ready
callback is fired when form builder is ready and about to start the build process. The form builder
is passed to the callback.
$form->on('ready', function() {
// Ready to build
});
Built
The built
callback is fired after the form builder has been built but not yet handled the request. The form builder
is passed to the callback.
$form->on('built', function() {
// Built and ready
});
Post
The post
callback is fired after the form builder has been built and is about to handle the POST request. The form builder
is passed to the callback.
$form->on('post', function() {
// About to handle a post request
});
Posting
The posting
callback is fired just before handling the POST request. The form builder
is passed to the callback.
$form->on('posting', function() {
// About to handle a post request
});
Posted
The posted
callback is fired just after handling the POST request. The form builder
is passed to the callback.
$form->on('posted', function() {
// Post request has been made and handled
});
Validating
The validating
callback is fired just before validating the form. The form builder
is passed to the callback.
$form->on('validating', function() {
// About to validate form data
});
Validated
The validated
callback is fired just after validating the form. The form builder
is passed to the callback.
$form->on('validated', function() {
// Form data has been validated
});
Saving
The saving
callback is fired just before saving the form entry. The form builder
is passed to the callback.
$form->on('saving', function() {
// About to save the form entry
});
Saved
The saved
callback is fired just after saving the form entry. The form builder
is passed to the callback.
$form->on('saved', function() {
// Form entry has been saved
});
Make
The make
callback is fired after the form builder has been built and POST request handled but before making a view response if applicable. The form builder
is passed to the callback.
$form->on('make', function() {
// About to make the form's response
});
Multiple Form Builder
Multiple form builders inherit all of the callbacks from normal standard builders.
Saving Child Form
The saving_{$slug}
callback is fired just before saving the child form entry. The child form builder
is passed to the callback.
$form->on('saving_example', function() {
// About to save the "example" form.
});
Saved Child Form
The saved_{$slug}
callback is fired just after saving the child form entry. The child form builder
is passed to the callback.
$form->on('saved_example', function() {
// Just saved the "example" form.
});
Versioning
The versioning
callback is fired just after a child form is built that is loading a versioned entry in place of the original entry. This allows you to distribute the versioned model data to other child forms.
$form->on('versioning', function(MultipleFormBuilder $builder, VersionInterface $version) {
$builder->setChildFormEntry(
'entry',
$version
->getModel()
->getAttribute('entry')
);
});
Table Builders
Querying
The querying
callback is fired at the beginning of the query process for table builders. The table builder
instance and the query
builder object are passed to the callback.
$table->on('querying', function(Builder $query) {
// About to query for the table entries
});
Queried
The queried
callback is fired after the query process but before returning results for table builders. The table builder
instance and the query
builder object are passed to the callback.
$table->on('queried', function(Builder $query) {
// About to get entries from query builder
});
Row Deleted
The row_deleted
callback is fired after a table row has been deleted using the delete
action. The table builder
, model
, and row entry
are all passed to the callback.
$table->on('row_deleted', function(EntryInterface $entry) {
\Log::info($entry->getId() . ' was deleted.');
});
Rows Deleted
The rows_deleted
callback is fired after all table rows are deleted when using the delete
action. The table builder
, model
, and deleted count
are all passed to the callback.
$table->on('rows_deleted', function($count) {
\Log::info($count . " records were deleted by {auth()->user()->getUsername()}.");
});
Reordered
The reordered
callback is fired after table rows are reordered when using the reorder
action. The table builder
, model
, and row count
are all passed to the callback.
$table->on('reordered', function() {
cache()->clear();
});
Tree Builders
Querying
The querying
callback is fired at the beginning of the query process for tree (list) builders. The tree builder
instance and the query
builder object are passed to the callback.
$tree->on('querying', function(Builder $query) {
// About to query for the table entries
});