@grafana/plugin-ui 0.1.10

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 (249) hide show
  1. package/README.md +45 -0
  2. package/dist/8x/fixtures/index.js +7 -0
  3. package/dist/8x/fixtures/index.js.map +1 -0
  4. package/dist/8x/fixtures/select.js +43 -0
  5. package/dist/8x/fixtures/select.js.map +1 -0
  6. package/dist/8x/index.js +5 -0
  7. package/dist/8x/index.js.map +1 -0
  8. package/dist/components/AsyncButtonCascader/AsyncButtonCascader.js +34 -0
  9. package/dist/components/AsyncButtonCascader/AsyncButtonCascader.js.map +1 -0
  10. package/dist/components/Cascader/Cascader.js +6 -0
  11. package/dist/components/Cascader/Cascader.js.map +1 -0
  12. package/dist/components/DataLinks/DataLink.js +79 -0
  13. package/dist/components/DataLinks/DataLink.js.map +1 -0
  14. package/dist/components/DataLinks/DataLinks.js +59 -0
  15. package/dist/components/DataLinks/DataLinks.js.map +1 -0
  16. package/dist/components/DataLinks/index.js +7 -0
  17. package/dist/components/DataLinks/index.js.map +1 -0
  18. package/dist/components/DataLinks/types.js +3 -0
  19. package/dist/components/DataLinks/types.js.map +1 -0
  20. package/dist/components/DataSourcePicker/DataSourcePicker.js +90 -0
  21. package/dist/components/DataSourcePicker/DataSourcePicker.js.map +1 -0
  22. package/dist/components/DatePicker/DatePicker.js +29 -0
  23. package/dist/components/DatePicker/DatePicker.js.map +1 -0
  24. package/dist/components/DatePicker/styles.js +156 -0
  25. package/dist/components/DatePicker/styles.js.map +1 -0
  26. package/dist/components/DatePickerWithInput/DatePickerWithInput.js +19 -0
  27. package/dist/components/DatePickerWithInput/DatePickerWithInput.js.map +1 -0
  28. package/dist/components/DatePickerWithInput/style.css +6 -0
  29. package/dist/components/DebounceInput/DebounceInput.js +17 -0
  30. package/dist/components/DebounceInput/DebounceInput.js.map +1 -0
  31. package/dist/components/Plugins/PluginSignatureBadge.js +65 -0
  32. package/dist/components/Plugins/PluginSignatureBadge.js.map +1 -0
  33. package/dist/components/QueryEditor/AccessoryButton.js +21 -0
  34. package/dist/components/QueryEditor/AccessoryButton.js.map +1 -0
  35. package/dist/components/QueryEditor/ConfirmModal.js +28 -0
  36. package/dist/components/QueryEditor/ConfirmModal.js.map +1 -0
  37. package/dist/components/QueryEditor/DatasetSelector.js +36 -0
  38. package/dist/components/QueryEditor/DatasetSelector.js.map +1 -0
  39. package/dist/components/QueryEditor/EditorField.js +51 -0
  40. package/dist/components/QueryEditor/EditorField.js.map +1 -0
  41. package/dist/components/QueryEditor/EditorFieldGroup.js +11 -0
  42. package/dist/components/QueryEditor/EditorFieldGroup.js.map +1 -0
  43. package/dist/components/QueryEditor/EditorHeader.js +23 -0
  44. package/dist/components/QueryEditor/EditorHeader.js.map +1 -0
  45. package/dist/components/QueryEditor/EditorList.js +28 -0
  46. package/dist/components/QueryEditor/EditorList.js.map +1 -0
  47. package/dist/components/QueryEditor/EditorRow.js +24 -0
  48. package/dist/components/QueryEditor/EditorRow.js.map +1 -0
  49. package/dist/components/QueryEditor/EditorRows.js +11 -0
  50. package/dist/components/QueryEditor/EditorRows.js.map +1 -0
  51. package/dist/components/QueryEditor/EditorSwitch.js +24 -0
  52. package/dist/components/QueryEditor/EditorSwitch.js.map +1 -0
  53. package/dist/components/QueryEditor/ErrorBoundary.js +23 -0
  54. package/dist/components/QueryEditor/ErrorBoundary.js.map +1 -0
  55. package/dist/components/QueryEditor/FlexItem.js +10 -0
  56. package/dist/components/QueryEditor/FlexItem.js.map +1 -0
  57. package/dist/components/QueryEditor/InlineSelect.js +60 -0
  58. package/dist/components/QueryEditor/InlineSelect.js.map +1 -0
  59. package/dist/components/QueryEditor/InputGroup.js +46 -0
  60. package/dist/components/QueryEditor/InputGroup.js.map +1 -0
  61. package/dist/components/QueryEditor/QueryEditor.js +73 -0
  62. package/dist/components/QueryEditor/QueryEditor.js.map +1 -0
  63. package/dist/components/QueryEditor/QueryHeader.js +92 -0
  64. package/dist/components/QueryEditor/QueryHeader.js.map +1 -0
  65. package/dist/components/QueryEditor/Space.js +36 -0
  66. package/dist/components/QueryEditor/Space.js.map +1 -0
  67. package/dist/components/QueryEditor/Stack.js +27 -0
  68. package/dist/components/QueryEditor/Stack.js.map +1 -0
  69. package/dist/components/QueryEditor/TableSelector.js +20 -0
  70. package/dist/components/QueryEditor/TableSelector.js.map +1 -0
  71. package/dist/components/QueryEditor/defaults.js +20 -0
  72. package/dist/components/QueryEditor/defaults.js.map +1 -0
  73. package/dist/components/QueryEditor/expressions.js +18 -0
  74. package/dist/components/QueryEditor/expressions.js.map +1 -0
  75. package/dist/components/QueryEditor/index.js +35 -0
  76. package/dist/components/QueryEditor/index.js.map +1 -0
  77. package/dist/components/QueryEditor/query-editor-raw/QueryEditorRaw.js +21 -0
  78. package/dist/components/QueryEditor/query-editor-raw/QueryEditorRaw.js.map +1 -0
  79. package/dist/components/QueryEditor/query-editor-raw/QueryToolbox.js +59 -0
  80. package/dist/components/QueryEditor/query-editor-raw/QueryToolbox.js.map +1 -0
  81. package/dist/components/QueryEditor/query-editor-raw/QueryValidator.js +79 -0
  82. package/dist/components/QueryEditor/query-editor-raw/QueryValidator.js.map +1 -0
  83. package/dist/components/QueryEditor/query-editor-raw/RawEditor.js +60 -0
  84. package/dist/components/QueryEditor/query-editor-raw/RawEditor.js.map +1 -0
  85. package/dist/components/QueryEditor/types.js +21 -0
  86. package/dist/components/QueryEditor/types.js.map +1 -0
  87. package/dist/components/QueryEditor/utils/formatSQL.js +13 -0
  88. package/dist/components/QueryEditor/utils/formatSQL.js.map +1 -0
  89. package/dist/components/QueryEditor/utils/sql.utils.js +94 -0
  90. package/dist/components/QueryEditor/utils/sql.utils.js.map +1 -0
  91. package/dist/components/QueryEditor/utils/useSqlChange.js +16 -0
  92. package/dist/components/QueryEditor/utils/useSqlChange.js.map +1 -0
  93. package/dist/components/QueryEditor/visual-query-builder/AwesomeQueryBuilder.js +109 -0
  94. package/dist/components/QueryEditor/visual-query-builder/AwesomeQueryBuilder.js.map +1 -0
  95. package/dist/components/QueryEditor/visual-query-builder/EditorField.js +51 -0
  96. package/dist/components/QueryEditor/visual-query-builder/EditorField.js.map +1 -0
  97. package/dist/components/QueryEditor/visual-query-builder/EditorRow.js +24 -0
  98. package/dist/components/QueryEditor/visual-query-builder/EditorRow.js.map +1 -0
  99. package/dist/components/QueryEditor/visual-query-builder/EditorRows.js +11 -0
  100. package/dist/components/QueryEditor/visual-query-builder/EditorRows.js.map +1 -0
  101. package/dist/components/QueryEditor/visual-query-builder/GroupByRow.js +33 -0
  102. package/dist/components/QueryEditor/visual-query-builder/GroupByRow.js.map +1 -0
  103. package/dist/components/QueryEditor/visual-query-builder/OrderByRow.js +50 -0
  104. package/dist/components/QueryEditor/visual-query-builder/OrderByRow.js.map +1 -0
  105. package/dist/components/QueryEditor/visual-query-builder/Preview.js +28 -0
  106. package/dist/components/QueryEditor/visual-query-builder/Preview.js.map +1 -0
  107. package/dist/components/QueryEditor/visual-query-builder/SQLGroupByRow.js +13 -0
  108. package/dist/components/QueryEditor/visual-query-builder/SQLGroupByRow.js.map +1 -0
  109. package/dist/components/QueryEditor/visual-query-builder/SQLOrderByRow.js +34 -0
  110. package/dist/components/QueryEditor/visual-query-builder/SQLOrderByRow.js.map +1 -0
  111. package/dist/components/QueryEditor/visual-query-builder/SQLSelectRow.js +19 -0
  112. package/dist/components/QueryEditor/visual-query-builder/SQLSelectRow.js.map +1 -0
  113. package/dist/components/QueryEditor/visual-query-builder/SQLWhereRow.js +35 -0
  114. package/dist/components/QueryEditor/visual-query-builder/SQLWhereRow.js.map +1 -0
  115. package/dist/components/QueryEditor/visual-query-builder/SelectRow.js +68 -0
  116. package/dist/components/QueryEditor/visual-query-builder/SelectRow.js.map +1 -0
  117. package/dist/components/QueryEditor/visual-query-builder/Stack.js +27 -0
  118. package/dist/components/QueryEditor/visual-query-builder/Stack.js.map +1 -0
  119. package/dist/components/QueryEditor/visual-query-builder/VisualEditor.js +38 -0
  120. package/dist/components/QueryEditor/visual-query-builder/VisualEditor.js.map +1 -0
  121. package/dist/components/QueryEditor/visual-query-builder/WhereRow.js +67 -0
  122. package/dist/components/QueryEditor/visual-query-builder/WhereRow.js.map +1 -0
  123. package/dist/components/QueryEditor/visual-query-builder/index.js +6 -0
  124. package/dist/components/QueryEditor/visual-query-builder/index.js.map +1 -0
  125. package/dist/components/QueryEditorRow/QueryEditorRow.js +17 -0
  126. package/dist/components/QueryEditorRow/QueryEditorRow.js.map +1 -0
  127. package/dist/components/Segment/Segment.js +18 -0
  128. package/dist/components/Segment/Segment.js.map +1 -0
  129. package/dist/components/index.js +25 -0
  130. package/dist/components/index.js.map +1 -0
  131. package/dist/datasource/SqlDatasource.js +161 -0
  132. package/dist/datasource/SqlDatasource.js.map +1 -0
  133. package/dist/datasource/constants.js +19 -0
  134. package/dist/datasource/constants.js.map +1 -0
  135. package/dist/hooks/useDebounce.js +19 -0
  136. package/dist/hooks/useDebounce.js.map +1 -0
  137. package/dist/index.js +19 -0
  138. package/dist/index.js.map +1 -0
  139. package/dist/src/8x/fixtures/index.d.ts +1 -0
  140. package/dist/src/8x/fixtures/select.d.ts +11 -0
  141. package/dist/src/8x/index.d.ts +1 -0
  142. package/dist/src/components/AsyncButtonCascader/AsyncButtonCascader.d.ts +18 -0
  143. package/dist/src/components/Cascader/Cascader.d.ts +1 -0
  144. package/dist/src/components/DataLinks/DataLink.d.ts +13 -0
  145. package/dist/src/components/DataLinks/DataLinks.d.ts +8 -0
  146. package/dist/src/components/DataLinks/index.d.ts +3 -0
  147. package/dist/src/components/DataLinks/types.d.ts +7 -0
  148. package/dist/src/components/DataSourcePicker/DataSourcePicker.d.ts +34 -0
  149. package/dist/src/components/DatePicker/DatePicker.d.ts +8 -0
  150. package/dist/src/components/DatePicker/styles.d.ts +11 -0
  151. package/dist/src/components/DatePickerWithInput/DatePickerWithInput.d.ts +9 -0
  152. package/dist/src/components/DebounceInput/DebounceInput.d.ts +8 -0
  153. package/dist/src/components/Plugins/PluginSignatureBadge.d.ts +9 -0
  154. package/dist/src/components/QueryEditor/AccessoryButton.d.ts +6 -0
  155. package/dist/src/components/QueryEditor/ConfirmModal.d.ts +9 -0
  156. package/dist/src/components/QueryEditor/DatasetSelector.d.ts +12 -0
  157. package/dist/src/components/QueryEditor/EditorField.d.ts +11 -0
  158. package/dist/src/components/QueryEditor/EditorFieldGroup.d.ts +5 -0
  159. package/dist/src/components/QueryEditor/EditorHeader.d.ts +5 -0
  160. package/dist/src/components/QueryEditor/EditorList.d.ts +8 -0
  161. package/dist/src/components/QueryEditor/EditorRow.d.ts +5 -0
  162. package/dist/src/components/QueryEditor/EditorRows.d.ts +5 -0
  163. package/dist/src/components/QueryEditor/EditorSwitch.d.ts +3 -0
  164. package/dist/src/components/QueryEditor/ErrorBoundary.d.ts +14 -0
  165. package/dist/src/components/QueryEditor/FlexItem.d.ts +7 -0
  166. package/dist/src/components/QueryEditor/InlineSelect.d.ts +7 -0
  167. package/dist/src/components/QueryEditor/InputGroup.d.ts +5 -0
  168. package/dist/src/components/QueryEditor/QueryEditor.d.ts +7 -0
  169. package/dist/src/components/QueryEditor/QueryHeader.d.ts +15 -0
  170. package/dist/src/components/QueryEditor/Space.d.ts +14 -0
  171. package/dist/src/components/QueryEditor/Stack.d.ts +9 -0
  172. package/dist/src/components/QueryEditor/TableSelector.d.ts +12 -0
  173. package/dist/src/components/QueryEditor/defaults.d.ts +3 -0
  174. package/dist/src/components/QueryEditor/expressions.d.ts +50 -0
  175. package/dist/src/components/QueryEditor/index.d.ts +16 -0
  176. package/dist/src/components/QueryEditor/query-editor-raw/QueryEditorRaw.d.ts +15 -0
  177. package/dist/src/components/QueryEditor/query-editor-raw/QueryToolbox.d.ts +11 -0
  178. package/dist/src/components/QueryEditor/query-editor-raw/QueryValidator.d.ts +10 -0
  179. package/dist/src/components/QueryEditor/query-editor-raw/RawEditor.d.ts +10 -0
  180. package/dist/src/components/QueryEditor/types.d.ts +149 -0
  181. package/dist/src/components/QueryEditor/utils/formatSQL.d.ts +1 -0
  182. package/dist/src/components/QueryEditor/utils/sql.utils.d.ts +13 -0
  183. package/dist/src/components/QueryEditor/utils/useSqlChange.d.ts +10 -0
  184. package/dist/src/components/QueryEditor/visual-query-builder/AwesomeQueryBuilder.d.ts +7 -0
  185. package/dist/src/components/QueryEditor/visual-query-builder/EditorField.d.ts +11 -0
  186. package/dist/src/components/QueryEditor/visual-query-builder/EditorRow.d.ts +5 -0
  187. package/dist/src/components/QueryEditor/visual-query-builder/EditorRows.d.ts +5 -0
  188. package/dist/src/components/QueryEditor/visual-query-builder/GroupByRow.d.ts +10 -0
  189. package/dist/src/components/QueryEditor/visual-query-builder/OrderByRow.d.ts +11 -0
  190. package/dist/src/components/QueryEditor/visual-query-builder/Preview.d.ts +6 -0
  191. package/dist/src/components/QueryEditor/visual-query-builder/SQLGroupByRow.d.ts +12 -0
  192. package/dist/src/components/QueryEditor/visual-query-builder/SQLOrderByRow.d.ts +12 -0
  193. package/dist/src/components/QueryEditor/visual-query-builder/SQLSelectRow.d.ts +12 -0
  194. package/dist/src/components/QueryEditor/visual-query-builder/SQLWhereRow.d.ts +12 -0
  195. package/dist/src/components/QueryEditor/visual-query-builder/SelectRow.d.ts +11 -0
  196. package/dist/src/components/QueryEditor/visual-query-builder/Stack.d.ts +9 -0
  197. package/dist/src/components/QueryEditor/visual-query-builder/VisualEditor.d.ts +14 -0
  198. package/dist/src/components/QueryEditor/visual-query-builder/WhereRow.d.ts +10 -0
  199. package/dist/src/components/QueryEditor/visual-query-builder/index.d.ts +1 -0
  200. package/dist/src/components/QueryEditorRow/QueryEditorRow.d.ts +8 -0
  201. package/dist/src/components/Segment/Segment.d.ts +8 -0
  202. package/dist/src/components/index.d.ts +11 -0
  203. package/dist/src/datasource/SqlDatasource.d.ts +64 -0
  204. package/dist/src/datasource/constants.d.ts +1 -0
  205. package/dist/src/hooks/useDebounce.d.ts +2 -0
  206. package/dist/src/index.d.ts +11 -0
  207. package/dist/src/test/mocks/DataQuery.d.ts +2 -0
  208. package/dist/src/test/mocks/Datasource.d.ts +4 -0
  209. package/dist/src/test/mocks/Plugin.d.ts +10 -0
  210. package/dist/src/test/mocks/QueryEditorProps.d.ts +4 -0
  211. package/dist/src/test/mocks/TestDatasource.d.ts +6 -0
  212. package/dist/src/test/mocks/index.d.ts +5 -0
  213. package/dist/src/test/mocks/style.d.ts +1 -0
  214. package/dist/src/test/mocks/utils.d.ts +18 -0
  215. package/dist/src/test/setupTests.d.ts +1 -0
  216. package/dist/src/unreleasedComponents/index.d.ts +1 -0
  217. package/dist/src/utils/compatFeatures.d.ts +9 -0
  218. package/dist/src/utils/compatibility.d.ts +12 -0
  219. package/dist/src/utils/index.d.ts +3 -0
  220. package/dist/src/utils/testDatasource.d.ts +19 -0
  221. package/dist/test/mocks/DataQuery.js +14 -0
  222. package/dist/test/mocks/DataQuery.js.map +1 -0
  223. package/dist/test/mocks/Datasource.js +73 -0
  224. package/dist/test/mocks/Datasource.js.map +1 -0
  225. package/dist/test/mocks/Plugin.js +114 -0
  226. package/dist/test/mocks/Plugin.js.map +1 -0
  227. package/dist/test/mocks/QueryEditorProps.js +47 -0
  228. package/dist/test/mocks/QueryEditorProps.js.map +1 -0
  229. package/dist/test/mocks/TestDatasource.js +24 -0
  230. package/dist/test/mocks/TestDatasource.js.map +1 -0
  231. package/dist/test/mocks/index.js +9 -0
  232. package/dist/test/mocks/index.js.map +1 -0
  233. package/dist/test/mocks/style.js +5 -0
  234. package/dist/test/mocks/style.js.map +1 -0
  235. package/dist/test/mocks/utils.js +48 -0
  236. package/dist/test/mocks/utils.js.map +1 -0
  237. package/dist/test/setupTests.js +17 -0
  238. package/dist/test/setupTests.js.map +1 -0
  239. package/dist/unreleasedComponents/index.js +3 -0
  240. package/dist/unreleasedComponents/index.js.map +1 -0
  241. package/dist/utils/compatFeatures.js +20 -0
  242. package/dist/utils/compatFeatures.js.map +1 -0
  243. package/dist/utils/compatibility.js +28 -0
  244. package/dist/utils/compatibility.js.map +1 -0
  245. package/dist/utils/index.js +8 -0
  246. package/dist/utils/index.js.map +1 -0
  247. package/dist/utils/testDatasource.js +30 -0
  248. package/dist/utils/testDatasource.js.map +1 -0
  249. package/package.json +62 -0
package/README.md ADDED
@@ -0,0 +1,45 @@
1
+ # plugin-ui
2
+
3
+ React components for Grafana plugins
4
+
5
+ ## Compatibility
6
+
7
+ There are situations when we require backwards compatibility with core Grafana and new features are only supported by newer versions.
8
+
9
+ To handle this, we've introduced the `compatibility.ts` file which contains a list of features and the versions they support for better maintainability.
10
+
11
+ ### Considerations
12
+
13
+ The way we are currently checking whether a feature is supported is by using the Grafana's [BuildInfo](https://grafana.com/docs/grafana/latest/packages_api/data/buildinfo/#version-property).
14
+
15
+ However, there are cases when this version [may be masked](https://grafana.com/docs/grafana/latest/packages_api/data/buildinfo/#hideversion-property) from plugins.
16
+
17
+ Only anonymous users (with read-only access) will be able to have their versions hidden, so this should be taken into consideration when deciding whether we should be adding a new feature to our compatibility list.
18
+
19
+ ## Unreleased Components
20
+
21
+ Sometimes we may want improvements/updates of `@grafana/ui` components but we don't want to update the minimum required versions of Grafana in our plugins and continue supporting older versions.
22
+
23
+ To work around this, we can import and export the version of the component we want from `@grafana/ui` in this project. Plugins can then use the component exported from here rather than `@grafana/ui`.
24
+
25
+ If updates to a component in `@grafana/ui` are available in `master` but not a Grafana release yet, we can copy the components directly into `unreleasedComponents` to be used in plugins.
26
+
27
+ Alternatively, we could use the `@grafana/ui: canary` version instead. However, there are the following tradeoffs:
28
+
29
+ - Multiple `canary` versions will be released in-between `@grafana/ui` releases
30
+
31
+ - This means in-between these release cycles where the component changes aren't available in a package version, the `yarn.lock` file will need to be updated for every change we make in this project
32
+
33
+ - `canary` versions include `@grafana/ui: master` branch
34
+ - This means component changes in the `master` branch which aren't scheduled for the next major release will be included in the `canary` package.
35
+ - For example, we have changes in `<ComponentA />` that won't be released until `v7.5.x` and `<ComponentB />` has changes which are intended to be released for `v7.6`. Using `canary` of `@grafana/ui` will expose the `<ComponentB />` major updates too, which we do not want.
36
+
37
+ Once a `@grafana/ui` package is then released and available with the component updates, we can remove the component from this folder and export the imported version from the new `@grafana/ui` package instead.
38
+
39
+ This means any component in `unreleasedComponents` should not be modified - they should stay in sync with what is in `@grafana/ui` (besides changes in imports or stories) and removed from this project as soon as we can replace it with an actual package version.
40
+
41
+ ## Storybook
42
+
43
+ ```
44
+ yarn storybook
45
+ ```
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateOptions = exports.selectOption = void 0;
4
+ var select_1 = require("./select");
5
+ Object.defineProperty(exports, "selectOption", { enumerable: true, get: function () { return select_1.selectOption; } });
6
+ Object.defineProperty(exports, "generateOptions", { enumerable: true, get: function () { return select_1.generateOptions; } });
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/8x/fixtures/index.ts"],"names":[],"mappings":";;;AAAA,mCAAyD;AAAhD,sGAAA,YAAY,OAAA;AAAE,yGAAA,eAAe,OAAA"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.selectOption = exports.generateOptions = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const react_1 = require("@testing-library/react");
6
+ const user_event_1 = tslib_1.__importDefault(require("@testing-library/user-event"));
7
+ const chance_1 = require("chance");
8
+ const lodash_1 = require("lodash");
9
+ const generateOptions = () => {
10
+ const numberOfOptions = 5;
11
+ return Array.from(new Array(numberOfOptions), () => {
12
+ const name = (0, chance_1.Chance)().name();
13
+ return {
14
+ label: name,
15
+ value: (0, lodash_1.kebabCase)(name),
16
+ };
17
+ });
18
+ };
19
+ exports.generateOptions = generateOptions;
20
+ /**
21
+ * react-select (used by @grafana/ui) renders very differently from the native Select HTML element
22
+ * and because they do not pass data-testid down, it is difficult to grab the
23
+ * correct element and simulate selecting different options
24
+ * created a helper function to click and select a different option manually
25
+ * @param optionLabel
26
+ * @param index If there are multiple inputs and you don't want the first one taken, then pass in the index
27
+ */
28
+ const selectOption = (optionLabel, index, role) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
29
+ role = role || 'combobox';
30
+ // this needs to be here to support autoFocus=true prop
31
+ react_1.fireEvent.blur(react_1.screen.getAllByRole(role)[index || 0]);
32
+ // open the dropdown
33
+ react_1.fireEvent.keyDown(react_1.screen.getAllByRole(role)[index || 0], {
34
+ key: 'ArrowDown',
35
+ keyCode: 40,
36
+ });
37
+ // wait for the list to show
38
+ const option = yield (0, react_1.waitFor)(() => react_1.screen.getByText(optionLabel));
39
+ // select the option
40
+ user_event_1.default.click(option);
41
+ });
42
+ exports.selectOption = selectOption;
43
+ //# sourceMappingURL=select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select.js","sourceRoot":"","sources":["../../../src/8x/fixtures/select.ts"],"names":[],"mappings":";;;;AACA,kDAAoE;AACpE,qFAAoD;AACpD,mCAAgC;AAChC,mCAAmC;AAE5B,MAAM,eAAe,GAAG,GAAmC,EAAE;IAClE,MAAM,eAAe,GAAG,CAAC,CAAC;IAE1B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,EAAE,GAAG,EAAE;QACjD,MAAM,IAAI,GAAG,IAAA,eAAM,GAAE,CAAC,IAAI,EAAE,CAAC;QAE7B,OAAO;YACL,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,IAAA,kBAAS,EAAC,IAAI,CAAC;SACvB,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAXW,QAAA,eAAe,mBAW1B;AAEF;;;;;;;GAOG;AACI,MAAM,YAAY,GAAG,CAAO,WAAmB,EAAE,KAAc,EAAE,IAAa,EAAE,EAAE;IACvF,IAAI,GAAG,IAAI,IAAI,UAAU,CAAC;IAC1B,uDAAuD;IACvD,iBAAS,CAAC,IAAI,CAAC,cAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;IAEtD,oBAAoB;IACpB,iBAAS,CAAC,OAAO,CAAC,cAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE;QACvD,GAAG,EAAE,WAAW;QAChB,OAAO,EAAE,EAAE;KACZ,CAAC,CAAC;IAEH,4BAA4B;IAC5B,MAAM,MAAM,GAAG,MAAM,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,cAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;IAElE,oBAAoB;IACpB,oBAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC1B,CAAC,CAAA,CAAC;AAhBW,QAAA,YAAY,gBAgBvB"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./fixtures"), exports);
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/8x/index.ts"],"names":[],"mappings":";;;AAAA,qDAA2B"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AsyncButtonCascader = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const react_1 = tslib_1.__importDefault(require("react"));
6
+ const ui_1 = require("@grafana/ui");
7
+ const css_1 = require("@emotion/css");
8
+ // @ts-ignore
9
+ const rc_cascader_1 = tslib_1.__importDefault(require("rc-cascader"));
10
+ const ui_2 = require("@grafana/ui");
11
+ const getStyles = ((theme) => {
12
+ return {
13
+ popup: (0, css_1.css) `
14
+ label: popup;
15
+ z-index: ${theme.zIndex.dropdown};
16
+ `,
17
+ icon: (0, css_1.css) `
18
+ margin: 1px 0 0 4px;
19
+ `,
20
+ };
21
+ });
22
+ const AsyncButtonCascader = props => {
23
+ const { onChange, className, loadData } = props, rest = tslib_1.__rest(props, ["onChange", "className", "loadData"]);
24
+ const theme = (0, ui_2.useTheme2)();
25
+ const styles = getStyles(theme);
26
+ return (react_1.default.createElement(rc_cascader_1.default, Object.assign({ onChange: onChange, loadData: loadData, changeOnSelect: true, popupClassName: styles.popup }, rest, { expandIcon: null }),
27
+ react_1.default.createElement("button", { className: (0, css_1.cx)('gf-form-label', className), disabled: props.disabled },
28
+ props.children,
29
+ " ",
30
+ react_1.default.createElement(ui_1.Icon, { name: "angle-down", className: styles.icon }))));
31
+ };
32
+ exports.AsyncButtonCascader = AsyncButtonCascader;
33
+ exports.AsyncButtonCascader.displayName = 'AsyncButtonCascader';
34
+ //# sourceMappingURL=AsyncButtonCascader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AsyncButtonCascader.js","sourceRoot":"","sources":["../../../src/components/AsyncButtonCascader/AsyncButtonCascader.tsx"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAC1B,oCAAmC;AACnC,sCAAuC;AAEvC,aAAa;AACb,sEAAyD;AACzD,oCAAwC;AAexC,MAAM,SAAS,GAAG,CAAC,CAAC,KAAoB,EAAE,EAAE;IAC1C,OAAO;QACL,KAAK,EAAE,IAAA,SAAG,EAAA;;iBAEG,KAAK,CAAC,MAAM,CAAC,QAAQ;KACjC;QACD,IAAI,EAAE,IAAA,SAAG,EAAA;;KAER;KACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEI,MAAM,mBAAmB,GAAuC,KAAK,CAAC,EAAE;IAC7E,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,KAAc,KAAK,EAAd,IAAI,kBAAK,KAAK,EAAlD,qCAA0C,CAAQ,CAAC;IACzD,MAAM,KAAK,GAAG,IAAA,cAAS,GAAE,CAAC;IAC1B,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAEhC,OAAO,CACL,8BAAC,qBAAU,kBACT,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,IAAI,EACpB,cAAc,EAAE,MAAM,CAAC,KAAK,IACxB,IAAI,IACR,UAAU,EAAE,IAAI;QAEhB,0CAAQ,SAAS,EAAE,IAAA,QAAE,EAAC,eAAe,EAAE,SAAS,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxE,KAAK,CAAC,QAAQ;;YAAE,8BAAC,SAAI,IAAC,IAAI,EAAC,YAAY,EAAC,SAAS,EAAE,MAAM,CAAC,IAAI,GAAI,CAC5D,CACE,CACd,CAAC;AACJ,CAAC,CAAC;AAnBW,QAAA,mBAAmB,uBAmB9B;AAEF,2BAAmB,CAAC,WAAW,GAAG,qBAAqB,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Cascader = void 0;
4
+ var ui_1 = require("@grafana/ui");
5
+ Object.defineProperty(exports, "Cascader", { enumerable: true, get: function () { return ui_1.Cascader; } });
6
+ //# sourceMappingURL=Cascader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Cascader.js","sourceRoot":"","sources":["../../../src/components/Cascader/Cascader.tsx"],"names":[],"mappings":";;;AAAA,kCAAuC;AAA9B,8FAAA,QAAQ,OAAA"}
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DataLink = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const react_1 = tslib_1.__importStar(require("react"));
6
+ const css_1 = require("@emotion/css");
7
+ const ui_1 = require("@grafana/ui");
8
+ const { FormField, Switch } = ui_1.LegacyForms;
9
+ const react_use_1 = require("react-use");
10
+ const DataSourcePicker_1 = require("../DataSourcePicker/DataSourcePicker");
11
+ const getStyles = (0, ui_1.stylesFactory)(() => ({
12
+ firstRow: (0, css_1.css) `
13
+ display: flex;
14
+ `,
15
+ nameField: (0, css_1.css) `
16
+ flex: 2;
17
+ `,
18
+ regexField: (0, css_1.css) `
19
+ flex: 3;
20
+ `,
21
+ row: (0, css_1.css) `
22
+ display: flex;
23
+ align-items: baseline;
24
+ `,
25
+ }));
26
+ const DataLink = (props) => {
27
+ const { value, onChange, onDelete, suggestions, className } = props;
28
+ const styles = getStyles();
29
+ const [showInternalLink, setShowInternalLink] = useInternalLink(value.datasourceUid);
30
+ const handleChange = (field) => (event) => {
31
+ onChange(Object.assign(Object.assign({}, value), { [field]: event.currentTarget.value }));
32
+ };
33
+ return (react_1.default.createElement("div", { className: className },
34
+ react_1.default.createElement("div", { className: styles.firstRow + ' gf-form' },
35
+ react_1.default.createElement(FormField, { className: styles.nameField, labelWidth: 6,
36
+ // A bit of a hack to prevent using default value for the width from FormField
37
+ inputWidth: null, label: "Field", type: "text", value: value.field, tooltip: 'Can be exact field name or a regex pattern that will match on the field name.', onChange: handleChange('field') }),
38
+ react_1.default.createElement(ui_1.Button, { variant: 'destructive', title: "Remove field", icon: "times", onClick: event => {
39
+ event.preventDefault();
40
+ onDelete();
41
+ } })),
42
+ react_1.default.createElement("div", { className: "gf-form" },
43
+ react_1.default.createElement(FormField, { className: styles.nameField, inputWidth: null, label: "Label", type: "text", value: value.label, onChange: handleChange('label'), tooltip: 'Use to provide a meaningful label to the data matched in the regex' }),
44
+ react_1.default.createElement(FormField, { className: styles.regexField, inputWidth: null, label: "Regex", type: "text", value: value.matcherRegex, onChange: handleChange('matcherRegex'), tooltip: 'Use to parse and capture some part of the log message. You can use the captured groups in the template.' })),
45
+ react_1.default.createElement("div", { className: "gf-form" },
46
+ react_1.default.createElement(FormField, { label: showInternalLink ? 'Query' : 'URL', labelWidth: 6, inputEl: react_1.default.createElement(ui_1.DataLinkInput, { placeholder: showInternalLink ? '${__value.raw}' : 'http://example.com/${__value.raw}', value: value.url || '', onChange: newValue => onChange(Object.assign(Object.assign({}, value), { url: newValue })), suggestions: suggestions }), className: (0, css_1.css) `
47
+ width: 100%;
48
+ ` })),
49
+ react_1.default.createElement("div", { className: styles.row },
50
+ react_1.default.createElement(Switch, { labelClass: 'width-6', label: "Internal link", checked: showInternalLink, onChange: () => {
51
+ if (showInternalLink) {
52
+ onChange(Object.assign(Object.assign({}, value), { datasourceUid: undefined }));
53
+ }
54
+ setShowInternalLink(!showInternalLink);
55
+ } }),
56
+ showInternalLink && (react_1.default.createElement(DataSourcePicker_1.DataSourcePicker
57
+ // Uid and value should be always set in the db and so in the items.
58
+ , {
59
+ // Uid and value should be always set in the db and so in the items.
60
+ onChange: ds => {
61
+ onChange(Object.assign(Object.assign({}, value), { datasourceUid: ds.uid }));
62
+ }, current: value.datasourceUid })))));
63
+ };
64
+ exports.DataLink = DataLink;
65
+ function useInternalLink(datasourceUid) {
66
+ const [showInternalLink, setShowInternalLink] = (0, react_1.useState)(!!datasourceUid);
67
+ const previousUid = (0, react_use_1.usePrevious)(datasourceUid);
68
+ // Force internal link visibility change if uid changed outside of this component.
69
+ (0, react_1.useEffect)(() => {
70
+ if (!previousUid && datasourceUid && !showInternalLink) {
71
+ setShowInternalLink(true);
72
+ }
73
+ if (previousUid && !datasourceUid && showInternalLink) {
74
+ setShowInternalLink(false);
75
+ }
76
+ }, [previousUid, datasourceUid, showInternalLink]);
77
+ return [showInternalLink, setShowInternalLink];
78
+ }
79
+ //# sourceMappingURL=DataLink.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataLink.js","sourceRoot":"","sources":["../../../src/components/DataLinks/DataLink.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DataLinks = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const react_1 = tslib_1.__importDefault(require("react"));
6
+ const css_1 = require("@emotion/css");
7
+ const ui_1 = require("@grafana/ui");
8
+ const data_1 = require("@grafana/data");
9
+ const DataLink_1 = require("./DataLink");
10
+ const getStyles = ((theme) => ({
11
+ infoText: (0, css_1.css) `
12
+ padding-bottom: ${theme.v1.spacing.md};
13
+ color: ${theme.v1.colors.textWeak};
14
+ `,
15
+ dataLink: (0, css_1.css) `
16
+ margin-bottom: ${theme.v1.spacing.sm};
17
+ `,
18
+ }));
19
+ const DataLinks = (props) => {
20
+ const { value, onChange } = props;
21
+ const theme = (0, ui_1.useTheme2)();
22
+ const styles = getStyles(theme);
23
+ return (react_1.default.createElement(react_1.default.Fragment, null,
24
+ react_1.default.createElement("h3", { className: 'page-heading' }, "Data links"),
25
+ react_1.default.createElement("div", { className: styles.infoText }, "Add links to existing fields. Links will be shown in log row details next to the field value."),
26
+ react_1.default.createElement("div", { className: 'gf-form-group' },
27
+ value &&
28
+ value.map((field, index) => {
29
+ return (react_1.default.createElement(DataLink_1.DataLink, { className: styles.dataLink, key: index, value: field, onChange: (newField) => {
30
+ const newDataLinks = [...value];
31
+ newDataLinks.splice(index, 1, newField);
32
+ onChange(newDataLinks);
33
+ }, onDelete: () => {
34
+ const newDataLinks = [...value];
35
+ newDataLinks.splice(index, 1);
36
+ onChange(newDataLinks);
37
+ }, suggestions: [
38
+ {
39
+ value: data_1.DataLinkBuiltInVars.valueRaw,
40
+ label: 'Raw value',
41
+ documentation: 'Raw value of the field',
42
+ origin: data_1.VariableOrigin.Value,
43
+ },
44
+ ] }));
45
+ }),
46
+ react_1.default.createElement("div", null,
47
+ react_1.default.createElement(ui_1.Button, { variant: 'secondary', className: (0, css_1.css) `
48
+ margin-right: 10px;
49
+ `, icon: 'plus', onClick: (event) => {
50
+ event.preventDefault();
51
+ const newDataLinks = [
52
+ ...(value || []),
53
+ { field: '', label: '', matcherRegex: '', url: '' },
54
+ ];
55
+ onChange(newDataLinks);
56
+ } }, "Add")))));
57
+ };
58
+ exports.DataLinks = DataLinks;
59
+ //# sourceMappingURL=DataLinks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataLinks.js","sourceRoot":"","sources":["../../../src/components/DataLinks/DataLinks.tsx"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAC1B,sCAAmC;AACnC,oCAAgD;AAChD,wCAIuB;AAEvB,yCAAsC;AAEtC,MAAM,SAAS,GAAG,CAAC,CAAC,KAAoB,EAAE,EAAE,CAAC,CAAC;IAC5C,QAAQ,EAAE,IAAA,SAAG,EAAA;sBACO,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE;aAC5B,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ;GAClC;IACD,QAAQ,EAAE,IAAA,SAAG,EAAA;qBACM,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE;GACrC;CACF,CAAC,CAAC,CAAC;AAMG,MAAM,SAAS,GAAG,CAAC,KAAY,EAAE,EAAE;IACxC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAClC,MAAM,KAAK,GAAG,IAAA,cAAS,GAAE,CAAC;IAC1B,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAEhC,OAAO,CACL;QACE,sCAAI,SAAS,EAAC,cAAc,iBAAgB;QAE5C,uCAAK,SAAS,EAAE,MAAM,CAAC,QAAQ,oGAGzB;QAEN,uCAAK,SAAS,EAAC,eAAe;YAC3B,KAAK;gBACJ,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;oBACzB,OAAO,CACL,8BAAC,mBAAQ,IACP,SAAS,EAAE,MAAM,CAAC,QAAQ,EAC1B,GAAG,EAAE,KAAK,EACV,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE;4BACrB,MAAM,YAAY,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;4BAChC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;4BACxC,QAAQ,CAAC,YAAY,CAAC,CAAC;wBACzB,CAAC,EACD,QAAQ,EAAE,GAAG,EAAE;4BACb,MAAM,YAAY,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;4BAChC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;4BAC9B,QAAQ,CAAC,YAAY,CAAC,CAAC;wBACzB,CAAC,EACD,WAAW,EAAE;4BACX;gCACE,KAAK,EAAE,0BAAmB,CAAC,QAAQ;gCACnC,KAAK,EAAE,WAAW;gCAClB,aAAa,EAAE,wBAAwB;gCACvC,MAAM,EAAE,qBAAc,CAAC,KAAK;6BAC7B;yBACF,GACD,CACH,CAAC;gBACJ,CAAC,CAAC;YACJ;gBACE,8BAAC,WAAM,IACL,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,IAAA,SAAG,EAAA;;aAEb,EACD,IAAI,EAAC,MAAM,EACX,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;wBACjB,KAAK,CAAC,cAAc,EAAE,CAAC;wBACvB,MAAM,YAAY,GAAG;4BACnB,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;4BAChB,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;yBACpD,CAAC;wBACF,QAAQ,CAAC,YAAY,CAAC,CAAC;oBACzB,CAAC,UAGM,CACL,CACF,CACL,CACJ,CAAC;AACJ,CAAC,CAAC;AAjEW,QAAA,SAAS,aAiEpB"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./types"), exports);
5
+ tslib_1.__exportStar(require("./DataLinks"), exports);
6
+ tslib_1.__exportStar(require("./DataLink"), exports);
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/DataLinks/index.ts"],"names":[],"mappings":";;;AAAA,kDAAwB;AACxB,sDAA2B;AAC3B,qDAA0B"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/DataLinks/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DataSourcePicker = void 0;
4
+ const tslib_1 = require("tslib");
5
+ // Libraries
6
+ const react_1 = tslib_1.__importStar(require("react"));
7
+ // Components
8
+ const ui_1 = require("@grafana/ui");
9
+ const e2e_selectors_1 = require("@grafana/e2e-selectors");
10
+ const PluginSignatureBadge_1 = require("../Plugins/PluginSignatureBadge");
11
+ const runtime_1 = require("@grafana/runtime");
12
+ class DataSourcePicker extends react_1.PureComponent {
13
+ constructor(props) {
14
+ super(props);
15
+ this.dataSourceSrv = (0, runtime_1.getDataSourceSrv)();
16
+ this.state = {};
17
+ this.onChange = (item) => {
18
+ const dsSettings = this.dataSourceSrv.getInstanceSettings(item.value);
19
+ if (dsSettings) {
20
+ this.props.onChange(dsSettings);
21
+ this.setState({ error: undefined });
22
+ }
23
+ };
24
+ }
25
+ componentDidMount() {
26
+ const { current } = this.props;
27
+ const dsSettings = this.dataSourceSrv.getInstanceSettings(current);
28
+ if (!dsSettings) {
29
+ this.setState({ error: 'Could not find data source ' + current });
30
+ }
31
+ }
32
+ getCurrentValue() {
33
+ const { current, hideTextValue, noDefault } = this.props;
34
+ if (!current && noDefault) {
35
+ return {
36
+ label: 'No datasources found',
37
+ };
38
+ }
39
+ const ds = this.dataSourceSrv.getInstanceSettings(current);
40
+ if (ds) {
41
+ return {
42
+ label: ds.name.substr(0, 37),
43
+ value: ds.name,
44
+ imgUrl: ds.meta.info.logos.small,
45
+ hideText: hideTextValue,
46
+ meta: ds.meta,
47
+ };
48
+ }
49
+ return {
50
+ label: (current !== null && current !== void 0 ? current : 'no name') + ' - not found',
51
+ value: (current !== null && current !== void 0 ? current : 'no name') + ' - not found',
52
+ imgUrl: '',
53
+ hideText: hideTextValue,
54
+ };
55
+ }
56
+ getDataSourceOptions() {
57
+ const options = this.dataSourceSrv.getList().map((ds) => ({
58
+ value: ds.uid,
59
+ label: ds.name,
60
+ imgUrl: ds.meta.info.logos.small,
61
+ meta: ds.meta,
62
+ }));
63
+ return options;
64
+ }
65
+ render() {
66
+ const { autoFocus, onBlur, openMenuOnFocus, placeholder } = this.props;
67
+ const { error } = this.state;
68
+ const options = this.getDataSourceOptions();
69
+ const value = this.getCurrentValue();
70
+ return (react_1.default.createElement("div", { "aria-label": e2e_selectors_1.selectors.components.DataSourcePicker.container },
71
+ react_1.default.createElement(ui_1.Select, { className: 'ds-picker select-container', isMulti: false, isClearable: false, backspaceRemovesValue: false, onChange: this.onChange, options: options, autoFocus: autoFocus, onBlur: onBlur, openMenuOnFocus: openMenuOnFocus, maxMenuHeight: 500, placeholder: placeholder, noOptionsMessage: 'No datasources found', value: value, invalid: !!error, getOptionLabel: (o) => {
72
+ if (o.meta &&
73
+ (0, PluginSignatureBadge_1.isUnsignedPluginSignature)(o.meta.signature) &&
74
+ o !== value) {
75
+ return (react_1.default.createElement(ui_1.HorizontalGroup, { align: 'center', justify: 'space-between' },
76
+ react_1.default.createElement("span", null, o.label),
77
+ ' ',
78
+ react_1.default.createElement(PluginSignatureBadge_1.PluginSignatureBadge, { status: o.meta.signature })));
79
+ }
80
+ return o.label || '';
81
+ } })));
82
+ }
83
+ }
84
+ exports.DataSourcePicker = DataSourcePicker;
85
+ DataSourcePicker.defaultProps = {
86
+ autoFocus: false,
87
+ openMenuOnFocus: false,
88
+ placeholder: 'Select datasource',
89
+ };
90
+ //# sourceMappingURL=DataSourcePicker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataSourcePicker.js","sourceRoot":"","sources":["../../../src/components/DataSourcePicker/DataSourcePicker.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DatePicker = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const react_1 = tslib_1.__importStar(require("react"));
6
+ const react_calendar_1 = tslib_1.__importDefault(require("react-calendar"));
7
+ const ui_1 = require("@grafana/ui");
8
+ const styles_1 = require("./styles");
9
+ exports.DatePicker = (0, react_1.memo)((props) => {
10
+ const theme = (0, ui_1.useTheme2)();
11
+ const styles = (0, styles_1.getStyles)(theme);
12
+ const { isOpen, onClose } = props;
13
+ if (!isOpen) {
14
+ return null;
15
+ }
16
+ return (react_1.default.createElement(ui_1.ClickOutsideWrapper, { useCapture: true, includeButtonPress: false, onClick: onClose },
17
+ react_1.default.createElement("div", { className: styles.modal, "data-testid": 'date-picker' },
18
+ react_1.default.createElement(Body, Object.assign({}, props)))));
19
+ });
20
+ const Body = (0, react_1.memo)(({ value, onChange }) => {
21
+ const theme = (0, ui_1.useTheme2)();
22
+ const styles = (0, styles_1.getBodyStyles)(theme);
23
+ return (react_1.default.createElement(react_calendar_1.default, { className: styles.body, tileClassName: styles.title, value: value || new Date(), nextLabel: react_1.default.createElement(ui_1.Icon, { name: 'angle-right' }), prevLabel: react_1.default.createElement(ui_1.Icon, { name: 'angle-left' }), onChange: (ev) => {
24
+ if (!Array.isArray(ev)) {
25
+ onChange(ev);
26
+ }
27
+ }, locale: 'en' }));
28
+ });
29
+ //# sourceMappingURL=DatePicker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DatePicker.js","sourceRoot":"","sources":["../../../src/components/DatePicker/DatePicker.tsx"],"names":[],"mappings":";;;;AAAA,uDAAoC;AACpC,4EAAsC;AACtC,oCAAmE;AACnE,qCAAoD;AASvC,QAAA,UAAU,GAAG,IAAA,YAAI,EAAkB,CAAC,KAAK,EAAE,EAAE;IACxD,MAAM,KAAK,GAAG,IAAA,cAAS,GAAE,CAAC;IAC1B,MAAM,MAAM,GAAG,IAAA,kBAAS,EAAC,KAAK,CAAC,CAAC;IAChC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAElC,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,IAAI,CAAC;KACb;IAED,OAAO,CACL,8BAAC,wBAAmB,IAClB,UAAU,EAAE,IAAI,EAChB,kBAAkB,EAAE,KAAK,EACzB,OAAO,EAAE,OAAO;QAEhB,uCAAK,SAAS,EAAE,MAAM,CAAC,KAAK,iBAAc,aAAa;YACrD,8BAAC,IAAI,oBAAK,KAAK,EAAI,CACf,CACc,CACvB,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,IAAI,GAAG,IAAA,YAAI,EAAkB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;IACzD,MAAM,KAAK,GAAG,IAAA,cAAS,GAAE,CAAC;IAC1B,MAAM,MAAM,GAAG,IAAA,sBAAa,EAAC,KAAK,CAAC,CAAC;IAEpC,OAAO,CACL,8BAAC,wBAAQ,IACP,SAAS,EAAE,MAAM,CAAC,IAAI,EACtB,aAAa,EAAE,MAAM,CAAC,KAAK,EAC3B,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,EAAE,EAC1B,SAAS,EAAE,8BAAC,SAAI,IAAC,IAAI,EAAC,aAAa,GAAG,EACtC,SAAS,EAAE,8BAAC,SAAI,IAAC,IAAI,EAAC,YAAY,GAAG,EACrC,QAAQ,EAAE,CAAC,EAAO,EAAE,EAAE;YACpB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;gBACtB,QAAQ,CAAC,EAAE,CAAC,CAAC;aACd;QACH,CAAC,EACD,MAAM,EAAC,IAAI,GACX,CACH,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -0,0 +1,156 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getBodyStyles = exports.getStyles = void 0;
4
+ const css_1 = require("@emotion/css");
5
+ exports.getStyles = ((theme) => {
6
+ const containerBorder = theme.isDark
7
+ ? theme.v1.palette.dark9
8
+ : theme.v1.palette.gray5;
9
+ return {
10
+ container: (0, css_1.css) `
11
+ top: -1px;
12
+ position: absolute;
13
+ right: 544px;
14
+ box-shadow: 0px 0px 20px ${theme.v1.colors.dropdownShadow};
15
+ background-color: ${theme.v1.colors.bodyBg};
16
+ z-index: -1;
17
+ border: 1px solid ${containerBorder};
18
+ border-radius: 2px 0 0 2px;
19
+
20
+ &:after {
21
+ display: block;
22
+ background-color: ${theme.v1.colors.bodyBg};
23
+ width: 19px;
24
+ height: 100%;
25
+ content: '';
26
+ position: absolute;
27
+ top: 0;
28
+ right: -19px;
29
+ border-left: 1px solid ${theme.v1.colors.border1};
30
+ }
31
+ `,
32
+ modal: (0, css_1.css) `
33
+ z-index: ${theme.v1.zIndex.modal};
34
+ `,
35
+ content: (0, css_1.css) `
36
+ margin: 0 auto;
37
+ width: 268px;
38
+ `,
39
+ backdrop: (0, css_1.css) `
40
+ position: fixed;
41
+ top: 0;
42
+ right: 0;
43
+ bottom: 0;
44
+ left: 0;
45
+ background: #202226;
46
+ opacity: 0.7;
47
+ z-index: ${theme.v1.zIndex.modalBackdrop};
48
+ text-align: center;
49
+ `,
50
+ };
51
+ });
52
+ exports.getBodyStyles = ((theme) => {
53
+ const containerBorder = theme.isDark
54
+ ? theme.v1.palette.dark9
55
+ : theme.v1.palette.gray5;
56
+ return {
57
+ title: (0, css_1.css) `
58
+ color: ${theme.colors.text};
59
+ background-color: ${theme.v1.colors.bodyBg};
60
+ font-size: ${theme.v1.typography.size.md};
61
+ border: 1px solid transparent;
62
+
63
+ &:hover {
64
+ position: relative;
65
+ }
66
+ `,
67
+ body: (0, css_1.css) `
68
+ z-index: ${theme.zIndex.modal};
69
+ position: fixed;
70
+ background-color: ${theme.v1.colors.bodyBg};
71
+ width: 268px;
72
+
73
+ box-shadow: 0px 0px 20px ${theme.v1.colors.dropdownShadow};
74
+ border: 1px solid ${containerBorder};
75
+ border-radius: 2px 0 0 2px;
76
+
77
+ .react-calendar__navigation__label,
78
+ .react-calendar__navigation__arrow,
79
+ .react-calendar__navigation {
80
+ padding-top: 4px;
81
+ background-color: inherit;
82
+ color: ${theme.colors.text};
83
+ border: 0;
84
+ font-weight: ${theme.v1.typography.weight.semibold};
85
+ }
86
+
87
+ .react-calendar__month-view__weekdays {
88
+ background-color: inherit;
89
+ text-align: center;
90
+ color: ${theme.v1.palette.blue77};
91
+
92
+ abbr {
93
+ border: 0;
94
+ text-decoration: none;
95
+ cursor: default;
96
+ display: block;
97
+ padding: 4px 0 4px 0;
98
+ }
99
+ }
100
+
101
+ .react-calendar__month-view__days {
102
+ background-color: inherit;
103
+ }
104
+
105
+ .react-calendar__tile,
106
+ .react-calendar__tile--now {
107
+ margin-bottom: 4px;
108
+ background-color: inherit;
109
+ height: 26px;
110
+ }
111
+
112
+ .react-calendar__navigation__label,
113
+ .react-calendar__navigation > button:focus,
114
+ .time-picker-calendar-tile:focus {
115
+ outline: 0;
116
+ }
117
+
118
+ .react-calendar__tile--active,
119
+ .react-calendar__tile--active:hover {
120
+ color: ${theme.v1.palette.white};
121
+ font-weight: ${theme.v1.typography.weight.semibold};
122
+ background: ${theme.v1.palette.blue95};
123
+ box-shadow: none;
124
+ border: 0px;
125
+ }
126
+
127
+ .react-calendar__tile--rangeEnd,
128
+ .react-calendar__tile--rangeStart {
129
+ padding: 0;
130
+ border: 0px;
131
+ color: ${theme.v1.palette.white};
132
+ font-weight: ${theme.v1.typography.weight.semibold};
133
+ background: ${theme.v1.palette.blue95};
134
+
135
+ abbr {
136
+ background-color: ${theme.v1.palette.blue77};
137
+ border-radius: 100px;
138
+ display: block;
139
+ padding-top: 2px;
140
+ height: 26px;
141
+ }
142
+ }
143
+
144
+ .react-calendar__tile--rangeStart {
145
+ border-top-left-radius: 20px;
146
+ border-bottom-left-radius: 20px;
147
+ }
148
+
149
+ .react-calendar__tile--rangeEnd {
150
+ border-top-right-radius: 20px;
151
+ border-bottom-right-radius: 20px;
152
+ }
153
+ `,
154
+ };
155
+ });
156
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/components/DatePicker/styles.ts"],"names":[],"mappings":";;;AACA,sCAAmC;AAEtB,QAAA,SAAS,GAAG,CAAC,CAAC,KAAoB,EAAE,EAAE;IACjD,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM;QAClC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK;QACxB,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAE3B,OAAO;QACL,SAAS,EAAE,IAAA,SAAG,EAAA;;;;iCAIe,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,cAAc;0BACrC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM;;0BAEtB,eAAe;;;;;4BAKb,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM;;;;;;;iCAOjB,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO;;KAEnD;QACD,KAAK,EAAE,IAAA,SAAG,EAAA;iBACG,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK;KACjC;QACD,OAAO,EAAE,IAAA,SAAG,EAAA;;;KAGX;QACD,QAAQ,EAAE,IAAA,SAAG,EAAA;;;;;;;;iBAQA,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,aAAa;;KAEzC;KACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEU,QAAA,aAAa,GAAG,CAAC,CAAC,KAAoB,EAAE,EAAE;IACrD,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM;QAClC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK;QACxB,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAE3B,OAAO;QACL,KAAK,EAAE,IAAA,SAAG,EAAA;eACC,KAAK,CAAC,MAAM,CAAC,IAAI;0BACN,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM;mBAC7B,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;;;;;;KAMzC;QACD,IAAI,EAAE,IAAA,SAAG,EAAA;iBACI,KAAK,CAAC,MAAM,CAAC,KAAK;;0BAET,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM;;;iCAGf,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,cAAc;0BACrC,eAAe;;;;;;;;iBAQxB,KAAK,CAAC,MAAM,CAAC,IAAI;;uBAEX,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ;;;;;;iBAMzC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA8BvB,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK;uBAChB,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ;sBACpC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM;;;;;;;;;iBAS5B,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK;uBAChB,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ;sBACpC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM;;;8BAGf,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM;;;;;;;;;;;;;;;;;KAiBhD;KACF,CAAC;AACJ,CAAC,CAAC,CAAC"}