@php
$setting = $config['form']['sidebar']['setting']['input'];
$k_last = array_key_last($setting);
@endphp
@foreach ($setting as $k_s => $s)
@if (!empty($s['status']))
@php
$chk_req = !empty($s['validate']);
@endphp
@if ($s['type'] == 'checkbox')
@php
$chk = !empty($data) ? $data->{$k_s} == 1 : $k_s == 'status';
$chkLabelKey = !empty($s['label_key']) ? $s['label_key'] : $k_s;
@endphp
@elseif ($s['type'] == 'input')
@elseif ($s['type'] == 'multiple')
@php
$selected = $data->{$k_s} ?? null;
@endphp
@elseif ($s['type'] == 'select')
@php
$selected = null;
$selectLabelKey = !empty($s['label_key']) ? $s['label_key'] : $k_s;
$dataType = !empty($s['data_type']) ? $s['data_type'] : (str_contains($s['url'] ?? '', 'get_category_list') ? $module : '');
if (str_contains($k_s, '_id')) {
$new_k_s = str_replace('_id', '', $k_s);
$selected = $data->{$new_k_s} ?? null;
if (!empty($selected) && empty($selected->parent)) {
$selected = null;
}
} else {
$selectedRelation = $data->{$k_s} ?? null;
if (empty($selectedRelation) && !empty($data) && method_exists($data, "{$k_s}s")) {
$selectedRelation = $data->{"{$k_s}s"};
}
if ($selectedRelation instanceof \Illuminate\Database\Eloquent\Model) {
$selected = $selectedRelation;
} elseif (is_scalar($selectedRelation) && $selectedRelation !== '') {
$selectedId = (int) $selectedRelation;
if (in_array($k_s, ['class_period', 'course_type'], true) && $selectedId > 0) {
$selectedCategory = \Modules\Content\app\Models\Category::with('local')->find($selectedId);
if (!empty($selectedCategory)) {
$selected = (object) [
'id' => $selectedCategory->id,
'name' => $selectedCategory->local->name ?? $selectedCategory->id,
];
}
}
if (empty($selected) && $selectedId > 0) {
$selected = (object) [
'id' => $selectedId,
'name' => (string) $selectedId,
];
}
} elseif (!empty($selectedRelation[0])) {
$f = $selectedRelation[0];
$selected = (object) ['id' => $f->id, 'name' => $f->local->name];
}
}
@endphp
@elseif ($s['type'] == 'select2')
@php
$dataType = !empty($s['data_type']) ? $s['data_type'] : (str_contains($s['url'] ?? '', 'get_category_list') ? $module : '');
@endphp
@elseif ($s['type'] == 'icon')
@php
$val = !empty($s['start']) && !empty($s['end']) ? str_implode(' to ', $data->{$s['start']} ?? null, $data->{$s['end']} ?? null) : $data->{$k_s} ?? null;
if (empty($val) && !empty($data) && isset($data->{$k_s})) {
$val = $data->{$k_s};
}
@endphp
@elseif ($s['type'] == 'time')
@php
$timeStart = $data->{$s['start']} ?? '';
$timeEnd = $data->{$s['end']} ?? '';
if ((empty($timeStart) || empty($timeEnd)) && !empty($data->{$k_s})) {
$expTime = preg_split('/\s*-\s*/', (string) $data->{$k_s});
$timeStart = $timeStart ?: ($expTime[0] ?? '');
$timeEnd = $timeEnd ?: ($expTime[1] ?? '');
}
@endphp
-
@elseif ($s['type'] == 'number')
@php
$numberValue = $data->{$k_s} ?? null;
if ($k_s === 'rating' && !empty($data)) {
$numberValue = $data->rating->rating ?? null;
}
@endphp
@endif
@endif
@endforeach