fix(dokumen): perbaikan dan penambahan tipe custom field
- Menambahkan dukungan untuk berbagai tipe custom field: text, number, date, textarea, dan select. - Memperbaiki cara pengambilan nilai custom field dari detail. - Mengoptimalkan penggunaan variabel untuk meningkatkan keterbacaan kode.
This commit is contained in:
@@ -317,11 +317,38 @@
|
||||
@if($detail->jenisLegalitasJaminan->custom_fields)
|
||||
@foreach($detail->jenisLegalitasJaminan->custom_fields as $key)
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
@php
|
||||
$customField = getCustomField($key);
|
||||
$fieldValue = json_decode($detail->details)->{$customField->name} ?? '';
|
||||
@endphp
|
||||
<label class="form-label max-w-56 capitalize">
|
||||
{{ getCustomField($key)->label ?? "" }}
|
||||
{{ $customField->label ?? "" }}
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input class="input" type="text" name="custom_field[{{$detail->jenisLegalitasJaminan->id}}][{{getCustomField($key)->name}}]" value="{{ json_decode($detail->details)->{getCustomField($key)->name} ?? '' }}">
|
||||
@switch($customField->type)
|
||||
@case('text')
|
||||
<input class="input" type="text" name="custom_field[{{$detail->jenisLegalitasJaminan->id}}][{{$customField->name}}]" value="{{ $fieldValue }}" placeholder="...">
|
||||
@break
|
||||
@case('number')
|
||||
<input class="input" type="number" step="0.01" name="custom_field[{{$detail->jenisLegalitasJaminan->id}}][{{$customField->name}}]" value="{{ $fieldValue }}" placeholder="...">
|
||||
@break
|
||||
@case('date')
|
||||
<input class="input" type="date" name="custom_field[{{$detail->jenisLegalitasJaminan->id}}][{{$customField->name}}]" value="{{ $fieldValue }}">
|
||||
@break
|
||||
@case('textarea')
|
||||
<textarea class="textarea" name="custom_field[{{$detail->jenisLegalitasJaminan->id}}][{{$customField->name}}]" placeholder="...">{{ $fieldValue }}</textarea>
|
||||
@break
|
||||
@case('select')
|
||||
<select class="select" name="custom_field[{{$detail->jenisLegalitasJaminan->id}}][{{$customField->name}}]">
|
||||
<option value="">Select an option</option>
|
||||
@foreach($customField->options as $option)
|
||||
<option value="{{ $option }}" {{ $fieldValue == $option ? 'selected' : '' }}>{{ $option }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
@break
|
||||
@default
|
||||
<input class="input" type="text" name="custom_field[{{$detail->jenisLegalitasJaminan->id}}][{{$customField->name}}]" value="{{ $fieldValue }}" placeholder="...">
|
||||
@endswitch
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
@@ -330,11 +357,37 @@
|
||||
@if($detail->jenisLegalitasJaminan->custom_fields)
|
||||
@foreach($detail->jenisLegalitasJaminan->custom_fields as $key)
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
@php
|
||||
$customField = getCustomField($key);
|
||||
@endphp
|
||||
<label class="form-label max-w-56 capitalize">
|
||||
{{ getCustomField($key)->label }}
|
||||
{{ $customField->label }}
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input class="input" type="text" name="custom_field[{{$detail->jenisLegalitasJaminan->id}}][{{getCustomField($key)->name}}]" placeholder="...">
|
||||
@switch($customField->type)
|
||||
@case('text')
|
||||
<input class="input" type="text" name="custom_field[{{$detail->jenisLegalitasJaminan->id}}][{{$customField->name}}]" placeholder="...">
|
||||
@break
|
||||
@case('number')
|
||||
<input class="input" type="number" step="0.01" name="custom_field[{{$detail->jenisLegalitasJaminan->id}}][{{$customField->name}}]" placeholder="...">
|
||||
@break
|
||||
@case('date')
|
||||
<input class="input" type="date" name="custom_field[{{$detail->jenisLegalitasJaminan->id}}][{{$customField->name}}]">
|
||||
@break
|
||||
@case('textarea')
|
||||
<textarea class="textarea" name="custom_field[{{$detail->jenisLegalitasJaminan->id}}][{{$customField->name}}]" placeholder="..."></textarea>
|
||||
@break
|
||||
@case('select')
|
||||
<select class="select" name="custom_field[{{$detail->jenisLegalitasJaminan->id}}][{{$customField->name}}]">
|
||||
<option value="">Select an option</option>
|
||||
@foreach($customField->options as $option)
|
||||
<option value="{{ $option }}">{{ $option }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
@break
|
||||
@default
|
||||
<input class="input" type="text" name="custom_field[{{$detail->jenisLegalitasJaminan->id}}][{{$customField->name}}]" placeholder="...">
|
||||
@endswitch
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
@@ -387,12 +440,36 @@
|
||||
|
||||
@if($item->custom_fields)
|
||||
@foreach($item->custom_fields as $field)
|
||||
@php $custom_field = getCustomField($field) @endphp
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56 capitalize">
|
||||
{{ getCustomField($field)->label }}
|
||||
{{ $custom_field->label }}
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input class="input" type="text" name="custom_field[{{$item->id}}][{{getCustomField($field)->name}}]" placeholder="...">
|
||||
@switch($custom_field->type)
|
||||
@case('text')
|
||||
<input class="input" type="text" name="custom_field[{{$item->id}}][{{$custom_field->name}}]" placeholder="...">
|
||||
@break
|
||||
@case('number')
|
||||
<input class="input" type="number" step="0.01" name="custom_field[{{$item->id}}][{{$custom_field->name}}]" placeholder="...">
|
||||
@break
|
||||
@case('date')
|
||||
<input class="input" type="date" name="custom_field[{{$item->id}}][{{$custom_field->name}}]">
|
||||
@break
|
||||
@case('textarea')
|
||||
<textarea class="textarea" name="custom_field[{{$item->id}}][{{$custom_field->name}}]" placeholder="..."></textarea>
|
||||
@break
|
||||
@case('select')
|
||||
<select class="select" name="custom_field[{{$item->id}}][{{$custom_field->name}}]">
|
||||
<option value="">Select an option</option>
|
||||
@foreach($custom_field->options as $option)
|
||||
<option value="{{ $option }}">{{ $option }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
@break
|
||||
@default
|
||||
<input class="input" type="text" name="custom_field[{{$item->id}}][{{$custom_field->name}}]" placeholder="...">
|
||||
@endswitch
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
@@ -627,7 +704,7 @@
|
||||
case "text":
|
||||
return `<input class="input" type="text" name="custom_field[${itemId}][${fieldName}]" value="${value}">`;
|
||||
case "number":
|
||||
return `<input class="input" type="number" name="custom_field[${itemId}][${fieldName}]" value="${value}">`;
|
||||
return `<input class="input" type="number" step="0.01" name="custom_field[${itemId}][${fieldName}]" value="${value}">`;
|
||||
case "date":
|
||||
return `<input class="input" type="date" name="custom_field[${itemId}][${fieldName}]" value="${value}">`;
|
||||
case "textarea":
|
||||
|
||||
Reference in New Issue
Block a user