parent
da183c453c
commit
51b18823ae
@ -1,19 +0,0 @@ |
||||
<script> |
||||
let Rows = new GetJson("/api/admin/table/") |
||||
console.log("Rows", Rows) |
||||
</script> |
||||
|
||||
<blockstart> |
||||
<h1>Admin Rows</h1> |
||||
|
||||
<block x-data="Rows"> |
||||
<ul> |
||||
<template x-for="item in theData"> |
||||
<li><a x-bind:href="'/admin/table/' + item + '/'"> |
||||
<span x-text="item"></span> |
||||
</a></li> |
||||
</template> |
||||
</ul> |
||||
</block> |
||||
|
||||
</blockstart> |
@ -1,20 +1,46 @@ |
||||
class GetJson { |
||||
class PaginateTable { |
||||
constructor(url) { |
||||
this.url = url; |
||||
this.page = 0; |
||||
this.items = []; |
||||
this.item = undefined; |
||||
this.url = url; |
||||
this.headers = []; |
||||
} |
||||
|
||||
async theData() { |
||||
const resp = await fetch(this.url); |
||||
async contents() { |
||||
if(this.page < 0) this.page = 0; |
||||
|
||||
const resp = await fetch(`${this.url}?page=${this.page}`); |
||||
console.assert(resp.status == 200, "failed to get it"); |
||||
|
||||
this.items = await resp.json(); |
||||
|
||||
this.headers = Object.keys(this.items[0]); |
||||
|
||||
return this.items; |
||||
} |
||||
} |
||||
|
||||
class GetJson { |
||||
constructor(url) { |
||||
this.item; |
||||
this.url = url; |
||||
} |
||||
|
||||
async oneThing() { |
||||
this.item = await this.theData(); |
||||
console.log("ITEMS", this.items); |
||||
async item() { |
||||
const resp = await fetch(`${this.url}`); |
||||
console.assert(resp.status == 200, "failed to get it"); |
||||
|
||||
this.item = await resp.json(); |
||||
return this.item; |
||||
} |
||||
} |
||||
|
||||
const ConfirmDelete = async (table, obj_id) => { |
||||
if(confirm("Are you sure?")) { |
||||
await fetch("/api/admin/table/" + table + "/" + obj_id + "/", |
||||
{ method: "DELETE" }); |
||||
window.location = "/admin/table/" + table + "/"; |
||||
} else { |
||||
return false; |
||||
} |
||||
} |
||||
|
@ -1,17 +1,20 @@ |
||||
<blockstart> |
||||
|
||||
<h1>{{ .TableName }} </h1> |
||||
<script> |
||||
let Data = new PaginateTable("/api/admin/table/") |
||||
</script> |
||||
|
||||
<block> |
||||
<table> |
||||
<tr><th>ID</th></tr> |
||||
<blockstart> |
||||
<h1>Admin Rows</h1> |
||||
|
||||
{{ range $index, $row := .Table }} |
||||
<tr> |
||||
<td>{{ $row }}</td> |
||||
</tr> |
||||
{{ end }} |
||||
</table> |
||||
<block x-data="Data"> |
||||
<ul> |
||||
<template x-for="item in contents"> |
||||
<li> |
||||
<a x-bind:href="`/admin/table/${item}`"> |
||||
<span x-text="item"></span> |
||||
</a> |
||||
</li> |
||||
</template> |
||||
</ul> |
||||
</block> |
||||
|
||||
</blockstart> |
||||
|
Loading…
Reference in new issue