kartik-v/yii2-checkbox-x Extended checkbox widget for bootstrap with three states and additional styles.

bootstrapjquerycheckboxthreestateindeterminatenull

Krajee Logo
yii2-checkbox-x Donate       kartikv

[![Stable Version](https://poser.pugx.org/kartik-v/yii2-checkbox-x/v/stable)](https://packagist.org/packages/kartik-v/yii2-checkbox-x) [![Unstable Version](https://poser.pugx.org/kartik-v/yii2-checkbox-x/v/unstable)](https://packagist.org/packages/kartik-v/yii2-checkbox-x) [![License](https://poser.pugx.org/kartik-v/yii2-checkbox-x/license)](https://packagist.org/packages/kartik-v/yii2-checkbox-x) [![Total Downloads](https://poser.pugx.org/kartik-v/yii2-checkbox-x/downloads)](https://packagist.org/packages/kartik-v/yii2-checkbox-x) [![Monthly Downloads](https://poser.pugx.org/kartik-v/yii2-checkbox-x/d/monthly)](https://packagist.org/packages/kartik-v/yii2-checkbox-x) [![Daily Downloads](https://poser.pugx.org/kartik-v/yii2-checkbox-x/d/daily)](https://packagist.org/packages/kartik-v/yii2-checkbox-x)

An extended checkbox widget for Yii Framework 2 based on the bootstrap-checkbox-x jQuery plugin by Krajee. This widget allows three checkbox states and includes additional styles. The plugin uses Bootstrap markup, glyphs, and CSS 3 styling by default, but it can be overridden with any other markup.

NOTE: The checkbox plugin stores the values as integer format (and not boolean format) for checked and unchecked states.

Features

  • The plugin offers the following three states and values for the checkboxes (note the integer values):
    • 1: Checkbox is checked.
    • 0: Checkbox is unchecked.
    • null: Checkbox is indeterminate.
  • You can set the plugin to allow three states or the default two states for the checkbox.
  • Specifically uses Bootstrap styles & glyphs (supports 3.x, 4.x. 5.x). One can configure the checked, unchecked, and indeterminate icons to be shown for the checkboxes.
  • Special CSS 3 styling, to enhance the control to look like any Bootstrap form control. Supports the has-error, has-success, has-warning styling states like other Bootstrap form-controls.
  • Plugin CSS styling automatically defaults the checkboxes to inline display. You can also control the markup for block display like in checkbox lists.
  • You can add a label before or after with a for attribute and click on the label to change the checkbox values. Alternatively you can enclose the input within a label tag as well.
  • Ability to navigate to the checkbox controls via keyboard, and modify the values using the space bar on the keyboard.
  • Ability to size the checkbox control. Five prebuilt size templates are available xl, lg, md, sm, and xs.
  • Triggers JQuery events for advanced development. The plugin automatically triggers the change event for the input, whenever the checkbox value is changed via clicking. Events currently available are change and reset.
  • Ability to access methods and refresh the input dynamically via javascript at runtime.
  • Disabled and readonly checkbox input support.
  • Size of the entire plugin (JS and CSS) is less than 2KB when minified and gzipped. Its about 6KB when minified without gzipping (about 3KB for the JS and 3KB for the CSS).

Docs & Demo

You can see detailed docs and demos and the API code documentation on usage of the extension.

Release Changes

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

Installation

The preferred way to install this extension is through composer.

NOTE: 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.

Either run

$ php composer.phar require kartik-v/yii2-checkbox-x "@dev"

or add

"kartik-v/yii2-checkbox-x": "@dev"

to the require section of your composer.json file.

Usage

CheckboxX

use kartik\checkbox\CheckboxX;
echo CheckboxX::widget([
    'model' => $model,
    'attribute' => 'status',
    'pluginOptions' => [
        'threeState' => true,
        'size' => 'lg'
    ]
]); 

License

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

Changelog

Change Log: yii2-checkbox-x

Version 1.0.7

Date: 10-Jan-2022

Version 1.0.6

Date: 01-Sep-2021

  • (enh #17): Enhancements to support Bootstrap v5.x.

Version 1.0.5

Date: 01-Sep-2021

  • (enh #16): Set more correct icon defaults for bootstrap 4.x.

Version 1.0.4

Date: 09-Oct-2018

  • Bump composer dependencies.
  • Add github contribution and issue/PR logging templates.
  • Enhance PHP Documentation for all classes and methods in the extension.
  • Add branch alias for dev-master latest release.

Version 1.0.3

Date: 11-Jan-2016

  • (enh #14): Enhancements for PJAX based reinitialization. Complements enhancements in kartik-v/yii2-krajee-base#52 and kartik-v/yii2-krajee-base#53.

Version 1.0.2

Date: 20-Sep-2015

  • Better label generation.
  • Add support for theme.

Version 1.0.1

Date: 17-Jun-2015

  • (enh #10): Set composer ## Version dependencies.
  • (enh #9): New labelSettings property to allow configuring checkbox labels better.
  • (enh #8): New autoLabel property to allow automatic configuration of label text, styles, and positions.
  • (enh #7): New initInputType property to set input type for initializing bootstrap-checkbox-x plugin.
  • (enh #2): Enhance widget to use updated plugin registration from Krajee base
  • Code formatting updates as per Yii2 coding style.

Version 1.0.0

Date: 09-Nov-2014

  • Initial release
  • Set dependency on Krajee base component
  • PSR 4 alias change
  • Stable release

Statistics

Downloads
GitHub Stars
GitHub Forks

Releases

Comments



v1.0.7 is the latest of 8 releases



BSD-3-Clause license
Stats
25 github stars & 3 github forks
491 downloads in the last day
10071 downloads in the last 30 days
701933 total downloads