{{-- regular object attribute --}}
@php
// dump($entry->getArrayAttribute('type'));
$column['value'] = $column['value'] ?? data_get($entry, $column['name']);
$json_value = json_decode($column['value']);
if (json_last_error() === 0 || (json_last_error() === JSON_ERROR_NONE)) {
// prepare repeatable fields
$value="";
$separator="";
if (is_array($json_value)) {
foreach($json_value as $json_entry){
$value.=$separator.$json_entry->name;
$separator=", ";
}
}else{
$value = $json_value;
}
$column['value']=$value;
}
$column['escaped'] = $column['escaped'] ?? true;
$column['limit'] = $column['limit'] ?? 32;
$column['prefix'] = $column['prefix'] ?? '';
$column['suffix'] = $column['suffix'] ?? '';
$column['text'] = $column['default'] ?? '-';
if($column['value'] instanceof \Closure) {
$column['value'] = $column['value']($entry);
}
if(is_array($column['value'])) {
$column['value'] = json_encode($column['value']);
}
switch($entry->getArrayAttribute('type')){
case 'media_picker':
$column['text'] = $column['value']? getImageHtml($column['value']) : "" ;
$column['escaped'] = false;
break;
default:
if(!empty($column['value'])) {
if (preg_match('/^data\:image\//', $column['value'])) { // base64_image
// svg/base64 image
$href = $column['value'];
$column['text'] = '
';
$column['escaped'] = false;
//}else if(substr($column['value'],0,7)=='storage'){
}else if(preg_match('/\.(jpg|jpeg|png|gif|webp|bmp)$/i', $column['value'])){
// storage image
$column['text'] = '
';
$column['escaped'] = false;
}else{
$column['text'] = $column['prefix'].Str::limit($column['value'], $column['limit'], '…').$column['suffix'];
}
}
break;
}
@endphp
@includeWhen(!empty($column['wrapper']), 'crud::columns.inc.wrapper_start')
@if($column['escaped'])
{{ $column['text'] }}
@else
{!! $column['text'] !!}
@endif
@includeWhen(!empty($column['wrapper']), 'crud::columns.inc.wrapper_end')