            console.log("update event received, time to redraw data");
            // rebuild the current tbody from scratch
            var tbody = tableElement.querySelector('tbody');
            tbody && tableElement.removeChild(tbody);
            tbody = document.createElement('tbody');

            var viewportData = event.detail;
            var rows = viewportData.rows;
            for (var i = 0; i < rows.length; i++) {
                var tr = document.createElement('tr');
                for (var