@grafana/scenes 6.27.3 → 6.28.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.
- package/CHANGELOG.md +19 -0
- package/dist/esm/locales/cs-CZ/grafana-scenes.json.js +151 -0
- package/dist/esm/locales/cs-CZ/grafana-scenes.json.js.map +1 -0
- package/dist/esm/locales/de-DE/grafana-scenes.json.js +151 -0
- package/dist/esm/locales/de-DE/grafana-scenes.json.js.map +1 -0
- package/dist/esm/locales/en-US/grafana-scenes.json.js +1 -0
- package/dist/esm/locales/en-US/grafana-scenes.json.js.map +1 -1
- package/dist/esm/locales/es-ES/grafana-scenes.json.js +151 -0
- package/dist/esm/locales/es-ES/grafana-scenes.json.js.map +1 -0
- package/dist/esm/locales/fr-FR/grafana-scenes.json.js +151 -0
- package/dist/esm/locales/fr-FR/grafana-scenes.json.js.map +1 -0
- package/dist/esm/locales/hu-HU/grafana-scenes.json.js +151 -0
- package/dist/esm/locales/hu-HU/grafana-scenes.json.js.map +1 -0
- package/dist/esm/locales/id-ID/grafana-scenes.json.js +151 -0
- package/dist/esm/locales/id-ID/grafana-scenes.json.js.map +1 -0
- package/dist/esm/locales/it-IT/grafana-scenes.json.js +151 -0
- package/dist/esm/locales/it-IT/grafana-scenes.json.js.map +1 -0
- package/dist/esm/locales/ja-JP/grafana-scenes.json.js +151 -0
- package/dist/esm/locales/ja-JP/grafana-scenes.json.js.map +1 -0
- package/dist/esm/locales/ko-KR/grafana-scenes.json.js +151 -0
- package/dist/esm/locales/ko-KR/grafana-scenes.json.js.map +1 -0
- package/dist/esm/locales/nl-NL/grafana-scenes.json.js +151 -0
- package/dist/esm/locales/nl-NL/grafana-scenes.json.js.map +1 -0
- package/dist/esm/locales/pl-PL/grafana-scenes.json.js +151 -0
- package/dist/esm/locales/pl-PL/grafana-scenes.json.js.map +1 -0
- package/dist/esm/locales/pt-BR/grafana-scenes.json.js +151 -0
- package/dist/esm/locales/pt-BR/grafana-scenes.json.js.map +1 -0
- package/dist/esm/locales/pt-PT/grafana-scenes.json.js +151 -0
- package/dist/esm/locales/pt-PT/grafana-scenes.json.js.map +1 -0
- package/dist/esm/locales/ru-RU/grafana-scenes.json.js +151 -0
- package/dist/esm/locales/ru-RU/grafana-scenes.json.js.map +1 -0
- package/dist/esm/locales/sv-SE/grafana-scenes.json.js +151 -0
- package/dist/esm/locales/sv-SE/grafana-scenes.json.js.map +1 -0
- package/dist/esm/locales/tr-TR/grafana-scenes.json.js +151 -0
- package/dist/esm/locales/tr-TR/grafana-scenes.json.js.map +1 -0
- package/dist/esm/locales/zh-Hans/grafana-scenes.json.js +151 -0
- package/dist/esm/locales/zh-Hans/grafana-scenes.json.js.map +1 -0
- package/dist/esm/locales/zh-Hant/grafana-scenes.json.js +151 -0
- package/dist/esm/locales/zh-Hant/grafana-scenes.json.js.map +1 -0
- package/dist/esm/utils/loadResources.js +18 -0
- package/dist/esm/utils/loadResources.js.map +1 -1
- package/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFilterPill.js +11 -2
- package/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFilterPill.js.map +1 -1
- package/dist/esm/variables/adhoc/AdHocFiltersVariable.js +42 -24
- package/dist/esm/variables/adhoc/AdHocFiltersVariable.js.map +1 -1
- package/dist/grafana-scenes-B0JDDOYY.js +153 -0
- package/dist/{grafana-scenes-DCHONTnD.js.map → grafana-scenes-B0JDDOYY.js.map} +1 -1
- package/dist/grafana-scenes-B3ypGD5T.js +153 -0
- package/dist/grafana-scenes-B3ypGD5T.js.map +1 -0
- package/dist/grafana-scenes-BGCbMCFm.js +153 -0
- package/dist/grafana-scenes-BGCbMCFm.js.map +1 -0
- package/dist/grafana-scenes-Br6NPcwR.js +153 -0
- package/dist/grafana-scenes-Br6NPcwR.js.map +1 -0
- package/dist/grafana-scenes-CBRfJ-2H.js +153 -0
- package/dist/grafana-scenes-CBRfJ-2H.js.map +1 -0
- package/dist/grafana-scenes-COr0P0oM.js +153 -0
- package/dist/grafana-scenes-COr0P0oM.js.map +1 -0
- package/dist/grafana-scenes-CY85TD5F.js +153 -0
- package/dist/grafana-scenes-CY85TD5F.js.map +1 -0
- package/dist/grafana-scenes-CeVkPanY.js +153 -0
- package/dist/grafana-scenes-CeVkPanY.js.map +1 -0
- package/dist/grafana-scenes-CgIzGE5F.js +153 -0
- package/dist/grafana-scenes-CgIzGE5F.js.map +1 -0
- package/dist/grafana-scenes-CqRf9pRc.js +153 -0
- package/dist/grafana-scenes-CqRf9pRc.js.map +1 -0
- package/dist/grafana-scenes-Cub9Gl0n.js +153 -0
- package/dist/grafana-scenes-Cub9Gl0n.js.map +1 -0
- package/dist/grafana-scenes-D5qs_fc9.js +153 -0
- package/dist/grafana-scenes-D5qs_fc9.js.map +1 -0
- package/dist/grafana-scenes-DObtL2WT.js +153 -0
- package/dist/grafana-scenes-DObtL2WT.js.map +1 -0
- package/dist/grafana-scenes-DXM1LI4B.js +153 -0
- package/dist/grafana-scenes-DXM1LI4B.js.map +1 -0
- package/dist/grafana-scenes-DlUSL8jI.js +153 -0
- package/dist/grafana-scenes-DlUSL8jI.js.map +1 -0
- package/dist/grafana-scenes-Dy2CLUY9.js +153 -0
- package/dist/grafana-scenes-Dy2CLUY9.js.map +1 -0
- package/dist/grafana-scenes-YMli37Xh.js +153 -0
- package/dist/grafana-scenes-YMli37Xh.js.map +1 -0
- package/dist/grafana-scenes-n10eQkNF.js +153 -0
- package/dist/grafana-scenes-n10eQkNF.js.map +1 -0
- package/dist/{grafana-scenes-DCHONTnD.js → grafana-scenes-uBsCv-Bu.js} +2 -1
- package/dist/grafana-scenes-uBsCv-Bu.js.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.js +72 -27
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
var grafanaScenes = {
|
|
2
|
+
"grafana-scenes": {
|
|
3
|
+
components: {
|
|
4
|
+
"adhoc-filter-pill": {
|
|
5
|
+
"edit-filter-with-key": "使用键 {{keyLabel}} 编辑筛选器",
|
|
6
|
+
"managed-filter": "{{origin}} 托管筛选器",
|
|
7
|
+
"remove-filter-with-key": "使用键 {{keyLabel}} 移除筛选器"
|
|
8
|
+
},
|
|
9
|
+
"adhoc-filters-combobox": {
|
|
10
|
+
"remove-filter-value": "移除筛选器值 - {{itemLabel}}",
|
|
11
|
+
"use-custom-value": "使用自定义值:{{itemLabel}}"
|
|
12
|
+
},
|
|
13
|
+
"fallback-page": {
|
|
14
|
+
content: "如果您使用链接找到了此处的路径,则此应用程序中可能存在错误。",
|
|
15
|
+
subTitle: "URL 与任何页面都不匹配",
|
|
16
|
+
title: "未找到"
|
|
17
|
+
},
|
|
18
|
+
"nested-scene-renderer": {
|
|
19
|
+
"collapse-button-label": "折叠场景",
|
|
20
|
+
"expand-button-label": "展开场景",
|
|
21
|
+
"remove-button-label": "移除场景"
|
|
22
|
+
},
|
|
23
|
+
"scene-debugger": {
|
|
24
|
+
"object-details": "对象详情",
|
|
25
|
+
"scene-graph": "场景图",
|
|
26
|
+
"title-scene-debugger": "场景调试器"
|
|
27
|
+
},
|
|
28
|
+
"scene-grid-row": {
|
|
29
|
+
"collapse-row": "折叠行",
|
|
30
|
+
"expand-row": "展开行"
|
|
31
|
+
},
|
|
32
|
+
"scene-time-range-compare-renderer": {
|
|
33
|
+
"button-label": "比较",
|
|
34
|
+
"button-tooltip": "启用时间范围比较"
|
|
35
|
+
},
|
|
36
|
+
splitter: {
|
|
37
|
+
"aria-label-pane-resize-widget": "窗格大小调整小部件"
|
|
38
|
+
},
|
|
39
|
+
"viz-panel": {
|
|
40
|
+
title: {
|
|
41
|
+
title: "标题"
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
"viz-panel-explore-button": {
|
|
45
|
+
explore: "探索"
|
|
46
|
+
},
|
|
47
|
+
"viz-panel-renderer": {
|
|
48
|
+
"loading-plugin-panel": "正在加载插件面板…",
|
|
49
|
+
"panel-plugin-has-no-panel-component": "面板插件没有面板组件"
|
|
50
|
+
},
|
|
51
|
+
"viz-panel-series-limit": {
|
|
52
|
+
"content-rendering-series-single-panel-impact-performance": "在单个面板中呈现太多系列可能会影响性能,并使数据难以阅读。",
|
|
53
|
+
"warning-message": "仅显示 {{seriesLimit}} 系列"
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
utils: {
|
|
57
|
+
"controls-label": {
|
|
58
|
+
"tooltip-remove": "移除"
|
|
59
|
+
},
|
|
60
|
+
"loading-indicator": {
|
|
61
|
+
"content-cancel-query": "取消查询"
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
variables: {
|
|
65
|
+
"ad-hoc-combobox": {
|
|
66
|
+
"aria-label-edit-filter-operator": "编辑筛选器运算符"
|
|
67
|
+
},
|
|
68
|
+
"ad-hoc-filter-builder": {
|
|
69
|
+
"aria-label-add-filter": "添加筛选条件",
|
|
70
|
+
"title-add-filter": "添加筛选条件"
|
|
71
|
+
},
|
|
72
|
+
"ad-hoc-filter-renderer": {
|
|
73
|
+
"aria-label-remove-filter": "移除筛选条件",
|
|
74
|
+
"key-select": {
|
|
75
|
+
"placeholder-select-label": "选择标签"
|
|
76
|
+
},
|
|
77
|
+
"label-select-label": "选择标签",
|
|
78
|
+
"title-remove-filter": "移除筛选条件",
|
|
79
|
+
"value-select": {
|
|
80
|
+
"placeholder-select-value": "选择值"
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
"data-source-variable": {
|
|
84
|
+
label: {
|
|
85
|
+
"default": "默认"
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
"default-group-by-custom-indicator-container": {
|
|
89
|
+
"aria-label-clear": "清除",
|
|
90
|
+
tooltip: "在此数据面板中默认应用。如果编辑,它将转移到其他数据面板。",
|
|
91
|
+
"tooltip-restore-groupby-set-by-this-dashboard": "还原此数据面板设置的分组。"
|
|
92
|
+
},
|
|
93
|
+
"format-registry": {
|
|
94
|
+
formats: {
|
|
95
|
+
description: {
|
|
96
|
+
"commaseparated-values": "逗号分隔值",
|
|
97
|
+
"double-quoted-values": "双引号值",
|
|
98
|
+
"format-date-in-different-ways": "以不同方式格式化日期",
|
|
99
|
+
"format-multivalued-variables-using-syntax-example": "使用 glob 语法格式化多值变量,例如 {value1,value2}",
|
|
100
|
+
"html-escaping-of-values": "值的 HTML 转义",
|
|
101
|
+
"json-stringify-value": "JSON 字符串化值",
|
|
102
|
+
"keep-value-as-is": "保持值不变",
|
|
103
|
+
"multiple-values-are-formatted-like-variablevalue": "多个值的格式为 variable=value",
|
|
104
|
+
"single-quoted-values": "单引号值",
|
|
105
|
+
"useful-escaping-values-taking-syntax-characters": "用于 URL 转义值,采用 URI 语法字符",
|
|
106
|
+
"useful-for-url-escaping-values": "适用于 URL 转义值",
|
|
107
|
+
"values-are-separated-by-character": "值由 | 字符分隔"
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
"group-by-variable-renderer": {
|
|
112
|
+
"aria-label-group-by-selector": "按选择器分组",
|
|
113
|
+
"placeholder-group-by-label": "按标签分组"
|
|
114
|
+
},
|
|
115
|
+
"interval-variable": {
|
|
116
|
+
"placeholder-select-value": "选择值"
|
|
117
|
+
},
|
|
118
|
+
"loading-options-placeholder": {
|
|
119
|
+
"loading-options": "正在加载选项…"
|
|
120
|
+
},
|
|
121
|
+
"multi-value-apply-button": {
|
|
122
|
+
apply: "应用"
|
|
123
|
+
},
|
|
124
|
+
"no-options-placeholder": {
|
|
125
|
+
"no-options-found": "未找到选项"
|
|
126
|
+
},
|
|
127
|
+
"options-error-placeholder": {
|
|
128
|
+
"error-occurred-fetching-labels-click-retry": "获取标签时发生错误。单击重试"
|
|
129
|
+
},
|
|
130
|
+
"test-object-with-variable-dependency": {
|
|
131
|
+
title: {
|
|
132
|
+
hello: "您好"
|
|
133
|
+
}
|
|
134
|
+
},
|
|
135
|
+
"test-variable": {
|
|
136
|
+
text: {
|
|
137
|
+
text: "文本"
|
|
138
|
+
}
|
|
139
|
+
},
|
|
140
|
+
"variable-value-input": {
|
|
141
|
+
"placeholder-enter-value": "输入数值"
|
|
142
|
+
},
|
|
143
|
+
"variable-value-select": {
|
|
144
|
+
"placeholder-select-value": "选择值"
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
};
|
|
149
|
+
|
|
150
|
+
export { grafanaScenes as default };
|
|
151
|
+
//# sourceMappingURL=grafana-scenes.json.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grafana-scenes.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
var grafanaScenes = {
|
|
2
|
+
"grafana-scenes": {
|
|
3
|
+
components: {
|
|
4
|
+
"adhoc-filter-pill": {
|
|
5
|
+
"edit-filter-with-key": "使用鍵 {{keyLabel}} 編輯篩選條件",
|
|
6
|
+
"managed-filter": "{{origin}} 受管理的篩選條件",
|
|
7
|
+
"remove-filter-with-key": "使用鍵 {{keyLabel}} 移除篩選條件"
|
|
8
|
+
},
|
|
9
|
+
"adhoc-filters-combobox": {
|
|
10
|
+
"remove-filter-value": "移除篩選條件值 - {{itemLabel}}",
|
|
11
|
+
"use-custom-value": "使用自訂值:{{itemLabel}}"
|
|
12
|
+
},
|
|
13
|
+
"fallback-page": {
|
|
14
|
+
content: "如果您使用連結找到此處,則此應用程式中可能存在錯誤。",
|
|
15
|
+
subTitle: "URL 與任何頁面都不相符",
|
|
16
|
+
title: "無結果"
|
|
17
|
+
},
|
|
18
|
+
"nested-scene-renderer": {
|
|
19
|
+
"collapse-button-label": "收闔場景",
|
|
20
|
+
"expand-button-label": "展開場景",
|
|
21
|
+
"remove-button-label": "移除場景"
|
|
22
|
+
},
|
|
23
|
+
"scene-debugger": {
|
|
24
|
+
"object-details": "物件詳情",
|
|
25
|
+
"scene-graph": "場景圖表",
|
|
26
|
+
"title-scene-debugger": "場景除錯器"
|
|
27
|
+
},
|
|
28
|
+
"scene-grid-row": {
|
|
29
|
+
"collapse-row": "收闔列",
|
|
30
|
+
"expand-row": "展開列"
|
|
31
|
+
},
|
|
32
|
+
"scene-time-range-compare-renderer": {
|
|
33
|
+
"button-label": "比較",
|
|
34
|
+
"button-tooltip": "啟用時間範圍比較"
|
|
35
|
+
},
|
|
36
|
+
splitter: {
|
|
37
|
+
"aria-label-pane-resize-widget": "窗格調整大小小工具"
|
|
38
|
+
},
|
|
39
|
+
"viz-panel": {
|
|
40
|
+
title: {
|
|
41
|
+
title: "標題"
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
"viz-panel-explore-button": {
|
|
45
|
+
explore: "探索"
|
|
46
|
+
},
|
|
47
|
+
"viz-panel-renderer": {
|
|
48
|
+
"loading-plugin-panel": "正在載入外掛程式面板…",
|
|
49
|
+
"panel-plugin-has-no-panel-component": "面板外掛程式沒有面板元件"
|
|
50
|
+
},
|
|
51
|
+
"viz-panel-series-limit": {
|
|
52
|
+
"content-rendering-series-single-panel-impact-performance": "在單個面板中呈現太多序列可能會影響效能,並使資料更難讀取。",
|
|
53
|
+
"warning-message": "僅顯示 {{seriesLimit}} 個序列"
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
utils: {
|
|
57
|
+
"controls-label": {
|
|
58
|
+
"tooltip-remove": "移除"
|
|
59
|
+
},
|
|
60
|
+
"loading-indicator": {
|
|
61
|
+
"content-cancel-query": "取消查詢"
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
variables: {
|
|
65
|
+
"ad-hoc-combobox": {
|
|
66
|
+
"aria-label-edit-filter-operator": "編輯篩選條件運算子"
|
|
67
|
+
},
|
|
68
|
+
"ad-hoc-filter-builder": {
|
|
69
|
+
"aria-label-add-filter": "新增篩選條件",
|
|
70
|
+
"title-add-filter": "新增篩選條件"
|
|
71
|
+
},
|
|
72
|
+
"ad-hoc-filter-renderer": {
|
|
73
|
+
"aria-label-remove-filter": "移除篩選條件",
|
|
74
|
+
"key-select": {
|
|
75
|
+
"placeholder-select-label": "選擇標籤"
|
|
76
|
+
},
|
|
77
|
+
"label-select-label": "選擇標籤",
|
|
78
|
+
"title-remove-filter": "移除篩選條件",
|
|
79
|
+
"value-select": {
|
|
80
|
+
"placeholder-select-value": "選擇值"
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
"data-source-variable": {
|
|
84
|
+
label: {
|
|
85
|
+
"default": "預設值"
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
"default-group-by-custom-indicator-container": {
|
|
89
|
+
"aria-label-clear": "清除",
|
|
90
|
+
tooltip: "在此儀表板中預設套用。如果編輯,它會轉移到其他儀表板。",
|
|
91
|
+
"tooltip-restore-groupby-set-by-this-dashboard": "還原此儀表板設定的分組依據。"
|
|
92
|
+
},
|
|
93
|
+
"format-registry": {
|
|
94
|
+
formats: {
|
|
95
|
+
description: {
|
|
96
|
+
"commaseparated-values": "逗點分隔的值",
|
|
97
|
+
"double-quoted-values": "帶雙引號的值",
|
|
98
|
+
"format-date-in-different-ways": "以不同方式格式化日期",
|
|
99
|
+
"format-multivalued-variables-using-syntax-example": "使用 glob 語法格式化多值變數,例如 {value1,value2}",
|
|
100
|
+
"html-escaping-of-values": "值的 HTML 轉義",
|
|
101
|
+
"json-stringify-value": "JSON 字串化值",
|
|
102
|
+
"keep-value-as-is": "按原樣保留值",
|
|
103
|
+
"multiple-values-are-formatted-like-variablevalue": "多個值按「變數=值」的方式格式化",
|
|
104
|
+
"single-quoted-values": "帶單引號的值",
|
|
105
|
+
"useful-escaping-values-taking-syntax-characters": "對 URL 轉義值很有用,需考慮 URI 語法字元",
|
|
106
|
+
"useful-for-url-escaping-values": "對 URL 轉義值很有用",
|
|
107
|
+
"values-are-separated-by-character": "值以 | 字元分隔"
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
"group-by-variable-renderer": {
|
|
112
|
+
"aria-label-group-by-selector": "按選取器分組",
|
|
113
|
+
"placeholder-group-by-label": "按標籤分組"
|
|
114
|
+
},
|
|
115
|
+
"interval-variable": {
|
|
116
|
+
"placeholder-select-value": "選擇值"
|
|
117
|
+
},
|
|
118
|
+
"loading-options-placeholder": {
|
|
119
|
+
"loading-options": "正在載入選項…"
|
|
120
|
+
},
|
|
121
|
+
"multi-value-apply-button": {
|
|
122
|
+
apply: "套用"
|
|
123
|
+
},
|
|
124
|
+
"no-options-placeholder": {
|
|
125
|
+
"no-options-found": "未找到選項"
|
|
126
|
+
},
|
|
127
|
+
"options-error-placeholder": {
|
|
128
|
+
"error-occurred-fetching-labels-click-retry": "擷取標籤時發生錯誤。點選以重試"
|
|
129
|
+
},
|
|
130
|
+
"test-object-with-variable-dependency": {
|
|
131
|
+
title: {
|
|
132
|
+
hello: "您好"
|
|
133
|
+
}
|
|
134
|
+
},
|
|
135
|
+
"test-variable": {
|
|
136
|
+
text: {
|
|
137
|
+
text: "文字"
|
|
138
|
+
}
|
|
139
|
+
},
|
|
140
|
+
"variable-value-input": {
|
|
141
|
+
"placeholder-enter-value": "輸入值"
|
|
142
|
+
},
|
|
143
|
+
"variable-value-select": {
|
|
144
|
+
"placeholder-select-value": "選擇值"
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
};
|
|
149
|
+
|
|
150
|
+
export { grafanaScenes as default };
|
|
151
|
+
//# sourceMappingURL=grafana-scenes.json.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grafana-scenes.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -2,7 +2,25 @@ import { LANGUAGES } from '@grafana/i18n';
|
|
|
2
2
|
|
|
3
3
|
function __variableDynamicImportRuntime0__(path) {
|
|
4
4
|
switch (path) {
|
|
5
|
+
case '../locales/cs-CZ/grafana-scenes.json': return import('../locales/cs-CZ/grafana-scenes.json.js');
|
|
6
|
+
case '../locales/de-DE/grafana-scenes.json': return import('../locales/de-DE/grafana-scenes.json.js');
|
|
5
7
|
case '../locales/en-US/grafana-scenes.json': return import('../locales/en-US/grafana-scenes.json.js');
|
|
8
|
+
case '../locales/es-ES/grafana-scenes.json': return import('../locales/es-ES/grafana-scenes.json.js');
|
|
9
|
+
case '../locales/fr-FR/grafana-scenes.json': return import('../locales/fr-FR/grafana-scenes.json.js');
|
|
10
|
+
case '../locales/hu-HU/grafana-scenes.json': return import('../locales/hu-HU/grafana-scenes.json.js');
|
|
11
|
+
case '../locales/id-ID/grafana-scenes.json': return import('../locales/id-ID/grafana-scenes.json.js');
|
|
12
|
+
case '../locales/it-IT/grafana-scenes.json': return import('../locales/it-IT/grafana-scenes.json.js');
|
|
13
|
+
case '../locales/ja-JP/grafana-scenes.json': return import('../locales/ja-JP/grafana-scenes.json.js');
|
|
14
|
+
case '../locales/ko-KR/grafana-scenes.json': return import('../locales/ko-KR/grafana-scenes.json.js');
|
|
15
|
+
case '../locales/nl-NL/grafana-scenes.json': return import('../locales/nl-NL/grafana-scenes.json.js');
|
|
16
|
+
case '../locales/pl-PL/grafana-scenes.json': return import('../locales/pl-PL/grafana-scenes.json.js');
|
|
17
|
+
case '../locales/pt-BR/grafana-scenes.json': return import('../locales/pt-BR/grafana-scenes.json.js');
|
|
18
|
+
case '../locales/pt-PT/grafana-scenes.json': return import('../locales/pt-PT/grafana-scenes.json.js');
|
|
19
|
+
case '../locales/ru-RU/grafana-scenes.json': return import('../locales/ru-RU/grafana-scenes.json.js');
|
|
20
|
+
case '../locales/sv-SE/grafana-scenes.json': return import('../locales/sv-SE/grafana-scenes.json.js');
|
|
21
|
+
case '../locales/tr-TR/grafana-scenes.json': return import('../locales/tr-TR/grafana-scenes.json.js');
|
|
22
|
+
case '../locales/zh-Hans/grafana-scenes.json': return import('../locales/zh-Hans/grafana-scenes.json.js');
|
|
23
|
+
case '../locales/zh-Hant/grafana-scenes.json': return import('../locales/zh-Hant/grafana-scenes.json.js');
|
|
6
24
|
default: return new Promise(function(resolve, reject) {
|
|
7
25
|
(typeof queueMicrotask === 'function' ? queueMicrotask : setTimeout)(
|
|
8
26
|
reject.bind(null, new Error("Unknown variable dynamic import: " + path))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadResources.js","sources":["../../../src/utils/loadResources.ts"],"sourcesContent":["import { LANGUAGES, ResourceLoader, Resources } from '@grafana/i18n';\n\nconst resources = LANGUAGES.reduce<Record<string, () => Promise<{ default: Resources }>>>((acc, lang) => {\n acc[lang.code] = async () => await import(`../locales/${lang.code}/grafana-scenes.json`);\n return acc;\n}, {});\n\n/**\n * Loads the translation resources for the given language and returns them.\n */\nexport const loadResources: ResourceLoader = async (resolvedLanguage: string) => {\n const translation = await resources[resolvedLanguage]();\n return translation.default;\n};\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"loadResources.js","sources":["../../../src/utils/loadResources.ts"],"sourcesContent":["import { LANGUAGES, ResourceLoader, Resources } from '@grafana/i18n';\n\nconst resources = LANGUAGES.reduce<Record<string, () => Promise<{ default: Resources }>>>((acc, lang) => {\n acc[lang.code] = async () => await import(`../locales/${lang.code}/grafana-scenes.json`);\n return acc;\n}, {});\n\n/**\n * Loads the translation resources for the given language and returns them.\n */\nexport const loadResources: ResourceLoader = async (resolvedLanguage: string) => {\n const translation = await resources[resolvedLanguage]();\n return translation.default;\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,MAAM,SAAY,GAAA,SAAA,CAAU,MAA8D,CAAA,CAAC,KAAK,IAAS,KAAA;AACvG,EAAI,GAAA,CAAA,IAAA,CAAK,IAAI,CAAI,GAAA,YAAY,MAAM,iCAAO,CAAA,CAAA,WAAA,EAAc,KAAK,IAAI,CAAA,oBAAA,CAAA,CAAA;AACjE,EAAO,OAAA,GAAA;AACT,CAAA,EAAG,EAAE,CAAA;AAKQ,MAAA,aAAA,GAAgC,OAAO,gBAA6B,KAAA;AAC/E,EAAA,MAAM,WAAc,GAAA,MAAM,SAAU,CAAA,gBAAgB,CAAE,EAAA;AACtD,EAAA,OAAO,WAAY,CAAA,OAAA;AACrB;;;;"}
|
|
@@ -7,7 +7,7 @@ import { t } from '@grafana/i18n';
|
|
|
7
7
|
|
|
8
8
|
const LABEL_MAX_VISIBLE_LENGTH = 20;
|
|
9
9
|
function AdHocFilterPill({ filter, model, readOnly, focusOnWipInputRef }) {
|
|
10
|
-
var _a, _b, _c;
|
|
10
|
+
var _a, _b, _c, _d;
|
|
11
11
|
const styles = useStyles2(getStyles);
|
|
12
12
|
const [viewMode, setViewMode] = useState(true);
|
|
13
13
|
const [shouldFocusOnPillWrapper, setShouldFocusOnPillWrapper] = useState(false);
|
|
@@ -62,6 +62,7 @@ function AdHocFilterPill({ filter, model, readOnly, focusOnWipInputRef }) {
|
|
|
62
62
|
};
|
|
63
63
|
}
|
|
64
64
|
};
|
|
65
|
+
const cleanFilter = !filter.restorable && !filter.readOnly && !filter.nonApplicable;
|
|
65
66
|
if (viewMode) {
|
|
66
67
|
const pillTextContent = `${keyLabel} ${filter.operator} ${valueLabel}`;
|
|
67
68
|
const pillText = /* @__PURE__ */ React.createElement("span", { className: cx(styles.pillText, filter.nonApplicable && styles.strikethrough) }, pillTextContent);
|
|
@@ -143,7 +144,7 @@ function AdHocFilterPill({ filter, model, readOnly, focusOnWipInputRef }) {
|
|
|
143
144
|
},
|
|
144
145
|
/* @__PURE__ */ React.createElement(Icon, { name: "lock", size: "md", className: styles.readOnlyPillIcon })
|
|
145
146
|
),
|
|
146
|
-
filter.origin &&
|
|
147
|
+
filter.origin && cleanFilter && /* @__PURE__ */ React.createElement(Tooltip, { content: getOriginFilterTooltips(filter.origin).info, placement: "bottom" }, /* @__PURE__ */ React.createElement(Icon, { name: "info-circle", size: "md", className: styles.infoPillIcon })),
|
|
147
148
|
filter.origin && filter.restorable && !filter.readOnly && /* @__PURE__ */ React.createElement(
|
|
148
149
|
IconButton,
|
|
149
150
|
{
|
|
@@ -163,6 +164,14 @@ function AdHocFilterPill({ filter, model, readOnly, focusOnWipInputRef }) {
|
|
|
163
164
|
className: isMatchAllFilter(filter) ? styles.matchAllPillIcon : styles.pillIcon,
|
|
164
165
|
tooltip: getOriginFilterTooltips(filter.origin).restore
|
|
165
166
|
}
|
|
167
|
+
),
|
|
168
|
+
filter.nonApplicable && /* @__PURE__ */ React.createElement(
|
|
169
|
+
Tooltip,
|
|
170
|
+
{
|
|
171
|
+
content: (_d = filter.nonApplicableReason) != null ? _d : t("grafana-scenes.components.adhoc-filter-pill.non-applicable", "Filter is not applicable"),
|
|
172
|
+
placement: "bottom"
|
|
173
|
+
},
|
|
174
|
+
/* @__PURE__ */ React.createElement(Icon, { name: "info-circle", size: "md", className: styles.infoPillIcon })
|
|
166
175
|
)
|
|
167
176
|
);
|
|
168
177
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdHocFilterPill.js","sources":["../../../../../src/variables/adhoc/AdHocFiltersCombobox/AdHocFilterPill.tsx"],"sourcesContent":["import { css, cx } from '@emotion/css';\nimport { GrafanaTheme2 } from '@grafana/data';\nimport { useStyles2, IconButton, Tooltip, Icon } from '@grafana/ui';\nimport React, { useState, useRef, useCallback, useEffect } from 'react';\nimport { AdHocCombobox } from './AdHocFiltersCombobox';\nimport { AdHocFilterWithLabels, AdHocFiltersVariable, FilterOrigin, isMatchAllFilter } from '../AdHocFiltersVariable';\nimport { t } from '@grafana/i18n';\n\nconst LABEL_MAX_VISIBLE_LENGTH = 20;\n\ninterface Props {\n filter: AdHocFilterWithLabels;\n model: AdHocFiltersVariable;\n readOnly?: boolean;\n focusOnWipInputRef?: () => void;\n}\n\nexport function AdHocFilterPill({ filter, model, readOnly, focusOnWipInputRef }: Props) {\n const styles = useStyles2(getStyles);\n const [viewMode, setViewMode] = useState(true);\n const [shouldFocusOnPillWrapper, setShouldFocusOnPillWrapper] = useState(false);\n const pillWrapperRef = useRef<HTMLDivElement>(null);\n const [populateInputOnEdit, setPopulateInputOnEdit] = useState(false);\n\n const keyLabel = filter.keyLabel ?? filter.key;\n const valueLabel = filter.valueLabels?.join(', ') || filter.values?.join(', ') || filter.value;\n\n const handleChangeViewMode = useCallback(\n (event?: React.MouseEvent, shouldFocusOnPillWrapperOverride?: boolean) => {\n event?.stopPropagation();\n if (readOnly) {\n return;\n }\n\n setShouldFocusOnPillWrapper(shouldFocusOnPillWrapperOverride ?? !viewMode);\n setViewMode(!viewMode);\n },\n [readOnly, viewMode]\n );\n\n useEffect(() => {\n if (shouldFocusOnPillWrapper) {\n pillWrapperRef.current?.focus();\n setShouldFocusOnPillWrapper(false);\n }\n }, [shouldFocusOnPillWrapper]);\n\n // set viewMode to false when filter.forceEdit is defined\n useEffect(() => {\n if (filter.forceEdit && viewMode) {\n setViewMode(false);\n // immediately set forceEdit back to undefined as a clean up\n model._updateFilter(filter, { forceEdit: undefined });\n }\n }, [filter, model, viewMode]);\n\n // reset populateInputOnEdit when pill goes into view mode\n useEffect(() => {\n if (viewMode) {\n setPopulateInputOnEdit((prevValue) => (prevValue ? false : prevValue));\n }\n }, [viewMode]);\n\n const getOriginFilterTooltips = (origin: FilterOrigin): { info: string; restore: string } => {\n if (origin === 'dashboard') {\n return {\n info: 'Applied by default in this dashboard. If edited, it carries over to other dashboards.',\n restore: 'Restore the value set by this dashboard.',\n };\n } else if (origin === 'scope') {\n return {\n info: 'Applied automatically from your selected scope.',\n restore: 'Restore the value set by your selected scope.',\n };\n } else {\n return {\n info: `This is a ${origin} injected filter.`,\n restore: `Restore filter to its original value.`,\n };\n }\n };\n\n if (viewMode) {\n const pillTextContent = `${keyLabel} ${filter.operator} ${valueLabel}`;\n const pillText = (\n <span className={cx(styles.pillText, filter.nonApplicable && styles.strikethrough)}>{pillTextContent}</span>\n );\n\n return (\n <div\n className={cx(\n styles.combinedFilterPill,\n readOnly && styles.readOnlyCombinedFilter,\n (isMatchAllFilter(filter) || filter.nonApplicable) && styles.disabledPill,\n filter.readOnly && styles.filterReadOnly\n )}\n onClick={(e) => {\n e.stopPropagation();\n setPopulateInputOnEdit(true);\n handleChangeViewMode();\n }}\n onKeyDown={(e) => {\n if (e.key === 'Enter') {\n setPopulateInputOnEdit(true);\n handleChangeViewMode();\n }\n }}\n role={readOnly ? undefined : 'button'}\n aria-label={t(\n 'grafana-scenes.components.adhoc-filter-pill.edit-filter-with-key',\n 'Edit filter with key {{keyLabel}}',\n {\n keyLabel,\n }\n )}\n tabIndex={0}\n ref={pillWrapperRef}\n >\n {pillTextContent.length < LABEL_MAX_VISIBLE_LENGTH ? (\n pillText\n ) : (\n <Tooltip content={<div className={styles.tooltipText}>{pillTextContent}</div>} placement=\"top\">\n {pillText}\n </Tooltip>\n )}\n\n {!readOnly && !filter.matchAllFilter && (!filter.origin || filter.origin === 'dashboard') ? (\n <IconButton\n onClick={(e) => {\n e.stopPropagation();\n if (filter.origin && filter.origin === 'dashboard') {\n model.updateToMatchAll(filter);\n } else {\n model._removeFilter(filter);\n }\n\n setTimeout(() => focusOnWipInputRef?.());\n }}\n onKeyDownCapture={(e) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n e.stopPropagation();\n if (filter.origin && filter.origin === 'dashboard') {\n model.updateToMatchAll(filter);\n } else {\n model._removeFilter(filter);\n }\n setTimeout(() => focusOnWipInputRef?.());\n }\n }}\n name=\"times\"\n size=\"md\"\n className={cx(styles.pillIcon, filter.nonApplicable && styles.disabledPillIcon)}\n tooltip={t(\n 'grafana-scenes.components.adhoc-filter-pill.remove-filter-with-key',\n 'Remove filter with key {{keyLabel}}',\n {\n keyLabel,\n }\n )}\n />\n ) : null}\n\n {filter.origin && filter.readOnly && (\n <Tooltip\n content={t('grafana-scenes.components.adhoc-filter-pill.managed-filter', '{{origin}} managed filter', {\n origin: filter.origin,\n })}\n placement={'bottom'}\n >\n <Icon name=\"lock\" size=\"md\" className={styles.readOnlyPillIcon} />\n </Tooltip>\n )}\n\n {filter.origin && !filter.restorable && !filter.readOnly && (\n <Tooltip content={getOriginFilterTooltips(filter.origin).info} placement={'bottom'}>\n <Icon name=\"info-circle\" size=\"md\" className={styles.infoPillIcon} />\n </Tooltip>\n )}\n\n {filter.origin && filter.restorable && !filter.readOnly && (\n <IconButton\n onClick={(e) => {\n e.stopPropagation();\n model.restoreOriginalFilter(filter);\n }}\n onKeyDownCapture={(e) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n e.stopPropagation();\n model.restoreOriginalFilter(filter);\n }\n }}\n name=\"history\"\n size=\"md\"\n className={isMatchAllFilter(filter) ? styles.matchAllPillIcon : styles.pillIcon}\n tooltip={getOriginFilterTooltips(filter.origin).restore}\n />\n )}\n </div>\n );\n }\n\n return (\n <AdHocCombobox\n filter={filter}\n model={model}\n handleChangeViewMode={handleChangeViewMode}\n focusOnWipInputRef={focusOnWipInputRef}\n populateInputOnEdit={populateInputOnEdit}\n />\n );\n}\n\nconst getStyles = (theme: GrafanaTheme2) => ({\n combinedFilterPill: css({\n display: 'flex',\n alignItems: 'center',\n background: theme.colors.action.selected,\n borderRadius: theme.shape.radius.default,\n border: `1px solid ${theme.colors.border.weak}`,\n padding: theme.spacing(0.125, 0, 0.125, 1),\n color: theme.colors.text.primary,\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n minHeight: theme.spacing(2.75),\n ...theme.typography.bodySmall,\n fontWeight: theme.typography.fontWeightBold,\n cursor: 'pointer',\n\n '&:hover': {\n background: theme.colors.action.hover,\n },\n }),\n readOnlyCombinedFilter: css({\n paddingRight: theme.spacing(1),\n cursor: 'text',\n '&:hover': {\n background: theme.colors.action.selected,\n },\n }),\n filterReadOnly: css({\n background: theme.colors.background.canvas,\n cursor: 'text',\n '&:hover': {\n background: theme.colors.background.canvas,\n },\n }),\n pillIcon: css({\n marginInline: theme.spacing(0.5),\n cursor: 'pointer',\n '&:hover': {\n color: theme.colors.text.primary,\n },\n }),\n pillText: css({\n maxWidth: '200px',\n width: '100%',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n }),\n tooltipText: css({\n textAlign: 'center',\n }),\n infoPillIcon: css({\n marginInline: theme.spacing(0.5),\n cursor: 'pointer',\n }),\n readOnlyPillIcon: css({\n marginInline: theme.spacing(0.5),\n }),\n matchAllPillIcon: css({\n marginInline: theme.spacing(0.5),\n cursor: 'pointer',\n color: theme.colors.text.disabled,\n }),\n disabledPillIcon: css({\n marginInline: theme.spacing(0.5),\n cursor: 'pointer',\n color: theme.colors.text.disabled,\n '&:hover': {\n color: theme.colors.text.disabled,\n },\n }),\n disabledPill: css({\n background: theme.colors.action.selected,\n color: theme.colors.text.disabled,\n border: 0,\n '&:hover': {\n background: theme.colors.action.selected,\n },\n }),\n strikethrough: css({\n textDecoration: 'line-through',\n }),\n});\n"],"names":["_a"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AdHocFilterPill.js","sources":["../../../../../src/variables/adhoc/AdHocFiltersCombobox/AdHocFilterPill.tsx"],"sourcesContent":["import { css, cx } from '@emotion/css';\nimport { GrafanaTheme2 } from '@grafana/data';\nimport { useStyles2, IconButton, Tooltip, Icon } from '@grafana/ui';\nimport React, { useState, useRef, useCallback, useEffect } from 'react';\nimport { AdHocCombobox } from './AdHocFiltersCombobox';\nimport { AdHocFilterWithLabels, AdHocFiltersVariable, FilterOrigin, isMatchAllFilter } from '../AdHocFiltersVariable';\nimport { t } from '@grafana/i18n';\n\nconst LABEL_MAX_VISIBLE_LENGTH = 20;\n\ninterface Props {\n filter: AdHocFilterWithLabels;\n model: AdHocFiltersVariable;\n readOnly?: boolean;\n focusOnWipInputRef?: () => void;\n}\n\nexport function AdHocFilterPill({ filter, model, readOnly, focusOnWipInputRef }: Props) {\n const styles = useStyles2(getStyles);\n const [viewMode, setViewMode] = useState(true);\n const [shouldFocusOnPillWrapper, setShouldFocusOnPillWrapper] = useState(false);\n const pillWrapperRef = useRef<HTMLDivElement>(null);\n const [populateInputOnEdit, setPopulateInputOnEdit] = useState(false);\n\n const keyLabel = filter.keyLabel ?? filter.key;\n const valueLabel = filter.valueLabels?.join(', ') || filter.values?.join(', ') || filter.value;\n\n const handleChangeViewMode = useCallback(\n (event?: React.MouseEvent, shouldFocusOnPillWrapperOverride?: boolean) => {\n event?.stopPropagation();\n if (readOnly) {\n return;\n }\n\n setShouldFocusOnPillWrapper(shouldFocusOnPillWrapperOverride ?? !viewMode);\n setViewMode(!viewMode);\n },\n [readOnly, viewMode]\n );\n\n useEffect(() => {\n if (shouldFocusOnPillWrapper) {\n pillWrapperRef.current?.focus();\n setShouldFocusOnPillWrapper(false);\n }\n }, [shouldFocusOnPillWrapper]);\n\n // set viewMode to false when filter.forceEdit is defined\n useEffect(() => {\n if (filter.forceEdit && viewMode) {\n setViewMode(false);\n // immediately set forceEdit back to undefined as a clean up\n model._updateFilter(filter, { forceEdit: undefined });\n }\n }, [filter, model, viewMode]);\n\n // reset populateInputOnEdit when pill goes into view mode\n useEffect(() => {\n if (viewMode) {\n setPopulateInputOnEdit((prevValue) => (prevValue ? false : prevValue));\n }\n }, [viewMode]);\n\n const getOriginFilterTooltips = (origin: FilterOrigin): { info: string; restore: string } => {\n if (origin === 'dashboard') {\n return {\n info: 'Applied by default in this dashboard. If edited, it carries over to other dashboards.',\n restore: 'Restore the value set by this dashboard.',\n };\n } else if (origin === 'scope') {\n return {\n info: 'Applied automatically from your selected scope.',\n restore: 'Restore the value set by your selected scope.',\n };\n } else {\n return {\n info: `This is a ${origin} injected filter.`,\n restore: `Restore filter to its original value.`,\n };\n }\n };\n\n // filters that are in a clean, original state that are applicable and not readonly\n const cleanFilter = !filter.restorable && !filter.readOnly && !filter.nonApplicable;\n\n if (viewMode) {\n const pillTextContent = `${keyLabel} ${filter.operator} ${valueLabel}`;\n const pillText = (\n <span className={cx(styles.pillText, filter.nonApplicable && styles.strikethrough)}>{pillTextContent}</span>\n );\n\n return (\n <div\n className={cx(\n styles.combinedFilterPill,\n readOnly && styles.readOnlyCombinedFilter,\n (isMatchAllFilter(filter) || filter.nonApplicable) && styles.disabledPill,\n filter.readOnly && styles.filterReadOnly\n )}\n onClick={(e) => {\n e.stopPropagation();\n setPopulateInputOnEdit(true);\n handleChangeViewMode();\n }}\n onKeyDown={(e) => {\n if (e.key === 'Enter') {\n setPopulateInputOnEdit(true);\n handleChangeViewMode();\n }\n }}\n role={readOnly ? undefined : 'button'}\n aria-label={t(\n 'grafana-scenes.components.adhoc-filter-pill.edit-filter-with-key',\n 'Edit filter with key {{keyLabel}}',\n {\n keyLabel,\n }\n )}\n tabIndex={0}\n ref={pillWrapperRef}\n >\n {pillTextContent.length < LABEL_MAX_VISIBLE_LENGTH ? (\n pillText\n ) : (\n <Tooltip content={<div className={styles.tooltipText}>{pillTextContent}</div>} placement=\"top\">\n {pillText}\n </Tooltip>\n )}\n\n {!readOnly && !filter.matchAllFilter && (!filter.origin || filter.origin === 'dashboard') ? (\n <IconButton\n onClick={(e) => {\n e.stopPropagation();\n if (filter.origin && filter.origin === 'dashboard') {\n model.updateToMatchAll(filter);\n } else {\n model._removeFilter(filter);\n }\n\n setTimeout(() => focusOnWipInputRef?.());\n }}\n onKeyDownCapture={(e) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n e.stopPropagation();\n if (filter.origin && filter.origin === 'dashboard') {\n model.updateToMatchAll(filter);\n } else {\n model._removeFilter(filter);\n }\n setTimeout(() => focusOnWipInputRef?.());\n }\n }}\n name=\"times\"\n size=\"md\"\n className={cx(styles.pillIcon, filter.nonApplicable && styles.disabledPillIcon)}\n tooltip={t(\n 'grafana-scenes.components.adhoc-filter-pill.remove-filter-with-key',\n 'Remove filter with key {{keyLabel}}',\n {\n keyLabel,\n }\n )}\n />\n ) : null}\n\n {filter.origin && filter.readOnly && (\n <Tooltip\n content={t('grafana-scenes.components.adhoc-filter-pill.managed-filter', '{{origin}} managed filter', {\n origin: filter.origin,\n })}\n placement={'bottom'}\n >\n <Icon name=\"lock\" size=\"md\" className={styles.readOnlyPillIcon} />\n </Tooltip>\n )}\n\n {filter.origin && cleanFilter && (\n <Tooltip content={getOriginFilterTooltips(filter.origin).info} placement={'bottom'}>\n <Icon name=\"info-circle\" size=\"md\" className={styles.infoPillIcon} />\n </Tooltip>\n )}\n\n {filter.origin && filter.restorable && !filter.readOnly && (\n <IconButton\n onClick={(e) => {\n e.stopPropagation();\n model.restoreOriginalFilter(filter);\n }}\n onKeyDownCapture={(e) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n e.stopPropagation();\n model.restoreOriginalFilter(filter);\n }\n }}\n name=\"history\"\n size=\"md\"\n className={isMatchAllFilter(filter) ? styles.matchAllPillIcon : styles.pillIcon}\n tooltip={getOriginFilterTooltips(filter.origin).restore}\n />\n )}\n\n {filter.nonApplicable && (\n <Tooltip\n content={\n filter.nonApplicableReason ??\n t('grafana-scenes.components.adhoc-filter-pill.non-applicable', 'Filter is not applicable')\n }\n placement={'bottom'}\n >\n <Icon name=\"info-circle\" size=\"md\" className={styles.infoPillIcon} />\n </Tooltip>\n )}\n </div>\n );\n }\n\n return (\n <AdHocCombobox\n filter={filter}\n model={model}\n handleChangeViewMode={handleChangeViewMode}\n focusOnWipInputRef={focusOnWipInputRef}\n populateInputOnEdit={populateInputOnEdit}\n />\n );\n}\n\nconst getStyles = (theme: GrafanaTheme2) => ({\n combinedFilterPill: css({\n display: 'flex',\n alignItems: 'center',\n background: theme.colors.action.selected,\n borderRadius: theme.shape.radius.default,\n border: `1px solid ${theme.colors.border.weak}`,\n padding: theme.spacing(0.125, 0, 0.125, 1),\n color: theme.colors.text.primary,\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n minHeight: theme.spacing(2.75),\n ...theme.typography.bodySmall,\n fontWeight: theme.typography.fontWeightBold,\n cursor: 'pointer',\n\n '&:hover': {\n background: theme.colors.action.hover,\n },\n }),\n readOnlyCombinedFilter: css({\n paddingRight: theme.spacing(1),\n cursor: 'text',\n '&:hover': {\n background: theme.colors.action.selected,\n },\n }),\n filterReadOnly: css({\n background: theme.colors.background.canvas,\n cursor: 'text',\n '&:hover': {\n background: theme.colors.background.canvas,\n },\n }),\n pillIcon: css({\n marginInline: theme.spacing(0.5),\n cursor: 'pointer',\n '&:hover': {\n color: theme.colors.text.primary,\n },\n }),\n pillText: css({\n maxWidth: '200px',\n width: '100%',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n }),\n tooltipText: css({\n textAlign: 'center',\n }),\n infoPillIcon: css({\n marginInline: theme.spacing(0.5),\n cursor: 'pointer',\n }),\n readOnlyPillIcon: css({\n marginInline: theme.spacing(0.5),\n }),\n matchAllPillIcon: css({\n marginInline: theme.spacing(0.5),\n cursor: 'pointer',\n color: theme.colors.text.disabled,\n }),\n disabledPillIcon: css({\n marginInline: theme.spacing(0.5),\n cursor: 'pointer',\n color: theme.colors.text.disabled,\n '&:hover': {\n color: theme.colors.text.disabled,\n },\n }),\n disabledPill: css({\n background: theme.colors.action.selected,\n color: theme.colors.text.disabled,\n border: 0,\n '&:hover': {\n background: theme.colors.action.selected,\n },\n }),\n strikethrough: css({\n textDecoration: 'line-through',\n }),\n});\n"],"names":["_a"],"mappings":"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"}
|
|
@@ -81,7 +81,10 @@ class AdHocFiltersVariable extends SceneObjectBase {
|
|
|
81
81
|
});
|
|
82
82
|
this._urlSync = new AdHocFiltersVariableUrlSyncHandler(this);
|
|
83
83
|
this._activationHandler = () => {
|
|
84
|
-
this.
|
|
84
|
+
this._setStateWithFiltersApplicabilityCheck({
|
|
85
|
+
filters: this.state.filters,
|
|
86
|
+
originFilters: this.state.originFilters
|
|
87
|
+
});
|
|
85
88
|
return () => {
|
|
86
89
|
var _a;
|
|
87
90
|
(_a = this.state.originFilters) == null ? void 0 : _a.forEach((filter) => {
|
|
@@ -145,7 +148,10 @@ class AdHocFiltersVariable extends SceneObjectBase {
|
|
|
145
148
|
...editedScopeFilters.filter((filter) => scopeFilterKeys.includes(filter.key)),
|
|
146
149
|
...scopeFilters.filter((filter) => !editedScopeFilterKeys.includes(filter.key))
|
|
147
150
|
];
|
|
148
|
-
this.
|
|
151
|
+
this._setStateWithFiltersApplicabilityCheck({
|
|
152
|
+
filters: this.state.filters,
|
|
153
|
+
originFilters: [...finalFilters, ...remainingFilters]
|
|
154
|
+
});
|
|
149
155
|
this._prevScopes = scopes;
|
|
150
156
|
}
|
|
151
157
|
setState(update) {
|
|
@@ -226,7 +232,11 @@ class AdHocFiltersVariable extends SceneObjectBase {
|
|
|
226
232
|
}
|
|
227
233
|
if (filter === _wip) {
|
|
228
234
|
if ("value" in update && update["value"] !== "") {
|
|
229
|
-
this.
|
|
235
|
+
this._setStateWithFiltersApplicabilityCheck({
|
|
236
|
+
filters: [...filters, { ..._wip, ...update }],
|
|
237
|
+
originFilters: this.state.originFilters,
|
|
238
|
+
_wip: void 0
|
|
239
|
+
});
|
|
230
240
|
} else {
|
|
231
241
|
this.setState({ _wip: { ...filter, ...update } });
|
|
232
242
|
}
|
|
@@ -253,7 +263,10 @@ class AdHocFiltersVariable extends SceneObjectBase {
|
|
|
253
263
|
this.setState({ _wip: void 0 });
|
|
254
264
|
return;
|
|
255
265
|
}
|
|
256
|
-
this.
|
|
266
|
+
this._setStateWithFiltersApplicabilityCheck({
|
|
267
|
+
filters: this.state.filters.filter((f) => f !== filter),
|
|
268
|
+
originFilters: this.state.originFilters
|
|
269
|
+
});
|
|
257
270
|
}
|
|
258
271
|
_removeLastFilter() {
|
|
259
272
|
const filterToRemove = this.state.filters.at(-1);
|
|
@@ -309,46 +322,51 @@ class AdHocFiltersVariable extends SceneObjectBase {
|
|
|
309
322
|
});
|
|
310
323
|
}
|
|
311
324
|
}
|
|
312
|
-
async
|
|
313
|
-
var _a, _b
|
|
314
|
-
const filters = [...this.state.filters, ...(_a = this.state.originFilters) != null ? _a : []];
|
|
325
|
+
async _setStateWithFiltersApplicabilityCheck(update) {
|
|
326
|
+
var _a, _b;
|
|
315
327
|
const ds = await this._dataSourceSrv.get(this.state.datasource, this._scopedVars);
|
|
316
|
-
if (!ds || !ds.
|
|
317
|
-
|
|
328
|
+
if (!ds || !ds.getFiltersApplicability) {
|
|
329
|
+
this.setState(update);
|
|
330
|
+
return;
|
|
331
|
+
}
|
|
332
|
+
if (!update.filters) {
|
|
333
|
+
return;
|
|
318
334
|
}
|
|
319
335
|
const timeRange = sceneGraph.getTimeRange(this).state.value;
|
|
320
336
|
const queries = this.state.useQueriesAsFilterForOptions ? getQueriesForVariables(this) : void 0;
|
|
321
|
-
const response = await ds.
|
|
322
|
-
filters,
|
|
337
|
+
const response = await ds.getFiltersApplicability({
|
|
338
|
+
filters: [...update.filters, ...(_a = update.originFilters) != null ? _a : []],
|
|
323
339
|
queries,
|
|
324
340
|
timeRange,
|
|
325
341
|
scopes: sceneGraph.getScopes(this),
|
|
326
342
|
...getEnrichedFiltersRequest(this)
|
|
327
343
|
});
|
|
328
|
-
const
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
};
|
|
344
|
+
const responseMap = /* @__PURE__ */ new Map();
|
|
345
|
+
response.forEach((filter) => {
|
|
346
|
+
responseMap.set(`${filter.key}${filter.origin ? `-${filter.origin}` : ""}`, filter);
|
|
347
|
+
});
|
|
332
348
|
update.filters.forEach((f) => {
|
|
333
|
-
const
|
|
334
|
-
if (
|
|
335
|
-
f.nonApplicable =
|
|
349
|
+
const filter = responseMap.get(f.key);
|
|
350
|
+
if (filter) {
|
|
351
|
+
f.nonApplicable = !filter.applicable;
|
|
352
|
+
f.nonApplicableReason = filter.reason;
|
|
336
353
|
}
|
|
337
354
|
});
|
|
338
|
-
(
|
|
339
|
-
const
|
|
340
|
-
if (
|
|
355
|
+
(_b = update.originFilters) == null ? void 0 : _b.forEach((f) => {
|
|
356
|
+
const filter = responseMap.get(`${f.key}-${f.origin}`);
|
|
357
|
+
if (filter) {
|
|
341
358
|
if (!f.matchAllFilter) {
|
|
342
|
-
f.nonApplicable =
|
|
359
|
+
f.nonApplicable = !filter.applicable;
|
|
360
|
+
f.nonApplicableReason = filter.reason;
|
|
343
361
|
}
|
|
344
362
|
const originalValue = this._originalValues.get(`${f.key}-${f.origin}`);
|
|
345
363
|
if (originalValue) {
|
|
346
|
-
originalValue.nonApplicable =
|
|
364
|
+
originalValue.nonApplicable = !filter.applicable;
|
|
365
|
+
originalValue.nonApplicableReason = filter == null ? void 0 : filter.reason;
|
|
347
366
|
}
|
|
348
367
|
}
|
|
349
368
|
});
|
|
350
369
|
this.setState(update);
|
|
351
|
-
return;
|
|
352
370
|
}
|
|
353
371
|
/**
|
|
354
372
|
* Get possible keys given current filters. Do not call from plugins directly
|