Skip to content

Commit 4c326c7

Browse files
committed
v1.2 - možnost seřazení dat
1 parent 6276df3 commit 4c326c7

File tree

3 files changed

+52
-7
lines changed

3 files changed

+52
-7
lines changed

server/api/index.php

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,17 @@
144144
$where.=" url_group.groupname='".sqlInject($_GET['kat'])."'";
145145
}
146146

147-
$api->loadData($db, $where, '', $from, $limit, $join);
147+
148+
if($_GET['order']=="url") { $order="url.url"; }
149+
elseif($_GET['order']=="checkTime") { $order="status.date"; }
150+
elseif($_GET['order']=="deadTime") { $order="exticint.exticintDate"; }
151+
elseif($_GET['order']=="index") { $order="status.metadata_match"; }
152+
else { $order="url.id"; }
153+
154+
if(!empty($_GET['orderReverse'])) { $order.=" DESC"; }
155+
else { $order.=" ASC"; }
156+
157+
$api->loadData($db, $where, $order, $from, $limit, $join);
148158
$import=$api->import($db);
149159
if($import) {
150160
$data=$import;

ui/src/App.svelte

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import Pagination from "./components/Pagination.svelte";
2222
import LimitSelect from "./components/LimitSelect.svelte";
2323
import Notify from "./components/Notify.svelte";
24+
import OrderStatus from "./components/OrderStatus.svelte";
2425
import { api, db } from "./ConfigService.js";
2526
2627
export let urlPath = "";
@@ -34,6 +35,8 @@
3435
export let checkbox=[];
3536
export let filterDateFrom=false;
3637
export let filterDateTo=false;
38+
export let order="id";
39+
export let orderReverse=false;
3740
3841
export let page=1;
3942
export let limit=15;
@@ -55,6 +58,10 @@
5558
if(filterType && filterType!="") { param+='&filter='+filterType; }
5659
if(filterDateFrom && filterDateFrom!="") { param+='&dateFrom='+filterDateFrom; }
5760
if(filterDateTo && filterDateTo!="") { param+='&dateTo='+filterDateTo; }
61+
if(order) {
62+
param+='&order='+order;
63+
if(orderReverse) { param+='&orderReverse=1'; }
64+
}
5865
return param;
5966
}
6067
@@ -92,7 +99,7 @@
9299
});
93100
94101
$: {
95-
if(active) { loadData(filterUrl, filterType, page, limit, filterDateFrom, filterDateTo); }
102+
if(active) { loadData(filterUrl, filterType, page, limit, filterDateFrom, filterDateTo, order, orderReverse); }
96103
if(needsUpdate) {
97104
checkbox=[];
98105
loadData(needsUpdate);
@@ -220,13 +227,13 @@
220227
<table class="table data-table m-0">
221228
<thead>
222229
<tr>
223-
<th></th>
224-
<th>URL</th>
230+
<th><OrderStatus id="id" bind:order bind:orderReverse /></th>
231+
<th>URL <OrderStatus id="url" bind:order bind:orderReverse /></th>
225232
<th style="min-width:205px;">Info</th>
226-
<th>Poslední kontrola</th>
227-
<th>Index úmrtí</th>
233+
<th>Poslední kontrola <OrderStatus id="checkTime" bind:order bind:orderReverse /></th>
234+
<th>Index úmrtí <OrderStatus id="index" bind:order bind:orderReverse /></th>
228235
<th>Stav</th>
229-
<th>Datum úmrtí</th>
236+
<th>Datum úmrtí <OrderStatus id="deadTime" bind:order bind:orderReverse /></th>
230237
<!--<th>Kategorie</th>-->
231238
<th style="min-width:80px;">Kontrola</th>
232239
</tr>

ui/src/components/OrderStatus.svelte

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<script>
2+
import IoIosArrowDown from 'svelte-icons/io/IoIosArrowDown.svelte'
3+
import IoIosArrowUp from 'svelte-icons/io/IoIosArrowUp.svelte'
4+
5+
export let id="";
6+
export let order;
7+
export let orderReverse;
8+
9+
function setOrder(o, r) {
10+
console.log(id);
11+
order=o;
12+
orderReverse=r;
13+
}
14+
15+
function getActiveClass(o, r, v) {
16+
if(o==id && r==v) { return "orderIconActive"; }
17+
return "";
18+
}
19+
</script>
20+
21+
<div class="orderIcon {getActiveClass(order, orderReverse, 1)}" on:click="{()=>setOrder(id, 1)}"><IoIosArrowDown /></div>
22+
<div class="orderIcon {getActiveClass(order, orderReverse, 0)}" on:click="{()=>setOrder(id, 0)}"><IoIosArrowUp /></div>
23+
24+
25+
<style>
26+
.orderIcon { width:13px; float:right; color:silver; cursor:pointer; }
27+
.orderIconActive { color:black; }
28+
</style>

0 commit comments

Comments
 (0)