@splunk/visualizations 25.6.0 → 25.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (218) hide show
  1. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Bar_Editor.png +0 -0
  2. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_ChoroplethSvg_Editor.png +0 -0
  3. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Column_Editor.png +0 -0
  4. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Ellipse_Editor.png +0 -0
  5. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_FillerGauge_Editor.png +0 -0
  6. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_LinkGraph_Editor.png +0 -0
  7. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Map_Editor.png +0 -0
  8. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Parallel_Coordinates_Editor.png +0 -0
  9. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Pie_Editor.png +0 -0
  10. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Rectangle_Editor.png +0 -0
  11. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Single_Value_Editor.png +0 -0
  12. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Single_Value_Icon_Editor.png +0 -0
  13. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Single_Value_Radial_Editor.png +0 -0
  14. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Table_Editor.png +0 -0
  15. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Legend_Mode_Series_Compare.png +0 -0
  16. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Legend_Mode_Series_Compare.png +0 -0
  17. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_Pagination.png +0 -0
  18. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_background_color.png +0 -0
  19. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_chart_cmd_count_by_status.png +0 -0
  20. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_chart_cmd_count_by_status_user.png +0 -0
  21. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_chart_cmd_count_by_status_user_aggregations.png +0 -0
  22. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_chart_cmd_max_count_avg_count_aggregations.png +0 -0
  23. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_chart_cmd_max_count_avg_count_by_status_user_aggregations.png +0 -0
  24. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_layout_options.png +0 -0
  25. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_makeresults_name_age.png +0 -0
  26. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_makeresults_name_age_aggregations.png +0 -0
  27. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_stats_cmd_avg_count_max_count_aggregations.png +0 -0
  28. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_stats_cmd_avg_count_max_count_by_status_user_aggregations.png +0 -0
  29. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_stats_cmd_count_by_status_user.png +0 -0
  30. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_stats_cmd_count_by_status_user_aggregations.png +0 -0
  31. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_table.png +0 -0
  32. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_table_aggregations.png +0 -0
  33. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_timechart_cmd_count_aggregations.png +0 -0
  34. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_timechart_cmd_count_by_status.png +0 -0
  35. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_timechart_cmd_count_by_status_aggregations.png +0 -0
  36. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_timechart_cmd_max_count_avg_count_by_status_aggregations.png +0 -0
  37. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_Chart.png +0 -0
  38. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_Chart_Count.png +0 -0
  39. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_Pagination.png +0 -0
  40. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_Timechart.png +0 -0
  41. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_background_color.png +0 -0
  42. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_chart_cmd_count_by_status_user_aggregations.png +0 -0
  43. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_chart_cmd_max_count_avg_count_aggregations.png +0 -0
  44. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_chart_cmd_max_count_avg_count_by_status_user_aggregations.png +0 -0
  45. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_layout_options.png +0 -0
  46. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_makeresults_name_age.png +0 -0
  47. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_makeresults_name_age_aggregations.png +0 -0
  48. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_stats_cmd_avg_count_max_count_aggregations.png +0 -0
  49. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_stats_cmd_count_by_status_user.png +0 -0
  50. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_stats_cmd_count_by_status_user_aggregations.png +0 -0
  51. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_table.png +0 -0
  52. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_table_aggregations.png +0 -0
  53. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_timechart_cmd_count_aggregations.png +0 -0
  54. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_timechart_cmd_count_by_status_aggregations.png +0 -0
  55. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_timechart_cmd_max_count_avg_count_by_status_aggregations.png +0 -0
  56. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Trellis_stats_cmd_avg_count_max_count_by_status_user_aggregations.png +0 -0
  57. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_Pagination.png +0 -0
  58. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_assign_default_trellisSplitBy_value_status.png +0 -0
  59. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_background_color.png +0 -0
  60. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_chart_cmd_avg_count_max_count_by_status.png +0 -0
  61. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_chart_cmd_avg_count_max_count_by_status_value_by_max_count.png +0 -0
  62. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_chart_cmd_count_by_status.png +0 -0
  63. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_chart_cmd_count_by_status_user.png +0 -0
  64. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_chart_cmd_count_by_status_user_aggregations.png +0 -0
  65. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_chart_cmd_count_by_status_user_user.png +0 -0
  66. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_chart_cmd_max_count_avg_count_aggregations.png +0 -0
  67. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_chart_cmd_max_count_avg_count_by_status_user.png +0 -0
  68. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_chart_cmd_max_count_avg_count_by_status_user_aggregations.png +0 -0
  69. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_chart_cmd_max_count_avg_count_by_status_user_user.png +0 -0
  70. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_layout_options.png +0 -0
  71. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_makeresults_name_age.png +0 -0
  72. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_makeresults_name_age_aggregations.png +0 -0
  73. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_stats_cmd_avg_count_max_count_aggregations.png +0 -0
  74. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_stats_cmd_avg_count_max_count_by_status.png +0 -0
  75. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_stats_cmd_avg_count_max_count_by_status_user_aggregations.png +0 -0
  76. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_stats_cmd_avg_count_max_count_by_status_value_by_max_count.png +0 -0
  77. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_stats_cmd_count_by_status_user.png +0 -0
  78. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_stats_cmd_count_by_status_user_aggregations.png +0 -0
  79. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_table.png +0 -0
  80. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_table_aggregations.png +0 -0
  81. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_timechart_cmd_count_aggregations.png +0 -0
  82. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_timechart_cmd_count_by_status.png +0 -0
  83. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_timechart_cmd_count_by_status_aggregations.png +0 -0
  84. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_timechart_cmd_max_count_avg_count_by_status.png +0 -0
  85. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_timechart_cmd_max_count_avg_count_by_status_aggregations.png +0 -0
  86. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Major_value_data_null_show_N_A.png +0 -0
  87. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Set_The_Background_Color_Based_On_The_Major_Value_Trellis.png +0 -0
  88. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Height_Percentage.png +0 -0
  89. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Height_Percentage_100_no_paginator.png +0 -0
  90. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Height_Percentage_50_no_paginator.png +0 -0
  91. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Sparkline.png +0 -0
  92. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Sparkline_Custom.png +0 -0
  93. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Sparkline_Width.png +0 -0
  94. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Sparklines_Adv.png +0 -0
  95. package/Area.config.js +12 -7
  96. package/Area.config.js.map +1 -1
  97. package/Area.js +192 -171
  98. package/Area.js.map +1 -1
  99. package/Bar.config.js +36 -8
  100. package/Bar.config.js.map +1 -1
  101. package/Bar.js +216 -172
  102. package/Bar.js.map +1 -1
  103. package/Bubble.config.js +7 -2
  104. package/Bubble.config.js.map +1 -1
  105. package/Bubble.js +183 -162
  106. package/Bubble.js.map +1 -1
  107. package/ChoroplethSvg.config.js +12 -8
  108. package/ChoroplethSvg.config.js.map +1 -1
  109. package/ChoroplethSvg.js +191 -174
  110. package/ChoroplethSvg.js.map +1 -1
  111. package/Column.config.js +36 -8
  112. package/Column.config.js.map +1 -1
  113. package/Column.js +216 -172
  114. package/Column.js.map +1 -1
  115. package/Ellipse.config.js +23 -20
  116. package/Ellipse.config.js.map +1 -1
  117. package/Ellipse.js +168 -149
  118. package/Ellipse.js.map +1 -1
  119. package/Events.config.js +79 -19
  120. package/Events.config.js.map +1 -1
  121. package/Events.js +404 -244
  122. package/Events.js.map +1 -1
  123. package/FEATUREFLAGS.md +40 -0
  124. package/FillerGauge.config.js +22 -19
  125. package/FillerGauge.config.js.map +1 -1
  126. package/FillerGauge.js +170 -151
  127. package/FillerGauge.js.map +1 -1
  128. package/Image.config.js +3 -3
  129. package/Image.config.js.map +1 -1
  130. package/Image.js +143 -130
  131. package/Image.js.map +1 -1
  132. package/LICENSE.md +444 -8
  133. package/Line.config.js +12 -7
  134. package/Line.config.js.map +1 -1
  135. package/Line.js +192 -171
  136. package/Line.js.map +1 -1
  137. package/LinkGraph.config.js +9 -15
  138. package/LinkGraph.config.js.map +1 -1
  139. package/LinkGraph.js +743 -729
  140. package/LinkGraph.js.map +1 -1
  141. package/Map.config.js +51 -48
  142. package/Map.config.js.map +1 -1
  143. package/Map.js +602 -587
  144. package/Map.js.map +1 -1
  145. package/Markdown.config.js +10 -9
  146. package/Markdown.config.js.map +1 -1
  147. package/Markdown.js +185 -171
  148. package/Markdown.js.map +1 -1
  149. package/MarkerGauge.config.js +71 -70
  150. package/MarkerGauge.config.js.map +1 -1
  151. package/MarkerGauge.js +193 -179
  152. package/MarkerGauge.js.map +1 -1
  153. package/ParallelCoordinates.config.js +3 -3
  154. package/ParallelCoordinates.config.js.map +1 -1
  155. package/ParallelCoordinates.js +179 -155
  156. package/ParallelCoordinates.js.map +1 -1
  157. package/Pie.config.js +30 -6
  158. package/Pie.config.js.map +1 -1
  159. package/Pie.js +237 -200
  160. package/Pie.js.map +1 -1
  161. package/Punchcard.config.js +3 -2
  162. package/Punchcard.config.js.map +1 -1
  163. package/Punchcard.js +305 -291
  164. package/Punchcard.js.map +1 -1
  165. package/Rectangle.config.js +22 -23
  166. package/Rectangle.config.js.map +1 -1
  167. package/Rectangle.js +232 -220
  168. package/Rectangle.js.map +1 -1
  169. package/Sankey.config.js +14 -13
  170. package/Sankey.config.js.map +1 -1
  171. package/Sankey.js +1311 -1297
  172. package/Sankey.js.map +1 -1
  173. package/Scatter.config.js +552 -580
  174. package/Scatter.config.js.map +1 -1
  175. package/Scatter.js +258 -244
  176. package/Scatter.js.map +1 -1
  177. package/SingleValue.config.js +242 -52
  178. package/SingleValue.config.js.map +1 -1
  179. package/SingleValue.js +1456 -350
  180. package/SingleValue.js.map +1 -1
  181. package/SingleValueBasic.js +40 -29
  182. package/SingleValueBasic.js.map +1 -1
  183. package/SingleValueIcon.config.js +267 -58
  184. package/SingleValueIcon.config.js.map +1 -1
  185. package/SingleValueIcon.js +1490 -363
  186. package/SingleValueIcon.js.map +1 -1
  187. package/SingleValueRadial.config.js +249 -41
  188. package/SingleValueRadial.config.js.map +1 -1
  189. package/SingleValueRadial.js +1435 -286
  190. package/SingleValueRadial.js.map +1 -1
  191. package/TRELLIS.md +296 -0
  192. package/Table.config.js +39 -41
  193. package/Table.config.js.map +1 -1
  194. package/Table.js +352 -306
  195. package/Table.js.map +1 -1
  196. package/common/EventsDoc.js +9 -3
  197. package/common/EventsDoc.js.map +1 -1
  198. package/common/docUtils.js +1 -1
  199. package/common/docUtils.js.map +1 -1
  200. package/common/utils/configUtils.js +26 -20
  201. package/common/utils/configUtils.js.map +1 -1
  202. package/common/utils/dataUtils.js +2 -2
  203. package/common/utils/dataUtils.js.map +1 -1
  204. package/common/utils/hocUtils.js +2 -2
  205. package/common/utils/hocUtils.js.map +1 -1
  206. package/common/utils/layoutUtils.js +115 -0
  207. package/common/utils/layoutUtils.js.map +1 -0
  208. package/common/utils/mapUtils.js +1166 -23
  209. package/common/utils/mapUtils.js.map +1 -1
  210. package/common/utils/singleValueUtils.js +54 -46
  211. package/common/utils/singleValueUtils.js.map +1 -1
  212. package/common/utils/testHelper.js +14 -14
  213. package/common/utils/testHelper.js.map +1 -1
  214. package/common/utils/trellisUtils.js +612 -0
  215. package/common/utils/trellisUtils.js.map +1 -0
  216. package/common/withDashboardViz.js +31 -17
  217. package/common/withDashboardViz.js.map +1 -1
  218. package/package.json +12 -12
package/TRELLIS.md ADDED
@@ -0,0 +1,296 @@
1
+ # Trellis layout
2
+
3
+ > Trellis is only available for single value visualizations.
4
+
5
+ Organize your search results with the trellis layout for a holistic view of your data. Trellis layout visualizes your search results by separating each value field or aggregation.
6
+
7
+ The search in the following example returns customer purchases by product category. Applying a trellis layout creates a view of each product category as its own single value visualization.
8
+
9
+ `index="sample-data" | stats count by productName`
10
+
11
+ ![](./src/common/docs/images/trellis-intro.png)
12
+
13
+ ## Create a trellis layout
14
+
15
+ Configure your visualization for the trellis layout by adding the `splitByLayout:trellis` option in the `options` stanza. You might need to adjust the sizing of your trellis layout to fit your page.
16
+
17
+ ### Trellis layout configuration UI
18
+
19
+ Customers with access to a Unified Dashboard Framework (UDF) **Edit** mode can create the trellis layout using the following steps. If you’re not using UDF, skip to step 4.
20
+
21
+ 1. Select a single value visualization using the visual editor by clicking the **Add Chart** dropdown menu in the editing toolbar.
22
+ 2. Select the single value on your dashboard so that it's highlighted with the blue editing outline.
23
+ 3. Set up a new data source by adding selecting **+ Create Search** and adding a search to the **Search query** window. Or, select an existing data source under the **Search**, **Saved Search**, or **Chain Search** dropdown lists.
24
+ 4. Activate the trellis layout by toggling on **Trellis Layout** in the **Data display** section of the Configuration panel.
25
+
26
+ ## Configurations for trellis layout
27
+
28
+ Additionally, you can add the following trellis configurations to the `options` stanza for further customization.
29
+
30
+ ```markup
31
+ | Option | Type | Default | Description |
32
+ | ---------------------- | ------ | ------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
33
+ | splitByLayout | string | off | Specify the layout method to display the visualization, which splits the data into individual visualizations based on a specific category. The available values are off and trellis. |
34
+ | trellisBackgroundColor | string | > themes.defaultBackgroundColor | Specify the background color of the whole panel in the trellis layout display. For example, “#FF0000”. You can use a hexadecimal code to apply the color. The default for Enterprise light is #ffffff. The default for Enterprise dark is #000000. The default for Prisma dark is #0b0c0e. |
35
+ | trellisColumns | number | n/a | Specify the number of columns in a trellis layout container. For example, six columns allow six visualizations per row. Rows populate to accommodate the total number of visualizations. If no column number is specified, the number of columns is automatically set based on the value specified for trellisMinColumnWidth. |
36
+ | trellisMinColumnWidth | number | 100 | Specify the minimum width, in pixels, of each visualization in the trellis container. If you resize the window or panel, you can view the remaining visualizations by scrolling. |
37
+ | trellisPageCount | number | 20 | Specify the maximum number of visualizations to display on a single page in the trellis container. The remaining visualizations paginate accordingly. |
38
+ | trellisRowHeight | number | 70 | Specify each visualization's height, in pixels, in the trellis container. If you resize the window or panel, you can view the remaining visualizations by scrolling. |
39
+ | trellisSplitBy | string | n/a | If applicable, specify the column's field name with categories used or aggregations to split the data into individual visualizations for trellis display. If you use an SPL `timechart` command, this might default to the SPL `by` clause field. If you use an SPL `chart` command, this might default to the first string field. |
40
+ ```
41
+
42
+ ## Overview of data-splitting logic
43
+
44
+ The trellis layout splits data visualizations based on the SPL commands and associated metadata or configurations provided. The data-splitting logic defaults to SPL commands and associated metadata first, then option configurations. If you apply configuration options, any of those options could impact how the logic behaves with SPL commands or data field types. The following examples show different scenarios of data-splitting logic.
45
+
46
+ If your application has SPL support, the following are examples of how SPL searches impact the trellis layout data-splitting logic. If your application doesn’t have SPL, you might need to restructure your data and use the `trellisSplitBy` option to achieve similar results to the following examples.
47
+
48
+ ### Split data with the timechart command
49
+
50
+ When using the SPL `timechart` command, the trellis layout defaults to an associated `by` clause. The following example shows how the trellis layout categorizes each single value visualization by product name as a result of the SPL search `index="sample-data" | timechart count by productName`.
51
+
52
+ ![](./src/common/docs/images/trellis-timechart.png)
53
+
54
+ ![](./src/common/docs/images/trellis-timechart-table.png)
55
+
56
+ #### Source code
57
+
58
+ ```
59
+ import React from 'react';
60
+ import { FeatureFlagContextProvider } from '@splunk/visualization-context/FeatureFlagContext';
61
+ import SingleValue from '@splunk/visualizations/SingleValue';
62
+
63
+ export default () => (
64
+ <FeatureFlagContextProvider value={{ visualizations_enableTrellis: true }}>
65
+ <SingleValue
66
+ options={{
67
+ splitByLayout: 'trellis',
68
+ }}
69
+ dataSources={{
70
+ primary: {
71
+ data: {
72
+ columns: [
73
+ [
74
+ '2023-03-21T00:00:00.000+00:00',
75
+ '2023-03-22T00:00:00.000+00:00',
76
+ '2023-03-23T00:00:00.000+00:00',
77
+ '2023-03-24T00:00:00.000+00:00',
78
+ '2023-03-25T00:00:00.000+00:00',
79
+ '2023-03-26T00:00:00.000+00:00',
80
+ '2023-03-27T00:00:00.000+00:00',
81
+ '2023-03-28T00:00:00.000+00:00',
82
+ ],
83
+ ['80', '271', '263', '289', '263', '304', '268', '236'],
84
+ ['62', '265', '263', '289', '263', '304', '261', '205'],
85
+ ['51', '291', '263', '289', '263', '304', '268', '211'],
86
+ ['77', '334', '263', '289', '263', '304', '301', '230'],
87
+ ],
88
+ fields: [
89
+ {
90
+ name: '_time',
91
+ },
92
+ {
93
+ name: 'Dream Crusher',
94
+ },
95
+ {
96
+ name: 'Final Sequel',
97
+ },
98
+ {
99
+ name: 'Fire Resistance Suit of Provolone',
100
+ },
101
+ {
102
+ name: 'Grand Theft Scooter',
103
+ },
104
+ ],
105
+ },
106
+ meta: {},
107
+ },
108
+ }}
109
+ />
110
+ </FeatureFlagContextProvider>
111
+ );
112
+
113
+ ```
114
+
115
+ ### Split data with the chart or stats commands
116
+
117
+ The trellis layout defaults to the first string field when using the SPL `chart` or `stats` command with one `by` clause. The following example shows how the trellis layout categorizes each single value visualization by the `productName` column as a result of the SPL search `index="sample-data" | chart count by productName`.
118
+
119
+ ![](./src/common/docs/images/trellis-chart-stats.png)
120
+
121
+ ![](./src/common/docs/images/trellis-chart-stats-table.png)
122
+
123
+ #### Source code
124
+
125
+ ```
126
+ import React from 'react';
127
+ import { FeatureFlagContextProvider } from '@splunk/visualization-context/FeatureFlagContext';
128
+ import SingleValue from '@splunk/visualizations/SingleValue';
129
+
130
+ export default () => (
131
+ <FeatureFlagContextProvider value={{ visualizations_enableTrellis: true }}>
132
+ <SingleValue
133
+ options={{
134
+ splitByLayout: 'trellis',
135
+ trellisSplitBy: 'productName',
136
+ }}
137
+ dataSources={{
138
+ primary: {
139
+ data: {
140
+ columns: [
141
+ ['Benign Space Debris', 'Curling 2014', 'Dream Crusher', 'Final Sequel'],
142
+ ['1309', '1346', '1974', '1766'],
143
+ ],
144
+ fields: [
145
+ {
146
+ name: 'productName',
147
+ },
148
+ {
149
+ name: 'count',
150
+ },
151
+ ],
152
+ },
153
+ meta: {},
154
+ },
155
+ }}
156
+ />
157
+ </FeatureFlagContextProvider>
158
+ );
159
+
160
+ ```
161
+
162
+ ### Split specific data with the trellisSplitBy option
163
+
164
+ If you don't want to rely on the default data-splitting logic, you can split your data by a specific field name using the 'trellisSplitBy' option. For example, you can split the data by price if you have multiple products with different price points. Using `trellisSplitBy` overrides the logic to split the data by product name.
165
+
166
+ The following example sets `trellisSplitBy: price` with the SPL search `index="sample-data" | chart count by productName, price`. `"sample-data"` is a lookup file available for upload in the [Search Tutorial](https://docs.splunk.com/Documentation/Splunk/latest/SearchTutorial/WelcometotheSearchTutorial) of the _Search Tutorial_ manual.
167
+
168
+ ![](./src/common/docs/images/trellis-split-by.png)
169
+
170
+ ![](./src/common/docs/images/trellis-split-by-table.png)
171
+
172
+ #### Source code
173
+
174
+ ```
175
+ import React from 'react';
176
+ import { FeatureFlagContextProvider } from '@splunk/visualization-context/FeatureFlagContext';
177
+ import SingleValue from '@splunk/visualizations/SingleValue';
178
+
179
+ export default () => (
180
+ <FeatureFlagContextProvider value={{ visualizations_enableTrellis: true }}>
181
+ <SingleValue
182
+ options={{
183
+ backgroundColor: '#BDBDBD',
184
+ splitByLayout: 'trellis',
185
+ trellisSplitBy: 'price',
186
+ }}
187
+ dataSources={{
188
+ primary: {
189
+ data: {
190
+ columns: [
191
+ ['Benign Space Debris', 'Curling 2014', 'Dream Crusher', 'Final Sequel'],
192
+ ['0', '1346', '0', '0', '0', '0'],
193
+ ['1309', '0', '0', '1766', '0', '0'],
194
+ ['0', '0', '0', '0', '0', '0'],
195
+ ],
196
+ fields: [
197
+ {
198
+ name: 'productName',
199
+ },
200
+ {
201
+ name: '19.99',
202
+ },
203
+ {
204
+ name: '24.99',
205
+ },
206
+ {
207
+ name: '26.99',
208
+ },
209
+ ],
210
+ },
211
+ meta: {},
212
+ },
213
+ }}
214
+ />
215
+ </FeatureFlagContextProvider>
216
+ );
217
+
218
+ ```
219
+
220
+ ### Configure trellisSplitBy with aggregations
221
+
222
+ Aggregations are categories specified by field name prefixes. For example, avg(price) is an aggregation of the average price, and max(price) is an aggregation of the maximum price. You can split your data by aggregations using the `trellisSplitBy` option.
223
+
224
+ The following example sets `trellisSplitBy` aggregations with the SPL search `index="sample-data" | timechart avg(price), max(price)`.
225
+
226
+ ![](./src/common/docs/images/trellis-aggregations.png)
227
+
228
+ ![](./src/common/docs/images/trellis-aggregations-table.png)
229
+
230
+ #### Source code
231
+
232
+ ```
233
+ import React from 'react';
234
+ import { FeatureFlagContextProvider } from '@splunk/visualization-context/FeatureFlagContext';
235
+ import SingleValue from '@splunk/visualizations/SingleValue';
236
+
237
+ export default () => (
238
+ <FeatureFlagContextProvider value={{ visualizations_enableTrellis: true }}>
239
+ <SingleValue
240
+ options={{
241
+ splitByLayout: 'trellis',
242
+ trellisSplitBy: 'aggregations',
243
+ }}
244
+ dataSources={{
245
+ primary: {
246
+ data: {
247
+ columns: [
248
+ [
249
+ '2023-03-21T00:00:00.000+00:00',
250
+ '2023-03-22T00:00:00.000+00:00',
251
+ '2023-03-23T00:00:00.000+00:00',
252
+ '2023-03-24T00:00:00.000+00:00',
253
+ '2023-03-25T00:00:00.000+00:00',
254
+ '2023-03-26T00:00:00.000+00:00',
255
+ '2023-03-27T00:00:00.000+00:00',
256
+ '2023-03-28T00:00:00.000+00:00',
257
+ ],
258
+ ['22.64029940119746', '21.768596847991684', '21.885890410958826', '21.936683354193125'],
259
+ ['49.99', '49.99', '49.99', '49.99'],
260
+ ],
261
+ fields: [
262
+ {
263
+ name: '_time',
264
+ },
265
+ {
266
+ name: 'avg(price)',
267
+ },
268
+ {
269
+ name: 'max(price)',
270
+ },
271
+ ],
272
+ },
273
+ meta: {},
274
+ },
275
+ }}
276
+ />
277
+ </FeatureFlagContextProvider>
278
+ );
279
+
280
+ ```
281
+
282
+ ## Customize trellis columns with trellisMinColumnWidth and trellisColumns
283
+
284
+ You can customize the width of each visualization in the trellis layout with the `trellisMinColumnWidth` option. By default, `trellisMinColumnWidth` adjusts based on the configuration of the `config.ts` file and the parent panel width.
285
+
286
+ The following example shows how the trellis layout changes when the default `trellisMinColumnWidth` is updated to `trellisMinColumnWidth: 150`.
287
+
288
+ ![](./src/common/docs/images/trellis-col-1.png)
289
+
290
+ ![](./src/common/docs/images/trellis-col-2.png)
291
+
292
+ You can customize the number of visualizations to display in a single row of the trellis panel with `trellisColumns`. Visualizations with an undefined `trellisColumns` fill and wrap within the set width of the trellis panel.
293
+
294
+ The following example shows how visualizations might extend beyond the trellis panel with a `trellisMinColumnWidth: 150` and `trellisColumns: 6`.
295
+
296
+ ![](./src/common/docs/images/trellis-col-3.png)
package/Table.config.js CHANGED
@@ -87,7 +87,7 @@ module.exports =
87
87
  /******/
88
88
  /******/
89
89
  /******/ // Load entry module and return exports
90
- /******/ return __webpack_require__(__webpack_require__.s = 76);
90
+ /******/ return __webpack_require__(__webpack_require__.s = 80);
91
91
  /******/ })
92
92
  /************************************************************************/
93
93
  /******/ ({
@@ -161,11 +161,12 @@ var VizBehavior;
161
161
 
162
162
  VizBehavior["PLACEHOLDER"] = "placeholder";
163
163
  VizBehavior["PAGE_AND_SORT"] = "page-and-sort";
164
+ VizBehavior["TRELLIS"] = "trellis";
164
165
  })(VizBehavior = exports.VizBehavior || (exports.VizBehavior = {}));
165
166
 
166
167
  /***/ }),
167
168
 
168
- /***/ 25:
169
+ /***/ 26:
169
170
  /***/ (function(module, exports) {
170
171
 
171
172
  module.exports = require("@splunk/visualizations-shared/colorConstants");
@@ -430,7 +431,36 @@ module.exports = require("@babel/runtime/helpers/defineProperty");
430
431
 
431
432
  /***/ }),
432
433
 
433
- /***/ 76:
434
+ /***/ 8:
435
+ /***/ (function(module, exports, __webpack_require__) {
436
+
437
+ "use strict";
438
+
439
+
440
+ Object.defineProperty(exports, "__esModule", {
441
+ value: true
442
+ });
443
+ exports.VizCategory = void 0;
444
+ var VizCategory;
445
+
446
+ (function (VizCategory) {
447
+ VizCategory["SINGLE_VALUE"] = "Single Value";
448
+ VizCategory["TRENDS"] = "Trends";
449
+ VizCategory["COMPARISONS"] = "Comparisons";
450
+ VizCategory["TABLE"] = "Table";
451
+ VizCategory["GAUGE"] = "Gauge";
452
+ VizCategory["DISTRIBUTIONS"] = "Distributions";
453
+ VizCategory["CHOROPLETH"] = "Choropleth Maps";
454
+ VizCategory["SHAPES"] = "Shapes";
455
+ VizCategory["MISC"] = "misc";
456
+ VizCategory["FLOW"] = "Flow";
457
+ VizCategory["CORRELATION"] = "Correlation";
458
+ VizCategory["SPATIAL"] = "Spatial";
459
+ })(VizCategory = exports.VizCategory || (exports.VizCategory = {}));
460
+
461
+ /***/ }),
462
+
463
+ /***/ 80:
434
464
  /***/ (function(module, exports, __webpack_require__) {
435
465
 
436
466
  "use strict";
@@ -448,7 +478,7 @@ var lodash_1 = __webpack_require__(6);
448
478
 
449
479
  var schemaUtils_1 = __webpack_require__(3);
450
480
 
451
- var colorConstants_1 = __webpack_require__(25);
481
+ var colorConstants_1 = __webpack_require__(26);
452
482
 
453
483
  var visualization_icons_1 = __webpack_require__(12);
454
484
 
@@ -462,7 +492,7 @@ var configUtils_1 = __webpack_require__(4);
462
492
 
463
493
  var VizBehavior_1 = __webpack_require__(2);
464
494
 
465
- var consts_1 = __webpack_require__(77);
495
+ var consts_1 = __webpack_require__(81);
466
496
 
467
497
  var VizCategory_1 = __webpack_require__(8);
468
498
 
@@ -959,24 +989,21 @@ var editorConfig = [{
959
989
  option: 'count',
960
990
  editor: 'editor.number',
961
991
  editorProps: {
962
- labelPosition: 'left',
963
992
  min: 0,
964
993
  labelWidth: EDITOR_LABEL_WIDTH
965
994
  }
966
995
  }], [{
967
996
  label: i18n_1._('Row numbers'),
968
997
  option: 'showRowNumbers',
969
- editor: 'editor.toggle',
998
+ editor: 'editor.checkbox',
970
999
  editorProps: {
971
- labelPosition: 'left',
972
1000
  labelWidth: EDITOR_LABEL_WIDTH
973
1001
  }
974
1002
  }], [{
975
1003
  label: i18n_1._('Internal fields'),
976
1004
  option: 'showInternalFields',
977
- editor: 'editor.toggle',
1005
+ editor: 'editor.checkbox',
978
1006
  editorProps: {
979
- labelPosition: 'left',
980
1007
  labelWidth: EDITOR_LABEL_WIDTH
981
1008
  }
982
1009
  }], [{
@@ -1004,7 +1031,7 @@ var editorConfig = [{
1004
1031
  editor: 'editor.tableBackgroundColor',
1005
1032
  editorProps: {
1006
1033
  themes: themes,
1007
- labelPosition: 'left',
1034
+ labelPosition: 'top',
1008
1035
  labelWidth: EDITOR_LABEL_WIDTH,
1009
1036
  palette: _toConsumableArray(backgroundColorPaletteSet)
1010
1037
  }
@@ -1162,7 +1189,7 @@ exports.default = configUtils_1.enhanceConfig(config);
1162
1189
 
1163
1190
  /***/ }),
1164
1191
 
1165
- /***/ 77:
1192
+ /***/ 81:
1166
1193
  /***/ (function(module, exports, __webpack_require__) {
1167
1194
 
1168
1195
  "use strict";
@@ -1181,35 +1208,6 @@ exports.validFontSizes = ['extraSmall', 'small', 'default', 'large'];
1181
1208
 
1182
1209
  /***/ }),
1183
1210
 
1184
- /***/ 8:
1185
- /***/ (function(module, exports, __webpack_require__) {
1186
-
1187
- "use strict";
1188
-
1189
-
1190
- Object.defineProperty(exports, "__esModule", {
1191
- value: true
1192
- });
1193
- exports.VizCategory = void 0;
1194
- var VizCategory;
1195
-
1196
- (function (VizCategory) {
1197
- VizCategory["SINGLE_VALUE"] = "Single Value";
1198
- VizCategory["TRENDS"] = "Trends";
1199
- VizCategory["COMPARISONS"] = "Comparisons";
1200
- VizCategory["TABLE"] = "Table";
1201
- VizCategory["GAUGE"] = "Gauge";
1202
- VizCategory["DISTRIBUTIONS"] = "Distributions";
1203
- VizCategory["CHOROPLETH"] = "Choropleth Maps";
1204
- VizCategory["SHAPES"] = "Shapes";
1205
- VizCategory["MISC"] = "misc";
1206
- VizCategory["FLOW"] = "Flow";
1207
- VizCategory["CORRELATION"] = "Correlation";
1208
- VizCategory["SPATIAL"] = "Spatial";
1209
- })(VizCategory = exports.VizCategory || (exports.VizCategory = {}));
1210
-
1211
- /***/ }),
1212
-
1213
1211
  /***/ 9:
1214
1212
  /***/ (function(module, exports) {
1215
1213