Componette

Componette

Olicek

Olicek / form-selectize v1.1

Form extension for Nette framework which implement http://brianreavis.github.io/selectize.js/

download-cloud-line composer require olicek/form-selectize

form-selectize

Latest stable

Form extension for Nette framework

More documentations

Requirements

Installation

The best way to install olicek/form-selectize is using Composer:

$ composer require olicek/form-selectize

After installation server site, you have to install client site. The best way is use bower.

Link selectize.js from client-side and original selectize.js and call somewhere function selectize().

| NOTE: If you need use previous javascript, it is available in selectize-old.js

Last step is enable the extension using your neon config

extensions:
	selectize: App\Form\Control\SelectizeExtension

Default configuration

selectize:
	mode: full # second mode is `select` for selection just 1 option
	create: on
	maxItems: null
	delimiter: #/
	plugins:
		- remove_button
	valueField: id
	labelField: name
	searchField: name

Data in array for full mode

array (2)
	0 => array (2)
		id => 1
		name => "First item"
	1 => array (2)
		id => 2
		name => "Second item"

id is set as valueField and name as labelField and searchField in config.neon. You can use whatever, have to just set in config.neon or in addSelectize method. For example:

valueField: slug

Data in array for select mode

Data for select mode are same as for SelectBox:

array (2)
	1 => "First item",
	2 => "Second item"

Using

Default settings from config.neon

$form->addSelectize('tags', 'štítky', $arrayData);

custome settings in method first way (array)

$form->addSelectize('tags', 'štítky', $arrayData, ['create' => false, 'maxItems' => 3]);

custome settings in method first way (method)

$form->addSelectize('tags', 'štítky', $arrayData)->setValueField('slug')->delimiter('_');

Output is:

Select mode

dump($form->values->tags); // return "1"

Full mode

In full mode it will return array with valueField values. If you create some new tag, it will in sub array with plain text.

array (3)
	0 => "1"
	1 => "2"
	new => array (1)
		0 => "Third item"
  • v1.1 v1.1

    • Get default entity when ajax
    • Fix: ajax default value uses valueField as key
    • Fix: add items in select mode
    • Add option to tell selectize, how many letters you have to type to start AJAX request.
    • Fix: When 'select' mode, setValue was ignored
    • Add getItems()
    • Fix counting on noncountable object for php 7.2
  • v1.0 v1.0

    New features:

    And some minor enhancements and bug fixes.

  • v0.9 v0.9 (for Nette < 2.2)

price-tag-2-line

Badges

guide-fill

Dependencies

php (>= 5.4.0)
nette/di (>= 2.2.0)
nette/forms (>= 2.2.0)
nette/utils (>= 2.2.0)
Componette Componette felix@nette.org