diff --git a/docs/en/04_Changelogs/4.3.0.md b/docs/en/04_Changelogs/4.3.0.md index 7068f2ead..5daef0f32 100644 --- a/docs/en/04_Changelogs/4.3.0.md +++ b/docs/en/04_Changelogs/4.3.0.md @@ -5,6 +5,7 @@ - `DataList::column()` now returns all values and not just "distinct" values from a column as per the API docs - `DataList`, `ArrayList` and `UnsavedRalationList` all have `columnUnique()` method for fetching distinct column values - Take care with `stageChildren()` overrides. `Hierarchy::numChildren() ` results will only make use of `stageChildren()` customisations that are applied to the base class and don't include record-specific behaviour. + - New React-based search UI for the CMS, Asset-Admin, GridFields and ModelAdmins. ## Upgrading {#upgrading} @@ -12,3 +13,30 @@ Prior to this release `DataList` would erroneously return a distinct list of values from a column on an object. If this behaviour is still required, please use `columnUnique()` instead. + +### Using legacy GridField search API + +GridFields now default to using the new search UI which uses [SilverStripe's FormSchema API](api:SilverStripe\Forms\Schema\FormSchema). + +If you would rather continue using the old search API, you can remove the default `GridFieldFilterHeader` from your GridField configuration and replace with one whose _legacy_ flag has been enabled. + +To enable the legacy search API on a `GridFieldFilterHeader`, you can either: +* set the `useLegacyFilterHeader` property to `true`, +* or pass `true` to the first argument of its constructor. + +```php +public function getCMSFields() +{ + $fields = parent::getCMSFields(); + + // Configure grid field to use legacy search API + $config = new GridFieldConfig_RecordEditor(); + $config->getComponentsByType(GridFieldFilterHeader::class)->useLegacyFilterHeader = true; + + $grid = GridField::create('Companies', 'Companies', DataList::create(Company::class), $config); + $fields->addFieldToTab('Root.Company', $grid); + + return $fields; +} + +```