/yii2-widget-typeahead

Enhanced Yii2 wrapper for the Twitter Typeahead plugin (sub repo split from yii2-widgets).

Primary LanguageJavaScriptOtherNOASSERTION

Krajee Logo
yii2-widget-typeahead
Donate       kartikv

Stable Version Unstable Version License Total Downloads Monthly Downloads Daily Downloads

The Typeahead extension is a Yii 2 wrapper widget for for the Twitter Typeahead.js plugin with certain custom enhancements. The latest release uses the typeahead.js fork from corejavascript. The yii2-widget-typeahead extension is a jQuery based replacement for text inputs providing search and typeahead functionality. It is inspired by twitter.com's autocomplete search functionality and based on Twitter's typeahead.js, which is described as a fast and fully-featured autocomplete library. The widget is specially styled for Bootstrap 3.x, 4.x, or 5.x. The widget allows graceful degradation to a normal HTML text input, if the browser does not support JQuery. You can also setup model validation rules for the widget like any other field. The extension offers two variations of the widget implementation:

  • TypeaheadBasic: This widget is a basic implementation of the typeahead.js plugin without any suggestion engine. It uses a javascript substring matcher and Regular Expression matching to query and display suggestions. VIEW DEMO

  • Typeahead: This widget is an advanced implementation of the typeahead.js plugin with the BloodHound suggestion engine and the Handlebars template compiler. VIEW DEMO

NOTE: This extension is a sub repo split of yii2-widgets. The split has been done since 08-Nov-2014 to allow developers to install this specific widget in isolation if needed. One can also use the extension the previous way with the whole suite of yii2-widgets.

Installation

The preferred way to install this extension is through composer. Check the composer.json for this extension's requirements and dependencies. Read this web tip /wiki on setting the minimum-stability settings for your application's composer.json.

To install, either run

$ php composer.phar require kartik-v/yii2-widget-typeahead "*"

or add

"kartik-v/yii2-widget-typeahead": "*"

to the require section of your composer.json file.

Latest Release

Refer the CHANGE LOG for details on changes to various releases.

Demo

You can refer detailed documentation and demos for TypeaheadBasic or Typeahead for understanding the usage of the extension.

Usage

use kartik\typeahead\TypeaheadBasic;
use kartik\typeahead\Typeahead;

// TypeaheadBasic usage with ActiveForm and model
echo $form->field($model, 'state_3')->widget(TypeaheadBasic::classname(), [
    'data' => $data,
    'pluginOptions' => ['highlight' => true],
    'options' => ['placeholder' => 'Filter as you type ...'],
]);

// Typeahead usage with ActiveForm and model
echo $form->field($model, 'state_4')->widget(Typeahead::classname(), [
    'dataset' => [
        [
            'local' => $data,
            'limit' => 10
        ]
    ],
    'pluginOptions' => ['highlight' => true],
    'options' => ['placeholder' => 'Filter as you type ...'],
]);

License

yii2-widget-typeahead is released under the BSD-3-Clause License. See the bundled LICENSE.md for details.