<h1><?php echo XeditableWidget::widget(['type' => 'comname', 'model' => $artist, 'attribute' => 'original_name', 'addAttribute' => 'latin_name', 'displayValue' => $artist->getComname(), 'aClass' => 'artist-name']); ?> </h1> <div class="form-group"> <?php echo \app\components\TagsWidgetEditable::widget(['id' => 'artist-tags', 'owner' => $artist]); ?> </div> </div> <div class="col-md-4"> <?php echo \app\components\GalleryWidget::widget(['isNew' => false, 'images' => $artist->getPhotos()->addOrderBy('is_main DESC')->all(), 'ownerClass' => 'Photo', 'ownerId' => $artist->id]); ?> </div> <div class="col-md-8"> <p class="text-right"> <a href="<?php echo Url::toRoute(['create', 'artistId' => $artist->id]); ?> "> <span class="glyphicon glyphicon-plus"></span> Add Release </a> </p> <?php echo ListView::widget(['dataProvider' => $dataProvider, 'itemView' => '_release']);
} ?> <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
<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' => '']);
<span class="release-artist"><?php echo $model->artist->getComname(); ?> </span> </div> <div> <?php echo XeditableWidget::widget(['type' => 'comname', 'model' => $model, 'attribute' => 'original_name', 'addAttribute' => 'latin_name', 'displayValue' => $model->getComname(), 'aClass' => 'release-name']); ?> </div> </div> <div class="col-md-4"> <?php echo \app\components\GalleryWidget::widget(['isNew' => false, 'images' => $model->getCovers()->addOrderBy('is_main DESC')->all(), 'ownerClass' => 'Cover', 'ownerId' => $model->id]); ?> </div> <div class="col-md-4"> <div class="tracks"><?php foreach ($model->tracks as $track) { echoTrack($track); } ?> </div> <span class="btn btn-default btn-xs fileinput-button" style="margin-top: 10px;"> <span class="glyphicon glyphicon-plus"></span> Add Tracks <?php echo FileUpload::widget(['name' => 'File[uploadedFiles][]', 'url' => ['file/upload', 'rid' => $model->id], 'options' => ['accept' => 'audio/*', 'multiple' => true], 'clientOptions' => ['maxFileSize' => 5000000, 'singleFileUploads' => false], 'clientEvents' => ['fileuploadstart' => "function (e) {\n \$('#progress-audio').removeClass('invisible');\n }", 'fileuploaddone' => "function(e, data) {\n \$('#progress-audio').addClass('invisible');\n \$('#progress-audio .bar').css('width', '0%');\n\n var trackTpl = Handlebars.compile(\$('#track-tpl').html());\n for (var i = 0; i < data.result.length; i++) {\n var item = data.result[i];\n \$('.tracks').append(trackTpl({\n id: item.track_id,\n comname: item.comname,\n number: item.number,\n url: item.url\n })).children().last().fadeIn();\n }\n }", 'fileuploadfail' => "function(e, data) {\n bootbox.alert('Error');\n }", 'fileuploadprogressall' => "function (e, data) {\n var progress = parseInt(data.loaded / data.total * 100, 10);\n \$('#progress-audio .bar').css('width', progress + '%');\n }"]]);