All it can do is view and delete the connections but that was the key functionality that was missing.
35 lines
1.1 KiB
Go
35 lines
1.1 KiB
Go
package templates
|
|
|
|
import "fmt"
|
|
|
|
// List item templates
|
|
const LIST_OPEN string = `<select id="connected-database" name="connected-database" class="mt-1 block p-2 border border-gray-300 rounded-md shadow-sm focus:ring-blue-500 focus:border-blue-500 text-sm md:text-base" title="Change the connection to query.">`
|
|
const LIST_ITEM string = `<option value="%s"%s>%s</option>`
|
|
const LIST_CLOSE string = `</select>`
|
|
|
|
const TREE_VIEW_NAME string = `<span hx-swap-oob="outerHTML" id="database-name-tree">%s</span>`
|
|
|
|
// Generate a list of connections to display in the drop-down.
|
|
// Current connection will be toggled as selected
|
|
func ConnectionsList(connections map[string]string, current string) string {
|
|
var html string = LIST_OPEN
|
|
|
|
if len(connections) == 0 || connections == nil {
|
|
html += fmt.Sprintf(LIST_ITEM, "", " selected", "No connections")
|
|
return html + LIST_CLOSE
|
|
}
|
|
|
|
for name, url := range connections {
|
|
if name == current {
|
|
html += fmt.Sprintf(LIST_ITEM, url, " selected", name)
|
|
} else {
|
|
html += fmt.Sprintf(LIST_ITEM, url, "", name)
|
|
}
|
|
}
|
|
|
|
treeName := fmt.Sprintf(TREE_VIEW_NAME, current)
|
|
|
|
html += LIST_CLOSE
|
|
return html + treeName
|
|
}
|