<?php
namespace Acme\MultilangTextarea;
use Illuminate\Http\Request;
use Laravel\Nova\Fields\Field;
class MultilangTextarea extends Field
{
/**
* The field's component.
*
* @var string
*/
public $component = 'multilang-textarea';
public function languages(object $languages): MultilangTextarea
{
return $this->withMeta(['languages' => $languages]);
}
public function countries(object $countries): MultilangTextarea
{
return $this->withMeta(['countries' => $countries, 'tinyApiKey' => config('app.tiny_api_key')]);
}
public function uploadLink(string $uploadLink): MultilangTextarea
{
return $this->withMeta(['uploadLink' => $uploadLink]);
}
// public function tinyApiKey(string $uploadLink): MultilangTextarea
// {
// return config('app.tiny_api_key');
// }
/**
* Fill the model's attribute with data.
*
* @param \Illuminate\Database\Eloquent\Model|\Laravel\Nova\Support\Fluent $model
* @param mixed $value
* @param string $attribute
* @return void
*/
public function fillModelWithData($model, $value, string $attribute)
{
// dd($model, $value, $attribute);
// $attributes = [Str::replace('.', '->', $attribute) => $value];
$url = config('app.url');
$attributes = [$attribute => str_replace('src=\"../../../storage', 'src=\"'.$url.'/storage', $value)];
// $attributes = [$attribute => $value];
$model->forceFill($attributes);
}
}