sheadawson/silverstripe-select2

There is no license information available for the latest version (1.0.1) of this package.

A set of silverstripe form fields based on http://ivaynberg.github.com/select2/

Installs: 22 882

Dependents: 6

Suggesters: 0

Security: 0

Stars: 18

Watchers: 7

Forks: 18

Open Issues: 8

Type:silverstripe-vendormodule

1.0.1 2016-01-25 20:58 UTC

This package is auto-updated.

Last update: 2024-10-25 08:31:58 UTC


README

Four silverstripe form fields based on http://ivaynberg.github.com/select2/.

Requirements

SilverStripe framework ^4

Maintainer Contact

Select2Field

A basic dropdown field with enhanced Select2 UI

MultiSelect2Field

A multiple select dropdown field with Select2 UI

GroupedDropdownField

Extends SilverStripes GroupedDropdownField to add the Select2 UI

AjaxSelect2Field

The AjaxSelect2Field is a dropdown field that makes use of the ajax result loading and infinite scroll features of select2. This is really useful when you need to offer users a way of choosing an object from a list of hundreds or thousands of records that would either break or make standard dropdown/select fields slow and heavy to load. Note that this does not currently work with multiple selection. PR welcome ;)

Usage

A basic implementation will use configuration defaults to provide a dropdown list of SiteTree objects, suitable for searching for and selecting a page.

$field = AjaxSelect2Field::create('PageID');

Configuration

You can configure your instance of AjaxSelect2Field with the following api. The setConfig() method is chainable, too.

Examples

// Set a class to search for. Defaults to SiteTree
$field->setConfig('classToSearch', 'MyCustomObject');

// Set a list of fields to search on. Default is Title 
$field->setConfig('searchFields', array('Title', 'ID'));

// Limit the number of results loaded per page (scroll set). Default is 200
$field->setConfig('resultsLimit', 100);

// The number of characters typed before search results are displayed. Default is 2.
$field->setConfig('minimumInputLength', 3);

// Configure how items should be displayed in the results list. The value gets parsed by the template parser
// You can use HTML too. Default is '$Title'.
$field->setConfig('resultsFormat', '<strong>$Title</strong><br />$AbsuluteLink');

// Configure how the currently selected item should be displayed. Default is '$Title'.
$field->setConfig('selectionFormat', '$Title ($ClassName)');

// Configure the text displayed when no item is selected. Default is 'Search...'
$field->setConfig('placeholder', 'Search for a Page...');

// Allow selection of multiple results. NOTE - you must handle the selected IDs (comma separated list) in code
$field->setConfig('multiple', true);