PHPackages                             atlant5/handpicked-list - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Admin Panels](/categories/admin)
4. /
5. atlant5/handpicked-list

ActiveYii2-extension[Admin Panels](/categories/admin)

atlant5/handpicked-list
=======================

Widget (helper) for Yii2. Based on bootstrap. Help you build admin interface. You can select some elements in pretty pop-up and see selected items in another pretty compact interface.

1141PHP

Since Jun 5Pushed 8y ago1 watchersCompare

[ Source](https://github.com/EvgenyVetrov/handpicked-list)[ Packagist](https://packagist.org/packages/atlant5/handpicked-list)[ RSS](/packages/atlant5-handpicked-list/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Handpicked list (yii2 widget)
=============================

[](#handpicked-list-yii2-widget)

This widget help you with building admin interface. You can select some elements in pretty interface and see selected items in another pretty compact interface.

Features:

1. "read-only" condition if you want
2. easy search in elements
3. bootstrap admin LTE integration

Usage:
------

[](#usage)

In view:

```

```

**Result:**
Base block (every item is clickable):
[![screenshot](./docs/base-block.jpg)](./docs/base-block.jpg)

**Hint:**
[![screenshot](./docs/hint.jpg)](./docs/hint.jpg)

**Pop-up with all elemnts:**
[![screenshot](./docs/popup.jpg)](./docs/popup.jpg)

**Collapsed base block:**
[![screenshot](./docs/collapsed.jpg)](./docs/collapsed.jpg)

### Disable all options:

[](#disable-all-options)

```

```

[![screenshot](./docs/disable.jpg)](./docs/disable.jpg)

About options:
--------------

[](#about-options)

### 1. dataProvider (array | object)

[](#1-dataprovider-array--object)

Seems like:
`'dataProvider' => $handpickedListProvider,`

`$handpickedListProvider` must be an array:

```
[
    0 => [
        'name' => 'название'
        'code' => '123'
        'checked' => false
        'type' => ''
        'id' => '4'
    ]
    1 => [
        'name' => 'Второй блок для теста'
        'code' => 'html2'
        'checked' => true
        'type' => ''
        'id' => '5'
    ]
]

```

OR object from `ArrayDataProvider`

```
yii\data\ArrayDataProvider#1
   (
       [key] => null
       [allModels] => [
           0 => [
               'id' => '4'
               'code' => '123'
               'name' => 'название'
               'own_description' => 'примечание'
           ]
           1 => [
               'id' => '5'
               'code' => 'html2'
               'name' => 'Второй блок для теста'
               'own_description' => ''
           ]
       ]
       [modelClass] => null
       [id] => null
       [yii\data\BaseDataProvider:_sort] => null
       [yii\data\BaseDataProvider:_pagination] => null
       [yii\data\BaseDataProvider:_keys] => null
       [yii\data\BaseDataProvider:_models] => null
       [yii\data\BaseDataProvider:_totalCount] => null
       [yii\base\Component:_events] => []
       [yii\base\Component:_behaviors] => null

```

### 2. usingColumns (array)

[](#2-usingcolumns-array)

Columns, which will be used for display in widget. Example:
`'usingColumns' => ['id', 'name', 'code'],`

First normal column will be text title for element. Here is `'name'`

### 3. customSelectionColumn (string)

[](#3-customselectioncolumn-string)

Column name, which detect selected elements. default = `'id'`

### 4. customSelection (array)

[](#4-customselection-array)

Array of selected elements in customSelectionColumn. For example:
`'customSelection' => [4, 5]`

That`s mean elements with id=4 and id=5 will be selected

### 5. detectedColumns (array)

[](#5-detectedcolumns-array)

key - value array, which 'key' is column 'value' is value. For example:
`'detectedColumns' => ['code' => 123];`

Every element where code == 123 will be selected.

You can make many rules: `'detectedColumns' => ['code' => 123, 'id' => '5'];` , but dont create it :-)

Default `['active' => true]`

### 6. modelWithRelations (string)

[](#6-modelwithrelations-string)

Specify the model and relations names, which will be save input data (selected items). For example: `'modelWithRelations' => 'GeneralPages'`
or
`'modelWithRelations' => 'GeneralPages[manageWidgets][anyRelation]'`

in view `'modelWithRelations' => 'GeneralPages[manageWidgets]'` shows as:

```

```

and savings via `manageWidgets` relation.

 p.s.
 Sorry for this ugly method
 Help me to create good solution.

Warring!:
---------

[](#warring)

**Widget has no paginate! Don`t use it if you have more than 1000 elements.**

About:
------

[](#about)

On GitHub:
On Packagist:

###  Health Score

20

—

LowBetter than 14% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community5

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/cbf0bc178183231eb82daefe081deaaecf0d06d3f232c00294e104ca302d16b4?d=identicon)[EvgenyVetrov](/maintainers/EvgenyVetrov)

### Embed Badge

![Health badge](/badges/atlant5-handpicked-list/health.svg)

```
[![Health](https://phpackages.com/badges/atlant5-handpicked-list/health.svg)](https://phpackages.com/packages/atlant5-handpicked-list)
```

###  Alternatives

[jeroennoten/laravel-adminlte

Easy AdminLTE integration with Laravel

4.0k4.8M43](/packages/jeroennoten-laravel-adminlte)[dmstr/yii2-adminlte-asset

AdminLTE backend theme asset bundle for Yii 2.0 Framework

1.1k1.8M67](/packages/dmstr-yii2-adminlte-asset)[dwij/laraadmin

LaraAdmin is a Open source Laravel Admin Panel / CMS which can be used as Admin Backend, Data Management Tool or CRM boilerplate for Laravel with features like CRUD Generation, Module Manager, Media, Menus, Backups and much more

1.6k68.7k](/packages/dwij-laraadmin)[filament/spatie-laravel-media-library-plugin

Filament support for `spatie/laravel-medialibrary`.

1764.8M125](/packages/filament-spatie-laravel-media-library-plugin)[bezhansalleh/filament-exceptions

A Simple &amp; Beautiful Pluggable Exception Viewer for FilamentPHP's Admin Panel

193195.9k13](/packages/bezhansalleh-filament-exceptions)[filament/infolists

Easily add beautiful read-only infolists to any Livewire component.

1220.8M36](/packages/filament-infolists)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
