Example #1
0
    setDebtFormHandlers();
    \$('#person-name').on('typeahead:selected', function(object, data) {
        \$('#person-id').val(data['id']);
        \$('#person-form').submit();
    });
    \$('#person-form').on('submit', function(event) {
        \$.pjax.submit(event, '#person-debt');
        return false;
    });

    \$('#person-debt').on('pjax:complete', function() {
        setDebtFormHandlers();
    });
JS;
$this->registerJs($script, View::POS_READY);
$personEngine = new Bloodhound(['name' => 'personEngine', 'clientOptions' => ['limit' => 10, 'datumTokenizer' => new \yii\web\JsExpression("Bloodhound.tokenizers.obj.whitespace('name')"), 'queryTokenizer' => new \yii\web\JsExpression("Bloodhound.tokenizers.whitespace"), 'remote' => ['url' => Url::to(['/api/autocomplete/person', 'query' => 'QRY']), 'wildcard' => 'QRY']]]);
echo Html::beginForm([''], 'get', ['id' => 'person-form', 'autocomplete' => 'off']);
echo Html::hiddenInput('id', isset($person) ? $person->person_id : null, ['id' => 'person-id']);
echo TypeAhead::widget(['value' => isset($person) ? $person->fullName : null, 'id' => 'person-name', 'name' => 'person', 'options' => ['class' => 'form-control', 'type' => 'search', 'placeholder' => 'Введите ФИО', 'tabindex' => 4], 'engines' => [$personEngine], 'clientOptions' => ['highlight' => true, 'minLength' => 1], 'dataSets' => [['name' => 'street', 'displayKey' => 'value', 'source' => $personEngine->getAdapterScript()]]]);
echo Html::endForm();
Pjax::begin(['id' => 'person-debt']);
if (isset($person)) {
    $newItem = $this->render('_form_debt', ['model' => $newDebt]);
    if (empty($person->debts)) {
        echo Html::tag('div', $newItem, ['class' => 'row']);
    } else {
        echo ListView::widget(['dataProvider' => new ArrayDataProvider(['allModels' => $person->debts, 'pagination' => false]), 'layout' => "<div class=\"row\">" . $newItem . "{items}</div>\n", 'itemOptions' => ['class' => 'item'], 'itemView' => function ($model, $key, $index, $widget) {
            return $this->render('_form_debt', ['model' => $model]);
        }]);
    }
}
Example #2
0
<?php

use common\widgets\iconUpload\IconUpload;
use dosamigos\typeahead\Bloodhound;
use dosamigos\typeahead\TypeAhead;
use yii\helpers\Html;
use yii\helpers\Url;
use yii\widgets\ActiveForm;
/* @var $this yii\web\View */
/* @var $model app\modules\topic\models\Tag */
/* @var $form yii\widgets\ActiveForm */
$engine = new Bloodhound(['name' => 'countriesEngine', 'clientOptions' => ['datumTokenizer' => new \yii\web\JsExpression("Bloodhound.tokenizers.obj.whitespace('name')"), 'queryTokenizer' => new \yii\web\JsExpression("Bloodhound.tokenizers.whitespace"), 'remote' => ['url' => Url::to(['/topic/tag/autocomplete', 'query' => 'QRY']), 'wildcard' => 'QRY']]]);
?>
<div class="tag-form">

    <?php 
$form = ActiveForm::begin();
?>

    <?php 
echo $form->field($model, 'name')->textInput(['maxlength' => true]);
?>
    <?php 
echo IconUpload::widget(['model' => $model, 'hiddenInputId' => '#tag-icon', 'uploadUrl' => Url::to(['/api/file/upload', 'fileparam' => 'icon', 'access-token' => Yii::$app->user->identity->access_token])]);
?>

    <?php 
echo $form->field($model, 'icon')->label(false)->hiddenInput();
?>