From 70b4551a5a675af6954da1cd8ef1dd7c3f84dafa Mon Sep 17 00:00:00 2001 From: Chufretalas Date: Fri, 3 Nov 2023 17:16:41 -0300 Subject: [PATCH] the server is receiving the query requests --- controllers/controllers.go | 15 ++++++++++++++ routes/routes.go | 1 + static/js/query.js | 40 ++++++++++++++++++++++++++++++++++++++ templates/table_view.html | 14 ++----------- 4 files changed, 58 insertions(+), 12 deletions(-) create mode 100644 static/js/query.js diff --git a/controllers/controllers.go b/controllers/controllers.go index a5262eb..2987c2b 100644 --- a/controllers/controllers.go +++ b/controllers/controllers.go @@ -1,6 +1,7 @@ package controllers import ( + "encoding/json" "fmt" "html/template" "log" @@ -117,3 +118,17 @@ func NewRow(w http.ResponseWriter, r *http.Request) { http.Redirect(w, r, r.Header.Get("Referer"), http.StatusMovedPermanently) } + +func Query(w http.ResponseWriter, r *http.Request) { + decoder := json.NewDecoder(r.Body) + var t map[string]interface{} + err := decoder.Decode(&t) + if err != nil { + panic(err) + } + + fmt.Println(t) + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(http.StatusOK) + json.NewEncoder(w).Encode(map[string]string{"opa": "aaaaaa"}) +} diff --git a/routes/routes.go b/routes/routes.go index 935848f..42f52e7 100644 --- a/routes/routes.go +++ b/routes/routes.go @@ -15,6 +15,7 @@ func LoadRoutes() { Router.HandleFunc("/table_view", controllers.TableView) Router.HandleFunc("/new_table", controllers.NewTable).Methods("POST") Router.HandleFunc("/new_row", controllers.NewRow).Methods("POST") + Router.HandleFunc("/query", controllers.Query).Methods("POST") Router.PathPrefix("/static/").Handler(http.StripPrefix("/static/", http.FileServer(http.Dir("./static")))) // I love you gorilla mux ❤ http.Handle("/", Router) } diff --git a/static/js/query.js b/static/js/query.js new file mode 100644 index 0000000..c156414 --- /dev/null +++ b/static/js/query.js @@ -0,0 +1,40 @@ +const limit = document.querySelector("#query_limit") +const sortBy = document.querySelector("#query_sort_by") +const sortDirec = document.querySelector("#query_sort_direc") +const sortByDirectionSet = document.querySelector("#query_sort_direc_set") +const queryButton = document.querySelector("#query_button") + +const params = new URLSearchParams(window.location.search) +const tableName = params.get("name") + +sortBy.addEventListener("change", (e) => { + if (e.target.value === "NONE 😵") { + if (!sortByDirectionSet.classList.contains("hidden")) { + sortByDirectionSet.classList.add("hidden") + } + } else { + sortByDirectionSet.classList.remove("hidden") + } +}) + +queryButton.addEventListener("click", async (e) => { + e.preventDefault() + console.log(tableName) + const rawResp = await fetch(`/query`, + { + method: "POST", + headers: { + 'Accept': 'application/json', + 'Content-Type': 'application/json' + }, + body: JSON.stringify({ + tableName: tableName, + limit: limit.value < 0 ? 0 : limit.value, + sortBy: sortBy.value, + sortDirec: sortDirec.value + }) + } + ) + const resp = await rawResp.json() + console.log(resp) +}) \ No newline at end of file diff --git a/templates/table_view.html b/templates/table_view.html index 849cb23..9927848 100644 --- a/templates/table_view.html +++ b/templates/table_view.html @@ -8,6 +8,7 @@ + Pantsbase 👖 @@ -98,18 +99,7 @@

Query