<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' => '']);
} ?> <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