diff --git a/htdocs/lib/settings/Input.js b/htdocs/lib/settings/Input.js
deleted file mode 100644
index f638257..0000000
--- a/htdocs/lib/settings/Input.js
+++ /dev/null
@@ -1,138 +0,0 @@
-function Input(name, value, options) {
- this.name = name;
- this.value = value;
- this.options = options;
- this.label = options && options.label || name;
-};
-
-Input.prototype.getClasses = function() {
- return ['form-control', 'form-control-sm'];
-}
-
-Input.prototype.bootstrapify = function(input) {
- this.getClasses().forEach(input.addClass.bind(input));
- return [
- '
'
- ].join('');
-};
-
-function TextInput() {
- Input.apply(this, arguments);
-};
-
-TextInput.prototype = new Input();
-
-TextInput.prototype.render = function() {
- return this.bootstrapify($(''));
-}
-
-function NumberInput() {
- Input.apply(this, arguments);
-};
-
-NumberInput.prototype = new Input();
-
-NumberInput.prototype.render = function() {
- return this.bootstrapify($(''));
-};
-
-function SoapyGainInput() {
- Input.apply(this, arguments);
-}
-
-SoapyGainInput.prototype = new Input();
-
-SoapyGainInput.prototype.getClasses = function() {
- return [];
-};
-
-SoapyGainInput.prototype.render = function(){
- var markup = $(
- '' +
- '' +
- this.options.gains.map(function(g){
- return '';
- }).join('')
- );
- var el = $(this.bootstrapify(markup))
- var setMode = function(mode){
- el.find('select').val(mode);
- el.find('.option').hide();
- el.find('.gain-mode-' + mode).show();
- };
- el.on('change', 'select', function(){
- var mode = $(this).val();
- setMode(mode);
- });
- if (typeof(this.value) === 'number') {
- setMode('single');
- el.find('.gain-mode-single input').val(this.value);
- } else if (typeof(this.value) === 'string') {
- if (this.value === 'auto') {
- setMode('auto');
- } else {
- setMode('separate');
- values = $.extend.apply($, this.value.split(',').map(function(seg){
- var split = seg.split('=');
- if (split.length < 2) return;
- var res = {};
- res[split[0]] = parseInt(split[1]);
- return res;
- }));
- el.find('.gain-mode-separate input').each(function(){
- var $input = $(this);
- var g = $input.data('gain');
- $input.val(g in values ? values[g] : 0);
- });
- }
- } else {
- setMode('auto');
- }
- return el;
-};
-
-function ProfileInput() {
- Input.apply(this, arguments);
-};
-
-ProfileInput.prototype = new Input();
-
-ProfileInput.prototype.render = function() {
- return $('Profiles
');
-};
-
-function SchedulerInput() {
- Input.apply(this, arguments);
-};
-
-SchedulerInput.prototype = new Input();
-
-SchedulerInput.prototype.render = function() {
- return $('Scheduler
');
-};
diff --git a/htdocs/lib/settings/SdrDevice.js b/htdocs/lib/settings/SdrDevice.js
deleted file mode 100644
index 25f85c9..0000000
--- a/htdocs/lib/settings/SdrDevice.js
+++ /dev/null
@@ -1,252 +0,0 @@
-function SdrDevice(el, data) {
- this.el = el;
- this.data = data;
- this.inputs = {};
- this.render();
-
- var self = this;
- el.on('click', '.fieldselector .btn', function() {
- var key = el.find('.fieldselector select').val();
- self.data[key] = self.getInitialValue(key);
- self.render();
- });
-};
-
-SdrDevice.create = function(el) {
- var data = JSON.parse(decodeURIComponent(el.data('config')));
- var type = data.type;
- var constructor = SdrDevice.types[type] || SdrDevice;
- return new constructor(el, data);
-};
-
-SdrDevice.prototype.getData = function() {
- return $.extend(new Object(), this.getDefaults(), this.data);
-};
-
-SdrDevice.prototype.getDefaults = function() {
- var defaults = {}
- $.each(this.getMappings(), function(k, v) {
- if (!v.includeInDefault) return;
- defaults[k] = 'initialValue' in v ? v['initialValue'] : false;
- });
- return defaults;
-};
-
-SdrDevice.prototype.getMappings = function() {
- return {
- "name": {
- constructor: TextInput,
- inputOptions: {
- label: "Name"
- },
- initialValue: "",
- includeInDefault: true
- },
- "type": {
- constructor: TextInput,
- inputOptions: {
- label: "Type"
- },
- initialValue: '',
- includeInDefault: true
- },
- "ppm": {
- constructor: NumberInput,
- inputOptions: {
- label: "PPM"
- },
- initialValue: 0
- },
- "profiles": {
- constructor: ProfileInput,
- inputOptions: {
- label: "Profiles"
- },
- initialValue: [],
- includeInDefault: true,
- position: 100
- },
- "scheduler": {
- constructor: SchedulerInput,
- inputOptions: {
- label: "Scheduler",
- },
- initialValue: {},
- position: 101
- },
- "rf_gain": {
- constructor: TextInput,
- inputOptions: {
- label: "Gain",
- },
- initialValue: 0
- }
- };
-};
-
-SdrDevice.prototype.getMapping = function(key) {
- var mappings = this.getMappings();
- return mappings[key];
-};
-
-SdrDevice.prototype.getInputClass = function(key) {
- var mapping = this.getMapping(key);
- return mapping && mapping.constructor || TextInput;
-};
-
-SdrDevice.prototype.getInitialValue = function(key) {
- var mapping = this.getMapping(key);
- return mapping && ('initialValue' in mapping) ? mapping['initialValue'] : false;
-};
-
-SdrDevice.prototype.getPosition = function(key) {
- var mapping = this.getMapping(key);
- return mapping && mapping.position || 10;
-};
-
-SdrDevice.prototype.getInputOptions = function(key) {
- var mapping = this.getMapping(key);
- return mapping && mapping.inputOptions || {};
-};
-
-SdrDevice.prototype.getLabel = function(key) {
- var options = this.getInputOptions(key);
- return options && options.label || key;
-};
-
-SdrDevice.prototype.render = function() {
- var self = this;
- self.el.empty();
- var data = this.getData();
- Object.keys(data).sort(function(a, b){
- return self.getPosition(a) - self.getPosition(b);
- }).forEach(function(key){
- var value = data[key];
- var inputClass = self.getInputClass(key);
- var input = new inputClass(key, value, self.getInputOptions(key));
- self.inputs[key] = input;
- self.el.append(input.render());
- });
- self.el.append(this.renderFieldSelector());
-};
-
-SdrDevice.prototype.renderFieldSelector = function() {
- var self = this;
- return '' +
- '
Add new configuration options' +
- '' +
- '
';
-};
-
-RtlSdrDevice = function() {
- SdrDevice.apply(this, arguments);
-};
-
-RtlSdrDevice.prototype = Object.create(SdrDevice.prototype);
-RtlSdrDevice.prototype.constructor = RtlSdrDevice;
-
-RtlSdrDevice.prototype.getMappings = function() {
- var mappings = SdrDevice.prototype.getMappings.apply(this, arguments);
- return $.extend(new Object(), mappings, {
- "device": {
- constructor: TextInput,
- inputOptions:{
- label: "Serial number"
- },
- initialValue: ""
- }
- });
-};
-
-SoapySdrDevice = function() {
- SdrDevice.apply(this, arguments);
-};
-
-SoapySdrDevice.prototype = Object.create(SdrDevice.prototype);
-SoapySdrDevice.prototype.constructor = SoapySdrDevice;
-
-SoapySdrDevice.prototype.getMappings = function() {
- var mappings = SdrDevice.prototype.getMappings.apply(this, arguments);
- return $.extend(new Object(), mappings, {
- "device": {
- constructor: TextInput,
- inputOptions:{
- label: "Soapy device selector"
- },
- initialValue: ""
- },
- "rf_gain": {
- constructor: SoapyGainInput,
- initialValue: 0,
- inputOptions: {
- label: "Gain",
- gains: this.getGains()
- }
- }
- });
-};
-
-SoapySdrDevice.prototype.getGains = function() {
- return [];
-};
-
-SdrplaySdrDevice = function() {
- SoapySdrDevice.apply(this, arguments);
-};
-
-SdrplaySdrDevice.prototype = Object.create(SoapySdrDevice.prototype);
-SdrplaySdrDevice.prototype.constructor = SdrplaySdrDevice;
-
-SdrplaySdrDevice.prototype.getGains = function() {
- return ['RFGR', 'IFGR'];
-};
-
-AirspyHfSdrDevice = function() {
- SoapySdrDevice.apply(this, arguments);
-};
-
-AirspyHfSdrDevice.prototype = Object.create(SoapySdrDevice.prototype);
-AirspyHfSdrDevice.prototype.constructor = AirspyHfSdrDevice;
-
-AirspyHfSdrDevice.prototype.getGains = function() {
- return ['RF', 'VGA'];
-};
-
-HackRfSdrDevice = function() {
- SoapySdrDevice.apply(this, arguments);
-};
-
-HackRfSdrDevice.prototype = Object.create(SoapySdrDevice.prototype);
-HackRfSdrDevice.prototype.constructor = HackRfSdrDevice;
-
-HackRfSdrDevice.prototype.getGains = function() {
- return ['LNA', 'VGA', 'AMP'];
-};
-
-SdrDevice.types = {
- 'rtl_sdr': RtlSdrDevice,
- 'sdrplay': SdrplaySdrDevice,
- 'airspyhf': AirspyHfSdrDevice,
- 'hackrf': HackRfSdrDevice
-};
-
-$.fn.sdrdevice = function() {
- return this.map(function(){
- var el = $(this);
- if (!el.data('sdrdevice')) {
- el.data('sdrdevice', SdrDevice.create(el));
- }
- return el.data('sdrdevice');
- });
-};
diff --git a/owrx/controllers/assets.py b/owrx/controllers/assets.py
index 6565bb5..51343aa 100644
--- a/owrx/controllers/assets.py
+++ b/owrx/controllers/assets.py
@@ -145,8 +145,6 @@ class CompiledAssetsController(GzipMixin, ModificationAwareController):
"settings.js": [
"lib/jquery-3.2.1.min.js",
"lib/Header.js",
- "lib/settings/Input.js",
- "lib/settings/SdrDevice.js",
"lib/settings/MapInput.js",
"lib/settings/ImageUpload.js",
"lib/settings/BookmarkTable.js",
diff --git a/owrx/controllers/settings/sdr.py b/owrx/controllers/settings/sdr.py
index 708a24f..e8cd6e7 100644
--- a/owrx/controllers/settings/sdr.py
+++ b/owrx/controllers/settings/sdr.py
@@ -33,18 +33,11 @@ class SdrSettingsController(AuthorizationMixin, WebpageController):
{device_name}
- {form}
+ sdr detail goes here
""".format(
- device_name=config["name"], form=self.render_form(device_id, config)
- )
-
- def render_form(self, device_id, config):
- return """
-
- """.format(
- device_id=device_id, formdata=quote(json.dumps(config))
+ device_name=config["name"]
)
def indexAction(self):