Browse Source

Add label support for TURN service

turnservice-support
Simon Eisenmann 10 years ago
parent
commit
6db1a1300c
  1. 2
      dependencies.tsv
  2. 1
      static/js/app.js
  3. 40
      static/js/services/turndata.js
  4. 7
      static/partials/settings.html

2
dependencies.tsv

@ -10,4 +10,4 @@ github.com/strukturag/goacceptlanguageparser git 68066e68c2940059aadc6e19661610c @@ -10,4 +10,4 @@ github.com/strukturag/goacceptlanguageparser git 68066e68c2940059aadc6e19661610c
github.com/strukturag/httputils git afbf05c71ac03ee7989c96d033a9571ba4ded468 2014-07-02T01:35:33Z
github.com/strukturag/phoenix git 31b7f25f4815e6e0b8e7c4010f6e9a71c4165b19 2016-06-01T11:34:58Z
github.com/strukturag/sloth git 74a8bcf67368de59baafe5d3e17aee9875564cfc 2015-04-22T08:59:42Z
github.com/strukturag/spreed-turnservicecli git 51f45889f0c6a4a7d406c29b9cc345b07a1a94ab 2016-08-26T13:54:01Z
github.com/strukturag/spreed-turnservicecli git dcbf3f8eab1c36d4d0e4c6f9b6dce4f060543224 2016-08-29T09:55:47Z

1 github.com/dlintw/goconf git dcc070983490608a14480e3bf943bad464785df5 2012-02-28T08:26:10Z
10 github.com/strukturag/httputils git afbf05c71ac03ee7989c96d033a9571ba4ded468 2014-07-02T01:35:33Z
11 github.com/strukturag/phoenix git 31b7f25f4815e6e0b8e7c4010f6e9a71c4165b19 2016-06-01T11:34:58Z
12 github.com/strukturag/sloth git 74a8bcf67368de59baafe5d3e17aee9875564cfc 2015-04-22T08:59:42Z
13 github.com/strukturag/spreed-turnservicecli git 51f45889f0c6a4a7d406c29b9cc345b07a1a94ab dcbf3f8eab1c36d4d0e4c6f9b6dce4f060543224 2016-08-26T13:54:01Z 2016-08-29T09:55:47Z

1
static/js/app.js

@ -267,6 +267,7 @@ define([ @@ -267,6 +267,7 @@ define([
}());
console.info("Selected language: "+lang);
app.constant("translationLanguage", {lang: lang});
// Set language and load default translations.
launcher.translationData.lang = lang;

40
static/js/services/turndata.js

@ -26,7 +26,7 @@ define(["jquery"], function($) { @@ -26,7 +26,7 @@ define(["jquery"], function($) {
var refreshPercentile = 90; // Percent of the TTL when TURN credentials should be refreshed.
// turnData
return ["$timeout", "$http", "api", "randomGen", "appData", function($timeout, $http, api, randomGen, appData) {
return ["$timeout", "$http", "api", "randomGen", "appData", "translationLanguage", function($timeout, $http, api, randomGen, appData, translationLanguage) {
var ttlTimeout = null;
var geoRefresh = null;
var geoPreferred = null;
@ -44,24 +44,52 @@ define(["jquery"], function($) { @@ -44,24 +44,52 @@ define(["jquery"], function($) {
};
if (turn && turn.servers) {
// Multiple options, need to sort and use settings.
var i;
if (!turn.serverMap) {
var servers = {};
var serversSelectable = [];
// Sort for prio.
turn.servers.sort(function(a, b) {
servers[a.id] = a;
servers[b.id] = b;
return (a.prio > b.prio) ? 1 : ((a.prio < b.prio) ? -1 : 0);
});
turn.first = turn.servers[0];
if (turn.geo_uri) {
turn.servers.unshift({
"id": "auto"
// Create selectable servers.
var lang = translationLanguage.lang;
for (i=0; i<turn.servers.length; i++) {
var label = turn.servers[i].label;
if (turn.servers[i].i18n && turn.servers[i].i18n[lang]) {
label = turn.servers[i].label = turn.servers[i].i18n[lang];
}
if (label === "hidden") {
continue;
}
if (!label) {
// Use id as label.
label = turn.servers[i].label = turn.servers[i].id;
}
if (!label) {
// Use index as label.
label = turn.servers[i].label = ''+i;
}
serversSelectable.push(turn.servers[i]);
}
// Add auto zone if geo URI and available zones.
if (turn.geo_uri && turn.servers.length > 0) {
serversSelectable.unshift({
"id": "auto",
"label": "auto"
})
}
// Make created data available.
turn.serverMap = servers;
turn.serversSelectable = serversSelectable;
}
var urls;
if (turn.preferred) {
for (var i=0; i<turn.preferred.length; i++) {
for (i=0; i<turn.preferred.length; i++) {
if (turn.serverMap.hasOwnProperty(turn.preferred[i])) {
urls = turn.serverMap[turn.preferred[i]].urns;
break;
@ -79,7 +107,7 @@ define(["jquery"], function($) { @@ -79,7 +107,7 @@ define(["jquery"], function($) {
// Unknown data.
turnData.urls = [];
}
console.log("TURN servers selected: ", turnData.urls, turn.preferred || null);
console.log("TURN servers selected: ", turnData.urls, turnData.ttl, turn.preferred || null);
service.e.triggerHandler("apply", [turnData]);
return turnData;

7
static/partials/settings.html

@ -239,11 +239,10 @@ @@ -239,11 +239,10 @@
</div>
</div>
<div class="form-group" ng-show="turnData.data.servers">
<label class="col-xs-4 control-label">{{_('TURN region')}}</label>
<div class="form-group" ng-show="turnData.data.serversSelectable">
<label class="col-xs-4 control-label">{{_('TURN')}}</label>
<div class="col-xs-8">
<select class="form-control" ng-model="user.settings.turn.selectedRegion" ng-options="region.id as region.id for region in turnData.data.servers"></select>
<span class="help-block">{{_('Geographic region for TURN service.')}}</span>
<select class="form-control" ng-model="user.settings.turn.selectedRegion" ng-options="region.id as region.label for region in turnData.data.serversSelectable"></select>
</div>
</div>

Loading…
Cancel
Save