Ejemplo n.º 1
0
<div class="artist-form">

    <div class="row form-group">
        <div class="col-md-4">
            <?php 
echo GalleryWidget::widget(['isNew' => true, 'images' => $photos, 'ownerClass' => 'Photo']);
?>
        </div>

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

        <?php 
GalleryWidget::printHiddenFields($photos);
?>

        <div class="col-md-8">
            <?php 
echo $form->field($model, 'original_name')->textInput(['maxlength' => true]);
?>

            <?php 
echo $form->field($model, 'latin_name')->textInput(['maxlength' => true]);
?>

            <div class="form-group">
                <label class="control-label" for="artist-tags">Tags</label>
                <?php 
echo TagsWidget::widget(['id' => 'artist-tags', 'name' => 'Artist[tags]', 'placeholder' => '']);
Ejemplo n.º 2
0
}
?>

<div class="release-form">
    <div class="col-md-4">
        <?php 
echo GalleryWidget::widget(['isNew' => true, 'images' => $covers, 'ownerClass' => 'Cover']);
?>
    </div>

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

    <?php 
GalleryWidget::printHiddenFields($covers);
?>

    <div class="col-md-8" style="margin-bottom: 20px;">
        <div class="form-group field-release-artist_id required">
            <?php 
echo Html::label('Artist Name', null, ['class' => 'control-label']);
?>
            <span id="add_name" style="color: grey; margin-left: 5px;"></span>
            <?php 
echo AutoComplete::widget(['name' => 'artist_name', 'id' => 'artist_name', 'clientOptions' => ['source' => new JsExpression("function(request, response) {\n                        \$.getJSON('" . Url::toRoute('artist/ajax-search', true) . "', {\n                            term: request.term\n                        }, response);\n                    }"), 'autoFill' => true, 'minLength' => '1', 'select' => new JsExpression("function(event, ui) {\n                        \$('#release-artist_id').val(ui.item.id);\n                        if (ui.item.add_name) \$('#add_name').text('(' + ui.item.add_name + ')');\n                     }"), 'search' => new JsExpression("function(event, ui) {\n                        \$('#add_name').text('');\n                        \$('#release-artist_id').val('');\n                    }"), 'response' => new JsExpression("function(event, ui) {\n                        if (ui.content.length > 0) {\n                            var value = \$('#artist_name').val().toLowerCase();\n                            var item = ui.content[0];\n                            var names = [item.original_name.toLowerCase()];\n                            if (item.latin_name) names.push(item.latin_name.toLowerCase());\n                            if (\$.inArray(value, names) > -1) \$('#release-artist_id').val(item.id);\n                            \$('.field-release-artist_id .info-block').text('');\n                        } else {\n                            \$('.field-release-artist_id .info-block').text('New Artist will be created.');\n                        }\n                    }")], 'options' => ['class' => 'form-control'], 'value' => $artist_name]);
$this->registerJs("\$('#{$form->options['id']}').yiiActiveForm('add', {\n                'id': 'artist_name',\n                'name': 'artist_name',\n                'container': '.field-release-artist_id',\n                'input': '#artist_name',\n                'validate': function(attribute, value, messages, deferred, \$form) {\n                    yii.validation.required(value, messages, {\n                        'message': 'Artist Name cannot be blank.'\n                    });\n                    yii.validation.string(value, messages, {\n                        'message': 'Artist Name must be a string.',\n                        'max': 255,\n                        'tooLong': 'Artist Name should contain at most 255 characters.',\n                        'skipOnEmpty': 1\n                    });\n                    value = yii.validation.trim(\$form, attribute, []);\n                }\n            })", View::POS_LOAD);
?>
            <div class="help-block"></div>
            <div class="info-block"></div>
            <?php