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
3957
<br/>
3958
<input id="saveSnapshotResolutionSlider" data-slider-id='saveSnapshotResolutionSlider' type="text" style="width: 80%;"/>
3959
+ <br/> <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