Skip to content

Commit 98264b8

Browse files
committed
preserve sort order of gridRssi on reload (close #91)
1 parent e0853c0 commit 98264b8

File tree

1 file changed

+28
-2
lines changed

1 file changed

+28
-2
lines changed

www/js/homematic-manager.js

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3535,7 +3535,6 @@ function getRfdData() {
35353535
listInterfaces = data || [];
35363536
if (['BidCos-RF', 'HmIP'].includes(config.daemons[daemon].type)) {
35373537
rpcAlert(daemon, 'rssiInfo', [], (err, data) => {
3538-
console.log('rssiInfo', daemon, JSON.stringify(data));
35393538
listRssi = data;
35403539
$('#gbox_grid-rssi').show();
35413540
initGridRssi();
@@ -3552,8 +3551,23 @@ function getRfdData() {
35523551
});
35533552
}
35543553
}
3554+
3555+
let sortnameGridRssi;
3556+
let sortorderGridRssi;
3557+
let filterGridRssi;
3558+
35553559
function initGridRssi() {
3560+
console.log('initGridRssi');
35563561
if ($gridRssi.hasClass('ui-jqgrid-btable') && $gridRssi.jqGrid) {
3562+
3563+
sortnameGridRssi = $gridRssi.jqGrid('getGridParam', 'sortname');
3564+
sortorderGridRssi = $gridRssi.jqGrid('getGridParam', 'sortorder');
3565+
filterGridRssi = {
3566+
Name: $('#gs_grid-rssi_Name').val(),
3567+
ADDRESS: $('#gs_grid-rssi_ADDRESS').val(),
3568+
TYPE: $('#gs_grid-rssi_TYPE').val(),
3569+
INTERFACE: $('#gs_grid-rssi_INTERFACE').val()
3570+
};
35573571
$gridRssi.jqGrid('GridUnload');
35583572
}
35593573
const colNamesRssi = ['Name', 'ADDRESS', 'TYPE', 'INTERFACE', 'RF_ADDRESS', 'ROAMING'];
@@ -3806,7 +3820,6 @@ function refreshGridRssi() {
38063820
'' : listRssi[listDevices[i].ADDRESS][listInterfaces[k].ADDRESS][0]);
38073821
line[listInterfaces[k].ADDRESS + '_1'] = (listRssi[listDevices[i].ADDRESS][listInterfaces[k].ADDRESS][1] === 65536 ?
38083822
'' : listRssi[listDevices[i].ADDRESS][listInterfaces[k].ADDRESS][1]);
3809-
console.log(listDevices[i].ADDRESS, 'dev iface, iface addr', listDevices[i].INTERFACE, listInterfaces[k].ADDRESS)
38103823
if (listDevices[i].INTERFACE === listInterfaces[k].ADDRESS) {
38113824
line[listInterfaces[k].ADDRESS + '_set'] = '<input type="radio" class="interface-set" name="iface_' + i + '" data-device-index="' + i + '" data-iface-index="' + k + '" data-device="' + listDevices[i].ADDRESS + '" value="' + listInterfaces[k].ADDRESS + '" checked="checked">';
38123825
} else {
@@ -3829,7 +3842,20 @@ function refreshGridRssi() {
38293842
}
38303843
$gridRssi.jqGrid('addRowData', '_id', rowData);
38313844
}
3845+
3846+
$gridRssi.jqGrid('setGridParam', {
3847+
sortname: sortnameGridRssi || 'Name',
3848+
sortorder: sortorderGridRssi || 'asc'
3849+
});
38323850
$gridRssi.trigger('reloadGrid');
3851+
/* Todo Trigger filtering
3852+
if (filterGridRssi) {
3853+
$('#gs_grid-rssi_Name').val(filterGridRssi.Name).trigger('change');
3854+
$('#gs_grid-rssi_ADDRESS').val(filterGridRssi.ADDRESS).trigger('change');
3855+
$('#gs_grid-rssi_TYPE').val(filterGridRssi.TYPE).trigger('change');
3856+
$('#gs_grid-rssi_INTERFACE').val(filterGridRssi.INTERFACE).trigger('change');
3857+
}
3858+
*/
38333859
if (daemon === 'HmIP') {
38343860
$gridRssi.jqGrid('hideCol', 'roaming');
38353861
$gridRssi.jqGrid('hideCol', 'INTERFACE');

0 commit comments

Comments
 (0)