mirror of
https://github.com/humhub/humhub.git
synced 2025-02-12 03:26:25 +01:00
Enh #4216: Added humhub\modules\ui\filter\widgets\DropdownFilterInput
in order to support dropdown stream filters
This commit is contained in:
parent
90f5b630e8
commit
9764c8106b
@ -17,3 +17,4 @@ HumHub Change Log
|
||||
- Enh: Added `humhub\modules\ui\form\widgets\ActiveField:preventRendering` to manage render state within field classes
|
||||
- Enh: Added `humhub\modules\ui\form\widgets\JsInputWidget:emptyResult()` helper to manage render state of JsInputWidget
|
||||
- Enh: Added `humhub\modules\ui\form\widgets\JsInputWidget:field` in order to access ActiveField instances within JsInputWidget
|
||||
- Enh #4216: Added `humhub\modules\ui\filter\widgets\DropdownFilterInput` in order to support dropdown stream filters
|
||||
|
@ -156,6 +156,7 @@ humhub.module('ui.filter', function(module, require, $) {
|
||||
'checkbox': CheckBoxInput,
|
||||
'radio': RadioInput,
|
||||
'picker': PickerInput,
|
||||
'dropdown': TextInput, // don't need a custom input type here
|
||||
'text': TextInput
|
||||
};
|
||||
|
||||
|
@ -0,0 +1,61 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: kingb
|
||||
* Date: 05.10.2018
|
||||
* Time: 21:14
|
||||
*/
|
||||
|
||||
namespace humhub\modules\ui\filter\widgets;
|
||||
|
||||
use humhub\modules\ui\filter\widgets\FilterInput;
|
||||
use humhub\libs\Html;
|
||||
|
||||
/**
|
||||
* Dropdown stream filter input type.
|
||||
*
|
||||
* @package humhub\modules\ui\filter\widgets
|
||||
*/
|
||||
class DropdownFilterInput extends FilterInput
|
||||
{
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public $view = 'dropdownInput';
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public $type = 'dropdown';
|
||||
|
||||
/**
|
||||
* @var array dropdown selection
|
||||
*/
|
||||
public $selection = [];
|
||||
|
||||
/**
|
||||
* @var array dropdown items
|
||||
*/
|
||||
public $items = [];
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function prepareOptions()
|
||||
{
|
||||
parent::prepareOptions();
|
||||
$this->options['data-action-change'] = 'inputChange';
|
||||
Html::addCssClass($this->options, 'form-control');
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
protected function getWidgetOptions()
|
||||
{
|
||||
return array_merge(parent::getWidgetOptions(), [
|
||||
'selection' => $this->selection,
|
||||
'items' => $this->items
|
||||
]);
|
||||
}
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
<?php
|
||||
/**
|
||||
* @link https://www.humhub.org/
|
||||
* @copyright Copyright (c) 2018 HumHub GmbH & Co. KG
|
||||
* @license https://www.humhub.com/licences
|
||||
*
|
||||
*/
|
||||
|
||||
use yii\bootstrap\Html;
|
||||
|
||||
/* @var $this \humhub\components\View */
|
||||
/* @var $options [] */
|
||||
/* @var $selection [] */
|
||||
/* @var $items [] */
|
||||
?>
|
||||
<div class="form-group">
|
||||
<?= Html::dropDownList(null, $selection, $items, $options) ?>
|
||||
</div>
|
Loading…
x
Reference in New Issue
Block a user