1
+ function getQueryParams ( ) {
2
+ return new URLSearchParams ( window . location . search ) ;
3
+ }
4
+
1
5
function findQueryParam ( name ) {
2
- const params = new URLSearchParams ( window . location . search . slice ( 1 ) ) ;
6
+ const params = getQueryParams ( ) ;
3
7
return params . get ( name ) ;
4
8
}
5
9
@@ -32,7 +36,7 @@ function createDefaultFilter() {
32
36
*/
33
37
function initializeFilterFromUrl ( ) {
34
38
const defaultFilter = createDefaultFilter ( ) ;
35
- const params = new URLSearchParams ( window . location . search . slice ( 1 ) ) ;
39
+ const params = getQueryParams ( ) ;
36
40
37
41
function getBoolOrDefault ( name , defaultValue ) {
38
42
const urlValue = params . get ( name ) ;
@@ -70,7 +74,7 @@ function initializeFilterFromUrl() {
70
74
*/
71
75
function storeFilterToUrl ( filter ) {
72
76
const defaultFilter = createDefaultFilter ( ) ;
73
- const params = new URLSearchParams ( window . location . search ) ;
77
+ const params = getQueryParams ( ) ;
74
78
75
79
function storeOrReset ( name , value , defaultValue ) {
76
80
if ( value === defaultValue ) {
@@ -361,10 +365,9 @@ const app = Vue.createApp({
361
365
return result ;
362
366
} ,
363
367
createUrlForMetric ( metric ) {
364
- let start = findQueryParam ( "start" ) ;
365
- let end = findQueryParam ( "end" ) ;
366
-
367
- return createUrlFromParams ( createSearchParamsForMetric ( metric , start , end ) ) ;
368
+ const params = getQueryParams ( ) ;
369
+ params . set ( "stat" , metric ) ;
370
+ return createUrlFromParams ( params ) ;
368
371
} ,
369
372
resetFilter ( ) {
370
373
this . filter = createDefaultFilter ( ) ;
@@ -767,20 +770,6 @@ function makeData(state, app) {
767
770
} ) ;
768
771
}
769
772
770
- function createSearchParamsForMetric ( stat , start , end ) {
771
- let params = new URLSearchParams ( ) ;
772
- if ( start !== undefined ) {
773
- params . append ( "start" , start ) ;
774
- }
775
- if ( end !== undefined ) {
776
- params . append ( "end" , end ) ;
777
- }
778
- if ( stat !== undefined ) {
779
- params . append ( "stat" , stat ) ;
780
- }
781
- return params . toString ( ) ;
782
- }
783
-
784
773
function createUrlFromParams ( params ) {
785
774
const url = new URL ( window . location ) ;
786
775
url . search = params ;
@@ -791,7 +780,12 @@ function submitSettings() {
791
780
let stat = getSelected ( "stats" ) ;
792
781
let start = document . getElementById ( "start-bound" ) . value ;
793
782
let end = document . getElementById ( "end-bound" ) . value ;
794
- let params = createSearchParamsForMetric ( stat , start , end ) ;
783
+
784
+ const params = getQueryParams ( ) ;
785
+ params . set ( "stat" , stat ) ;
786
+ params . set ( "start" , start ) ;
787
+ params . set ( "end" , end ) ;
788
+
795
789
window . location . search = params . toString ( ) ;
796
790
}
797
791
0 commit comments