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'