librenms/resources/views/widgets/syslog.blade.php
Tony Murray f0966f4d23
Widget hot refresh & worldmap cleanup (#16053)
* Iterate in javascript and separate processing

* Widget refresh/destroy events

* Remove old dom and unbind events

* fix whitespace

* Fix up bootgrid tables, they inserted a div before the first div breaking event propagation
switch to regular js function to scope variables instead of jquery

* Handle settings the same way as the normal widget

* Use standard init_map and add layer control

* May need L.Control.Locate now

* Set maxZoom for marker cluster

* Try setMaxZoom

* worldmap size 100 and resize on refresh/widget resize

* Add resize event (and throttle it a bit)

* Further worldmap cleanup

* Move most javascript to common js, will cause js errors until page is reloaded, but better in the long run
2024-05-22 21:23:39 -05:00

44 lines
1.6 KiB
PHP

<div id="syslog_container-{{ $id }}" data-reload="false">
<div class="table-responsive">
<table id="syslog-{{ $id }}" class="table table-hover table-condensed table-striped">
<thead>
<tr>
<th data-column-id="label"></th>
<th data-column-id="timestamp" data-order="desc">{{ __('Timestamp') }}</th>
<th data-column-id="level">{{ __('Level') }}</th>
<th data-column-id="device_id">{{ __('Hostname') }}</th>
<th data-column-id="program">{{ __('Program') }}</th>
<th data-column-id="msg">{{ __('Message') }}</th>
<th data-column-id="priority">{{ __('Priority') }}</th>
</tr>
</thead>
</table>
</div>
</div>
<script type="application/javascript">
(function () {
var grid = $("#syslog-{{ $id }}").bootgrid({
ajax: true,
rowCount: [50, 100, 250, -1],
navigation: ! {{ $hidenavigation }},
post: function ()
{
return {
device: '{{ $device ?: '' }}',
device_group: '{{ $device_group }}',
level: '{{ $level }}'
};
},
url: "{{ url('/ajax/table/syslog') }}"
});
$('#syslog_container-{{ $id }}').on('refresh', function (event) {
grid.bootgrid('reload');
});
$('#syslog_container-{{ $id }}').on('destroy', function (event) {
grid.bootgrid('destroy');
delete grid;
});
})();
</script>