implement clear button for packet, pocsag, wsjt-x, refs #187
This commit is contained in:
parent
9bf4b149aa
commit
aa66e69c15
@ -981,6 +981,7 @@ img.openwebrx-mirror-img
|
|||||||
|
|
||||||
.openwebrx-message-panel {
|
.openwebrx-message-panel {
|
||||||
height: 180px;
|
height: 180px;
|
||||||
|
position: relative;
|
||||||
}
|
}
|
||||||
|
|
||||||
.openwebrx-message-panel tbody {
|
.openwebrx-message-panel tbody {
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
function MessagePanel(el) {
|
function MessagePanel(el) {
|
||||||
this.el = el;
|
this.el = el;
|
||||||
this.render();
|
this.render();
|
||||||
|
this.initClearButton();
|
||||||
}
|
}
|
||||||
|
|
||||||
MessagePanel.prototype.render = function() {
|
MessagePanel.prototype.render = function() {
|
||||||
@ -14,17 +15,33 @@ MessagePanel.prototype.initClearTimer = function() {
|
|||||||
var me = this;
|
var me = this;
|
||||||
if (me.removalInterval) clearInterval(me.removalInterval);
|
if (me.removalInterval) clearInterval(me.removalInterval);
|
||||||
me.removalInterval = setInterval(function () {
|
me.removalInterval = setInterval(function () {
|
||||||
me.clearMessages();
|
me.clearMessages(1000);
|
||||||
}, 15000);
|
}, 15000);
|
||||||
}
|
};
|
||||||
|
|
||||||
MessagePanel.prototype.clearMessages = function() {
|
MessagePanel.prototype.clearMessages = function(toRemain) {
|
||||||
var $elements = $(this.el).find('tbody tr');
|
var $elements = $(this.el).find('tbody tr');
|
||||||
// limit to 1000 entries in the list since browsers get laggy at some point
|
// limit to 1000 entries in the list since browsers get laggy at some point
|
||||||
var toRemove = $elements.length - 1000;
|
var toRemove = $elements.length - toRemain;
|
||||||
if (toRemove <= 0) return;
|
if (toRemove <= 0) return;
|
||||||
$elements.slice(0, toRemove).remove();
|
$elements.slice(0, toRemove).remove();
|
||||||
}
|
};
|
||||||
|
|
||||||
|
MessagePanel.prototype.initClearButton = function() {
|
||||||
|
var me = this;
|
||||||
|
me.clearButton = $(
|
||||||
|
'<div class="openwebrx-button">Clear</div>'
|
||||||
|
);
|
||||||
|
me.clearButton.css({
|
||||||
|
position: 'absolute',
|
||||||
|
top: '10px',
|
||||||
|
right: '10px'
|
||||||
|
});
|
||||||
|
me.clearButton.on('click', function() {
|
||||||
|
me.clearMessages(0);
|
||||||
|
});
|
||||||
|
$(me.el).append(me.clearButton);
|
||||||
|
};
|
||||||
|
|
||||||
function WsjtMessagePanel(el) {
|
function WsjtMessagePanel(el) {
|
||||||
MessagePanel.call(this, el);
|
MessagePanel.call(this, el);
|
||||||
@ -215,8 +232,8 @@ PocsagMessagePanel.prototype.pushMessage = function(msg) {
|
|||||||
var $b = $(this.el).find('tbody');
|
var $b = $(this.el).find('tbody');
|
||||||
$b.append($(
|
$b.append($(
|
||||||
'<tr>' +
|
'<tr>' +
|
||||||
'<td class="address">' + msg.address + '</td>' +
|
'<td class="address">' + msg.address + '</td>' +
|
||||||
'<td class="message">' + msg.message + '</td>' +
|
'<td class="message">' + msg.message + '</td>' +
|
||||||
'</tr>'
|
'</tr>'
|
||||||
));
|
));
|
||||||
$b.scrollTop($b[0].scrollHeight);
|
$b.scrollTop($b[0].scrollHeight);
|
||||||
|
Loading…
Reference in New Issue
Block a user