From e8f2a86c15dd03ff54875c5076fde8dba20a057f Mon Sep 17 00:00:00 2001
From: Stian Sulebak <69514522+stianjsu@users.noreply.github.com>
Date: Thu, 13 Jul 2023 16:03:18 +0200
Subject: [PATCH] feat(board): merge column settings from db with default
(#1118)
* feat(board): adds settingsMerger utils and merge columns function
* feat(board): implements column settings merged with default
* refactor(table): inline merging default columns with settings
---
next-tavla/src/Board/scenarios/QuayTile/index.tsx | 3 ++-
next-tavla/src/Board/scenarios/StopPlaceTile/index.tsx | 6 +++++-
next-tavla/src/Board/scenarios/Table/index.tsx | 10 +++++++---
3 files changed, 14 insertions(+), 5 deletions(-)
diff --git a/next-tavla/src/Board/scenarios/QuayTile/index.tsx b/next-tavla/src/Board/scenarios/QuayTile/index.tsx
index c7b1aac25..3775653ad 100644
--- a/next-tavla/src/Board/scenarios/QuayTile/index.tsx
+++ b/next-tavla/src/Board/scenarios/QuayTile/index.tsx
@@ -11,6 +11,7 @@ export function QuayTile({
placeId,
whitelistedLines,
whitelistedTransportModes,
+ columns,
}: TQuayTile) {
const { data } = useQuery(
GetQuayQuery,
@@ -44,7 +45,7 @@ export function QuayTile({
return (
-
+
)
}
diff --git a/next-tavla/src/Board/scenarios/StopPlaceTile/index.tsx b/next-tavla/src/Board/scenarios/StopPlaceTile/index.tsx
index e474e0d94..68f15580f 100644
--- a/next-tavla/src/Board/scenarios/StopPlaceTile/index.tsx
+++ b/next-tavla/src/Board/scenarios/StopPlaceTile/index.tsx
@@ -10,6 +10,7 @@ export function StopPlaceTile({
placeId,
whitelistedLines,
whitelistedTransportModes,
+ columns,
}: TStopPlaceTile) {
const { data } = useQuery(
StopPlaceQuery,
@@ -31,7 +32,10 @@ export function StopPlaceTile({
heading={data.stopPlace.name}
transportModes={data.stopPlace.transportMode}
/>
-
+
)
}
diff --git a/next-tavla/src/Board/scenarios/Table/index.tsx b/next-tavla/src/Board/scenarios/Table/index.tsx
index eb6e31ec5..9ef317d41 100644
--- a/next-tavla/src/Board/scenarios/Table/index.tsx
+++ b/next-tavla/src/Board/scenarios/Table/index.tsx
@@ -2,9 +2,9 @@ import { TDepartureFragment } from 'graphql/index'
import {
Columns,
TColumn,
- DefaultColumns,
TColumnSize,
TColumnSettings,
+ DefaultColumns,
} from 'types/column'
import React from 'react'
import classes from './styles.module.css'
@@ -49,12 +49,16 @@ function ColumnTableHeader({ type, size }: TColumnSize) {
function Table({
departures,
- columns = DefaultColumns,
+ columns,
}: {
departures: TDepartureFragment[]
columns?: TColumnSettings
}) {
- const filteredColumnOrder = ColumnOrder.filter(({ type }) => columns[type])
+ const mergedColumns = { ...DefaultColumns, ...columns }
+
+ const filteredColumnOrder = ColumnOrder.filter(
+ ({ type }) => mergedColumns[type],
+ )
return (