Can now delete a domain. No automatic domain list update.
This commit is contained in:
parent
e0fc55e5ca
commit
99fb18c57a
@ -5,7 +5,8 @@ module App.DNSManagerDomainsInterface where
|
|||||||
- display the list of own domains
|
- display the list of own domains
|
||||||
- show and select accepted domains (TLDs)
|
- show and select accepted domains (TLDs)
|
||||||
- create new domains
|
- create new domains
|
||||||
- TODO: delete a domain (+ TODO: ask for confirmation)
|
- delete a domain
|
||||||
|
- TODO: ask for confirmation
|
||||||
- TODO: show and modify the content of a Zone
|
- TODO: show and modify the content of a Zone
|
||||||
|
|
||||||
Authentication is automatic with the token.
|
Authentication is automatic with the token.
|
||||||
@ -73,6 +74,8 @@ data Action
|
|||||||
| HandleNewDomainInput NewDomainFormAction
|
| HandleNewDomainInput NewDomainFormAction
|
||||||
|
|
||||||
| NewDomainAttempt Event
|
| NewDomainAttempt Event
|
||||||
|
| RemoveDomain String
|
||||||
|
| EnterDomain String
|
||||||
| Finalize
|
| Finalize
|
||||||
| HandleWebSocket (WebSocketEvent WebSocketMessageType)
|
| HandleWebSocket (WebSocketEvent WebSocketMessageType)
|
||||||
|
|
||||||
@ -155,7 +158,24 @@ render {
|
|||||||
|
|
||||||
list_of_own_domains
|
list_of_own_domains
|
||||||
= [ Bulma.h3 "My domains:"
|
= [ Bulma.h3 "My domains:"
|
||||||
, HH.ul_ $ map (\domain -> HH.li_ [ HH.text domain ]) my_domains
|
, HH.ul_ $ map (\domain -> HH.li_ (domain_buttons domain)) my_domains
|
||||||
|
]
|
||||||
|
|
||||||
|
domain_buttons domain
|
||||||
|
= [ HH.button
|
||||||
|
[ HP.style "padding: 0.5rem 1.25rem;"
|
||||||
|
, HP.type_ HP.ButtonSubmit
|
||||||
|
, HE.onClick \_ -> EnterDomain domain
|
||||||
|
, maybe (HP.disabled true) (\_ -> HP.enabled true) wsInfo.connection
|
||||||
|
]
|
||||||
|
[ HH.text domain ]
|
||||||
|
, HH.button
|
||||||
|
[ HP.style "padding: 0.5rem 1.25rem;"
|
||||||
|
, HP.type_ HP.ButtonSubmit
|
||||||
|
, HE.onClick \_ -> RemoveDomain domain
|
||||||
|
, maybe (HP.disabled true) (\_ -> HP.enabled true) wsInfo.connection
|
||||||
|
]
|
||||||
|
[ HH.text "x" ]
|
||||||
]
|
]
|
||||||
|
|
||||||
should_be_disabled = (maybe (HP.disabled true) (\_ -> HP.enabled true) wsInfo.connection)
|
should_be_disabled = (maybe (HP.disabled true) (\_ -> HP.enabled true) wsInfo.connection)
|
||||||
@ -250,6 +270,34 @@ handleAction = case _ of
|
|||||||
UpdateSelectedDomain domain -> do
|
UpdateSelectedDomain domain -> do
|
||||||
H.modify_ _ { newDomainForm { selected_domain = domain } }
|
H.modify_ _ { newDomainForm { selected_domain = domain } }
|
||||||
|
|
||||||
|
EnterDomain domain -> do
|
||||||
|
appendMessage $ "[???] trying to enter domain: " <> domain
|
||||||
|
|
||||||
|
RemoveDomain domain -> do
|
||||||
|
{ wsInfo } <- H.get
|
||||||
|
case wsInfo.connection of
|
||||||
|
Nothing ->
|
||||||
|
unableToSend "Not connected to server."
|
||||||
|
Just webSocket ->
|
||||||
|
H.liftEffect (WS.readyState webSocket) >>= case _ of
|
||||||
|
Connecting ->
|
||||||
|
unableToSend "Still connecting to server."
|
||||||
|
|
||||||
|
Closing ->
|
||||||
|
unableToSend "Connection to server is closing."
|
||||||
|
|
||||||
|
Closed -> do
|
||||||
|
unableToSend "Connection to server has been closed."
|
||||||
|
maybeCurrentConnection <- H.gets _.wsInfo.connection
|
||||||
|
when (isJust maybeCurrentConnection) do
|
||||||
|
H.modify_ _ { wsInfo { connection = Nothing, reconnect = true } }
|
||||||
|
|
||||||
|
Open -> do
|
||||||
|
H.liftEffect $ do
|
||||||
|
ab <- DNSManager.serialize $ DNSManager.MkDeleteDomain { domain: domain }
|
||||||
|
sendArrayBuffer webSocket ab
|
||||||
|
appendMessageReset $ "[😇] Removing domain: " <> domain
|
||||||
|
|
||||||
NewDomainAttempt ev -> do
|
NewDomainAttempt ev -> do
|
||||||
H.liftEffect $ Event.preventDefault ev
|
H.liftEffect $ Event.preventDefault ev
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user