Skip to content

Commit

Permalink
Merge pull request #18 from Laravel-Backpack/check-if-macros-are-not-…
Browse files Browse the repository at this point in the history
…registered

Register macros only if not previously registered
  • Loading branch information
tabacitu authored Jun 29, 2023
2 parents 21de16c + c6e6cde commit 0979ac3
Showing 1 changed file with 16 additions and 11 deletions.
27 changes: 16 additions & 11 deletions src/AddonServiceProvider.php
Original file line number Diff line number Diff line change
Expand Up @@ -25,26 +25,31 @@ public function boot()
{
$this->autoboot();

//add media uploaders to UploadersRepository
// add media uploaders to UploadersRepository.
app('UploadersRepository')->addUploaderClasses([
'image' => MediaSingleBase64Image::class,
'upload' => MediaSingleFile::class,
'upload_multiple' => MediaMultipleFiles::class,
'dropzone' => MediaAjaxUploader::class,
], 'withMedia');

CrudField::macro('withMedia', function ($uploadDefinition = [], $subfield = null, $registerEvents = true) {
/** @var CrudField|CrudColumn $this */
RegisterUploadEvents::handle($this, $uploadDefinition, 'withMedia', $subfield, $registerEvents);
// register media upload macros on crud fields and columns.
if (! CrudField::hasMacro('withMedia')) {
CrudField::macro('withMedia', function ($uploadDefinition = [], $subfield = null, $registerEvents = true) {
/** @var CrudField $this */
RegisterUploadEvents::handle($this, $uploadDefinition, 'withMedia', $subfield, $registerEvents);

return $this;
});
return $this;
});
}

CrudColumn::macro('withMedia', function ($uploadDefinition = [], $subfield = null, $registerEvents = true) {
/** @var CrudField|CrudColumn $this */
RegisterUploadEvents::handle($this, $uploadDefinition, 'withMedia', $subfield, $registerEvents);
if (! CrudColumn::hasMacro('withMedia')) {
CrudColumn::macro('withMedia', function ($uploadDefinition = [], $subfield = null, $registerEvents = true) {
/** @var CrudColumn $this */
RegisterUploadEvents::handle($this, $uploadDefinition, 'withMedia', $subfield, $registerEvents);

return $this;
});
return $this;
});
}
}
}

0 comments on commit 0979ac3

Please sign in to comment.