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 [viewMode, setViewMode] = useViewMode('stockEvents')
const [columnVisibility, setColumnVisibility] = const [columnVisibility, setColumnVisibility] =
useColumnVisibility('stockEvents') useColumnVisibility('stockEvent')
const actionItems = { const actionItems = {
items: [ items: [

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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