]
],
[
- 'name' => 'videoFiles',
- 'title' => 'Видео: mp4, mov, avi',
- 'type' => FileInput::class,
- 'options' => [
- 'options' => [
- 'multiple' => false,
- 'accept' => 'video/*',
- 'name' => 'video_name',
- ],
- 'pluginOptions' => [
- 'showPreview' => true,
- 'showCaption' => false,
- 'showRemove' => true,
- 'showUpload' => false,
- 'browseIcon' => '+',
- 'cancelIcon' => 'x',
- 'removeIcon' => '-',
- 'buttonLabelClass' => 'hidden',
- 'fileActionSettings' => [
- 'showUpload' => false
- ],
- 'previewFileType' => 'video',
- 'allowedFileExtensions' => ['mp4', 'mov', 'avi'],
- 'initialPreview' => isset($model->id) ? [
- Files::find()
- ->select('url')
- ->where([
- 'entity' => WriteOffsProductsErp::WRITE_OFFS_VIDEO,
- 'entity_id' => $model->id
- ])
- ->scalar()
- ] : [],
- 'initialPreviewAsData' => true,
- 'initialPreviewConfig' => isset($model->id) ? [[
- 'type' => 'video',
- 'caption' => basename(
- Files::find()
- ->select('url')
- ->where([
+ 'name' => 'videoFiles',
+ 'title' => 'Видео: mp4, mov, avi',
+ 'type' => FileInput::className(),
+ 'value' => function ($row) {
+ if (!isset($row['id'])) return null;
+
+ $file = Files::findOne([
'entity' => WriteOffsProductsErp::WRITE_OFFS_VIDEO,
- 'entity_id' => $model->id
- ])
- ->scalar()
- ),
- 'url' => Url::to(['delete-video', 'id' => $model->id]),
- ]] : [],
- ]
- ]
-],
+ 'entity_id' => $row['id']
+ ]);
+
+ return $file ? $file->url : null;
+ },
+ 'columnOptions' => function ($rowModel, $index, $context) {
+ $file = null;
+ $initialPreview = [];
+ $initialPreviewConfig = [];
+
+ if (isset($rowModel['id'])) {
+ $file = Files::findOne([
+ 'entity' => WriteOffsProductsErp::WRITE_OFFS_VIDEO,
+ 'entity_id' => $rowModel['id']
+ ]);
+
+ if ($file) {
+ $initialPreview = [$file->url];
+ $initialPreviewConfig = [[
+ 'type' => 'video',
+ 'caption' => basename($file->url),
+ 'url' => \yii\helpers\Url::to(['delete-video', 'id' => $rowModel['id']]),
+ ]];
+ }
+ }
+
+ return [
+ 'options' => [
+ 'multiple' => false,
+ 'accept' => 'video/*',
+ 'name' => 'video_name'
+ ],
+ 'pluginOptions' => [
+ 'showPreview' => true,
+ 'showCaption' => true,
+ 'showRemove' => true,
+ 'showUpload' => true,
+ 'previewFileType' => 'video',
+ 'allowedFileTypes' => ['video'],
+ 'allowedFileExtensions' => ['mp4', 'mov', 'avi'],
+ 'maxFileSize' => 10240,
+ 'initialPreview' => $initialPreview,
+ 'initialPreviewAsData' => true,
+ 'initialPreviewConfig' => $initialPreviewConfig,
+ ],
+ ];
+ },
+ ],
[
'name' => 'comment',
'type' => 'textInput',