@props([ 'presenter' => null, 'buttons' => null, 'export_filename' => 'export-'.date('Y-m-d'), 'api_url' => null, 'show_column_search' => null, 'show_advanced_search' => null, 'show_search' => true, 'fixed_number' => null, 'fixed_right_number' => null, 'sort_order' => 'asc', 'sort_field' => 'name', 'aria_labelledby' => null, ]) @aware(['name']) {{-- Automatically determine aria-labelledby from the enclosing box or tab-pane's box-title h3 id. Both containers output id="{name}-title" when name is set, so any table underneath can programmatically pair with it without us having to remember to add it. --}} @php $aria_labelledby ??= ($name && $name !== 'default') ? $name.'-title' : null; @endphp {{-- fixed_number / fixed_right_number pin the first / last N columns via CSS position:sticky (snipe-table--sticky-*-N in overrides.less). The bootstrap-table fixed-columns feature that used to handle this was pulled from the bundle — its clone-and-overlay approach misplaced tooltips when the container reflowed and drifted in height with long-content rows. --}} (bool) $fixed_right_number, 'snipe-table--sticky-left-' . $fixed_number => (bool) $fixed_number, ]) data-cookie-id-table="{{ $name }}ListingTable" data-id-table="{{ $name }}ListingTable" data-sort-order="{{ $sort_order }}" data-toolbar="#{{ Illuminate\Support\Str::camel($name) }}Toolbar" data-bulk-button-id="#{{ Illuminate\Support\Str::camel($name) }}Button" data-bulk-form-id="#{{ Illuminate\Support\Str::camel($name) }}Form" data-selected-count-id="#{{ Illuminate\Support\Str::camel($name) }}SelectedCount" id="{{ $name }}ListingTable" data-show-columns-search="{{ $show_column_search }}" data-show-advanced-search="{{ $show_advanced_search }}" {{-- Deeplinking piggybacks on advanced search: if a page opts a table into the modal-driven advanced search, it also gets shareable ?filter[...] URLs. --}} data-advanced-search-deeplink="{{ filter_var($show_advanced_search, FILTER_VALIDATE_BOOLEAN) ? 'true' : 'false' }}" data-search="{{ $show_search }}" data-footer-style="footerStyle" data-show-footer="true" @if ($presenter) data-columns="{{ $presenter }}" @endif @if ($buttons) data-buttons="{{ $buttons }}" @endif @if ($api_url) data-side-pagination="server" data-url="{!! $api_url !!}" @endif data-export-options='{ "fileName": "{{ $export_filename }}", "ignoreColumn": ["actions","available_actions", "image","change","checkbox","checkincheckout","icon"] }'>