Checkpoint
This commit is contained in:
parent
4637689db4
commit
5112113aae
4 changed files with 104 additions and 40 deletions
57
dns.go
57
dns.go
|
|
@ -104,19 +104,17 @@ func BuildRecordsTree(records []DNSRecord) *DomainPart {
|
|||
return topPart
|
||||
}
|
||||
|
||||
func (dp *DomainPart) ToHTML(parts []string) string {
|
||||
html := ""
|
||||
type HTMLElement struct {
|
||||
Header bool
|
||||
HTML string
|
||||
}
|
||||
|
||||
/*
|
||||
var lines []struct {
|
||||
Header bool
|
||||
HTML string
|
||||
}
|
||||
*/
|
||||
func (dp *DomainPart) ToHTMLElements(parts []string, idFrom int) []HTMLElement {
|
||||
var lines []HTMLElement
|
||||
|
||||
sortedParts := slices.Sorted(maps.Keys(dp.Subparts))
|
||||
|
||||
for _, part := range sortedParts {
|
||||
for i, part := range sortedParts {
|
||||
subpart := dp.Subparts[part]
|
||||
newParts := append(parts, part)
|
||||
|
||||
|
|
@ -132,32 +130,41 @@ func (dp *DomainPart) ToHTML(parts []string) string {
|
|||
mostSpecificPart += "."
|
||||
}
|
||||
|
||||
var subHTML string
|
||||
if len(subpart.Subparts) == 0 {
|
||||
html += fmt.Sprintf(
|
||||
`<div class="record" style="margin-left: %dpx" data-top="%s"><span>%s</span><span>%s</span></div>`,
|
||||
len(newParts)*16,
|
||||
restPart,
|
||||
html := fmt.Sprintf(
|
||||
`
|
||||
<div class="record" style="padding-left: %dpx" data-i="%d" data-top="%s"><span>%s</span><span>%s</span></div>
|
||||
<div class="type" data-i="%d">hum</div>
|
||||
`,
|
||||
len(newParts)*32,
|
||||
idFrom + i, // data-i
|
||||
restPart, // data-top
|
||||
mostSpecificPart,
|
||||
restPart,
|
||||
idFrom + i,
|
||||
)
|
||||
lines = append(lines, HTMLElement{Header: false, HTML: html})
|
||||
} else {
|
||||
subHTML = subpart.ToHTML(newParts)
|
||||
html += fmt.Sprintf(`
|
||||
<div class="top" data-top="%s" style="margin-left: %dpx">
|
||||
<div class="fqdn">%s</div>
|
||||
html := fmt.Sprintf(`
|
||||
<div class="top" data-i="%d" data-top="%s" data-self="%s" style="padding-left: %dpx">
|
||||
<span>%s</span><span>%s</span>
|
||||
</div>
|
||||
<div data-top="%s" class="records">%s</div>
|
||||
<div class="type" data-i="%d"></div>
|
||||
`,
|
||||
fqdn,
|
||||
len(newParts)*16,
|
||||
fqdn,
|
||||
fqdn,
|
||||
subHTML,
|
||||
idFrom + i, // data-i
|
||||
restPart, // data-top
|
||||
fqdn, // data-self
|
||||
len(newParts)*32, // margin-left
|
||||
mostSpecificPart, // innerText
|
||||
restPart,
|
||||
idFrom + i,
|
||||
)
|
||||
lines = append(lines, HTMLElement{Header: true, HTML: html})
|
||||
subLines := subpart.ToHTMLElements(newParts, idFrom + i)
|
||||
lines = append(lines, subLines...)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return html
|
||||
return lines
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue