Skip to content

Commit 750e36f

Browse files
authored
Refactor sorting JS (hestiacp#3600)
* Refactor sorting JS * Use <time> element for notification timestamp * Reduce max width of modals
1 parent ca3cc33 commit 750e36f

18 files changed

+173
-169
lines changed

web/css/src/themes/default.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1750,7 +1750,7 @@
17501750

17511751
@media (--viewport-small) {
17521752
min-width: 360px;
1753-
max-width: 550px;
1753+
max-width: 460px;
17541754
}
17551755
}
17561756

web/js/src/listSorting.js

Lines changed: 35 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -6,60 +6,59 @@ export default function handleListSorting() {
66
sort_as_int: false,
77
};
88

9+
const toggleButton = document.querySelector('.js-toggle-sorting-menu');
10+
const sortingMenu = document.querySelector('.js-sorting-menu');
11+
const unitsContainer = document.querySelector('.units');
12+
13+
if (!toggleButton || !sortingMenu || !unitsContainer) {
14+
return;
15+
}
16+
917
// Toggle dropdown button
10-
document.querySelectorAll('.toolbar-sorting-toggle').forEach((toggle) => {
11-
toggle.addEventListener('click', (evt) => {
12-
evt.preventDefault();
13-
document.querySelector('.toolbar-sorting-menu').classList.toggle('u-hidden');
14-
});
18+
toggleButton.addEventListener('click', () => {
19+
sortingMenu.classList.toggle('u-hidden');
1520
});
1621

1722
// "Click outside" to close dropdown
1823
document.addEventListener('click', (event) => {
19-
const toggleButton = document.querySelector('.toolbar-sorting-toggle');
20-
const dropdown = document.querySelector('.toolbar-sorting-menu');
21-
22-
if (!dropdown || !toggleButton) {
23-
return;
24-
}
25-
26-
if (
27-
!dropdown.contains(event.target) &&
28-
!toggleButton.contains(event.target) &&
29-
!dropdown.classList.contains('u-hidden')
30-
) {
31-
dropdown.classList.add('u-hidden');
24+
const isClickInside = sortingMenu.contains(event.target) || toggleButton.contains(event.target);
25+
if (!isClickInside && !sortingMenu.classList.contains('u-hidden')) {
26+
sortingMenu.classList.add('u-hidden');
3227
}
3328
});
3429

3530
// Inner dropdown sorting behavior
36-
document.querySelectorAll('.toolbar-sorting-menu span').forEach((span) => {
31+
sortingMenu.querySelectorAll('span').forEach((span) => {
3732
span.addEventListener('click', function () {
38-
const menu = document.querySelector('.toolbar-sorting-menu');
39-
menu.classList.toggle('u-hidden');
33+
sortingMenu.classList.add('u-hidden');
4034

41-
if (this.classList.contains('active')) {
35+
// Skip if the clicked sort is already active
36+
if (span.classList.contains('active')) {
4237
return;
4338
}
4439

45-
document
46-
.querySelectorAll('.toolbar-sorting-menu span')
47-
.forEach((s) => s.classList.remove('active'));
48-
this.classList.add('active');
49-
const parentLi = this.closest('li');
40+
// Remove 'active' class from all spans and add it to the clicked span
41+
sortingMenu.querySelectorAll('span').forEach((s) => {
42+
s.classList.remove('active');
43+
});
44+
span.classList.add('active');
45+
46+
// Update state with new sorting parameters
47+
const parentLi = span.closest('li');
5048
state.sort_par = parentLi.dataset.entity;
5149
state.sort_as_int = Boolean(parentLi.dataset.sortAsInt);
52-
state.sort_direction = this.classList.contains('up') ? 1 : -1;
50+
state.sort_direction = span.classList.contains('up') ? 1 : -1;
5351

54-
const toggle = document.querySelector('.toolbar-sorting-toggle');
55-
toggle.querySelector('b').innerHTML = parentLi.querySelector('.name').innerHTML;
56-
const fas = toggle.querySelector('.fas');
57-
fas.classList.remove('fa-arrow-up-a-z', 'fa-arrow-down-a-z');
58-
fas.classList.add(this.classList.contains('up') ? 'fa-arrow-up-a-z' : 'fa-arrow-down-a-z');
52+
// Update toggle button text and icon
53+
toggleButton.querySelector('b').innerHTML = parentLi.querySelector('.name').innerHTML;
54+
const faIcon = toggleButton.querySelector('.fas');
55+
faIcon.classList.remove('fa-arrow-up-a-z', 'fa-arrow-down-a-z');
56+
faIcon.classList.add(span.classList.contains('up') ? 'fa-arrow-up-a-z' : 'fa-arrow-down-a-z');
5957

60-
const units = Array.from(document.querySelectorAll('.units .l-unit')).sort((a, b) => {
61-
const aAttr = a.getAttribute(state.sort_par);
62-
const bAttr = b.getAttribute(state.sort_par);
58+
// Sort units and reattach them to the DOM
59+
const units = Array.from(document.querySelectorAll('.js-sortable-unit')).sort((a, b) => {
60+
const aAttr = a.getAttribute(`data-${state.sort_par}`);
61+
const bAttr = b.getAttribute(`data-${state.sort_par}`);
6362

6463
if (state.sort_as_int) {
6564
const aInt = Number.parseInt(aAttr);
@@ -70,7 +69,6 @@ export default function handleListSorting() {
7069
return aAttr <= bAttr ? state.sort_direction : state.sort_direction * -1;
7170
});
7271

73-
const unitsContainer = document.querySelector('.units');
7472
units.forEach((unit) => unitsContainer.appendChild(unit));
7573
});
7674
});

web/templates/includes/panel.php

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -96,10 +96,12 @@ class="top-bar-notification-delete"
9696
</button>
9797
</div>
9898
<div x-html="notification.NOTICE"></div>
99-
<p
100-
x-text="`${notification.TIME} ${notification.DATE}`"
101-
class="top-bar-notification-timestamp"
102-
></p>
99+
<p class="top-bar-notification-timestamp">
100+
<time
101+
:datetime="`${notification.DATE}T${notification.TIME}`"
102+
x-text="`${notification.TIME} ${notification.DATE}`"
103+
></time>
104+
</p>
103105
</li>
104106
</template>
105107
<template x-if="initialized && notifications.length > 2">

web/templates/pages/list_access_keys.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@
1111
</div>
1212
<div class="toolbar-right">
1313
<div class="toolbar-sorting">
14-
<button class="toolbar-sorting-toggle" type="button" title="<?= _("Sort items") ?>">
14+
<button class="toolbar-sorting-toggle js-toggle-sorting-menu" type="button" title="<?= _("Sort items") ?>">
1515
<?= _("Sort by") ?>: <b><?= _("Date") ?> <i class="fas fa-arrow-down-a-z"></i></b>
1616
</button>
17-
<ul class="toolbar-sorting-menu animate__animated animate__fadeIn u-hidden">
17+
<ul class="toolbar-sorting-menu animate__animated animate__fadeIn js-sorting-menu u-hidden">
1818
<li data-entity="sort-date" data-sort-as-int="1">
1919
<span class="name <?php if ($_SESSION['userSortOrder'] === 'date') { echo 'active'; } ?>"><?= _("Date") ?> <i class="fas fa-arrow-down-a-z"></i></span><span class="up"><i class="fas fa-arrow-up-a-z"></i></span>
2020
</li>
@@ -69,10 +69,10 @@
6969
$key_date = !empty($value['DATE']) ? $value['DATE'] : '-';
7070
$key_time = !empty($value['TIME']) ? $value['TIME'] : '-';
7171
?>
72-
<div class="l-unit animate__animated animate__fadeIn"
73-
sort-key="<?=strtolower($key)?>"
74-
sort-comment="<?=strtolower($key_comment)?>"
75-
sort-date="<?=strtotime($data[$key]['DATE'] .' '. $data[$key]['TIME'] )?>">
72+
<div class="l-unit animate__animated animate__fadeIn js-sortable-unit"
73+
data-sort-key="<?=strtolower($key)?>"
74+
data-sort-comment="<?=strtolower($key_comment)?>"
75+
data-sort-date="<?=strtotime($data[$key]['DATE'] .' '. $data[$key]['TIME'] )?>">
7676

7777
<div class="l-unit__col l-unit__col--right">
7878
<div class="clearfix l-unit__stat-col--left super-compact">

web/templates/pages/list_cron.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,14 @@
1919
</div>
2020
<div class="toolbar-right">
2121
<div class="toolbar-sorting">
22-
<button class="toolbar-sorting-toggle" type="button" title="<?= _("Sort items") ?>">
22+
<button class="toolbar-sorting-toggle js-toggle-sorting-menu" type="button" title="<?= _("Sort items") ?>">
2323
<?= _("Sort by") ?>:
2424
<b>
25-
<?php if ($_SESSION['userSortOrder'] === 'name') { $label = _('Name'); } else { $label = _('Date'); } ?>
25+
<?php if ($_SESSION['userSortOrder'] === 'name') { $label = _('Command'); } else { $label = _('Date'); } ?>
2626
<?=$label;?> <i class="fas fa-arrow-down-a-z"></i>
2727
</b>
2828
</button>
29-
<ul class="toolbar-sorting-menu animate__animated animate__fadeIn u-hidden">
29+
<ul class="toolbar-sorting-menu animate__animated animate__fadeIn js-sorting-menu u-hidden">
3030
<li data-entity="sort-name">
3131
<span class="name <?php if ($_SESSION['userSortOrder'] === 'name') { echo 'active'; } ?>"><?= _("Command") ?> <i class="fas fa-arrow-down-a-z"></i></span><span class="up"><i class="fas fa-arrow-up-a-z"></i></span>
3232
</li>
@@ -99,9 +99,9 @@
9999
$spnd_confirmation = _('Are you sure you want to suspend the cron job?') ;
100100
}
101101
?>
102-
<div class="l-unit <?php if($status == 'suspended') echo 'l-unit--suspended'; ?> animate__animated animate__fadeIn"
103-
sort-date="<?=strtotime($data[$key]['DATE'].' '.$data[$key]['TIME'])?>"
104-
sort-name="<?=htmlspecialchars($data[$key]['CMD'], ENT_NOQUOTES)?>">
102+
<div class="l-unit <?php if($status == 'suspended') echo 'l-unit--suspended'; ?> animate__animated animate__fadeIn js-sortable-unit"
103+
data-sort-date="<?=strtotime($data[$key]['DATE'].' '.$data[$key]['TIME'])?>"
104+
data-sort-name="<?=htmlspecialchars($data[$key]['CMD'], ENT_NOQUOTES)?>">
105105
<div class="l-unit__col l-unit__col--right">
106106
<div class="clearfix l-unit__stat-col--left super-compact">
107107
<input id="check<?= $i ?>" class="ch-toggle" type="checkbox" title="<?= _("Select") ?>" name="job[]" value="<?= $key ?>" <?= $display_mode ?>>

web/templates/pages/list_db.php

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -38,14 +38,14 @@
3838
</div>
3939
<div class="toolbar-right">
4040
<div class="toolbar-sorting">
41-
<button class="toolbar-sorting-toggle" type="button" title="<?= _("Sort items") ?>">
41+
<button class="toolbar-sorting-toggle js-toggle-sorting-menu" type="button" title="<?= _("Sort items") ?>">
4242
<?= _("Sort by") ?>:
4343
<b>
4444
<?php if ($_SESSION['userSortOrder'] === 'name') { $label = _('Name'); } else { $label = _('Date'); } ?>
4545
<?=$label;?> <i class="fas fa-arrow-down-a-z"></i>
4646
</b>
4747
</button>
48-
<ul class="toolbar-sorting-menu animate__animated animate__fadeIn u-hidden">
48+
<ul class="toolbar-sorting-menu animate__animated animate__fadeIn js-sorting-menu u-hidden">
4949
<li data-entity="sort-charset">
5050
<span class="name"><?= _("Charset") ?> <i class="fas fa-arrow-down-a-z"></i></span><span class="up"><i class="fas fa-arrow-up-a-z"></i></span>
5151
</li>
@@ -139,13 +139,13 @@
139139
if ($data[$key]['TYPE'] == 'pgsql') $db_admin_link = "https://".$http_host."/phppgadmin/";
140140
if (($data[$key]['TYPE'] == 'pgsql') && (!empty($_SESSION['DB_PGA_ALIAS']))) $db_admin_link = $_SESSION['DB_PGA_ALIAS'];
141141
?>
142-
<div class="l-unit <?php if($status == 'suspended') echo 'l-unit--suspended'; ?> animate__animated animate__fadeIn"
143-
sort-date="<?=strtotime($data[$key]['DATE'].' '.$data[$key]['TIME'])?>"
144-
sort-name="<?=$key?>"
145-
sort-disk="<?=$data[$key]['U_DISK']?>"
146-
sort-user="<?=$data[$key]['DBUSER']?>"
147-
sort-server="<?=$data[$key]['HOST']?>"
148-
sort-charset="<?=$data[$key]['CHARSET']?>">
142+
<div class="l-unit <?php if($status == 'suspended') echo 'l-unit--suspended'; ?> animate__animated animate__fadeIn js-sortable-unit"
143+
data-sort-date="<?=strtotime($data[$key]['DATE'].' '.$data[$key]['TIME'])?>"
144+
data-sort-name="<?=$key?>"
145+
data-sort-disk="<?=$data[$key]['U_DISK']?>"
146+
data-sort-user="<?=$data[$key]['DBUSER']?>"
147+
data-sort-server="<?=$data[$key]['HOST']?>"
148+
data-sort-charset="<?=$data[$key]['CHARSET']?>">
149149
<div class="l-unit__col l-unit__col--right">
150150
<div>
151151
<div class="clearfix l-unit__stat-col--left super-compact">

web/templates/pages/list_dns.php

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,14 @@
1010
</div>
1111
<div class="toolbar-right">
1212
<div class="toolbar-sorting">
13-
<button class="toolbar-sorting-toggle" type="button" title="<?= _("Sort items") ?>">
13+
<button class="toolbar-sorting-toggle js-toggle-sorting-menu" type="button" title="<?= _("Sort items") ?>">
1414
<?= _("Sort by") ?>:
1515
<b>
1616
<?php if ($_SESSION['userSortOrder'] === 'name') { $label = _('Name'); } else { $label = _('Date'); } ?>
1717
<?=$label;?> <i class="fas fa-arrow-down-a-z"></i>
1818
</b>
1919
</button>
20-
<ul class="toolbar-sorting-menu animate__animated animate__fadeIn u-hidden">
20+
<ul class="toolbar-sorting-menu animate__animated animate__fadeIn js-sorting-menu u-hidden">
2121
<li data-entity="sort-date" data-sort-as-int="1">
2222
<span class="name <?php if ($_SESSION['userSortOrder'] === 'date') { echo 'active'; } ?>"><?= _("Date") ?> <i class="fas fa-arrow-down-a-z"></i></span><span class="up"><i class="fas fa-arrow-up-a-z"></i></span>
2323
</li>
@@ -106,12 +106,12 @@
106106
}
107107
}
108108
?>
109-
<div class="l-unit <?php if ($status == 'suspended') echo ' l-unit--suspended'; ?> animate__animated animate__fadeIn"
110-
sort-ip="<?=str_replace('.', '', $data[$key]['IP'])?>"
111-
sort-date="<?=strtotime($data[$key]['DATE'].' '.$data[$key]['TIME'])?>"
112-
sort-name="<?=htmlentities($key);?>"
113-
sort-expire="<?=strtotime($data[$key]['EXP'])?>"
114-
sort-records="<?=(int)$data[$key]['RECORDS']?>">
109+
<div class="l-unit <?php if ($status == 'suspended') echo 'l-unit--suspended'; ?> animate__animated animate__fadeIn js-sortable-unit"
110+
data-sort-ip="<?=str_replace('.', '', $data[$key]['IP'])?>"
111+
data-sort-date="<?=strtotime($data[$key]['DATE'].' '.$data[$key]['TIME'])?>"
112+
data-sort-name="<?=htmlentities($key);?>"
113+
data-sort-expire="<?=strtotime($data[$key]['EXP'])?>"
114+
data-sort-records="<?=(int)$data[$key]['RECORDS']?>">
115115
<div class="l-unit__col l-unit__col--right">
116116
<div class="clearfix l-unit__stat-col--left super-compact">
117117
<input id="check<?= $i ?>" class="ch-toggle" type="checkbox" title="<?= _("Select") ?>" name="domain[]" value="<?= $key ?>" <?= $display_mode ?>>

web/templates/pages/list_dns_public.php

Lines changed: 28 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,14 @@
1010
</div>
1111
<div class="toolbar-right">
1212
<div class="toolbar-sorting">
13-
<button class="toolbar-sorting-toggle" type="button" title="<?= _("Sort items") ?>">
13+
<button class="toolbar-sorting-toggle js-toggle-sorting-menu" type="button" title="<?= _("Sort items") ?>">
1414
<?= _("Sort by") ?>:
1515
<b>
1616
<?php if ($_SESSION['userSortOrder'] === 'name') { $label = _('Name'); } else { $label = _('Date'); } ?>
1717
<?=$label;?> <i class="fas fa-arrow-down-a-z"></i>
1818
</b>
1919
</button>
20-
<ul class="toolbar-sorting-menu animate__animated animate__fadeIn u-hidden">
20+
<ul class="toolbar-sorting-menu animate__animated animate__fadeIn js-sorting-menu u-hidden">
2121
<li data-entity="sort-date" data-sort-as-int="1">
2222
<span class="name <?php if ($_SESSION['userSortOrder'] === 'date') { echo 'active'; } ?>"><?= _("Date") ?> <i class="fas fa-arrow-down-a-z"></i></span><span class="up"><i class="fas fa-arrow-up-a-z"></i></span>
2323
</li>
@@ -68,33 +68,35 @@
6868

6969
<div class="container units">
7070

71-
<div class="l-unit animate__animated animate__fadeIn">
72-
<div class="l-unit__col l-unit__col--right">
73-
<div class="clearfix l-unit__stat-col--left u-text-center u-pt10"><b><?= _("DNSKEY Record") ?></b></div>
74-
<div class="clearfix l-unit__stat-col--left wide-3"><b><input type="text" class="form-control" value="<?php echo $data[$domain]["RECORD"]; ?>"></b></div>
71+
<div class="l-unit animate__animated animate__fadeIn js-sortable-unit">
72+
<div class="l-unit__col l-unit__col--right">
73+
<div class="clearfix l-unit__stat-col--left u-text-center u-pt10"><b><?= _("DNSKEY Record") ?></b></div>
74+
<div class="clearfix l-unit__stat-col--left wide-3"><b><input type="text" class="form-control" value="<?php echo $data[$domain]["RECORD"]; ?>"></b></div>
75+
</div>
7576
</div>
76-
</div>
77-
<div class="l-unit animate__animated animate__fadeIn">
78-
<div class="l-unit__col l-unit__col--right">
79-
<div class="clearfix l-unit__stat-col--left u-text-center u-pt10"><b><?= _("DS Record") ?></b></div>
80-
<div class="clearfix l-unit__stat-col--left wide-3"><b><input type="text" class="form-control" value="<?php echo $data[$domain]["DS"]; ?>"></b></div>
77+
<div class="l-unit animate__animated animate__fadeIn js-sortable-unit">
78+
<div class="l-unit__col l-unit__col--right">
79+
<div class="clearfix l-unit__stat-col--left u-text-center u-pt10"><b><?= _("DS Record") ?></b></div>
80+
<div class="clearfix l-unit__stat-col--left wide-3"><b><input type="text" class="form-control" value="<?php echo $data[$domain]["DS"]; ?>"></b></div>
81+
</div>
8182
</div>
82-
</div>
83-
<div class="l-unit animate__animated animate__fadeIn">
84-
<div class="l-unit__col l-unit__col--right">
85-
<div class="clearfix l-unit__stat-col--left u-text-center u-pt10"><b><?= _("Public Key") ?></b></div>
86-
<div class="clearfix l-unit__stat-col--left wide-3"><b><input type="text" class="form-control" value="<?php echo $data[$domain]["KEY"]; ?>"></b></div>
83+
<div class="l-unit animate__animated animate__fadeIn js-sortable-unit">
84+
<div class="l-unit__col l-unit__col--right">
85+
<div class="clearfix l-unit__stat-col--left u-text-center u-pt10"><b><?= _("Public Key") ?></b></div>
86+
<div class="clearfix l-unit__stat-col--left wide-3"><b><input type="text" class="form-control" value="<?php echo $data[$domain]["KEY"]; ?>"></b></div>
87+
</div>
8788
</div>
88-
</div>
89-
<div class="l-unit animate__animated animate__fadeIn">
90-
<div class="l-unit__col l-unit__col--right">
91-
<div class="clearfix l-unit__stat-col--left u-text-center u-pt10"><b><?= _("Key Tag / Flag") ?></b></div>
92-
<div class="clearfix l-unit__stat-col--left wide-3"><b><input type="text" class="form-control" value="<?php echo $flag; ?>"></b></div>
89+
<div class="l-unit animate__animated animate__fadeIn js-sortable-unit">
90+
<div class="l-unit__col l-unit__col--right">
91+
<div class="clearfix l-unit__stat-col--left u-text-center u-pt10"><b><?= _("Key Tag / Flag") ?></b></div>
92+
<div class="clearfix l-unit__stat-col--left wide-3"><b><input type="text" class="form-control" value="<?php echo $flag; ?>"></b></div>
93+
</div>
9394
</div>
94-
</div>
95-
<div class="l-unit animate__animated animate__fadeIn">
96-
<div class="l-unit__col l-unit__col--right">
97-
<div class="clearfix l-unit__stat-col--left u-text-center u-pt10"><b><?= _("Algorithm") ?></b></div>
98-
<div class="clearfix l-unit__stat-col--left wide-3"><b><input type="text" class="form-control" value="<?php echo $algorithm; ?>"></b></div>
95+
<div class="l-unit animate__animated animate__fadeIn js-sortable-unit">
96+
<div class="l-unit__col l-unit__col--right">
97+
<div class="clearfix l-unit__stat-col--left u-text-center u-pt10"><b><?= _("Algorithm") ?></b></div>
98+
<div class="clearfix l-unit__stat-col--left wide-3"><b><input type="text" class="form-control" value="<?php echo $algorithm; ?>"></b></div>
99+
</div>
99100
</div>
101+
100102
</div>

web/templates/pages/list_dns_rec.php

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,14 @@
1616
</div>
1717
<div class="toolbar-right">
1818
<div class="toolbar-sorting">
19-
<button class="toolbar-sorting-toggle" type="button" title="<?= _("Sort items") ?>">
19+
<button class="toolbar-sorting-toggle js-toggle-sorting-menu" type="button" title="<?= _("Sort items") ?>">
2020
<?= _("Sort by") ?>:
2121
<b>
2222
<?php if ($_SESSION['userSortOrder'] === 'name') { $label = _('Record'); } else { $label = _('Date'); } ?>
2323
<?=$label;?> <i class="fas fa-arrow-down-a-z"></i>
2424
</b>
2525
</button>
26-
<ul class="toolbar-sorting-menu animate__animated animate__fadeIn u-hidden">
26+
<ul class="toolbar-sorting-menu animate__animated animate__fadeIn js-sorting-menu u-hidden">
2727
<li data-entity="sort-date" data-sort-as-int="1">
2828
<span class="name <?php if ($_SESSION['userSortOrder'] === 'date') { echo 'active'; } ?>"><?= _("Date") ?> <i class="fas fa-arrow-down-a-z"></i></span><span class="up"><i class="fas fa-arrow-up-a-z"></i></span>
2929
</li>
@@ -97,12 +97,12 @@
9797

9898
}
9999
?>
100-
<div class="l-unit<?php if ($status == 'suspended') echo ' l-unit--suspended';?> animate__animated animate__fadeIn"
101-
sort-date="<?=strtotime($data[$key]['DATE'].' '.$data[$key]['TIME'])?>"
102-
sort-record="<?=$data[$key]['RECORD']?>"
103-
sort-type="<?=$data[$key]['TYPE']?>"
104-
sort-ttl="<?=$data[$key]['TTL']?>"
105-
sort-value="<?=$data[$key]['VALUE']?>">
100+
<div class="l-unit <?php if ($status == 'suspended') echo 'l-unit--suspended';?> animate__animated animate__fadeIn js-sortable-unit"
101+
data-sort-date="<?=strtotime($data[$key]['DATE'].' '.$data[$key]['TIME'])?>"
102+
data-sort-record="<?=$data[$key]['RECORD']?>"
103+
data-sort-type="<?=$data[$key]['TYPE']?>"
104+
data-sort-ttl="<?=$data[$key]['TTL']?>"
105+
data-sort-value="<?=$data[$key]['VALUE']?>">
106106
<div class="l-unit__col l-unit__col--right">
107107
<div class="clearfix l-unit__stat-col--left super-compact">
108108
<input id="check<?= $data[$key]["ID"] ?>" class="ch-toggle" type="checkbox" title="<?= _("Select") ?>" name="record[]" value="<?= $data[$key]["ID"] ?>" <?= $display_mode ?>>

0 commit comments

Comments
 (0)