Fixed column visibility bug.

This commit is contained in:
Tom Butcher 2026-03-13 20:10:39 +00:00
parent 556f8622ee
commit 994f0d7d44
14 changed files with 34 additions and 25 deletions

View File

@ -14,7 +14,7 @@ const StockEvents = () => {
const [viewMode, setViewMode] = useViewMode('stockEvents')
const [columnVisibility, setColumnVisibility] =
useColumnVisibility('stockEvents')
useColumnVisibility('stockEvent')
const actionItems = {
items: [

View File

@ -11,7 +11,7 @@ const AuditLogs = () => {
const tableRef = useRef()
const [columnVisibility, updateColumnVisibility] =
useColumnVisibility('auditLogs')
useColumnVisibility('auditLog')
const actionItems = {
items: [

View File

@ -54,8 +54,8 @@ const CourierServices = () => {
<ColumnViewButton
type='courierService'
loading={false}
collapseState={columnVisibility}
updateCollapseState={setColumnVisibility}
visibleState={columnVisibility}
updateVisibleState={setColumnVisibility}
/>
<ExportListButton objectType='courierService' />
</Space>

View File

@ -53,8 +53,8 @@ const Couriers = () => {
<ColumnViewButton
type='courier'
loading={false}
collapseState={columnVisibility}
updateCollapseState={setColumnVisibility}
visibleState={columnVisibility}
updateVisibleState={setColumnVisibility}
/>
<ExportListButton objectType='courier' />
</Space>

View File

@ -54,8 +54,8 @@ const DocumentJobs = () => {
<ColumnViewButton
type='documentJob'
loading={false}
collapseState={columnVisibility}
updateCollapseState={setColumnVisibility}
visibleState={columnVisibility}
updateVisibleState={setColumnVisibility}
/>
<ExportListButton objectType='documentJob' />
</Space>

View File

@ -53,8 +53,8 @@ const DocumentPrinters = () => {
<ColumnViewButton
type='documentPrinter'
loading={false}
collapseState={columnVisibility}
updateCollapseState={setColumnVisibility}
visibleState={columnVisibility}
updateVisibleState={setColumnVisibility}
/>
<ExportListButton objectType='documentPrinter' />
</Space>

View File

@ -54,8 +54,8 @@ const DocumentTemplates = () => {
<ColumnViewButton
type='documentTemplate'
loading={false}
collapseState={columnVisibility}
updateCollapseState={setColumnVisibility}
visibleState={columnVisibility}
updateVisibleState={setColumnVisibility}
/>
<ExportListButton objectType='documentTemplate' />
</Space>

View File

@ -42,8 +42,8 @@ const Files = () => {
<ColumnViewButton
type='file'
loading={false}
collapseState={columnVisibility}
updateCollapseState={setColumnVisibility}
visibleState={columnVisibility}
updateVisibleState={setColumnVisibility}
/>
<ExportListButton objectType='file' />
</Space>

View File

@ -54,8 +54,8 @@ const NoteTypes = () => {
<ColumnViewButton
type='noteType'
loading={false}
collapseState={columnVisibility}
updateCollapseState={setColumnVisibility}
visibleState={columnVisibility}
updateVisibleState={setColumnVisibility}
/>
<ExportListButton objectType='noteType' />
</Space>

View File

@ -58,8 +58,8 @@ const Parts = (filter) => {
<ColumnViewButton
type='part'
loading={false}
collapseState={columnVisibility}
updateCollapseState={setColumnVisibility}
visibleState={columnVisibility}
updateVisibleState={setColumnVisibility}
/>
<ExportListButton objectType='part' />
</Space>

View File

@ -231,7 +231,7 @@ const Products = () => {
]
const [columnVisibility, updateColumnVisibility] = useColumnVisibility(
'Products',
'product',
columns
)

View File

@ -53,8 +53,8 @@ const TaxRates = () => {
<ColumnViewButton
type='taxRate'
loading={false}
collapseState={columnVisibility}
updateCollapseState={setColumnVisibility}
visibleState={columnVisibility}
updateVisibleState={setColumnVisibility}
/>
<ExportListButton objectType='taxRate' />
</Space>

View File

@ -53,8 +53,8 @@ const Vendors = () => {
<ColumnViewButton
type='vendor'
loading={false}
collapseState={columnVisibility}
updateCollapseState={setColumnVisibility}
visibleState={columnVisibility}
updateVisibleState={setColumnVisibility}
/>
<ExportListButton objectType='vendor' />
</Space>

View File

@ -1,13 +1,22 @@
import { useState, useEffect } from 'react'
import { getModelByName } from '../../../database/ObjectModels'
const useColumnVisibility = (type) => {
const useColumnVisibility = (type, customColumns) => {
const getInitialVisibility = () => {
const stored = sessionStorage.getItem(`${type}_columnVisibility`)
const storageKey = `${type}_columnVisibility`
const stored = sessionStorage.getItem(storageKey)
if (stored) {
return JSON.parse(stored)
}
// Default visibility - all columns visible
if (customColumns && Array.isArray(customColumns)) {
return customColumns.reduce((acc, col) => {
if (col.key) {
acc[col.key] = true
}
return acc
}, {})
}
const model = getModelByName(type)
const columns = model.columns || []
return columns.reduce((acc, columnName) => {