packages feed

lhae-0.0.2: src/Controller/Menu/Table/Copy.hs

module Controller.Menu.Table.Copy (eventHandler)
    where

import Control.Monad (forM_,forM)
import Controller (Controller)
import Controller.Dialog (chooseColumnsAndTableDialog)
import Controller.Grid (changePageTo)
import Controller.Canonical (getColumn,addColumn')
import Util (justWhen)
import I18n (__)

eventHandler :: Controller ()
eventHandler = do
  result <- chooseColumnsAndTableDialog $ __ "Copy"
  justWhen result $ \(cols,table) ->
      justWhen table $ copyColumnsTo cols

copyColumnsTo :: [Int] -> Int -> Controller ()
copyColumnsTo cols tableN = do
  columnData <- forM cols getColumn
  changePageTo tableN
  forM_ columnData addColumn'