--- a/www/js/list_devices.js Thu Apr 18 14:20:19 2024 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,86 +0,0 @@ -/***************************************************************************** - * Copyright (C) 2024 - * - * Michiel Broek <mbroek at mbse dot eu> - * - * This file is part of mbsePi-apps - * - * This is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2, or (at your option) any - * later version. - * - * BrewCloud is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with ThermFerm; see the file COPYING. If not, write to the Free - * Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. - *****************************************************************************/ - - -$(document).ready(function() { - var source = { - datatype: 'json', - cache: false, - datafields: [ - { name: 'uuid', type: 'string' }, - { name: 'type', type: 'string' }, - { name: 'address', type: 'string' }, - { name: 'subdevice', type: 'int' }, - { name: 'inuse', type: 'int' }, - { name: 'description', type: 'string' }, - { name: 'direction', type: 'string' }, - { name: 'value', type: 'int' }, - { name: 'timestamp', type: 'int' } - ], - id: 'uuid', - url: 'getdevices.php' - }, - dataAdapter = new $.jqx.dataAdapter(source); - - // initialize jqxGrid - $('#jqxgrid').jqxGrid({ - width: 1280, - height: 630, - source: dataAdapter, - theme: theme, - columns: [ - { text: 'Address', datafield: 'address', width: 200 }, - { text: 'Subdevice', datafield: 'subdevice', width: 100 }, - { text: 'Direction', datafield: 'direction', width: 120 }, - { text: 'Value', datafield: 'value', width: 80 }, - { text: 'Description', datafield: 'description' }, - { text: 'Last change', datafield: 'timestamp', width: 200, - cellsrenderer: function(index, datafield, value, defaultvalue, column, rowdata) { - var tzoffset = (new Date()).getTimezoneOffset() * 60000; //offset in milliseconds - var date = new Date((value * 1000) - tzoffset).toISOString().slice(0, 19).replace("T", " ");; - return '<span style="margin: 3px; margin-top: 6px; float: left;">' + date + '</span>'; - } - }, - { text: '', datafield: 'Edit', width: 100, align: 'center', columntype: 'button', cellsrenderer: function() { - return 'Bekijk'; - }, buttonclick: function(row) { - var datarecord = dataAdapter.records[row]; - window.location.href = 'edit_device.php?uuid=' + datarecord.uuid; - } - } - ], - }); - - websocket.onmessage = function(evt) { - var msg = evt.data; - var obj = JSON.parse(msg); - - if (obj.ping) { - websocket.send('{"pong":' + obj.ping + '}'); - } - - if (obj.type == 'device') { - // Use the message to trigger update. - $('#jqxgrid').jqxGrid('updatebounddata'); - } - } -});