Code cleaning (buttons).
parent
c017dc1b05
commit
58eee12511
|
@ -126,7 +126,7 @@ render { addUserForm, searchUserForm, page, wsUp }
|
|||
, Bulma.btn (show addUserForm.admin) (HandleAddUserInput ADDUSER_toggle_admin)
|
||||
, Bulma.box_input "email" "User email" "email" (up ADDUSER_INP_email) addUserForm.email active
|
||||
, Bulma.box_password "password" "User password" "password" (up ADDUSER_INP_pass) addUserForm.pass active
|
||||
, generic_button AddUserAttempt wsUp
|
||||
, Bulma.btn "Send" AddUserAttempt
|
||||
]
|
||||
]
|
||||
up x = HandleAddUserInput <<< x
|
||||
|
@ -139,7 +139,7 @@ render { addUserForm, searchUserForm, page, wsUp }
|
|||
, Bulma.box_input "email" "User email" "email" (up SEARCHUSER_INP_email) searchUserForm.email active
|
||||
--, Bulma.box_input "domain" "Domain owned" "blah.netlib.re."
|
||||
-- (up SEARCHUSER_INP_domain) searchUserForm.email active
|
||||
, generic_button SearchUserAttempt wsUp
|
||||
, Bulma.btn "Send" SearchUserAttempt
|
||||
]
|
||||
]
|
||||
|
||||
|
@ -147,16 +147,6 @@ render { addUserForm, searchUserForm, page, wsUp }
|
|||
routing_add_button = Bulma.btn "Add" $ Routing Add
|
||||
cancel_button = Bulma.cancel_button CancelModal
|
||||
|
||||
generic_button :: forall w. Action -> Boolean -> HH.HTML w Action
|
||||
generic_button action active =
|
||||
HH.button
|
||||
[ HP.style "padding: 0.5rem 1.25rem;"
|
||||
, HP.type_ HP.ButtonSubmit
|
||||
, HE.onClick \_ -> action
|
||||
, (if active then (HP.enabled true) else (HP.disabled true))
|
||||
]
|
||||
[ HH.text "Send Message to Server" ]
|
||||
|
||||
handleAction :: forall m. MonadAff m => Action -> H.HalogenM State Action () Output m Unit
|
||||
handleAction = case _ of
|
||||
Initialize -> do
|
||||
|
|
|
@ -23,11 +23,9 @@ import Halogen as H
|
|||
import Halogen.HTML as HH
|
||||
import Halogen.HTML.Events as HE
|
||||
import Halogen.HTML.Events as HHE
|
||||
import Halogen.HTML.Properties as HP
|
||||
import Web.Event.Event as Event
|
||||
import Web.Event.Event (Event)
|
||||
import Bulma as Bulma
|
||||
import CSSClasses as C
|
||||
|
||||
import GenericParser (DomainError(..), parse)
|
||||
import GenericParser.DomainParserRFC1035 as RFC1035
|
||||
|
@ -162,67 +160,29 @@ render { accepted_domains, my_domains, newDomainForm, wsUp, active_modal }
|
|||
[ case wsUp of
|
||||
false -> Bulma.p "You are disconnected."
|
||||
true -> case active_modal of
|
||||
Nothing -> Bulma.columns_ [ Bulma.column_ newdomain_form, Bulma.column_ list_of_own_domains ]
|
||||
Just domain -> modal_domain_delete domain
|
||||
Nothing -> Bulma.columns_
|
||||
[ Bulma.column_ [ Bulma.h3 "Add a domain!", render_add_domain_form]
|
||||
, Bulma.column_ [ Bulma.h3 "My domains"
|
||||
, HH.ul_ $ map (\domain -> HH.li_ (domain_buttons domain)) my_domains
|
||||
]
|
||||
]
|
||||
Just domain -> Bulma.modal "Deleting a domain"
|
||||
[warning_message domain] [modal_delete_button domain, modal_cancel_button]
|
||||
]
|
||||
where
|
||||
|
||||
modal_domain_delete :: forall w. String -> HH.HTML w Action
|
||||
modal_domain_delete domain =
|
||||
modal
|
||||
[ modal_background
|
||||
, modal_card [modal_header, modal_body]
|
||||
, modal_foot [modal_delete_button, modal_cancel_button]
|
||||
]
|
||||
where
|
||||
modal = HH.div [HP.classes (C.modal <> C.is_active)]
|
||||
modal_background = HH.div [HP.classes C.modal_background] []
|
||||
modal_card = HH.div [HP.classes C.modal_card]
|
||||
modal_header = HH.header [HP.classes C.modal_card_head]
|
||||
[ HH.p [HP.classes C.modal_card_title] [HH.text "Deleting a domain"]
|
||||
--, HH.button [HP.classes C.delete, ARIA.label "close"] []
|
||||
]
|
||||
modal_body = HH.section [HP.classes C.modal_card_body] [ warning_message ]
|
||||
modal_foot = HH.div [HP.classes C.modal_card_foot]
|
||||
modal_delete_button
|
||||
= HH.button [ HP.classes (C.button <> C.is_success)
|
||||
, HE.onClick \_ -> RemoveDomain domain
|
||||
] [HH.text "Delete the domain."]
|
||||
modal_cancel_button
|
||||
= HH.button [ HP.classes C.button
|
||||
, HE.onClick \_ -> CancelModal
|
||||
] [HH.text "Cancel"]
|
||||
warning_message
|
||||
= HH.p [] [ HH.text $ "You are about to delete your domain '"
|
||||
<> domain
|
||||
<> "'. Are you sure you want to do this? This is "
|
||||
, HH.strong_ [ HH.text "irreversible" ]
|
||||
, HH.text "."
|
||||
]
|
||||
|
||||
newdomain_form
|
||||
= [ Bulma.h3 "Add a domain!"
|
||||
, render_add_domain_form
|
||||
]
|
||||
|
||||
list_of_own_domains
|
||||
= [ Bulma.h3 "My domains"
|
||||
, HH.ul_ $ map (\domain -> HH.li_ (domain_buttons domain)) my_domains
|
||||
]
|
||||
modal_delete_button domain = Bulma.alert_btn "Delete the domain" (RemoveDomain domain)
|
||||
modal_cancel_button = Bulma.cancel_button CancelModal
|
||||
warning_message domain
|
||||
= HH.p [] [ HH.text $ "You are about to delete your domain '"
|
||||
<> domain
|
||||
<> "'. Are you sure you want to do this? This is "
|
||||
, HH.strong_ [ HH.text "irreversible" ]
|
||||
, HH.text "."
|
||||
]
|
||||
|
||||
domain_buttons domain
|
||||
= [ HH.button
|
||||
[ HP.type_ HP.ButtonSubmit
|
||||
, HE.onClick \_ -> DeleteDomainModal domain
|
||||
, HP.classes $ C.button <> C.is_danger
|
||||
]
|
||||
[ HH.text "delete" ]
|
||||
, HH.button
|
||||
[ HP.type_ HP.ButtonSubmit
|
||||
, HE.onClick \_ -> EnterDomain domain
|
||||
, HP.classes C.button
|
||||
]
|
||||
[ HH.text domain ]
|
||||
= [ Bulma.alert_btn "delete" (DeleteDomainModal domain)
|
||||
, Bulma.btn domain (EnterDomain domain)
|
||||
]
|
||||
|
||||
render_add_domain_form = HH.form
|
||||
|
|
|
@ -365,7 +365,7 @@ render state
|
|||
|
||||
should_be_disabled = (if true then (HP.enabled true) else (HP.disabled true))
|
||||
foot_content x = [ case state.rr_modal of
|
||||
NewRRModal _ -> Bulma.btn_add (ValidateRR x) true -- state._currentRR.valid
|
||||
NewRRModal _ -> Bulma.btn_add (ValidateRR x)
|
||||
UpdateRRModal -> Bulma.btn_save ValidateLocal
|
||||
_ -> Bulma.p "state.rr_modal should either be NewRRModal or UpdateRRModal."
|
||||
]
|
||||
|
@ -744,7 +744,7 @@ render_resources records
|
|||
, HH.td_ [ Bulma.p $ maybe "" show rr.port ]
|
||||
, HH.td_ [ Bulma.p rr.target ]
|
||||
, HH.td_ [ Bulma.btn_modify (CreateUpdateRRModal rr.rrid) ]
|
||||
, HH.td_ [ Bulma.btn_delete (\_ -> DeleteRRModal rr.rrid) ]
|
||||
, HH.td_ [ Bulma.btn_delete (DeleteRRModal rr.rrid) ]
|
||||
]
|
||||
"MX" ->
|
||||
[ Bulma.txt_name rr.rrtype
|
||||
|
@ -753,7 +753,7 @@ render_resources records
|
|||
, HH.td_ [ Bulma.p $ maybe "" show rr.priority ]
|
||||
, HH.td_ [ Bulma.p rr.target ]
|
||||
, HH.td_ [ Bulma.btn_modify (CreateUpdateRRModal rr.rrid) ]
|
||||
, HH.td_ [ Bulma.btn_delete (\_ -> DeleteRRModal rr.rrid) ]
|
||||
, HH.td_ [ Bulma.btn_delete (DeleteRRModal rr.rrid) ]
|
||||
]
|
||||
_ ->
|
||||
[ Bulma.txt_name rr.rrtype
|
||||
|
@ -761,7 +761,7 @@ render_resources records
|
|||
, HH.td_ [ Bulma.p $ show rr.ttl ]
|
||||
, HH.td_ [ Bulma.p rr.target ]
|
||||
, HH.td_ [ Bulma.btn_modify (CreateUpdateRRModal rr.rrid) ]
|
||||
, HH.td_ [ Bulma.btn_delete (\_ -> DeleteRRModal rr.rrid) ]
|
||||
, HH.td_ [ Bulma.btn_delete (DeleteRRModal rr.rrid) ]
|
||||
]
|
||||
|
||||
baseRecords :: Array String
|
||||
|
@ -776,13 +776,13 @@ render_new_records _
|
|||
, Bulma.hr
|
||||
-- use "level" to get horizontal buttons next to each other (probably vertical on mobile)
|
||||
, Bulma.level [
|
||||
Bulma.btn_add_new_rr (CreateNewRRModal A) "A"
|
||||
, Bulma.btn_add_new_rr (CreateNewRRModal AAAA) "AAAA"
|
||||
, Bulma.btn_add_new_rr (CreateNewRRModal TXT) "TXT"
|
||||
, Bulma.btn_add_new_rr (CreateNewRRModal CNAME) "CNAME"
|
||||
, Bulma.btn_add_new_rr (CreateNewRRModal NS) "NS"
|
||||
, Bulma.btn_add_new_rr (CreateNewRRModal MX) "MX"
|
||||
, Bulma.btn_add_new_rr (CreateNewRRModal SRV) "SRV"
|
||||
Bulma.btn "A" (CreateNewRRModal A)
|
||||
, Bulma.btn "AAAA" (CreateNewRRModal AAAA)
|
||||
, Bulma.btn "TXT" (CreateNewRRModal TXT)
|
||||
, Bulma.btn "CNAME" (CreateNewRRModal CNAME)
|
||||
, Bulma.btn "NS" (CreateNewRRModal NS)
|
||||
, Bulma.btn "MX" (CreateNewRRModal MX)
|
||||
, Bulma.btn "SRV" (CreateNewRRModal SRV)
|
||||
] []
|
||||
]
|
||||
|
||||
|
|
|
@ -131,32 +131,16 @@ textarea action value validity
|
|||
]
|
||||
|
||||
btn_modify :: forall w i. i -> HH.HTML w i
|
||||
btn_modify action
|
||||
= HH.button
|
||||
[ HE.onClick \_ -> action
|
||||
, HP.classes $ btn_classes true
|
||||
] [ HH.text "modify" ]
|
||||
btn_modify action = btn_ (C.is_small <> C.is_info) "modify" action
|
||||
|
||||
btn_save :: forall w i. i -> HH.HTML w i
|
||||
btn_save action
|
||||
= HH.button
|
||||
[ HE.onClick \_ -> action
|
||||
, HP.classes $ btn_classes true
|
||||
] [ HH.text "save" ]
|
||||
btn_save action = btn_ C.is_info "Save" action
|
||||
|
||||
btn_delete :: forall w i. (MouseEvent -> i) -> HH.HTML w i
|
||||
btn_delete action
|
||||
= HH.button
|
||||
[ HE.onClick action
|
||||
, HP.classes [ HH.ClassName "button is-small is-danger" ]
|
||||
] [ HH.text "remove" ]
|
||||
btn_add :: forall w i. i -> HH.HTML w i
|
||||
btn_add action = btn_ C.is_info "Add" action
|
||||
|
||||
btn_add :: forall w i. i -> Boolean -> HH.HTML w i
|
||||
btn_add action validity
|
||||
= HH.button
|
||||
[ HE.onClick \_ -> action
|
||||
, HP.classes $ btn_classes validity
|
||||
] [ HH.text "Add" ]
|
||||
btn_delete :: forall w i. i -> HH.HTML w i
|
||||
btn_delete action = btn_ (C.is_small <> C.is_danger) "remove" action
|
||||
|
||||
-- | Create a `level`, different components that should appear on the same horizontal line.
|
||||
-- | First argument, elements that should appear on the left, second on the right.
|
||||
|
@ -167,26 +151,18 @@ level left right = HH.nav [ HP.classes C.level ]
|
|||
]
|
||||
where itemize = map (\v -> HH.div [ HP.classes C.level_item ] [v])
|
||||
|
||||
btn_add_new_rr :: forall w i. i -> String -> HH.HTML w i
|
||||
btn_add_new_rr action title
|
||||
btn_ :: forall w action. Array HH.ClassName -> String -> action -> HH.HTML w action
|
||||
btn_ classes title action
|
||||
= HH.button
|
||||
[ HE.onClick \_ -> action
|
||||
, HP.classes $ C.button <> C.is_small <> C.is_info
|
||||
, HP.classes $ C.button <> classes
|
||||
] [ HH.text title ]
|
||||
|
||||
btn :: forall w action. String -> action -> HH.HTML w action
|
||||
btn title action
|
||||
= HH.button
|
||||
[ HE.onClick \_ -> action
|
||||
, HP.classes $ btn_classes true
|
||||
] [ HH.text title ]
|
||||
btn title action = btn_ [] title action
|
||||
|
||||
alert_btn :: forall w action. String -> action -> HH.HTML w action
|
||||
alert_btn title action
|
||||
= HH.button
|
||||
[ HE.onClick \_ -> action
|
||||
, HP.classes $ btn_classes false
|
||||
] [ HH.text title ]
|
||||
alert_btn title action = btn_ C.is_danger title action
|
||||
|
||||
render_input :: forall w i.
|
||||
Boolean -> String -> String -> (String -> i) -> String -> (HP.IProp DHI.HTMLinput i) -> HH.HTML w i
|
||||
|
|
Loading…
Reference in New Issue