| 123456789101112131415161718192021222324252627 | <?php
namespace App\Concerns;
trait HasTabSpecificColumnToggles
{
    public function getTableColumnToggleFormStateSessionKey(): string
    {
        $table = class_basename($this::class);
        $tab = $this->activeTab;
        return "tables.{$table}_{$tab}_toggled_columns";
    }
    public function updatedActiveTab(): void
    {
        parent::updatedActiveTab();
        // Load saved state for new tab or fall back to defaults
        $this->toggledTableColumns = session(
            $this->getTableColumnToggleFormStateSessionKey(),
            $this->getDefaultTableColumnToggleState()
        );
        $this->updatedToggledTableColumns();
    }
}
 |