Added an option to add callsign database URL for lookups on a map.
This commit is contained in:
		@@ -37,6 +37,7 @@ $(function(){
 | 
			
		||||
    var retention_time = 2 * 60 * 60 * 1000;
 | 
			
		||||
    var strokeOpacity = 0.8;
 | 
			
		||||
    var fillOpacity = 0.35;
 | 
			
		||||
    var callsign_url = null;
 | 
			
		||||
 | 
			
		||||
    var colorKeys = {};
 | 
			
		||||
    var colorScale = chroma.scale(['red', 'blue', 'green']).mode('hsl');
 | 
			
		||||
@@ -286,6 +287,9 @@ $(function(){
 | 
			
		||||
                        if ('map_position_retention_time' in config) {
 | 
			
		||||
                            retention_time = config.map_position_retention_time * 1000;
 | 
			
		||||
                        }
 | 
			
		||||
                        if ('callsign_url' in config) {
 | 
			
		||||
                            callsign_url = config['callsign_url'];
 | 
			
		||||
                        }
 | 
			
		||||
                    break;
 | 
			
		||||
                    case "update":
 | 
			
		||||
                        processUpdates(json.value);
 | 
			
		||||
@@ -340,6 +344,15 @@ $(function(){
 | 
			
		||||
        return infowindow;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    var linkifyCallsign = function(callsign) {
 | 
			
		||||
        if ((callsign_url == null) || (callsign_url == ''))
 | 
			
		||||
            return callsign;
 | 
			
		||||
        else
 | 
			
		||||
            return '<a href="#" onclick="window.open(' + "'" +
 | 
			
		||||
                callsign_url.replaceAll('{}', callsign) +
 | 
			
		||||
                "','callsign_info'" + ');">' + callsign + '</a>';
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    var infowindow;
 | 
			
		||||
    var showLocatorInfoWindow = function(locator, pos) {
 | 
			
		||||
        var infowindow = getInfoWindow();
 | 
			
		||||
@@ -357,7 +370,7 @@ $(function(){
 | 
			
		||||
            '<ul>' +
 | 
			
		||||
                inLocator.map(function(i){
 | 
			
		||||
                    var timestring = moment(i.lastseen).fromNow();
 | 
			
		||||
                    var message = i.callsign + ' (' + timestring + ' using ' + i.mode;
 | 
			
		||||
                    var message = linkifyCallsign(i.callsign) + ' (' + timestring + ' using ' + i.mode;
 | 
			
		||||
                    if (i.band) message += ' on ' + i.band;
 | 
			
		||||
                    message += ')';
 | 
			
		||||
                    return '<li>' + message + '</li>'
 | 
			
		||||
@@ -378,7 +391,7 @@ $(function(){
 | 
			
		||||
            commentString = '<div>' + marker.comment + '</div>';
 | 
			
		||||
        }
 | 
			
		||||
        infowindow.setContent(
 | 
			
		||||
            '<h3>' + callsign + '</h3>' +
 | 
			
		||||
            '<h3>' + linkifyCallsign(callsign) + '</h3>' +
 | 
			
		||||
            '<div>' + timestring + ' using ' + marker.mode + ( marker.band ? ' on ' + marker.band : '' ) + '</div>' +
 | 
			
		||||
            commentString
 | 
			
		||||
        );
 | 
			
		||||
 
 | 
			
		||||
@@ -147,6 +147,7 @@ defaultConfig = PropertyLayer(
 | 
			
		||||
    squelch_auto_margin=10,
 | 
			
		||||
    google_maps_api_key="",
 | 
			
		||||
    map_position_retention_time=2 * 60 * 60,
 | 
			
		||||
    callsign_url="https://www.qrzcq.com/call/{}",
 | 
			
		||||
    decoding_queue_workers=2,
 | 
			
		||||
    decoding_queue_length=10,
 | 
			
		||||
    wsjt_decoding_depth=3,
 | 
			
		||||
 
 | 
			
		||||
@@ -456,6 +456,7 @@ class MapConnection(OpenWebRxClient):
 | 
			
		||||
            "google_maps_api_key",
 | 
			
		||||
            "receiver_gps",
 | 
			
		||||
            "map_position_retention_time",
 | 
			
		||||
            "callsign_url",
 | 
			
		||||
            "receiver_name",
 | 
			
		||||
        )
 | 
			
		||||
        filtered_config.wire(self.write_config)
 | 
			
		||||
 
 | 
			
		||||
@@ -168,6 +168,13 @@ class GeneralSettingsController(SettingsFormController):
 | 
			
		||||
                    infotext="Specifies how log markers / grids will remain visible on the map",
 | 
			
		||||
                    append="s",
 | 
			
		||||
                ),
 | 
			
		||||
                TextInput(
 | 
			
		||||
                    "callsign_url",
 | 
			
		||||
                    "Callsign database URL",
 | 
			
		||||
                    infotext="Specifies callsign lookup URL, such as QRZ.COM "
 | 
			
		||||
                    + "or QRZCQ.COM. Place curly brackers ({}) where callsign "
 | 
			
		||||
                    + "is supposed to be.",
 | 
			
		||||
                ),
 | 
			
		||||
            ),
 | 
			
		||||
        ]
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user