webbuilders-group/silverstripe-limitedrelationsgridfield

Adds the ability to limit the number of items in the relationship managed by GridField.

2.0.2 2023-07-26 19:48 UTC

This package is auto-updated.

Last update: 2024-03-26 21:11:55 UTC


README

Adds the ability to limit the number of items in the relationship managed by GridField.

Maintainer Contact

Requirements

  • SilverStripe CMS 4.2+

Installation

Composer (recommended):

composer require webbuilders-group/silverstripe-limitedrelationsgridfield

Usage

For many_many relationships simply swap the configuration for the GridField with LRGridFieldConfig_RelationEditor, for example.

//Create a GridField instance with a page length of 10 and a item cound limit of 20
new GridField('MyGridField', 'My GridField', $this->Relationship(), LRGridFieldConfig_RelationEditor::create(10, 20));

For has_many relationships simply swap the configuration for the GridField with LRGridFieldConfig_RecordEditor, for example.

//Create a GridField instance with a page length of 10 and a item cound limit of 20
new GridField('MyGridField', 'My GridField', $this->Relationship(), LRGridFieldConfig_RecordEditor::create(10, 20));

Configuration Options

The LRGridFieldAddExistingAutocompleter component provides a single method that allows changing of the limit, as well this limit can be set as the 3rd parameter to the constructor.

$myLimitedAutoCompleter->setItemLimit(3); //Change the item limit to 3

The LRGridFieldDetailForm component provides a single method that allows changing of the limit, as well this limit can be set as the 2nd parameter to the constructor.

$myLimitedDetailForm->setItemLimit(3); //Change the item limit to 3