Hide/show columns.

This commit is contained in:
2025-11-07 11:16:34 -08:00
parent 5dfcb6ff44
commit 706807654b

View File

@@ -41,10 +41,10 @@
<template x-for="(column, index) in columns" :key="index">
<label class="flex items-center p-2 hover:bg-slate-50 rounded cursor-pointer">
<input type="checkbox"
:value="index"
:value="column"
x-model="visibleColumns"
:changed="saveColumnSettings()"
:checked="visibleColumns.includes(index)"
@change="saveColumnSettings()"
:checked="visibleColumns.includes(column)"
class="mr-2 rounded border-gray-300 text-blue-600 focus:ring-blue-500">
<span class="text-sm" x-text="column"></span>
</label>
@@ -69,85 +69,85 @@
<thead class=" text-left text-sm sticky top-0 z-10 border-b border-blue-800 text-white font-medium"
style="background-color: rgb(89, 121, 142);">
<tr>
<th class="px-4 py-3" :class="{'hidden': !visibleColumns.includes(0)}">Matter Num</th>
<th class="px-4 py-3" :class="{'hidden': !visibleColumns.includes(1)}">Client / Property</th>
<th class="px-4 py-3" :class="{'hidden': !visibleColumns.includes(2)}">Matter Description</th>
<th class="px-4 py-3" :class="{'hidden': !visibleColumns.includes(3)}">Defendant 1</th>
<th class="px-4 py-3" :class="{'hidden': !visibleColumns.includes(4)}">Matter Open</th>
<th class="px-4 py-3" :class="{'hidden': !visibleColumns.includes(5)}">Practice Area</th>
<th class="px-4 py-3" :class="{'hidden': !visibleColumns.includes(6)}">Notice Type</th>
<th class="px-4 py-3" :class="{'hidden': !visibleColumns.includes(7)}">Case Number</th>
<th class="px-4 py-3" :class="{'hidden': !visibleColumns.includes(8)}">Premises Address</th>
<th class="px-4 py-3" :class="{'hidden': !visibleColumns.includes(9)}">Premises City</th>
<th class="px-4 py-3" :class="{'hidden': !visibleColumns.includes(10)}">Assigned Attorney</th>
<th class="px-4 py-3" :class="{'hidden': !visibleColumns.includes(11)}">Primary Contact</th>
<th class="px-4 py-3" :class="{'hidden': !visibleColumns.includes(12)}">Secondary Paralegal</th>
<th class="px-4 py-3" :class="{'hidden': !visibleColumns.includes(13)}">Documents</th>
<th class="px-4 py-3" :class="{'hidden': !visibleColumns.includes(14)}">Matter Stage</th>
<th class="px-4 py-3 w-[400px]" :class="{'hidden': !visibleColumns.includes(15)}">Completed Tasks</th>
<th class="px-4 py-3 w-[400px]" :class="{'hidden': !visibleColumns.includes(16)}">Pending Tasks</th>
<th class="px-4 py-3" :class="{'hidden': !visibleColumns.includes(17)}">Notice Service Date</th>
<th class="px-4 py-3" :class="{'hidden': !visibleColumns.includes(18)}">Notice Expir. Date</th>
<th class="px-4 py-3" :class="{'hidden': !visibleColumns.includes(19)}">Date Case Filed</th>
<th class="px-4 py-3" :class="{'hidden': !visibleColumns.includes(20)}">Daily Rent Damages</th>
<th class="px-4 py-3" :class="{'hidden': !visibleColumns.includes(21)}">Default Date</th>
<th class="px-4 py-3" :class="{'hidden': !visibleColumns.includes(22)}">Default Entered On</th>
<th class="px-4 py-3" :class="{'hidden': !visibleColumns.includes(23)}">Motions:</th>
<th class="px-4 py-3" :class="{'hidden': !visibleColumns.includes(24)}">Demurrer Hearing Date</th>
<th class="px-4 py-3" :class="{'hidden': !visibleColumns.includes(25)}">Motion To Strike Hearing Date</th>
<th class="px-4 py-3" :class="{'hidden': !visibleColumns.includes(26)}">Motion to Quash Hearing Date</th>
<th class="px-4 py-3" :class="{'hidden': !visibleColumns.includes(27)}">Other Motion Hearing Date</th>
<th class="px-4 py-3" :class="{'hidden': !visibleColumns.includes(28)}">MSC Date</th>
<th class="px-4 py-3" :class="{'hidden': !visibleColumns.includes(29)}">MSC Time</th>
<th class="px-4 py-3" :class="{'hidden': !visibleColumns.includes(30)}">MSC Address</th>
<th class="px-4 py-3" :class="{'hidden': !visibleColumns.includes(31)}">MSC Div/ Dept/ Room</th>
<th class="px-4 py-3" :class="{'hidden': !visibleColumns.includes(32)}">Trial Date</th>
<th class="px-4 py-3" :class="{'hidden': !visibleColumns.includes(33)}">Trial Time</th>
<th class="px-4 py-3" :class="{'hidden': !visibleColumns.includes(34)}">Trial Address</th>
<th class="px-4 py-3" :class="{'hidden': !visibleColumns.includes(35)}">Trial Div/ Dept/ Room</th>
<th class="px-4 py-3" :class="{'hidden': !visibleColumns.includes(36)}">Final Result of Trial/ MSC</th>
<th class="px-4 py-3" :class="{'hidden': !visibleColumns.includes(37)}">Date of Settlement</th>
<th class="px-4 py-3" :class="{'hidden': !visibleColumns.includes(38)}">Final Obligation Under the Stip</th>
<th class="px-4 py-3" :class="{'hidden': !visibleColumns.includes(39)}">Def's Comply with the Stip?</th>
<th class="px-4 py-3" :class="{'hidden': !visibleColumns.includes(40)}">Judgment Date</th>
<th class="px-4 py-3" :class="{'hidden': !visibleColumns.includes(41)}">Writ Issued Date</th>
<th class="px-4 py-3" :class="{'hidden': !visibleColumns.includes(42)}">Scheduled Lockout</th>
<th class="px-4 py-3" :class="{'hidden': !visibleColumns.includes(43)}">Oppose Stays?</th>
<th class="px-4 py-3" :class="{'hidden': !visibleColumns.includes(44)}">Premises Safety or Access Issues</th>
<th class="px-4 py-3" :class="{'hidden': !visibleColumns.includes(45)}">Matter Gate or Entry Code</th>
<th class="px-4 py-3" :class="{'hidden': !visibleColumns.includes(46)}">Date Possession Recovered</th>
<th class="px-4 py-3" :class="{'hidden': !visibleColumns.includes(47)}">Attorney's Fees</th>
<th class="px-4 py-3" :class="{'hidden': !visibleColumns.includes(48)}">Costs</th>
<th class="px-4 py-3" :class="{'hidden': !isColumnVisible('Matter Num')}">Matter Num</th>
<th class="px-4 py-3" :class="{'hidden': !isColumnVisible('Client / Property')}">Client / Property</th>
<th class="px-4 py-3" :class="{'hidden': !isColumnVisible('Matter Description')}">Matter Description</th>
<th class="px-4 py-3" :class="{'hidden': !isColumnVisible('Defendant 1')}">Defendant 1</th>
<th class="px-4 py-3" :class="{'hidden': !isColumnVisible('Matter Open')}">Matter Open</th>
<th class="px-4 py-3" :class="{'hidden': !isColumnVisible('Practice Area')}">Practice Area</th>
<th class="px-4 py-3" :class="{'hidden': !isColumnVisible('Notice Type')}">Notice Type</th>
<th class="px-4 py-3" :class="{'hidden': !isColumnVisible('Case Number')}">Case Number</th>
<th class="px-4 py-3" :class="{'hidden': !isColumnVisible('Premises Address')}">Premises Address</th>
<th class="px-4 py-3" :class="{'hidden': !isColumnVisible('Premises City')}">Premises City</th>
<th class="px-4 py-3" :class="{'hidden': !isColumnVisible('Assigned Attorney')}">Assigned Attorney</th>
<th class="px-4 py-3" :class="{'hidden': !isColumnVisible('Primary Contact')}">Primary Contact</th>
<th class="px-4 py-3" :class="{'hidden': !isColumnVisible('Secondary Paralegal')}">Secondary Paralegal</th>
<th class="px-4 py-3" :class="{'hidden': !isColumnVisible('Documents')}">Documents</th>
<th class="px-4 py-3" :class="{'hidden': !isColumnVisible('Matter Stage')}">Matter Stage</th>
<th class="px-4 py-3 w-[400px]" :class="{'hidden': !isColumnVisible('Completed Tasks')}">Completed Tasks</th>
<th class="px-4 py-3 w-[400px]" :class="{'hidden': !isColumnVisible('Pending Tasks')}">Pending Tasks</th>
<th class="px-4 py-3" :class="{'hidden': !isColumnVisible('Notice Service Date')}">Notice Service Date</th>
<th class="px-4 py-3" :class="{'hidden': !isColumnVisible('Notice Expir. Date')}">Notice Expir. Date</th>
<th class="px-4 py-3" :class="{'hidden': !isColumnVisible('Date Case Filed')}">Date Case Filed</th>
<th class="px-4 py-3" :class="{'hidden': !isColumnVisible('Daily Rent Damages')}">Daily Rent Damages</th>
<th class="px-4 py-3" :class="{'hidden': !isColumnVisible('Default Date')}">Default Date</th>
<th class="px-4 py-3" :class="{'hidden': !isColumnVisible('Default Entered On')}">Default Entered On</th>
<th class="px-4 py-3" :class="{'hidden': !isColumnVisible('Motions:')}">Motions:</th>
<th class="px-4 py-3" :class="{'hidden': !isColumnVisible('Demurrer Hearing Date')}">Demurrer Hearing Date</th>
<th class="px-4 py-3" :class="{'hidden': !isColumnVisible('Motion To Strike Hearing Date')}">Motion To Strike Hearing Date</th>
<th class="px-4 py-3" :class="{'hidden': !isColumnVisible('Motion to Quash Hearing Date')}">Motion to Quash Hearing Date</th>
<th class="px-4 py-3" :class="{'hidden': !isColumnVisible('Other Motion Hearing Date')}">Other Motion Hearing Date</th>
<th class="px-4 py-3" :class="{'hidden': !isColumnVisible('MSC Date')}">MSC Date</th>
<th class="px-4 py-3" :class="{'hidden': !isColumnVisible('MSC Time')}">MSC Time</th>
<th class="px-4 py-3" :class="{'hidden': !isColumnVisible('MSC Address')}">MSC Address</th>
<th class="px-4 py-3" :class="{'hidden': !isColumnVisible('MSC Div/ Dept/ Room')}">MSC Div/ Dept/ Room</th>
<th class="px-4 py-3" :class="{'hidden': !isColumnVisible('Trial Date')}">Trial Date</th>
<th class="px-4 py-3" :class="{'hidden': !isColumnVisible('Trial Time')}">Trial Time</th>
<th class="px-4 py-3" :class="{'hidden': !isColumnVisible('Trial Address')}">Trial Address</th>
<th class="px-4 py-3" :class="{'hidden': !isColumnVisible('Trial Div/ Dept/ Room')}">Trial Div/ Dept/ Room</th>
<th class="px-4 py-3" :class="{'hidden': !isColumnVisible('Final Result of Trial/ MSC')}">Final Result of Trial/ MSC</th>
<th class="px-4 py-3" :class="{'hidden': !isColumnVisible('Date of Settlement')}">Date of Settlement</th>
<th class="px-4 py-3" :class="{'hidden': !isColumnVisible('Final Obligation Under the Stip')}">Final Obligation Under the Stip</th>
<th class="px-4 py-3" :class="{'hidden': !isColumnVisible('Def\'s Comply with the Stip?')}">Def's Comply with the Stip?</th>
<th class="px-4 py-3" :class="{'hidden': !isColumnVisible('Judgment Date')}">Judgment Date</th>
<th class="px-4 py-3" :class="{'hidden': !isColumnVisible('Writ Issued Date')}">Writ Issued Date</th>
<th class="px-4 py-3" :class="{'hidden': !isColumnVisible('Scheduled Lockout')}">Scheduled Lockout</th>
<th class="px-4 py-3" :class="{'hidden': !isColumnVisible('Oppose Stays?')}">Oppose Stays?</th>
<th class="px-4 py-3" :class="{'hidden': !isColumnVisible('Premises Safety or Access Issues')}">Premises Safety or Access Issues</th>
<th class="px-4 py-3" :class="{'hidden': !isColumnVisible('Matter Gate or Entry Code')}">Matter Gate or Entry Code</th>
<th class="px-4 py-3" :class="{'hidden': !isColumnVisible('Date Possession Recovered')}">Date Possession Recovered</th>
<th class="px-4 py-3" :class="{'hidden': !isColumnVisible('Attorney\'s Fees')}">Attorney's Fees</th>
<th class="px-4 py-3" :class="{'hidden': !isColumnVisible('Costs')}">Costs</th>
</tr>
</thead>
<tbody class="bg-slate-100 divide-y divide-slate-300">
{% for r in rows %}
<tr class="hover:bg-slate-200 transition-colors duration-150 ease-in-out">
<td class="px-4 py-3 text-sm text-slate-800" :class="{'hidden': !visibleColumns.includes(0)}"></td>
<td class="px-4 py-3 text-sm text-slate-800" :class="{'hidden': !visibleColumns.includes(1)}">{{ r.client }}</td>
<td class="px-4 py-3 text-sm text-slate-800" :class="{'hidden': !visibleColumns.includes(2)}">{{ r.matter_description }}</td>
<td class="px-4 py-3 text-sm text-slate-800" :class="{'hidden': !visibleColumns.includes(3)}">{{ r.defendant_1 }}</td>
<td class="px-4 py-3 text-sm text-slate-800" :class="{'hidden': !visibleColumns.includes(4)}">{{ r.matter_open }}</td>
<td class="px-4 py-3 text-sm text-slate-800" :class="{'hidden': !visibleColumns.includes(5)}"></td>
<td class="px-4 py-3 text-sm text-slate-800" :class="{'hidden': !visibleColumns.includes(6)}">{{ r.notice_type }}</td>
<td class="px-4 py-3 text-sm text-slate-800" :class="{'hidden': !visibleColumns.includes(7)}">{{ r.case_number }}</td>
<td class="px-4 py-3 text-sm text-slate-800" :class="{'hidden': !visibleColumns.includes(8)}">{{ r.premises_address }}</td>
<td class="px-4 py-3 text-sm text-slate-800" :class="{'hidden': !visibleColumns.includes(9)}">{{ r.premises_city }}</td>
<td class="px-4 py-3 text-sm text-slate-800" :class="{'hidden': !visibleColumns.includes(10)}">
<td class="px-4 py-3 text-sm text-slate-800" :class="{'hidden': !isColumnVisible('Matter Num')}"></td>
<td class="px-4 py-3 text-sm text-slate-800" :class="{'hidden': !isColumnVisible('Client / Property')}">{{ r.client }}</td>
<td class="px-4 py-3 text-sm text-slate-800" :class="{'hidden': !isColumnVisible('Matter Description')}">{{ r.matter_description }}</td>
<td class="px-4 py-3 text-sm text-slate-800" :class="{'hidden': !isColumnVisible('Defendant 1')}">{{ r.defendant_1 }}</td>
<td class="px-4 py-3 text-sm text-slate-800" :class="{'hidden': !isColumnVisible('Matter Open')}">{{ r.matter_open }}</td>
<td class="px-4 py-3 text-sm text-slate-800" :class="{'hidden': !isColumnVisible('Practice Area')}"></td>
<td class="px-4 py-3 text-sm text-slate-800" :class="{'hidden': !isColumnVisible('Notice Type')}">{{ r.notice_type }}</td>
<td class="px-4 py-3 text-sm text-slate-800" :class="{'hidden': !isColumnVisible('Case Number')}">{{ r.case_number }}</td>
<td class="px-4 py-3 text-sm text-slate-800" :class="{'hidden': !isColumnVisible('Premises Address')}">{{ r.premises_address }}</td>
<td class="px-4 py-3 text-sm text-slate-800" :class="{'hidden': !isColumnVisible('Premises City')}">{{ r.premises_city }}</td>
<td class="px-4 py-3 text-sm text-slate-800" :class="{'hidden': !isColumnVisible('Assigned Attorney')}">
{{ r.responsible_attorney }}
</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !visibleColumns.includes(11)}">
<td class="px-4 py-3 text-sm" :class="{'hidden': !isColumnVisible('Primary Contact')}">
{{ r.staff_person }}
</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !visibleColumns.includes(12)}">
<td class="px-4 py-3 text-sm" :class="{'hidden': !isColumnVisible('Secondary Paralegal')}">
{{ r.staff_person_2 }}
</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !visibleColumns.includes(13)}">
<td class="px-4 py-3 text-sm" :class="{'hidden': !isColumnVisible('Documents')}">
{% if r.documents_url %}
<a href="{{ r.documents_url }}">Documents</a>
{% endif %}</td>
<td class="px-4 py-3 text-sm text-slate-800" :class="{'hidden': !visibleColumns.includes(14)}"> {{ r.phase_name }}</td>
<td class="px-4 py-3 text-sm align-top whitespace-normal w-[400px]" :class="{'hidden': !visibleColumns.includes(15)}" x-data="{ showCompletedModal: false}">
<td class="px-4 py-3 text-sm text-slate-800" :class="{'hidden': !isColumnVisible('Matter Stage')}"> {{ r.phase_name }}</td>
<td class="px-4 py-3 text-sm align-top whitespace-normal w-[400px]" :class="{'hidden': !isColumnVisible('Completed Tasks')}" x-data="{ showCompletedModal: false}">
{% if r.completed_tasks %}
<div>
<table class="w-full text-xs">
@@ -205,7 +205,7 @@
</div>
{% endif %}
</td>
<td class="px-4 py-3 text-sm align-top whitespace-normal w-[400px] min-w-[400px]" :class="{'hidden': !visibleColumns.includes(16)}" x-data="{ showPendingModal: false }">
<td class="px-4 py-3 text-sm align-top whitespace-normal w-[400px] min-w-[400px]" :class="{'hidden': !isColumnVisible('Pending Tasks')}" x-data="{ showPendingModal: false }">
{% if r.pending_tasks %}
<div>
<table class="w-full text-xs">
@@ -259,38 +259,38 @@
</div>
{% endif %}
</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !visibleColumns.includes(17)}">{{ r.notice_service_date }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !visibleColumns.includes(18)}">{{ r.notice_expiration_date }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !visibleColumns.includes(19)}">{{ r.case_field_date }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !visibleColumns.includes(20)}">{% if r.daily_rent_damages %}${{ "{:,.2f}".format(r.daily_rent_damages) }}{% endif %}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !visibleColumns.includes(21)}">{{ r.default_date }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !visibleColumns.includes(22)}">{{ r.default_entered_on_date }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !visibleColumns.includes(23)}"></td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !visibleColumns.includes(24)}">{{ r.demurrer_hearing_date }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !visibleColumns.includes(25)}">{{ r.motion_to_strike_hearing_date }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !visibleColumns.includes(26)}">{{ r.motion_to_quash_hearing_date }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !visibleColumns.includes(27)}">{{ r.other_motion_hearing_date }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !visibleColumns.includes(28)}">{{ r.msc_date }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !visibleColumns.includes(29)}">{{ r.msc_time }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !visibleColumns.includes(30)}">{{ r.msc_address }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !visibleColumns.includes(31)}">{{ r.msc_div_dept_room }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !visibleColumns.includes(32)}">{{ r.trial_date }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !visibleColumns.includes(33)}">{{ r.trial_time }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !visibleColumns.includes(34)}">{{ r.trial_address }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !visibleColumns.includes(35)}">{{ r.trial_div_dept_room }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !visibleColumns.includes(36)}">{{ r.final_result }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !visibleColumns.includes(37)}">{{ r.date_of_settlement }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !visibleColumns.includes(38)}">{{ r.final_obligation }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !visibleColumns.includes(39)}">{{ r.def_comply_stip }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !visibleColumns.includes(40)}">{{ r.judgment_date }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !visibleColumns.includes(41)}">{{ r.writ_issued_date }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !visibleColumns.includes(42)}">{{ r.scheduled_lockout }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !visibleColumns.includes(43)}">{{ r.oppose_stays }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !visibleColumns.includes(44)}">{{ r.premises_safety }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !visibleColumns.includes(45)}">{{ r.matter_gate_code }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !visibleColumns.includes(46)}">{{ r.date_possession_recovered }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !visibleColumns.includes(47)}">{{ r.attorney_fees }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !visibleColumns.includes(48)}">{{ r.costs }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !isColumnVisible('Notice Service Date')}">{{ r.notice_service_date }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !isColumnVisible('Notice Expir. Date')}">{{ r.notice_expiration_date }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !isColumnVisible('Date Case Filed')}">{{ r.case_field_date }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !isColumnVisible('Daily Rent Damages')}">{% if r.daily_rent_damages %}${{ "{:,.2f}".format(r.daily_rent_damages) }}{% endif %}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !isColumnVisible('Default Date')}">{{ r.default_date }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !isColumnVisible('Default Entered On')}">{{ r.default_entered_on_date }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !isColumnVisible('Motions:')}"></td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !isColumnVisible('Demurrer Hearing Date')}">{{ r.demurrer_hearing_date }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !isColumnVisible('Motion To Strike Hearing Date')}">{{ r.motion_to_strike_hearing_date }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !isColumnVisible('Motion to Quash Hearing Date')}">{{ r.motion_to_quash_hearing_date }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !isColumnVisible('Other Motion Hearing Date')}">{{ r.other_motion_hearing_date }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !isColumnVisible('MSC Date')}">{{ r.msc_date }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !isColumnVisible('MSC Time')}">{{ r.msc_time }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !isColumnVisible('MSC Address')}">{{ r.msc_address }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !isColumnVisible('MSC Div/ Dept/ Room')}">{{ r.msc_div_dept_room }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !isColumnVisible('Trial Date')}">{{ r.trial_date }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !isColumnVisible('Trial Time')}">{{ r.trial_time }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !isColumnVisible('Trial Address')}">{{ r.trial_address }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !isColumnVisible('Trial Div/ Dept/ Room')}">{{ r.trial_div_dept_room }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !isColumnVisible('Final Result of Trial/ MSC')}">{{ r.final_result }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !isColumnVisible('Date of Settlement')}">{{ r.date_of_settlement }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !isColumnVisible('Final Obligation Under the Stip')}">{{ r.final_obligation }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !isColumnVisible('Def\'s Comply with the Stip?')}">{{ r.def_comply_stip }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !isColumnVisible('Judgment Date')}">{{ r.judgment_date }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !isColumnVisible('Writ Issued Date')}">{{ r.writ_issued_date }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !isColumnVisible('Scheduled Lockout')}">{{ r.scheduled_lockout }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !isColumnVisible('Oppose Stays?')}">{{ r.oppose_stays }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !isColumnVisible('Premises Safety or Access Issues')}">{{ r.premises_safety }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !isColumnVisible('Matter Gate or Entry Code')}">{{ r.matter_gate_code }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !isColumnVisible('Date Possession Recovered')}">{{ r.date_possession_recovered }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !isColumnVisible('Attorney\'s Fees')}">{{ r.attorney_fees }}</td>
<td class="px-4 py-3 text-sm" :class="{'hidden': !isColumnVisible('Costs')}">{{ r.costs }}</td>
</tr>
{% else %}
<tr>
@@ -362,35 +362,38 @@ function columnConfig() {
this.loadColumnSettings();
},
isColumnVisible(columnName) {
return this.visibleColumns.includes(columnName);
},
loadColumnSettings() {
const stored = localStorage.getItem('dashboardColumnVisibility');
console.log("STORED", stored)
if (stored) {
this.visibleColumns = JSON.parse(stored);
this.selectAll = this.visibleColumns.length === this.columns.length;
} else {
// Default to showing all columns
this.visibleColumns = this.columns.map((_, index) => index);
this.visibleColumns = [...this.columns];
this.selectAll = true;
}
},
saveColumnSettings() {
console.log(JSON.stringify(this.visibleColumns))
localStorage.setItem('dashboardColumnVisibility', JSON.stringify(this.visibleColumns));
},
toggleAllColumns() {
if (this.selectAll) {
this.visibleColumns = this.columns.map((_, index) => index);
} else {
this.visibleColumns = [];
} else {
this.visibleColumns = [...this.columns];
}
this.selectAll = !this.selectAll;
this.saveColumnSettings();
},
resetToDefault() {
this.visibleColumns = this.columns.map((_, index) => index);
this.visibleColumns = [...this.columns];
this.selectAll = true;
this.saveColumnSettings();
}