diff --git a/docs/en/04_Changelogs/4.3.0.md b/docs/en/04_Changelogs/4.3.0.md index 7068f2ead..b8f329c1f 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](https://api.silverstripe.org/master/SilverStripe/Forms/Schema/FormSchema.html). + +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 legacy mod on a `GridFieldFilterHeader`, just pass `true` to the first argument of its constructor. + +```php +public function getCMSFields() +{ + $fields = parent::getCMSFields(); + + // Configure grid field to use legacy search API + $legacySearchApiFlag = true; + $config = new GridFieldConfig_RecordEditor(); + $config->removeComponentsByType(GridFieldFilterHeader::class); + $config->addComponent(new GridFieldFilterHeader($legacySearchApiFlag)); + + $grid = new GridField('Companies', 'Companies', new DataList(Company::class), $config); + $fields->addFieldToTab('Root.Compagnu', $grid); + + return $fields; +} + +```