@grafana/scenes 6.48.0 → 6.48.1--canary.1306.19830038428.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/dist/esm/locales/cs-CZ/grafana-scenes.json.js +1 -0
  2. package/dist/esm/locales/cs-CZ/grafana-scenes.json.js.map +1 -1
  3. package/dist/esm/locales/de-DE/grafana-scenes.json.js +1 -0
  4. package/dist/esm/locales/de-DE/grafana-scenes.json.js.map +1 -1
  5. package/dist/esm/locales/es-ES/grafana-scenes.json.js +1 -0
  6. package/dist/esm/locales/es-ES/grafana-scenes.json.js.map +1 -1
  7. package/dist/esm/locales/fr-FR/grafana-scenes.json.js +1 -0
  8. package/dist/esm/locales/fr-FR/grafana-scenes.json.js.map +1 -1
  9. package/dist/esm/locales/hu-HU/grafana-scenes.json.js +1 -0
  10. package/dist/esm/locales/hu-HU/grafana-scenes.json.js.map +1 -1
  11. package/dist/esm/locales/id-ID/grafana-scenes.json.js +1 -0
  12. package/dist/esm/locales/id-ID/grafana-scenes.json.js.map +1 -1
  13. package/dist/esm/locales/it-IT/grafana-scenes.json.js +1 -0
  14. package/dist/esm/locales/it-IT/grafana-scenes.json.js.map +1 -1
  15. package/dist/esm/locales/ja-JP/grafana-scenes.json.js +1 -0
  16. package/dist/esm/locales/ja-JP/grafana-scenes.json.js.map +1 -1
  17. package/dist/esm/locales/ko-KR/grafana-scenes.json.js +1 -0
  18. package/dist/esm/locales/ko-KR/grafana-scenes.json.js.map +1 -1
  19. package/dist/esm/locales/nl-NL/grafana-scenes.json.js +1 -0
  20. package/dist/esm/locales/nl-NL/grafana-scenes.json.js.map +1 -1
  21. package/dist/esm/locales/pl-PL/grafana-scenes.json.js +1 -0
  22. package/dist/esm/locales/pl-PL/grafana-scenes.json.js.map +1 -1
  23. package/dist/esm/locales/pt-BR/grafana-scenes.json.js +1 -0
  24. package/dist/esm/locales/pt-BR/grafana-scenes.json.js.map +1 -1
  25. package/dist/esm/locales/pt-PT/grafana-scenes.json.js +1 -0
  26. package/dist/esm/locales/pt-PT/grafana-scenes.json.js.map +1 -1
  27. package/dist/esm/locales/ru-RU/grafana-scenes.json.js +1 -0
  28. package/dist/esm/locales/ru-RU/grafana-scenes.json.js.map +1 -1
  29. package/dist/esm/locales/sv-SE/grafana-scenes.json.js +1 -0
  30. package/dist/esm/locales/sv-SE/grafana-scenes.json.js.map +1 -1
  31. package/dist/esm/locales/tr-TR/grafana-scenes.json.js +1 -0
  32. package/dist/esm/locales/tr-TR/grafana-scenes.json.js.map +1 -1
  33. package/dist/esm/locales/zh-Hans/grafana-scenes.json.js +1 -0
  34. package/dist/esm/locales/zh-Hans/grafana-scenes.json.js.map +1 -1
  35. package/dist/esm/locales/zh-Hant/grafana-scenes.json.js +1 -0
  36. package/dist/esm/locales/zh-Hant/grafana-scenes.json.js.map +1 -1
  37. package/dist/esm/variables/variants/query/QueryVariable.js +11 -3
  38. package/dist/esm/variables/variants/query/QueryVariable.js.map +1 -1
  39. package/dist/esm/variables/variants/query/utils.js +12 -6
  40. package/dist/esm/variables/variants/query/utils.js.map +1 -1
  41. package/dist/{grafana-scenes-Cv2waQMg.js → grafana-scenes-BHIE4ld0.js} +2 -1
  42. package/dist/{grafana-scenes-BKyaPXlz.js.map → grafana-scenes-BHIE4ld0.js.map} +1 -1
  43. package/dist/{grafana-scenes-t5zYTKtF.js → grafana-scenes-BQOG4-hf.js} +2 -1
  44. package/dist/{grafana-scenes-B10eGhqN.js.map → grafana-scenes-BQOG4-hf.js.map} +1 -1
  45. package/dist/{grafana-scenes-t982Ep2v.js → grafana-scenes-BUP4DNLu.js} +2 -1
  46. package/dist/{grafana-scenes-BYpkzUpx.js.map → grafana-scenes-BUP4DNLu.js.map} +1 -1
  47. package/dist/{grafana-scenes-BKyaPXlz.js → grafana-scenes-BWSRLKS6.js} +2 -1
  48. package/dist/{grafana-scenes-B2NM8uIa.js.map → grafana-scenes-BWSRLKS6.js.map} +1 -1
  49. package/dist/{grafana-scenes-B10eGhqN.js → grafana-scenes-BZj2ZETs.js} +2 -1
  50. package/dist/grafana-scenes-BZj2ZETs.js.map +1 -0
  51. package/dist/{grafana-scenes-Bf6nP3Zg.js → grafana-scenes-ByblbWyE.js} +2 -1
  52. package/dist/grafana-scenes-ByblbWyE.js.map +1 -0
  53. package/dist/{grafana-scenes-CsuL59Tu.js → grafana-scenes-Ce6rkTUB.js} +2 -1
  54. package/dist/grafana-scenes-Ce6rkTUB.js.map +1 -0
  55. package/dist/{grafana-scenes-BgFDPQrP.js → grafana-scenes-Ce77KCbO.js} +2 -1
  56. package/dist/grafana-scenes-Ce77KCbO.js.map +1 -0
  57. package/dist/{grafana-scenes-dyBqPFwc.js → grafana-scenes-CkznchTe.js} +2 -1
  58. package/dist/grafana-scenes-CkznchTe.js.map +1 -0
  59. package/dist/{grafana-scenes-BYpkzUpx.js → grafana-scenes-CsPh4lyF.js} +2 -1
  60. package/dist/grafana-scenes-CsPh4lyF.js.map +1 -0
  61. package/dist/{grafana-scenes-M3NiQYq2.js → grafana-scenes-D0ZeSjr4.js} +2 -1
  62. package/dist/grafana-scenes-D0ZeSjr4.js.map +1 -0
  63. package/dist/{grafana-scenes-CMWWgEMC.js → grafana-scenes-D2C1ii8d.js} +2 -1
  64. package/dist/grafana-scenes-D2C1ii8d.js.map +1 -0
  65. package/dist/{grafana-scenes-l64bigxN.js → grafana-scenes-D4tq59Dc.js} +2 -1
  66. package/dist/grafana-scenes-D4tq59Dc.js.map +1 -0
  67. package/dist/{grafana-scenes-B2NM8uIa.js → grafana-scenes-DHpGBx0P.js} +2 -1
  68. package/dist/grafana-scenes-DHpGBx0P.js.map +1 -0
  69. package/dist/{grafana-scenes-C3OHMat0.js → grafana-scenes-DMYCnFop.js} +2 -1
  70. package/dist/grafana-scenes-DMYCnFop.js.map +1 -0
  71. package/dist/{grafana-scenes-DNw_utC4.js → grafana-scenes-DPdlSPjz.js} +2 -1
  72. package/dist/grafana-scenes-DPdlSPjz.js.map +1 -0
  73. package/dist/{grafana-scenes-CHPCWAuK.js → grafana-scenes-f39AM_op.js} +2 -1
  74. package/dist/grafana-scenes-f39AM_op.js.map +1 -0
  75. package/dist/{grafana-scenes-DVIvh4Ng.js → grafana-scenes-fENyYMom.js} +2 -1
  76. package/dist/grafana-scenes-fENyYMom.js.map +1 -0
  77. package/dist/index.d.ts +2 -1
  78. package/dist/index.js +39 -25
  79. package/dist/index.js.map +1 -1
  80. package/package.json +3 -2
  81. package/dist/grafana-scenes-Bf6nP3Zg.js.map +0 -1
  82. package/dist/grafana-scenes-BgFDPQrP.js.map +0 -1
  83. package/dist/grafana-scenes-C3OHMat0.js.map +0 -1
  84. package/dist/grafana-scenes-CHPCWAuK.js.map +0 -1
  85. package/dist/grafana-scenes-CMWWgEMC.js.map +0 -1
  86. package/dist/grafana-scenes-CsuL59Tu.js.map +0 -1
  87. package/dist/grafana-scenes-Cv2waQMg.js.map +0 -1
  88. package/dist/grafana-scenes-DNw_utC4.js.map +0 -1
  89. package/dist/grafana-scenes-DVIvh4Ng.js.map +0 -1
  90. package/dist/grafana-scenes-M3NiQYq2.js.map +0 -1
  91. package/dist/grafana-scenes-dyBqPFwc.js.map +0 -1
  92. package/dist/grafana-scenes-l64bigxN.js.map +0 -1
  93. package/dist/grafana-scenes-t5zYTKtF.js.map +0 -1
  94. package/dist/grafana-scenes-t982Ep2v.js.map +0 -1
@@ -111,6 +111,7 @@ var grafanaScenes = {
111
111
  "format-date-in-different-ways": "Formátovat datum různými způsoby",
112
112
  "format-multivalued-variables-using-syntax-example": "Formátovat vícehodnotové proměnné pomocí globální syntaxe, například {value1,value2}",
113
113
  "html-escaping-of-values": "HTML escapování hodnot",
114
+ "join-values-with-a-comma": "",
114
115
  "json-stringify-value": "Hodnota JSON stringify",
115
116
  "keep-value-as-is": "Ponechat hodnotu tak, jak je",
116
117
  "multiple-values-are-formatted-like-variablevalue": "Více hodnot je formátováno jako proměnná=hodnota",
@@ -1 +1 @@
1
- {"version":3,"file":"grafana-scenes.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"grafana-scenes.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -111,6 +111,7 @@ var grafanaScenes = {
111
111
  "format-date-in-different-ways": "Datum auf verschiedene Arten formatieren",
112
112
  "format-multivalued-variables-using-syntax-example": "Formatieren Sie mehrwertige Variablen mit der glob-Syntax, Beispiel {value1,value2}",
113
113
  "html-escaping-of-values": "HTML-Escaping von Werten",
114
+ "join-values-with-a-comma": "",
114
115
  "json-stringify-value": "JSON-Stringify-Wert",
115
116
  "keep-value-as-is": "Wert unverändert lassen",
116
117
  "multiple-values-are-formatted-like-variablevalue": "Mehrere Werte werden als variable=value formatiert",
@@ -1 +1 @@
1
- {"version":3,"file":"grafana-scenes.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"grafana-scenes.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -111,6 +111,7 @@ var grafanaScenes = {
111
111
  "format-date-in-different-ways": "Dar formato a la fecha de diferentes maneras",
112
112
  "format-multivalued-variables-using-syntax-example": "Dar formato a las variables de múltiples valores con la sintaxis glob, por ejemplo, {value1,value2}",
113
113
  "html-escaping-of-values": "Escape HTML de valores",
114
+ "join-values-with-a-comma": "",
114
115
  "json-stringify-value": "Valor de JSON stringify",
115
116
  "keep-value-as-is": "Mantener el valor tal cual",
116
117
  "multiple-values-are-formatted-like-variablevalue": "Los valores múltiples tienen el formato variable=valor",
@@ -1 +1 @@
1
- {"version":3,"file":"grafana-scenes.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"grafana-scenes.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -111,6 +111,7 @@ var grafanaScenes = {
111
111
  "format-date-in-different-ways": "Formater la date de différentes façons",
112
112
  "format-multivalued-variables-using-syntax-example": "Formater les variables à valeurs multiples avec la syntaxe glob : exemple {value1,value2}",
113
113
  "html-escaping-of-values": "Échappement HTML des valeurs",
114
+ "join-values-with-a-comma": "",
114
115
  "json-stringify-value": "Valeur au format JSON (stringify)",
115
116
  "keep-value-as-is": "Conserver la valeur telle quelle",
116
117
  "multiple-values-are-formatted-like-variablevalue": "Plusieurs valeurs sont formatées ainsi : variable=valeur",
@@ -1 +1 @@
1
- {"version":3,"file":"grafana-scenes.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"grafana-scenes.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -111,6 +111,7 @@ var grafanaScenes = {
111
111
  "format-date-in-different-ways": "Dátum formázása különböző módokon",
112
112
  "format-multivalued-variables-using-syntax-example": "Többértékű változók formázása glob szintaxissal, például: {érték1,érték2}",
113
113
  "html-escaping-of-values": "Értékek módosított HTML-értelmezése",
114
+ "join-values-with-a-comma": "",
114
115
  "json-stringify-value": "A JSON stringify értéke",
115
116
  "keep-value-as-is": "Érték megtartása adott állapotban",
116
117
  "multiple-values-are-formatted-like-variablevalue": "Több érték formázása változó=érték formátumban",
@@ -1 +1 @@
1
- {"version":3,"file":"grafana-scenes.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"grafana-scenes.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -111,6 +111,7 @@ var grafanaScenes = {
111
111
  "format-date-in-different-ways": "Format tanggal dengan berbagai cara yang berbeda",
112
112
  "format-multivalued-variables-using-syntax-example": "Format variabel multi-nilai menggunakan sintaks glob, contoh {value1, value2}",
113
113
  "html-escaping-of-values": "Nilai HTML escaping",
114
+ "join-values-with-a-comma": "",
114
115
  "json-stringify-value": "Nilai stringify JSON",
115
116
  "keep-value-as-is": "Pertahankan nilai apa adanya",
116
117
  "multiple-values-are-formatted-like-variablevalue": "Beberapa nilai diformat seperti variabel=nilai",
@@ -1 +1 @@
1
- {"version":3,"file":"grafana-scenes.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"grafana-scenes.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -111,6 +111,7 @@ var grafanaScenes = {
111
111
  "format-date-in-different-ways": "Formatta la data in diversi modi",
112
112
  "format-multivalued-variables-using-syntax-example": "Formatta le variabili a più valori utilizzando la sintassi glob, esempio {value1,value2}",
113
113
  "html-escaping-of-values": "Escaping HTML dei valori",
114
+ "join-values-with-a-comma": "",
114
115
  "json-stringify-value": "Valore JSON stringify",
115
116
  "keep-value-as-is": "Mantieni il valore così com'è",
116
117
  "multiple-values-are-formatted-like-variablevalue": "I valori multipli sono formattati come variabile=valore",
@@ -1 +1 @@
1
- {"version":3,"file":"grafana-scenes.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"grafana-scenes.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -111,6 +111,7 @@ var grafanaScenes = {
111
111
  "format-date-in-different-ways": "日付を様々な形式でフォーマット",
112
112
  "format-multivalued-variables-using-syntax-example": "glob構文を使用して複数値変数をフォーマット(例: {value1,value2})",
113
113
  "html-escaping-of-values": "値のHTMLエスケープ",
114
+ "join-values-with-a-comma": "",
114
115
  "json-stringify-value": "JSON文字列化値",
115
116
  "keep-value-as-is": "値をそのまま保持",
116
117
  "multiple-values-are-formatted-like-variablevalue": "複数の値は変数=値の形式でフォーマットされます",
@@ -1 +1 @@
1
- {"version":3,"file":"grafana-scenes.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"grafana-scenes.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -111,6 +111,7 @@ var grafanaScenes = {
111
111
  "format-date-in-different-ways": "다양한 방식으로 날짜 형식 지정",
112
112
  "format-multivalued-variables-using-syntax-example": "glob 구문을 사용하여 다중 값 변수 형식 지정, 예: {value1,value2}",
113
113
  "html-escaping-of-values": "값의 HTML 이스케이프",
114
+ "join-values-with-a-comma": "",
114
115
  "json-stringify-value": "JSON 문자열화 값",
115
116
  "keep-value-as-is": "값을 그대로 유지",
116
117
  "multiple-values-are-formatted-like-variablevalue": "여러 값은 variable=value와 같은 형식으로 지정됩니다.",
@@ -1 +1 @@
1
- {"version":3,"file":"grafana-scenes.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"grafana-scenes.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -111,6 +111,7 @@ var grafanaScenes = {
111
111
  "format-date-in-different-ways": "Datum op verschillende manieren opmaken",
112
112
  "format-multivalued-variables-using-syntax-example": "Formatteer variabelen met meerdere waarden met behulp van glob-syntaxis, bijvoorbeeld {value1,value2}",
113
113
  "html-escaping-of-values": "HTML-escaping van waarden",
114
+ "join-values-with-a-comma": "",
114
115
  "json-stringify-value": "JSON-stringify-waarde",
115
116
  "keep-value-as-is": "Huidige waarde behouden",
116
117
  "multiple-values-are-formatted-like-variablevalue": "Meerdere waarden zijn opgemaakt als variabele=waarde",
@@ -1 +1 @@
1
- {"version":3,"file":"grafana-scenes.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"grafana-scenes.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -111,6 +111,7 @@ var grafanaScenes = {
111
111
  "format-date-in-different-ways": "Formatowanie daty na różne sposoby",
112
112
  "format-multivalued-variables-using-syntax-example": "Formatowanie zmiennych wielowartościowych za pomocą składni glob, np. {value1,value2}",
113
113
  "html-escaping-of-values": "Modyfikowanie wartości w kodzie HTML",
114
+ "join-values-with-a-comma": "",
114
115
  "json-stringify-value": "Wartość konwersji na ciąg JSON",
115
116
  "keep-value-as-is": "Zachowaj wartość w obecnej postaci",
116
117
  "multiple-values-are-formatted-like-variablevalue": "Wiele wartości jest sformatowanych w postaci zmienna=wartość",
@@ -1 +1 @@
1
- {"version":3,"file":"grafana-scenes.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"grafana-scenes.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -111,6 +111,7 @@ var grafanaScenes = {
111
111
  "format-date-in-different-ways": "Formatar data de diferentes maneiras",
112
112
  "format-multivalued-variables-using-syntax-example": "Formatar variáveis de múltiplos valores usando a sintaxe glob. Por exemplo: {value1,value2}",
113
113
  "html-escaping-of-values": "Escape HTML de valores",
114
+ "join-values-with-a-comma": "",
114
115
  "json-stringify-value": "Valor convertido em string JSON",
115
116
  "keep-value-as-is": "Manter o valor como está",
116
117
  "multiple-values-are-formatted-like-variablevalue": "Vários valores são formatados como variável=valor",
@@ -1 +1 @@
1
- {"version":3,"file":"grafana-scenes.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"grafana-scenes.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -111,6 +111,7 @@ var grafanaScenes = {
111
111
  "format-date-in-different-ways": "Formatar a data de diferentes formas",
112
112
  "format-multivalued-variables-using-syntax-example": "Formatar variáveis de valores múltiplos com a sintaxe glob, exemplo {value1,value2}",
113
113
  "html-escaping-of-values": "Escape de valores HTML",
114
+ "join-values-with-a-comma": "",
114
115
  "json-stringify-value": "Valor no formato JSON (stringify)",
115
116
  "keep-value-as-is": "Manter o valor como está",
116
117
  "multiple-values-are-formatted-like-variablevalue": "Os valores múltiplos são formatados como variável=valor",
@@ -1 +1 @@
1
- {"version":3,"file":"grafana-scenes.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"grafana-scenes.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -111,6 +111,7 @@ var grafanaScenes = {
111
111
  "format-date-in-different-ways": "Форматируйте дату разными способами",
112
112
  "format-multivalued-variables-using-syntax-example": "Форматируйте многозначные переменные с использованием синтаксиса glob, например {value1,value2}",
113
113
  "html-escaping-of-values": "HTML-экранирование значений",
114
+ "join-values-with-a-comma": "",
114
115
  "json-stringify-value": "Значение преобразования JSON в строку",
115
116
  "keep-value-as-is": "Сохраните значение как есть",
116
117
  "multiple-values-are-formatted-like-variablevalue": "Несколько значений форматируются как «переменная=значение»",
@@ -1 +1 @@
1
- {"version":3,"file":"grafana-scenes.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"grafana-scenes.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -111,6 +111,7 @@ var grafanaScenes = {
111
111
  "format-date-in-different-ways": "Formatera datum på olika sätt",
112
112
  "format-multivalued-variables-using-syntax-example": "Formatera flervärdesvariabler med globsyntax, till exempel {value1,value2}",
113
113
  "html-escaping-of-values": "HTML-undantagstecken för värden",
114
+ "join-values-with-a-comma": "",
114
115
  "json-stringify-value": "JSON stringify-värde",
115
116
  "keep-value-as-is": "Behåll värdet som det är",
116
117
  "multiple-values-are-formatted-like-variablevalue": "Flera värden formateras som variabel=värde",
@@ -1 +1 @@
1
- {"version":3,"file":"grafana-scenes.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"grafana-scenes.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -111,6 +111,7 @@ var grafanaScenes = {
111
111
  "format-date-in-different-ways": "Tarihi farklı şekillerde biçimlendirin",
112
112
  "format-multivalued-variables-using-syntax-example": "Çok değerli değişkenleri glob söz dizimi kullanarak biçimlendirin (örneğin {value1,value2}).",
113
113
  "html-escaping-of-values": "Değerlerin HTML kaçış karakteriyle yazılması gerekir",
114
+ "join-values-with-a-comma": "",
114
115
  "json-stringify-value": "JSON stringify değeri",
115
116
  "keep-value-as-is": "Değeri olduğu gibi tut",
116
117
  "multiple-values-are-formatted-like-variablevalue": "Birden fazla değer, değişken=değer biçiminde biçimlendirilir",
@@ -1 +1 @@
1
- {"version":3,"file":"grafana-scenes.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"grafana-scenes.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -111,6 +111,7 @@ var grafanaScenes = {
111
111
  "format-date-in-different-ways": "以不同方式格式化日期",
112
112
  "format-multivalued-variables-using-syntax-example": "使用 glob 语法格式化多值变量,例如 {value1,value2}",
113
113
  "html-escaping-of-values": "值的 HTML 转义",
114
+ "join-values-with-a-comma": "",
114
115
  "json-stringify-value": "JSON 字符串化值",
115
116
  "keep-value-as-is": "保持值不变",
116
117
  "multiple-values-are-formatted-like-variablevalue": "多个值的格式为 variable=value",
@@ -1 +1 @@
1
- {"version":3,"file":"grafana-scenes.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"grafana-scenes.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -111,6 +111,7 @@ var grafanaScenes = {
111
111
  "format-date-in-different-ways": "以不同方式格式化日期",
112
112
  "format-multivalued-variables-using-syntax-example": "使用 glob 語法格式化多值變數,例如 {value1,value2}",
113
113
  "html-escaping-of-values": "值的 HTML 轉義",
114
+ "join-values-with-a-comma": "",
114
115
  "json-stringify-value": "JSON 字串化值",
115
116
  "keep-value-as-is": "按原樣保留值",
116
117
  "multiple-values-are-formatted-like-variablevalue": "多個值按「變數=值」的方式格式化",
@@ -1 +1 @@
1
- {"version":3,"file":"grafana-scenes.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"grafana-scenes.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { lastValueFrom, of, from, mergeMap, filter, take, throwError, catchError } from 'rxjs';
2
2
  import { v4 } from 'uuid';
3
- import { VariableSort, VariableRefresh, LoadingState, CoreApp } from '@grafana/data';
3
+ import { VariableSort, VariableRefresh, VariableRegexApplyTo, LoadingState, CoreApp } from '@grafana/data';
4
4
  import { sceneGraph } from '../../../core/sceneGraph/index.js';
5
5
  import { VariableDependencyConfig } from '../../VariableDependencyConfig.js';
6
6
  import { MultiOrSingleValueSelect } from '../../components/VariableValueSelect.js';
@@ -18,6 +18,7 @@ import React from 'react';
18
18
 
19
19
  class QueryVariable extends MultiValueVariable {
20
20
  constructor(initialState) {
21
+ var _a, _b;
21
22
  super({
22
23
  type: "query",
23
24
  name: "",
@@ -26,13 +27,15 @@ class QueryVariable extends MultiValueVariable {
26
27
  options: [],
27
28
  datasource: null,
28
29
  regex: "",
30
+ // TODO: remove harcoded default value after updating grafana/data
31
+ regexApplyTo: (_b = (_a = VariableRegexApplyTo) == null ? void 0 : _a.value) != null ? _b : "value",
29
32
  query: "",
30
33
  refresh: VariableRefresh.onDashboardLoad,
31
34
  sort: VariableSort.disabled,
32
35
  ...initialState
33
36
  });
34
37
  this._variableDependency = new VariableDependencyConfig(this, {
35
- statePaths: ["regex", "query", "datasource"]
38
+ statePaths: ["regex", "regexApplyTo", "query", "datasource"]
36
39
  });
37
40
  this.onSearchChange = (searchFilter) => {
38
41
  if (!containsSearchFilter(this.state.query)) {
@@ -81,7 +84,12 @@ class QueryVariable extends MultiValueVariable {
81
84
  if (this.state.regex) {
82
85
  regex = sceneGraph.interpolate(this, this.state.regex, void 0, "regex");
83
86
  }
84
- let options = metricNamesToVariableValues(regex, this.state.sort, values);
87
+ let options = metricNamesToVariableValues({
88
+ variableRegEx: regex,
89
+ variableRegexApplyTo: this.state.regexApplyTo,
90
+ sort: this.state.sort,
91
+ metricNames: values
92
+ });
85
93
  if (this.state.staticOptions) {
86
94
  const customOptions = this.state.staticOptions;
87
95
  options = options.filter((option) => !customOptions.find((custom) => custom.value === option.value));
@@ -1 +1 @@
1
- {"version":3,"file":"QueryVariable.js","sources":["../../../../../src/variables/variants/query/QueryVariable.tsx"],"sourcesContent":["import { Observable, of, filter, take, mergeMap, catchError, throwError, from, lastValueFrom } from 'rxjs';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport {\n CoreApp,\n DataQueryRequest,\n LoadingState,\n PanelData,\n ScopedVars,\n VariableRefresh,\n VariableSort,\n} from '@grafana/data';\n\nimport { sceneGraph } from '../../../core/sceneGraph';\nimport { SceneComponentProps, SceneDataQuery } from '../../../core/types';\nimport { VariableDependencyConfig } from '../../VariableDependencyConfig';\nimport { MultiOrSingleValueSelect } from '../../components/VariableValueSelect';\nimport { VariableValueOption } from '../../types';\nimport { MultiValueVariable, MultiValueVariableState, VariableGetOptionsArgs } from '../MultiValueVariable';\n\nimport { createQueryVariableRunner } from './createQueryVariableRunner';\nimport { metricNamesToVariableValues, sortVariableValues } from './utils';\nimport { toMetricFindValues } from './toMetricFindValues';\nimport { getDataSource } from '../../../utils/getDataSource';\nimport { safeStringifyValue } from '../../utils';\nimport { DataQuery, DataSourceRef } from '@grafana/schema';\nimport { SEARCH_FILTER_VARIABLE } from '../../constants';\nimport { debounce } from 'lodash';\nimport { registerQueryWithController } from '../../../querying/registerQueryWithController';\nimport { wrapInSafeSerializableSceneObject } from '../../../utils/wrapInSafeSerializableSceneObject';\nimport React from 'react';\n\nexport interface QueryVariableState extends MultiValueVariableState {\n type: 'query';\n datasource: DataSourceRef | null;\n query: string | SceneDataQuery;\n regex: string;\n refresh: VariableRefresh;\n sort: VariableSort;\n\n // works the same as query for custom variable, adding additional static options to ones returned by data source query\n staticOptions?: VariableValueOption[];\n\n // how to order static options in relation to options returned by query\n staticOptionsOrder?: 'before' | 'after' | 'sorted';\n /** @internal Only for use inside core dashboards */\n definition?: string;\n}\n\nexport class QueryVariable extends MultiValueVariable<QueryVariableState> {\n protected _variableDependency = new VariableDependencyConfig(this, {\n statePaths: ['regex', 'query', 'datasource'],\n });\n\n public constructor(initialState: Partial<QueryVariableState>) {\n super({\n type: 'query',\n name: '',\n value: '',\n text: '',\n options: [],\n datasource: null,\n regex: '',\n query: '',\n refresh: VariableRefresh.onDashboardLoad,\n sort: VariableSort.disabled,\n ...initialState,\n });\n }\n\n public getValueOptions(args: VariableGetOptionsArgs): Observable<VariableValueOption[]> {\n if (!this.state.query) {\n return of([]);\n }\n\n this.setState({ loading: true, error: null });\n\n return from(\n getDataSource(this.state.datasource, {\n __sceneObject: wrapInSafeSerializableSceneObject(this),\n })\n ).pipe(\n mergeMap((ds) => {\n const runner = createQueryVariableRunner(ds);\n const target = runner.getTarget(this);\n const request = this.getRequest(target, args.searchFilter);\n\n return runner.runRequest({ variable: this, searchFilter: args.searchFilter }, request).pipe(\n registerQueryWithController({\n type: 'QueryVariable/getValueOptions',\n request: request,\n origin: this,\n }),\n filter((data) => data.state === LoadingState.Done || data.state === LoadingState.Error), // we only care about done or error for now\n take(1), // take the first result, using first caused a bug where it in some situations throw an uncaught error because of no results had been received yet\n mergeMap((data: PanelData) => {\n if (data.state === LoadingState.Error) {\n return throwError(() => data.error);\n }\n return of(data);\n }),\n toMetricFindValues(),\n mergeMap((values) => {\n let regex = '';\n if (this.state.regex) {\n regex = sceneGraph.interpolate(this, this.state.regex, undefined, 'regex');\n }\n let options = metricNamesToVariableValues(regex, this.state.sort, values);\n if (this.state.staticOptions) {\n const customOptions = this.state.staticOptions;\n options = options.filter((option) => !customOptions.find((custom) => custom.value === option.value));\n if (this.state.staticOptionsOrder === 'after') {\n options.push(...customOptions);\n } else if (this.state.staticOptionsOrder === 'sorted') {\n options = sortVariableValues(options.concat(customOptions), this.state.sort);\n } else {\n options.unshift(...customOptions);\n }\n }\n return of(options);\n }),\n catchError((error) => {\n if (error.cancelled) {\n return of([]);\n }\n return throwError(() => error);\n })\n );\n })\n );\n }\n\n private getRequest(target: DataQuery | string, searchFilter?: string) {\n const scopedVars: ScopedVars = {\n __sceneObject: wrapInSafeSerializableSceneObject(this),\n };\n\n if (searchFilter) {\n scopedVars.__searchFilter = { value: searchFilter, text: searchFilter };\n }\n\n const range = sceneGraph.getTimeRange(this).state.value;\n\n const request: DataQueryRequest = {\n app: CoreApp.Dashboard,\n requestId: uuidv4(),\n timezone: '',\n range,\n interval: '',\n intervalMs: 0,\n // @ts-ignore\n targets: [target],\n scopedVars,\n startTime: Date.now(),\n };\n\n return request;\n }\n\n onSearchChange = (searchFilter: string) => {\n if (!containsSearchFilter(this.state.query)) {\n return;\n }\n\n this._updateOptionsBasedOnSearchFilter(searchFilter);\n };\n\n private _updateOptionsBasedOnSearchFilter = debounce(async (searchFilter: string) => {\n const result = await lastValueFrom(this.getValueOptions({ searchFilter }));\n this.setState({ options: result, loading: false });\n }, 400);\n\n public static Component = ({ model }: SceneComponentProps<MultiValueVariable>) => {\n return <MultiOrSingleValueSelect model={model} />;\n };\n}\n\nfunction containsSearchFilter(query: string | DataQuery) {\n const str = safeStringifyValue(query);\n return str.indexOf(SEARCH_FILTER_VARIABLE) > -1;\n}\n"],"names":["uuidv4"],"mappings":"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"}
1
+ {"version":3,"file":"QueryVariable.js","sources":["../../../../../src/variables/variants/query/QueryVariable.tsx"],"sourcesContent":["import { Observable, of, filter, take, mergeMap, catchError, throwError, from, lastValueFrom } from 'rxjs';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport {\n CoreApp,\n DataQueryRequest,\n LoadingState,\n PanelData,\n ScopedVars,\n VariableRefresh,\n VariableSort,\n // @ts-expect-error TODO: remove suppression after updating grafana/data\n VariableRegexApplyTo,\n} from '@grafana/data';\n\nimport { sceneGraph } from '../../../core/sceneGraph';\nimport { SceneComponentProps, SceneDataQuery } from '../../../core/types';\nimport { VariableDependencyConfig } from '../../VariableDependencyConfig';\nimport { MultiOrSingleValueSelect } from '../../components/VariableValueSelect';\nimport { VariableValueOption } from '../../types';\nimport { MultiValueVariable, MultiValueVariableState, VariableGetOptionsArgs } from '../MultiValueVariable';\n\nimport { createQueryVariableRunner } from './createQueryVariableRunner';\nimport { metricNamesToVariableValues, sortVariableValues } from './utils';\nimport { toMetricFindValues } from './toMetricFindValues';\nimport { getDataSource } from '../../../utils/getDataSource';\nimport { safeStringifyValue } from '../../utils';\nimport { DataQuery, DataSourceRef } from '@grafana/schema';\nimport { SEARCH_FILTER_VARIABLE } from '../../constants';\nimport { debounce } from 'lodash';\nimport { registerQueryWithController } from '../../../querying/registerQueryWithController';\nimport { wrapInSafeSerializableSceneObject } from '../../../utils/wrapInSafeSerializableSceneObject';\nimport React from 'react';\n\nexport interface QueryVariableState extends MultiValueVariableState {\n type: 'query';\n datasource: DataSourceRef | null;\n query: string | SceneDataQuery;\n regex: string;\n regexApplyTo: VariableRegexApplyTo;\n refresh: VariableRefresh;\n sort: VariableSort;\n\n // works the same as query for custom variable, adding additional static options to ones returned by data source query\n staticOptions?: VariableValueOption[];\n\n // how to order static options in relation to options returned by query\n staticOptionsOrder?: 'before' | 'after' | 'sorted';\n /** @internal Only for use inside core dashboards */\n definition?: string;\n}\n\nexport class QueryVariable extends MultiValueVariable<QueryVariableState> {\n protected _variableDependency = new VariableDependencyConfig(this, {\n statePaths: ['regex', 'regexApplyTo', 'query', 'datasource'],\n });\n\n public constructor(initialState: Partial<QueryVariableState>) {\n super({\n type: 'query',\n name: '',\n value: '',\n text: '',\n options: [],\n datasource: null,\n regex: '',\n // TODO: remove harcoded default value after updating grafana/data\n regexApplyTo: VariableRegexApplyTo?.value ?? 'value',\n query: '',\n refresh: VariableRefresh.onDashboardLoad,\n sort: VariableSort.disabled,\n ...initialState,\n });\n }\n\n public getValueOptions(args: VariableGetOptionsArgs): Observable<VariableValueOption[]> {\n if (!this.state.query) {\n return of([]);\n }\n\n this.setState({ loading: true, error: null });\n\n return from(\n getDataSource(this.state.datasource, {\n __sceneObject: wrapInSafeSerializableSceneObject(this),\n })\n ).pipe(\n mergeMap((ds) => {\n const runner = createQueryVariableRunner(ds);\n const target = runner.getTarget(this);\n const request = this.getRequest(target, args.searchFilter);\n\n return runner.runRequest({ variable: this, searchFilter: args.searchFilter }, request).pipe(\n registerQueryWithController({\n type: 'QueryVariable/getValueOptions',\n request: request,\n origin: this,\n }),\n filter((data) => data.state === LoadingState.Done || data.state === LoadingState.Error), // we only care about done or error for now\n take(1), // take the first result, using first caused a bug where it in some situations throw an uncaught error because of no results had been received yet\n mergeMap((data: PanelData) => {\n if (data.state === LoadingState.Error) {\n return throwError(() => data.error);\n }\n return of(data);\n }),\n toMetricFindValues(),\n mergeMap((values) => {\n let regex = '';\n if (this.state.regex) {\n regex = sceneGraph.interpolate(this, this.state.regex, undefined, 'regex');\n }\n let options = metricNamesToVariableValues({\n variableRegEx: regex,\n variableRegexApplyTo: this.state.regexApplyTo,\n sort: this.state.sort,\n metricNames: values,\n });\n if (this.state.staticOptions) {\n const customOptions = this.state.staticOptions;\n options = options.filter((option) => !customOptions.find((custom) => custom.value === option.value));\n if (this.state.staticOptionsOrder === 'after') {\n options.push(...customOptions);\n } else if (this.state.staticOptionsOrder === 'sorted') {\n options = sortVariableValues(options.concat(customOptions), this.state.sort);\n } else {\n options.unshift(...customOptions);\n }\n }\n return of(options);\n }),\n catchError((error) => {\n if (error.cancelled) {\n return of([]);\n }\n return throwError(() => error);\n })\n );\n })\n );\n }\n\n private getRequest(target: DataQuery | string, searchFilter?: string) {\n const scopedVars: ScopedVars = {\n __sceneObject: wrapInSafeSerializableSceneObject(this),\n };\n\n if (searchFilter) {\n scopedVars.__searchFilter = { value: searchFilter, text: searchFilter };\n }\n\n const range = sceneGraph.getTimeRange(this).state.value;\n\n const request: DataQueryRequest = {\n app: CoreApp.Dashboard,\n requestId: uuidv4(),\n timezone: '',\n range,\n interval: '',\n intervalMs: 0,\n // @ts-ignore\n targets: [target],\n scopedVars,\n startTime: Date.now(),\n };\n\n return request;\n }\n\n onSearchChange = (searchFilter: string) => {\n if (!containsSearchFilter(this.state.query)) {\n return;\n }\n\n this._updateOptionsBasedOnSearchFilter(searchFilter);\n };\n\n private _updateOptionsBasedOnSearchFilter = debounce(async (searchFilter: string) => {\n const result = await lastValueFrom(this.getValueOptions({ searchFilter }));\n this.setState({ options: result, loading: false });\n }, 400);\n\n public static Component = ({ model }: SceneComponentProps<MultiValueVariable>) => {\n return <MultiOrSingleValueSelect model={model} />;\n };\n}\n\nfunction containsSearchFilter(query: string | DataQuery) {\n const str = safeStringifyValue(query);\n return str.indexOf(SEARCH_FILTER_VARIABLE) > -1;\n}\n"],"names":["uuidv4"],"mappings":"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"}
@@ -1,8 +1,13 @@
1
1
  import { isNumber, uniqBy, sortBy, toLower } from 'lodash';
2
- import { stringToJsRegex, VariableSort } from '@grafana/data';
2
+ import { stringToJsRegex, VariableRegexApplyTo, VariableSort } from '@grafana/data';
3
3
 
4
- function metricNamesToVariableValues(variableRegEx, sort, metricNames) {
5
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
4
+ function metricNamesToVariableValues({
5
+ variableRegEx,
6
+ variableRegexApplyTo,
7
+ sort,
8
+ metricNames
9
+ }) {
10
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k;
6
11
  let regex;
7
12
  let options = [];
8
13
  if (variableRegEx) {
@@ -19,7 +24,8 @@ function metricNamesToVariableValues(variableRegEx, sort, metricNames) {
19
24
  text = text.toString();
20
25
  }
21
26
  if (regex) {
22
- const matches = getAllMatches(value, regex);
27
+ const applyTo = variableRegexApplyTo === (((_e = VariableRegexApplyTo) == null ? void 0 : _e.text) || "text") ? text : value;
28
+ const matches = getAllMatches(applyTo, regex);
23
29
  if (!matches.length) {
24
30
  continue;
25
31
  }
@@ -28,8 +34,8 @@ function metricNamesToVariableValues(variableRegEx, sort, metricNames) {
28
34
  const firstMatch = matches.find((m) => m.length > 1);
29
35
  const manyMatches = matches.length > 1 && firstMatch;
30
36
  if (valueGroup || textGroup) {
31
- value = (_g = (_e = valueGroup == null ? void 0 : valueGroup.groups) == null ? void 0 : _e.value) != null ? _g : (_f = textGroup == null ? void 0 : textGroup.groups) == null ? void 0 : _f.text;
32
- text = (_j = (_h = textGroup == null ? void 0 : textGroup.groups) == null ? void 0 : _h.text) != null ? _j : (_i = valueGroup == null ? void 0 : valueGroup.groups) == null ? void 0 : _i.value;
37
+ value = (_h = (_f = valueGroup == null ? void 0 : valueGroup.groups) == null ? void 0 : _f.value) != null ? _h : (_g = textGroup == null ? void 0 : textGroup.groups) == null ? void 0 : _g.text;
38
+ text = (_k = (_i = textGroup == null ? void 0 : textGroup.groups) == null ? void 0 : _i.text) != null ? _k : (_j = valueGroup == null ? void 0 : valueGroup.groups) == null ? void 0 : _j.value;
33
39
  } else if (manyMatches) {
34
40
  for (let j = 0; j < matches.length; j++) {
35
41
  const match = matches[j];
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../../../src/variables/variants/query/utils.ts"],"sourcesContent":["import { isNumber, sortBy, toLower, uniqBy } from 'lodash';\n\nimport { stringToJsRegex, VariableSort } from '@grafana/data';\n\nimport { VariableValueOption } from '../../types';\n\nexport function metricNamesToVariableValues(variableRegEx: string, sort: VariableSort, metricNames: any[]) {\n let regex;\n let options: VariableValueOption[] = [];\n\n if (variableRegEx) {\n regex = stringToJsRegex(variableRegEx);\n }\n\n for (let i = 0; i < metricNames.length; i++) {\n const item = metricNames[i];\n let text = item.text ?? item.value ?? '';\n let value = item.value ?? item.text ?? '';\n\n if (isNumber(value)) {\n value = value.toString();\n }\n\n if (isNumber(text)) {\n text = text.toString();\n }\n\n if (regex) {\n const matches = getAllMatches(value, regex);\n if (!matches.length) {\n continue;\n }\n\n const valueGroup = matches.find((m) => m.groups && m.groups.value);\n const textGroup = matches.find((m) => m.groups && m.groups.text);\n const firstMatch = matches.find((m) => m.length > 1);\n const manyMatches = matches.length > 1 && firstMatch;\n\n if (valueGroup || textGroup) {\n value = valueGroup?.groups?.value ?? textGroup?.groups?.text;\n text = textGroup?.groups?.text ?? valueGroup?.groups?.value;\n } else if (manyMatches) {\n for (let j = 0; j < matches.length; j++) {\n const match = matches[j];\n options.push({ label: match[1], value: match[1] });\n }\n continue;\n } else if (firstMatch) {\n text = firstMatch[1];\n value = firstMatch[1];\n }\n }\n\n options.push({ label: text, value: value, properties: item.properties });\n }\n\n options = uniqBy(options, 'value');\n return sortVariableValues(options, sort);\n}\n\nconst getAllMatches = (str: string, regex: RegExp): RegExpExecArray[] => {\n const results: RegExpExecArray[] = [];\n let matches = null;\n\n regex.lastIndex = 0;\n\n do {\n matches = regex.exec(str);\n if (matches) {\n results.push(matches);\n }\n } while (regex.global && matches && matches[0] !== '' && matches[0] !== undefined);\n\n return results;\n};\n\nexport const sortVariableValues = (options: VariableValueOption[], sortOrder: VariableSort) => {\n if (sortOrder === VariableSort.disabled) {\n return options;\n }\n\n switch (sortOrder) {\n case VariableSort.alphabeticalAsc:\n options = sortBy(options, 'label');\n break;\n case VariableSort.alphabeticalDesc:\n options = sortBy(options, 'label').reverse();\n break;\n case VariableSort.numericalAsc:\n options = sortBy(options, sortByNumeric);\n break;\n case VariableSort.numericalDesc:\n options = sortBy(options, sortByNumeric);\n options = options.reverse();\n break;\n case VariableSort.alphabeticalCaseInsensitiveAsc:\n options = sortBy(options, (opt) => {\n return toLower(opt.label);\n });\n break;\n case VariableSort.alphabeticalCaseInsensitiveDesc:\n options = sortBy(options, (opt) => {\n return toLower(opt.label);\n });\n options = options.reverse();\n break;\n case VariableSort.naturalAsc || 7:\n // Sort by natural sort\n options = sortByNaturalSort(options);\n break;\n case VariableSort.naturalDesc || 8:\n options = sortByNaturalSort(options);\n options = options.reverse();\n break;\n default:\n break;\n }\n return options;\n};\n\nfunction sortByNumeric(opt: VariableValueOption) {\n if (!opt.label) {\n return -1;\n }\n const matches = opt.label.match(/.*?(\\d+).*/);\n if (!matches || matches.length < 2) {\n return -1;\n } else {\n return parseInt(matches[1], 10);\n }\n}\n\nconst collator = new Intl.Collator(undefined, { sensitivity: 'accent', numeric: true });\n\nfunction sortByNaturalSort(options: VariableValueOption[]) {\n return options.slice().sort((a, b) => {\n return collator.compare(a.label, b.label);\n });\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sources":["../../../../../src/variables/variants/query/utils.ts"],"sourcesContent":["import { isNumber, sortBy, toLower, uniqBy } from 'lodash';\n\nimport {\n stringToJsRegex,\n VariableSort,\n // @ts-expect-error TODO: remove suppression after updating grafana/data\n VariableRegexApplyTo,\n} from '@grafana/data';\n\nimport { VariableValueOption } from '../../types';\n\ninterface MetricNamesToVariableValuesArgs {\n variableRegEx: string;\n variableRegexApplyTo: VariableRegexApplyTo;\n sort: VariableSort;\n metricNames: any[];\n}\n\nexport function metricNamesToVariableValues({\n variableRegEx,\n variableRegexApplyTo,\n sort,\n metricNames,\n}: MetricNamesToVariableValuesArgs) {\n let regex;\n let options: VariableValueOption[] = [];\n\n if (variableRegEx) {\n regex = stringToJsRegex(variableRegEx);\n }\n\n for (let i = 0; i < metricNames.length; i++) {\n const item = metricNames[i];\n let text = item.text ?? item.value ?? '';\n let value = item.value ?? item.text ?? '';\n\n if (isNumber(value)) {\n value = value.toString();\n }\n\n if (isNumber(text)) {\n text = text.toString();\n }\n\n if (regex) {\n // TODO: remove harcoded default value after updating grafana/data\n const applyTo = variableRegexApplyTo === (VariableRegexApplyTo?.text || 'text') ? text : value;\n const matches = getAllMatches(applyTo, regex);\n if (!matches.length) {\n continue;\n }\n\n const valueGroup = matches.find((m) => m.groups && m.groups.value);\n const textGroup = matches.find((m) => m.groups && m.groups.text);\n const firstMatch = matches.find((m) => m.length > 1);\n const manyMatches = matches.length > 1 && firstMatch;\n\n if (valueGroup || textGroup) {\n value = valueGroup?.groups?.value ?? textGroup?.groups?.text;\n text = textGroup?.groups?.text ?? valueGroup?.groups?.value;\n } else if (manyMatches) {\n for (let j = 0; j < matches.length; j++) {\n const match = matches[j];\n options.push({ label: match[1], value: match[1] });\n }\n continue;\n } else if (firstMatch) {\n text = firstMatch[1];\n value = firstMatch[1];\n }\n }\n\n options.push({ label: text, value: value, properties: item.properties });\n }\n\n options = uniqBy(options, 'value');\n return sortVariableValues(options, sort);\n}\n\nconst getAllMatches = (str: string, regex: RegExp): RegExpExecArray[] => {\n const results: RegExpExecArray[] = [];\n let matches = null;\n\n regex.lastIndex = 0;\n\n do {\n matches = regex.exec(str);\n if (matches) {\n results.push(matches);\n }\n } while (regex.global && matches && matches[0] !== '' && matches[0] !== undefined);\n\n return results;\n};\n\nexport const sortVariableValues = (options: VariableValueOption[], sortOrder: VariableSort) => {\n if (sortOrder === VariableSort.disabled) {\n return options;\n }\n\n switch (sortOrder) {\n case VariableSort.alphabeticalAsc:\n options = sortBy(options, 'label');\n break;\n case VariableSort.alphabeticalDesc:\n options = sortBy(options, 'label').reverse();\n break;\n case VariableSort.numericalAsc:\n options = sortBy(options, sortByNumeric);\n break;\n case VariableSort.numericalDesc:\n options = sortBy(options, sortByNumeric);\n options = options.reverse();\n break;\n case VariableSort.alphabeticalCaseInsensitiveAsc:\n options = sortBy(options, (opt) => {\n return toLower(opt.label);\n });\n break;\n case VariableSort.alphabeticalCaseInsensitiveDesc:\n options = sortBy(options, (opt) => {\n return toLower(opt.label);\n });\n options = options.reverse();\n break;\n case VariableSort.naturalAsc || 7:\n // Sort by natural sort\n options = sortByNaturalSort(options);\n break;\n case VariableSort.naturalDesc || 8:\n options = sortByNaturalSort(options);\n options = options.reverse();\n break;\n default:\n break;\n }\n return options;\n};\n\nfunction sortByNumeric(opt: VariableValueOption) {\n if (!opt.label) {\n return -1;\n }\n const matches = opt.label.match(/.*?(\\d+).*/);\n if (!matches || matches.length < 2) {\n return -1;\n } else {\n return parseInt(matches[1], 10);\n }\n}\n\nconst collator = new Intl.Collator(undefined, { sensitivity: 'accent', numeric: true });\n\nfunction sortByNaturalSort(options: VariableValueOption[]) {\n return options.slice().sort((a, b) => {\n return collator.compare(a.label, b.label);\n });\n}\n"],"names":[],"mappings":"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"}
@@ -113,6 +113,7 @@ var grafanaScenes = {
113
113
  "format-date-in-different-ways": "Datum auf verschiedene Arten formatieren",
114
114
  "format-multivalued-variables-using-syntax-example": "Formatieren Sie mehrwertige Variablen mit der glob-Syntax, Beispiel {value1,value2}",
115
115
  "html-escaping-of-values": "HTML-Escaping von Werten",
116
+ "join-values-with-a-comma": "",
116
117
  "json-stringify-value": "JSON-Stringify-Wert",
117
118
  "keep-value-as-is": "Wert unverändert lassen",
118
119
  "multiple-values-are-formatted-like-variablevalue": "Mehrere Werte werden als variable=value formatiert",
@@ -163,4 +164,4 @@ var grafanaScenes = {
163
164
  };
164
165
 
165
166
  exports.default = grafanaScenes;
166
- //# sourceMappingURL=grafana-scenes-Cv2waQMg.js.map
167
+ //# sourceMappingURL=grafana-scenes-BHIE4ld0.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"grafana-scenes-BKyaPXlz.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"grafana-scenes-BHIE4ld0.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -113,6 +113,7 @@ var grafanaScenes = {
113
113
  "format-date-in-different-ways": "Datum op verschillende manieren opmaken",
114
114
  "format-multivalued-variables-using-syntax-example": "Formatteer variabelen met meerdere waarden met behulp van glob-syntaxis, bijvoorbeeld {value1,value2}",
115
115
  "html-escaping-of-values": "HTML-escaping van waarden",
116
+ "join-values-with-a-comma": "",
116
117
  "json-stringify-value": "JSON-stringify-waarde",
117
118
  "keep-value-as-is": "Huidige waarde behouden",
118
119
  "multiple-values-are-formatted-like-variablevalue": "Meerdere waarden zijn opgemaakt als variabele=waarde",
@@ -163,4 +164,4 @@ var grafanaScenes = {
163
164
  };
164
165
 
165
166
  exports.default = grafanaScenes;
166
- //# sourceMappingURL=grafana-scenes-t5zYTKtF.js.map
167
+ //# sourceMappingURL=grafana-scenes-BQOG4-hf.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"grafana-scenes-B10eGhqN.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"grafana-scenes-BQOG4-hf.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -113,6 +113,7 @@ var grafanaScenes = {
113
113
  "format-date-in-different-ways": "다양한 방식으로 날짜 형식 지정",
114
114
  "format-multivalued-variables-using-syntax-example": "glob 구문을 사용하여 다중 값 변수 형식 지정, 예: {value1,value2}",
115
115
  "html-escaping-of-values": "값의 HTML 이스케이프",
116
+ "join-values-with-a-comma": "",
116
117
  "json-stringify-value": "JSON 문자열화 값",
117
118
  "keep-value-as-is": "값을 그대로 유지",
118
119
  "multiple-values-are-formatted-like-variablevalue": "여러 값은 variable=value와 같은 형식으로 지정됩니다.",
@@ -163,4 +164,4 @@ var grafanaScenes = {
163
164
  };
164
165
 
165
166
  exports.default = grafanaScenes;
166
- //# sourceMappingURL=grafana-scenes-t982Ep2v.js.map
167
+ //# sourceMappingURL=grafana-scenes-BUP4DNLu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"grafana-scenes-BYpkzUpx.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"grafana-scenes-BUP4DNLu.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -113,6 +113,7 @@ var grafanaScenes = {
113
113
  "format-date-in-different-ways": "Formatera datum på olika sätt",
114
114
  "format-multivalued-variables-using-syntax-example": "Formatera flervärdesvariabler med globsyntax, till exempel {value1,value2}",
115
115
  "html-escaping-of-values": "HTML-undantagstecken för värden",
116
+ "join-values-with-a-comma": "",
116
117
  "json-stringify-value": "JSON stringify-värde",
117
118
  "keep-value-as-is": "Behåll värdet som det är",
118
119
  "multiple-values-are-formatted-like-variablevalue": "Flera värden formateras som variabel=värde",
@@ -163,4 +164,4 @@ var grafanaScenes = {
163
164
  };
164
165
 
165
166
  exports.default = grafanaScenes;
166
- //# sourceMappingURL=grafana-scenes-BKyaPXlz.js.map
167
+ //# sourceMappingURL=grafana-scenes-BWSRLKS6.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"grafana-scenes-B2NM8uIa.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"grafana-scenes-BWSRLKS6.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -113,6 +113,7 @@ var grafanaScenes = {
113
113
  "format-date-in-different-ways": "Formatta la data in diversi modi",
114
114
  "format-multivalued-variables-using-syntax-example": "Formatta le variabili a più valori utilizzando la sintassi glob, esempio {value1,value2}",
115
115
  "html-escaping-of-values": "Escaping HTML dei valori",
116
+ "join-values-with-a-comma": "",
116
117
  "json-stringify-value": "Valore JSON stringify",
117
118
  "keep-value-as-is": "Mantieni il valore così com'è",
118
119
  "multiple-values-are-formatted-like-variablevalue": "I valori multipli sono formattati come variabile=valore",
@@ -163,4 +164,4 @@ var grafanaScenes = {
163
164
  };
164
165
 
165
166
  exports.default = grafanaScenes;
166
- //# sourceMappingURL=grafana-scenes-B10eGhqN.js.map
167
+ //# sourceMappingURL=grafana-scenes-BZj2ZETs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grafana-scenes-BZj2ZETs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -113,6 +113,7 @@ var grafanaScenes = {
113
113
  "format-date-in-different-ways": "日付を様々な形式でフォーマット",
114
114
  "format-multivalued-variables-using-syntax-example": "glob構文を使用して複数値変数をフォーマット(例: {value1,value2})",
115
115
  "html-escaping-of-values": "値のHTMLエスケープ",
116
+ "join-values-with-a-comma": "",
116
117
  "json-stringify-value": "JSON文字列化値",
117
118
  "keep-value-as-is": "値をそのまま保持",
118
119
  "multiple-values-are-formatted-like-variablevalue": "複数の値は変数=値の形式でフォーマットされます",
@@ -163,4 +164,4 @@ var grafanaScenes = {
163
164
  };
164
165
 
165
166
  exports.default = grafanaScenes;
166
- //# sourceMappingURL=grafana-scenes-Bf6nP3Zg.js.map
167
+ //# sourceMappingURL=grafana-scenes-ByblbWyE.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grafana-scenes-ByblbWyE.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}