Zone Interface: group RO RRs and a better display of RRs in general.
parent
419d68784a
commit
d6f85b5a00
|
@ -19,8 +19,8 @@ module App.ZoneInterface where
|
||||||
|
|
||||||
import Prelude (Unit, unit, void
|
import Prelude (Unit, unit, void
|
||||||
, bind, pure
|
, bind, pure
|
||||||
, comparing, discard, map, show
|
, not, comparing, discard, map, show
|
||||||
, ($), (/=), (<<<), (<>), (==), (>), (#))
|
, (&&), ($), (/=), (<<<), (<>), (==), (>), (#))
|
||||||
|
|
||||||
import Data.Array as A
|
import Data.Array as A
|
||||||
import Data.Int (fromString)
|
import Data.Int (fromString)
|
||||||
|
@ -691,21 +691,28 @@ render_resources []
|
||||||
, Bulma.subtitle "No records for now"
|
, Bulma.subtitle "No records for now"
|
||||||
]
|
]
|
||||||
render_resources records
|
render_resources records
|
||||||
= Bulma.box [ render_soa $ A.head $ A.filter (\rr -> rr.rrtype == "SOA") records
|
= HH.div_ [ render_soa $ A.head $ A.filter (\rr -> rr.rrtype == "SOA") records
|
||||||
, basic_records_section
|
, Bulma.box [ basic_records_section ]
|
||||||
, mx_records_section
|
, Bulma.box [ mx_records_section ]
|
||||||
, srv_records_section
|
, Bulma.box [ srv_records_section ]
|
||||||
]
|
, Bulma.box_ C.has_background_warning_light [ basic_readonly_records_section ]
|
||||||
|
]
|
||||||
where
|
where
|
||||||
all_basic_rr = A.filter (\rr -> A.elem rr.rrtype baseRecords) records
|
all_basic_rr = A.filter (\rr -> A.elem rr.rrtype baseRecords && not rr.readonly) records
|
||||||
|
all_basic_ro_rr = A.filter (\rr -> A.elem rr.rrtype baseRecords && rr.readonly) records
|
||||||
all_mx_rr = A.filter (\rr -> rr.rrtype == "MX") records
|
all_mx_rr = A.filter (\rr -> rr.rrtype == "MX") records
|
||||||
all_srv_rr = A.filter (\rr -> rr.rrtype == "SRV") records
|
all_srv_rr = A.filter (\rr -> rr.rrtype == "SRV") records
|
||||||
|
|
||||||
basic_records_section
|
basic_records_section
|
||||||
= if A.length all_basic_rr > 0
|
= if A.length all_basic_rr > 0
|
||||||
then Bulma.table [] [ Bulma.simple_table_header, render_basic_records ]
|
then Bulma.table [] [ Bulma.simple_table_header, render_basic_records all_basic_rr]
|
||||||
else Bulma.p "no basic records"
|
else Bulma.p "no basic records"
|
||||||
|
|
||||||
|
basic_readonly_records_section
|
||||||
|
= if A.length all_basic_rr > 0
|
||||||
|
then Bulma.table [] [ Bulma.simple_table_header_ro, render_basic_records all_basic_ro_rr]
|
||||||
|
else Bulma.p "no read only records?"
|
||||||
|
|
||||||
mx_records_section
|
mx_records_section
|
||||||
= if A.length all_mx_rr > 0
|
= if A.length all_mx_rr > 0
|
||||||
then Bulma.table [] [ Bulma.mx_table_header, render_mx_records ]
|
then Bulma.table [] [ Bulma.mx_table_header, render_mx_records ]
|
||||||
|
@ -716,7 +723,7 @@ render_resources records
|
||||||
then Bulma.table [] [ Bulma.srv_table_header, render_srv_records ]
|
then Bulma.table [] [ Bulma.srv_table_header, render_srv_records ]
|
||||||
else Bulma.p "no srv records"
|
else Bulma.p "no srv records"
|
||||||
|
|
||||||
render_basic_records = table_content_with_separations all_basic_rr
|
render_basic_records _rrs = table_content_with_separations _rrs
|
||||||
render_mx_records = table_content all_mx_rr
|
render_mx_records = table_content all_mx_rr
|
||||||
render_srv_records = table_content all_srv_rr
|
render_srv_records = table_content all_srv_rr
|
||||||
|
|
||||||
|
|
|
@ -63,6 +63,20 @@ simple_table_header
|
||||||
, HH.th_ [ HH.text "Name" ]
|
, HH.th_ [ HH.text "Name" ]
|
||||||
, HH.th_ [ HH.text "TTL" ]
|
, HH.th_ [ HH.text "TTL" ]
|
||||||
, HH.th_ [ HH.text "Target" ]
|
, HH.th_ [ HH.text "Target" ]
|
||||||
|
, HH.th_ [ HH.text "" ]
|
||||||
|
, HH.th_ [ HH.text "" ]
|
||||||
|
]
|
||||||
|
]
|
||||||
|
|
||||||
|
simple_table_header_ro :: forall w i. HH.HTML w i
|
||||||
|
simple_table_header_ro
|
||||||
|
= HH.thead_ [ HH.tr [ HP.classes C.has_background_warning_light ]
|
||||||
|
[ HH.th [ HP.style "width: 50px;" ] [ HH.text "Type" ]
|
||||||
|
, HH.th_ [ HH.text "Name" ]
|
||||||
|
, HH.th_ [ HH.text "TTL" ]
|
||||||
|
, HH.th_ [ HH.text "Target" ]
|
||||||
|
, HH.th_ [ HH.text "" ]
|
||||||
|
, HH.th_ [ HH.text "" ]
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -73,6 +87,8 @@ mx_table_header
|
||||||
, HH.th_ [ HH.text "TTL" ]
|
, HH.th_ [ HH.text "TTL" ]
|
||||||
, HH.th_ [ HH.text "Priority" ]
|
, HH.th_ [ HH.text "Priority" ]
|
||||||
, HH.th_ [ HH.text "Target" ]
|
, HH.th_ [ HH.text "Target" ]
|
||||||
|
, HH.th_ [ HH.text "" ]
|
||||||
|
, HH.th_ [ HH.text "" ]
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -86,6 +102,8 @@ srv_table_header
|
||||||
, HH.th_ [ HH.text "Weight" ]
|
, HH.th_ [ HH.text "Weight" ]
|
||||||
, HH.th_ [ HH.text "Port" ]
|
, HH.th_ [ HH.text "Port" ]
|
||||||
, HH.th_ [ HH.text "Target" ]
|
, HH.th_ [ HH.text "Target" ]
|
||||||
|
, HH.th_ [ HH.text "" ]
|
||||||
|
, HH.th_ [ HH.text "" ]
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -279,6 +297,9 @@ p_ classes str = HH.p [HP.classes classes] [ HH.text str ]
|
||||||
box :: forall w i. Array (HH.HTML w i) -> HH.HTML w i
|
box :: forall w i. Array (HH.HTML w i) -> HH.HTML w i
|
||||||
box = HH.div [HP.classes C.box]
|
box = HH.div [HP.classes C.box]
|
||||||
|
|
||||||
|
box_ :: forall w i. Array HH.ClassName -> Array (HH.HTML w i) -> HH.HTML w i
|
||||||
|
box_ classes = HH.div [HP.classes $ C.box <> classes]
|
||||||
|
|
||||||
option :: forall w i. String -> HH.HTML w i
|
option :: forall w i. String -> HH.HTML w i
|
||||||
option value = HH.option_ [HH.text value]
|
option value = HH.option_ [HH.text value]
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue