public function init() { parent::init(); if (empty($this->id)) { throw new InvalidConfigException('must config id attribute'); } ImgareaselectAsset::registerWithStyle($this->getView(), $this->getStyleOption()); }
<div class="form-group"> <?php echo Html::submitButton($model->isNewRecord ? Yii::t('comments', 'Создать') : Yii::t('comments', 'Изменить'), ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']); ?> </div> <?php ActiveForm::end(); ?> <div style="max-width: 600px; margin: 0 auto;" class="text-center"> <div id="preview-image"><img id="previewImage" src="" alt="preview"/></div> <label id="dropzone" for="uploadimage" class="dropzone text-muted"> <i id="uploadIcon" class="fa fa-cloud-upload fa-5x"></i> <i id="loadingIcon" class="fa fa-spinner fa-spin fa-5x"></i> <br/> <?php echo Yii::t('comments', 'Перетащите сюда фотографию, или нажмите чтобы загрузка ее.'); ?> <br/> <span class="text-danger" id="upload-error"></span> </label> </div> </div> <?php ImgAreaSelect::widget(['id' => '#previewImage', 'clientOptions' => ['minWidth' => 300, 'minHeight' => 300, 'aspectRatio' => '1:1', 'persistent' => true, 'show' => true, 'instance' => true, 'x1' => 0, 'y1' => 0, 'x2' => 0, 'y2' => 0], 'var' => 'previewImage']); $this->registerJs("\n input = \$('#uploadimage')[0];\n \$('#" . ($model->isNewRecord ? 'createForm' : 'updateForm') . "').on('afterValidateAttribute', function (buff, buff, msg) {\n if (msg.length === 0)\n {\n if (buff.input == '#uploadimage')\n {\n if (input.files && input.files[0]) {\n reader.readAsDataURL(input.files[0]);\n } else {\n \$('#dropzone').css('display', 'inline-block');\n \$('#preview-image').css('display', 'none');\n \$('#preview-image img').attr('src', '');\n }\n }\n } else {\n \$('#upload-error').html(msg[0]);\n dropzone.removeClass('noDrop');\n \$('#uploadIcon').css('display', 'inline-block');\n \$('#loadingIcon').css('display', 'none');\n }\n});\n\n\$('#" . ($model->isNewRecord ? 'createForm' : 'updateForm') . "').on('beforeSubmit', function () {\n console.log('test');\n \$('#x1Cord').val(previewImage.getSelection().x1);\n \$('#y1Cord').val(previewImage.getSelection().y1);\n \$('#x2Cord').val(previewImage.getSelection().x2);\n \$('#y2Cord').val(previewImage.getSelection().y2);\n});\n "); ImgareaselectAsset::registerWithStyle($this, ImgareaselectAsset::STYLE_DEFAULT);