Move, rename and remove fields

When building your admin panel, you will probably want to hide as much complexity from your users as you can.

This includes:

  • Hiding technical and confidential fields

  • Using naming conventions that the final user understands.

Moving fields

You can import fields from single record relationships into your collections.

The imported fields will behave as if they were on that collection.

use ForestAdmin\AgentPHP\DatasourceCustomizer\CollectionCustomizer;

// Assuming the following structure:
// User    { id, firstName, lastName, addressId }
// Address { id, streetName, streetNumber, city, countryId }
// Country { id, name }

$forestAgent->customizeCollection(
    'User',
    function (CollectionCustomizer $builder) {
        $builder->importField('city', ['path' => 'address:city', 'readonly' => true])
            ->importField('country', ['path' => 'address:country:name', 'readonly' => true]);
    }
);

Note that when using readonly: false, the referenced record fields can be edited.

Renaming and removing fields and relations

Renaming and removing fields or relations can be done simply by calling the renameField and removeField methods.

use ForestAdmin\AgentPHP\DatasourceCustomizer\CollectionCustomizer;

$forestAgent->customizeCollection(
    'User',
    function (CollectionCustomizer $builder) {
        $builder->renameField('account_v3_uuid_new', 'account')->removeField('password');
    }
);

Last updated

Was this helpful?