diff options
| author | Matthias P. Braendli <matthias.braendli@mpb.li> | 2018-09-24 19:42:01 +0200 | 
|---|---|---|
| committer | Matthias P. Braendli <matthias.braendli@mpb.li> | 2018-09-24 20:47:08 +0200 | 
| commit | 5ad01f6415710521173e7a612b32c982847eada4 (patch) | |
| tree | 4d4c8ca0a7ce0ff0f81702ee7bfad0b57c899929 /gui/static/js | |
| parent | 5bb71419937a4d8919ef33df088f73e6c705b028 (diff) | |
| download | dabmod-5ad01f6415710521173e7a612b32c982847eada4.tar.gz dabmod-5ad01f6415710521173e7a612b32c982847eada4.tar.bz2 dabmod-5ad01f6415710521173e7a612b32c982847eada4.zip  | |
gui: use json for all API answers
Diffstat (limited to 'gui/static/js')
| -rw-r--r-- | gui/static/js/odr-modulator.js | 52 | ||||
| -rw-r--r-- | gui/static/js/odr-predistortion.js | 40 | ||||
| -rw-r--r-- | gui/static/js/odr-rcvalues.js | 31 | ||||
| -rw-r--r-- | gui/static/js/odr.js | 109 | 
4 files changed, 126 insertions, 106 deletions
diff --git a/gui/static/js/odr-modulator.js b/gui/static/js/odr-modulator.js index 273d9f7..8538645 100644 --- a/gui/static/js/odr-modulator.js +++ b/gui/static/js/odr-modulator.js @@ -18,48 +18,6 @@  //   You should have received a copy of the GNU General Public License  //   along with ODR-DabMod.  If not, see <http://www.gnu.org/licenses/>. -function set_rc(controllable, param, value, callback) { -    $.ajax({ -        type: "POST", -        url: "/api/parameter", -        contentType: 'application/json', -        dataType: 'json', -        data: JSON.stringify({ -            controllable: controllable, -            param: param, -            value: value -        }), - -        error: function(data) { -            $.gritter.add({ -                title: 'RC set', -                text: "ERROR", -                image: '/fonts/warning.png', -                sticky: true, -            }); -        }, -        success: callback -    }); -} - -function getRc(callback) { -    $.ajax({ -        type: "GET", -        url: "/api/rc_parameters", -        contentType: 'application/json', -        dataType: 'json', - -        error: function(data) { -            $.gritter.add({ -                title: 'RC info', -                text: "ERROR: ", -                image: '/fonts/warning.png', -                sticky: true, -            }); -        }, -        success: callback -    }); -}  function requestAllParams(callback) {      getRc(function(data) { @@ -86,21 +44,21 @@ $(function(){      requestAllParams();      $('#setdigitalgain').click(function() { -        set_rc("gain", "digital", $('#digitalgain').val(), +        setRc("gain", "digital", $('#digitalgain').val(),              requestAllParams);      });      $('#setwindowlength').click(function() { -        set_rc("guardinterval", "windowlen", $('#windowlength').val(), +        setRc("guardinterval", "windowlen", $('#windowlength').val(),              requestAllParams);      });      $('#setclip').click(function() { -        set_rc("ofdm", "clip", $('#cfrclip').val(), +        setRc("ofdm", "clip", $('#cfrclip').val(),              requestAllParams); -        set_rc("ofdm", "errorclip", $('#cfrerrorclip').val(), +        setRc("ofdm", "errorclip", $('#cfrerrorclip').val(),              requestAllParams); -        set_rc("ofdm", "cfr", +        setRc("ofdm", "cfr",              ($('#cfrenable').prop("checked") ? "1" : "0"),              requestAllParams);      }); diff --git a/gui/static/js/odr-predistortion.js b/gui/static/js/odr-predistortion.js index dce3922..13dac7a 100644 --- a/gui/static/js/odr-predistortion.js +++ b/gui/static/js/odr-predistortion.js @@ -20,46 +20,14 @@  $(function(){      $('#capturebutton').click(function() { -        $.ajax({ -            type: "POST", -            url: "/api/trigger_capture", -            contentType: 'text/plain', -            dataType: '', -            data: '', - -            error: function(data) { -                $.gritter.add({ -                    title: 'Capture trigger', -                    text: "ERROR", -                    image: '/fonts/warning.png', -                    sticky: true, -                }); -            }, -            success: function(data) { -                $('#capturestatus').val(data); -            }, +        doApiRequestPOST("/api/trigger_capture", {}, function(data) { +            $('#capturestatus').val(data);          });      });      $('#dpdstatusbutton').click(function() { -        $.ajax({ -            type: "GET", -            url: "/api/dpd_status", -            contentType: 'application/json', -            dataType: '', -            data: '', - -            error: function(data) { -                $.gritter.add({ -                    title: 'DPD Status Update', -                    text: "ERROR", -                    image: '/fonts/warning.png', -                    sticky: true, -                }); -            }, -            success: function(data) { -                $('#dpdstatus').val(data); -            }, +        doApiRequestGET("/api/dpd_status", function(data) { +            $('#dpdstatus').val(data);          });      });  }); diff --git a/gui/static/js/odr-rcvalues.js b/gui/static/js/odr-rcvalues.js index 6d53e8d..f40279d 100644 --- a/gui/static/js/odr-rcvalues.js +++ b/gui/static/js/odr-rcvalues.js @@ -21,30 +21,15 @@  function requestStatus(callback) {      $('#rctable > tbody').empty(); -    $.ajax({ -        type: "GET", -        url: "/api/rc_parameters", -        contentType: 'application/json', -        dataType: 'json', - -        error: function(data) { -            $.gritter.add({ -                title: 'RC info', -                text: "ERROR: ", -                image: '/fonts/warning.png', -                sticky: true, -            }); -        }, -        success: function(data) { -                $.each( data, function( key1, controllable ) { -                    $.each( controllable, function( key2, param ) { -                    $('#rctable > tbody:last').append( -                        '<tr><td>'+key1+'.'+key2+'</td>'+ -                        '<td>'+param['value']+'</td>'+ -                        '<td>'+param['help']+'</td></tr>'); -                }); +    doApiRequestGET("/api/rc_parameters", function(data) { +        $.each( data, function( key1, controllable ) { +            $.each( controllable, function( key2, param ) { +                $('#rctable > tbody:last').append( +                    '<tr><td>'+key1+'.'+key2+'</td>'+ +                    '<td>'+param['value']+'</td>'+ +                    '<td>'+param['help']+'</td></tr>');              }); -        } +        });      });  } diff --git a/gui/static/js/odr.js b/gui/static/js/odr.js new file mode 100644 index 0000000..ecb02c5 --- /dev/null +++ b/gui/static/js/odr.js @@ -0,0 +1,109 @@ +//   Copyright (C) 2018 +//   Matthias P. Braendli, matthias.braendli@mpb.li +// +//    http://www.opendigitalradio.org +// +//   This file is part of ODR-DabMod. +// +//   ODR-DabMod is free software: you can redistribute it and/or modify +//   it under the terms of the GNU General Public License as +//   published by the Free Software Foundation, either version 3 of the +//   License, or (at your option) any later version. +// +//   ODR-DabMod is distributed in the hope that it will be useful, +//   but WITHOUT ANY WARRANTY; without even the implied warranty of +//   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the +//   GNU General Public License for more details. +// +//   You should have received a copy of the GNU General Public License +//   along with ODR-DabMod.  If not, see <http://www.gnu.org/licenses/>. + + +function doApiRequestGET(uri, callback) { +    $.ajax({ +        type: "GET", +        url: uri, +        contentType: 'application/json', +        dataType: 'json', + +        error: function(data) { +            if (data.status == 500) { +                var errorWindow = window.open("", "_self"); +                errorWindow.document.write(data.responseText); +            } +            else { +                $.gritter.add({ title: 'API', +                    text: "AJAX failed: " + data.statusText, +                    image: '/fonts/warning.png', +                    sticky: true, +                }); +            } +        }, +        success: function(data) { +            if (data.status == 'ok') { +                callback(data.data); +            } +            else { +                $.gritter.add({ +                    title: 'API', +                    text: "API ERROR: " + data.reason, +                    image: '/fonts/warning.png', +                    sticky: true, +                }); +            } +        } +    }); +} + +function doApiRequestPOST(uri, data, callback) { +    $.ajax({ +        type: "POST", +        url: uri, +        contentType: 'application/json', +        dataType: 'json', +        data: JSON.stringify(data), + +        error: function(data) { +            if (data.status == 500) { +                var errorWindow = window.open("", "_self"); +                errorWindow.document.write(data.responseText); +            } +            else { +                $.gritter.add({ +                    title: 'API', +                    text: "AJAX failed: " + data.statusText, +                    image: '/fonts/warning.png', +                    sticky: true, +                }); +            } +        }, + +        success: function(data_in) { +            if (data_in.status == 'ok') { +                callback(data_in.data); +            } +            else { +                $.gritter.add({ +                    title: 'API', +                    text: "API ERROR: " + data_in.reason, +                    image: '/fonts/warning.png', +                    sticky: true, +                }); +            } +        } +    }); +} + +function setRc(controllable, param, value, callback) { +    var data = { +        controllable: controllable, +        param: param, +        value: value +    }; +    doApiRequestPOST("/api/parameter/", data, callback); +} + +function getRc(callback) { +    doApiRequestGET("/api/rc_parameters", callback); +} +  | 
