module Codec.Xlsx.Util.Tabular.Types
( Tabular
, tabularHeads
, tabularRows
, TabularHead
, tabularHeadIx
, tabularHeadLabel
, TabularRow
, tabularRowIx
, tabularRowCells
, def
) where
import Codec.Xlsx (CellValue)
import Control.Lens (makeLenses)
import Data.Default (Default, def)
import Data.Text (Text)
data Tabular = Tabular
{ _tabularHeads :: [TabularHead]
, _tabularRows :: [TabularRow]
}
deriving (Show)
data TabularHead = TabularHead
{ _tabularHeadIx :: Int
, _tabularHeadLabel :: Text
}
deriving (Show)
data TabularRow = TabularRow
{ _tabularRowIx :: Int
, _tabularRowCells :: [Maybe CellValue]
}
deriving (Show)
makeLenses ''Tabular
makeLenses ''TabularHead
makeLenses ''TabularRow
instance Default Tabular where
def = Tabular [] []
instance Default TabularRow where
def = TabularRow 0 []
instance Default TabularHead where
def = TabularHead 0 ""