rewrite DMR panel, too
This commit is contained in:
parent
98da3a6d99
commit
8a73f2c9df
@ -77,16 +77,16 @@
|
||||
<div class="openwebrx-meta-slot openwebrx-dmr-timeslot-panel">
|
||||
<div class="openwebrx-dmr-slot">Timeslot 1</div>
|
||||
<div class="openwebrx-meta-user-image"></div>
|
||||
<div class="openwebrx-dmr-id openwebrx-meta-autoclear"></div>
|
||||
<div class="openwebrx-dmr-name openwebrx-meta-autoclear"></div>
|
||||
<div class="openwebrx-dmr-target openwebrx-meta-autoclear"></div>
|
||||
<div class="openwebrx-dmr-id"></div>
|
||||
<div class="openwebrx-dmr-name"></div>
|
||||
<div class="openwebrx-dmr-target"></div>
|
||||
</div>
|
||||
<div class="openwebrx-meta-slot openwebrx-dmr-timeslot-panel">
|
||||
<div class="openwebrx-dmr-slot">Timeslot 2</div>
|
||||
<div class="openwebrx-meta-user-image"></div>
|
||||
<div class="openwebrx-dmr-id openwebrx-meta-autoclear"></div>
|
||||
<div class="openwebrx-dmr-name openwebrx-meta-autoclear"></div>
|
||||
<div class="openwebrx-dmr-target openwebrx-meta-autoclear"></div>
|
||||
<div class="openwebrx-dmr-id"></div>
|
||||
<div class="openwebrx-dmr-name"></div>
|
||||
<div class="openwebrx-dmr-target"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="openwebrx-panel" id="openwebrx-panel-log" data-panel-name="debug" style="width: 619px;">
|
||||
|
@ -11,39 +11,75 @@ MetaPanel.prototype.isSupported = function(data) {
|
||||
};
|
||||
|
||||
MetaPanel.prototype.clear = function() {
|
||||
this.el.find(".openwebrx-meta-autoclear").text("");
|
||||
this.el.find(".openwebrx-meta-slot").removeClass("active").removeClass("sync");
|
||||
};
|
||||
|
||||
function DmrMetaSlot(el) {
|
||||
this.el = $(el);
|
||||
this.clear();
|
||||
}
|
||||
|
||||
DmrMetaSlot.prototype.update = function(data) {
|
||||
var id = "";
|
||||
var name = "";
|
||||
var target = "";
|
||||
var group = false;
|
||||
this.el[data['sync'] ? "addClass" : "removeClass"]("sync");
|
||||
if (data['sync'] && data['sync'] === "voice") {
|
||||
id = (data['additional'] && data['additional']['callsign']) || data['source'] || "";
|
||||
name = (data['additional'] && data['additional']['fname']) || "";
|
||||
this.setId(data['additional'] && data['additional']['callsign'] || data['source']);
|
||||
this.setName(data['additional'] && data['additional']['fname']);
|
||||
if (data['type'] === "group") {
|
||||
target = "Talkgroup: ";
|
||||
group = true;
|
||||
this.setTalkgroup(data['target']);
|
||||
}
|
||||
if (data['type'] === "direct") {
|
||||
this.setDirect(data['target']);
|
||||
}
|
||||
if (data['type'] === "direct") target = "Direct: ";
|
||||
target += data['target'] || "";
|
||||
this.el.addClass("active");
|
||||
} else {
|
||||
this.el.removeClass("active");
|
||||
this.clear();
|
||||
}
|
||||
this.el.find(".openwebrx-dmr-id").text(id);
|
||||
this.el.find(".openwebrx-dmr-name").text(name);
|
||||
this.el.find(".openwebrx-dmr-target").text(target);
|
||||
this.el.find(".openwebrx-meta-user-image")[group ? "addClass" : "removeClass"]("group");
|
||||
};
|
||||
|
||||
DmrMetaSlot.prototype.setId = function(id) {
|
||||
if (this.id === id) return;
|
||||
this.id = id;
|
||||
this.el.find('.openwebrx-dmr-id').text(id || '');
|
||||
}
|
||||
|
||||
DmrMetaSlot.prototype.setName = function(name) {
|
||||
if (this.name === name) return;
|
||||
this.name = name;
|
||||
this.el.find('.openwebrx-dmr-name').text(name || '');
|
||||
};
|
||||
|
||||
DmrMetaSlot.prototype.setTalkgroup = function(talkgroup) {
|
||||
if (this.talkgroup === talkgroup && this.targetMode === 'talkgroup') return;
|
||||
this.talkgroup = talkgroup;
|
||||
this.targetMode = 'talkgroup';
|
||||
var text = '';
|
||||
if (talkgroup && talkgroup != '') {
|
||||
text = 'Talkgroup: ' + talkgroup;
|
||||
}
|
||||
this.el.find('.openwebrx-dmr-target').text(text);
|
||||
this.el.find(".openwebrx-meta-user-image").addClass("group");
|
||||
};
|
||||
|
||||
DmrMetaSlot.prototype.setDirect = function(call) {
|
||||
if (this.call === call && this.targetMode === 'direct') return;
|
||||
this.call = call;
|
||||
this.targetMode = 'direct';
|
||||
var text = '';
|
||||
if (call && call != '') {
|
||||
text = 'Direct: ' + call;
|
||||
}
|
||||
this.el.find('.openwebrx-dmr-target').text(text);
|
||||
this.el.find(".openwebrx-meta-user-image").removeClass("group");
|
||||
};
|
||||
|
||||
DmrMetaSlot.prototype.clear = function() {
|
||||
this.setId();
|
||||
this.setName();
|
||||
this.setTalkgroup();
|
||||
this.setDirect();
|
||||
this.el.removeClass("active");
|
||||
};
|
||||
|
||||
function DmrMetaPanel(el) {
|
||||
MetaPanel.call(this, el);
|
||||
this.modes = ['DMR'];
|
||||
@ -67,6 +103,9 @@ DmrMetaPanel.prototype.update = function(data) {
|
||||
DmrMetaPanel.prototype.clear = function() {
|
||||
MetaPanel.prototype.clear.call(this);
|
||||
this.el.find(".openwebrx-dmr-timeslot-panel").removeClass("muted");
|
||||
this.slots.forEach(function(slot) {
|
||||
slot.clear();
|
||||
});
|
||||
};
|
||||
|
||||
function YsfMetaPanel(el) {
|
||||
|
Loading…
Reference in New Issue
Block a user