%PDF- %PDF-
Direktori : /home/vacivi36/intranet.vacivitta.com.br/protected/modules/wiki/widgets/ |
Current File : /home/vacivi36/intranet.vacivitta.com.br/protected/modules/wiki/widgets/WikiSearchInput.php |
<?php namespace humhub\modules\wiki\widgets; use humhub\libs\Html; use humhub\modules\content\components\ContentContainerActiveRecord; use humhub\modules\ui\form\widgets\JsInputWidget; use humhub\modules\wiki\models\WikiPage; use humhub\modules\wiki\permissions\CreatePage; use yii\helpers\Url; class WikiSearchInput extends JsInputWidget { /** * @inheritdoc */ public $jsWidget = 'wiki.linkExtension.SearchInput'; /** * @inheritdoc */ public $init = true; /** * @var string */ public $placeholder; /** * @var ContentContainerActiveRecord */ public $contentContainer; private $items = []; private $itemOptions = []; /** * @inheritdoc */ public function run() { return $this->render('wikiSearchInput', [ 'model' => $this->model, 'field' => $this->attribute, 'container' => $this->container, 'items' => $this->loadItems(), 'options' => $this->getOptions(), ]); } /** * @throws \yii\base\Exception */ public function loadItems() { $pages = WikiPage::find()->contentContainer($this->contentContainer)->readable()->all(); foreach ($pages as $page) { $this->items[$page->id] = Html::encode($page->title); } return $this->items; } /** * @inheritdoc */ public function getAttributes() { return [ 'class' => 'form-control', 'placeholder' => $this->placeholder, 'style' => 'width:100%' ]; } /** * @inheritdoc */ public function getData() { $data = [ 'search-url' => Url::to(['/wiki/search/search']), 'ui-select2' => '' ]; if ($this->contentContainer->can(CreatePage::class)) { $data['ui-select2-allow-new'] = ''; $data['ui-select2-new-sign'] = '➕'; } return $data; } }