From: Vincent Vanwaelscappel Date: Thu, 19 Mar 2020 17:14:58 +0000 (+0100) Subject: wip #3511 @4 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=edbf8901763299745d9434c2ce60609b64ce7ecf;p=cubist_cms-back.git wip #3511 @4 --- diff --git a/src/app/CubistCrudRouter.php b/src/app/CubistCrudRouter.php index 212f462..2d78452 100644 --- a/src/app/CubistCrudRouter.php +++ b/src/app/CubistCrudRouter.php @@ -30,6 +30,7 @@ class CubistCrudRouter extends CrudRouter Route::match(['post'], $this->name . '/{id}/media', $this->controller . '@uploadMedia'); Route::match(['delete'], $this->name . '/{id}/media/{mediaId}', $this->controller . '@deleteMedia'); + Route::match(['post'], $this->name . '/{id}/media/{mediaId}/alt', $this->controller . '@altMedia'); Route::match(['post'], $this->name . '/{id}/media/reorder', $this->controller . '@reorderMedia'); } } diff --git a/src/app/Magic/Controllers/CubistMagicController.php b/src/app/Magic/Controllers/CubistMagicController.php index b22fbf5..c488d0f 100644 --- a/src/app/Magic/Controllers/CubistMagicController.php +++ b/src/app/Magic/Controllers/CubistMagicController.php @@ -15,10 +15,12 @@ use Cubist\Backpack\app\Magic\Requests\CubistMagicStoreRequest; use Cubist\Backpack\app\Magic\Requests\CubistMagicUpdateRequest; use Cubist\Backpack\CubistBackpackServiceProvider; use Gaspertrix\Backpack\DropzoneField\Traits\HandleAjaxMedia; +use Illuminate\Http\Request; use Illuminate\Support\Arr; use Illuminate\Support\Facades\App; use Illuminate\Support\Facades\Cache; use Illuminate\Support\Facades\Redirect; +use Spatie\MediaLibrary\Models\Media; class CubistMagicController extends CubistCrudController { @@ -147,7 +149,7 @@ class CubistMagicController extends CubistCrudController } $this->crud->addField($field->getDefinition(), $field->getCRUDForm()); - $this->crud->orderFields(['id','variant']); + $this->crud->orderFields(['id', 'variant']); $this->_fields[$field->getAttribute('name')] = $field; } @@ -317,4 +319,25 @@ class CubistMagicController extends CubistCrudController $this->_forgetCache(); parent::saveReorder(); } + + /** + * Delete file from the medialibrary + * + * @param Request $request [description] + * @param int $id [description] + * @param int $mediaId [description] + * @return [type] [description] + */ + public function altMedia(Request $request, $id, $mediaId) + { + /** @var Media $media */ + $media = Media::findOrFail($mediaId); + $media->setCustomProperty('alt', $request->get('alt')); + $media->save(); + + return response()->json([ + 'success' => true, + 'message' => 'Alternative text updated' + ]); + } } diff --git a/src/public/dropzone/dropzone.js b/src/public/dropzone/dropzone.js index 0743dfd..877901c 100644 --- a/src/public/dropzone/dropzone.js +++ b/src/public/dropzone/dropzone.js @@ -791,6 +791,8 @@ var Dropzone = function (_Emitter) { file.previewElement = Dropzone.createElement(this.options.previewTemplate.trim()); file.previewTemplate = file.previewElement; // Backwards compatibility + file.previewElement.setAttribute('data-alt', file.alt); + this.previewsContainer.appendChild(file.previewElement); for (var _iterator3 = file.previewElement.querySelectorAll("[data-dz-name]"), _isArray3 = true, _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : _iterator3[Symbol.iterator](); ;) { var _ref3; diff --git a/src/resources/views/fields/dropzone_media.blade.php b/src/resources/views/fields/dropzone_media.blade.php index bd33ced..c48afcd 100644 --- a/src/resources/views/fields/dropzone_media.blade.php +++ b/src/resources/views/fields/dropzone_media.blade.php @@ -1,12 +1,12 @@ route . '/' . $entry->id . '/media'); ?> @if(isset($entry))
{{ $field['label'] }}
-
@@ -22,8 +22,9 @@ $collection = old(square_brackets_to_dots($field['name'])) ?? $field['value'] ??