@props([
'id' => null,
'resource' => null,
'title' => null,
'titleIcon' => null,
'eyebrow' => null,
'description' => null,
'columns' => [],
'rows' => [],
'paginator' => null,
'createUrl' => null,
'createLabel' => null,
'bulkDeleteUrl' => null,
'bulkDeleteLabel' => null,
'bulkDeleteConfirm' => null,
'emptyTitle' => null,
'emptyText' => null,
'selectable' => true,
'settingsLabel' => null,
'exportLabel' => null,
'itemsPerPageOptions' => null,
])
@php
$createLabel = $createLabel ?: __('kview-ui-data::table.new_record');
$bulkDeleteLabel = $bulkDeleteLabel ?: __('kview-ui-data::table.delete_selected');
$bulkDeleteConfirm = $bulkDeleteConfirm ?: __('kview-ui-data::table.delete_selected_confirm');
$emptyTitle = $emptyTitle ?: __('kview-ui-data::table.empty_title');
$emptyText = $emptyText ?: __('kview-ui-data::table.empty_text');
$settingsLabel = $settingsLabel ?: __('kview-ui-data::table.settings');
$exportLabel = $exportLabel ?: __('kview-ui-data::table.export.label');
$columns = app(\Kview\UiData\TableColumnRegistry::class)->normalizeMany($columns);
$types = app(\Kview\UiData\TableCellTypeRegistry::class);
$tableId = $id ?: 'erp-table-'.str()->random(8);
$exportModalId = $tableId.'_export_modal';
$exportName = str($title ?: $tableId)->slug()->toString() ?: $tableId;
$hasRowActions = collect($rows)->contains(fn ($row) => ! empty($row['actions']));
$previewDrawerId = $tableId.'_preview_drawer';
$hasPreviewActions = collect($rows)->contains(function ($row) {
return collect($row['actions'] ?? [])->contains(fn ($action) => ! empty($action['preview']));
});
$totalRows = $paginator ? $paginator->total() : count($rows);
$defaultFootnote = $paginator && $totalRows > 0
? __('kview-ui-data::table.showing_range', [
'first' => $paginator->firstItem(),
'last' => $paginator->lastItem(),
'total' => $totalRows,
])
: __('kview-ui-data::table.showing', ['count' => count($rows), 'total' => $totalRows]);
$itemsPerPageOptions = $itemsPerPageOptions
?: app(\Kview\UiData\PaginationOptions::class)->standardSelectOptions();
$erpTranslations = [
'selected' => __('kview-ui-data::table.selected'),
'footnoteFiltered' => __('kview-ui-data::table.footnote_filtered'),
'resetTitle' => __('kview-ui-data::table.reset_title'),
'resetMessage' => __('kview-ui-data::table.reset_message'),
'nothingTitle' => __('kview-ui-data::table.export.nothing_title'),
'nothingMessage' => __('kview-ui-data::table.export.nothing_message'),
'preparingTitle' => __('kview-ui-data::table.export.preparing_title'),
'preparingMessage' => __('kview-ui-data::table.export.preparing_message'),
'readyTitle' => __('kview-ui-data::table.export.ready_title'),
'readyMessage' => __('kview-ui-data::table.export.ready_message'),
'row' => __('kview-ui-data::table.export.row'),
'rows' => __('kview-ui-data::table.export.rows'),
];
@endphp
@isset($filters)
{{ $filters }}
@endisset
@if ($hasPreviewActions)
@endif