module View.Payment ( widget , PaymentIn(..) , PaymentOut(..) ) where import Prelude hiding (init) import Reflex.Dom (MonadWidget) import qualified Reflex.Dom as R import Common.Model (Init (..)) import View.Payment.Header (HeaderIn (..)) import qualified View.Payment.Header as Header import View.Payment.Pages (PagesIn (..), PagesOut (..)) import qualified View.Payment.Pages as Pages import View.Payment.Table (TableIn (..)) import qualified View.Payment.Table as Table data PaymentIn = PaymentIn { _paymentIn_init :: Init } data PaymentOut = PaymentOut { } widget :: forall t m. MonadWidget t m => PaymentIn -> m PaymentOut widget paymentIn = do R.divClass "payment" $ do rec _ <- Header.widget $ HeaderIn { _headerIn_init = init } _ <- Table.widget $ TableIn { _tableIn_init = init , _tableIn_currentPage = _pagesOut_currentPage pagesOut } pagesOut <- Pages.widget $ PagesIn { _pagesIn_payments = _init_payments init } return $ PaymentOut {} where init = _paymentIn_init paymentIn