module View.Payment.Delete ( view , DeleteIn(..) , DeleteOut(..) ) where import Reflex.Dom (Event, MonadWidget) import qualified Reflex.Dom as R import qualified Common.Msg as Msg import Component (ButtonIn (..), ButtonOut (..)) import qualified Component as Component -- import qualified Util.Ajax as Ajax -- import qualified Util.WaitFor as Util data DeleteIn = DeleteIn {} data DeleteOut t = DeleteOut { _deleteOut_cancel :: Event t () } view :: forall t m. MonadWidget t m => DeleteIn -> m (DeleteOut t) view _ = R.divClass "delete" $ do R.divClass "deleteHeader" $ R.text $ Msg.get Msg.Payment_DeleteConfirm R.divClass "deleteContent" $ do cancel <- R.divClass "buttons" $ do rec _ <- Component._buttonOut_clic <$> (Component.button $ (Component.defaultButtonIn (R.text $ Msg.get Msg.Dialog_Confirm)) { _buttonIn_class = R.constDyn "confirm" , _buttonIn_submit = True }) -- (_, waiting) <- Util.waitFor -- (Ajax.post "/payment") -- validate -- payment cancel <- Component._buttonOut_clic <$> (Component.button $ (Component.defaultButtonIn (R.text $ Msg.get Msg.Dialog_Undo)) { _buttonIn_class = R.constDyn "undo" }) return cancel return DeleteOut { _deleteOut_cancel = cancel }