@cryptotaxi247 / netdata-1 / commits / 1ec79f811

allow passing netdata server at url hash; allow giving snapshot filenames

Costa Tsaousis (ktsaou) committed Nov 14, 2017 at 13:06 UTC 1ec79f811c5df8839701b32ea28f55c15b727e88
1 file changed +26 -8
web/index.html
+26 -8
@@ -493,6 +493,7 @@
493 mode: 'live', // 'live', 'print'
494 update_always: false,
495 pan_and_zoom: false,
496 + server: null,
497 after: 0,
498 before: 0,
499 nowelcome: false,
@@ -526,6 +527,9 @@
527 if(urlOptions.update_always === true)
528 hash += ';update_always=true';
529
530 + if(urlOptions.server !== null)
531 + hash += ';server=' + urlOptions.server.toString();
532 +
533 if(urlOptions.mode !== 'live')
534 hash += ';mode=' + urlOptions.mode;
535
@@ -562,6 +566,9 @@
566 if(typeof urlOptions.before === 'string')
567 urlOptions.before = parseInt(urlOptions.before);
568
569 + if(urlOptions.server !== null)
570 + netdataServer = urlOptions.server;
571 +
572 if(urlOptions.before > 0 && urlOptions.after > 0) {
573 urlOptions.pan_and_zoom = true;
574 urlOptions.nowelcome = true;
@@ -1864,9 +1871,9 @@
1871 function loadBootstrapTable(callback) {
1872 if(bootstrapTableLoaded === false) {
1873 bootstrapTableLoaded = true;
1867 - loadJs(NETDATA.serverDefault + 'lib/bootstrap-table-1.11.0.min.js', function() {
1868 - loadJs(NETDATA.serverDefault + 'lib/bootstrap-table-export-1.11.0.min.js', function() {
1869 - loadJs(NETDATA.serverDefault + 'lib/tableExport-1.6.0.min.js', callback);
1874 + loadJs('lib/bootstrap-table-1.11.0.min.js', function() {
1875 + loadJs('lib/bootstrap-table-export-1.11.0.min.js', function() {
1876 + loadJs('lib/tableExport-1.6.0.min.js', callback);
1877 })
1878 });
1879 }
@@ -1877,8 +1884,8 @@
1884 function loadBootstrapSlider(callback) {
1885 if(bootstrapSliderLoaded === false) {
1886 bootstrapSliderLoaded = true;
1880 - loadJs(NETDATA.serverDefault + 'lib/bootstrap-slider-10.0.0.min.js', function() {
1881 - NETDATA._loadCSS(NETDATA.serverDefault + 'css/bootstrap-slider-10.0.0.min.css');
1887 + loadJs('lib/bootstrap-slider-10.0.0.min.js', function() {
1888 + NETDATA._loadCSS('css/bootstrap-slider-10.0.0.min.css');
1889 callback();
1890 });
1891 }
@@ -2919,13 +2926,17 @@
2926
2927 loadBootstrapSlider(function() {
2928 var view_duration = options.duration;
2929 + var start_ms = Math.round(Date.now() - view_duration * 1000);
2930
2931 var bytes_per_chart = 2048;
2932 var bytes_per_point_per_dimension = 5.3;
2933
2926 - if(NETDATA.globalPanAndZoom.isActive() === true)
2934 + if(NETDATA.globalPanAndZoom.isActive() === true) {
2935 view_duration = Math.round((NETDATA.globalPanAndZoom.force_before_ms - NETDATA.globalPanAndZoom.force_after_ms) / 1000);
2936 + start_ms = NETDATA.globalPanAndZoom.force_after_ms;
2937 + }
2938
2939 + document.getElementById('saveSnapshotFilename').value = 'netdata-dashboard-' + options.hostname.toString() + '-' + start_ms.toString() + '.json'
2940
2941 var min = options.update_every;
2942 var max = Math.round(view_duration / 100);
@@ -2985,7 +2996,9 @@
2996 saveSnapshotStop = false;
2997 $('#saveSnapshotModalProgressSection').show();
2998 $('#saveSnapshotResolutionRadio').hide();
2988 - saveSnapshotModalLog('info', 'Generating snapshot...');
2999 + var filename = document.getElementById('saveSnapshotFilename').value;
3000 + // console.log(filename);
3001 + saveSnapshotModalLog('info', 'Generating snapshot as <code>' + filename.toString() + '</code>');
3002
3003 var save_options = {
3004 stop_updates_when_focus_is_lost: false,
@@ -3127,7 +3140,7 @@
3140 else {
3141 // save it
3142 // console.log(saveData);
3130 - saveObjectToClient(saveData, 'netdata-dashboard-' + saveData.hostname.toString() + '-' + saveData.after_ms.toString() + '-' + saveData.before_ms.toString() + '.json');
3143 + saveObjectToClient(saveData, filename);
3144
3145 saveSnapshotRestore();
3146 saveData = null;
@@ -3943,6 +3956,11 @@
3956 &nbsp;
3957 <br/>
3958 <input id="saveSnapshotResolutionSlider" data-slider-id='saveSnapshotResolutionSlider' type="text" style="width: 80%;"/>
3959 + <br/>&nbsp;<br/>
3960 + <div class="input-group">
3961 + <span class="input-group-addon" id="sizing-saveSnapshotFilename">Filename</span>
3962 + <input id="saveSnapshotFilename" class="form-control" placeholder="Filename of the generated snapshot" aria-describedby="sizing-saveSnapshotFilename"/>
3963 + </div>
3964 </div>
3965
3966 &nbsp;